Story Logic¶
Game version: 1.32a
← Moddable tables index · Documentation index
Library table: Story Logic (ID 343) · S&S Editor slot: 4 · Template: 4 story_logic.csv
A powerful table that changes world data outside of player actions: IF/SET logic run at chosen points in turn processing, optionally per-instance (each regime / zone / character). Attached to a Complex Story by ID, it inherits that story's scope; with no instance_type of its own the builder treats it as global (conservative) for scope checks.
Scope & logic¶
global scope (see Logic Scopes — what's available where).
Logic-bearing columns (build-time scope-checked): check, set
Columns¶
Column names + count are read from the live template (the game's own headers); descriptions are curated.
| Col | Name | Description |
|---|---|---|
| 0 | Complex Story ID | Complex Story ID — if >0 the named Complex Story must be running or the row never triggers (0/blank = ignore). |
| 1 | CheckType | Check Type — the instance this row is evaluated against. Values: 0/blank = the current Regime; 2 = each OTHER regime (diplomatic logic); 3 = each Zone owned by the regime; 4 = each Character of the regime |
| 2 | CheckLogic | IF Logic (Check) — SET runs when blank or this returns >0. |
| 3 | SetLogic | SET Logic — executed when the row triggers (effect logic; scope-checked). |
| 4 | Log Text | Log Text — optional inbox report (UDS rendered, unless col 11 is used). Can be overruled by col 7/8+. |
| 5 | Mode | Mode — when in turn processing this runs. Values: blank/0 = late (after stories/decisions created), non-AI only; 1 = early (before stories/decisions), non-AI only; 2 = late, non-AI only; 3 = new round, AI regimes only (no log text); 4 = new round, non-AI only (no log text) |
| 6 | Instr.Group | Instruction Group — blank to ignore; >0 keeps executing lower rows for the SAME instance until the group number changes (for multi-step TEMP calculations). |
| 7 | Detailed News Type | Detailed News Type — not used anymore; leave blank. |
| 8 | Cust.ReportName | Custom Report Name — blank to skip cols 8-10; otherwise rows sharing this report name combine their text. Lookups/flags allowed. |
| 9 | Cust.SubheadingName | Custom Subheading Name — not working yet; leave blank. |
| 10 | Cust.ReportType | Custom Report Type. Values: 1 = report in the REP tab Overview subtab; 2 = report in the REP tab Letterbox subtab |
| 11 | Cust.SpecialKey | Custom Special-Key Log — blank to skip; only with CheckType 3 (Zones) and a key declared in Custom Zone Info: appends the log text to a Zone-Key mini report (like Unrest/Crime). |
Notes¶
- Three text destinations: auto report (leave 8-11 blank), custom report (cols 8-10), or a Zone-Key report (col 11) — use one.
This doc was generated from extracting data from Shadow Empire version 1.32a on 2026-06-05 06:56 UTC.