Skip to content

Logic Scopes — what's available where

Game version: 1.32a

← Documentation index · ← Flags & key namespaces

A story/event runs in a scope chosen by its instance_type. The engine sets a different set of flag instructions (and therefore key namespaces) for each. Using a token outside a scope that provides it resolves to 0 or crashes — so the mod builder scope-checks every logic column and fails the build on a scope-exclusive token used in the wrong scope.

The per-scope flag sets below are extracted directly from ExecHardcodedStory_BasicStory (EventRelatedClass.cs line 144856). Every scope also includes the unconditional flags (set for all instance types) — they are listed in each scope for completeness.

Non-story scopes (stratagem, regime-feat, character-feat, perk-zone, flex-lookup) are not selected by instance_type; their availability is hand-curated in data/scopes/scopes_curated.yml. The mapping from each moddable table (and story instance_type) to a scope is in data/scopes/table_scopes.yml.

global — instance_type 0

Flags available: CHARID, CHARNAME, DIFF, REGID, REGIMEID, REGIMENAME, ROLL, ROUND, TARGETCHARNAME, TARGETREGIMENAME, TEMP6, ZONENAME

Scope-unlocked key namespaces: (only global namespaces: GAMEKEY, RANDOMKEY, REGKEY, TECH, …)

org — instance_type 1

Flags available: CHARID, CHARNAME, DIFF, ORGID, ORGNAME, REGID, REGIMEID, REGIMENAME, ROLL, ROUND, TARGETCHARNAME, TARGETREGIMENAME, TEMP6, ZONENAME

Scope-unlocked key namespaces: ORGKEY

diplomatic — instance_type 2

Flags available: CHARID, CHARNAME, CULTURE, CULTUREID, DIFF, REGID, REGIMEID, REGIMENAME, ROLL, ROUND, SOURCEREGIMEID, SOURCEREGIMENAME, SOURCEREGIMESLOT, SOURCEZONEID, SOURCEZONENAME, TARGETCHARNAME, TARGETCULTURE, TARGETCULTUREID, TARGETLEADER, TARGETMAJOR, TARGETNATION, TARGETNATIONAL, TARGETNATIONALLEADER, TARGETNATIONLEADER, TARGETNATIONNAME, TARGETREGIMEAIID, TARGETREGIMEID, TARGETREGIMENAME, TARGETREGIMESLOT, TARGETSUBCULTURE, TARGETWAR, TEMP6, ZONENAME

Scope-unlocked key namespaces: CULTUREKEY, EXPORTTARIFFKEY, IMPORTTARIFFKEY, REGREGKEY, REVREGREGKEY, SOURCEZONEKEY, STORYIMOD, STORYMOD, TARGETCULTUREKEY, TARGETREGIMEFEAT, TARGETREGIMEKEY, TARGETREGIMESTAT, TARGETREGKEY

zone — instance_type 3

Flags available: CHARID, CHARNAME, DIFF, REGID, REGIMEID, REGIMENAME, ROLL, ROUND, TARGETCHARNAME, TARGETREGIMENAME, TEMP6, ZONEID, ZONENAME

Scope-unlocked key namespaces: COLZONE, ZONEKEY, ZONEORDERROUND, ZONEORDERSTAT, ZONESTAT

character — instance_type 4

Flags available: CHARID, CHARNAME, DIFF, REGID, REGIMEID, REGIMENAME, ROLL, ROUND, TARGETCHARNAME, TARGETREGIMENAME, TEMP6, ZONENAME

Scope-unlocked key namespaces: (only global namespaces: GAMEKEY, RANDOMKEY, REGKEY, TECH, …)

unit — instance_type 5

Flags available: CHARID, CHARNAME, DIFF, HISID, REGID, REGIMEID, REGIMENAME, ROLL, ROUND, TARGETCHARNAME, TARGETREGIMENAME, TEMP6, UNITNAME, ZONENAME

Scope-unlocked key namespaces: (only global namespaces: GAMEKEY, RANDOMKEY, REGKEY, TECH, …)

unit_commander — instance_type 6

Flags available: CHARID, CHARNAME, DIFF, HISID, REGID, REGIMEID, REGIMENAME, ROLL, ROUND, TARGETCHARNAME, TARGETREGIMENAME, TEMP6, UNITNAME, ZONENAME

Scope-unlocked key namespaces: (only global namespaces: GAMEKEY, RANDOMKEY, REGKEY, TECH, …)

trade — instance_type 7

Flags available: CHARID, CHARNAME, DIFF, REGID, REGIMEID, REGIMENAME, ROLL, ROUND, TARGETCHARNAME, TARGETREGIMENAME, TEMP6, TRADEID, ZONENAME

Scope-unlocked key namespaces: TRADEKEY, TRADEREGKEY, TRADERSTAT


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