Skip to content

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 Nr
  • convervative100 (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) — Regime
  • x (int) — X
  • y (int) — Y
  • powerPoints (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) — Regime
  • x (int) — X
  • y (int) — Y
  • defensiveBonus (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) — Regime
  • stance (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) — X
  • y (int) — Y
  • powerAbove (int) — Power Above
  • multi (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 Bonus
  • movementBonus (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 X
  • hexTargetY (int) — Hex Target Y
  • attackTowards (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.