Difficulty Settings – Arma 3
(Removed spoiler as its important to not miss the CfgDifficultyPresets class definition) |
m (Removed width style from table to prevent overlapping on mobile) |
||
(3 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
{{TOC|side}} | {{TOC|side}} | ||
The {{GVI|arma3|1.58}} update brought a lot of changes to the difficulty system. A list of the most significant ones can be found at the [[ | The {{GVI|arma3|1.58}} update brought a lot of changes to the difficulty system. A list of the most significant ones can be found at the [[#Difficulty Overhaul|bottom of the page]].<br> | ||
There is a {{Link| | There is a {{Link|https://forums.bistudio.com/topic/188661-difficulty-overhaul/|related forum thread}} where the changes can be discussed. | ||
[[File:20170725165627 1.jpg|450px|center]] | [[File:20170725165627 1.jpg|450px|center]] | ||
Line 9: | Line 9: | ||
=== Presets === | === Presets === | ||
One of the main changes that came with 1.58 is, that the difficulty levels were transformed to true presets. Each preset has exactly defined value for each difficulty option. If any of the options doesn't match the preset, it is changed to Custom. The following table shows comparison of the presets. Options that have ''fade out'' set can be faded in via the J key. | One of the main changes that came with 1.58 is, that the difficulty levels were transformed to true presets. Each preset has exactly defined value for each difficulty option. | ||
If any of the options doesn't match the preset, it is changed to Custom. The following table shows comparison of the presets. Options that have ''fade out'' set can be faded in via the {{Controls|J}} key. | |||
{| class="wikitable | {| class="wikitable align-center-col-3 align-center-col-4 align-center-col-5" | ||
! Config Parameter | ! Config Parameter | ||
! | ! Name in Game | ||
! Recruit | ! Recruit | ||
! Regular | ! Regular | ||
! Veteran | ! Veteran | ||
! | ! Possible Values | ||
! Note | ! Note | ||
|- | |- | ||
Line 24: | Line 25: | ||
| {{hl|reducedDamage}} | | {{hl|reducedDamage}} | ||
| Reduced Damage | | Reduced Damage | ||
| 1 | |||
| 0 | |||
| 0 | |||
| 0 = disabled, 1 = enabled | | 0 = disabled, 1 = enabled | ||
| Decreases damage dealt to the player and members of his group. | | Decreases damage dealt to the player and members of his group. | ||
Line 34: | Line 35: | ||
| {{hl|squadRadar}} | | {{hl|squadRadar}} | ||
| - | | - | ||
| - | |||
| - | |||
| - | |||
| - | | - | ||
| Shows a squad radar. '''Not implemented!''' | | Shows a squad radar. '''Not implemented!''' | ||
Line 42: | Line 43: | ||
| {{hl|groupIndicators}} | | {{hl|groupIndicators}} | ||
| Group Indicators | | Group Indicators | ||
| 2 | |||
| 1 | |||
| 0 | |||
| 0 = never, 1 = limited distance, 2 = always | | 0 = never, 1 = limited distance, 2 = always | ||
| Shows indication icons on units in player's group. | | Shows indication icons on units in player's group. | ||
Line 50: | Line 51: | ||
| {{hl|friendlyTags}} | | {{hl|friendlyTags}} | ||
| Friendly Name Tags | | Friendly Name Tags | ||
| 2 | |||
| 1 | |||
| 0 | |||
| 0 = never, 1 = limited distance, 2 = always | | 0 = never, 1 = limited distance, 2 = always | ||
| Friendly unit identification. Works only when the player aims at a unit. | | Friendly unit identification. Works only when the player aims at a unit. | ||
Line 58: | Line 59: | ||
| {{hl|enemyTags}} | | {{hl|enemyTags}} | ||
| Enemy Name Tags | | Enemy Name Tags | ||
| 0 | |||
| 0 | |||
| 0 | |||
| 0 = never, 1 = limited distance, 2 = always | | 0 = never, 1 = limited distance, 2 = always | ||
| Enemy unit identification. Works only when the player aims at a unit. | | Enemy unit identification. Works only when the player aims at a unit. | ||
Line 66: | Line 67: | ||
| {{hl|detectedMines}} | | {{hl|detectedMines}} | ||
| Detected Mines | | Detected Mines | ||
| 2 | |||
| 1 | |||
| 0 | |||
| 0 = never, 1 = limited distance, 2 = always | | 0 = never, 1 = limited distance, 2 = always | ||
| Shows icons indicating exact positions of mines which are 200 m or closer. | | Shows icons indicating exact positions of mines which are 200 m or closer. | ||
Line 74: | Line 75: | ||
| {{hl|commands}} | | {{hl|commands}} | ||
| Commands | | Commands | ||
| 2 | |||
| 1 | |||
| 1 | |||
| 0 = never, 1 = fade out, 2 = always | | 0 = never, 1 = fade out, 2 = always | ||
| Displays command icons like target markers, get in command and others. | | Displays command icons like target markers, get in command and others. | ||
Line 82: | Line 83: | ||
| {{hl|waypoints}} | | {{hl|waypoints}} | ||
| Waypoints | | Waypoints | ||
| 2 | |||
| 2 | |||
| 1 | |||
| 0 = never, 1 = fade out, 2 = always | | 0 = never, 1 = fade out, 2 = always | ||
| Manages visibility of waypoint markers. | | Manages visibility of waypoint markers. | ||
Line 92: | Line 93: | ||
| {{hl|weaponInfo}} | | {{hl|weaponInfo}} | ||
| Weapon Info | | Weapon Info | ||
| 2 | |||
| 2 | |||
| 1 | |||
| 0 = never, 1 = fade out, 2 = always | | 0 = never, 1 = fade out, 2 = always | ||
| Shows Weapon Info box contains round and magazine count, firing mode, etc.. | | Shows Weapon Info box contains round and magazine count, firing mode, etc.. | ||
Line 100: | Line 101: | ||
| {{hl|stanceIndicator}} | | {{hl|stanceIndicator}} | ||
| Stance Indicator | | Stance Indicator | ||
| 2 | |||
| 2 | |||
| 1 | |||
| 0 = never, 1 = fade out, 2 = always | | 0 = never, 1 = fade out, 2 = always | ||
| Displays stance indication contains actual stance, weapon resting and deployment. | | Displays stance indication contains actual stance, weapon resting and deployment. | ||
Line 108: | Line 109: | ||
| {{hl|staminaBar}} | | {{hl|staminaBar}} | ||
| Stamina Bar | | Stamina Bar | ||
| 1 | |||
| 1 | |||
| 0 | |||
| 0 = disabled, 1 = enabled | | 0 = disabled, 1 = enabled | ||
| Manages visibility of stamina indicator. Fades in when stamina changes. | | Manages visibility of stamina indicator. Fades in when stamina changes. | ||
Line 116: | Line 117: | ||
| {{hl|weaponCrosshair}} | | {{hl|weaponCrosshair}} | ||
| Crosshair | | Crosshair | ||
| 1 | |||
| 1 | |||
| 0 | |||
| 0 = disabled, 1 = enabled | | 0 = disabled, 1 = enabled | ||
| Shows weapon crosshair both in 1st and 3rd person view. | | Shows weapon crosshair both in 1st and 3rd person view. | ||
Line 124: | Line 125: | ||
| {{hl|visionAid}} | | {{hl|visionAid}} | ||
| Vision Aid | | Vision Aid | ||
| 1 | |||
| 0 | |||
| 0 | |||
| 0 = disabled, 1 = enabled | | 0 = disabled, 1 = enabled | ||
| Helps to detect units in visual range and identify friend from foe. | | Helps to detect units in visual range and identify friend from foe. | ||
Line 134: | Line 135: | ||
| {{hl|thirdPersonView}} | | {{hl|thirdPersonView}} | ||
| 3rd Person View | | 3rd Person View | ||
| 1 | |||
| 1 | |||
| 0 | |||
| 0 = disabled, 1 = enabled, 2 = vehicles only | | 0 = disabled, 1 = enabled, 2 = vehicles only | ||
| Enables camera switching to 3rd person view.<br>{{GVI|arma3|2.00}} Vehicle only is now available | | Enables camera switching to 3rd person view.<br>{{GVI|arma3|2.00}} Vehicle only is now available | ||
Line 142: | Line 143: | ||
| {{hl|cameraShake}} | | {{hl|cameraShake}} | ||
| Camera Shake | | Camera Shake | ||
| 1 | |||
| 1 | |||
| 1 | |||
| 0 = disabled, 1 = enabled | | 0 = disabled, 1 = enabled | ||
| Shakes camera if player is near explosion, passing vehicle or if player's vehicle is under G-load. | | Shakes camera if player is near explosion, passing vehicle or if player's vehicle is under G-load. | ||
Line 152: | Line 153: | ||
| {{hl|scoreTable}} | | {{hl|scoreTable}} | ||
| Score Table | | Score Table | ||
| 1 | |||
| 1 | |||
| 1 | |||
| 0 = disabled, 1 = enabled | | 0 = disabled, 1 = enabled | ||
| Displays table with kills, deaths and overall score in multiplayer. | | Displays table with kills, deaths and overall score in multiplayer. | ||
Line 160: | Line 161: | ||
| {{hl|deathMessages}} | | {{hl|deathMessages}} | ||
| Killed By | | Killed By | ||
| 1 | |||
| 1 | |||
| 1 | |||
| 0 = disabled, 1 = enabled | | 0 = disabled, 1 = enabled | ||
| Shows in chat window who killed the player. | | Shows in chat window who killed the player. | ||
Line 168: | Line 169: | ||
| {{hl|vonID}} | | {{hl|vonID}} | ||
| VON ID | | VON ID | ||
| 1 | |||
| 1 | |||
| 1 | |||
| 0 = disabled, 1 = enabled | | 0 = disabled, 1 = enabled | ||
| Indicates who is speaking through VON communication. | | Indicates who is speaking through VON communication. | ||
Line 178: | Line 179: | ||
| {{hl|mapContent}} | | {{hl|mapContent}} | ||
| - | | - | ||
| - | |||
| - | |||
| - | |||
| 0 = disabled, 1 = enabled | | 0 = disabled, 1 = enabled | ||
| {{GVI|arma3|1.68}} This property was replaced by {{hl|mapContent*}} but still works. If it is set, all other {{hl|mapContent*}} properties are overwritten. '''Not available via menu'''. | | {{GVI|arma3|1.68}} This property was replaced by {{hl|mapContent*}} but still works. If it is set, all other {{hl|mapContent*}} properties are overwritten. '''Not available via menu'''. | ||
Line 186: | Line 187: | ||
| {{hl|mapContentFriendly}} | | {{hl|mapContentFriendly}} | ||
| Friendly | | Friendly | ||
| 1 | |||
| 1 | |||
| 0 | |||
| 0 = disabled, 1 = enabled | | 0 = disabled, 1 = enabled | ||
| {{GVI|arma3|1.68}} Shows friendly units on the map. | | {{GVI|arma3|1.68}} Shows friendly units on the map. | ||
Line 194: | Line 195: | ||
| {{hl|mapContentEnemy}} | | {{hl|mapContentEnemy}} | ||
| Enemy | | Enemy | ||
| 1 | |||
| 1 | |||
| 0 | |||
| 0 = disabled, 1 = enabled | | 0 = disabled, 1 = enabled | ||
| {{GVI|arma3|1.68}} Shows enemy units on the map. | | {{GVI|arma3|1.68}} Shows enemy units on the map. | ||
Line 202: | Line 203: | ||
| {{hl|mapContentMines}} | | {{hl|mapContentMines}} | ||
| Mines | | Mines | ||
| 1 | |||
| 1 | |||
| 0 | |||
| 0 = disabled, 1 = enabled | | 0 = disabled, 1 = enabled | ||
| {{GVI|arma3|1.68}} Shows detected mines on the map. | | {{GVI|arma3|1.68}} Shows detected mines on the map. | ||
Line 210: | Line 211: | ||
| {{hl|tacticalPing}} | | {{hl|tacticalPing}} | ||
| Tactical Ping | | Tactical Ping | ||
| 1 | |||
| 1 | |||
| 0 | |||
| 0 = disabled, 1 = | | 0 = disabled, 1 = in 3D scene, 2 = on map, 3 = both | ||
| Allows players to highlight a position via a ''Tactical Ping''. | | Allows players to highlight a position via a ''Tactical Ping''. | ||
|- | |- | ||
Line 220: | Line 221: | ||
| {{hl|autoReport}} | | {{hl|autoReport}} | ||
| Automatic Reporting | | Automatic Reporting | ||
| 1 | |||
| 1 | |||
| 0 | |||
| 0 = disabled, 1 = enabled | | 0 = disabled, 1 = enabled | ||
| Former '''autoSpot''' Enables/disables automatic reporting of spotted enemies '''by players only'''. To stop AI from talking with script, use <sqf inline>unit setSpeaker "NoVoice";</sqf> | | Former '''autoSpot''' Enables/disables automatic reporting of spotted enemies '''by players only'''. To stop AI from talking with script, use <sqf inline>unit setSpeaker "NoVoice";</sqf> | ||
Line 228: | Line 229: | ||
| {{hl|multipleSaves}} | | {{hl|multipleSaves}} | ||
| Multiple Saves | | Multiple Saves | ||
| 1 | |||
| 1 | |||
| 0 | |||
| 0 = disabled, 1 = enabled | | 0 = disabled, 1 = enabled | ||
| Allows player to create multiple saves in a mission. | | Allows player to create multiple saves in a mission. | ||
Line 240: | Line 241: | ||
Since {{arma3}} 1.58 the game's config uses {{hl|CfgDifficultyPresets}} class. The former {{hl|CfgDifficulties}} is now obsolete and was left in the config only not to break scripts that might have used it. | Since {{arma3}} 1.58 the game's config uses {{hl|CfgDifficultyPresets}} class. The former {{hl|CfgDifficulties}} is now obsolete and was left in the config only not to break scripts that might have used it. | ||
<spoiler text="Show CfgDifficultyPresets"> | |||
<syntaxhighlight lang="cpp"> | <syntaxhighlight lang="cpp"> | ||
class CfgDifficultyPresets | class CfgDifficultyPresets | ||
Line 282: | Line 284: | ||
commands = 2; // Commands (0 = never, 1 = fade out, 2 = always) | commands = 2; // Commands (0 = never, 1 = fade out, 2 = always) | ||
waypoints = 2; // Waypoints (0 = never, 1 = fade out, 2 = always) | waypoints = 2; // Waypoints (0 = never, 1 = fade out, 2 = always) | ||
tacticalPing = 3; // Tactical Ping (0 = disabled, 1 = | tacticalPing = 3; // Tactical Ping (0 = disabled, 1 = in 3D scene, 2 = on map, 3 = both) | ||
// Personal awareness | // Personal awareness | ||
Line 326: | Line 328: | ||
commands = 1; // Commands (0 = never, 1 = fade out, 2 = always) | commands = 1; // Commands (0 = never, 1 = fade out, 2 = always) | ||
waypoints = 2; // Waypoints (0 = never, 1 = fade out, 2 = always) | waypoints = 2; // Waypoints (0 = never, 1 = fade out, 2 = always) | ||
tacticalPing = 3; // Tactical Ping (0 = disabled, 1 = | tacticalPing = 3; // Tactical Ping (0 = disabled, 1 = in 3D scene, 2 = on map, 3 = both) | ||
// Personal awareness | // Personal awareness | ||
Line 374: | Line 375: | ||
commands = 1; // Commands (0 = never, 1 = fade out, 2 = always) | commands = 1; // Commands (0 = never, 1 = fade out, 2 = always) | ||
waypoints = 1; // Waypoints (0 = never, 1 = fade out, 2 = always) | waypoints = 1; // Waypoints (0 = never, 1 = fade out, 2 = always) | ||
tacticalPing = 0; // Tactical Ping (0 = disabled, 1 = | tacticalPing = 0; // Tactical Ping (0 = disabled, 1 = in 3D scene, 2 = on map, 3 = both) | ||
// Personal awareness | // Personal awareness | ||
Line 422: | Line 423: | ||
commands = 0; // Commands (0 = never, 1 = fade out, 2 = always) | commands = 0; // Commands (0 = never, 1 = fade out, 2 = always) | ||
waypoints = 0; // Waypoints (0 = never, 1 = fade out, 2 = always) | waypoints = 0; // Waypoints (0 = never, 1 = fade out, 2 = always) | ||
tacticalPing = 0; // Tactical Ping (0 = disabled, 1 = | tacticalPing = 0; // Tactical Ping (0 = disabled, 1 = in 3D scene, 2 = on map, 3 = both) | ||
// Personal awareness | // Personal awareness | ||
Line 452: | Line 453: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
{{Wiki|extractionScript}} | {{Wiki|extractionScript}} | ||
</spoiler> | |||
Line 458: | Line 460: | ||
=== Phase 1 === | === Phase 1 === | ||
* Class '''CfgDifficulties''' will be left in config for backwards compatibility. Game will use class | * Class '''CfgDifficulties''' will be left in config for backwards compatibility. Game will use the {{hl|CfgDifficultyPresets}} class from now on. Because of this and change of particular flags, it is recommended for both client and server to use the new exe, so the difficulty in MP works flawlessly (if the versions won't match, MP will work, but certain flags may not be enforced on clients). | ||
* Transform difficulty levels to presets (i. e. unlike the current state, each preset will have exactly defined values, if they don't match, preset will be changed to Custom). | * Transform difficulty levels to presets (i. e. unlike the current state, each preset will have exactly defined values, if they don't match, preset will be changed to Custom). | ||
* Reduce number of presets to '''three plus Custom''' to simplify choosing of difficulty. ''Recruit'' and ''Regular'' will be mostly identical to what they were, ''Veteran'' will use the values of former Elite. | * Reduce number of presets to '''three plus Custom''' to simplify choosing of difficulty. ''Recruit'' and ''Regular'' will be mostly identical to what they were, ''Veteran'' will use the values of former Elite. | ||
Line 490: | Line 492: | ||
* Added '''Hide''' option to Weapon Info. | * Added '''Hide''' option to Weapon Info. | ||
* Added '''Limited distance''' option to Friendly and Enemy Name Tags, Detected Mines and Group Indicators. | * Added '''Limited distance''' option to Friendly and Enemy Name Tags, Detected Mines and Group Indicators. | ||
* Added new server config parameter [[ | * Added new server config parameter [[Arma 3: Server Config File#Arma_3_-_Forced_difficulty|forcedDifficulty]]. More details could be found in {{Link|link= https://forums.bistudio.com/topic/188661-difficulty-overhaul/page-9#entry3020303|text= this post}}. | ||
* Tweaked UI in MP Create Game display to indicate more clearly which difficulty is selected, including indication of the forced difficulty. | * Tweaked UI in MP Create Game display to indicate more clearly which difficulty is selected, including indication of the forced difficulty. | ||
* Fixed unintentional disabling of the Difficulty tab in Game Options display when mission is not running. | * Fixed unintentional disabling of the Difficulty tab in Game Options display when mission is not running. |
Latest revision as of 09:08, 21 August 2024
The 1.58 update brought a lot of changes to the difficulty system. A list of the most significant ones can be found at the bottom of the page.
There is a related forum thread where the changes can be discussed.
Difficulty Menu
Presets
One of the main changes that came with 1.58 is, that the difficulty levels were transformed to true presets. Each preset has exactly defined value for each difficulty option. If any of the options doesn't match the preset, it is changed to Custom. The following table shows comparison of the presets. Options that have fade out set can be faded in via the J key.
Config Parameter | Name in Game | Recruit | Regular | Veteran | Possible Values | Note |
---|---|---|---|---|---|---|
Simulation | ||||||
reducedDamage | Reduced Damage | 1 | 0 | 0 | 0 = disabled, 1 = enabled | Decreases damage dealt to the player and members of his group. |
Situational Awareness | ||||||
squadRadar | - | - | - | - | - | Shows a squad radar. Not implemented! |
groupIndicators | Group Indicators | 2 | 1 | 0 | 0 = never, 1 = limited distance, 2 = always | Shows indication icons on units in player's group. |
friendlyTags | Friendly Name Tags | 2 | 1 | 0 | 0 = never, 1 = limited distance, 2 = always | Friendly unit identification. Works only when the player aims at a unit. |
enemyTags | Enemy Name Tags | 0 | 0 | 0 | 0 = never, 1 = limited distance, 2 = always | Enemy unit identification. Works only when the player aims at a unit. |
detectedMines | Detected Mines | 2 | 1 | 0 | 0 = never, 1 = limited distance, 2 = always | Shows icons indicating exact positions of mines which are 200 m or closer. |
commands | Commands | 2 | 1 | 1 | 0 = never, 1 = fade out, 2 = always | Displays command icons like target markers, get in command and others. |
waypoints | Waypoints | 2 | 2 | 1 | 0 = never, 1 = fade out, 2 = always | Manages visibility of waypoint markers. |
Personal Awareness | ||||||
weaponInfo | Weapon Info | 2 | 2 | 1 | 0 = never, 1 = fade out, 2 = always | Shows Weapon Info box contains round and magazine count, firing mode, etc.. |
stanceIndicator | Stance Indicator | 2 | 2 | 1 | 0 = never, 1 = fade out, 2 = always | Displays stance indication contains actual stance, weapon resting and deployment. |
staminaBar | Stamina Bar | 1 | 1 | 0 | 0 = disabled, 1 = enabled | Manages visibility of stamina indicator. Fades in when stamina changes. |
weaponCrosshair | Crosshair | 1 | 1 | 0 | 0 = disabled, 1 = enabled | Shows weapon crosshair both in 1st and 3rd person view. |
visionAid | Vision Aid | 1 | 0 | 0 | 0 = disabled, 1 = enabled | Helps to detect units in visual range and identify friend from foe. |
View | ||||||
thirdPersonView | 3rd Person View | 1 | 1 | 0 | 0 = disabled, 1 = enabled, 2 = vehicles only | Enables camera switching to 3rd person view. 2.00 Vehicle only is now available |
cameraShake | Camera Shake | 1 | 1 | 1 | 0 = disabled, 1 = enabled | Shakes camera if player is near explosion, passing vehicle or if player's vehicle is under G-load. |
Multiplayer | ||||||
scoreTable | Score Table | 1 | 1 | 1 | 0 = disabled, 1 = enabled | Displays table with kills, deaths and overall score in multiplayer. |
deathMessages | Killed By | 1 | 1 | 1 | 0 = disabled, 1 = enabled | Shows in chat window who killed the player. |
vonID | VON ID | 1 | 1 | 1 | 0 = disabled, 1 = enabled | Indicates who is speaking through VON communication. |
Map Content | ||||||
mapContent | - | - | - | - | 0 = disabled, 1 = enabled | 1.68 This property was replaced by mapContent* but still works. If it is set, all other mapContent* properties are overwritten. Not available via menu. |
mapContentFriendly | Friendly | 1 | 1 | 0 | 0 = disabled, 1 = enabled | 1.68 Shows friendly units on the map. |
mapContentEnemy | Enemy | 1 | 1 | 0 | 0 = disabled, 1 = enabled | 1.68 Shows enemy units on the map. |
mapContentMines | Mines | 1 | 1 | 0 | 0 = disabled, 1 = enabled | 1.68 Shows detected mines on the map. |
tacticalPing | Tactical Ping | 1 | 1 | 0 | 0 = disabled, 1 = in 3D scene, 2 = on map, 3 = both | Allows players to highlight a position via a Tactical Ping. |
Misc. | ||||||
autoReport | Automatic Reporting | 1 | 1 | 0 | 0 = disabled, 1 = enabled | Former autoSpot Enables/disables automatic reporting of spotted enemies by players only. To stop AI from talking with script, use unit setSpeaker "NoVoice"; |
multipleSaves | Multiple Saves | 1 | 1 | 0 | 0 = disabled, 1 = enabled | Allows player to create multiple saves in a mission. |
Configuration
Please note that the following information applies to the config in game's data (namely data_f.pbo) not to the profile. For profile related information please refer to this page. Since Arma 3 1.58 the game's config uses CfgDifficultyPresets class. The former CfgDifficulties is now obsolete and was left in the config only not to break scripts that might have used it.
class CfgDifficultyPresets
{
defaultPreset = Regular;
// Parameters that affect difficulty and which are shared among presets
myArmorCoef = 1.5;
groupArmorCoef = 1.5;
// Parameters that affect the Limited distance choice for Group Indicators, Friendly Name Tags, Enemy Name Tags and Detected Mines.
// They determine on which distance the indicators are fully visible and how many more meters it takes until the indicator fades-out completely.
fadeDistanceStart = 40.0;
fadeDistanceSpan = 10.0;
recoilCoef = 1;
visionAidCoef = 0.8;
divingLimitMultiplier = 1.0; // Multiplier to limit capacity of lungs for soldiers.
animSpeedCoef = 0;
cancelThreshold = 0; // Threshold used for interrupting action.
showCadetHints = 1; // (0 = disabled, 1 = enabled; see `cadetMode` command)
showCadetWP = 1; // (0 = disabled, 1 = enabled)
class Recruit
{
displayName = "$STR_Difficulty0"; // Name of the difficulty preset.
optionDescription = ""; // Description
optionPicture = ""; // Picture
levelAI = "AILevelLow"; // Level of AI skill
class Options
{
// Simulation
reducedDamage = 1; // Reduced damage (0 = disabled, 1 = enabled)
// Situational awareness
groupIndicators = 2; // Group indicators (0 = never, 1 = limited distance, 2 = always)
friendlyTags = 2; // Friendly name tags (0 = never, 1 = limited distance, 2 = always)
enemyTags = 0; // Enemy name tags (0 = never, 1 = limited distance, 2 = always)
detectedMines = 2; // Detected mines (0 = never, 1 = limited distance, 2 = always)
commands = 2; // Commands (0 = never, 1 = fade out, 2 = always)
waypoints = 2; // Waypoints (0 = never, 1 = fade out, 2 = always)
tacticalPing = 3; // Tactical Ping (0 = disabled, 1 = in 3D scene, 2 = on map, 3 = both)
// Personal awareness
weaponInfo = 2; // Weapon info (0 = never, 1 = fade out, 2 = always)
stanceIndicator = 2; // Stance indicator (0 = never, 1 = fade out, 2 = always)
staminaBar = 1; // Stamina bar (0 = disabled, 1 = enabled)
weaponCrosshair = 1; // Weapon crosshair (0 = disabled, 1 = enabled)
visionAid = 1; // Vision aid (0 = disabled, 1 = enabled)
// View
thirdPersonView = 1; // 3rd person view (0 = disabled, 1 = enabled, 2 = enabled for vehicles only (Since Arma 3 v1.99))
cameraShake = 1; // Camera shake (0 = disabled, 1 = enabled)
// Multiplayer
scoreTable = 1; // Score table (0 = disabled, 1 = enabled)
deathMessages = 1; // Killed by (0 = disabled, 1 = enabled)
vonID = 1; // VON ID (0 = disabled, 1 = enabled)
// Misc
mapContent = 1; // Extended map content (0 = disabled, 1 = enabled)
autoReport = 1; // Automatic reporting (0 = disabled, 1 = enabled)
multipleSaves = 1; // Multiple saves (0 = disabled, 1 = enabled)
};
};
class Regular
{
displayName = "$STR_Difficulty1"; // Name of the difficulty preset.
optionDescription = ""; // Description
optionPicture = "\A3\Ui_f\data\Logos\arma3_white_ca.paa"; // Picture
levelAI = "AILevelMedium"; // Level of AI skill
class Options
{
// Simulation
reducedDamage = 0; // Reduced damage (0 = disabled, 1 = enabled)
// Situational awareness
groupIndicators = 1; // Group indicators (0 = never, 1 = limited distance, 2 = always)
friendlyTags = 1; // Friendly name tags (0 = never, 1 = limited distance, 2 = always)
enemyTags = 0; // Enemy name tags (0 = never, 1 = limited distance, 2 = always)
detectedMines = 1; // Detected mines (0 = never, 1 = limited distance, 2 = always)
commands = 1; // Commands (0 = never, 1 = fade out, 2 = always)
waypoints = 2; // Waypoints (0 = never, 1 = fade out, 2 = always)
tacticalPing = 3; // Tactical Ping (0 = disabled, 1 = in 3D scene, 2 = on map, 3 = both)
// Personal awareness
weaponInfo = 2; // Weapon info (0 = never, 1 = fade out, 2 = always)
stanceIndicator = 2; // Stance indicator (0 = never, 1 = fade out, 2 = always)
staminaBar = 1; // Stamina bar (0 = disabled, 1 = enabled)
weaponCrosshair = 1; // Weapon crosshair (0 = disabled, 1 = enabled)
visionAid = 0; // Vision aid (0 = disabled, 1 = enabled)
// View
thirdPersonView = 1; // 3rd person view (0 = disabled, 1 = enabled, 2 = enabled for vehicles only (Since Arma 3 v1.99))
cameraShake = 1; // Camera shake (0 = disabled, 1 = enabled)
// Multiplayer
scoreTable = 1; // Score table (0 = disabled, 1 = enabled)
deathMessages = 1; // Killed by (0 = disabled, 1 = enabled)
vonID = 1; // VON ID (0 = disabled, 1 = enabled)
// Misc
// mapContent = 1; // Extended map content (0 = disabled, 1 = enabled) // before Arma 3 v1.68
mapContentFriendly = 1; // Map friendlies (0 = disabled, 1 = enabled) // since Arma 3 v1.68
mapContentEnemy = 1; // Map Enemies (0 = disabled, 1 = enabled) // since Arma 3 v1.68
mapContentMines = 1; // Map Mines (0 = disabled, 1 = enabled) // since Arma 3 v1.68
autoReport = 1; // Automatic reporting (0 = disabled, 1 = enabled)
multipleSaves = 1; // Multiple saves (0 = disabled, 1 = enabled)
};
};
class Veteran
{
displayName = "$STR_Difficulty2"; // Name of the difficulty preset.
optionDescription = ""; // Description
optionPicture = "\A3\Ui_f\data\Logos\arma3_white_ca.paa"; // Picture
levelAI = "AILevelHigh"; // Level of AI skill
class Options
{
// Simulation
reducedDamage = 0; // Reduced damage (0 = disabled, 1 = enabled)
// Situational awareness
groupIndicators = 0; // Group indicators (0 = never, 1 = limited distance, 2 = always)
friendlyTags = 0; // Friendly name tags (0 = never, 1 = limited distance, 2 = always)
enemyTags = 0; // Enemy name tags (0 = never, 1 = limited distance, 2 = always)
detectedMines = 0; // Detected mines (0 = never, 1 = limited distance, 2 = always)
commands = 1; // Commands (0 = never, 1 = fade out, 2 = always)
waypoints = 1; // Waypoints (0 = never, 1 = fade out, 2 = always)
tacticalPing = 0; // Tactical Ping (0 = disabled, 1 = in 3D scene, 2 = on map, 3 = both)
// Personal awareness
weaponInfo = 1; // Weapon info (0 = never, 1 = fade out, 2 = always)
stanceIndicator = 1; // Stance indicator (0 = never, 1 = fade out, 2 = always)
staminaBar = 0; // Stamina bar (0 = disabled, 1 = enabled)
weaponCrosshair = 0; // Weapon crosshair (0 = disabled, 1 = enabled)
visionAid = 0; // Vision aid (0 = disabled, 1 = enabled)
// View
thirdPersonView = 0; // 3rd person view (0 = disabled, 1 = enabled, 2 = enabled for vehicles only (Since Arma 3 v1.99))
cameraShake = 1; // Camera shake (0 = disabled, 1 = enabled)
// Multiplayer
scoreTable = 1; // Score table (0 = disabled, 1 = enabled)
deathMessages = 1; // Killed by (0 = disabled, 1 = enabled)
vonID = 1; // VON ID (0 = disabled, 1 = enabled)
// Misc
mapContent = 0; // Extended map content (0 = disabled, 1 = enabled) // before Arma 3 v1.68
mapContentFriendly = 0; // Map friendlies (0 = disabled, 1 = enabled) // since Arma 3 v1.68
mapContentEnemy = 0; // Map Enemies (0 = disabled, 1 = enabled) // since Arma 3 v1.68
mapContentMines = 0; // Map Mines (0 = disabled, 1 = enabled) // since Arma 3 v1.68
autoReport = 0; // Automatic reporting (0 = disabled, 1 = enabled)
multipleSaves = 0; // Multiple saves (0 = disabled, 1 = enabled)
};
};
class Custom
{
displayName = "$STR_Difficulty_Custom"; // Name of the difficulty preset.
optionDescription = ""; // Description
optionPicture = "\A3\Ui_f\data\Logos\arma3_white_ca.paa"; // Picture
levelAI = "AILevelMedium"; // Level of AI skill
// All options of the Custom preset are set by the engine. The values in config
class Options
{
// Simulation
reducedDamage = 0; // Reduced damage (0 = disabled, 1 = enabled)
// Situational awareness
groupIndicators = 0; // Group indicators (0 = never, 1 = limited distance, 2 = always)
friendlyTags = 0; // Friendly name tags (0 = never, 1 = limited distance, 2 = always)
enemyTags = 0; // Enemy name tags (0 = never, 1 = limited distance, 2 = always)
detectedMines = 0; // Detected mines (0 = never, 1 = limited distance, 2 = always)
commands = 0; // Commands (0 = never, 1 = fade out, 2 = always)
waypoints = 0; // Waypoints (0 = never, 1 = fade out, 2 = always)
tacticalPing = 0; // Tactical Ping (0 = disabled, 1 = in 3D scene, 2 = on map, 3 = both)
// Personal awareness
weaponInfo = 1; // Weapon info (0 = never, 1 = fade out, 2 = always)
stanceIndicator = 0; // Stance indicator (0 = never, 1 = fade out, 2 = always)
staminaBar = 0; // Stamina bar (0 = disabled, 1 = enabled)
weaponCrosshair = 0; // Weapon crosshair (0 = disabled, 1 = enabled)
visionAid = 0; // Vision aid (0 = disabled, 1 = enabled)
// View
thirdPersonView = 0; // 3rd person view (0 = disabled, 1 = enabled, 2 = enabled for vehicles only (Since Arma 3 v1.99))
cameraShake = 0; // Camera shake (0 = disabled, 1 = enabled)
// Multiplayer
scoreTable = 0; // Score table (0 = disabled, 1 = enabled)
deathMessages = 0; // Killed by (0 = disabled, 1 = enabled)
vonID = 0; // VON ID (0 = disabled, 1 = enabled)
// Misc
mapContent = 0; // Extended map content (0 = disabled, 1 = enabled) // before Arma 3 v1.68
mapContentFriendly = 0; // Map friendlies (0 = disabled, 1 = enabled) // since Arma 3 v1.68
mapContentEnemy = 0; // Map Enemies (0 = disabled, 1 = enabled) // since Arma 3 v1.68
mapContentMines = 0; // Map Mines (0 = disabled, 1 = enabled) // since Arma 3 v1.68
autoReport = 0; // Automatic reporting (0 = disabled, 1 = enabled)
multipleSaves = 0; // Multiple saves (0 = disabled, 1 = enabled)
};
};
};
Difficulty Overhaul
Phase 1
- Class CfgDifficulties will be left in config for backwards compatibility. Game will use the CfgDifficultyPresets class from now on. Because of this and change of particular flags, it is recommended for both client and server to use the new exe, so the difficulty in MP works flawlessly (if the versions won't match, MP will work, but certain flags may not be enforced on clients).
- Transform difficulty levels to presets (i. e. unlike the current state, each preset will have exactly defined values, if they don't match, preset will be changed to Custom).
- Reduce number of presets to three plus Custom to simplify choosing of difficulty. Recruit and Regular will be mostly identical to what they were, Veteran will use the values of former Elite.
- Vision Aid flag will be added. It shows "bubbles" which help to spot units. Before it was available only in config and enabled on Recruit difficulty.
- Unlimited Saves flag will be set to Enabled on Regular difficulty.
- VON ID will be set to Enabled on all difficulties, since by default we want to know who's speaking.
- Clock Indicator flag will be removed. Clock Indicator was switched off long time ago, only the flag remained in code.
- Game Options button and difficulty indicator in MP Create Game dialogue. The button will allow users to set difficulty flags without shutting down the server.
Phase 2
- Difficulty options will be divided to groups and some of them renamed for better comprehensibility.
- Extended HUD Info will be split to:
- Weapon Info (weapon, magazine and round count in the top right corner of the screen).
- Commands (command and informational icons displayed in the 3D space - heal, get in, injured in etc.).
- Instead of separate options for displaying UI elements permanently, ComboBoxes with multiple values (Show, Hide, Fade out or Limited distance) will be introduced. Work on them is currently in progress and will be finished in Phase 3.
- Indicator of required position in formation will become part of Group Indicators.
- AI sliders will be visible on all of the AI Level presets.
- UI helpers in the 3D space that fade out (commands, waypoints) will be able to be brought back by the J key, the same way as the new tasks do.
- Auto Guide AT will be removed, since it has no impact on ammunition guidance. Moreover it influences target marker (square) and lock indicator (diamond) of various weapons, which should be part of the weapon itself not difficulty. From now on, the target marker and lock indicator will be dependent purely on canLock parameter of the weapon in a following way:
- canLock == 0 - indicator is hidden
- canLock == 1 - indicator is hidden (left only for backwards compatibility)
- canLock == 2 - indicator is shown
- Parameters in class Flags in CfgDifficultyPresets will be changed (names, their count, some of them will have int value instead of bool) according to the needs of the new system. Class Flags will be renamed to class Options to reflect the new state.
- Script command difficultyEnabled connected to the former difficulty system will become obsolete and will always return false.
- New script command difficultyOption will be added instead.
Phase 3
- Added explanatory images and descriptions of the difficulty options.
- Added Hide option to Weapon Info.
- Added Limited distance option to Friendly and Enemy Name Tags, Detected Mines and Group Indicators.
- Added new server config parameter forcedDifficulty. More details could be found in this post.
- Tweaked UI in MP Create Game display to indicate more clearly which difficulty is selected, including indication of the forced difficulty.
- Fixed unintentional disabling of the Difficulty tab in Game Options display when mission is not running.