Cover image of 1.0.0.11 Experimental Update

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: 

  1. Modders will have more time before the next Major Update to prepare their mods.

  2. Players will be able to try the upcoming features well before their release.

  3. 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

Published on 

We want you for our mailing list!

We offer great content once a month just for you!