Aurora has six special race types besides the standard race type. They are the Precursors, Swarm, Invaders, Rakhas, Eldar and Ancients. This page follows each of them from the moment its race record or first encounter appears, through what it owns and how it grows, to what it leaves behind. The race type is stored in FCT_Race.SpecialNPRID and FCT_Species.SpecialNPRID, with 0 for a standard race, 1 for Precursors, 2 for Swarm, 3 for Invaders, 4 for Rakhas, 5 for Eldar and 6 for Ancients.
Several neighbouring topics have their own pages. The generic automated design rules that every special race reuses (design philosophy, standard components, automated classes, operational groups and their fleets) are on NPR race generation and automated design. Rift growth and body radiation are in system disasters, and this page covers the Invader arrival and Aether gate side. Swarm boarding is in boarding and ship capture. Ancient construct activation and ruin loot are in salvage and archaeology. Ruin placement during system generation is in star system generation. Strategic valuation and fleet allocation for special races are in NPR strategic planning. The option catalogue and its defaults are in game rule options.
Every special race is an ordinary race record whose race type is set when the race is created. Race creation names the race by type. The Precursors, Ancients, Eldar and Invaders get fixed names. The Precursor name and title are stored with the misspelling “Precusors”. Each Swarm is named “Star Swarm #” plus its race ID, with the title “Swarm”. Each Rakhas race is named “Rakhas #” plus its race ID, with the title “Rakhas”. Every special race gets the homeworld name “Unknown” and a random flag.
A new game creates four special race records after the player races and the ordinary NPRs. It generates the Eldar through the NPR generator with the Eldar race type, then creates the Precursors, Ancients and Invaders on the Earth body. The threat options do not gate these four creations. A new game stops before them when no player race was created. They are also skipped when the Sol jump-point unlinking that follows each ordinary NPR’s starting exploration fails. That unlinking clears a partner’s link and then tries to change the point that link led to, so it fails whenever a Sol jump point has a partner. The exploration step is told not to connect to Sol, so in a normal new game the unlinking has nothing to do. If that unlinking fails, the game shows the error Function #1419 and skips all four special races and the save. The options gate encounters and activity, not the existence of these four records. Swarm and Rakhas records exist only after their triggers fire.
Race creation for each special type adds the species and the race to the game, applies the rank theme, creates a single root naval admin command and grants the starting technologies. Most types then initialise a design philosophy, generate standard components and create automated ship classes. The Precursor, Ancient, Invader and Swarm creations make no homeworld population. The body they are created on is used only to generate their species. The Eldar take the ordinary NPR route, which builds a homeworld like any other NPR.
| Race |
Root admin command |
FCT_Race.StartTechPoints rule |
Ship classes created |
Special ground templates |
| Precursors |
“Precursor Defence Forces” |
the Game Information window’s Minimum Research Points: Precursors input (default 600,000), raised to floor(1.2 x the highest player starting tech points) when lower |
yes |
yes |
| Ancients |
“Ancient Defence Forces” |
fixed 1,200,000, the requested 1,000,000 is overwritten |
yes |
no |
| Invaders |
“Invasion Command” |
the Game Information window’s Minimum Research Points: Invaders input (default 1,500,000), raised to floor(1.5 x the highest player starting tech points) when lower |
yes |
no |
| Swarm |
“Hive Mind” |
formula below, floored at the Minimum Research Points: Star Swarm option (FCT_Game.MinimumSwarmRP), then raised to floor(1.2 x the highest player starting tech points) when lower |
yes |
yes |
| Rakhas |
“Greenskins” |
formula below, floored at 100,000 |
no |
yes |
| Eldar |
“Eldar Navy”, from the ordinary NPR route |
ordinary homeworld research path, floored at 150,000 like every NPR and then at the Game Information window’s Minimum Research Points: Raiders input (default 400,000) |
yes, with starting operational group fleets |
yes |
The Swarm formula is average player research labs x (4d50 / 100) x (DifficultyModifier / 100) x 1.5 x ((current game time - StartTimeSwarm) / seconds per year + 20) x 300 x ResearchSpeed / 100 x the species ResearchRateModifier, truncated to a whole number. The Rakhas formula is average player wealth capacity x (4d50 / 100) x (DifficultyModifier / 100) x 1.5 / 25 x (current game time / seconds per year + 20) x 50 x ResearchSpeed / 100 x the species ResearchRateModifier, also truncated. In both, 4d50 is the sum of four d50 rolls. DifficultyModifier, ResearchSpeed and StartTimeSwarm are FCT_Game columns.
Species generation gives the Precursors, Eldar, Swarm and Rakhas fixed environmental tolerances and personality values, with Translation 0 and Xenophobia 100 in each. Invaders and Ancients get the randomised tolerances of an ordinary species.
| Species |
Oxygen (deviation) |
Temperature K (deviation) |
Gravity (deviation) |
Max pressure |
Determination |
Diplomacy |
Militancy |
Expansionism |
Trade |
| Precursor |
0.3 (90%) |
280 (50) |
1.5 (95%) |
10 |
100 |
20 |
100 |
50 |
20 |
| Eldar |
0.2 (80%) |
280 (50) |
1.5 (95%) |
10 |
100 |
10 |
80 |
20 |
10 |
| Star Swarm |
0.3 (90%) |
280 (100) |
2.0 (95%) |
20 |
100 |
1 |
100 |
100 |
1 |
| Rakhas |
0.15 (90%) |
280 (60) |
1.5 (95%) |
10 |
100 |
0 |
100 |
50 |
0 |
Each Rakhas species is named “Rakhas - #” plus the ID of its body. Separately, the race-level trait values that diplomacy reads are fixed for every special race at Xenophobia 100 and Translation -25. Communication and its special-race penalty are in intelligence.
The design philosophy has rules by race. Precursors always get missile launchers. Eldar, Swarm and Rakhas never roll shields. The Eldar take armour multiplier 1.0, and the Swarm and Rakhas take 1.8. Ancients always get shields. Precursors get them on d10 below 4 and Invaders on d10 below 7. A Precursor or Invader race that misses its own test can still get shields from the same d10 roll through the tech-point rolls of ordinary NPRs. Those give shields on d10 below 9 with more than 600,000 starting tech points, below 7 with more than 400,000 and below 5 with more than 200,000. A race with shields takes a shield proportion of (10 + d15)% and armour multiplier 1.0. The Swarm prefers lasers with high-power microwave alternates, uses lasers for point defence and always uses jump drives. The Eldar prefer railguns on d4 below 4 and lasers otherwise, and always use railguns for point defence.
Each type has its own technology progression categories. Every race starts with naval combat systems. All but the Rakhas add engines and reactors and fuel consumption, and all but the Rakhas and Ancients add missile ECM. The type then adds its own set:
- Precursors add Precursor logistics and ground combat.
- Ancients add Ancient logistics, jump point theory and survey sensors.
- Eldar add genetic enhancement, salvage and raid, stealth and troop drop capacity.
- Rakhas add genetic enhancement and ground combat.
- Invaders add Invader logistics, jump point theory and survey sensors.
- Swarm add the Swarm category, troop boarding capacity, survey sensors and troop drop capacity.
Gauss point defence adds Gauss weapons, shields add shields, and jump drives add jump point theory and jump drives. Each type also has its own operational group progression in DIM_OperationalGroupProgression, with OpGroupProgressionType 2 for Precursors, 4 for Swarm, 6 for Invaders, 8 for the Eldar raiders and 10 for Ancients. The generic progression rules are on the NPR generation page.
When the game looks up a special race by type, it takes the first race with that SpecialNPRID in its race list. When several Swarm or Rakhas races exist, these lookups always resolve to whichever such race comes first.
A ruin type is a fixed catalogue row from DIM_Ruin, shared by every body with that ruin. A body points at one row through FCT_SystemBody.RuinID and at a ruin civilisation through RuinRaceID. Each row holds MaxChance for the d200 selection, base and random abandoned factories (FactoriesBase, FactoriesRandom), five defender chance columns (DefenceBases, OffenceBases, Fleet, Squadron, Patrol), STO, Regiment, fixed and random Deep Space Tracking Stations (FixedDSTS, RandomDSTS), NoDefenders and EmergenceModifier. The STO column is read when a game loads and never used.
RuinID |
Description |
MaxChance |
FactoriesBase |
FactoriesRandom |
DefenceBases |
OffenceBases |
Fleet |
Squadron |
Patrol |
STO |
Regiment |
FixedDSTS |
RandomDSTS |
NoDefenders |
EmergenceModifier |
| 1 |
Destroyed Outpost |
40 |
6 |
5 |
20 |
10 |
0 |
0 |
10 |
0 |
10 |
0 |
1 |
50 |
4 |
| 2 |
Ruined Outpost |
70 |
12 |
10 |
40 |
20 |
0 |
0 |
20 |
10 |
20 |
0 |
2 |
40 |
3 |
| 3 |
Ruined Settlement |
100 |
24 |
20 |
60 |
30 |
0 |
0 |
40 |
20 |
40 |
1 |
1 |
35 |
2.5 |
| 4 |
Ruined Colony |
130 |
48 |
40 |
80 |
40 |
0 |
20 |
60 |
40 |
80 |
1 |
2 |
30 |
2 |
| 5 |
Ruined City |
160 |
96 |
80 |
120 |
60 |
0 |
40 |
90 |
60 |
120 |
2 |
1 |
25 |
1.5 |
| 6 |
Partially Intact Colony |
180 |
180 |
150 |
180 |
90 |
0 |
80 |
120 |
80 |
160 |
2 |
2 |
20 |
1.25 |
| 7 |
Deserted Intact Colony |
190 |
360 |
300 |
250 |
125 |
20 |
140 |
150 |
120 |
240 |
3 |
2 |
15 |
1 |
| 8 |
Partially Intact City |
195 |
720 |
600 |
320 |
160 |
40 |
180 |
150 |
180 |
360 |
3 |
3 |
10 |
1 |
| 9 |
Deserted Intact City |
198 |
1200 |
1000 |
400 |
200 |
80 |
180 |
150 |
240 |
480 |
4 |
4 |
5 |
1 |
| 10 |
Deserted Intact Cities |
200 |
1200 |
2000 |
480 |
240 |
160 |
180 |
150 |
300 |
600 |
5 |
5 |
3 |
1 |
Assigning a ruin rolls d200 and picks the row with the lowest MaxChance that is at least the roll. It sets abandoned factories to FactoriesBase plus a die of FactoriesRandom sides. It reuses the civilisation of any ruin in a system within one jump of the system that started this generation, or generates a new civilisation. A body without an Ancient construct then has a 25% chance (d100 at most 25) of a type 1 construct, whose research field is rolled from all nine fields. Placement conditions are in the generation page.
Sol gets its own ruin rule by body name. Mars gets a ruin on d100 below 6, Mercury on d100 below 4, Titan and Ganymede on d100 = 1, Io, Europa and Callisto on d300 = 1, and Triton, Pluto and Eris on d500 = 1. Sol generation applies it to each body, and the System View mineral regeneration action applies it again to the unpopulated Sol bodies it regenerates.
Ruin defenders turn a percentage chance into a count. With Enhanced Precursors (FCT_Game.EnhancedPrecursors = 1) the chance is first multiplied by 1.5 and truncated. The count is then floor(chance / 100) guaranteed groups, plus one more when d100 is at most the remainder of chance / 100. Immediate defender creation hands over to tomb scheduling before it counts anything when Enhanced Precursors is on, so the 1.5 multiplier only affects tomb scheduling.
Immediate defenders are created when the generation feature step decides a ruin gets defenders. Without Enhanced Precursors they are built at once for the Precursor race. The Precursors get a survey record of the system if they have none. This path does not check NoDefenders.
The groups are rolled in this order. Each count creates fleets of that operational group from DIM_OperationalGroup on the ruin body.
| Order |
Count source |
Operational group |
Single fleet |
| 1 |
DefenceBases |
Orbital Defences (ID 4) |
yes |
| 2 |
OffenceBases |
Orbital Missile Base (ID 20) |
yes |
| 3 |
Fleet |
Missile Battle Fleet (ID 1), or Beam-only Battle Fleet (ID 25) on d4 = 1 |
no |
| 3a |
floor(Fleet / 2), only if step 3 produced groups |
Jump Point Defence (ID 10) |
yes |
| 4 |
Squadron |
Missile Battle Squadron (ID 23), or Beam-only Battle Squadron (ID 24) on d4 = 1 |
no |
| 4a |
floor(Squadron / 2), only if step 4 produced groups |
Jump Point Defence - Small (ID 22) |
yes |
| 5 |
Patrol |
FAC Hunter Squadron (ID 6), or Beam-Only DD Squadron (ID 26) on d4 = 1 |
no |
| 6 |
Patrol, rolled again |
FAC Flotilla (ID 67) |
no |
After the combat groups the game sums the size of Precursor ships in the system with a class maximum speed above 1, in tons. Above 100,000 tons it creates floor(tons / 100,000) Scout groups. Above 5,000,000 total fuel capacity it looks for the gas giant or superjovian with the best Sorium accessibility. It places floor(fuel / 5,000,000) Precursor Harvester Group fleets and one Tanker group there. All three creations also require the count from step 6 to be positive, and that count is still the FAC Flotilla roll. A ruin whose last patrol roll was zero gets no scouts, harvesters or tanker even when tonnage and fuel qualify.
Ground defenders follow. The game rolls Regiment twice, once for mech regiments and once for defence regiments, and creates a Precursor population on the body when either count is positive. Mech regiments use the Precursor Mech Battalion template and are named “1st (body) Mech Regiment” and so on, at Frontline Defence. Defence regiments use the Precursor Defence Regiment template, are named “1st (body) Planetary Defence Regiment” and so on, and stand at Rear Echelon. With more than one regiment it adds ceil(total formation size / 250,000) Precursor Planetary HQ formations named “Planetary Headquarters” at Support and attaches the regiments to them.
Finally, when any Precursor ship is in the system, the population gets one refuelling station if mobile tonnage is positive. It gets one ordnance transfer station and four times the combined class ordnance loadouts when any class carries missiles. It also gets FixedDSTS plus a die of RandomDSTS sides Deep Space Tracking Stations. Every Precursor formation element in the system is set to its base type’s maximum fortification.
With Enhanced Precursors, tomb scheduling replaces immediate creation with tomb groups stored in FCT_PrecursorTombGroup. A d100 roll strictly below NoDefenders cancels the whole ruin. Otherwise the base emergence time is current game time + 0.01 x (d1000 + d1000) x seconds per year / EmergenceModifier.
The same eight steps run as above, but each schedules a tomb group instead of creating fleets. A fleet group adds 0.01 x (d300 + d300) years to the base time. That delay is divided by 3 for orbital defence groups, 2 for orbital missile base groups and 1.5 for groups that avoid danger (DIM_OperationalGroup.AvoidDanger). Each tomb group records the body, the group or ground template, the quantity and the emergence time. The game also adds up the tonnage and fuel capacity of the scheduled groups from the Precursor classes.
The enhanced path has three quirks. The scout, harvester and tanker steps work out their own counts but schedule the step 6 patrol count instead. Harvesters and tankers are scheduled on the ruin body, not on the gas giant. The defence regiment template is scheduled with the mech regiment roll rather than its own roll. A mech roll of 0 with a positive defence roll therefore schedules a defence group with NumGroups = 0. That group creates no formations when it emerges, and the save skips it. The enhanced path also creates no headquarters, support installations or fortification at scheduling time.
A ruin civilisation (FCT_RuinRace) holds an ID, a Level from 1 to 5, a title, a name and two picture names. A new random civilisation rolls d19, with level 1 on 1 to 6, level 2 on 7 to 12, level 3 on 13 to 16, level 4 on 17 to 18 and level 5 on 19. The Ancients civilisation is a level 5 civilisation named “Ancients”, with the Ancients race flag and species picture.
Eleven component builders serve ruin loot. Loot picks a builder by component type and picks one of the two engine builders on a coin flip. Each builder looks up technologies at the civilisation’s level. The level lookup returns the most expensive technology of a type whose FCT_TechSystem.DevelopCost is at most 2^(Level + 1) x 1000. That is 4,000 at level 1 and 64,000 at level 5. Each builder first designs the component from those technologies. It reuses an existing raceless component with equal size, value and cost if one exists, and otherwise adds the new design to the game as a raceless component. Loot weighting is in salvage component loot.
| Component |
Technologies at ruin level |
Fixed choices |
| Laser |
focal size, wavelength, capacitor |
Standard Laser Size and Recharge Rate (tech 26596), Standard Mount (tech 55406) on d3 below 3, else the level’s energy weapon mount |
| Railgun |
type, velocity, capacitor |
shot quantity 4 |
| Particle beam |
strength, range, lance, capacitor |
Standard Mount (tech 55406) |
| Meson cannon |
focal size, focusing, capacitor |
none |
| Carronade |
calibre, capacitor |
Standard Mount (tech 55406) |
| Gauss cannon turret |
rate of fire, velocity, rotation gear, fire control speed |
Gauss Cannon Size vs Accuracy 6HS and 100% (tech 26645), weapon quantity 2, tracking speed fire control AdditionalInfo x 4, armour 0 |
| Shield |
type, regeneration, maximum size |
size from the maximum size technology |
| Level-scaled engine |
engine technology, fuel consumption |
Thermal Reduction Signature 100% Normal (tech 26091), thrust modifier 1, size 5 + 5 x Level HS |
| Maximum-size engine |
engine, fuel, minimum thrust, maximum size |
Thermal Reduction Signature 100% Normal (tech 26091), thrust and size from the two technologies’ AdditionalInfo values |
| CIWS |
rate of fire, rotation gear, fire control speed and distance, active sensor, ECCM |
none |
| Jump drive |
efficiency, squadron size, squadron radius |
ship size d100 + d100 + 10, Military Jump Drive (tech 33302), Commercial Jump Drive (tech 33303) on d3 = 1 |
The gauss turret builder searches existing components of the gauss cannon type for both the cannon and the turret. The second search uses the turret’s size, value and cost.
The Precursor record exists from game creation. Encounters come from the special feature step of system generation. The step is skipped for Sol, for a system where a race was placed, and for systems generated as part of a race’s own setup, such as an NPR’s start or a Swarm expansion. The step counts the distinct non-Sol systems known to non-NPR races. When the Generate Precursors option (FCT_Game.Precursors) is 1 and the generation is for a player or NPRs Generate Precursors (NPRsGeneratePrecursors) is 1, each ruin body in the new system gets defenders when d10 is at most that count.
The Generate Precursors option also gates random wrecks. With it on, d10 = 5 starts random wreck generation for the new system. It creates one wreck, then another while d100 is at most 50, with that chance falling by 10 after each wreck down to 10. A random wreck picks the Precursor race unless later rolls switch it to Invaders (d10 = 5), Eldar (d5 = 5) or Ancients (d50 = 5), each overriding the previous.
The Precursors own defender fleets, a population on each defended ruin body, ground formations and, with Enhanced Precursors, tomb groups. A tomb group stores an operational group or a ground formation template, the body, EmergenceTime, LastTriggerEvent and NumGroups (default 1).
Without Enhanced Precursors the defenders are static after creation. With it, every increment runs tomb emergence after boarding combat.
For each tomb body the game sums the non-Precursor ships in fleets orbiting the body. A commercial class counts its size / 10 in HS and any other class counts its ClassCrossSection, and the total is converted to tons. It adds the total size of non-Precursor ground formations on the body. The acceleration factor is sqrt(tons / 1000), with a minimum of 1. If any group on the body had a trigger event less than five days ago, the factor is raised to at least 20.
Trigger events come from combat. A hit on a Precursor ship stamps LastTriggerEvent on every tomb group in that ship’s system. So does a ground combat in which the Precursor race takes part.
Each group’s EmergenceTime falls by increment length x (factor - 1). A group emerges when the current game time reaches its EmergenceTime, and the next increment is then cut to 5 seconds. A fleet group releases one group plus one more for each remaining group on a coin flip. When some remain, it subtracts the released count and reschedules at current game time + d10000 x 3600 seconds. A ground group creates all NumGroups formations at once. After each tomb body, the game drops every tomb group whose time is not in the future. That includes due groups on bodies not yet processed in the same increment, which therefore never emerge.
An emerging fleet group creates nothing when the Precursor race has no survey record of the system. Otherwise it creates the fleets as a single fleet, and stops there when the body has no Precursor population. With a population it adds a refuelling station if there is none, and fuel equal to twice the new fleets’ fuel capacity. It adds an ordnance transfer station if there is none and four times their ordnance when they carry missiles. It adds a cargo shuttle station if there is none, and twice their maintenance supplies. An emerging ground group creates the Precursor population if needed and names the regiments by template, “Mech Regiment” or “Planetary Defence Regiment”. It places all of them at Frontline Defence. It adds Deep Space Tracking Stations only when the population has none, FixedDSTS plus a die of RandomDSTS sides on a ruin body and 1 elsewhere.
The Precursors take part in the NPR strategic update with several exclusions. They skip the early retreat from systems with known hostiles, offensive reinforcement of threatened systems, and exploration orders for unexplored jump points and surveys. In a combat system where they have no valued population, they assign their fleets against hostile fleets with an escalating strength ratio. Only their fleets whose group avoids danger join escape retreats. Idle combat fleets in a system with no valued population guard the body with the most abandoned factories.
Precursor populations on ruin bodies are always valued at Core. Precursor ground elements lose no morale from losses. Precursor headquarters attach mech and defence regiments.
A crippled Precursor, Invader or Swarm fleet, or any fleet with FCT_Fleet.NoSurrender set, rams instead of rolling to surrender. Its candidates are the hostile ships that its own formations have not boarded. The crippled fleet is ordered to ram the nearest of those ships’ fleets, measured with Lagrange point shortcuts. Other crippled fleets with no nearby combat ship roll to surrender at most once per 120 seconds. The surrender chance is (200 - determination - xenophobia) / 10 percent and the no-surrender chance is (determination + xenophobia) / 10, using the highest values among the fleet’s species. The fixed Eldar species values therefore give a surrender chance of 0 and a no-surrender chance of 20. The crippled test and ram resolution are in ramming decision and resolution. The surrender formulas are in boarding surrender.
Precursor missile ordnance does not count as a population asset. Ground combat removes an empty Precursor or Rakhas population with an event saying the alien forces were defeated and “Our forces did not find any installations or useful materials.” When the occupier is an NPR, a Precursor population that surrenders with zero people has its ordnance cleared before the occupier absorbs it. Generic surrender is in ground combat.
Destroyed Precursor ships leave wrecks, because only Swarm ships skip the wreck. Only standard races evacuate crews into lifepods. The ruin remains on the body for archaeology.
The Swarm appears in two ways. The first is system generation. The special feature step counts the distinct non-Sol systems known to non-NPR races. The first time that count reaches Player Known Systems for Invaders (FCT_Game.InvaderSystems) it stamps StartTimeInvaders, and the first time it reaches Player Known Systems for Star Swarm (SwarmSystems) it stamps StartTimeSwarm, each with the current game time. A Swarm can then appear when all of these hold:
The step then picks the best mining body with a mining value above 4 inside the 50 AU apoapsis limit. It needs d30 at most the known system count and then d30 = 10, or d50 = 10 with Enhanced Swarm (EnhancedSwarm = 1). Enhanced Swarm also stores the system ID in SwarmInvasion.
Swarm expansion runs in the construction cycle while SwarmInvasion is above 0 and the Generate Star Swarm option is 1. It succeeds when d10000 is at most 3000 x years elapsed. It always expands from the original SwarmInvasion system. When that system no longer exists, the game resets SwarmInvasion to 0, which re-enables the generation trigger. With known stars it walks the known systems by distance from the source and accepts each on d5 = 1, or on d20 = 1 after a 1 in 10 roll. The list starts with the source system itself at distance zero. Without known stars it picks a system number the way a new jump connection would. A missing system is generated as a neutral system with no races. A newly generated system gives the best mining body within the 50 AU limit. An existing system, or one with no such body, gets a new fixed asteroid named “AP” at a random position at twice the outer survey radius. After the Swarm is created, d10 below 3 sets SwarmInvasion to -1, which stops expansion and generation-time Swarms for good.
Creating a Swarm always creates a new Swarm race. The body with the largest population in the game serves as the species body. The race gets FCT_Race.BioShips set and a survey record of the invasion system. Its strength is d400 + DifficultyModifier + floor(5 x years since StartTimeSwarm).
| Strength |
Hive fleet |
Geological survey, gravitational survey, scout, boarding, salvage, extraction |
Cruiser |
Assault |
Attack |
| below 200 |
Small Hive Fleet |
1 each |
1 on d4 = 4 |
0 |
0 |
| 200 to 399 |
Medium Hive Fleet |
d2 each |
1 on d3 below 3 |
1 on a coin flip |
1 |
| 400 to 599 |
Large Hive Fleet |
1 + d2 each |
d2 |
d2 |
d2 |
| 600 or more |
Very Large Hive Fleet |
surveys and scouts 1 + d3, the rest 2 + d2 |
1 + d2 |
1 + d2 |
1 + d2 |
All these groups are created at the invasion body. The support groups are Swarm Geological Survey, Swarm Gravitational Survey, Star Swarm Scout Squadron, Swarm Boarding Fleet, Swarm Salvage Squadron and Swarm Extraction Squadron. The combat groups are Swarm Cruiser Squadron, Swarm Assault Squadron and Swarm Attack Squadron.
The Swarm owns hive ships (classes whose design has DIM_AutomatedClassDesign.HiveShipSizeClass above 0), per-ship bio-energy (FCT_Ship.BioEnergy), Swarm research projects and fleets of captured ships. A Swarm research project (FCT_SwarmResearch) holds the race, the technology and the accumulated points. The hive sizes are Small Hive (size class 1), Medium Hive (2), Large Hive (3) and Very Large Hive (4).
Bio-energy enters through extraction and salvage. Extraction runs each construction cycle for fleets whose group function is Swarm extraction and that sit on a body. Each Swarm Worker adds orbital mining capacity x admin command mining bonus x deposit accessibility x years elapsed for each deposit to its own bio-energy. A deposit shrinks by the extracted amount, and one that would be overdrawn gives its remainder and is removed. Below half its original amount, accessibility becomes round((original accessibility - 0.1) x amount / half the original amount + 0.1, 2 decimals). Salvage paths are in salvage other race paths.
Bio-energy transfer runs in the construction cycle. Each non-hive ship with bio-energy fills the nearest hive in the same system up to its class BioEnergyCapacity, then the next nearest.
Hive production runs in the strategic update when the update is forced or more than 10,000 seconds have passed, for hives above 250 bio-energy. A hive builds a ship only when its bio-energy covers the class cost, and each ship built costs that amount. A full hive that is not a Very Large Hive refits instead of building. In a system with hostile presence the hive builds to ratios by class size. It builds one Swarm Cruiser when cruiser size is below half the FAC total. When escort size is below half the FAC total it builds another Swarm Cruiser, not a Swarm Escort. It builds up to two Swarm Jump FACs below one tenth, up to five Swarm BioAcid FACs below half or with no FACs, up to five Swarm Microwave FACs below one third, and up to five Swarm Boarding FACs below one sixth.
Elsewhere the hive builds by race-wide counts, with L the largest size class among hives above 250 bio-energy:
- A Swarm Worker while workers are fewer than geological survey ships.
- A Swarm Salvager while salvagers are fewer than geological survey ships and fewer than
2 x L.
- A Swarm Geosurvey while there are fewer than
2 x L, and a Swarm Gravsurvey on the same rule.
- Another Swarm Worker while workers are fewer than three times the geological survey ships.
- A Swarm Assault Transport while there are fewer than L.
- A Small Hive, from a Very Large Hive only.
After each of the first four builds, a hive left below 1,000 bio-energy stops building for that update.
A new Swarm ship is built at the hive and joins its operational group. A build event names the new ship and the hive that built it. A full hive refits as follows. A hive that is not a Small Hive refits to the Medium Hive class, and a Small Hive refits to the Large Hive class. As written, a Medium Hive refits to its own class, a Large Hive refits to Medium, and no rule ever refits to the Very Large Hive class.
Swarm technology comes only from salvage. For each technology in a salvaged component, the game finds the cheapest technology of the same type that the Swarm does not know and whose cost is at most the component technology’s cost. It awards DevelopCost / 100 x d5 points to that technology. Salvaging an intact captured ship whose class came from another race awards this once for every component installed. The first award to a technology creates a project without testing completion. A later award that brings the total to DevelopCost completes the technology. Completing an engine technology refreshes the Swarm classes, and completing an armour technology rebuilds the ground units.
Armour regeneration runs every increment for damaged Swarm ships of original Swarm classes (FCT_ShipClass.OtherRaceClassID = 0). It restores floor(ArmourThickness x ArmourWidth x elapsed seconds / 432,000) cells. When that covers the total damage it clears all damage, and otherwise it repairs the most damaged column one cell at a time. Fractions are not carried between increments.
Swarm ships need no fuel or crew quarters, and their repairs consume no maintenance supplies. Movement burns no fuel, automated classes get no fuel storage, damage control repairs ignore supply cost, the effective damage control rating is size / 100, and readiness treats fuel as sufficient. The periodic commander bonus experience step skips Swarm commanders. Swarm jump drives get squadron size plus 3.
Strategic allocation sends hive, attack, boarding and swarm attack fleets to Extreme and High value systems, and swarm attack fleets to Medium ones. Extraction fleets go monthly to surveyed safe bodies with more than three deposits inside the 50 AU apoapsis limit. A fleet already sitting on a listed body moves only when the target’s mining value is at least 1.2 times that body’s. Every extraction fleet scans the same descending list, so several fleets can be sent to the same body. Valuation is on the strategic planning page.
Salvager fleets go to valued wreck systems without recent hostiles, with a requirement of 1 per system. Swarm salvagers also go to hive systems, with a requirement of 10. A hive ship acts as the primary salvage ship when a Swarm fleet has no ship with a salvage module. Locally, idle hives salvage the largest ship of the nearest captured fleet, then the nearest wreck, then installations. A captured fleet with no ships is removed. Captured fleets follow the nearest hive in their system. Without one, the game queues a route to each reachable remote hive in jump-distance order without stopping. Each new route clears the previous one, so the last reachable hive wins.
Swarm targeting skips ships that Swarm formations have already boarded. Swarm and Eldar planetary targets are limited to STO units and shipyards. A ship captured by the Swarm goes into a fleet of the StarSwarmCapturedShip operational group (ID 31). The boarding move action is not offered against a Swarm ship contact. Swarm boarding orders follow the rules in Swarm boarding operations.
Destroyed Swarm ships leave no wreck. The game holds a rule that would create a Swarm wreck from a Swarm class design, but no rule calls it. Player maintenance processing excludes ships whose class copies a Swarm class.
The Invader record exists from game creation. An Aether rift stores its system, position and diameter, one rift per system, plus a selection weight that is recalculated at each arrival roll. Rifts are created in two places.
System generation creates one when the Generate Invaders option (FCT_Game.Invaders) is 1, the generation is for a player or NPRs Generate Aether Rifts (NPRsGenerateRifts) is 1, and the known non-Sol system count is at least Player Known Systems for Invaders (InvaderSystems). It also needs d20 at most that count and d100 = 25.
The construction cycle counts the distinct systems known to non-NPR races that have not gone supernova. It requires at least 10 such systems and at least InvaderSystems. With fewer it ends rift processing for that cycle after growth, before rift creation, radiation and arrivals. With the Generate Invaders option on, it creates a rift in a random one of those systems when d100,000 is at most 1000 x years elapsed x (years since StartTimeInvaders / 20).
A new rift has a diameter of 10,000,000 km. With Enhanced Invaders (EnhancedInvaders = 1), d10 = 1 adds two d500,000,000 rolls and d10 of 2 to 4 adds two d50,000,000 rolls. The rift sits at a d360 bearing and d4000 / 100 x the system scale factor AU from the system centre. The Invaders get a survey record of the system. Growth, radiation and construct suppression are in the disasters page.
Rift processing runs in the construction cycle. After growth, the eligibility gate, the new-rift roll and radiation, it rolls d100,000 against years elapsed x (largest diameter^0.3333 + 2). On success it cuts the next increment to 5 seconds and sets the tonnage budget to largest diameter / 100 - FCT_Race.TonnageSent.
Each rift’s selection weight becomes a running total of its diameter / 1,000,000, truncated. The game takes the Invader operational group progressions with a ProgressionOrder above FCT_Race.LastProgressionOrder, in order. When none remain it resets LastProgressionOrder to 0 and takes all of them. It totals each group’s tonnage from the active, non-obsolete Invader classes. While a group fits the remaining budget it adds the tonnage to TonnageSent, picks a rift weighted by diameter, and creates the fleet instantly at a random point within the rift’s square. It stops at the first group that does not fit. LastProgressionOrder is never advanced, so every arrival starts from the same progression order.
Invader system value follows the summed EM signature of populations in the system. Crippled Invader fleets ram as described under Precursor behaviour. Their design philosophy uses a survey sensor value of 4 and a warship engineering value of 6. No rule removes an Aether rift, so rifts persist, grow and irradiate for the rest of the game. Destroyed Invader ships leave ordinary wrecks.
Rakhas are generated per body. During system generation, when race creation is allowed and the system’s race chance is above 0, each planet and moon first tries an ordinary race. When that fails and the Generate Rakhas option (FCT_Game.Rakhas) is 1 in a player generation, the game tries a Rakhas race on that body. A success counts as a race in the system, which also suppresses the later special feature step.
A ruin body never gets Rakhas. Other bodies need a surface temperature of 223 to 323 K, gravity of 0.08 to 2.9, pressure of 0.2 to 3 atm, at least one deposit, oxygen of at least 0.01 atm and the 80 AU apoapsis limit, then d10 at most 5. The System View window holds an action that tries a Rakhas race on the selected body, but no control is connected to it.
Each success creates a new Rakhas race and species and a population with one Deep Space Tracking Station. Warbands number ceil(a die of ceil(S) sides + DifficultyModifier / 50), at least 1. S is the summed deposit accessibility plus the Duranium accessibility a second time. Above 3 warbands the game rolls a die of (warbands - 1) / 3 sides, with integer division, for battlewagon forces. It rolls a separate die of the same size for planetary defence forces. Warbands are named “Warband” and stand at Frontline Defence. Battlewagon forces are named “Battlewagons” at Frontline Attack, and planetary defence forces “Planetary Defence” at Rear Echelon. All elements start at maximum fortification.
The Rakhas creation makes no ship classes. Its progression categories are naval combat systems, genetic enhancement, ground combat and engine power, plus Gauss weapons when the point-defence roll picks Gauss. It has none of the engines and reactors, fuel consumption or missile ECM categories. Its armour multiplier is 1.8, without shields.
Rakhas end through ground conquest. An empty Rakhas population is removed, as for the Precursors, and surrender follows the generic rules.
The new game generates the Eldar through the NPR generator with the Eldar race type. It makes an ordinary homeworld system, sets that system’s number to -1 and creates the race on the chosen body. The homeworld population is 750. The starting build points are divided by 4, which leaves them equal to one year of the homeworld’s wealth production. The Eldar get no shipyards and only the Eldar ground templates. Their starting fleets skip shipyard assignment.
The strategic update ends at once for the Eldar when the Generate Aether Raiders option (FCT_Game.Eldar) is 0. Raids also need the count of distinct systems known to non-NPR races to reach the Player Known Systems for Raiders option (RaiderSystems). The first qualifying raid deployment stamps StartTimeEldar with the current game time.
Raider generation runs in the construction cycle when the Generate Aether Raiders option is 1. It does nothing until Player Known Systems for Raiders (RaiderSystems) distinct systems, Sol included, are known to non-NPR races. It uses multiplier = (current game time - StartTimeEldar) / seconds per year / 20 + 1 and threshold = floor(10000 x years elapsed x multiplier). One d10000 roll at most the threshold adds a research lab at the capital. A second independent roll adds one fleet at the capital, chosen by FCT_Game.EldarOpGroupProgression.
While StartTimeEldar is still 0, the multiplier counts the whole game time. The stamp needs a strategic update that reaches raid deployment, which takes recent hostile ships or a per-increment update with an increment above 10,000 seconds. StartTimeEldar therefore stays 0 for every raider generation cycle until one of those conditions holds.
EldarOpGroupProgression |
Group |
| 0, 1, 6, 9, 12 |
Lone Raider |
| 2, 7 |
Eldar Salvage |
| 3, 8, 13 |
Slave Transport |
| 4, 11 |
Raider Squadron |
| 5, 10 |
Eldar Troop Transport |
| 14 |
Raiding Group |
The value goes up by one after each fleet and wraps to 0 after 14.
Eldar research follows the ordinary NPR design philosophy progression at any Eldar population with research labs. The construction cycle sets the first research target (FCT_Race.ResearchTargetCost) only for standard NPRs. With the Eldar target still 0, the first test of accumulated research against it passes at once.
An Aether gate stores its system, ID, creation time, position and CooldownTime. A new gate is placed at random x 3,000,000,000 x system scale factor km from the system centre, capped at 3,000,000,000 km, at a bearing in 0.1 degree steps. Each sub-pulse subtracts the sub-pulse length from every gate’s cooldown, with a floor of zero.
A gate transit adds size x 5 seconds of cooldown for each commercial ship and size x 50 for each other ship, with size in HS. An outbound transit moves the fleet to the gate and applies standard transit shock. A move order to a gate completes as a return to the capital at (0, 0). The return clears armour and component damage and refills fuel, maintenance supplies and the ordnance loadout. It also clears cargo, minerals, components, colonists, survivors, installations and embarked formations without crediting them anywhere. It rebuilds assault groups on Eldar Troop Transport ships, as many Eldar Assault Force formations as the ship’s free troop capacity holds, named “Assault Group #” plus a number. It removes the origin gate when no Eldar fleet remains in that system. Shock and transit timing are in movement.
A fleet counts as able to reach a ready gate in a given number of seconds when the gate’s cooldown is zero and the distance is strictly below speed x seconds. Ordering fleets to ready gates sends each fleet to its system’s gate when the cooldown is zero. In a system without a gate the cooldown test fails with the error Function #3411, and the remaining fleets in the list get no orders. The Eldar quiet exit and the Eldar ordnance return both use this queueing.
Raid deployment runs at the end of the Eldar local update. An Eldar strategic update reaches that point only with recent hostile ships or an increment above 10,000 seconds. The forced construction cycle update passes 0 seconds, so without recent hostiles it ends first.
With mobile military fleets away from the capital, raid deployment first sends slave transports and salvage fleets. Lone Raiders that have sat at the capital for over three months then go to targets, strongest first. With NPRs Encounter Raiders (NPRsEncounterRaiders) at 0, or on a coin flip either way, the target pool is the systems known to non-NPR races. Otherwise it is every system without a supernova. The pool excludes the capital system and the systems that already hold Eldar mobile fleets. A d5 = 4 roll with more than five Eldar-surveyed candidates scores the surveyed candidates by d10000 + FCT_RaceSysSurvey.RaidRating, and other cases score every candidate by d10000 alone. Fewer than 10 candidates stops the deployment.
For each target, highest score first, the Eldar create a survey record and a “system has been discovered” event when the system is new to them. They skip a known system when its DangerRating exceeds the strongest available raider’s protection value. They create a gate when the system has none. A new gate adds POI waypoints at planets inside the 20 AU apoapsis limit. Without such planets, survey locations numbered below 7 each get a POI waypoint on d3 = 3. One raider transits through each ready gate. POI waypoints are described in waypoints and points of interest.
Support dispatch sends slave transports to Eldar populations outside the capital and to raided systems with lifepods. It sends salvage fleets to raided systems with wrecks, skipping systems already served. It never creates a gate. A support fleet goes through an existing ready gate only when the system has no threat, mobile defence above three times the threat, or a danger rating below the local protection value.
RaidRating on the Eldar survey of a system grows by the crew rescued from lifepods, by (component mineral cost x amount x 0.3, truncated) for each salvaged wreck component, and by the wreck minerals recovered, truncated.
In a threatened system where mobile defence is below twice the threat, the Eldar try to send capital offensive fleets through the system’s gate. That needs a ready gate and capital offensive fleets idle for three months whose summed adjusted size and speed rating covers 2 x threat - defence. The fleets go strongest first until the requirement is met. The local fleets are then ordered to retreat, with an immediate exit when no reinforcement was sent.
Eldar retreats always use the system’s gate and create one when it is missing, as described in rally, retreat and system exit. Under missile threat, an Eldar fleet can escape through a ready gate that it reaches within 60 seconds. A quiet Eldar system sends its fleets home through ready gates after three months without Eldar transits. Both rules sit in the local system response order. Ordnance-deficient Eldar fleets return through gates instead of reloading. Eldar troop transports idle at the capital for three months transit by gate to Eldar populations valued above Colony that lack their assault force, creating a gate there if needed.
The game has no Eldar defeat rule. Gates disappear only through the return transit rule. Destroyed Eldar ships leave ordinary wrecks.
The Ancients record exists from game creation. In player system generation with Ancient Relics (FCT_Game.AncientRelics) at 1 and no earlier special feature, each body with an Ancient construct is scored with an outpost chance of 50 and a minimum score of 1. The highest score, starting from 1, then sets the system’s resource fleets. That step runs even when the system has no construct.
Relic site scoring treats ruin bodies differently. A ruin body gets the “Ancients” ruin civilisation, created on first use, and scores 1. A non-ruin body must have a surface temperature of 213 to 343 K, gravity of 0.2 to 3, HydroExt at least 5 and the 150 AU apoapsis limit. A dangerous gas rejects it when its AtmosGasAmount is at least its DangerousLevel / 10000 with integer division, so a gas whose DangerousLevel is below 10,000 rejects at any amount. It also needs oxygen of 0.03 to 0.6 atm and at most 40% of the pressure. The score starts at 1 and adds one for each of these:
HydroExt above 20.
- Four range tests on temperature, gravity and oxygen that always pass.
- The 5 AU apoapsis limit.
- Pressure above 0.6 atm.
- Total accessibility of deposits above 10,000 tons greater than 3.
- Total accessibility of deposits above 20,000 tons greater than 5.
The outpost needs d100 at most the chance and the score at least the minimum.
The resource fleets work from the site score. Above 1 they use the best-accessibility gas giant or superjovian with more than 500,000 Sorium. The game makes three rolls of d100 below the score squared for Ancient Harvester Group fleets. On three successes it adds Ancient Maintenance Bases and, on d3 = 1, a Lone Dreadnought. At score 1 each such gas giant with Sorium accessibility above 0.7 gets a harvester group on d20 = 20. Each body of radius at most 250 whose total accessibility of deposits above 10,000 tons exceeds 4 gets mining groups on d20 at most the score. It gets one Ancient Mining Group, a second when the total accessibility of deposits above 20,000 tons exceeds 5, and a third when that of deposits above 50,000 tons exceeds 5. Three mining groups add Ancient Maintenance Bases and, on d4 = 1, a Lone Dreadnought. Every body without a construct that has gravity at least 0.2, HydroExt at least 5 and an atmosphere is then tried with an outpost chance of 5 and a minimum score of 4. That retry can also re-tag ruin bodies with the Ancients civilisation.
An Ancient relic outpost creates an Ancients population and installs by score tier:
| Score |
Installations |
Construction factories |
Maintenance scale |
Naval yard |
| above 8 |
spaceport, sector command, d3 naval headquarters, d8 Deep Space Tracking Stations |
(d20 + d20) x score |
3 |
on d40 below the score when the worst-case colony cost is positive, capacity of one beam dreadnought, 2 slipways on d4 = 1 |
| 7 to 8 |
spaceport, d6 Deep Space Tracking Stations, one naval headquarters |
(d15 + d15) x score |
1 |
on d60 below the score when the worst-case colony cost is positive, capacity of one beam dreadnought |
| 5 to 6 |
refuelling station, d4 Deep Space Tracking Stations |
(d10 + d10) x score |
0 |
none |
| 3 to 4 |
refuelling station, d2 Deep Space Tracking Stations |
none |
0 |
none |
| 2 or less |
refuelling station and d2 Deep Space Tracking Stations, each on its own roll of d3 - 1 below the score |
none |
0 |
none |
A construct adds truncate((ResearchBonus - 1) x 5) x score factories. Without a construct, a body with a current colony cost of at most 2 and a score of at least 6 gets score x d2 bonus factories. Mines, workforce infrastructure, habitats, terraformers and dreadnoughts follow body-specific rules. A body with a worst-case colony cost of 4 or more gets automated mines instead of mines, and Ancient Habitat or Ancient Large Habitat groups instead of infrastructure.
On a body with a worst-case colony cost of 4 or more, maintenance comes from Ancient Maintenance Bases. Their count is ceil(maintenance station modules x 2500 / (beam dreadnought size x 50 x maintenance scale)), with the dreadnought size in HS. That scale is 0 for scores up to 6, so the division fails with the error Function #2659. The outpost step ends there and skips the dreadnought, habitat, terraform and crew steps, leaving the installations already added.
Both the resource fleets and the outpost ships end with FCT_Ship.CurrentCrew = 0.
The Ancients are inert. They are excluded from the strategic update, the construction cycle’s NPR updates, combat sensor and targeting updates, colony environment recalculation, the production tick and Sorium harvesting. Their design philosophy draws module counts from Ancients-only formulas. Harvester modules are 100 + d40 x 10, terraform modules 5 + d4 x 5, mining modules 50 + d20 x 5 and maintenance modules 25 + d10 x 5.
What the Ancients leave is archaeology. Constructs keep their research and rift suppression effects once activated. Random wrecks pick the Ancients race on d50 = 5, and use the Ancients beam dreadnought class when the wreck is not placed at a body. Construct activation and loot are in the salvage page.
| Race |
Record created |
Encounter trigger |
Main assets |
Growth |
Strategic AI |
What remains |
| Precursors |
new game |
ruin defenders in generation |
defender fleets, ruin populations, tomb groups |
tomb emergence (Enhanced only) |
yes, with exclusions |
wrecks, ruins |
| Swarm |
per Swarm |
generation feature, expansion |
hives, bio-energy, captured fleets |
extraction, salvage, hive builds, salvage research |
yes |
no wrecks |
| Invaders |
new game |
rifts in generation and cycle |
rifts, arrival fleets |
rift growth, arrival budget |
yes |
wrecks, permanent rifts |
| Rakhas |
per body |
failed ordinary race on a body |
one fortified population |
none known |
yes |
conquered body |
| Eldar |
new game |
known-system threshold |
hidden homeworld, gates, raiders |
raider fleets, research labs |
yes, when raiders enabled |
wrecks |
| Ancients |
new game |
relic feature in generation |
crewless fleets, outposts, constructs |
none |
no |
outposts, constructs, wrecks |
Option (FCT_Game column) |
Races |
Where it gates |
Generate Precursors (Precursors), NPRs Generate Precursors (NPRsGeneratePrecursors) |
Precursors |
ruin defenders and random wrecks in generation |
Enhanced Precursors (EnhancedPrecursors) |
Precursors |
tomb scheduling, 1.5 x counts, increment emergence, combat triggers |
Generate Star Swarm (StarSwarm), NPRs Generate Star Swarm (NPRsGenerateSwarm), Player Known Systems for Star Swarm (SwarmSystems) |
Swarm |
generation trigger and expansion gate |
Enhanced Swarm (EnhancedSwarm), SwarmInvasion, Minimum Research Points: Star Swarm (MinimumSwarmRP) |
Swarm |
d50 trigger and expansion, expansion state, tech floor |
Generate Invaders (Invaders), NPRs Generate Aether Rifts (NPRsGenerateRifts), Player Known Systems for Invaders (InvaderSystems) |
Invaders |
rift creation in generation and cycle |
Enhanced Invaders (EnhancedInvaders) |
Invaders |
rift starting diameter |
Generate Rakhas (Rakhas) |
Rakhas |
per-body attempt in player generation |
Generate Aether Raiders (Eldar), Player Known Systems for Raiders (RaiderSystems), NPRs Encounter Raiders (NPRsEncounterRaiders) |
Eldar |
raider generation, strategic update, raid target pool |
EldarOpGroupProgression |
Eldar |
next raider group |
Ancient Relics (AncientRelics) |
Ancients |
relic feature step |
Difficulty Modifier (100 = Normal) (DifficultyModifier) |
Swarm, Rakhas |
Swarm strength, tech points for both, warband count |
Defaults, window labels and the minimum research inputs of the Game Information window are in game rule creation arguments.
All examples are calculated from the rules on this page, not measured in play.
Ruin defender counts. A Ruined City row has DefenceBases = 120. Without Enhanced Precursors a chance of 120 gives 1 group plus a second on d100 at most 20. With Enhanced Precursors the chance becomes truncated 120 x 1.5 = 180, so 1 group plus a second on d100 at most 80.
Tomb timing. For the same row, EmergenceModifier = 1.5. Rolls of 400 and 600 give 0.01 x 1000 = 10 years, so the base emergence is 6.67 years ahead. An Orbital Defences group with d300 rolls of 150 and 150 adds 3 / 3 = 1 year, emerging 7.67 years ahead. A warship with 100 HS cross-section orbiting the tomb gives 5,000 tons and a factor of sqrt(5), about 2.236. A 432,000 second increment then pulls emergence forward by about 534,000 seconds. A combat hit in the system raises the factor to 20, so the same increment pulls it forward by 8,208,000 seconds, about 95 days.
Swarm strength. With d400 = 250, DifficultyModifier = 100 and 6 years since StartTimeSwarm, strength is 250 + 100 + 30 = 380. That is a Medium Hive Fleet with d2 of each support type, one attack squadron, a cruiser squadron on d3 below 3 and an assault squadron on a coin flip.
Swarm armour. A class with armour thickness 5 and width 30 has 150 cells. A one-hour increment restores floor(150 x 3600 / 432000) = floor(1.25) = 1 cell. A 30-minute increment gives floor(0.625) = 0, and that fraction is lost.
Invader arrival. One rift has grown to 11,000,000 km. A five-day cycle is 432000 / 31536000, about 0.0137 years. The threshold is about 0.0137 x (11,000,000^0.3333 + 2), about 0.0137 x 224.3, about 3.07, so d100,000 must roll 3 or less. On success the budget is 110,000 - TonnageSent tons.
Eldar raider odds. Ten years after StartTimeEldar, the multiplier is 10 / 20 + 1 = 1.5. A five-day cycle gives floor(10000 x 0.0137 x 1.5) = 205. Each of the lab roll and the fleet roll succeeds on d10000 at most 205, about 2.05%.
Aether gate cooldown. An Eldar fleet with one 120 HS warship and one 50 HS freighter adds 120 x 50 + 50 x 5 = 6,250 seconds to the gate. With 5-second sub-pulses that takes 1,250 sub-pulses to clear.
Rakhas warbands. A body whose deposit accessibilities sum to 4.2, including Duranium at 0.8, gives S = 4.2 + 0.8 = 5.0. With d5 = 4 and difficulty 100 the count is ceil(4 + 2) = 6. That adds a d(5 / 3) = d1 = 1 battlewagon force and 1 planetary defence force by integer division.
| Table |
Fields stored |
When saved |
On load |
FCT_Game |
threat switches, enhanced flags, SwarmSystems, RaiderSystems, InvaderSystems, EldarOpGroupProgression, StartTimeEldar, StartTimeSwarm, StartTimeInvaders, SwarmInvasion, MinimumSwarmRP, AncientRelics |
with the game row |
restored with the game settings |
FCT_Race |
SpecialNPRID, BioShips, TonnageSent, LastProgressionOrder |
with each race |
restored with each race |
FCT_Species |
SpecialNPRID |
with each species |
restored with each species |
FCT_Ship |
BioEnergy |
with each ship |
restored with each ship |
FCT_RaceSysSurvey |
RaidRating |
with each system survey |
restored with each system survey |
FCT_AetherRift |
SystemID, Diameter, Xcor, Ycor |
every rift |
rows whose system is missing are skipped |
FCT_AetherGates |
AetherGateID, SystemID, position, CreationTime, CooldownTime |
every gate |
rows with a missing system are skipped, and gate IDs are kept |
FCT_PrecursorTombGroup |
body, group, template, NumGroups, EmergenceTime, LastTriggerEvent |
only groups with NumGroups of at least 1 and a group or template |
rows with a missing body are skipped, and an unknown group or template is left unset |
FCT_SwarmResearch |
RaceID, TechSystemID, ResearchPoints |
with each Swarm race |
rows with a missing race or technology are skipped |
FCT_RuinRace |
ID, Level, names, pictures |
every ruin civilisation |
restored before the bodies |
FCT_SystemBody |
RuinID, RuinRaceID, AbandonedFactories |
with each body |
see below |
When a game is loaded, a body is linked to its ruin type and ruin civilisation only when AbandonedFactories is above 0. When either ID is zero the game clears the factories and both IDs. A body whose factories are exhausted reloads with its ruin IDs but without its ruin type or civilisation attached, which matters only to rules that read them later. An unknown positive ruin or civilisation ID fails the body load with the error Function #1170. The remaining bodies are then not loaded, and parent bodies are not linked.
DIM_Ruin is static catalogue data and is read afresh at every load. The rift selection weights are recalculated at each arrival roll. The raid target scores and the two short-increment requests for tomb emergence and Invader arrival are not saved. SwarmInvasion survives reload, including the -1 stop value. Ruin civilisations load before bodies. Rifts and gates load after bodies, jump points and Lagrange points. Tomb groups load after ships and alien records.
- Race records and shared machinery, how each special race record is created, named and given technology.
- Ruins and ruin civilisations, the ruin catalogue, civilisations and loot component builders, including the per-body Sol ruin chances.
- Defender counts, turning a ruin chance into a group count.
- Immediate defenders, Precursor fleets and garrisons built at generation.
- Tomb scheduling, Enhanced Precursor groups waiting to emerge.
- Precursors, appearance, behaviour and end state of the ruin guardians.
- Precursor emergence, how tomb groups wake under nearby tonnage and combat.
- Swarm, Swarm creation, expansion and end state.
- Swarm growth, the bio-energy economy, hive builds, salvage research and armour regeneration.
- Swarm behaviour, Swarm logistics exemptions and fleet orders.
- Invaders and Aether rifts, rift creation and Invader arrivals.
- Rakhas, per-body native garrisons.
- Eldar and Aether gates, the hidden homeworld and raider growth.
- Aether gates, gate placement, cooldown and return transits.
- Eldar raids, raid targets, support fleets and raid rating.
- Eldar combat and logistics, gate reinforcement, retreats and returns.
- Ancients, relic sites and resource fleets.
- Ancient assets, outpost installation tiers and crewless ships.
- Comparison and game-rule options, the options that gate each race.
- Persistence and reload, what the save keeps for special races.
- Game rule options, defaults and window labels of the threat options.
- NPR race generation, the design philosophy, classes and groups special races reuse.
- Player race creation, the highest player starting tech points used as a floor.
- Star system generation, placement of ruins, constructs and special features.
- System lifecycle, where tombs, rifts and ruins sit in a system’s life.
- System disasters, rift growth, suppression and radiation.
- Salvage and archaeology, constructs, ruin loot and Swarm salvage.
- Boarding and ship capture, Swarm boarding and surrender rules.
- Ground combat and conquest, how Precursor and Rakhas garrisons fall.
- Ground force organisation, the formation templates and field positions used by garrisons.
- Ownership, destruction and aftermath, wrecks, lifepods and capture after a ship dies.
- NPR strategic planning, special-race valuation and fleet allocation.
- NPR tactical behaviour, ramming, retreats and gate exits.
- NPR fleet readiness, the readiness rules Swarm fuel exemptions bypass.
- Movement and logistics, Aether gate transit shock and timing.
- Waypoints and points of interest, the POI waypoints the Eldar place at new gates.
- Intelligence, communication with special races.
- Game time and state refresh, the construction cycle that runs Swarm, Eldar and rift steps.
- Research and scientific personnel, technology completion behind Swarm salvage research.
- Component design, the component formulas used by ruin loot builders.
Related community documentation and developer posts. These may describe a different game version.