DC1 AI¶
← EXE Functions · code catalog
Friendly names for EXE category 18. Each maps to a top-level EXE code.
AIConservative¶
AIConservative(regimeNr: int, convervative100: int) · exe 45
No in-game description provided; behaviour inferred from the function name.
Parameters
regimeNr(int) — Regime Nrconvervative100(int) — Convervative.. 100% = normal >100% more defensive. <100 more aggressive
Example: exe(45,4,50)
SetHistoricUnitMove¶
SetHistoricUnitMove(historicHq: int, defendDefinedArea: int, attackDefinedArea: int, stance: bool) · exe 83
No in-game description provided; behaviour inferred from the function name.
Parameters
historicHq(int) — Historic HQ #defendDefinedArea(int) — Defend Defined Area #attackDefinedArea(int) — Attack Defined Area #stance(bool) — Stance (1=def,2=norm,3=att)
Example: exe(83,1,1,1,1)
ChangeAIPower¶
ChangeAIPower(regime: int, x: int, y: int, powerPoints: int) · exe 84
If positive power points given it is meant to help influence the behaviour of the AI. This way you can set reinforcements to a certain regime in the area that hex x,y is in. But you can also use this function to set negative powerpoints versus a regime to simulate immediate pressure and force the AI to keep a certain reserve in the area.
Parameters
regime(int) — Regimex(int) — Xy(int) — YpowerPoints(int) — Power Points
Example: exe(84,4,12,8,10)
ChangeAIDefensive¶
ChangeAIDefensive(regime: int, x: int, y: int, defensiveBonus: int) · exe 129
0 is a percentual defensive bonus for defending this area for this regime. NEW AI ONLY
Parameters
regime(int) — Regimex(int) — Xy(int) — YdefensiveBonus(int) — Defensive Bonus %
Example: exe(129,4,12,8,50)
AIStance¶
AIStance(regime: int, stance: int) · exe 155
If 0 the regime with most powerpoints is considered the attacker. If 3 too, but if 3 then this regime also gets the meeting flag.
Parameters
regime(int) — Regimestance(int) — Stance (0=no overrule, 1=att, 2=def, 3=meeting)
Example: exe(155,4,1)
RewardPowerOn¶
RewardPowerOn(x: int, y: int, powerAbove: int, multi: int) · exe 175
If AI can get more then power above on X,Y coordinate. all pts above this treshold will be multiplied by multi and added to score. This gives AI incentive to get a certain build up here. so it must be able to hold it to get it.. This is only used in Init AI so if you use uberregime only the uberregime needs this setting. This setting is wiped clean after every AI has played. You thus need to set this in early turn event.
Parameters
x(int) — Xy(int) — YpowerAbove(int) — Power Abovemulti(int) — Multi
Example: exe(175,12,8,1,1)
SetHistoricUnitToGroup¶
SetHistoricUnitToGroup(historicHq: int, toGroupWithHq: int) · exe 182
This should be called in an 'AI Init Check' since it re-orders strategic groups (after makegroups) and before going into strategic analysis (findbeststrategy).
Parameters
historicHq(int) — Historic HQ/Unit/Div #toGroupWithHq(int) — To Group with HQ/Unit/Div# in it
Example: exe(182,1,1)
AICombatMoveMod¶
AICombatMoveMod(regime: int, combatBonus: int, movementBonus: int) · exe 190
Combat bonus can be everything between 0-999%, movement bonus between 0-100%. If you set -1 for combat or move the bonus is not changed.
Parameters
regime(int) — Regime #combatBonus(int) — Combat BonusmovementBonus(int) — Movement Bonus
Example: exe(190,4,1,1)
AIChangeRoleScore¶
AIChangeRoleScore(sftype: int, aiRole: int, newScore: int) · exe 191
Allows you to change AI role scores ingame so to influence AI production
Parameters
sftype(int) — SFType #aiRole(int) — AI Role # (0-49)newScore(int) — New score
Example: exe(191,1,1,1)
AIProductionResourceComplient¶
AIProductionResourceComplient() · exe 193
Will call the AI function that makes sure that production is research complient. If rulevar(875) is active this is called by AI after setting production. However if you script the production with events you might want to call this function add the end of that scripting in some scenarios or give the AI unlimited resources instead.
Example: exe(193)
AISetTacticalScript¶
AISetTacticalScript(historicalUnitId: int, hexTargetX: int, hexTargetY: int, attackTowards: int) · exe 214
No in-game description provided; behaviour inferred from the function name.
Parameters
historicalUnitId(int) — Historical Unit ID#hexTargetX(int) — Hex Target XhexTargetY(int) — Hex Target YattackTowards(int) — Attack Towards (1-6) -1=no attack
Example: exe(214,1,1,1,1)
This doc was generated from extracting data from Shadow Empire version 1.32a on 2026-06-05 06:56 UTC.