Professional Documents
Culture Documents
Mostly documenting the SE_Data Library tables, but also some other stuff.
Hex Libvars
Zones Zone numbers for land (coastal and inland) and sea
zones. Each zone has a unique ID that corresponds with
the Zones Stringlist.
MiningDiscovery 0 = discovered
>0 still points that need to be chewed away by
prospecting
artifactType 0 = no Artifacts
1 = Very Rare
2 = Rare
3 = Uncommon
4 = Common
artifactQty 0=none
>0 is ratio of Artifact find versus scavengePoints
excavated…. 200 … is 1:200 chance per
scavengePoint.
artifactDiscovered 0=no
1=yes
9 Farming
LandscapeType #
10 Asset ID counter
21 Earth Plants “
Lowest Ideal
Temperature
22 Earth Plant Middle “
Ideal Temperature
(used for water calcs)
23 Earth Plants “
Highest Ideal
Temperature
24 Earth Plants “
Highest Temperature
31 Alien Plants “
Lowest Ideal
Temperature
33 Alien Plants “
Highest Ideal
Temperature
34 Alien Plants “
Highest Temperature
37 General Robotic
Culture
38 Shadow Culture
39 Free Folk Culture
47 Local Year
56 Slow AI 0=fast, no
1=regular, yes (will set AIProdBonus to 100)
2=slow, (AIProdBonus to 250)
60 Native base Lifeform 0= for none or Lifeform ID (to later copy its SFTypes
ID from)
396 Regime GUI Keys Same as regkeys but just used for remembering GUI settings
Col 0 = Regime ID
Col 1 = Key
Col 2 = Value
211 Detailed Reports These are set by stories/rules and are real reports that will still have to be
posted somewhere.
FOR BIG
PRESENTATION Col 0 = Type
OF What does it concern?
ANYTHING ● 0 = Custom Report (story logic)
● 1 = Tech field discovered (A)
● 2 = Reached 100 research point for a binary res.field (A)
● 3 = Construction of asset completed (B + D)
● 4 = Regular Task Report (C)
○ All are assembled in one report.
● 5 = Regular Zone Economy Report (D)
○ All are assembled in one report.
● 6=Model Discovered
● 7=Model Developed
● 8=OOB Discovered
● 9=OOB Operat.
● 10=Asset
● 11=Territory
● 12=New AssetType
● 13=DecisionMade
● 14=Foreign Affairs
● 22= Artifact
Col 1 = From instance ID
● Type1 => Org ID
● Type2 => Org ID
● Type3 => Zone ID
● Type4 => Task ID
● Type 5 => Zone ID
● Type13 => Char ID
● Type14 => RegimeID
● Type 22 => Asset ID
Col 2 = regime ID
Col 3 = Text unformatted but with CRLF, also without intro and final remark or
names or header. This will be added on the fly depending on how it is
processed.
Col 4 = Data
● Data = taskType ID for type4
----
Col 5 = Custom Report Name (if Type=0)
Col 6 = Optional Subheading (some Types can organize these if present)
Col 7 = Place for Custom Report
● 1 = Dashboard
● 2 = Inbox
----
These logs are written on several places but they are cleaned on Close Turn
event for the regime in question.
257 Log Regime Cleared at end of turn then used to log changes.
“Profile” Changes Col 0 = Regime ID
Col 1 = Key (Profile or Bonus)
& Bonus Build Up Col 2 = Change ( or 0 for another remark like higher limit)
Col 3 = Description
Profile Logs
History
These logs are written on several places but they are cleaned on Close Turn
event for the regime in question.
341 Flex Executed in MakeStoryGen(2) and after the interactive stories. Used for rules
Story Logic and minor news generation.
Unless Group is specified the instructions are executed one by one. So if 10
zones instruction 1 will be executed for all zones then instruction 2 will be
executed for all zones.
---.......
Col 6 = Instr.Group.. 0 = no Group, single instruction, otherwise keep executing
same ComplexStoryID + Type + Group Number till other combi and go to next
instance
---......
Col 7 = N/A…. use to be: Detailed News Type # (or 0 for default placement)
---.....
Col 8 = Custom Report Name (overrules col7)
Col 9 = Custom Subheading Name
Col 10 = Custom Report Type
● 0 = Ignore
● 1 = Dashboard
● 2 = Inbox
Col 11 = Special Key Log
● Zone Key Name to be grouped with (if CheckType==3) for displaying
this with a certain bottom Zone subtab (like crime zone stat)
----.....
Note: Story Logic only runs for Complex Story IDs that are actually running.
413 Flex Custom Used to put other subpages in the bottom like the hardcoded Unrest and
Zone Info Militancy
Col 0 = Name / Mouse-over Header
Col 1 = Event Pic Library Name
Col 2 = Event Pic Original ID
Col 3 = Mouse-over into string
Col 4 = Mouse-over change log read from:
● 1 = Zone Key Logging (id 167)
Col 5 = Read Enum LogType # (or 0 for custom)
Col 6 = Custom Logging Key Name (see col 11 in detailed reports)
Stringlists
ID Name Content
START GAME
LATER ON
Col 19 = Problem ID
Col 20 = Can gain equal/above Profile X
Col 21 = Can lose equal/below Profile Y
Col 22 = To Gain.. Regime KeyX
Col 23 = Must be equal or above
Special rules
-Morale is only added if it is lower than BaseMorale of unit.
-Catch “pp” for regimekeys
Col 4 = Maximum
Col 5 = CHECK value (for example 10)
Initial center for empty territories (assigned perks for centers do not counter as
placement for overall placement)
Col 11 = IF check for Zone center placement
Col 12 = Weight (0= not used as center there)
Name = manpower
Dimensions:
● population
● soldiers
● workers
Col 17 = Regular Size Event Picture slot # for overlay (own library before import,
global after)
-------------------
ActionCardObj.
● customCostType
○ 0 = no… use PP
○ 1 = FP (fate points)
● customCostQty
252
253
Col 22 = Blocked from random discov / acquirement if pre-req not met. 1=block it
in that case , 0=no
443 Flex Col 0 = Tech Type Group Id (needs to be same as a Tech Type Id which mirrors
Tech Type it)
SE_ Groups Col 1 = Mastered with X fields researched
Org Col 2 = Gives you Tech Type Group Id
444 Col 3 = Gives you Tech Type Group Id
Col 4 = Gives you Tech Type Group Id
Col 5 = Gives you Tech Type Group Id
Col 6 = Name
To allow deletions for stories that have run the maximum ammount of times to
pick the one most often chosen untill done.
If a story trigger has max per instance rule. (max 1 instance weight, which can
still cause the same story to trigger in multiple rounds) Than write and check
here.
This allows only once havint the story per Leader
NOTE:
● If col7>0 then
○ Simple Stringlist using parsed VALUE
○ Text read from stringlist using col8,col9,col10,col11
● If col7<1 then
○ Regular use
○ Text read from col5 using instructionc col1-col6
NOTE:
FlagInstructions are added in before evaluation.
<LOOKUPASSETNAME=<ASSETID>> is used to be looked up in col 8 and is
the “value parsed”
Flex Col 0 = Decision ID
Decision Col 1 = Type
Message ● 1 = Send to TargetRegime
Col 2 = SubType
300 ● If type=1 then subtype = OrgType ID
Col 3 = Text (including replacements by Lookup and Flags)
This allows a feedback system where human 1 plays card that generators story
trigger for human 2 and when human 2 decides THIS stringlist allows feedback
to be send back to human 1.
Col 10 = Event Pic (initially Event Pic ID (SE_Models), but on stringlist import it is
changed to Event Pic Slot#)
Col 11 = X slot / Column # (0=first col)
Col 12 = Y slot / Row # (0=first row)
Col 13 = Width
Col 14 = Height
Col 9 = Reinf Library ID# (to set SFType too) or reinf slot# (after import)
Col 10 = Reinf Library Name
Col 11 = NOT USED YET-Reinf 2 Library ID# or reinf slot# (after import)
Col 12 = NOT USED YET-Reinf 2 Library Name
Col 13 = Upgradeable 0=no, 1=yes
Col 14 = Replaceable 0=no, >0 = category that it can switch with
Col 15 = Choice ID 3
Col 16 = Drawing Type ID
Col 17 = Description
Col 21 = Choice ID 4
Col 22 = Choice ID 5
Col 23 = Choice ID 6
Col 24 = Choice ID 7
227 Flex If designing a new model instance this table is used to find influence of tech’s on
Tech Model model stats
+246 Type Effects
Col 0 = Tech Type Id
+air Col 1 = Model Type Id
518 Col 2 = Stat Type Modified
Col 3 = Modifier Absolute using SET_LOGIC
● Needs VALUE to be set in Flag Instructions
Col 4 = Modifier Random using SET_LOGIC
● Needs VALUE to be set in Flag Instructions
Col 5 = If Logic to check if this tech bonus should be applied
Col 6 = Description/Comments
Note: if 2 rows give a stat an extra they are additive. Negatives can thus be used
as well.
The Logic check can be used to see if a certain stat is present at a certain value
for example.
226 Flex If designing and creating a new SFType this table tells how the SFType stats are
Model Type set by the Model Stats.
+245 Calculations The SFType stats are transformed into myriad variables by the actual event that
does this from the masterfile.
Has been Col 0 = Model Type Id as String that supports [1][2][3] multiple IDs
replaced by a Col 1 = SF Type Stat Type
hardcoded ● SF Type Stat Types
function:
○ 30 = Soft Att
Helper_SetSFT ○ 31 = Soft Def
ypeStats... ○ 32 = Hard Att
○ 33 = Hard Def
○ 34 = Hitpoints ( Att and Def)
○ ..
○ 37 = Weapon Type
○ 38 = Armour Type
○ 39 = Engine Type
○ 40 = Hitpoints overrule for under infantry attack
○
○ 41 = Type of Personal Weaponry , specific ID
○ 42 = Type of Personal Armour / Exposure Rules , specific ID
○ 43 = Type of Engine, specific ID
○
○ 44 = Artillery Range
○
○ 45 = Move LIS Item ID
○ 46 = Move Qty per Hex
○ 47 = Attack LIS Item ID
○ 48 = Attack Qty per Attack
○ 49 = Defensive Qty per Attack
○ 50 = Upkeep Item ID
○ 51 = Upkeep Qty per Round
○ 52 = Move Item Max Qty
○ 53 = Attack Item Max Qty
○ 54 = Upkeep Item Max Qty
○
○ 61 = Pop cost
○ 62 = Metal cost
○ 63 = Industrial Points cost
○ 64 = Machinery cost
○ 65 = High Tech cost (<=still to implement)
○ 66 = Rare Metal Cost
○ 67 = Atomics cost
○
○ 71 = Move Cost redux absolute modifier (20= 20% less cost)
○ 72 = Recon increase %
○ 73 =
○ 74 =
○ 75 = number of attacks
○ 76 = depleting hitpoints rule
○ 77 =
○ 78 =
○ 79 = move Redux
○
○ 81 = Model ID
○ 82 = related to cavalry ? (sfx)
○ 83 = special 1
○ 84 = special 2
○ 85 = special 3
○
○ 90 = moveType
○ 91 = unitgroup
○ 92 = combat item storage
○ 93 = structural points dam
○ 94 = ratio
○ 95 =
○ 96 =
○ 97 =
○ 98 =
○ 99 = weight
○
○
○ Specials:
■ 111-120 is Forest combat bonus
○
Col 2 = early SET_Logic calculation initial modifier (added to value)
Col 3 = late SET_Logic 2nd modifier (replaces value)... the 2nd is run after all
the 1st ones are run
You can set a SFType STAT multiple times. Effects are additive (you can even
pass negative, minimum effect is 0 for sftype stat)
328 Flex Model Type Takes the latest gfx that match
Graphics
(330) Col 0 = Model Type ID
Not used Col 1 = Gfx Set Id (or 0/-1 if for all gfx sets)
anymore... Col 2 = Choice Number (1,2,3) (or 0/-1 for if by default)
Col 3 = Choice Value
Col 4 = File name for illustration (bottom gui)
Col 5 = File name for smallgfx (counter)
228 Regime Models Once a new instance has been designed and SF created it is remembered here.
(so we know from where to continue designing)
(and discovered
?) Also used to note discovered model type IDs.
Col 0 = Model ID
Col 1 = Model Type Id
Col 2 = Regime Id
Col 3 = Name
Col 4 = Version number (version number 0 present means model type disc.)
Col 5 = SF Type ID #
● If 0 means development aint complete
Col 6 = Original Version 1 Model ID
Col 7 = BP already invested in design
Col 8 = BP needed to finish
Col 9 = Quality Level ( => Using Stringlis 299 for SFType Quality Levels)
● 0 = Not Set (always ok for all)
● 1 = Obsolete
● 2 = Low
● 3 = Average
● 4 = High
● 5 = Elite
Col 10 = Round it was finished
Col 11 = AI Note
● 0=none
● 1=cheap version
Note: modelid=0 + version = 0 it means it is known but now first instance has
been created yet.
Note: modeltypeid = x, Some models can be added that are nothing more as
direct references to precoded SFTypes from Trooplibs.
230 Regime Model Not necc. But good for documentation purposes.
History Techs
Col 0 = Model ID
Col 1 = Tech Id
Col 2 = Level of Tech at Design Time
Col 3 = Model Stat ID increased
Col 4 = increased with X
229 Regime Model Save the stats for an existing version since we need to be able to max the
History Stats previous with the new when a new version is constructed.
This is needed by the hardcoded algorithm that creates new versions and the
like.
+air Helper in
523 combat
calculations
Col 4: IF check
Col 5 : n/a
Col 6: Comment Field ( used for Design Logs)
Col 7: IF Model Stat # (<1 means no check)
Col 8: = value x
232 Flex Upon embarking upon creating a new instance there might be choice questions.
+248 Model Type Here is what should be asked.
Choices
+air Col 0: Choice Type ID (1,2,3,..
520 Col 1: Model Stat Type ID (41,42,43,...)
Col 2: Stat Value (11,12,13…)
Col 3: Text
Col 4: IF logic for showing option
● MODELTYPE flag instruction should be set to ModelType ID in question
Col 5: Question Text (for first with choice ID)
Col 6: Specific ID
Col 7: Description (for mouse over)
Col 8: Cost for cost field (text)
Col 9: Model Stat Type ID
Col 10: Stat Value
Col 11: Model Stat Type ID
Col 12: Stat Value
Nb: See stringlist ID 329 for the graphics look up for SFType rendering
*Independent Units only use the OOB naming table and not the TOE one.
Col 12 = Portrait ID
Col 34 = Seniority
Note: col 3-7 are used to find the best approx for the stats rolled.
STORY IDs :
449 = Find Deposits
450 = Construct asset
451 = Declare War
452 = Raise Regular Troops
Once player
notified once for
an assetType it
is not done
again
Continued Stringlists
ID Name Content
Col 4 = Reserved
Col 5 = Reserved
Col 7 = Reserved
Col 8 = Reserved
255 Old Regime Keys Same as regime Keys. But copied at end end of turn.
History
History
287 Old Zone Keys Same sas zone Keys. Copied at end end of turn.
256 Flex Regime Profile Col 0 = regime name key 1 that influcences key 2
Effects Col 1 = regime key 2 name
Col 2 = type of influence
● 1 = Profile > Profile limiting max
○ If >50 then limits the target to 100-((value-50)).
○ Limit is adjust by 11 and 12 types. Up to max
+25.
○ If target higher than decrease with 10% or 1
point.
● 11 = Key > Profile increasing max if <50
● 12 = Key > Profile increasing max if >50
Col 0
1 = Air
2 = Chopper (no destination airbase necc.)
3 = Truck
4 = Train
5 = Convoy
Col 2 = Theater
0 = Land
1 = Sea
2 = Air
Col 3 = SubType
0 = none
1 = chopper air
Col 1 = Type
1 = major regime
2 = minor regime
3 = inert regime linked to major regime (like rebel)
4 = inert regime permanent (like anarchy / non-Aligned)
Col 2 = Culture ID
● If 0 it means it is a 999 territory
Col 4 = Name
Col 5 = Symbol Id
Same kind as key planetary variables but for the Data Library.
Note: that if variant choice ID does not exist yet the model
Type will not be created.
public/private
Final
Col 10 = weight
Col 11 = use LocType Slot #
402 Flex Unit feats Col 0 =ID
(401 in lib) Col 1 = Regime Feat ID
Col 2 = Name
Col 3 = Ratio of Qty : Individual SFs … 1 : X
Col 4 = Acquire Chance Modifier (100=default)
Col 5 = Lose Chance Modifier (100=default)
Col 6 = Works for Regular Units (at start only this)
Col 7 = Works for Militia
Col 8 = Works for OHQ
Col 9 = Works for SHQ
Col 10 = Event Pic Slot# (402), Event Pic ID for lib (401)
(initialize fixes)
Coll 11 = Friendly Unit Group
Col 12 = Description
Col 13 = Individuals receiving bonus (always attached to only
1)
Col 14 = Replaces which ID
Note: The Hisvar Values story the ID + Qty of the Unit Feats
Notes:
● The correct col 7 slot should be set on initialise of the
child library when copying the records.
● Using col 14 Family ID the game can allow you to
branch of a number of levels if this allowed.
PeopleObj
● Will be used to set the veteran levels or other special states like Barbarians or Forced
Slaves.
● Tv0 = cultureId
● Tv1 = peopleTypeId (11-19 => 12..13...14 = Militia)
Historical Units
31x AP Infantry
32x AP Artillery
33x AP Afv
HIS VAR 60
HISVAR 81 Hunger
HISVAR 91 Ant AI
100 = FreeFolk generic
200 = Alien animal generic
300 = New Adv Alien Movement (behaviour
based)
SE_Linguistics
ID Name Content
Item codes:
0 = ignore
1 = space
2 = dash (-)
3 = life class based namelist
4 = lifeform prefix alpha
5 = lifeform prefix beta
Item codes:
0 = ignore
1 = space
2 = dash (-)
---
3 = planet radical prefix “a”, “e” , “co”
4 = planet radical “bar”, “tel”, “trit”
5 = planet radical suffix “ion”, “ia”
6 = planet planetary suffix like “Prime” or “III”
7 = planet half-radical start like “ba”, “te”, “tri”
8 = planet half radical end “t”, “z” , “c”
---
9 = char name prefix “a”, “o”, “e”
10 = char name radical
11 = char name suffix “y”, “t”, “i” masculin
12 = full first names masculin *
13 = first half last name *
14 = second half last name *
15 = full last names *
16 = char name suffix “a”, “ia” feminne
17 = full first name feminie *
--
18= local agenda prefix
19 =local agenda radical (<zone> is zonename )
---
20 = zone asset prefix 1
21 = zone asset prefix 2
22 = farm radicals
23 = mine radicals
24 = scav radicals
25 = hunt radicals
65 = full asset names
---
26 = great sea prefix
27 = med sea prefix
28 = small sea prefix
29 = great sea name
30 = med sea name
31 = small sea name
--
40 = zone language based prefix
41 = zone language based suffix
42 = zone language based fullname
--
45= empire language based suffix to zone name
46= empire language based name from scratch prefix
47= empire language based name from scratch suffix
--
50 = culture people suffix language based
--
61 = hex perk first part
62 = hex perk second part
--
63 = hex area first part
64 = hex area second part
--