Attention soldiers,
We updated the Steam and Xbox Experimental applications of the game.
Over the course of Reforger’s development, we have typically updated the Experimental application with new features 1-2 weeks before the release of a Major Update. This gives modders a bit of a headstart on testing how their mods will work with the upcoming features, and players a chance to try new features ahead of their official release.
With the latest Experimental Update, we’re going to be doing things a little bit differently.
This particular update includes A LOT of new features that will be included in the next Major Update. However, the next Major Update will not be released for at least one month. During this time, Experimental will be updated several times.
We feel that this new approach will be particularly useful for both the Arma Dev Team and our community:
Modders will have more time before the next Major Update to prepare their mods.
Players will be able to try the upcoming features well before their release.
Our team will be able to get more community feedback and statistics.
We would like to encourage everyone to give the new features in Experimental a try, and we would greatly appreciate your thoughts and input. While enjoying the new content, please take a moment to share your feedback with us on our Feedback Tracker. Many of the new features will still need balancing tweaks, so your input will be invaluable to us in crafting the optimal in-game experience.
We will also be holding Public Dev Playtests, so feel free to join our devs in test-driving the latest Reforger builds, as well as some popular mods, on Experimental. The playtests will take place every Thursday until the release of 1.0.
And while we're excited for you to try out the latest versions of Reforger, we would like to be clear:
The Experimental branch is very much a work in progress, and we cannot guarantee its performance or stability.
So, until the next Major Update, we hope you have fun in whichever version of the game you choose to play.
Features
As highlighted in the changelog below, there's a lot of new content to delve into. In this section, we'll focus on the key features of this update.
Helicopters
Rotors can be destroyed upon collision or weapon damage.
There are wash-down particle effects.
Damage to engines, gearboxes, and rotors influences the performance of helicopters.
A new gamepad control scheme has been set up, allowing independent piloting and camera control.
It is possible to control cyclic with a mouse by enabling the Mouse aircraft control gameplay option. Otherwise pilot has freelook.
Resources/Supplies
Improved supply system
Supplies usable for respawning, building support structures, acquiring vehicles, and more.
Supplies have a physical presence in the game world.
Modular system, implementable in user-generated scenarios.
Virtual Arsenal
Arsenals no longer function fully the same as other inventories.
Rather than having all items within them at all times it instead adds a copy of the items locally the moment you open the arsenal.
With the newly updated arsenals, items are now what we call Virtual. This means that items are only added to the inventory of the arsenal when you open it and remove it when it is closed. A new function has been added for the system to obtain what items are inside the arsenal even if it is not opened.
Support Stations
Support stations add new ways of interacting with vehicles (repairing, refueling), healing others, and rearming others with various items and ammunition.
Some vehicles such as fuel trucks and medical trucks have been updated for the support stations.
New vehicles and gadgets have been with the support station functionality.
User actions can now loop while the player is holding the action.
Instigator System
A new instigator system has been added to track down the people responsible for dealing damage and getting kill credit.
Backend
Added: GetLocalIdentityId() to get the local identity ID of client
Changed: Ban commands are now defined in the script and use the new BanServiceApi
Fixed: Server can show an addon list of previously focused server
Modding
We aim to provide our modding community with enough space and time to adjust to the upcoming Major Update. To facilitate this, we're offering guidance on potential causes of mod breakage and how best to handle them. Additionally, we're communicating changes and their implications on modding.
Helicopters
Helicopter simulation and controller have been enhanced with new settings - rotor definitions, gear type and positions, and various flight model attributes.
Rotors and dashboards are separate entities. This allows rotors to have separate models for static, blurred, and destroyed states, and also has convenient modeling of collision damage.
A new particle effect manager class has been added to accommodate for effects like downwash or APU exhaust during Mi-8 startup.
AI Commanding
As we develop AI commanding, we're giving you an early look at its modding capabilities. In version 1.0, you'll find the commanding menu, though without AI commands. This will let you experiment with mods and use the menu for various custom actions you might want to create. For more details, check out https://community.bistudio.com/wiki/Arma_Reforger:Commanding_Menu_Modding.
Changes to vehicle fires/destruction sounds
All vehicles now share the same destruction .acp (Vehicles_Destruction.acp). Please ensure this .acp is assigned in the SoundComponents of your vehicles.
Sounds for the burning of vehicles were put into a new, separate .acp (Vehicles_Destruction_Fires.acp). Please add this .acp to the SoundComponents of your vehicles if you want to use vanilla burning sounds.
We've added new sounds for supplies fires/cookoffs and fuel tank fires on vehicles. In order for them to work, you'll need to add the "FuelTank" and "Supplies" SoundPoints to the SoundComponent of your vehicles.
Backward incompatible new .acp format
In order to simplify code maintenance and pave the way for future feature enhancements, we've extensively refactored the .acp format.
Ensure you open existing .acp files to verify any missing connections or functionalities. After confirming, re-save your .acp files.
Update of Parameter Input Port Update Behavior
We've removed the "Disable updating" flag from the BankLocal nodes.
You can now control the update settings of the node's inputs on a per-port basis.
Right-click on the node.
Enable "Update" from the parameter's drop-down menu.
Node inputs set for dynamic updates are displayed with a square-shaped input port, rather than the conventional circular input port.
The option for port-updating has been added to other nodes, e.g. Bus' volume parameter input & Filter parameter inputs
Per default, all ports are set not to update. Looped sounds that depend on their input nodes are anticipated to stop working until their input ports are manually set to update.
Changes in the majority of .acp files and signals
Due to substantial changes in the underlying content & technology, many audio mods are anticipated to require manual updating.
Replication.Time() API
is now marked as obsolete and will be dropped in future updates.
It is recommended to switch to the appropriate API returning WorldTimestamp: BaseWorld.GetTimestamp(), ChimeraWorld.GetLocalTimestamp() or ChimeraWorld.GetServerTimestamp().
Various vanilla game systems using this obsolete API have been ported over, so any mods modifying these systems must also be ported over.
Ports of game systems have already been available but disabled in the latest 0.9.9 updates. As such, depending on circumstances it may be possible to make mods ready for new API on 1.0.0 while also being compatible with 0.9.9 by enabling or disabling specific feature flags listed in the file "scripts/Game/config.c".
Weapon stance limits property
Weapon stance limits property has been removed from the BaseWeaponComponent and moved to the CharacterModifierAttributes class (instances of which are stored on items in ItemInventoryComponent (or the derived class WeaponAttachmentsStorageComponent on weapons) in the Attributes array). This allows you to limit stances in which gadgets can be used in the same way as with weapons.
Changed signature of functions
Changed the signature of functions CharacterControllerComponent.TryUseItem() and CharacterControllerComponent.TryUseItemOverrideParams() - in both cases a new argument was added which lets the scripter choose if the used item should stay in hands after it was used successfully.
Furthermore, we have added functions CharacterCommandHandlerComponent.IsUsingItem() and CharacterCommandHandlerComponent.FinishItemUse(), which can be used to determine if an item is being currently used, and to finish using an item (with game logic considering the item use successful - for interrupting item use in a way where the item is not used successfully, use already existing CharacterCommandHandlerComponent.CancelItemUse().
Finally, we have added the function CharacterCommandHandlerComponent.IsItemActionLoopTag(), which allows you to easily check for the TagItemActionLoop tag in the animation graph. The intended usage here is that you can add this tag to the looping parts of the item use animations and then only perform some action while this tag is active. For example, we use this to determine when fuel should be moved between a fuel can and a vehicle while refueling by adding this tag to the looping animation of pouring the fuel into the vehicle, but not to the animations of opening and closing the fuel can.
Damage changes
Vehicle collision damage has been enabled. Please make sure to set up m_fVehicleDestroyDamage appropriately - set up Frontal Impact position, apply changes to prefab, and save.
Created new Instigator class which keeps track of player ID and entity. It should be used in all damage-related scripts, scoring, and penalties systems.
SCR_DamagePassRules have been introduced to SCR_DestructibleHitzone. It allows destroyed fuel tanks to pass kinetic and collision damage to the hull as incendiary, making it easier to set vehicles on fire. Further, such weak spots will be added in the future.
Separated impulse and blast damage effects, so that impulse does not perform traces anymore and blast does not create impulse. We recommend reviewing your warhead configurations and setting them up similarly to our grenades.
HitZoneContainerComponent is no longer supported, please use SCR_DamageManagerComponent and its specialized implementations instead.
Virtual hitzones have been removed from vehicles. SCR_DamageManagerComponent should always contain one default hitzone, other hitzones should have colliders.
Hitzones can now only take damage through the damage manager that contains them.
A new class, BaseDamageContext, is now present in the script.
Damage will also see some changes in future versions of the experimental, they will include:
Simplification of the damage manager hierarchy by probably removing HitZoneContainer in the script to prevent confusion, along with some other changes.
Some script classes might get renamed because of the previous point.
A way to get hitzones contained inside of a damage manager, as currently, GetAllHitZones returns all HitZones in the hierarchy.
Some damage-related functions will have their parameters changed to use BaseDamageContext instead of multiple input parameters. Changes include but will not be limited to:
DamageManager.HandleDamage
BaseScriptedDamageManagerComponent.OnDamage
ScriptedHitZone.OnDamage
ScriptedHitZone.ComputeEffectiveDamage
Functions that share those input parameters in general.
Audio: New Interior Detection
Interior detection is tapping into light-portals technology
Interior signal is 0 when the listener is outside the building & portal range, 0.5 at the center of a portal (e.g. door), and 1 when fully inside a building & beyond the portal's radius
use DiagMenu→Sound→Interior Handler→Enable Debug & Queries for visualization
As part of this update, we're also bringing a set of new tools and functionalities for bettering your experience.
Added functionality for characters falling out of vehicles without finishing the get out animation. This can be triggered by adding a GetOut_Eject animation event to a get out of vehicle animation (will only trigger if the character is above ground).
It is now possible to define if dead and unconscious characters should be kicked out of vehicle compartments - use the "Eject unconscious and dead characters" option on BaseCompartmentSlot and its derived classes - this can be used for turrets, where the compartment is open enough to not limit the character to stay in it if unconscious.
We have added a new event - Event_GetOutAlignToExitPoint - to make it possible to determine at which point during getting out of a vehicle the character should be aligned to the exit point (set on the BaseCompartmentSlot) - this is useful for large vehicles where the door is further away from the seat from which you are exiting, as it allows you to play part of the exiting animation while still attached to the seat, and then the second part while you are attached to the door itself. To use this functionality, it is necessary to add the event to the animation graph and then enable the "Get Out - Aligning On Event" option on the CompartmentDoorInfo structure on specific compartments (stored in CompartmentManagerComponent).
1.0.0.11 Changelog
Game
Added: Helicopters
Added: New Support Services which bring new gameplay: Repairing and Refueling vehicles as well as allowing players to more quickly resupply and heal themselves at bases
Added: Pause simulation
Added: Prone weapon deployment
Added: Character can now fall out of an airborne vehicle during the get out animation after the GetOut_Eject animation event
Added: It is now possible to limit the stance of gadgets
Added: Secondary damage - Supplies and fuel may create explosion damage upon destruction
Added: Secondary damage - Supplies and fuel fire effects while the vehicle is on fire
Added: Secondary damage - Supplies and fuel deteriorating while the vehicle is on fire
Added: Conflict - Respawn delay penalty for repeated suicides
Added: New Fire mode MANUAL for manual action
Added: Explosion containers can now configure the physics layer for their traces. The default will be the Projectile layer
Added: Characters are now not ejected from vehicles upon dying
Added: Turrets can now have different angular limits based on character "stance" (sitting or standing)
Added: Senior rifleman role for USSR faction
Added: 6B3 added to USSR arsenal
Added: Support service gadgets to be used in tandem with the support services allowing the player to repair, refuel, resupply and heal in the field
Added: You can now load unconscious allies into friendly ambulances' patient slots
Added: Characters now respond when getting shot in the helmet but miss the head
Added: Conflict - New XP rules: penalty for suicide, award for veterancy and radio operators
Added: Fitting decals and materials for virtual ballistic protection
Added: M69 Olive variant to US arsenal
Added: Hint bar to item infoWidgets in inventory
Added: VON usability in unconsciousness can be toggled in the new gamemode prefab attribute
Added: Placing multiple compositions into a single location isn't possible anymore
Added: Players can now abstain from voting when a vote is active. Hiding the vote notification
Added: Voting time left to show players when a vote ends unresolved. Only visible if there is one vote in progress that the player has not voted for
Added: BT Task to turn on/off vehicle lights
Added: Character now drowns when underwater for too long
Added: Ability to create multiple save files using the new "Save" toolbar action. Available only in singleplayer
Added: Memory budget for meshes/textures resource category could be defined in game-project config
Added: Audio - "Normalized" signals for aiming that are independent of limits for turrets with multiple limit sets
Added: Particle material - Overdraw Water feature
Added: SetMaxHealth now has flags to modify current health
Added: Polymorph object instance support to BaseSerializationContext
Added: ChimeraWorld::GetObservers/GetObserversMP script API. This gives the possibility to know the camera position of each player in a multiplayer environment
Added: CameraBase::IsAABBVisible/CameraBase::IsSphereVisible script API
Added: Serialization system is now saving only modified components. It is not saving all components anymore
Added: Display storage limit reached error if downloading fails due to lack of storage space
Added: Implemented Replicated Memory Tracking for Networked Stats API
Added: _AO texture suffix for global AO texture registration in PBRMulti material
Added: More information when printing GenericEntity in the script
Changed: Moved common vehicle functionality and script callbacks into base vehicle controller class
Changed: Allow gadget usage in turrets with the exception of binoculars
Changed: Conflict - Rank progression reward for delivering supplies increased by 100%
Changed: All vehicle types are garbage managed and have a common interface in VehicleControllerComponent_SA
Changed: Another vehicle's driver becomes an instigator only if moving toward colliding vehicle
Changed: Increase Xbox persistent storage size to 25000MB
Changed: When taking high damage in helmets and most vests players can go unconscious
Changed: Respawn screen opening delay increased
Changed: USSR Senior rifleman replaces other roles in a number of groups
Changed: bandage/tourniquet reactions don't appear when not bleeding
Changed: Conflict - Veterancy reward threshold
Changed: VON is now enabled by default for unconscious characters in the Conflict and Editor gamemode
Changed: M151 turret getIn and RemoveCasualty contexts added to the bench
Changed: Unconsciousness screeneffect now indicates how far or close the player is to waking up
Changed: Blast impulse moved to separate effect on base explosive warhead explosion containers
Changed: You need to have your weapon in hand to be able to reload your weapon
Changed: RestApi GET/POST/PUT/DELETE "Now" does not return a status message when body data are empty (#T166390)
Changed: Replaced SCR_NavigationButtonComponent with SCR_InputButtonComponent
Changed: Rest request with an empty body and success data structure clear (#T173037)
Fixed: Exiting a turret now places the character behind it, not on top of it
Fixed: Ragdolls in MP stutter
Fixed: Exiting from seat when obstructed left players stranded in another seat
Fixed: Handbrake now works correctly
Fixed: The deflated model of clothes was not correctly displayed inside the inventory preview
Fixed: Engine system was only simulated if a vehicle was controlled
Fixed: Compartment desynchronization when exiting the driver seat and teleporting back into it
Fixed: Switching seats and exiting at the last second will no longer break the seat
Fixed: Ragdoll may slide when a character is neutralized during a walk
Fixed: Handbrake does not engage and the engine does not shut off if the player ejects from the vehicle's driver seat, even if driving assistance is set to full
Fixed: Weapon switching animations should now be smoother
Fixed: Base supplies are no longer deducted for pre-built services when loading a save
Fixed: Fuel tank warning icon disappearing while leaking when over low fuel threshold
Fixed: Could lose magazine on the client if spamming the F-Key on the magazine in Inspection
Fixed: Implicit conversions in local variables in anim expressions
Fixed: Implicit conversions in conditions in anim expressions
Fixed: spotlights with projected texture correctly updates also SSS color
Fixed: better sss attenuation and diffuse normalization for spot/point lights
Fixed: Water-surface vs under-water shaders inconsistencies (especially with the water erasers)
Tweaked: AI soldiers will wait more until they are not in danger before healing their teammates
Fixed: Character hit animation no longer plays when healing
Fixed: The preview of vehicles inside the inventory was missing some parts
Fixed: Explosions - Fixed a bug where explosions would deal damage multiple times to some entities, depending on the amount of parent damage managers they had in the hierarchy
Fixed: Explosions - Destructibles don't block traces to other destructible
Fixed: Dropping a magazine while reloading could lead to a server crash
Fixed: TaskSystem - Task list entries had flickering buttons and show on map button was not working
Fixed: DeployMenu - Task list could not be opened when clicking on the map icon, issues with keybinds and after-respawn misalignment
Fixed: Members of the AI group could spawn on the sea bed instead of being on the sea
Fixed: Building Mode Budget Going Below Zero
Fixed: ArmaVision camera snapping to ocean
Fixed: Map gamepad cursor was resetting during dragging or rotating
Fixed: General fixes to the voting system and player list 'player action' dropdown
Fixed: It was possible to lose a magazine when using Weapon Inspection to remove a magazine
Fixed: Possible to switch position between isolated vehicle sections, like cargo and cabin section
Fixed: Double-clicking on AI group did not include group members in the properties windows, as opposed to RMB > Edit Properties
Fixed: Rain effects are not visible underwater
Fixed: Weapon IK: Further fixes on left elbow
Fixed: Weapon IK solver breaking elbows in extremes
Fixed: When moving players in Game Master, 3rd person's view and pose in turrets might become wrong
Fixed: ScriptAPI: Math.Repeat: negative values fix
Fixed: GameLib: Saving settings when window mode changed
Fixed: Inventory item previews are not rendering in some cases
Fixed: SpawnDecalEffect would not project on multiple entities
Fixed: SCR_ItemAttributeCollection is not a selectable option for InventoryItemComponent
Fixed: Missing particle light when a particle effect instance is not updated (e.g. because of a paused game)
Fixed: ScriptCompiler: "vector /= int" proper int to float conversion before division
Removed: StanceLimits property on BaseWeaponComponent. Use the new property StanceLimits on CharacterModifierAttributes (stored in ItemInventoryComponent)
Removed: EV_DIAG event mask has been removed and replaced by a diag system
AI
Added: AITask Node to reset Pathfinding filters
Changed: Adjusted AI reactions to grenades to be more human-like
Multiplayer
Added: RCON commands support
Added: Server config param VONCanTransmitCrossFaction
Added: streaming statistics
Changed: EnableStreaming(Con, Node) now supports hierarchy changes
Changed: Proxy vehicles are no longer simulated
Changed: NwkMovement systems now don't replicate when there are no positional changes
Changed: Post game mission restart has been enabled by default (30 seconds). It can now also be disabled using the "autoreload" CLI parameter
Changed: Marked NetScriptConnectionListener as obsolete
Changed: -disableLoadingLatestSave command line param phased out, dedicated server will no longer try to load the latest save automatically. Replaced by -loadSessionSave, which loads the latest save, and -loadSessionSave [fileName], which loads a specific save
Fixed: Deletion of a child in the hierarchy would not properly update streaming state/register
Fixed: Streaming a huge number of entities in a single tick could bypass budgeting (streamsDelta)
Fixed: Proxy could clear lerping buffer improperly, resulting in choppy vehicle movement
Fixed: Engine startup was not delayed so SCR_OnEngineStartBegin was not being called
Fixed: SCR_OnEngineStartProgress could be called when the engine was shutting down, now only when starting
Fixed: Proxy vehicle would not get proper OnEngineStartFail or SCR_OnEngineStartInterrupt callback
Fixed: Old correction could be improperly invoked
Fixed: Old vehicle correction could be invoked again upon entry, causing lerp to incorrect position
Fixed: Desync when automatically reconnecting after entering a vehicle stalled
Fixed: Drowned engine could be desynced during correction
Fixed: Small chance of animation event causing engine state desync during startup
Fixed: Vehicle correction could cause particles to have huge velocity during teleport
Fixed: Proxy vehicles would sometimes float away or become invisible
Fixed: Linear velocity allowance for cars was using angular velocity values
Fixed: Improper precision range for wheel compression codec
Fixed: DataCollectorDriverModule - Player or vehicle is null errors
Fixed: Password dialog is missing when the player accepts an invite to the passworded server while he is on another server
Modding
Added: Added "Eject unconscious and dead characters" option on BaseCompartmentSlot, which makes it possible to mark compartments that should eject characters when they become unconscious or die
Added: Manual Action option in BaseFireMode - Reload key cycles weapon manually
Added: Script invoker to EntitySlotInfo::OnAttachedEntity and EntitySlotInfo::OnDetachedEntity
Added: It is now possible to set GetOutAligningOnEvent on doorInfo on the vehicle compartment to delay aligning the character to the exit point when exiting the vehicle (will happen at
Event_GetOutAlignToExitPoint). Useful for vehicles where multiple seats exit through the same door, as part of the animation is played while still on the seat, and rest is played at the door
Added: CharacterCommandHandlerComponent.IsItemActionLoopTag function to check for TagItemActionLoop tag added for use with continuous context actions (refueling, repairing vehicles)
Added: Exposed CharacterCommandHandlerComponent.FinishItemUse(), which can be used to successfully finish item actions with looping animations (bandaging, building)
Added: CharacterControllerComponent.TryUseItem(), CharacterControllerComponent.TryUseItemOverrideParams() have a new argument to determine if the gadget should be kept in hand after it is used
Added: Exposed CharacterCommandHandlerComponent::IsUsingItem(), which can be used to determine when the character stopped performing an item action (bandaging, arming mine, etc.)
Added: SCR_SecondaryExplosions - Common secondary explosions configuration to be used with SCR_DamageManagerComponent, for multiple types of exploding or burning material
Added: SCR_DamagePassRule - for SCR_DestructibleHitzone, multiple conditions to pass specific types of damage to root or parent
Added: Flammable hitzone fire state signal name can be customized
Added: Destructible hitzone can specify the secondary explosion point, taken into account when computing the average explosion position
Added: SCR_ResourcePlayerControllerInventoryComponent for handling replication requests for sandbox resource related features and system implementations
Added: SCR_SupportStationUseSuppliesEditorAttribute
Added: SCR_InventoryStorageContainerUI
Added: SCR_SupplyInventorySlotUI for handling the visualization of resources in the slot UI of items
Added: SCR_ResourceEntityRefundAction for handling refunding of spawner entities through player action
Added: SCR_ArsenalInventorySlotUI for handling the arsenal inventory slot UI
Added: SCR_InventoryOpenedStorageArsenalUI for handling the arsenal inventory open storage UI
Added: SCR_VirtualArsenalCacheManager for handling the caching of arsenal item entities
Added: SCR_ItemSplitDialog for handling the inventory splitting behavior of resources
Added: SCR_ItemAttributeCollection::SetDraggable() for allowing an item to be dragged or not in inventory programmatically
Added: A new enum constant in EEntityCatalogType for handling items with supplies on them, the enum constant in question is SUPPLY_CONTAINER_ITEM
Added: Sandbox resource system implementation into SCR_CampaignBuildingProviderComponent
Added: Sandbox resource system implementation into SCR_CampaignBuildingManagerComponent
Added: Sandbox resource system implementation into SCR_CatalogEntitySpawnerComponent
Added: Sandbox resource system implementation into SCR_BaseSupportStationComponent
Added: Sandbox resource system implementation into SCR_CampaignBuildingBudgetEditorComponent
Added: Sandbox resource system implementation into SCR_CampaignBuildingEditorComponent
Added: Sandbox resource system implementation into SCR_CampaignBuildingSupplyEditorUIComponent
Added: Sandbox resource system implementation into SCR_CampaignMapUIBase
Added: Sandbox resource system implementation into SCR_MapUISpawnPoint
Added: Sandbox resource system implementation into SCR_InventorySlotUI
Added: Sandbox resource system implementation into SCR_InventoryMenuUI
Added: Sandbox resource system implementation into SCR_InventoryStorageBaseUI
Added: Sandbox resource system implementation into SCR_InventoryStorageLootUI
Added: Sandbox resource system implementation into SCR_DeployMenuMain
Added: Sandbox resource system implementation into SCR_DeployButton
Added: Sandbox resource system implementation into SCR_LoadoutRequestUIComponent
Added: Sandbox resource system implementation into SCR_CampaignBuildingStartUserAction
Added: Sandbox resource system implementation into SCR_CatalogSpawnerUserAction
Added: Virtual arsenal system implementation into SCR_InventoryMenuUI
Added: Virtual arsenal system implementation into SCR_InventoryStorageBaseUI
Added: API for healing and checking the health of hitzones
Added: "PostSimulatePhysics" system point to ESystemPoint enum
Added: BaseWorld::GetPhysicsTimeSlice API
Added: "SimulatePhysics" system point to ESystemPoint enum
Added: GetAnimation, GetLoop, GetPlaySpeed, GetStartTime to AnimationPlayerComponent
Added: ScriptCompiler: compile error for static arrays of typename (not supported)
Added: ScriptAPI: GenericEntity._WB_OnParentChange + GenericComponent._WB_OnParentChange
Added: Support for writing and reading typenames in the serialization system (#T174003)
Added: TargetLayers to TraceParam. This gives the possibility to trace directly to layers instead of passing by the interaction matrix
Added: All headgear with armor now inherits from Headgear_Helmet_Base.et
Changed: SCR_CampaignBuildingProviderComponent::GetSuppliesComponent() is now obsolete, for making use of the new sandbox resource system for supplies implementation
Changed: SCR_CampaignBuildingManagerComponent::GetSupplyComponent() is now obsolete, for making use of the new sandbox resource system for supplies implementation
Changed: SCR_CampaignBuildingManagerComponent::GetSpawnerSupplies() is now obsolete, for making use of the new sandbox resource system for supplies implementation
Changed: SCR_CatalogEntitySpawnerComponent::AssignSupplyComponent() is now obsolete, for making use of the new sandbox resource system for supplies implementation
Changed: SCR_CatalogEntitySpawnerComponent::GetSpawnerSupplyComponent() is now obsolete, for making use of the new sandbox resource system for supplies implementation
Changed: SCR_CatalogEntitySpawnerComponent::GetSpawnerSupplies() is now obsolete, for making use of the new sandbox resource system for supplies implementation
Changed: SCR_CampaignBuildingBudgetEditorComponent::RefreshSuppliesComponent() is now obsolete, for making use of the new sandbox resource system for supplies implementation
Changed: SCR_CampaignBuildingBudgetEditorComponent::OnBaseSuppliesChanged() is now obsolete, for making use of the new sandbox resource system for supplies implementation
Changed: SCR_CampaignBuildingEditorComponent::GetProviderSuppliesComponent() is now obsolete, for making use of the new sandbox resource system for supplies implementation
Changed: SCR_CampaignBuildingSupplyEditorUIComponent::UpdateSupply() is now obsolete, for making use of the new sandbox resource system for supplies implementation
Changed: Flammable hitzone use ComputeEffectiveDamage instead of OnDamage, allowing it to receive incendiary damage after hitzone becomes destroyed, and have separate thresholds from other types of damage
Changed: LightUserAction can now be used for all types of lights instead of specialized implementations
Changed: Engine, gearbox, and transmission hitzone template configs switched to SCR_EngineHitZone and SCR_GearboxHitZone
Changed: SCR_EArmorLevels.c::CUSTOM_04's key was 25. Now 24
Fixed: Reactivating VehicleBaseSimulation does not work (#T174715)
Removed: Removed CharacterCommandSwim.WaterlevelCheck(), use new CharacterInputContext.GetWaterLevel()
Removed: Removed CharacterCommandHandlerComponent.GetRelativeWaterLevel(), use new CharacterInputContext.GetWaterLevel()
Removed: Virtual Engine and Gearbox hitzones from ground vehicles - Parent hitzones are now obsolete
Removed: Legacy wheel hitzones from ground vehicles - wheels are separate entities
Removed: CharacterControllerComponent.IsInFreeLook(). Please use the existing function CharacterControllerComponent.IsFreeLookEnabled() instead
Removed: Entity Script API - obsolete particle methods
Removed: SCR_ParticleEmitter and SCR_ParticleEmitterExtended from the game
Controls
Added: Mouse aircraft control option in gameplay settings
Added: Key shortcut for car high beam lights
Added: QoL - Mouse buttons 4/5 can be used to navigate tabs in UIs like Q/E
Added: Map tool shortcut - Compass on K/DPad Up Hold
Added: Map tool shortcut - Wristwatch on O/DPad Up Double
Added: Map tool shortcut - Protractor on B/DPad Down Hold
Added: Map tool shortcut - Pencil on N/DPad Down Double
Added: Gamepad - The radial menu can be closed also via Gamepad B
Changed: Default quick slot items - Building tool in slot 0
Changed: Default quick slot items - Tourniquet in slot 7 instead of Binocular (B, DPad)
Changed: Default quick slot items - Morphine in slot 8 instead of Map (M, DPad)
Changed: Default quick slot items - Radio in slot 9 instead of Compass (K, DPad) - may change in future versions
Changed: Map tool scaling to MMB / RB Click, Map tool rotation to MMB / RB Hold
Changed: Improved protractor rotation on map - follows mouse cursor while active
Changed: Improved consistency of main menu bindings
Changed: Gamepad - Stance adjustment moved to Left Thumb Press + Left Stick movement, reset by clicking Left Thumb again
Changed: Gamepad - Weapon selection moved to Right Bumper + Right Stick or XYAB, grenade launcher selection possible also via reselection of current weapon
Changed: Gamepad - Drop current item moved to View + X
Changed: Gamepad - Unequip current item moved to View + Y
Changed: Gamepad - Lower weapon moved to View + B
Changed: Gamepad - Weapon safety to View + RB
Changed: Gamepad - Select grenade launcher and Toggle bipod moved to View + A
Changed: Gamepad - Switch optics moved to View Hold
Changed: Gamepad - Toggle illumination moved to View 2x
Changed: Gamepad - Finger pointing moved to LB + DPad Right
Changed: KB/M - Toggle illumination moved to Ctrl + MMB, deconflicted melee
Changed: KB/M - Low ready changed to C Hold
Changed: KB/M - Low ready can work as a toggle with Raise weapon if the same key and input filter are used
Changed: Gamepad - Vehicle persistent handbrake changed to A Double
Changed: Gamepad - Basic gadget actions have been moved from DPad Right + XYAB to DPad Hold & Double
Changed: Gamepad - Gadget Flashlight to DPad Left Hold
Changed: Gamepad - Gadget Flashlight Toggle to DPad Left Double, rebinding will be necessary
Changed: Gamepad - Gadget Compass to DPad Up Hold
Changed: Gamepad - Gadget Wristwatch to DPad Up Double
Changed: Gamepad - Gadget Map to DPad Right Hold
Changed: Gamepad - Gadget Binoculars to DPad Down Hold
Changed: Gamepad - Car gear shifting moved from DPad to Left Stick Vertical
Changed: Gamepad - Vehicle lights moved to DPad Left, consistently with Flashlight Toggle
Changed: Gamepad - Vehicle engine moved to X
Changed: Improved flashlight control hints
Changed: Default "Inspect item" binding changed to Hold R / Hold X on the controller
Changed: Default "Rotate inspected item" changed to Click R on keyboard / Click X on controller
Changed: VON radial menu - Tune frequency with Mouse Wheel / DPad Up/Down, modifier is removed
Changed: VON radial menu - Cycle channel with Q/E / DPad Left/Right
Tweaked: KB/M - Bigger steps of walking speed adjustment
Fixed: Ownership could be lost when any pilot compartment is exited, for now first is considered controlling
Workbench
Added: Particle Editor - improved ways of selecting emitters
Added: Particle Editor - copy/paste emitters
Added: Particle Editor - emitter panel improvements
Added: support for file tagging and filtering based on it
Added: Particle Editor - Full screen support
Added: Behavior Editor - Add context menu when right-clicking on nodes
Added: Behavior Editor - Clicking on breakpoints on nodes in the scene disables/removes them
Added: Behavior Editor - Enable/Disable breakpoints
Added: Node Graph - Snap nodes to grids on mouse move while dragging
Added: full-screen mode (F11) for Resource Manager
Added: Workbench: ScriptEditor: cyclic inheritance suggestions fix
Added: Workbench - Behavior Editor - Breakpoints panel
Added: Behavior Editor - Item Explorer panel
Added: 'License' field to meta files
Added: Particles API - EmitterParam.SHAPE_SIZE
Added: Global tags in animation graphs. Define tags that appear on output regardless of the starting node
Added: Anim Editor: Add existing anim set instance to workspace
Added: Time Save, Time Use anim graph nodes to store local time and reuse it elsewhere
Added: Particles API - EmitterParam.SIZE_RND
Added: Anim Procedural Node: Scale translation of bone / ik target
Added: VSync option to workbench options
Added: Node graphs settings in Workbench Options
Changed: Node Graph - Holding mouse LB and RB at the same time is not allowed anymore
Changed: Workbench - action tooltip now also contains its shortcut
Changed: Experimental build now has its own, separate user settings
Changed: Forest Generator now supports partial regeneration - ARMA4-20106 - Forest generator: Partial re-generation PENDING APPROVAL
Tweaked: A process of importing/reimporting textures in Workbench can now be canceled at any time
Fixed: Particle Editor - Emitter list LOD slider handles right click without crash
Fixed: Particle Editor - Redundant prompt to save files when opening a new file
Fixed: Audio Editor - Selection of nodes out of sync when adding nodes
Fixed: Particle Editor - saving files and create/rename/clone emitters work again as intended without infinite loop
Fixed: Behavior Editor - mouse RB on nodes does not clear existing selecting any longer
Fixed: clicking on filters did not refresh the Resource Browser instantly
Fixed: wrong search results from 'Workbench.SearchResources' script API
Fixed: Behavior Editor - connecting behavior node ports
Fixed: Behavior Editor - crash when connecting variable ports to node's rectangular port
Fixed: Script Editor - on the new script tab, truncated lines when scrolling to the bottom of the document
Fixed: Wrong dragging speed in Node Graph editors
Fixed: Workbench: Jump to script definition
Fixed: Workbench - Creating inherited configs in the addon
Fixed: Workbench: ScriptEditor: proper suggestions on primitive types
Fixed: Workbench: ScriptEditor: proper code suggestion inside methods returning generics
Fixed: Light source visualization now respects the enabled/disabled state of the light entity
Fixed: UI layout editor - Incorrect behavior during property editing
Fixed: Disabled import of resources while scripts are not compilable
Fixed: ScriptDebugger: breakpoint duplication after recompiling on host
Fixed: Switching World Editor back from full-screen not retaining window position
Fixed: Disallowing publishing of read-only (packed) projects
Game Master
Added: It is now possible to block the placing of new entities in Game Master through SCR_PlacingEditorComponent
Added: Game Master's Budget System now supports the ability to reserve a specific amount of budget and release the reserved budget at any specific time
Added: When there is no local player in the world, pressing the 'Home' key in the Game Master interface now teleports the camera to where it was when the interface was opened
Added: Map Locations can now be extended by pre-configured compositions from Game Master
Added: Mines have been added to Game Master mode, allowing Game Masters to place mines
Added: Localization for Game Master's Slot Tooltips
Added: Ability to load a specific file using the new "Load" toolbar action. Also available for Game Masters connected to a server
Added: Toolbar action for pausing game simulation in the Game Master toolbar
Added: Vehicles that have players inside are now identified as Player-Owned within Game Master
Fixed: Placing a spawn point or composition with a spawn point in Game Master automatically enables the faction if it's disabled
Fixed: Rotation indicator in the Game Master interface was sometimes aligned incorrectly to the surface below
Fixed: Dead player body tagged as Unknown Player in Game Master
Fixed: Content Browser in Game Master not displaying the correct budget
Fixed: Dead Player's name is "unknown player" on Game Master
Fixed: ArmaVision camera snapping to the ocean when opened by players without Game Master privilege
Fixed: Placeholder images showing up on Game Master's Content Browser
Fixed: Entity icons in Game Master were not updated when a dialog window was opened on top (e.g. when editing attributes)
Fixed: In Game Master, the "Snap to terrain" context action was available even for composition slots or location labels but did not do anything. The action is no longer shown in this situation
Fixed: "Open Game Master" button as shown in the pause menu even when the mission did not offer to become a Game Master (e.g., Conflict)
Fixed: In Game Master, it was possible to move soldiers onto a dead body, implying that they should join its non-existent group
Playable Content
Added: ScenarioFramework - Inventory and Tasks Actions
Added: ScenarioFramework - Medical actions
Added: ScenarioFramework - Dynamic Spawn/Despawn
Fixed: ScenarioFramework - Slot preview persists after moving it in the hierarchy
Fixed: ScenarioFramework - ScenarioFramework slot preview persisted after deletion
Fixed: ScenarioFramework - Randomization not working as supposed
Fixed: ScenarioFramework - Task Defend caused VME and notifications were not working in MP
Fixed: Debriefing - Player is told "Good job" while defeated
Fixed: Conflict - Supply count can go into negative numbers with several players spawning on the same deploy point
Fixed: ScenarioFramework - Missing default waypoint for SlotKill and SlotDefend
Fixed: ScenarioFramework - Undo/Redo actions on ScenarioFramework components caused asserts in Workbench
Stability
Changed: Possibility to have Nvidia aftermath also on an experimental version
Fixed: Crash when getting default magazine name on a muzzle without magazine template set
Fixed: Proxy vehicle particles would have huge velocity during the teleport
Fixed: possible GPU crash in sky rendering
Fixed: World editor - Crash by adding a new script event handler to the entity by clicking a plus button
Fixed: Crash when exiting application after load of mission saves
Fixed: Crash when editing invalid anim graph while the world editor is running
Fixed: ContainerSerializationSaveContext::WriteValue crash on a nested array with weak references (#T173900)
Backend
Added: GetLocalIdentityId() to get the local identity ID on client
Changed: Ban commands are now defined in the script and use the new BanServiceApi
Fixed: Server can show an addon list of previously focused server
Known Issues
Game
The main base has a random number of supplies at the start of the map
Captured FIA bases lose build action on session save load
Supply amount on bases is 0 after loading session save
Some Capture & Hold scenarios are unplayable because of missing compositions
US Large Living Quarters have no limit on AI group spawned that can lead to server crash
Getting into the Gunner position in BTR will result in the teleportation of the camera to a distant location and slowly falling character into the BTR
Players are not able to repair vehicle tires even with the proper gadget
Players are unable to change stance after getting dragged from the vehicles when they are unconscious
Getting into an unconscious state while leaving the vehicle can lead to player desync
Players sometimes cannot join already existing groups on the server after they connect
Scope zoom changes character movement speed as well
Players are unable to select saved loadout when using a controller
Looking at the player spawn while someone is spawning will make his name not show until you turn around
Persistent Sprint and Aiming Down Sights controls do not register properly when using a controller
Characters in the turrets sometimes start drifting away creating a surrealistic portrait of a man with really long arms holding a turret
Some vehicles were not able to detect supply storage nearby for unloading action
Players are unable to trigger lights with a widget in the vehicle in the first-person
Load button in the Pause Menu does nothing
The base will sometimes show the supply count in a decimal number
Some items in the inventory can look blurry and with low poly texture
Players are not able to finish the Free building tutorial
The radio may stop working sometimes
Combat Ops - Unable to adjust loadout in the Arsenal
The ammunition supply point doesn't receive supplies from the rest of the structures
UI in the vehicle or the turret can be hard to see
Building holograms completely blinds players when they are building structures with a shovel
AIs sitting next to some composition will sometimes ignore enemies
Some Bunkers are built under the ground when players finish them
Weapon deployment makes the character spin if is used after getting out of the loiter animation;
No stats on the debriefing screen
M998 is getting caught on small curbs and other small objects
FidelityFX Super Resolution reset after changing the Quality preset
Game Master
Arsenal does not work without supplies
Players getting killed by GM are punished for suicide
Deleting all dead bodies and destroyed vehicles with the GM can lead to the kick of all GMs from the server
Workaround: Delete entities in smaller batches
US medical vehicle has the wrong name in the game
Players leaving GM on a populated server have a higher chance of being kicked from the server
Restarting a scenario with supplies will crash the game
You can save the scenario and load without problems
Warnings
Server performance can be greatly reduced when replicating a high number of characters (players + AIs), and this issue becomes more prominent with increased limits, making it difficult to handle 128 players and 200+ AIs.
Playing Everon Conflict with 128 players is not recommended, while Arland might be more feasible due to its smaller size and fewer AI spawns. Pure PvP without AIs could be a potential alternative for larger player counts.
Starting any world in World Editor with any of the armored vests on the map causes a message in logs: Can't open config file "" and Script Authorization Prompt - it is safe to authorize this script
Modded retextured uniforms fall back to their default color when an armored vest is equipped