Spearhead 1944 Custom Difficulty Adjustment System (CDA)
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