Content fields

Written by tools/ApiDocs from the game's own records each build; do not edit by hand. How content files work is in content. Every tech has the shared fields, then those of its class. Names are in snake case; a list is written [a, b, c].

Every tech

Fields every technology has (fifteen int32, read). Name and description are not here: they are strings 0 and 1 of string list 100000 + TechBase.TechId.

FieldTypeMeaning
picturewhole numberPicture id in Image/Tech.img; all theory techs use 25000.
research_groupwhole numberLine of the research tree; 0 for theories.
research_costwhole numberScaled 75 to 125 percent by the species' research level for the field.
costwhole numberPer-component cost, scaled by tech level and summed into a design's cost, which is also each ship's upkeep.
build_costwhole numberFeeds design and construction cost.
kindwhole numberSlot or role; see TechKinds. -1 theory, -2 planetary improvement.
prerequisiteslist of whole numbersFour tech ids, 0 for none.
hit_pointswhole numberStructure of the built item.
sizewhole numberSpace used in a design, scaled by tech level.

class = "star_drive" (6001)

Class 6001, read.

FieldTypeMeaning
ratingwhole number2, 4, 6 or 8: wormhole jumps a ship can make away from supply, not a speed.
max_hull_classwhole number, 0 to 255Largest hull the drive moves: 2, 3 or 5.

class = "tactical_drive" (6002)

Class 6002, read.

FieldTypeMeaning
combat_speedwhole number
defense_bonuswhole number, -32768 to 32767

class = "sensor" (6003)

Class 6003, read.

FieldTypeMeaning
rangewhole number, -32768 to 32767
accuracy_bonuswhole number, -32768 to 32767
targets_trackedwhole number, -32768 to 32767

class = "ecm" (6004)

Class 6004, electronic countermeasures, read.

FieldTypeMeaning
strengthwhole number

class = "weapon" (6005)

Class 6005: beams, projectiles, missiles, planet bombs, area weapons. Read.

FieldTypeMeaning
effectwhole number0 to 44: which picture set and sound its shots have in battle (the table).
secondarywhole numberMissile hit points or bomb strength; 0 for beams. Meaning uncertain.
damage_by_rangelist of whole number, -32768 to 32767sDamage in range bands 1 to 4. The last non-zero band sets the maximum range: 300, 500, 750 or 1500.
accuracywhole number, 0 to 2550 to 30: the accuracy bonus in percent, shown "+N%".
reloadwhole number3 to 30, lower for better weapons. The design builder divides damage by it; almost certainly the delay between shots.
area_radiuswhole number50 to 65 for area weapons, else 0.
unknown5_cwhole number5 to 25; meaning uncertain.
unknown60whole number, 0 to 255Always 0.
unknown61whole number, 0 to 255Always 0.
trackingwhole number, 0 to 255255 for weapons that do not track (shown "No"); 0 to 100 for missiles, probably their tracking strength.
weapon_typewhole number, 0 to 2550 normal, 1 planet bomb, 2 area weapon.

class = "shield" (6006)

Class 6006: screens, shields and fields, read. In the file Shield.IsField comes before Shield.Regeneration, although the original stores them the other way round in memory.

FieldTypeMeaning
shield_typewhole number0 screen, 1 shield, 2 field.
capacitywhole numberDamage stopped before it fails.
percentereductionwhole numberDamage reduction in percent.
is_fieldwhole number, 0 to 2551 for fields.
regenerationwhole numberCapacity restored per combat round.

class = "fighter" (6007)

Class 6007: carrier fighters, read. Seven int16.

FieldTypeMeaning
speedwhole number, -32768 to 327676 to 10 (shown as Speed).
weapon1whole number, -32768 to 32767Tech id of the fighter's weapon.
weapon2whole number, -32768 to 32767Tech id of a second weapon, or 0.
defensewhole number, -32768 to 3276730 to 75 (shown as Defense).
hit_pointswhole number, -32768 to 32767Always equals the base rating (shown as Hit Points).
accuracywhole number, -32768 to 3276725 to 70: the accuracy of its shots in battle.
missile_defensewhole number, -32768 to 327675 to 50: taken off a missile's tracking when it rolls to hit.

class = "armor" (6008)

Class 6008, read.

FieldTypeMeaning
max_hull_classwhole number, 0 to 2552 to 5: the largest hull class the armor fits (shown as Max Hull).
structure_multipliernumber1.0 to 1.8; multiplies a design's structure.

class = "special" (6009)

Class 6009, read: ship specials and planetary installations (repair bays, colonizers, minesweepers, shipyards, missile bases, battle stations, fighter bases, minefields, academies).

FieldTypeMeaning
levelwhole numberInstallation level 1 to 5, or repair amount, or minefield strength.
strengthwhole number100 or 500 for installations, else 0.

class = "improvement" (6010)

Class 6010, read: planetary improvements. Five pairs of doubles, one pair per resource (credits, research, espionage, construction, population), read as per-population then flat. Only one resource per improvement is used (sim/economy.md); for population the flat value raises the maximum and the per-population value the growth.

FieldTypeMeaning
per_populationlist of numbers
flatlist of numbers

Hulls ([[hull]])

A ship hull (HULL resource, class 7108, ids 2000 + hull type). A ship design picks a hull type 0 to 5 and looks up 2000 + type .

FieldTypeMeaning
structurewhole numberScaled by a per-design factor to give the design's structure points.
capacitywhole numberSpace for components; a design fits while its used space is at most this.
costwhole numberScaled by the same factor, plus component costs, gives the design's cost.