Attention Soldiers,
We updated the Steam and Xbox Experimental applications of the game.
We're aware there is an issue with the Xbox application update and are working to resolve it as soon as possible.
Assets
Added: UH-1H and MI-8MT (Armed Transport versions)
Added: AKS-74U and AKS-74UN
Added: M9, 6Kh4, and Sa-58 bayonets weapon attachments
Added: M112 demolition block with M34 detonator
Added: TNT block with KPM-3U1 detonator
Added: 40mm UGL flares (white for Soviets; red, green, and white for US)
Added: Pilot survival vests
Added: US pilot, woolen, and leather gloves
Added: IIFS backpack
Added: Ushanka hat
Added: Support for Open Bolt weapons
General
Added: Vehicles - Unflipping interaction, which may require multiple contributors depending on the vehicle weight
Added: Vehicles - Toggle handbrake interaction to allow passengers to operate it while there is no conscious driver
Added: Vehicles - Ability to push vehicles
Added: Commanding menu allows you to send orders to your group
Added: Commanding orders can be bound to the quick slot menu
Added: Visualization of commands in the world
Added: Added handwear slot
Added: Ability to switch control of aircraft between pilot and copilot seats
Added: Opening and closing doors on vehicles is now separated from getting in and out of vehicles
Added: Turrets - Unconscious gunners will elevate guns on pintle mounts while falling
Added: Improved ejecting from moving vehicles
Added: Realistic application of external forces on exposed occupants of vehicles experiencing unintended orientation changes
Added: Vehicles - Riding the clutch when moving off from a halt
Added: Game option to enable/disable HUD elements
Added: Grass flattens under tripod turrets
Added: Ability to automatically adjust collimator brightness by environment light
Changed: Inventory visualization and operation was heavily polished
Changed: Weapon obstruction is now animation driven instead of IK driven and changed to 3 phases approach where there is more room for the character to shoot
Changed: Enabled player movement while using morphine, tourniquets, and bandages on the upper body
Changed: Reworked entire character damage implementation to use the new damageEffects system
Tweaked: Optics - Increased vignette intensity
Tweaked: Helicopter engine startup time increased to 2 seconds, consistent with interactions
Tweaked: Medical and rearming kits now fit into smaller backpacks
Tweaked: Passengers can interact with all vehicle lights when pilot/driver is unconscious, dead, or not present
Fixed: Freelook no longer follows gun elevation
Fixed: Damage - M151 could not be set on fire by shooting damaged fuel tank with tracerless kinetic projectiles
Fixed: Vehicles - S105 front lights emissivity with dipped and beam lights
Fixed: S1203 wheels damage setup
Fixed: Weapons - NSV optics reticle was rotated incorrectly when gun was placed on a slope
Fixed: Possible character clipping through doors and gates
Fixed: Turret-mounted weapons now support burst and semi-automatic fire modes
Fixed: Arresting handbrake (double-tap space)
Fixed: M60 was sometimes forced pointing downwards after deployment
Fixed: Vehicles - Gear shifting controls locked while shifting to or from neutral or reverse
Fixed: Weapons - Weapon input context was active while unequipping, sometimes causing reload instead of applying health items
Fixed: Hitreg issues with unconscious character
Fixed: Severe hit registration issues when a character got in/out of the vehicle while server has low fps
Fixed: Turret reload state got stuck when reload elevation is outside of stance-specific bounds
Fixed: When a player places mine, as long as he has more in his inventory, they will remain assigned to that quick slot
Fixed: Players can no longer get in the back of transport trucks if it has supplies and vice versa
Fixed: Attached GP-25 grenade launcher would not work correctly with zeroing
Playable Content
Added: Any spawn point can now use supply costs when a player is spawning
Added: All rank budgets are now supported by Free Roam Building
Added: Option to set the amount of supply by ScenarioFramework action
Added: Possibility to set a name for inventory items added by Scenario Framework
Added: Possibility to set a scenario-specific variable
Added: Possibility to play a single-line dialogue
Changed: Deployable radios/tents now have the option to change respawn budget types between supplies, spawn tickets, or no respawn cost
Changed: Conflict - Radio message notifying about a player volunteering for a specific objective is now audible only for the volunteering player
Changed: Conflict - Supplies are no longer generated more rapidly when the stored amount is low
Changed: Conflict - Some objective names now better correspond with the surrounding location names
Changed: Conflict - Deployment with a saved loadout is now allowed only on bases with an armory
Changed: Modding: Entity catalog now supports getting Inventory item UIInfo to quickly obtain the name and description of the item it entity catalogs
Changed: Rank limitation to Requesting AI and building living area compositions has been changed to Sergeant
Fixed: Conflict - Objectives should now properly reflect the current base owners (resolving missing objectives or incorrectly uncompleted ones)
Fixed: Conflict - Respawn icon will no longer appear on bases low on supplies
Fixed: Weapons in arsenals are now refunded at the correct rate when you add or remove attachments
Fixed: Combat Ops - Intel now has a name and description
Fixed: Combat Ops - Intel can get dropped in the air
Fixed: Intel in Combat Ops can no longer be duplicated by loadout saving at an arsenal with the intel in the players' inventory
Fixed: Arsenal loadout saving for faction only is no longer possible if you interact with a loadout that is of a friendly faction
Game Master
Added: Civilian faction was added to the game for Game Master mode; including Civilian arsenal, characters, and marking civilian vehicles as part of the Civilian faction
Added: Attachable faction task and waypoints to entity
Added: Cycle option that can be used with waypoints to create loops
Added: Randomized civilian, civilian dockworker, civilian businessman, US soldier, USSR soldier, and FIA soldier to Game Master
Added: Game Master can change the arsenal game mode in run time, restricting the available items to conflict items only or unrestricted
Added: Game Master is now capable of enabling and disabling supplies on entities with supplies usage as well as globally
Added: Game Master can now enable and disable certain arsenal types separately. Giving the ability globally and on entity to enable/disable arsenal boxes and weapon racks, arsenals of vehicles, and arsenals of gadgets
Added: Game Master can now set the spawn cost supply multiplier for spawn points when supplies are enabled. Setting a value anywhere between 0 to 4 times the default value
Added: Ability to add single items to the arsenal blacklist, preventing players from saving their loadout if the item is in their inventory
Added: Game Master can now set arsenal loadout saving settings to be friendly faction items or to the specific faction only
Changed: Supplies are disabled by default in Game Master
Changed: Reduced default Game Master abandoned entities cleanup time from 60 to 30 seconds
Tweaked: Character speed set to 100% on Game Master control taken
Tweaked: Preview entity component to render active slots of meshes only
Fixed: Rare cases where Game Master neutralizing/lighting-on-fire entities gave a player a (team)kill
Fixed: Spawning a group into a neutralized entity would spawn orphan characters instead of a new group
AI
Added: AI can drive vehicles now
Added: AI can be recruited to a player group and commanded
Added: Better obstacle avoidance
Added: Group's ability to issue suppressive fire orders to its members; overall improvements to suppressive fire behavior
Added: Usage of suppression fire in combat
Added: Usage of vehicle lights at night
Changed: Reduced AI accuracy against poorly illuminated targets. Now, at night, AI accuracy is lower unless the target is illuminated by a light
Changed: Rewrite of agent's firing times patterns, added the ability to define soldier/group fire rate
Fixed: Looking around fixed in defend behavior
Controls
Added: Hint on how to cancel the toggled freelook
Added: Simple switch weapon action to alternate between primary and secondary weapons (can be bound in the Weapons category)
Added: Ability to rebind radial quick slots menu
Added: Action to toggle focus regardless of being in a vehicle or unarmed
Added: Aim Down Sights (ADS) toggle lean actions, canceled when exiting ADS, in Character bindings
Changed: Default binding for low ready changed from C Hold to LShift Down, LS Hold to LS Click
Changed: Reload action input restricted while the weapon is being inspected or while gadget is selected
Tweaked: Quick slot selection keys show the selection bar until released
Fixed: Weapon was being fired whenever player tried to unequip gadget while sprinting by LMB/RT
Fixed: Holding Left Trigger 100% briefly resets toggled ADS in weapons and turrets
Fixed: Toggle lean actions were not reliable
Multiplayer
Added: Refactored Inventory Replication, usage of new Replication Layers to lower the amount of streamed data related to hierarchies, mainly inventory
Added: A new safeguard has been made to combat griefers that vote kick an entire server. A new voting cooldown system has been implemented. When a player joins a server, they cannot initiate a vote kick until they have been in the server for a set time. When a player initiates a vote kick, they cannot initiate another vote until a cooldown is finished. There is a grace period for when a server just started/restarted, allowing kicking of players without a cooldown if the players join the server within that time.
Added: Vote cooldowns have been added for starting a vote to become Game Master and when starting a vote to remove a Game Master
Added: Players who are on the admin list but are not logged in as admin can no longer be kicked via player vote
Added: Option to ban/unban by player name
Added: Ban/unban supports spaces in player names (eg.: #ban create "Name with space" 1000)
Changed: Moved HitRegistrationManager to HitRegistrationSystem
Changed: Turret angles are now transferred as 16-bit instead of 8 for additional precision
Fixed: When connecting, player could see weapons and backpacks on characters in vehicles
Audio
Added: Projectile traveling sounds for rockets and UGL grenades
Added: Compartments can have a unique name for slot mapping
Added: SCR_ShellSoundComponent which allows playing sounds from projectiles once they have been fired. (Requires a SignalsManagerComponent and a BaseMoveComponent or one of its children)
Scenario Framework
Added: Possibility to have generic tasks not tied to any entity
Added: Filter by faction for GetArrayOfPlayers and GetClosestPlayerEntity getters
Added: Action Based On Conditions that can execute other actions
Added: Decrease Logic Counter action
Added: Ability to cancel or prioritize AI waypoints
Added: Ability to select multiple AI slots for one AI action
Added: Ability to add a waypoint to AI by name
Added: VoiceOver Play Sequence action
Added: SlotTrigger that has now generic purpose
Added: User Action event listener
Added: GenericTask Sample scenario
Added: Possibility to set if the action should be removed on completion.
Added: ScenarioFramework action to set max autonomous distance for an AI group
Changed: Increment/Decrease Logic Counter action has counter name as optional attribute if action is attached to a desired counter
Changed: SlotTrigger renamed to SlotPlayerTrigger to retain existing behavior used in community content
Changed: Separate classes in different files
Fixed: Logic Counter not calling OnIncrease actions when reaching the desired count
Fixed: Activation type for slots is not properly handled
Fixed: Trigger discrepancies and clean-up
Fixed: Trigger init issues
Fixed: Action Spawn Objects issues when sublayers had randomization in-place
Fixed: Show Debug Shapes During Runtime doesn't work correctly outside of Workbench
Fixed: Repeatable spawn is not working correctly with infinity
Workbench
Added: Cinematic Tool - Different glyphs for keyframes based on interpolation used
Added: Cinematic Tool - Keyframes snapping
Added: Cinematic Tool - Duplicating and renaming tracks
Changed: Expose to editor minimum water depth value for marking navmesh
Changed: Cinematic Tool - Layout improved
Tweaked: World Editor - Transformations of rigid body geometries (Coords + Orientation properties) are now editable using gizmo in scene
Fixed: Cinematic Tool - Depth of field track was not working in-game
Fixed: Crash when manipulating curves in Particle Editor
Fixed: Map generation for maps that are offset from 0
Modding
Added: Set/GetBaseRotation method for TurretComponent
Added: New Get In Get Out API on CompartmentAccessComponent
Added: "Count" script API parameter to selected Inventory operations to process multiple with one call
Added: Health items and bullets have their custom damageEffects added and configured on their prefabs
Added: CompartmentDoorInfo can now clearly mark fake doors, and knows whether it is open or being used
Added: CompartmentDoorReference for when seats in a child CompartmentManager need to use door from the parent CompartmentManager
Added: ComputeStruckHitzones, function that fills an array with all hitzones that should get damaged by a particular BaseDamageContext
Added: HitZoneContainerComponent.GetAllHitZonesInHierachy returns hitzones contained on that hitzone container and its children
Added: DamageManagerComponent::FilterContact used to discard contacts that don't meet the requirements
Added: DamageManagerComponent::OnFilteredContact alternative to DamageManagerComponent::EOnContact only called when FilterContact returned true for that contact
Added: GetParentHitZoneContainer for HitZoneContainerComponent
Added: BaseLightManagerComponent.GetEmissiveSurfaces
Added: Ability for turrets to use weapon optics (no PIP)
Added: M23 ammobelt UVs are animated by the SCR_AnimatedBeltComponent
Added: Methods to SCR_Enum for retrieving next and previous enum values even from modded enums
Added: RepairSmokeHandlingConfig.conf which has default definition for smoke removal when vehicle is repaired; thus new and modded vehicles that don't inherit from Vehicle_Base.et should use it for the initial setup of SCR_VehicleDamageManagerComponent.m_RepairConfig
Added: RigidBody component template in Ammo_Rocket_Base.et, same GUID as Ammo_Rocket_PG7VM.et
Added: RigidBody component template in Ammo_GrenadeLauncher_Base.et, same GUID as Ammo/Ammo_Grenade_HE_VOG25.et
Added: SCR_CharacterControllerComponent.ComputeHitReaction in script, so the hit effects can be customized
Added: New logic has been added to editable entity components to allow for Variant of prefabs when a prefab is spawned (by editor or, for example, as a player character)
This means that Characters can have random variants. It can even be set up to ignore the original prefab, such as in the randomized characters that can be placed in Game Master. Additionally, the variant randomization is not limited to characters. Any editable entity can be randomized, though by default, they are not as it is more performance-heavy. When creating a composition, one can add entities with variants to the composition; running the "Create / Update selected editable entity" tool will automatically tick true the "Randomize Variants" bool on the EditorLinkComponent. Every entity in the composition is checked to see if it has a variant. Randomization of entity variants when spawning an entity can be achieved with the new variant of the GetGame().SpawnEntityPrefab() function.
Added: Functionality of placeable items that can also be attached to other objects (e.g. check M112 explosive charge)
Added: Better visual feedback when it's not possible to insert an item into a storage.
Added: Ammo type indicators for magazines and grenades, visible in the item slots and hints.
Added: Gadgets - WeaponNoFireTime attribute to prevent weapon fire while gadget is selected
Added: Getter for sights position, front, and rear point PointInfos
Added: SCR_Math3D static method GetRelativeLocalTransform, able to create relative transform between two BaseGameEntity members of same hierarchy. E.g. use is in 2D and PIP sights (Temporary, will be moved to SCR_EntityHelpers)
Added: Disclaimer for modding about damage over time API in SCR_ExtendedDamageManagerComponent.c
Added: Turrets can now use grass flatten components
Added: Script API GarbageSystem.GetTrackedEntities() for modders.
Added: Density and penetration resistance of material's ballistic info affects damage output - the higher, the less damage is dealt
Added: Script callback for light state changes in light manager
Added: Ballistic table generation config, where we can change the generation process; it still works the same if no config is used for the generation
Added: Now you can also specify some init speed coeffs for which you want to generate precise data, so they are not interpolated.
Added: Exposed precision parameters to the Ballistic table generation config. Tweaking them can prevent huge sizes of ballistic tables or increase precision if needed
Added: TurretControllerComponent API for ADS states: SetWeaponADS, SetWeaponADSInput, GetWeaponADSInput
Added: Vehicles - Shifting RPM curves in car controller debug
Added: Ability to change arsenal game mode allowing items to be available in specific game modes. Game Master arsenal is unrestricted, and all items are available
Changed: HitZoneContainerComponent.GetAllHitZones now only returns hitzones contained on that hitzone container.
Changed: All character-related scripts listening to bleeding invokers and events have been reworked to use damageEffects API
Changed: Damage - SCR_DamagePassRule now handled in SCR_HitZone and SCR_DamageManagerComponent, using HijackDamageHandling
Changed: Renamed EFireState to SCR_EBurnState
Changed: Weapon attachment costs for arsenals are now separately calculated. Allowing modders to add the base value to all weapons regardless of the attachments and the attachment separately in the catalog lists and they will be counted up together
Changed: Renamed the projectile effect BaseDamageEffect to ProjectileDamage
Changed: Weapon obstruction parameters were changed so they allow to control new 3-phase approach
Changed: Disabled supplies usage for the MPTest world
Changed: SCR_ArsenalManagerComponent::ARSENALLOADOUT_COMPONENTS_TO_CHECK variable is now filled by SCR_ArsenalManagerComponent::GetArsenalLoadoutComponentsToCheck method. This makes this part of the code more moddable
Changed: Weapon_Base.et now has WeaponAnimationComponent
Changed: Inventory layouts have been reworked, and their scripts have been updated accordingly
Changed: User Action - Added default compartment definition (value 0 which equals to default value for driver/pilot compartment) to config files for light user actions
Changed: Gadgets - In SCR_FlashlightComponent renamed m_LenseArray to m_aLenseArray so prefabs that use this functionality will need to be updated
Changed: Gadgets - Gadgets that are attached to SCR_EquipmentStorageSlot will be informed when that slot occlusion changes by triggering SCR_GadgetComponent.OnSlotOccludedStateChanged (bool occluded)
Changed: Inventory - Visible storage slots have to disable UseVirtualInventoryReplication (ref: check FlashlightSlot in Jacket_M70_base prefab)
Changed: Base Game mode now has all components to have arsenals working in the world. This might cause duplicate components if the components were added manually
Changed: Added Explosion damage and changed config used by explosion impulse effect in Warhead_Shell_HE.et
Changed: Weapons - Turrets ADS camera position prefers SightComponent's "Sight Position" over now obsolete TurretComponent "Camera Ads Attachment"
Changed: Gadgets - Marked in SCR_GadgetComponent method CanBeToggled as obsolete since it will be replaced by GetUseMask
Changed: LightSlot now saves ParentSurface attribute as name instead of index. Prefabs might need re-saving
Changed: Previously, we generated ballistic tables for only 0-45degs, now you can change it so it uses 45-90degs. You can select which degs you want in the generation config
Changed: Damage diags to see HitZone health has been moved to GameCode->Damage->Type of damage info
Fixed: Damage - SCR_DamagePassRule ignored root damage manager if hitzone struck was already in root damage manager
Fixed: Entity catalogs of the same type now merge correctly on init
Fixed: Weapons - Turrets without ADS camera attachment no longer lag behind gun rotation, as long as they have SightPosition defined in SightComponent
Fixed: SCR_ResourceSystem::RegisterContainer and SCR_ResourceSystem::RegisterDynamicComponent now only register on authority
Fixed: DamageManagerComponent OnFrame isn't called when activated
Fixed: CharacterControllerComponent SetWeaponNoFireTime was not functional
Removed: Having DamageManagerComponent::EOnContact exposed to script could result in too many calls and performance issues.
Removed: Damage - SCR_DamagePassRule no longer supports damage over time
Removed: Damage - SR_DestructibleHitzone attribute m_fPassDamageToParentScale is obsolete and is no longer supported
Removed: HitRegManager.et, HitRegistrationManager.c, and all references in the layers for the worlds
Removed: Optics - Unsupported attributes of SCR_2DOpticsComponent and SCR_2DSightsComponent
Removed: CharacterInputContext::SetVehicleCompartment, ::GetVehicleCompartment, ::SetVehicleAction, ::GetVehicleAction. To get the compartment character, use CompartmentAccessComponent