EXE Functions¶
Game version: 1.32a
Human-readable names for the game's EXE functions — the exe(code, …) calls that do something (mutate
game state) in SET logic. Each maps to a raw EXE code; the full sortable catalog is below.
Each function is shown in two forms:
- S&S Editor / CSV — the raw
exe(code, …)you author directly in the S&S Editor or in a table CSV cell. This is how most top-level functions are used (an event's SET-logic command row whose type is the EXE code), and how theexe(346, …)gateway appears inline in logic strings. - ModBuildTool (coming soon) — the friendly, sigil-free name (e.g. AddHexPerk, GiveTech) that the forthcoming mod build tool will accept and compile to the raw form for you.
⭐ Gateway functions (most used)¶
- Hardcoded Set —
exe(346, …)— 60+ friendly sub-functions (AddHexPerk, GiveTech, DeclareWar, KillTroopsInZone, …).
What is an EXE function?¶
Shadow Empire's event/story/logic engine has two families of callable functions used inside logic
strings (the result_set, immediate_logic, SET-logic columns, etc.):
| Inline form | Dispatcher | Returns | Purpose |
|---|---|---|---|
exe(code, b, c, d, e) |
EventRelatedClass.DoExec(enr, t1=code, …) |
nothing (side effect) | SET — do something (mutate game state) |
chk(code, b, c, d, e) (alias che) |
EventRelatedClass.DoCheck(t1=code, …) |
a value | IF/GET — read/compute something |
The first argument (code / t1) selects the function. So exe(112, 5, 1) runs EXE code 112
(SetGameVar) with arguments (5, 1). The same code is also the row "type" used directly in an
event's SET-logic command rows (ExecuteExec reads commandClass.Data[0,1] as the code, then calls
DoExec).
Each EXE code carries metadata in DataClass:
ExecTypeNames[code]— internal/display name (e.g.ExecSetGameVar).ExecTypeVarCount[code]— how many numeric arguments it consumes.ExecTypeVarName[code, n]— the label of argument n (these are the column headers below).ExecTypeString[code]— non-zero ⇒ the function also takes a text/DataString payload (the trailing string argument, sometimes used for names, filenames, UDS text, etc.).ExecCategory[code]— grouping (see the category headers in §4); names fromExecCategoryName[].ExecDesc[code]— free-text notes (shown verbatim in the Notes column when present).
Codes range 1–362; ~348 are defined, the rest are gaps/obsolete. Argument slots b,c,d are
numeric; e is the DataString (numeric value or text depending on the function).
⚠️ Many functions are flagged EXPERT USE ONLY in their own description (regime add/remove, reorder, PBEM player switch, …) — these mutate structural data and are meant for editor/startup only, not live turns. The Notes column preserves those warnings.
The exe(346, …) gateway — ExecHardcodedSet¶
EXE code 346 (ExecHardcodedSet, category 22 "Hardcoded") is the workhorse used in almost all
shipped stories/perks. It is a second-level dispatcher: its first argument selects a sub-function.
exe(346, fn, dat2, dat3, dat4 [, <DataString>=dat5])
│ │ └────┬────┘
│ │ └─ sub-function arguments (meaning varies per fn)
│ └─ sub-function number (the table below)
└─ EXE code 346 = "run a hardcoded set"
This is why shipped logic looks like exe(346,24,ZONEID,$1$) (add hex perk to a zone). The sub-function
table is not the same numbering as the top-level EXE catalog in §4 — it is internal to
ExecHardcodedSet.
exe(346,fn,…) sub-function table¶
Verified against ExecHardcodedSet (EventRelatedClass.cs ~205336–206570). dat2/dat3/dat4 are the
2nd/3rd/4th args of the exe(346,…) call; dat5 is the DataString.
| fn | What it does | dat2 | dat3 | dat4 | Impl. |
|---|---|---|---|---|---|
| 1 | Recruit / roll a character into your service | Career ID (+1000=male bias, +2000=female bias) | capacity | (age slot) | Helper_RollCharacter |
| 2 | Declare war | Regime slot | Target regime slot | — | Helper_DeclareWar |
| 3 | Change Worker Happiness for all zones owned by a regime | Regime ID (Zones col 8) | ± points | — | clamp 0–100 |
| 4 | Change Population Happiness for all zones of a regime | Regime ID | ± points | — | clamp 0–100 |
| 5 | Modify morale of a regime's units | Regime ID | ± points | People filter (HisVar 11; 0=all) | ExecUnitMorModifier |
| 6 | Modify XP of a regime's units | Regime ID | ± points | — | ExecUnitXpModifier2 |
| 7 | Kill/remove troops in a zone (by unit power, weakest spared) | Zone ID | Regime ID | # individuals | power-sorted removal |
| 8 | Add rebel unit(s) spread over a zone's hexes | Zone ID | Rebel regime | mode (1 or 6) | matrix spread |
| 9 / 36 | Modify unit morale percentually for a regime's units | Regime ID | inv% | People filter (36 also gates HisVar 11) | ExecUnitMorModifierPercentual |
| 10 | Add a unit | Regime ID | Culture ID | Unitcode ID | Helper_PlaceUnit |
| 11 | Add/remove an item in a zone's city location | Zone ID | Item Type ID | qty (+/-) | Loc items list |
| 12 | Change a trader's credits | Trader-zone ID | % change (+/-) | flat qty change (+/-) | SE_Trade tables |
| 13 | Switch a unit to rebels | Unit slot | Regime ID | allow start battle (0/1) | Helper_ChangeUnitToRebels |
| 14 | Start all battles between two regimes | Regime ID | With regime ID | — | Helper_StartBattles |
| 15 | Add a rebel unit at a location | Zone/loc ref | Rebel regime | Unitcode | Helper_PlaceUnit |
| 16 | Asset info change | Asset ID | Info type (1=mining ease) | New value | ExecHardcoded_SetAssetInfo |
| 17 | Asset increase level | Zone ID | Asset Family ID | — | ExecHardcoded_AssetIncreaseLevel |
| 18 | Add asset | Zone ID | Asset Type ID | — | ExecHardcoded_addAsset |
| 19 | Give tech (set level) | Regime ID | Tech Type ID | — | ExecHardcoded_giveTech |
| 20 | Give character feat | Char ID | Char Feat ID | — | ExecHardcoded_GiveFeat |
| 21 | Remove spies of a regime from a regime's zones | Spying regime ID | Zone-owner regime ID | # to lose | random by spy count |
| 22 | Make peace | Regime slot | Other regime slot | — | Helper_MakePeace |
| 23 | Give PP (RegimeObj.ResPts) | Regime ID | PP points (+/-) | — | clamped ≥0 |
| 24 | Add a hex perk to a random eligible hex of a zone | Zone ID | Perk ID | — | also names/sprites the hex |
| 25 | Add/modify unit feat | His-unit ID | Unit Feat ID | qty (+/-) | HisVar 100+feat |
| 26 | Unit XP modifier (by His ID) | His-unit ID | ± points | — | ExecUnitXpModifier2 |
| 27 | Give random artifact stratagem(s) | Regime ID | Rarity tier (0=any,1..4) | qty | weighted draw |
| 28 | Give discovery of a tech (makes discoverable) | Regime ID | Tech Type ID | — | ExecHardcoded_giveDiscoveryTech |
| 29 | Modify leader loyalty by job (char col 20) | Regime ID | JobType (≤0=any) | inv% (+/-) | char list scan |
| 30 | Give leader XP by job (char col 17) | Regime ID | JobType (≤0=any) | points | char list scan |
| 31 | Destroy/decrease assets | Zone ID | Asset Family | Levels | ExecHardcoded_AssetDecreaseLevel |
| 32 | Kill troops in a zone's city (variant of 7) | Zone ID | Regime ID | # | uses zone city loc |
| 33 | Give a stratagem card | Regime ID | Stratagem/Card ID | (qty=1 row) | currentCards row |
| 35 | Force peace relation (sets RegimeRel=1 both ways) | Regime slot | Other regime slot | — | + dipClear |
| 37 | Modify a single leader's loyalty (char col 20, by Char ID) | Char ID | inv% (+/-) | — | — |
| 38 | Give/remove a regime feat | Regime ID | Regime Feat ID | 0=add, 1=remove | feat stringlist |
| 39 | Run hardcoded Corporate logic | param | — | — | HardcodedLogic_Corporate |
| 40 | Run hardcoded Cult logic | param | — | — | HardcodedLogic_Cult |
| 41 | Remove a leader (all trace) | Char ID | — | — | Helper_RemoveAllTraceOfLeader |
| 42 | Unit fights a variable (zone enforcement / scripted fight) | (see code) | Helper_UnitFightsVariable |
||
| 44 | Add a rebel unit (XY placement) | XY/loc | Regime | Unit code | Helper_PlaceUnit |
| 45 | Relieve/remove leader from post (reset advisor + job) | Char ID | — | — | + Helper_RemoveAllTraceOfLeader |
| 46 | Clear posture / reset HisVars 21–41 for a unit (and subordinates if HQ) | His-unit ID | — | — | ExecRemoveHisVar |
| 47 | Declare join/war (join flag set) | Regime slot | Target regime slot | — | Helper_DeclareWar(…, true) |
| 48 | Asset lose level (by asset ID) | Zone ID | Asset ID | Levels | ExecHardcoded_AssetDecreaseLevel |
| 49 | Convert zone pop/key to Free Folk (update hex settlements) | Zone ID | — | — | Helper_ZoneKeyToFreeFolk |
| 50 | Skill level modify | Char ID | Skill Type ID | ± points (cap 99) | skill stringlist |
| 51 | Market/Trade-Hub auction start | param | param | — | Helper_MTH_AuctionStart |
| 52 | Found a Market/Trade Hub | param | param | — | Helper_Found_MTH |
| 53 | Add an item to a zone's HQ unit (cf. 11 which targets the city loc) | Zone ID | Item Type ID | qty (+/-) | HQ items list |
| 54 | Split a Market/Trade Hub | param | param | — | Helper_Split_MTH |
| 55 | Resource rumours (when dat2=1) | 1 | (a) | (b) | Helper_ResourceRumours(dat3,dat4,dat5) |
| 57 | Play a Republica / politics card (politics must be enabled) | card/arg | arg | — | CheckRepublicaCard_Execute |
| 58 | Modify HQ morale of a unit | His-unit ID | ± points | — | ExecUnitMorModifierHQ |
| 59 | Compu unplug event (current regime) | — | — | — | CompuUnplugEvent |
| 60 | Modify loyalty of all your chars that have a given feat | Feat ID | — | — | (uses internal % var) |
| 61 | Open "relieve commander" UDS GUI | Choice | — | — | Hardcoded_Gui_Relieve_Commence |
| 62 | Remove troops from a unit and its HQ subordinates (by power) | His-unit ID | Regime ID | # | power-sorted removal |
| 63 | Mass-modify relations vs all regimes that have recon on a regime | Regime ID | relation ×% | aiHatred += (AI only) | regreg keys |
| 64 | Modify a zone order stat (ZoneOrders col 2) | Zone ID | ± delta | — | — |
| 65 | Assign governor of a zone to a leader (relieves old governor) | Leader Char ID | Zone ID | old-gov loyalty penalty % | jobtype 10 |
Numbers not listed (34, 43, 56, …) are not handled by
ExecHardcodedSet— some exist only as top-level EXE codes in §4.
Companion: chk(249,…) / che(…)¶
The read side mirrors this: chk(code,…) → DoCheck. The most-used gateway is chk(249,fn,…)
(skill rolls, counts, discovery, job lookups, etc.). The fully-authoritative CHK catalog — every
top-level code plus the complete chk(249,…) sub-function table from source — now lives in its own
companion document: CHK Functions.
CHK categories (CheckCategoryName): 1 Game & Map globals · 2 Regimes · 3 Logic & Calculations ·
4 Hex & Areaslots · 5 Unit · 6 Stringlist · 7 SFType/ItemTypes · 8 DC1 AI · 9 DC2 AI ·
10 Library Checks · 11 UDS · 12 Random Related.
Full EXE code catalog¶
Every defined exe(code,…) function. Name is the internal ExecXxx name (the Exec prefix
stripped); Arguments are the game's own argument labels in order; Notes is the game's own
description plus a takes text/DataString flag where the function consumes the trailing string payload.
Click a column header to sort — by Code for numeric order, by Category to group.
| Code | Category | Name | Arguments | Notes |
|---|---|---|---|---|
| 1 | Regimes, People, Research | GiveRegimePP | 1. RegimeNr; 2. PP | |
| 3 | Regimes, People, Research | ChangeDip (DEPRECIATED) | 1. RegimeNr1; 2. RegimeNr2 | Reverses the diplomatic relation from war to peace. Or from peace to war. Use a check to see current relation. IS DEPRECIATED. USE EXECCHANGERELATION INSTEAD. |
| 5 | Regimes, People, Research | AddRegimeMorale | 1. RegimeNr; 2. Mutation +/- pts | |
| 8 | Regimes, People, Research | SetSleep | 1. Regime#; 2. Sleep=1, Awake=0 | |
| 9 | Regimes, People, Research | JoinRegime | 1. Losing Regime#; 2. Added to Regime#; 3. Including Units 1=yes,0=no | |
| 13 | Regimes, People, Research | ChangeRegimeName | 1. Regime# | (takes text/DataString) |
| 16 | Regimes, People, Research | ChangeDipBlock | 1. Regime# | |
| 21 | Regimes, People, Research | ChangePeopleCombatMod | 1. People#; 2. PeopleGroupOwner#; 3. New Combat Mod in % | |
| 42 | Regimes, People, Research | SetBaseMorale | 1. Regnr; 2. Basemorale | Not only sets base morale of regime, but also of unterregimes to the same as well as reducing all morale of all units with the same percentual ammount as the basemorale lost. |
| 56 | Regimes, People, Research | ChangePeopleCombatModVS | 1. People#; 2. Versus PeopleGroupOwner#; 3. New Combat Mod in % | |
| 79 | Regimes, People, Research | GetReconFrom | 1. From Regime# | |
| 105 | Regimes, People, Research | ChangeRelation | 1. RegimeNr1; 2. RegimeNr2; 3. Diplomatic Relation #; 4. Hide Message (1=yes hide) | Sets the relation between regime 1 and 2 to relation 0-2. 0=war, 1=peace, 2=allied. |
| 106 | Regimes, People, Research | AddRegime | 1. Copy From; 2. Set Uberregime | EXPERT USE ONLY!!!. Only use before start of game. Adds a regime and copies all settings from specified reigme. You can also set name of new regime. You can also set an uberregime here. Automaticly will ally with uberregime. (takes text/DataString) |
| 107 | Regimes, People, Research | RemoveRegime | 1. RegimeNr; 2. Add stuff too RegimerNr | EXPERT USE ONLY!!!. Only use before start of game. You can set RegimeNr to -1 and then the exec will try to find a regime with the specified name to delete. (takes text/DataString) |
| 108 | Regimes, People, Research | AddOOB | 1. Regime; 2. Historical Unit | Sets the historical unit to the regime and also everything in the OOB of the selected historical unit. |
| 109 | Regimes, People, Research | SetRegimeColor | 1. Regime; 2. Red (0-255); 3. Green (0-255); 4. Blue (0-255) | Sets the color of the regime. And you can overwrite the Name if you want too. Leave string blank to keep name. (takes text/DataString) |
| 117 | Regimes, People, Research | MoveRegimeUp | 1. RegNr | EXPERT USE ONLY!!!. You can overrule with using name and setting Regnr=-1. Moves this regime to the end of the list of regimes. Do only use in editor or startup screen for it might screw up things if used in game. (takes text/DataString) |
| 118 | Regimes, People, Research | SetRecon | 1. X; 2. Y; 3. RegNr; 4. Pts | Sets recon for this regime only on this hex only. |
| 147 | Regimes, People, Research | SetUberRegime | 1. ForRegime; 2. UberRegime (-1=none) | |
| 171 | Regimes, People, Research | SetRegimePeople | 1. Regime#; 2. People # (or -1=to leave as is); 3. officerpool # (or-1=to leave as is) | |
| 194 | Regimes, People, Research | ChangeDipOffer | 1. RegimeNr1; 2. RegimeNr2; 3. Diplomatic Offer # (0=none or 1=offer) | Does not give message. You have to that manually. Sets the offer mode to either 0= cancel offer or 1=give offer |
| 207 | Regimes, People, Research | SetReconUnit | 1. X; 2. Y; 3. RegNr; 4. Recon points | Sets recon for this regime only on this hex and all its neighbours up to range. Uses the ammount of recon points the specified unit# has. |
| 213 | Regimes, People, Research | SetPeopleMorale | 1. People #; 2. Under People Group#; 3. New Morale; 4. Reset all troops 0=no,1=yes | Reset=1 sets all morale to regime base morale * people morale as if in start of scenario. |
| 219 | Regimes, People, Research | SetPbemPlayer | 1. Regime #; 2. PBEM++ Player number # | Expert use only!. You can switch PBEM++ player here. only set to 1=player 1(challenger) or 2=player 2(opponent). |
| 220 | Regimes, People, Research | SetDrawGame | (none) | When this is set the game will be considered game over by the PBEM++ server and a draw game at it. Same for non PBEM++ games by the way. |
| 232 | Regimes, People, Research | SetRegimeFerryEff | 1. Regime nr; 2. Ferry eff (0=none, 100=full) | |
| 15 | Group Troop/Unit modifications | DisbandUnits | 1. Regime#; 2. People# | |
| 33 | Group Troop/Unit modifications | GiveReinforcement | 1. X; 2. Y; 3. Predef# to use; 4. Multiplier | |
| 35 | Group Troop/Unit modifications | ReduceReadiness | 1. Regime Nr (-1=all); 2. People Nr (-1=all); 3. %rdn loss; 4. %chance per unit | |
| 39 | Group Troop/Unit modifications | LTReduceReadiness | 1. Regime Nr; 2. People Nr (-1=all); 3. %rdn loss; 4. LandscapeType Nr | |
| 40 | Group Troop/Unit modifications | LTReduceMorale | 1. Regime Nr; 2. People Nr (-1=all); 3. %mor loss; 4. LandscapeType Nr | |
| 52 | Group Troop/Unit modifications | MutateSFType | 1. AreaSlot; 2. AreaCode; 3. From Sftype#; 4. Too Sftype# (-1=remove) | After completion sets # of changed individuals in tempvar[999]. |
| 53 | Group Troop/Unit modifications | SingleMutateSFType | 1. AreaSlot; 2. AreaCode; 3. From Sftype#; 4. Too Sftype# (-1=remove) | Note: Currents turn units take precedence |
| 54 | Group Troop/Unit modifications | SingleMutateSFTypeXY | 1. X; 2. Y; 3. From Sftype#; 4. Too Sftype# (-1=remove) | Note: Currents turn units take precedence |
| 57 | Group Troop/Unit modifications | RemoveTroops | 1. X; 2. Y; 3. SFType group; 4. Percentage to remove | |
| 58 | Group Troop/Unit modifications | RemoveTroopsByPeople | 1. X; 2. Y; 3. specific people #; 4. Percentage to remove | |
| 59 | Group Troop/Unit modifications | RemoveTroopsByLowMorale | 1. X; 2. Y; 3. Morale =< then; 4. Percentage to remove | |
| 61 | Group Troop/Unit modifications | ReadinessLossByArea | 1. Areaslot; 2. Value of slot; 3. Readiness loss; 4. Chance to lose this (x%) | |
| 80 | Group Troop/Unit modifications | AddExperience | 1. People# (-1=all); 2. Points to add (+/-); 3. Minimum XP; 4. Maximum XP | |
| 81 | Group Troop/Unit modifications | MaxResearch | (none) | Every Suformation thats not in a predef unit that can upgrade if its regime has the research will upgrade |
| 93 | Group Troop/Unit modifications | -DEPRECIATED- ExecHistoricalUnitForAddUnit | 1. Historical Unit#; 2. Copy? (1=yes,0=no); 3. Number (only if copy); 4. NATO counter # (only if copy, <1=keep same) | You should use ExecAddHistoricalUnit instead. Old description: If you want added units to be linked to a historical unit you have to call this exec before you call the addunit. If you make a copy, we'll use the given historical unit as a template but change its name to number + string. By putting a ',' in the string you can then specify the shortname. The shortname is always number+string. Once set it stays valid till changed or end of event in which it is declared. (takes text/DataString) |
| 143 | Group Troop/Unit modifications | RemoveTroopsByReinforcementGroup | 1. X (-1 = from unit); 2. Y (or unit #); 3. Reinforcement group; 4. Percentage to remove | |
| 159 | Group Troop/Unit modifications | ReduceTroops | 1. SFType (-1=all); 2. PeopleType (-1=all); 3. Remove x%; 4. + remove between 0-y% random | |
| 199 | Group Troop/Unit modifications | MutateRandomSFType | 1. People (-1=all); 2. Random percentage; 3. From Sftype#; 4. Too Sftype# (-1=remove) | The random percentage determines ammount of sftype to mutate. After completion sets # of changed individuals in tempvar[999]. |
| 200 | Group Troop/Unit modifications | RemoveTroopsGlobal | 1. SFType group (-1=all); 2. People (-1=all); 3. Reinforcement Type (-1=all); 4. Percentage to remove | Remove percentage is not exact in this function... its the chance for each individual that it will be removed. If it is set to 999 empty HQ units will also be removed. If not only empty normal units will be removed. |
| 201 | Group Troop/Unit modifications | GiveReinforcement2 | 1. SFType#; 2. People#; 3. Experience; 4. Multiplier | Uses SetCardXY for coordinate to drop troops input. |
| 217 | Group Troop/Unit modifications | RemoveTroopsUnderHistorical | 1. SFType group (-1=all); 2. Historical Unit; 3. Reinforcement Type (-1=all); 4. Percentage to remove | Remove percentage is not exact in this function... its the chance for each individual that it will be removed. Compared to its namesake exec this one only affects units under command of the historical unit (HQ!) specified. Only units directly under the historical unit are affected and HQs are always excluded. (if you want to set the HQs you'll have to do it manually) |
| 218 | Group Troop/Unit modifications | SetHistoricalUnitOwner DEPRECIATED | 1. Old owner #; 2. New owner # | Function no longer does anything. |
| 221 | Group Troop/Unit modifications | RemoveSupplyUnderHistorical | 1. Historical Unit; 2. Percentage of supply to leave; 3. New Supply Consumption % (normal is 100%) | this one only affects units under command of the historical unit (HQ!) specified. Only units directly under the historical unit are affected and HQs are always excluded. (if you want to set the HQs you'll have to do it manually) |
| 222 | Group Troop/Unit modifications | SetInterceptRdnStop | 1. For Regime (-1=all); 2. Percentage for intercept | Only affects units with air units in them. percentage example: 75 means only at 75% rdn. |
| 223 | Group Troop/Unit modifications | SetHistoricalUnitMaxRecruit | 1. ID#; 2. MaxRecruit#(-1=unl,0=none) | A function that allows you to change the max recruit |
| 224 | Group Troop/Unit modifications | SetHistoricalUnitType | 1. ID#; 2. Type#(5=corps,6=a,7=ag,8=high) | A function that allows you to change the type. this is usefull to make 1st panzer army immobile and the sov front too. |
| 228 | Group Troop/Unit modifications | MutateRandomSFTypeUnderHis | 1. HistoricalID; 2. Random percentage; 3. From Sftype#; 4. Too Sftype# (-1=remove) | The random percentage determines ammount of sftype to mutate. After completion sets # of changed individuals in tempvar[999]. |
| 2 | Messanging, Campaign, Sound | OldStyleMessage (DEPRECIATED) | 1. Regime1; 2. Regime2; 3. BackPic#; 4. FrontPic# | Is depreciated. Avoid using it (takes text/DataString) |
| 7 | Messanging, Campaign, Sound | Load | (none) | (takes text/DataString) |
| 11 | Messanging, Campaign, Sound | Message | 1. Regime1; 2. Regime2; 3. Overwrite scndesc >0=yes; 4. Event Pic Nr (-1=none) | if reg1=-1 and reg2=-1 then message is send to all regimes. (takes text/DataString) |
| 69 | Messanging, Campaign, Sound | Load_UnitTransfer | 1. Regime #; 2. AreaSlot #; 3. Max Per Hex | |
| 89 | Messanging, Campaign, Sound | PlayEventWav | (none) | Adds a sound file from the sound directory to the next ExecMessage, it will be played when the message is actually shown. So the effect is synchronized. (takes text/DataString) |
| 90 | Messanging, Campaign, Sound | LoadCampaignRoomBackground | 1. Event Picture# to be used | |
| 91 | Messanging, Campaign, Sound | SetCampaignRoomTitle | (none) | (takes text/DataString) |
| 92 | Messanging, Campaign, Sound | PlayEventBackgroundWav | (none) | Loads the sound file from the sound directory and plays it immediatly. (takes text/DataString) |
| 103 | Messanging, Campaign, Sound | SetMessageStyle |
1. Message Style (0,1,2) | The specified style will be used for the remainder of this event. 0=normal. 1=black, 2=text cloud+black. It also allows you to set an optional footnote (messageNote1). only shown in style 1 + 2. Directly under the main message in italics. SetMessageStyle is used by DC1 and an earlier prototype, kept here for backwards compatibility. The variable it accesses will also be used by DC3's new ExecDynamicMessage which will put it to value 3.. (takes text/DataString) |
| 104 | Messanging, Campaign, Sound | SetMessageNote2 | (none) | Sets a string for underwriting of picture of character with text cloud. Shown in style 2. (takes text/DataString) |
| 142 | Messanging, Campaign, Sound | Load_HistoricalTransfer | 1. Regime # | |
| 239 | Messanging, Campaign, Sound | DynamicMessage | 1. Regime1; 2. Regime2; 3. Message String; 4. EventPicture (-1=none) | This is the new DynamicMessage. It allows advanced scripting and utilises system graphics 3 background parts. if reg1=-1 and reg2=-1 then message is send to all regimes. (inside note: Dynamic Message sets a message to Style=3 to notify the engine it uses dynamic message mode and advanced scripting) |
| 240 | Messanging, Campaign, Sound | SetMessageNameAndGroup | 1. Name (string not value) Set empty string for no-name!; 2. Group (0=none); 3. HideFromTab (1=yes,0=no); 4. HideFromStart (1=yes,0=no) | Will be applied to the next ExecMessage2 or ExecDynamicMessage. |
| 252 | Messanging, Campaign, Sound | PlayEventBackgroundWav2 | 1. Full file path relative to the game executable | Loads the sound file. |
| 257 | Messanging, Campaign, Sound | WritePDF | 1. String; 2. Filename; 3. Title | The String should be coded like a dynamic message. Pagebreaks are not automatic. You need to use CheckDynamicTextHeight() to predict sizes. Pages are 595 x 842 points. Filename should be without file extension. for example 'doc' or 'oobfile'. Title is displayed as a watermarkish thing on each page on top and pagenumber in the bottom. |
| 362 | Messanging, Campaign, Sound | AddNoteToMes | 1. Text to add | Used in DC5 to keep |
| 14 | Hex & Areaslots | JoinArea | 1. Areaslot# (0-9); 2. Areacode; 3. To Regime#; 4. Units flee too areacode (-1=destr,-2=keephex) | All units not allied with the new owner will be either flee or be destroyed or removed or keep hex. |
| 17 | Hex & Areaslots | DoStructuralDamage | 1. x; 2. y; 3. damage pts | If you give negative ammount of points it is handled as a repair |
| 18 | Hex & Areaslots | SetLandscape | 1. X; 2. Y; 3. New LT# | |
| 19 | Hex & Areaslots | SetSprite | 1. X; 2. Y; 3. New Sprite# | |
| 20 | Hex & Areaslots | SetSlot | 1. X; 2. Y; 3. AreaSlot; 4. AreaCode | |
| 25 | Hex & Areaslots | ChangeRiver | 1. X; 2. Y; 3. From River #; 4. Too River # | |
| 26 | Hex & Areaslots | ChangeRoad | 1. X; 2. Y; 3. From Road #; 4. Too Road # | |
| 27 | Hex & Areaslots | ChangeBridge | 1. X; 2. Y; 3. Direction = 0(North),1,2,3,4,5(NorthWest); 4. -1=no bridge, >=0 = bridge | |
| 29 | Hex & Areaslots | ChangeLocationType | 1. X; 2. Y; 3. Loctype (-1=remove any location); 4. People # | (takes text/DataString) |
| 30 | Hex & Areaslots | GiveSupply | 1. X; 2. Y; 3. Supply Points to the top hq of the closest hq to x,y; 4. Overrule recipient regime with regime # | 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) (takes text/DataString) |
| 32 | Hex & Areaslots | ChangePeople | 1. X; 2. Y; 3. Changes the people at location x,y | |
| 43 | Hex & Areaslots | ChangeVP | 1. X; 2. Y; 3. new VP amount. 0(none) - 999 | |
| 60 | Hex & Areaslots | SetLabel [old] | 1. X (tempvar999>0 overwrites datastring); 2. Y; 3. Type (0-10); 4. Slot (1-2) | If there is a value > 0 in tempvar999 it is ammended to the end of the string. (takes text/DataString) |
| 72 | Hex & Areaslots | AreaSpreadOut | 1. AreaSlot #; 2. Divideby | |
| 152 | Hex & Areaslots | AddAntiSupply | 1. X; 2. Y; 3. Regime; 4. Points | Must be used in early turn check in order to be used after regular setting of AS and before Supply system... |
| 157 | Hex & Areaslots | SetSpecial | 1. SpecialType; 2. SpecialSprite; 3. X; 4. Y | Either Type is a LanscapeType slot with corresponding Sprite or it is -1 and a smallgfx slot will be used. |
| 174 | Hex & Areaslots | SetHexOwner | 1. X; 2. Y; 3. Owner # | |
| 197 | Hex & Areaslots | SetLabel | 1. X; 2. Y; 3. Type (0-10); 4. String | Slot 1 is always used. Auto complete is used and name can stretch several hexes. |
| 198 | Hex & Areaslots | ClearAllLabels | (none) | |
| 247 | Hex & Areaslots | ClearSpecialTypesOnMap | 1. Which special type # (-1=all); 2. Which sprite # (-1=all) | Remember that special types are just landscape types under another name. |
| 250 | Hex & Areaslots | SetSmallLabel | 1. X; 2. Y; 3. Text | 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. |
| 258 | Hex & Areaslots | GiveSupplyImmediateDisperse | 1. X; 2. Y; 3. Supply Points to be shared by all units; 4. AP modifier %. 100=normal. 50=only half range. 200=double range. | 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. |
| 306 | Hex & Areaslots | ChangeLocationHQ | 1. Location Slot#; 2. HQ Unit Slot# | |
| 351 | Hex & Areaslots | LocStats | 1. Loc#; 2. Stat #; 3. Mode 0/1=%, 2=absolute new value; 4. Value | Stats: 1=supply points, 2=fuel points, 3=mode var, 4=fixed var |
| 353 | Hex & Areaslots | ChangeUnitStats | 1. Unit #; 2. Stat #; 3. Value | Stat # 1=Readiness, 2=Entrenchment, 3=Morale, 4=Experience |
| 354 | Hex & Areaslots | ChangeLocationType2 | 1. X; 2. Y; 3. Loctype (-1=remove any location); 4. People # | Only use this for Supply Base/Source location types. (takes text/DataString) |
| 355 | Hex & Areaslots | GiveFuel | 1. X; 2. Y; 3. Fuel Points on x,y; 4. Overrule recipient regime with regime # | 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. |
| 34 | Action Cards | GiveActionCard | 1. Card Nr; 2. Regime Nr | |
| 36 | Action Cards | AddHistoryActionCard | 1. Card Nr; 2. Regime Nr | |
| 37 | Action Cards | RemoveHistoryActionCard | 1. Card Nr; 2. Regime Nr | |
| 44 | Action Cards | RemoveActionCard | 1. Card Nr; 2. Regime Nr | |
| 46 | Action Cards | PlayActionCard | 1. Regime Nr; 2. Action Card Nr | |
| 48 | Action Cards | ActionCardName | 1. Actioncard Nr | (takes text/DataString) |
| 49 | Action Cards | ActionCardPPCost | 1. Actioncard Nr; 2. New PPCost (-1 = keep same); 3. PPCost absolute increase or decrease (0=no change); 4. PPCost % increase or decrease (0=no % change) | |
| 74 | Action Cards | CheckPreDef | 1. Predef# | Returns unit# of this predef ID#. |
| 76 | Action Cards | CopyActionCard (+Set Name) | 1. From#; 2. Too# | If the Too# specified is a slot higher then existing number of actioncards, the number of actioncards slots will be extended (takes text/DataString) |
| 77 | Action Cards | SetActionCard (+Set Text) | 1. Card#; 2. TempVar0; 3. TempVar1; 4. EventPic# | (takes text/DataString) |
| 82 | Action Cards | HexActionCard | 1. X; 2. Y; 3. ActionCard# (-1=no actioncard) | Will place an action card on the hex in question. The card is executed immediatly upon the player conquering the hex. And will cause a popup to appear immediatly (if message used) Only if hex is conquered by combat or direct move in. So always place on locations because they cannot be conquered by ZOC. If an AI regime takes the card it cannot load a new game, select a unit or a hex. |
| 148 | Action Cards | SetCardXY | 1. X; 2. Y | If you are calling a card who needs a hex input. set it with this exec. |
| 188 | Action Cards | SetUnitSelected DEPRECIATED | 1. Unit # | Do not confuse this function with ExecUnitSelectable to make a unit choseable in popup. This function provides some backwards compatibility with ATG and otherwise sets the unitselected for the game display. -1= no unit selected. |
| 215 | Action Cards | ActionCardText | 1. Actioncard Nr; 2. New Title; 3. New Text on card | The difference with ExecActionCardName is that you can here also set the text on the card + input can be done with tempstrings with this exec |
| 249 | Action Cards | SetCardQuickButton | 1. Card Slot#; 2. Quick Mode (0=no,1=yes,2=yes+hide); 3. Small graphic on order button | If mode>=1 then an order button will be generated if the player/ selected hex/ selected unit confirms to the (pre-event) conditions of playing a card in general/ on hex/ on unit. And enough PP must be available. You must specifiy a small graphic slot # as well for the order button. |
| 253 | Action Cards | ActionCardCategory | 1. Actioncard Nr; 2. New category number | For changing the category numner of the card |
| 254 | Action Cards | DeleteActionCard | 1. Card Nr | USE WITH CAUTION This exec actually really deletes the card. Use ExecRemoveActionCard to keep the card but remove it from a regime hand. Deleting cards will change numbers it might cause events to break. EXPERT USE ONLY |
| 255 | Action Cards | SetActionCardEventPicture | 1. Card Nr; 2. Event Picture Nr | A simple replace picture of the card. |
| 12 | Logic & Vars | BlockEvent | (none) | |
| 47 | Logic & Vars | ExecuteEvent | 1. Event Nr | IS DEPRECIATED BY CallFunction. tempvar 0,1,4,5 are passed on (but not returned). |
| 112 | Logic & Vars | SetGameVar | 1. GameVar #; 2. New Value | |
| 113 | Logic & Vars | SetTempVar | 1. TempVar #; 2. New Value | |
| 114 | Logic & Vars | SetRegimeVar | 1. Regime #; 2. Variable #; 3. New Value | |
| 115 | Logic & Vars | SetTempString | 1. Tempstring #; 2. New Value | |
| 145 | Logic & Vars | SetSupplyMatrix | 1. Source X; 2. Source Y; 3. AreaSlot #; 4. Regime # | Sets movecost value on each hex. if not in supply value will be set to 9999. It will not overwrite a lower value with a higher value. So make sure you set the areaslot matrix to 9999 before you call. this is done to allow multiple sources for making the matrix. |
| 146 | Logic & Vars | ClearMatrix | 1. AreaSlot #; 2. Value | Sets the specified slot for all hexes to specified value |
| 154 | Logic & Vars | Quit | (none) | Quits the player back to the main menu. Can only be played from the research hand cards screen! |
| 162 | Logic & Vars | CallFunction | 1. Name of function to call | Case of name does not matter, but must be exact otherwise. The tempvar900-999 and tempstring900-999 will be copied to the receiving function and can be altered by it and will be returned back to the calling function. this way you dont have to use gamevars like in ExecExecute. (You can use these call by name feature to make functionlibs that can be loaded by import all). Tempvar 0,1,4,5 are copied to called function, but not back again. |
| 173 | Logic & Vars | SetMatrix | 1. Slot; 2. Operation; 3. Disallow over sea (0=no, 1=yes) | You cannot set operation yet. For now it just subtracts 1 of the value and copies if higher then neighbour. Thus make sure to make a clearmatrix(0) and then set coordinates you want to spread out. |
| 202 | Logic & Vars | SetMoveMatrix | 1. Source X; 2. Source Y; 3. AreaSlot #; 4. MoveType # | Sets movecost value on each hex for specified movetype. if not reachable will be set to 9999. It will not overwrite a lower value with a higher value. So make sure you set the areaslot matrix to 9999 before you call. this is done to allow multiple sources for making the matrix. The matrix is calculated for the regime that owns the hex. |
| 244 | Logic & Vars | SetGroupName | 1. GroupName #; 2. New Value | |
| 245 | Logic & Vars | AppendTempString | 1. Tempstring #; 2. Value to be appended | |
| 94 | AI in General | SetAI | 1. Regime #; 2. AI (1=yes,0=no); 3. ProdBonus(0,100,250) | If you want to set a regime to AI player or make an AI a human player. |
| 6 | Modifying Units | AddUnit | 1. UnitPreDef#; 2. X; 3. Y; 4. Regime# | (takes text/DataString) |
| 95 | Modifying Units | UnitRdnModify | 1. Unit #; 2. Absolute modifier pts +/-; 3. People (-1=all); 4. SFTypeGroup (-1=all) | Change stats of subformations in a specified unit. |
| 96 | Modifying Units | UnitMorModify | 1. Unit #; 2. Absolute modifier pts +/-; 3. People (-1=all); 4. SFTypeGroup (-1=all) | Change stats of subformations in a specified unit. |
| 97 | Modifying Units | UnitXpModify | 1. Unit #; 2. Absolute modifier pts +/-; 3. People (-1=all); 4. SFTypeGroup (-1=all) | Change stats of subformations in a specified unit. |
| 98 | Modifying Units | UnitApModify | 1. Unit #; 2. Absolute modifier pts +/-; 3. MoveTypeGroup (-1=all); 4. SFTypeGroup (-1=all) | Change stats of subformations in a specified unit. |
| 99 | Modifying Units | UnitGiveTroops | 1. Unit #; 2. Predef Unit# | Add all troops in PreDef unit to this Unit. |
| 100 | Modifying Units | UnitOffensiveBonus | 1. Unit #; 2. Absolute modifier pts +/-; 3. People (-1=all); 4. SFTypeGroup (-1=all) (>=100 = specific sftype -100) (9001=only for artRange>0) | Change stats of subformations in a specified unit. If you set modifier to 0 it resets the offmod to 0. Each point is a percentage point. If you specify a sftypegroup >=100 then you are actually specifiying a specific SFType Nr. |
| 101 | Modifying Units | UnitDefensiveBonus | 1. Unit #; 2. Absolute modifier pts +/-; 3. People (-1=all); 4. SFTypeGroup (-1=all) (>=100 = specific sftype -100) | Change stats of subformations in a specified unit. If you set the modifier to 0 it resets the defmod to 0. Each point is a percentage point. If you specify a sftypegroup >=100 then you are actually specifiying a specific SFType Nr. |
| 102 | Modifying Units | UnitSelectable | 1. Unit # | The specified unit will now be selectable in the 'select a unit' popup screen. Use this exec in a pre-event from an actioncard. |
| 132 | Modifying Units | MoveUnit | 1. Unit #; 2. New X; 3. New Y | Keep in mind combat can occur immediatly after the move. Rebel Battle Mode will be used. |
| 133 | Modifying Units | ChangeUnitRegime | 1. Unit #; 2. New Regime# | Keep in mind combat can occur immediatly after the move. Rebel Battle Mode will be used. |
| 140 | Modifying Units | ModifyUnitSupply | 1. Regime (-1=none); 2. Specific Unit (-1=none); 3. Modifier % (100=keep same, 50=half, 200=double); 4. Modifier absolute (0=nill, -x , +x ) | Increases or decreases supplies of the unit. cannot go over max supplystore. |
| 141 | Modifying Units | RemoveUnits | 1. Regime # | |
| 144 | Modifying Units | ChangeCommander | 1. Unit#; 2. Historical Unit# | Replace the commander with that from a historical unit. |
| 172 | Modifying Units | SetHQ | 1. Unit; 2. HQ | |
| 176 | Modifying Units | Removeunit | 1. Unit # | Removes specific Unit |
| 180 | Modifying Units | ChangeUnitEntrenchment | 1. Unit#; 2. -/+ entrenchment pts | Will auto cut at 0 or maximum entrench for sftype in hex.. |
| 185 | Modifying Units | SetUnitName | 1. Unit#; 2. New Name | Will set name of all belonging to units historical unit if using historical units. Shortname is only applied if historical unit is present. |
| 187 | Modifying Units | UnitPeopleModify | 1. Unit #; 2. Change People# (-1=all); 3. Too People# | Change the people in the unit. |
| 211 | Modifying Units | SwitchUnitModel | 1. Unit#; 2. To Model ID#; 3. Change name as if new unit 0=no ,1=yes | This function will attempt to change the whole historical unit# of unit# to a new model and will implement the changes immediately. A new name will be also be given if specified so. |
| 216 | Modifying Units | SetUnitCapacityPoints | 1. Unit#; 2. LandCap Pts +/-; 3. RailCap Pts +/- | Allows you to remove or add capacity points to a unit. Use in late turn so the unit Cap point gain has already been processed before use of this exec. |
| 243 | Modifying Units | UnitOnTop | 1. Unit nr# | Makes sure this unit nr is on top of the stack in its hex. |
| 246 | Modifying Units | SetUnitStandingOrders | 1. Unit#; 2. Retreat%; 3. Supply%; 4. Replacement% | Give unit slot number and percentages. Allows you to set a number of standing order % to a unit. If you specify -1 then the setting is not changed. Only 0-100 values are thus accepted. Retreat100% = fight till last Retreat0%=immediate retreat. |
| 359 | Modifying Units | ModifyUnitFuel | 1. Regime (-1=none); 2. Specific Unit (-1=none); 3. Modifier % (100=keep same, 50=half, 200=double); 4. Modifier absolute (0=nill, -x , +x ) | Increases or decreases Fuel of the unit. cannot go over max fuel reserves |
| 41 | SFtype & Itemtypes | SetItemCost | 1. ItemType Nr; 2. Set Prod Cost | |
| 135 | SFtype & Itemtypes | -DEPRECIATED- (execmodhitpoints) | 1. SFType # (-1=all); 2. SFTypeGroup # (-1=all); 3. Modifier (100=same, 50=half, 200=double) # | |
| 136 | SFtype & Itemtypes | ModifyAirOverrule | 1. SFType # (-1=all); 2. SFTypeGroup # (-1=all); 3. Modifier (100=same, 50=half, 200=double) # | |
| 137 | SFtype & Itemtypes | ModifyEntrenchmentSpeed | 1. SFType # (-1=all); 2. SFTypeGroup # (-1=all); 3. Modifier (100=same, 50=half, 200=double) # | |
| 138 | SFtype & Itemtypes | ModifySupplyStock | 1. SFType # (-1=all); 2. SFTypeGroup # (-1=all); 3. Modifier (100=same, 50=half, 200=double) #; 4. For dc4+ only. Special Mode. <1=dont use. 1=Supply, 2=Fuel | Modifies supply and stockpile stats |
| 139 | SFtype & Itemtypes | ModifyAttackScore | 1. SFType # (-1=all); 2. SFTypeGroup # (-1=all); 3. Versus SFTypeGroup # (-1=all); 4. Modifier (100=same, 50=half, 200=double) # | Modifies AttackArt,AttackPower,AttackPowerDef all 3. |
| 158 | SFtype & Itemtypes | ReduceAntiStructural | 1. SFType (-1=all); 2. Percentage (100=same. 50=less >100=more) | |
| 161 | SFtype & Itemtypes | SFTypePower | 1. SFType; 2. Targetgroup# (-1=all); 3. Attack score; 4. Defend score | |
| 163 | SFtype & Itemtypes | SFTypeDescription | 1. SFType#; 2. Description | |
| 164 | SFtype & Itemtypes | SFTypeHP | 1. SFType; 2. Targetgroup# (-1=all); 3. Attack HP; 4. Defend HP | |
| 165 | SFtype & Itemtypes | SFTypeMoveType | 1. SFType#; 2. Type | |
| 166 | SFtype & Itemtypes | SFTypeMoveRedux | 1. SFType#; 2. Redux | |
| 168 | SFtype & Itemtypes | SFTypeLogo | 1. SFType#; 2. Logo#; 3. value | |
| 170 | SFtype & Itemtypes | SFTypeFuelUse | 1. SFType#; 2. ForMove (10ap); 3. ForAttack (combatround) | |
| 181 | SFtype & Itemtypes | SetSFTypeVar | 1. SFType; 2. Var#; 3. Value | |
| 231 | SFtype & Itemtypes | ModifyStockpiles | 1. Under Historical Unit#; 2. Modifier (100=same, 50=half, 200=double) # | The function will cap at maximum stockpiles. So you can specify 999 or more modifier to give unit max. and 0 to set stockpile to nothing. |
| 234 | SFtype & Itemtypes | ModifyAttackScore2 | 1. SFType # (-1=all); 2. 1=offensive, 2=defensive; 3. Versus SFTypeGroup # (-1=all); 4. New value to be multiplicated with current value and divided by 100 | 1=Modifies AttackArt,AttackPower 2=modifies: AttackPowerDef. |
| 235 | SFtype & Itemtypes | ModifyHitpoints2 | 1. SFType # (-1=all); 2. Versus SFTypeGroup # (-1=all); 3. New value to be multiplicated with current value and divided by 100 | |
| 236 | SFtype & Itemtypes | ModifyAttackScore3 | 1. SFType # (-1=all); 2. 1=art attack score; 3. Versus SFTypeGroup # (-1=all); 4. New value to be multiplicated with current value and divided by 100 | 1=Modifies AttackArt |
| 256 | SFtype & Itemtypes | ChanceOnDeathIfMakesHit | 1. SFType#; 2. Percentage% | 0% is will never die due to making a hit on enemy. 1=1% chance, etc... |
| 336 | SFtype & Itemtypes | SFTypeFavorite | 1. SFType; 2. Targetgroup# (-1=all); 3. Favorite score for regular attack; 4. Favorite score for art attack | |
| 337 | SFtype & Itemtypes | SFTypeArtPower | 1. SFType; 2. Targetgroup# (-1=all); 3. Art Power | |
| 338 | SFtype & Itemtypes | SFTypeStat | 1. SFType; 2. Stat Number; 3. New Value | Stat Numbers: 1=weight, 2=carrycap, 3=canDoParadrop(0/1), 4=EP, 5=BlowBridgPts, 6=BasicSupNeed, 7=SupCarry, 8=ReconPts, 9=HidePts, 10=AntiSupplyPts, 11=AntiSupplyRange, 12=AnitSupplySea, 13=InitiativeAtt, 14=InitiativeDef, 15=Attacks, 16=StackPts, 17=RearArea(0/1), 18=ArtRange, 19=Fav.Target tries, 20=AA-range, 21=HitKill%, 22=HitRetreat%, 23=ArtilleryModSfTypeNr, 24=maxAttacked, 25=moveRedux |
| 339 | SFtype & Itemtypes | SFTypeLandscapeCombatMod | 1. SFType#; 2. LandscapeType# (-1=all); 3. Off Mod in percentage points. 100=noMod, 50=half, 200=double; 4. Def Mod in percentage points. 100=noMod, 50=half, 200=double | |
| 340 | SFtype & Itemtypes | SFTypeSetName | 1. SFType#; 2. Name (if length>1); 3. ModelName (if length>1) | Warning: Highly experimental if used together with model creation. Name changes the name of the current SFType. ModelName changes the name of upgrades or improvements from this sfType. The hardcoded algorithms should still remember the version and mark numbers no matter if you change the modelName. |
| 341 | SFtype & Itemtypes | SFTypeReinforcementType | 1. SFType; 2. ReinforcementType | |
| 4 | Game | SetWinner | 1. RegimeNr | |
| 31 | Game | SetRuleVar | 1. Rulevar #; 2. New Value; 3. Behind comma... 0=no action.. >0=divide new value by 100 to set a decimal. | |
| 153 | Game | ChangeDate | 1. Day; 2. Month; 3. Year | |
| 177 | Game | SetTurnString | 1. Short String | if you set it to '' then it will not overrule the date or round. Keep the string short to make it fit. |
| 178 | Game | SetRound | 1. Round | Do not use! It will screw with the statistics. Never set higher. You can only set lower then current round. |
| 186 | Game | DateMode | 1. 0=rounds, 1=dates; 2. days per round; 3. Shortname | |
| 225 | Game | ChangeDateAdd | 1. add x Day; 2. add x Month; 3. add x Year | |
| 226 | Game | SetAllUnitReady | 1. regime. -1=all | Sets all units with max supply, ap and readiness. |
| 248 | Game | SetExtraTab | 1. Name of tab; 2. Event slot# generating message to be used; 3. tab# (1,2 or 3) | |
| 278 | Game | Screenshot | 1. AreaSlot#; 2. Filename | Please give the filename without extension. .jpg will be added automaticly. just 'test' will do. Or 'pic12'. |
| 283 | Game | Popup | 1. Message | Causes a Windows Popup that halts all further event execution untill OK is pressed. Ideal for debugging. |
| 350 | Game | HardcodedDC | 1. Data1; 2. Data2; 3. Data3; 4. Data4 | This is a hardcoded function. It is not meant for general use. And should be used by VR only. (For VR Weather Library => Data1=1,Data2=Lib Name,Data3=Mode(1=editor,2=new round)) |
| 50 | Landscapetypes | ReplaceLandscapeSprite | 1. Landscape nr | Actually loads a new PreHex graphic from the graphics directory. (takes text/DataString) |
| 134 | Landscapetypes | ChangeLandscapeMoveCost | 1. Landscape #; 2. MovementType #; 3. AP Cost | |
| 156 | Landscapetypes | ReduceLandInitialEntrench | 1. LandscapeType (-1=all); 2. Percentage (100=same. 50=less >100=more) | |
| 259 | Landscapetypes | ChangeRoadTypeMoveCost | 1. RoadType #; 2. MovementType #; 3. AP Cost | |
| 208 | Officerpool | CommanderPool | 1. Historical unit ID#; 2. In Pool? 1=yes, 0=no; 3. new PP value (-1 = dont change) | |
| 227 | Officerpool | RemoveActiveOfficersFromStringlist | 1. regime#; 2. stringlist ID | Looks up the officer historical ID in column 0 and sets availability to 0 in column 1. Active officers are officers that are in the pool or on the map in a unit. |
| 229 | Officerpool | RemovePeopleOfficersFromStringlist | 1. people#; 2. stringlist ID | Looks up the officer historical ID in column 0 and sets availability to 0 in column 1 if the officer has specified people#. |
| 230 | Officerpool | RemoveFromOfficerPool | 1. regime# (-1=all); 2. people# (-1=all); 3. VarType (-1=ignore condition); 4. =VarQty | Removes any officers from the officerpool of specified regime who has the specified characeristics. You can deted vartype = varqty to tailormake catch a specific officer. |
| 110 | Historical Units | AddHistoricalUnit | 1. X; 2. Y; 3. Historical Unit ID; 4. Dispersion in Hex | If Historical unit is a Model an instance of it will be created. If it is not it will be put on the map itself. If you set Dispersion to 0 all will go normal. Set dispersion>0 to simulate scatter effect on same sea/land type and regime type as selected for target hex. Set x=-1 to only create a new historical unit (based on specified model) and not place any unit on the map. |
| 111 | Historical Units | RemoveHistoricalUnit | 1. Historical Unit | All units assigned to this exact Historical Unit will be removed. |
| 119 | Historical Units | ChangeCommanderSkill | 1. Unit#; 2. CombatMod +/-; 3. MoraleMod +/-; 4. StaffPts +/- | Inrease or diminish the officers stats. |
| 120 | Historical Units | ChangeHisTempValue | 1. Unit# (-1= use hist.unit#); 2. TempVar#(1-5), 6=aiZoneListNr; 3. New Value; 4. Use Historical Unit# | Keep in mind you can also use hisvars to store data. of which you have unlimited quantity. For aiZoneListNr only number above >0 are considered valid. |
| 121 | Historical Units | ChangeCommanderDescript | 1. His Unit ID#; 2. New Description | |
| 122 | Historical Units | ChangeCommanderOverlay | 1. Unit#; 2. New overlay filename | Reloads the overlay file for this commander. specifying an empty string '' will result in no overlay |
| 123 | Historical Units | CommanderAddDeckCardUsingStringList | 1. Unit#; 2. StringList CardList ID# | Picks a weighted chance card from the stringlist in question. will not take doubles. will add text to description |
| 124 | Historical Units | CommanderAddAutoEventUsingStringList | 1. Unit#; 2. StringList EventList ID# | Picks a weighted auto-event from the stringlist in question. will not take doubles. will add text to description |
| 130 | Historical Units | GiveCommanderXP | 1. Unit#; 2. XP to give or take +/- | |
| 131 | Historical Units | CreateCommander | 1. Regime #; 2. Overrule Officer Pool StringList ID (-1=dont) | |
| 149 | Historical Units | RemoveTroopsForNextHistorical | 1. Reinforcement group; 2. Loss % | For each event you have to set the loss levels. These values are reset per event. If set any unit added with AddHistorical will suffer these losses. |
| 150 | Historical Units | SetHistoricalCounter | 1. Historical Unit; 2. New Counter Value | |
| 151 | Historical Units | SetHistoricalUnitHQ | 1. Historical Unit; 2. New unit # HQ; 3. Historical Unit # HQ | Sets all units that belong to this historical unit to the unit or historical unit HQ # specified.. Historical <= 0 means unit is used. |
| 183 | Historical Units | MoveHistoricalUnit | 1. Historical Unit #; 2. New X; 3. New Y; 4. Optional Historical HQ # | If you specify >0 for optional HQ all units attached to the HQ will be moved. you can specify -1 for historical unit if you specify hq. |
| 203 | Historical Units | SetHisVar (DEPRECIATED) | 1. His.Unit ID#; 2. Type #; 3. Value; 4. Nato Counter (0= do not set) | |
| 204 | Historical Units | RemoveHisVar | 1. His.Unit ID#; 2. Type # | |
| 205 | Historical Units | CommanderAddDeckCard2 | 1. Unit# (or -1); 2. Historical Unit# (or -1); 3. DeckCard#; 4. Percentage Chance % (or -1,-2,-3,-4,-5,-6) | Either specify a normal unit# or a historical unit#. If instead of percentage you specify -1 your remove specified card if present, if you specifify -2 you remove all deck cards. if you specify -3 you'll remove all hand cards and all deck cards. If you specify -4 you'll only remove the hand card and not the deck card. If specify -5 you will not add any card but if the card is present set its chance to 0%. If -6 then you will also not add a card but if card is present set its chance to 100%. |
| 206 | Historical Units | CommanderAddAutoEvent | 1. Unit#; 2. AutoEvent#; 3. Percentage Chance % (-1=delete if present); 4. His.Unit ID overrule# | |
| 209 | Historical Units | ClearCommander | 1. Historical Unit# (or -1); 2. Clear HandCards (1=yes); 3. Clear DeckCards (1=yes); 4. Clr Events,StaffSiz,Mormod,combatmod (1=yes) | Allows you to clean all cards & events associated with a historical unit. |
| 210 | Historical Units | ChangeCommanderSkill2 | 1. Historical Unit#; 2. CombatMod; 3. MoraleMod; 4. StaffPts | Same as other function. But here the historical unit# instead of the unit# is targeted. And the setting is absolute not +/-. |
| 241 | Historical Units | SetHisVar2 | 1. His.Unit ID#; 2. Type #; 3. Value; 4. SmallGfx (-1= no smallgfx) | If a smallGfx is specified the value and the smallgfx will be displayed for officers. |
| 251 | Historical Units | SetHistoricalUnitName | 1. Historical Unit ID; 2. New name; 3. New short name | |
| 279 | Historical Units | SetHistoricalSmallGfx | 1. Historical Unit ID; 2. New Small Gfx slot# | |
| 291 | Historical Units | SetHistoricalColor | 1. Historical Unit ID; 2. Red modifier; 3. Green modifier; 4. Blue modifier | Remember you cannot set the color using Historical unit colors, only the modifier to the regime or people color of the counter. For example -50 or +100. |
| 307 | Historical Units | SetHistoricalRegime | 1. Historical Unit ID; 2. Regime slot# | Sets the historical to the correct regime. |
| 22 | Mods of movetype/unitgrouptype | MoveTypeModifier | 1. MoveType#; 2. Percentage of normal movecost (100%=normal) | |
| 23 | Mods of movetype/unitgrouptype | UnitTypeModifier | 1. UnitType#; 2. Percentage of normal combat att/def (100%=normal) | |
| 55 | Mods of movetype/unitgrouptype | AntiSupplyRangeMod | 1. MoveType#; 2. Percentage of current AP (100%=normal) | |
| 62 | Mods of movetype/unitgrouptype | OffensiveMod | 1. X; 2. Y; 3. SfTypeGroup# (-1=all); 4. Absolute Modifier (0=none, -50 = -50%, +50 = +50%) | |
| 63 | Mods of movetype/unitgrouptype | DefensiveMod | 1. X; 2. Y; 3. SfTypeGroup# (-1=all); 4. Absolute Modifier (0=none, -50 = -50%, +50 = +50%) | |
| 64 | Mods of movetype/unitgrouptype | OffensiveModByPeople | 1. X; 2. Y; 3. People# (-1=all); 4. Absolute Modifier (0=none, -50 = -50%, +50 = +50%) | |
| 65 | Mods of movetype/unitgrouptype | DefensiveModByPeople | 1. X; 2. Y; 3. People# (-1=all); 4. Absolute Modifier (0=none, -50 = -50%, +50 = +50%) | |
| 66 | Mods of movetype/unitgrouptype | OffensiveModByRegime | 1. Regime # (-1=all); 2. People # (-1=all); 3. SfTypeGroup# (-1=all); 4. Absolute Modifier (0=none, -50 = -50%, +50 = +50%) | |
| 67 | Mods of movetype/unitgrouptype | DefensiveModByRegime | 1. Regime # (-1=all); 2. People # (-1=all); 3. SfTypeGroup# (-1=all); 4. Absolute Modifier (0=none, -50 = -50%, +50 = +50%) | |
| 356 | Mods of movetype/unitgrouptype | MoveTypeTransportType | 1. MoveType#; 2. Transport Type (0=none, 1=Transporter, 2=Attachable); 3. Mode (0/1=Truck, 2=Train) | |
| 358 | Mods of movetype/unitgrouptype | SetRegimeSetting | 1. Regime Slot#; 2. Setting# 1=alternate card gfx; 3. Value | |
| 360 | Mods of movetype/unitgrouptype | AddUnitTextLog | 1. Unit Slot#; 2. Text | |
| 73 | Location(types) | SetLoctypeDestruct | 1. LocType#; 2. LandscapeType#; 3. Sprite # | |
| 116 | Stringlists | SetStringList | 1. Stringlist ID #; 2. Row; 3. Col; 4. New Value | |
| 125 | Stringlists | AddStringList | 1. Rows; 2. Cols | Adds a whole new stringlist object to the game data. Use the CheckStringListLastID to get its ID, which you need to change or read anything from it. |
| 126 | Stringlists | AddStringListCells | 1. StringList ID; 2. Extra Rows; 3. Extra Cols | If you specify 0 will NOT add anything. specify 1 for adding one row or col. You can add rows and cols at the same time. Rows are added at the bottom, Cols on the right. |
| 127 | Stringlists | RemoveStringListRow | 1. StringList ID; 2. Row Number | |
| 128 | Stringlists | RemoveStringListCol | 1. StringList ID; 2. Col Number | |
| 179 | Stringlists | SortStringListID | 1. StringListID#; 2. Column# to sort on; 3. 0=asc, 1=desc | Remember first column is column 0. ASCENDING: highest at top. DESCENDING: lowest at top. |
| 212 | Stringlists | ClearStringList | 1. Stringlist ID # | Delets all rows of this stringlist. |
| 260 | Stringlists | ExportStringlist | 1. StringListID#; 2. Filename | Will save the stringlist data inside specified filename. File contents will be completely overwritten. Please supply a file extenstion like .txt in the name. Will be saved in the 'metadata' directory. |
| 261 | Stringlists | Metrics | 1. Custom string/numeric data 1; 2. Custom string/numeric data 2; 3. Custom string/numeric data 3; 4. Custom string/numeric data 4 | Will use the URL in 2nd string of the metrics.txt to pass on this data. |
| 262 | Stringlists | Key | 1. StringListID#; 2. Key Name; 3. New Value | Presumes a stringlist with in column 0 the key names and in column 1 the text values. |
| 263 | Stringlists | KeyAdd | 1. StringListID#; 2. Key Name; 3. Value to be appended at end of string | Presumes a stringlist with in column 0 the key names and in column 1 the text values. Data is treated as STRINGS!! |
| 265 | Stringlists | KeyAddNumeric | 1. StringListID#; 2. Key Name; 3. Value to be appended at end of string | Presumes a stringlist with in column 0 the key names and in column 1 the text values. Data is treated as NUMERIC. |
| 280 | Stringlists | SetStringListQuick | 1. Stringlist ID #; 2. Rows where Col0 is..; 3. Col; 4. New Value | This Quick version of ExecSetStringList allows you to operate quickly if the col0 of the stringlist are ID numbers. Avoids you from having to loop through the whole thing. |
| 286 | Stringlists | SetStringPart | 1. Tempstring #; 2. Part #; 3. String/Value | Sets specified part to the string/value specified. |
| 287 | Stringlists | StringPartAdd | 1. Tempstring #; 2. String/Value | Adds a new subpart with string/value specified at the end of the tempstring#. |
| 298 | Stringlists | CopyStringlist | 1. From ID; 2. Too ID; 3. Number of columns; 4. Mode 1=clear©, 2=add. columns can be set to 99 or something very high to include all | |
| 310 | Stringlists | DoubleKey | 1. StringListID#; 2. Col0 value; 3. Key Name; 4. New Value | Presumes a stringlist with in column 1 the key names and in column 2 the text values. |
| 311 | Stringlists | DoubleKeyAppend | 1. StringListID#; 2. Col0 value; 3. Key Name; 4. Value to append | Presumes a stringlist with in column 1 the key names and in column 2 the text values. |
| 24 | Miscellaneous | WheaterColor | 1. Red Component (0=no change, 255=full); 2. Green Component (0=no change, 255=full); 3. Blue Component (0=no change, 255=full) | Changes the colour of the prehex sprite. But only of its core sprite not if its optional 64 border sprites. |
| 192 | Miscellaneous | ReloadGraphic | 1. Current filename; 2. New filename | expert use only. part or whole of filename (current filename) is looked for in all loaded graphics and replaced by new filename. use only the filename itself like 'background2.png' for the file to be replaced. use only filename like 'background2b.png' for the string that replaces it. |
| 45 | DC1 AI | AIConservative | 1. Regime Nr; 2. Convervative.. 100% = normal >100% more defensive. <100 more aggressive | |
| 83 | DC1 AI | SetHistoricUnitMove | 1. Historic HQ #; 2. Defend Defined Area #; 3. Attack Defined Area #; 4. Stance (1=def,2=norm,3=att) | |
| 84 | DC1 AI | ChangeAIPower | 1. Regime; 2. X; 3. Y; 4. Power Points | 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. |
| 129 | DC1 AI | ChangeAIDefensive | 1. Regime; 2. X; 3. Y; 4. Defensive Bonus % | >0 is a percentual defensive bonus for defending this area for this regime. NEW AI ONLY |
| 155 | DC1 AI | AIStance | 1. Regime; 2. Stance (0=no overrule, 1=att, 2=def, 3=meeting) | 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. |
| 175 | DC1 AI | RewardPowerOn | 1. X; 2. Y; 3. Power Above; 4. Multi | 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. |
| 182 | DC1 AI | SetHistoricUnitToGroup | 1. Historic HQ/Unit/Div #; 2. To Group with HQ/Unit/Div# in it | This should be called in an 'AI Init Check' since it re-orders strategic groups (after makegroups) and before going into strategic analysis (findbeststrategy). |
| 190 | DC1 AI | AICombatMoveMod | 1. Regime #; 2. Combat Bonus; 3. Movement Bonus | 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. |
| 191 | DC1 AI | AIChangeRoleScore | 1. SFType #; 2. AI Role # (0-49); 3. New score | Allows you to change AI role scores ingame so to influence AI production |
| 193 | DC1 AI | AIProductionResourceComplient | (none) | 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. |
| 214 | DC1 AI | AI_SetTacticalScript | 1. Historical Unit ID#; 2. Hex Target X; 3. Hex Target Y; 4. Attack Towards (1-6) -1=no attack | |
| 28 | DC2 AI | AI_SetAIVP | 1. X; 2. Y; 3. Regime Nr#; 4. AIVP amount. 0(none) - 999 | Remember that setting the name to nothing '' disables the extra tab. Also remember that the event called is supposed to generate 1 message only: no more, no less. The message contents should fit in a 1000x200 pixel area. Not setting the third parameter or to 0 results in tab#=1. |
| 233 | Library Execs | CallFunctionByLibrary | 1. Name of library; 2. Name of function to call | Same as CallFunction, but only looks in specific library. This is to avoid double name issues. |
| 237 | Library Execs | SetGlobalLibVar | 1. Name of library; 2. Name of libvar; 3. New value | Allows you to set a global text value-type libvar. This basically gives you unlimited alternative to gameslots that are excellent for modular design. |
| 238 | Library Execs | SetHexLibVar | 1. Name of library; 2. Name of libvar; 3. New value | Uses ExecSetCardXY in the line before this call for specifiying the hex this operation is done on. You can only set numeric values to the map. This gives you basically unlimited data slots on map hexes. |
| 242 | Library Execs | SetHistoricalLibVar | 1. Name of library; 2. Slot# of historical unit; 3. Name of libvar; 4. New value | Set a historical unit LibVar. Keep in mind its NOT! the ID asked but the slot number in the array of historical units. You can use this to change the LibVar of a historical unit or historical model. Since both use historical units data structure behind the scenes. |
| 264 | UDS | SetUDStabText | 1. UDS Text | To set the UDS text to appear in a management tab that is selected by user. |
| 266 | UDS | SetUDSpopupText | 1. UDS Text; 2. UDS Popuptype | To set the UDS text to appear in a popup. Popup Type 0+1 = regular text popup |
| 305 | UDS | SetUDSbottomText | 1. UDS Text | To set the UDS text to appear in a bottom tab that is selected by user. |
| 308 | UDS | ChangeLocationLISitem | 1. Location slot#; 2. LIS item ID; 3. Qty; 4. Extra instruction | Extra instruction<1 is ADD/SUBTRACT. Extra instruction 1 is OVERWRITE. |
| 309 | UDS | ChangeUnitLISitem | 1. Unit slot#; 2. LIS item ID; 3. Qty; 4. Extra instruction | Extra instruction<1 is ADD/SUBTRACT. Extra instruction 1 is OVERWRITE. |
| 312 | UDS | ClearLISpoints | (none) | Clear all temporary LIS points and free AP points. They are used by the hardcoded LIS_SetNetwork. |
| 313 | UDS | SetLISpoints | 1. Location slot#; 2. LIS Transport Mode ID; 3. (optional) Target ID; 4. Add Points | LIS Points are added to the ID+Target combination. Put -1 if no target. |
| 314 | UDS | SetLISfreeAP | 1. Location slot#; 2. LIS Transport Mode ID; 3. (optional) Target ID; 4. Add Free AP | LIS Free AP Points are added to the ID+Target combination. Put -1 if no target. |
| 267 | Random Related | SetInterfaceCue | 1. Cue Type Number | Cue Type 1 = Exit Random Screen, go the scn. setup screen. 2 = Refresh everything |
| 268 | Random Related | NewMapSize | 1. Width in hexes; 2. Height in hexes; 3. Maploop (0=no,1=yes) | Keep in mind first hex is 0,0. specifying width=1 and height=1 will result in a grand total of (1x1) 1 hex on map. width=4 an height=4 will give you 16 hexes. etc... Make sure to use even width for mapLoop enabled maps. |
| 269 | Random Related | CopyHexToArea | 1. From Library Name; 2. From Hex LibVar Name; 3. Too AreaSlot # | Copies numeric values from libvar to areaslot |
| 270 | Random Related | CopyAreaToHex | 1. From AreaSlot #; 2. Too Library Name; 3. Too Hex LibVar Name | Copies numeric values from libvar to areaslot |
| 271 | Random Related | CopyAreaToArea | 1. From AreaSlot #; 2. Too AreaSlot # | Copies numeric values from one areaslot to another areaslot |
| 272 | Random Related | AreaSet | 1. AreaSlot#; 2. New Value; 3. Optional Second AreaSlot#; 4. Second Slot Value | Set the values of all the hexes. If -1 is specified second areaslot is not used. If second areaslot is used only hexes with specified second slot value are changed. You can of course specify the same areaslot for the second to use this exec as a replace function. |
| 273 | Random Related | AreaAdd | 1. AreaSlot#; 2. Value Change +/-; 3. Optional Second AreaSlot#; 4. Second Slot Value | Modifies the values of all the hexes. If -1 is specified second areaslot is not used. If second areaslot is used only hexes with specified second slot value are changed. |
| 274 | Random Related | AreaExpand | 1. AreaSlot#; 2. Value increase; 3. Optional Second AreaSlot# (or -2 for random mode); 4. Second Slot Value (or randomness 0-100) | Value increase must be >0, 0 or <0. Any value in the areaslot >0 will be expand to neighbouring hexes with lower values and the new value of that hex will be old value +/- value change. Allows you to create distance maps. If -1 is specified second areaslot is not used. If second areaslot is used only hexes with specified second slot value are changed. If value change 0 is used the values are just copied into any neighbours with 0 value. |
| 275 | Random Related | AreaRangeChange | 1. AreaSlot#; 2. Minimum or equal value; 3. Maximum or equal value; 4. New value | If value is beween min or max or equal than its changed for a new value. Ideal for creating a mask to be used as a second areaslot for another areaslot modifying exec. |
| 276 | Random Related | AreaToStringlist | 1. AreaSlot #; 2. Stringlist ID# | Each UNIQUE value in the areaslots will be put in column 0 and the count of the number of hexes with that value in column 1. |
| 277 | Random Related | FindBorders | 1. AreaSlot#; 2. Value A; 3. Value B; 4. Border Mode | Will set all values to 0 except for some that are set to 1 and that are those that are value A with a neighbour hex with value B. Value A can be a specific value or -1 for all values. Value B the same. Even if both values are set to -1 a border will not be detected if hex value and its neighbour value are the same. Only hexes with a value higher >0 are taken into consideration. BorderMode 1 is flag both value A and value B, BorderMode 2 is just flag value A hexes. |
| 281 | Random Related | AreaJoin | 1. Target AreaSlot#; 2. Source AreaSlot#; 3. Mode; 4. Percentage (100=advise) | Mode = 1 is copy to target if higher. Mode = 2 is make average. The source value will be modified by percentage before applying mode and the operation. |
| 282 | Random Related | AreaBlur | 1. AreaSlot#; 2. Distance; 3. Percentage to blur; 4. Mode | Mode=1 is all blur results are accepteble. Mode=2 only higher resulting values are exceptable |
| 284 | Random Related | AreaBlur2 | 1. AreaSlot#; 2. Percentage to Blur; 3. Optional Second Areaslot#; 4. Value required at minimum | Adaption of ExecAreaBlur. Uses Distance = 1 and mode that allows only lower results. It is meant to simulate erosion on land masses. |
| 285 | Random Related | AreaDivide | 1. AreaSlot#; 2. Divide by value; 3. Optional Second AreaSlot#; 4. Second Slot Value | Modifies the values of all the hexes. If -1 is specified second areaslot is not used. If second areaslot is used only hexes with specified second slot value are changed. |
| 288 | Random Related | SetShrowd | 1. On(1)/Off(0) | Switch shrowd on/off. |
| 289 | Random Related | AreaMinMax | 1. AreaSlot#; 2. Minimum value; 3. Maximum value | Assures no value in area is below minimum or above maximum. |
| 290 | Random Related | AreaRandomize | 1. AreaSlot#; 2. Maximum negative randomize; 3. Maximum positive randomize; 4. Only randomize values above or equal value | Changes the areaslot values based on random rolls. |
| 292 | Random Related | MakeErosionAndRainMap | 1. Stringlist ID for Planetary Data | This is a hardcoded random generation function. Please ask for documentation how to use if necc. |
| 293 | Random Related | MakeHeightMapBasedOnTectonicPlates | 1. Stringlist ID for Planetary Data | This is a hardcoded random generation function. Please ask for documentation how to use if necc. |
| 294 | Random Related | MakeMountainsCorrectHeight | 1. Stringlist ID for Planetary Data | This is a hardcoded random generation function. Please ask for documentation how to use if necc. |
| 295 | Random Related | MakeVegetation | 1. Stringlist ID for Planetary Data; 2. Stringlist ID for Helper Table; 3. Stringlist ID for Translation Table; 4. Last call 0=no, 1=yes | The last call sets the origLandscapes. and is the point were we should save the vegetation into them. |
| 296 | Random Related | MakeZones | 1. Stringlist ID for Planetary Data; 2. Stringlist ID for Vegetation Similarity Table; 3. Library name Random; 4. Library name Data | This is a hardcoded random generation function. Please ask for documentation how to use if necc. |
| 297 | Random Related | MakeBiosphereAndAtmosphere | 1. Random Library Name; 2. Data Library Name | This is a hardcoded random generation function. Please ask for documentation how to use if necc. |
| 299 | Random Related | MakeBiosphereDetail | 1. Random Library Name; 2. Data Library Name; 3. Linguistic Library Name | This is a hardcoded random generation function. Please ask for documentation how to use if necc. |
| 300 | Random Related | MakeBiosphereSimulation | 1. Random Library Name; 2. Data Library Name; 3. Initial Call (0/1); 4. Number of rounds to simulate | This is a hardcoded random generation function. Please ask for documentation how to use if necc. |
| 301 | Random Related | MakeColonyLanding | 1. Random Library Name; 2. Data Library Name; 3. Linguistics Library Name | This is a hardcoded random generation function. Please ask for documentation how to use if necc. |
| 302 | Random Related | MakeColonyHistory | 1. Random Library Name; 2. Data Library Name; 3. Linguistics Library Name | This is a hardcoded random generation function. Please ask for documentation how to use if necc. |
| 303 | Random Related | MakeDissolutionHistory | 1. Random Library Name; 2. Data Library Name; 3. Linguistics Library Name | This is a hardcoded random generation function. Please ask for documentation how to use if necc. |
| 304 | Random Related | MakeSurvivors | 1. Random Library Name; 2. Data Library Name; 3. Linguistics Library Name | This is a hardcoded random generation function. Please ask for documentation how to use if necc. |
| 315 | Random Related | MakeListForLocationRequests | 1. Data Library Name; 2. Zone ID or -1 for all | This is a hardcoded random generation function. Please ask for documentation how to use if necc. |
| 316 | Random Related | MakeListForLocationReturns | 1. Data Library Name; 2. Zone ID or -1 for all | This is a hardcoded random generation function. Please ask for documentation how to use if necc. |
| 317 | Random Related | MakeFreeLocationReturns | (none) | This is a hardcoded random generation function. Please ask for documentation how to use if necc. |
| 318 | Random Related | MakeProduction | 1. Data Library Name; 2. Zone ID or -1 for all; 3. Free of cost 0/1 | This is a hardcoded random generation function. Please ask for documentation how to use if necc. |
| 319 | Random Related | MakeZoneEconomy | 1. Data Library Name; 2. Zone ID or -1 for all; 3. Free of cost 0/1; 4. Game Setup 0/1 | This is a hardcoded random generation function. Please ask for documentation how to use if necc. |
| 320 | Random Related | MakeAssetPresentation | 1. Data Library Name; 2. Asset Row Number; 3. Mode | This is a hardcoded random generation function. Please ask for documentation how to use if necc. Mode 0/1=normal, >1=all the ones above this count, -1=all |
| 321 | Random Related | HardcodedScript | 1. Hardcoded Number >0; 2. Create Feedback Message 0/1 | This is a hardcoded random generation function. Please ask for documentation how to use if necc. Mode 0/1=normal, >1=all the ones above this count, -1=all |
| 322 | Random Related | MakeUnitUpkeepCheck | 1. Data Library Name | This is a hardcoded random generation function. Please ask for documentation how to use if necc. Mode 0/1=normal, >1=all the ones above this count, -1=all |
| 323 | Random Related | MakeListForUnitRequests | 1. Data Library Name; 2. historical unit ID or -1 for all | This is a hardcoded random generation function. Please ask for documentation how to use if necc. |
| 324 | Random Related | MakeFreeUnitSupply | (none) | This is a hardcoded random generation function. Please ask for documentation how to use if necc. |
| 325 | Random Related | RemoveLIS | 1. Loc nr; 2. To X; 3. LIS points | This is a hardcoded random generation function. Please ask for documentation how to use if necc. Mode 0/1=normal, >1=all the ones above this count, -1=all |
| 326 | Random Related | ResetForRandom | 1. Random Library Name; 2. Data Library Name; 3. Reset Code | This is a hardcoded random generation function. Please ask for documentation how to use if necc. |
| 327 | Random Related | MakeCustomRandomPage | 1. Random Library Name; 2. Data Library Name; 3. Custom Page ID | This is a hardcoded random generation function. Please ask for documentation how to use if necc. |
| 328 | Random Related | MakeStoryGeneration | 1. Mode.. 1<=early, 2=late; 2.; 3. | This is a hardcoded random generation function. Please ask for documentation how to use if necc. |
| 329 | Random Related | HardcodedStory | 1. tv0; 2. tv1; 3. tv2 (tempvar4); 4. tv3 (tempvar5) | This is a hardcoded random generation function. Please ask for documentation how to use if necc. |
| 330 | Random Related | SetDssDominant | 1. Dominant ID (or -1) | This is a hardcoded random generation function. Please ask for documentation how to use if necc. |
| 331 | Random Related | HardcodedDecision | (none) | This is a hardcoded random generation function. Please ask for documentation how to use if necc. |
| 332 | Random Related | MakeStartOfRound | (none) | This is a hardcoded random generation function. Please ask for documentation how to use if necc. |
| 333 | Random Related | MakeCloseTurn | (none) | This is a hardcoded random generation function. Please ask for documentation how to use if necc. |
| 334 | Random Related | MakeStartTurn | (none) | This is a hardcoded random generation function. Please ask for documentation how to use if necc. |
| 342 | Random Related | CustomDataImport | 1. Stringlist ID; 2. Data Import Mode | 1 = Basic Story (Model Alpha). |
| 343 | Random Related | SetLogic | 1. Flag Stringlist ID; 2. Flag Instructions Stringlist ID; 3. Logic String | This is a hardcoded random generation function. Please ask for documentation how to use if necc. |
| 344 | Random Related | SetWholeLIS | (none) | This is a hardcoded random generation function. Please ask for documentation how to use if necc. |
| 345 | Random Related | MakeLateStartTurn | (none) | This is a hardcoded random generation function. Please ask for documentation how to use if necc. |
| 346 | Random Related | HardcodedSet | 1. type; 2. custom 1; 3. custom 2; 4. custom 3 | This is a hardcoded random generation function. Please ask for documentation how to use if necc. |
| 347 | Random Related | MakeEarlyCinematics | (none) | This is a hardcoded random generation function. Please ask for documentation how to use if necc. |
| 348 | Random Related | MakeLoadGameEarly | (none) | This is a hardcoded random generation function. Please ask for documentation how to use if necc. |
| 349 | Random Related | SuperImposeMessage | 1. text Heading; 2. text Small | This is a hardcoded random generation function. Please ask for documentation how to use if necc. |
| 352 | Random Related | MakeHardcodedSFTypeMods | 1. SFType Slot# | This is a hardcoded random generation function. Please ask for documentation how to use if necc. |
| 357 | Random Related | UdsFileOps | 1. 1=Save, 2=Load; 2. Filename | Saves the UDS keys. Loads the keys in TempUDS |
| 361 | Random Related | InitialDataCloneMoment | 1. Mode | |
| 38 | — | -Obsolete- | 1. Regime Nr; 2. People Nr (-1=all); 3. % morale loss; 4. %chance per unit | |
| 85 | — | OBSOLETE | 1. HQ; 2. Area | |
| 86 | — | OBSOLETE | 1. HQ; 2. Area | |
| 87 | — | PNSOLETE | 1. HQ; 2. HQ | |
| 88 | — | OBSOLETE | 1. HQ; 2. HQ | |
| 160 | — | OBSOLETE | 1. SFType; 2. Hitpoints |
This doc was generated from extracting data from Shadow Empire version 1.32a on 2026-06-05 06:56 UTC.