Skip to content

Hex & Areaslots

← EXE Functions · code catalog

Friendly names for EXE category 4. Each maps to a top-level EXE code.


JoinArea

JoinArea(areaslot: int, areacode: int, toRegime: int, unitsFleeTooAreacode: int)  ·  exe 14

All units not allied with the new owner will be either flee or be destroyed or removed or keep hex.

Parameters

  • areaslot (int) — Areaslot# (0-9)
  • areacode (int) — Areacode
  • toRegime (int) — To Regime#
  • unitsFleeTooAreacode (int) — Units flee too areacode (-1=destr,-2=keephex)

Example: exe(14,1,1,4,1)


DoStructuralDamage

DoStructuralDamage(x: int, y: int, damagePts: int)  ·  exe 17

If you give negative ammount of points it is handled as a repair

Parameters

  • x (int) — x
  • y (int) — y
  • damagePts (int) — damage pts

Example: exe(17,12,8,10)


SetLandscape

SetLandscape(x: int, y: int, newLt: int)  ·  exe 18

No in-game description provided; behaviour inferred from the function name.

Parameters

  • x (int) — X
  • y (int) — Y
  • newLt (int) — New LT#

Example: exe(18,12,8,1)


SetSprite

SetSprite(x: int, y: int, newSprite: int)  ·  exe 19

No in-game description provided; behaviour inferred from the function name.

Parameters

  • x (int) — X
  • y (int) — Y
  • newSprite (int) — New Sprite#

Example: exe(19,12,8,1)


SetSlot

SetSlot(x: int, y: int, areaslot: int, areacode: int)  ·  exe 20

No in-game description provided; behaviour inferred from the function name.

Parameters

  • x (int) — X
  • y (int) — Y
  • areaslot (int) — AreaSlot
  • areacode (int) — AreaCode

Example: exe(20,12,8,1,1)


ChangeRiver

ChangeRiver(x: int, y: int, fromRiver: int, tooRiver: int)  ·  exe 25

No in-game description provided; behaviour inferred from the function name.

Parameters

  • x (int) — X
  • y (int) — Y
  • fromRiver (int) — From River #
  • tooRiver (int) — Too River #

Example: exe(25,12,8,1,1)


ChangeRoad

ChangeRoad(x: int, y: int, fromRoad: int, tooRoad: int)  ·  exe 26

No in-game description provided; behaviour inferred from the function name.

Parameters

  • x (int) — X
  • y (int) — Y
  • fromRoad (int) — From Road #
  • tooRoad (int) — Too Road #

Example: exe(26,12,8,1,1)


ChangeBridge

ChangeBridge(x: int, y: int, direction: int, arg1: bool)  ·  exe 27

No in-game description provided; behaviour inferred from the function name.

Parameters

  • x (int) — X
  • y (int) — Y
  • direction (int) — Direction = 0(North),1,2,3,4,5(NorthWest)
  • arg1 (bool) — -1=no bridge, >=0 = bridge

Example: exe(27,12,8,1,1)


ChangeLocationType

ChangeLocationType(x: int, y: int, loctype: int, people: int, text: string)  ·  exe 29

No in-game description provided; behaviour inferred from the function name.

Parameters

  • x (int) — X
  • y (int) — Y
  • loctype (int) — Loctype (-1=remove any location)
  • people (int) — People #
  • text (string) — Text / DataString payload

The trailing text argument is sent as the SET-logic DataString (the final inline slot).

Example: exe(29,12,8,1,2,'Example Text')


GiveSupply

GiveSupply(x: int, y: int, supplyPointsToTheTopHqOfTheClosestHqToX: int, overruleRecipientRegimeWithRegime: int, text: string)  ·  exe 30

Overule recipient is inactive if put to 0. If no overrule the supplies are given to closest unit owned by regime that owns hex. But >0 is overrule 1=reg 0, 2=reg1 !!!! This +1 shift is inhere to keep backwards compatible with AdvTactics scenarios. String is for the name of the supply source (all same name or none will be same off-map supply source)

Parameters

  • x (int) — X
  • y (int) — Y
  • supplyPointsToTheTopHqOfTheClosestHqToX (int) — Supply Points to the top hq of the closest hq to x,y
  • overruleRecipientRegimeWithRegime (int) — Overrule recipient regime with regime #
  • text (string) — Text / DataString payload

The trailing text argument is sent as the SET-logic DataString (the final inline slot).

Example: exe(30,12,8,10,4,'Example Text')


ChangePeople

ChangePeople(x: int, y: int, changesThePeopleAtLocationX: int)  ·  exe 32

No in-game description provided; behaviour inferred from the function name.

Parameters

  • x (int) — X
  • y (int) — Y
  • changesThePeopleAtLocationX (int) — Changes the people at location x,y

Example: exe(32,12,8,2)


ChangeVP

ChangeVP(x: int, y: int, newVpAmount0: int)  ·  exe 43

No in-game description provided; behaviour inferred from the function name.

Parameters

  • x (int) — X
  • y (int) — Y
  • newVpAmount0 (int) — new VP amount. 0(none) - 999

Example: exe(43,12,8,1)


SetLabelold

SetLabelold(x: int, y: int, type: int, slot: int, text: string)  ·  exe 60

If there is a value > 0 in tempvar999 it is ammended to the end of the string.

Parameters

  • x (int) — X (tempvar999>0 overwrites datastring)
  • y (int) — Y
  • type (int) — Type (0-10)
  • slot (int) — Slot (1-2)
  • text (string) — Text / DataString payload

The trailing text argument is sent as the SET-logic DataString (the final inline slot).

Example: exe(60,12,8,1,1,'Example Text')


