Overview
To make Arma 3 more playable and enjoyable with and against AI, the Custom Difficulty Adjustment system allows various aspects of AI behavior, damage taken/dealt, skill, and much more to be adjusted automatically.
- Features
- Vehicle target radar and compass
- Reduced/simplefied damage in cadet mode for tanks
- Nametags
- Extended unit map markers
- SPE_CDA_Difficulty_Adjustment_IssueRadios
- Auto assignemt of ItemRadio
- Automatic adding of Medikits and Toolkits
- Adjusting of skill and unit traits
- Updating waypoints if player is group leader
- Adjusting stamina, aim- and recoil coefficients
- and much more...
Usage
The system is enabled by default for all scenarios and can be deactivated through scripting. See Mission maker setup and use.
Detailed information
The adjustments are based on the currently active difficulty level from Arma 3 itself. If the Custom difficulty level is used, the settings for Recruit difficulty are applied as the baseline.
When exposed as mission parameter for a mission, it's possible to allow an admin in multiplayer mode to change the Custom to CDA level mapping for the session.
The basic design is:
- 1. Recruit: For new Arma players. More of a movie experience on rails presenting only a very limited challenge. The focus is on the player (or friendly AI) easily eliminating enemies while completing the mission tasks.
- 2. Regular: For average Arma players or with only limited SP/AI play or unit commanding experience. Still has various helpers, yet this is no longer child's play.
- 3. Veteran: For experienced Arma veterans. Almost no helpers, mostly the raw Arma 3 system - quite a challenge!
- 4. Hardcore: A new setting with zero helpers, minimal interface, and super AI for the maximum challenge. Recommended to use only after having completed a mission in Veteran.
Configuration
Mission parameters may allow customization of certain elements of the system for the given play-session in multiplayer.
Mission maker setup and use
The function SPE_MISSIONUTILITYFUNCTIONS_fnc_DifficultyInitialization is used to initialize the system. It is called through preInit.
Disabling the System
In order to disable the system put the following code into Init.sqf
SPE_ForceDeactivateDifficultyAdjustmentSystem = true;
Variables
SPE_CDA_3dtargetvisualizationasinfantry
SPE_CDA_3dtargetvisualizationinvehicles
SPE_CDA_additionalammomodifier
SPE_CDA_aggressivebehaviourenemyside
SPE_CDA_aggressivebehaviourplayergroup
SPE_CDA_aggressivebehaviourplayerside
SPE_CDA_audiblecoefenemyside
SPE_CDA_audiblecoefplayergroup
SPE_CDA_audiblecoefplayerside
SPE_CDA_autohealgroup
SPE_CDA_autohealplayer
SPE_CDA_autorepairvehiclegroup
SPE_CDA_autorepairvehicleplayer
SPE_CDA_autorevivegroup
SPE_CDA_camouflagecoefenemyside
SPE_CDA_camouflagecoefplayergroup
SPE_CDA_camouflagecoefplayerside
SPE_CDA_civilianhasplayers
SPE_CDA_currentdifficulty
SPE_CDA_damagetakenmodifierenemyside
SPE_CDA_damagetakenmodifierplayergroup
SPE_CDA_damagetakenmodifierplayerside
SPE_CDA_difficulty_adjustment_extendedunitmapmarkers
SPE_CDA_difficulty_adjustment_issueradios
SPE_CDA_difficulty_adjustment_nametags
SPE_CDA_difficultyunitmonitoringactive
SPE_CDA_disableaiaimingerrorplayergroup
SPE_CDA_disableaisuppressionplayergroup
SPE_CDA_disablefriendlyfire
SPE_CDA_disablesaving
SPE_CDA_disablestaminasystemplayer
SPE_CDA_disabletargetradar
SPE_CDA_disabletaskvisibility
SPE_CDA_easthasplayers
SPE_CDA_enabledamage_multiplier
SPE_CDA_enabledynamicsimulation
SPE_CDA_engineergroup
SPE_CDA_engineerplayer
SPE_CDA_explosivespecialistgroup
SPE_CDA_explosivespecialistplayer
SPE_CDA_hitpoints
SPE_CDA_invinciblespecialcharacter
SPE_CDA_iscutscene
SPE_CDA_istankmission
SPE_CDA_istutorialmission
SPE_CDA_manualrepairvehicleplayer
SPE_CDA_medicgroup
SPE_CDA_medicplayer
SPE_CDA_muteradioenemyside
SPE_CDA_muteradioplayergroup
SPE_CDA_muteradioplayerside
SPE_CDA_playeraimingcoefficient
SPE_CDA_playergroupinvincible
SPE_CDA_playerinvincible
SPE_CDA_playeritemgps
SPE_CDA_playeritemmap
SPE_CDA_playeritemradio
SPE_CDA_playerrecoilcoefficient
SPE_CDA_resistancehasplayers
SPE_CDA_revivegroup
SPE_CDA_reviveheavycaliber
SPE_CDA_reviveplayer
SPE_CDA_revivespecialcharacter
SPE_CDA_skillmodifierglobalenemyside
SPE_CDA_skillmodifierglobalplayergroup
SPE_CDA_skillmodifierglobalplayerside
SPE_CDA_skipupdateaggressivebehaviour
SPE_CDA_skipupdatemuteradio
SPE_CDA_smootheranimationsfastermovement
SPE_CDA_tankdisableonlygroup
SPE_CDA_tankdisableonlyplayer
SPE_CDA_targetradaractive
SPE_CDA_targetradarasinfantry
SPE_CDA_targetradarinvehicles
SPE_CDA_updateaggressivebehaviour
SPE_CDA_updatemuteradio
SPE_CDA_updatesmootheranimations
SPE_CDA_weaponreloadingtimeenemyside
SPE_CDA_weaponreloadingtimeplayergroup
SPE_CDA_weaponreloadingtimeplayerside
SPE_CDA_westhasplayers