CfgBrains Config Reference – Arma 3

From Bohemia Interactive Community
Jump to navigation Jump to search
m (category)
m (Text replacement - "syntaxhighlight lang="c"" to "syntaxhighlight lang="cpp"")
 
(One intermediate revision by the same user not shown)
Line 3: Line 3:
CfgBrains allows to tweak some global AI behavior. Exposed and working are countermeasure reaction, suppression reaction and targeting capabilities.
CfgBrains allows to tweak some global AI behavior. Exposed and working are countermeasure reaction, suppression reaction and targeting capabilities.


{{Cfg ref|start}}
{{ConfigPage|start}}


== Default exposed setup ==
== Default exposed setup ==


<syntaxhighlight lang="c">
<syntaxhighlight lang="cpp">
class CfgBrains
class CfgBrains
{
{
Line 49: Line 49:
== Available parameters ==
== Available parameters ==


<syntaxhighlight lang="c">
<syntaxhighlight lang="cpp">
class AIBrainCountermeasuresComponent
class AIBrainCountermeasuresComponent
{
{
Line 93: Line 93:
</syntaxhighlight>
</syntaxhighlight>


{{Cfg ref|end}}
{{ConfigPage|end}}


{{GameCategory|arma3|Reference Lists}}
{{GameCategory|arma3|Reference Lists}}
[[Category:AI|CfgBrains]]
[[Category:AI|CfgBrains]]

Latest revision as of 15:31, 11 February 2024

Introduction

CfgBrains allows to tweak some global AI behavior. Exposed and working are countermeasure reaction, suppression reaction and targeting capabilities.

Default exposed setup

class CfgBrains
{
	class DefaultSoldierBrain
	{
		class Components
		{
			class AIBrainAimingErrorComponent
			{
			};
			class AIBrainCountermeasuresComponent
			{
				minReactionTime = 0.1;
				maxReactionTime = 3;
				randomReactionTimePercent = 0.3;
				CMOnTargettedProbability = 0.5;
			};
			class AIBrainSuppressionComponent
			{
			};
			class AIBrainTargetSelectorComponent // seems not implemented in 1.82
			{
			};
		};
	};
	class DefaultCivilianBrain
	{
		class Components
		{
		};
	};
	class DefaultAnimalBrain
	{
		class Components
		{
		};
	};
};

Available parameters

class AIBrainCountermeasuresComponent
{
	useSmokeGrenadeDelay = 20;
	CMCheckDelay = 0.8;
	suppressionThreshold = 0.8;
	nonLeaderSmokeProbability = 0.1;
	CMOnTargettedProbability =0.1;
	suppressionTimerMax = 2;
	minimalThrowDistance = 900;
	minReactionTime = 0.1;
	maxReactionTime = 3;
	randomReactionTimePercent = 0.2;
};
class AIBrainSuppressionComponent
{
	maxSuppression = 1;
	worstDecreaseTime = 10;// in seconds for 0 skill
	bestDecreaseTime = 1;// in seconds for 1 skill
	SuppressionRange = 20;
	CauseFireWeight = 0.5;
	CauseHitWeight = 0.5;
	CauseExplosionWeight = 0.5;
	CauseBulletCloseWeight = 0.5;
	SuppressionThreshold = 0.7;
};
class AIBrainAimingErrorComponent
{
	maxAngularError = 0.1309;// half of the error cone in radians
	maxAngularErrorTurrets = 0.0872;// half of the error cone in radians, used for turrets
	worstDecreaseTime = 2;// how long (in seconds) it should take 0 skilled soldier to stabilize the aim completely
	bestDecreaseTime = 0.2;// how long (in seconds) it should take 1 skilled soldier to stabilize the aim completely
	lostTargetTimeMin = 0.5;// how soon after loosing sight of target, error starts to raise
	lostTargetTimeMax = 3;// how long error is raising after loosing sight of target
	shootingInfluence = 0.4;// importance of shooting in algorithm, multiplier
	movingInfluence = 1;// importance of moving in algorithm, multiplier
	turningInfluence = 1;// importance of turning in algorithm, multiplier
	damageCoef = 10;// importance of damage of entity, multiplier
	fatigueCoef = 10;// importance of fatigue of entity, multiplier
	suppressionCoef = 0.5;// importance of suppression value, multiplier
	lostTargetCoef = 3;// importance of loosing target event, multiplier
};