AreaSpreadOut

AreaSpreadOut(areaslot: int, divideby: int)  ·  exe 72

No in-game description provided; behaviour inferred from the function name.

Parameters

  • areaslot (int) — AreaSlot #
  • divideby (int) — Divideby

Example: exe(72,1,1)


AddAntiSupply

AddAntiSupply(x: int, y: int, regime: int, points: int)  ·  exe 152

Must be used in early turn check in order to be used after regular setting of AS and before Supply system...

Parameters

  • x (int) — X
  • y (int) — Y
  • regime (int) — Regime
  • points (int) — Points

Example: exe(152,12,8,4,10)


SetSpecial

SetSpecial(specialtype: int, specialsprite: int, x: int, y: int)  ·  exe 157

Either Type is a LanscapeType slot with corresponding Sprite or it is -1 and a smallgfx slot will be used.

Parameters

  • specialtype (int) — SpecialType
  • specialsprite (int) — SpecialSprite
  • x (int) — X
  • y (int) — Y

Example: exe(157,1,1,12,8)


SetHexOwner

SetHexOwner(x: int, y: int, owner: int)  ·  exe 174

No in-game description provided; behaviour inferred from the function name.

Parameters

  • x (int) — X
  • y (int) — Y
  • owner (int) — Owner #

Example: exe(174,12,8,1)


SetLabel

SetLabel(x: int, y: int, type: int, string: string)  ·  exe 197

Slot 1 is always used. Auto complete is used and name can stretch several hexes.

Parameters

  • x (int) — X
  • y (int) — Y
  • type (int) — Type (0-10)
  • string (string) — String

Example: exe(197,12,8,1,'Text')


ClearAllLabels

ClearAllLabels()  ·  exe 198

No in-game description provided; behaviour inferred from the function name.

Example: exe(198)


ClearSpecialTypesOnMap

ClearSpecialTypesOnMap(whichSpecialType: int, whichSprite: int)  ·  exe 247

Remember that special types are just landscape types under another name.

Parameters

  • whichSpecialType (int) — Which special type # (-1=all)
  • whichSprite (int) — Which sprite # (-1=all)

Example: exe(247,1,1)


SetSmallLabel

SetSmallLabel(x: int, y: int, text: string)  ·  exe 250

Set to empty string to reset a label to nothing. Max 9 letters will be displayed in 64x48 hex mode. but label texts can be bigger, they will just not be fully shown.

Parameters

  • x (int) — X
  • y (int) — Y
  • text (string) — Text

Example: exe(250,12,8,'Text')


GiveSupplyImmediateDisperse

GiveSupplyImmediateDisperse(x: int, y: int, supplyPointsToBeSharedByAllUnits: int, apModifier100: int)  ·  exe 258

This exec acts basically like an airdrop from ATG would work. All units in range, modified for distance immediately receive supplies. Stats are updated. It uses rulevar 99 for movement type. ap range is rulevar 3. penalties used from rulevar 51,52,53. You should call this in a late turn event.

Parameters

  • x (int) — X
  • y (int) — Y
  • supplyPointsToBeSharedByAllUnits (int) — Supply Points to be shared by all units
  • apModifier100 (int) — AP modifier %. 100=normal. 50=only half range. 200=double range.

Example: exe(258,12,8,200,50)


ChangeLocationHQ

ChangeLocationHQ(locationSlot: int, hqUnitSlot: int)  ·  exe 306

No in-game description provided; behaviour inferred from the function name.

Parameters

  • locationSlot (int) — Location Slot#
  • hqUnitSlot (int) — HQ Unit Slot#

Example: exe(306,1,1)


LocStats

LocStats(loc: int, stat: int, mode0: bool, value: int)  ·  exe 351

Stats: 1=supply points, 2=fuel points, 3=mode var, 4=fixed var

Parameters

  • loc (int) — Loc#
  • stat (int) — Stat #
  • mode0 (bool) — Mode 0/1=%, 2=absolute new value
  • value (int) — Value

Example: exe(351,1,1,1,1)


ChangeUnitStats

ChangeUnitStats(unit: int, stat: int, value: int)  ·  exe 353

Stat # 1=Readiness, 2=Entrenchment, 3=Morale, 4=Experience

Parameters

  • unit (int) — Unit #
  • stat (int) — Stat #
  • value (int) — Value

Example: exe(353,1,1,1)


ChangeLocationType2

ChangeLocationType2(x: int, y: int, loctype: int, people: int, text: string)  ·  exe 354

Only use this for Supply Base/Source location types.

Parameters

  • x (int) — X
  • y (int) — Y
  • loctype (int) — Loctype (-1=remove any location)
  • people (int) — People #
  • text (string) — Text / DataString payload

The trailing text argument is sent as the SET-logic DataString (the final inline slot).

Example: exe(354,12,8,1,2,'Example Text')


GiveFuel

GiveFuel(x: int, y: int, fuelPointsOnX: int, overruleRecipientRegimeWithRegime: int)  ·  exe 355

Only works for Supply Sources active (471). Overule recipient is inactive if put to 0. If no overrule the supplies are given to closest unit owned by regime that owns hex. But >0 is overrule 1=reg 0, 2=reg1 !!!! This +1 shift is inhere to keep backwards compatible with AdvTactics scenarios.

Parameters

  • x (int) — X
  • y (int) — Y
  • fuelPointsOnX (int) — Fuel Points on x,y
  • overruleRecipientRegimeWithRegime (int) — Overrule recipient regime with regime #

Example: exe(355,12,8,10,4)


This doc was generated from extracting data from Shadow Empire version 1.32a on 2026-06-05 06:56 UTC.