- id
- name
- color
- icon
- threat (space)
The Star page will join the BodyType, OrbitalRegion and OrbitalRegionBodyType tables to generate an HTML table with one region * body type per row. Cargo should join identical vertically adjacent cells. The body type is not named; it is represented by its fields.
- id
- icon
- type (planet or satellite)
- list of biomes
- Star:id
- id (Star:id + “/” + name)
- name
- min range
- max range
- body probability
- OrbitalRegion:id
- BodyType:id
- weight
- id
- name
- icon
- id
- name
- type (debuff, buff, resistance, ability)
- icon
- blocking stat
- StatusEffectType:id
- duration
- source
- source type (status effect, item, etc)
- stat
- amount
- id
- name
- resistance (a status effect)
- id
- icon (animated gif?)
- damage type
- list of status effects
- StatusEffect:id
- list of resistance stats
- resistance threshold
- list of immunity stats
- health drain
- hunger drain
- energy drain
- speed penalty
- jump penalty
- id
- name?
- icon
- list of weather status effects
- list of projectiles
- id
- weight
- weather
- id
- threat
- weight
- ore
Could instead pivot this:
- id
- threat
- ..one weight column for each ore..
For the infobox, we could sum the weight columns, then use #ifeq to only display the icons with non-zero weights. This would be a lot easier to do on the long form, but it’s not clear how we could pivot the long form into the wide form without a lot of lua. Storing both tables would also be complicated.
- id
- Item:id
- color
- list of status effects
- collectible
- Liquid:a
- Liquid:b
- product
- product type (material, liquid)
Liquid ‘a’ is converted to the product by liquid ‘b’, which is not consumed.
- Material:a
- Liquid:b
- liquid consumed
- Material:product
Material ‘a’ is converted to the product by consuming a certain amount of liquid.
Do we highlight chain reactions?
- id
- name
- category (headwear, etc)
- probably should also be used for the wiki categories
- sometimes, the suffix of the JSON file indicates the true category, while the ‘category’ field is more general, other times it is the opposite
- see transferconfig.config for a mapping
- description
- icon
- tier
- rarity
- price
- stack size
- two handed
- upgradeable
- collectible
- id
- level
- guaranteed
- type (pool or item)
- weight
- item
- quantity
- Pool:id
- level
- allow duplicates
- Pool:id
- level
- weight
- count
- id (type)
- name
- description
- list of projectiles
- contact damage type
- list of contact status effects
- list of drop pools
- various statistics: knockback, max health, resistances, immunities
- capturable
- collectible
- id
- base type
- list of items (armor and weapons, etc)
- list of offered quests
- list of turn in quests
- various statistics: knockback, max health, resistances, immunities
- id
- level
- item
- price (often NULL, unfixed)
- NPCType:id
- species (can be ‘crew’ when crew member)
- MerchantPool:id
- title
- subtitle
- num items for sale
- min buy factor
- max buy factor
- min sell factor
- max sell factor
Each merchant type can have species-specific pools.
- id
- NPCType:id
- list of species
- priority
- min rent period
- max rent period
- rent pool
- list of quest pools
- Tenant:id
- tag
- quantity
- NPCType:id
- role
- field
- recruitable
- list of ranks
- CrewType:id
- type (ephemeral effect, persistent effect, regeneration, ship upgrade)
- property
- value
- NPCType:id
- CrewType:id
- weight
- type
- species
- id
- name
- icon (if any)
- type (major, micro, space)
- hostile
- list of common treasure pools
- list of rare treasure pools
- list of NPCs
- list of monsters
- list of objects (will this scale?)
- biome
- weight
- dungeon
- id
- name (cockpit.config:planetTypeNames)
- color (cockpit.config:planetTypeColors)
- min threat=Integer
- max threat=Integer
- protection=List (,) of String
- reason=Wikitext
- status=List (,) of String
- breathable=Boolean
- airless=Boolean
- climate=List (,) of String
- main material=String
- sub materials=List (,) of String
- ore distributions=List (,) of String
- ocean liquid=String
- cave liquids=List (,) of String
- space=List (,) of Page
- atmosphere=List (,) of Page
- subsurface=List (,) of Page
- shallowUnderground=List (,) of Page
- midUnderground=List (,) of Page
- deepUnderground=List (,) of Page
- core=List (,) of Page
- monsters=List (,) of String
- critters=List (,) of String
- bugs=List (,) of String
- seeds=List (,) of String
- bushes=List (,) of String
- grasses=List (,) of String
- treeStems=List (,) of String (convert to drops)
- secondaryBiomes=List (,) of Page
- miniBiomes=List (,) of Page
- villages=List (,) of Page
- microdungeons=List (,) of Page
- encounters=List (,) of Page
- artifacts=List (,) of String
- chests=List (,) of String
- id
- list of status effects
This will be tricky to determine automatically. Some sets are detected by a stat that is incremented for each piece and then mapped to a bonus in armorsets.config. Others set a stat for each piece, like [name]set_[piece], and there is a script that checks for whether all pieces are worn.
- Item:id
- ArmorSet:id
- power bonus
- protection bonus
- max energy bonus
- max health bonus
- list of status effects
- Item:id
- health
- cooldown
- perfect block time
- stamina
- energy bonus
- crit bonus
- crit chance bonus
- shield bash
- shield bash push
- stun chance
- Item:id
- damage type
- list of status effects
- speed
- damage
- dps
- crit bonus
- crit chance bonus
- stun chance
- ability
- special ability
- magazine size
- reload time
- overheat
- cooldown
- energy cost (per shot)
- max cast range (staff)
- projectile count (staff)
- recoil strength
- crouched recoil strength (if different)
(also includes things like relics that provide madness)
- Item:id
- pool
- Item:id
- Accepted augment type
- List of status effects
- Item:id
- List of status effects
- id
- Item:id
- Item:id
- durability
- id
- name
- type (item or monster)
- list of members
- id
- title
- description
- can be abandoned
- mission
- turn in description (task)
- min money
- max money
- Quest:id
- Item:id
- quantity
- consumed?
- Quest:id
- item
- quantity
- id (will need to generate, from filename?)
- output item
- output quantity
- duration
- list of groups
- Recipe:id
- item
- quantity
- id
- time scale
Reversibility should just be explicit in the recipe list.
- Extraction:id
- item
- quantity
- Extraction:id
- item
- basic quantity
- advanced quantity
- quantum quantity
- name
- description
- type
- icon
- cost
- id
- icon
- list of children
- list of unlocked items
Could we call templates recursively to generate a nested table that would form a tree shape?
- id
- currency
- quantity
- Item:id
- list of tags
- printable
- type
- slot count
- id
- item
- rarity
- quantity
Defined in centrifuge_recipes.config
- id
- list of pools
- Object:id
- type
- Centrifuge:id
- rarity
- weight