Perks¶
Game version: 1.32a
← Moddable tables index · Documentation index
Library table: Perks (ID 380) · S&S Editor slot: 11 · Template: 11 perks.csv
Defines Hex Perks: per-hex bonuses rendered with a small icon. A perk is either placed by SET logic during play (exe(346,24,ZONEID,perkId) = AddHexPerk, from a zone-scoped story) or seeded on the map at game start (columns 8-13). Effect Type (col 2) selects what the perk does and how columns 3/5 are read. Per-turn item perks (type 3) are how "produces N metal/turn" perks work.
Scope & logic¶
perk_zone scope (see Logic Scopes — what's available where).
Logic-bearing columns (build-time scope-checked): if, zone_center_if
Columns¶
Column names + count are read from the live template (the game's own headers); descriptions are curated.
| Col | Name | Description |
|---|---|---|
| 0 | ID | Perk ID (S&S id). Auto-assigned per row; reference it with $signs$ in logic so it imports correctly. |
| 1 | Name | Perk name. |
| 2 | Type | Effect Type — selects what the perk does and how col 3 / col 5 are interpreted. Values: 1 = Zone Key — col 3 is a Zone Key name; col 5 adds to it (capped at col 4); 2 = Regime Key — col 3 is a Regime Key name; 3 = Zone Items — col 3 is an Item Type ID, col 5 the qty added per turn (metal=2, IP=8, machines=13, hi-tech=14); 4 = Units — col 3 is 1=morale, 2=readiness, 3=experience; 5 = Governor (col 3 blank) |
| 3 | Data | Effect target — meaning depends on Effect Type (col 2): a key name, an Item Type ID, or a unit-stat selector. |
| 4 | Maximum Value | Maximum value the col-3 variable can reach via this perk. |
| 5 | Increase (CHECK) | Increase / CHECK logic — the value added to col 3 each turn. For per-turn item perks keep this a BARE INTEGER so the hex card shows the number (a formula renders as 0 on the card even though it still applies). |
| 6 | Small Gfx | Small Gfx id — the hex-map icon. Ship base + BIG + SMALL variants and register so SmallLibId.libSlot==0, or AddHexPerk crashes on placement. |
| 7 | Description | Description shown to the player. |
| 8 | Category | INIT Category — set 1 to consider this perk for placement at game start (columns 8-13 are start-of-game seeding only). |
| 9 | IF | INIT Check Logic — IF gate for start-of-game placement (blank = no condition). |
| 10 | SET 1 per X hex | INIT '1 per X hexes' — density for start-of-game placement (100 = one per 100 hexes). |
| 11 | Zone Center IF | Zone Center IF — extra IF gate (current template; the S&S doc shows this column as unused). |
| 12 | Weight | INIT Weight — relative chance when several perks could be seeded on the same hex (100 if unsure). |
| 13 | Event Pic Slot | INIT Event Picture id — asset-tab illustration for a start-seeded perk. |
| 14 | New Col |
Notes¶
-
Columns 8-13 only matter for start-of-game seeding; a perk placed only by SET logic ignores them.
-
Place a perk from a zone-scoped (instance_type 3) Delta/Basic story — a Gustav/Linked decision has ZONEID=0 and AddHexPerk crashes.
This doc was generated from extracting data from Shadow Empire version 1.32a on 2026-06-05 06:56 UTC.