In this article I'm going to share how I did this mod, and the structure for the projects.
Terraformers projects are all cards, buildings, space projects, technologies, leader abilities and lifeforms in the game. They all share the same structure, and are differenciated by some booleans in them. On this mod's optional files, I uploaded the dump of the Projects that exist in the game.
All projects are loaded from an csv file included with the game, in clear text, at "Terraformers\Terraformers_Data\StreamingAssets". This files are also loaded from the web in a google spreadsheet if the game calls a dev console command.
The structure is:
Id => The internal identifier of the project
HandOrder => The order the project shows in your hand or when it appears in the select project screen
IsUnlockable => if the project is unlocked through leveling up in the game
IsUnique = if only one of this project can exist
EventOnly = if this project is triggered by an event or can be played from the deck
Tier = 3
TechTier = 0
LeaderProj = False
EventProj = False
NonLocalizedName => The english name of the object, used when the key is not found
NameKey = the key in the translation files for the project, usually "PROJECT_[ID number]_NAME"
DescriptionKey = the key in the translation files for the project's description (the one that appears at the bottom of the details card). Usually "PROJECT_[ID number]_DESCRIPTION"
BaseFileName = The name for the base file for this model
Image = (UnityEngine.Sprite) Sprite for the image of the project when selected
LitImage = (Terraf.LitImage)
LitImageAnim = (Terraf.LitImage)
Thumbnail = (UnityEngine.Sprite) the sprite for the thumbnail, that is seen in the card when in the hand
VisualData = (BuildingVisualData)
SpaceObject = (SpaceProjObject) the object to use for the space project, None by default if it's not a space project
Hidden = if it shows up as a card anywhere
ProjectType = (ProjectType) Type of the project. Building, Regional, LandmarkUpgrade, Lifeform, Action, CityUpgrade, Space, Technology. CityUpgrade seems to be unused.
DrawDeckId = the Id of the Deck this card belongs to.
Reserve1DeckCount
Reserve2DeckCount
Reserve3DeckCount
AddCardToDeckOnTurn = List of turns this card should be added to the draw deck
RemoveCardFromDeckOnTurn = List of turns this card should be removed from the draw deck
ResourcesCost = The cost of the card, in a list of resource amounts. Resources can be found in ResourceType
ResourcesGain = The immediate gain of resources when this project is completed
ResourceProductions = The progressive yield of this building while active. For resources such as population, it also determines if the building can be replaced
RawProdPop = raw population production
RawProdRobots = raw robot production
Abilities = List of abilities, such as modifiers, that determine special things the projects do. Adjacency bonus are one of many in this area. See AbilityType for full list.
LifeformType = the type of this lifeform, if it is a lifeform
MarineLife = if the lifeform requires an ocean
LifeformSpreadTime = the time it takes for the spreader to cooldown
LifeformRegionalSupport
LifeformPrestige = the prestige granted by this lifeform (winning points and happiness from the lifeform)
HasTerrafRequirements = if the Project requires a certain terraforming condition, false if always available.
TerrafMinimumRequirements = an array of the 5 terraforming indexes, where -5 is ignore, -3 the lowest and 3 is the maximum possible.
They are None, Heat, Oxygen, Ocean Level, Atmosphere
CanSpreadLifeformType = if this project allows for the spread of lifeforms. They are, in order, None, Bacteria, Plant, Animal
This is the data composition of a project. You can freely change most parameters here to suit your modding needs. I am still trying to find out how to add new cards, projects and the like.
0 comments