Upgrade Types - Grim-/Talented GitHub Wiki
Upgrades can grant various benefits including organs, abilities, and hediffs. Each upgrade is defined through Talented.UpgradeDef
.
<Talented.UpgradeDef>
<defName>AuxiliaryHeartUpgrade</defName>
<label>Auxiliary Heart</label>
<uiIconPath>DragonBall1</uiIconPath>
<description>Grows an additional heart to improve blood circulation and stamina.</description>
<parasiteLevelRequired>4</parasiteLevelRequired>
<organEffects>
<li>
<addedOrganHediff>AuxiliaryHeart</addedOrganHediff>
<isAddition>true</isAddition>
</li>
</organEffects>
</Talented.UpgradeDef>
<Talented.UpgradeDef>
<defName>CombatReflexesUpgrade</defName>
<label>Combat Reflexes</label>
<uiIconPath>DragonBall1</uiIconPath>
<description>Grants enhanced combat abilities through parasitic nervous system modifications.</description>
<parasiteLevelRequired>3</parasiteLevelRequired>
<abilityEffects>
<li>
<abilities>
<li>
<abilityDef>ParasiticDodge</abilityDef>
</li>
</abilities>
</li>
</abilityEffects>
</Talented.UpgradeDef>
Tree nodes define the structure and progression of upgrades. Each node can contain multiple upgrades that are unlocked either sequentially or cumulatively.
<Talented.UpgradeTreeNodeDef>
<defName>SymbiosisPathNode1</defName>
<position>(23,12)</position>
<type>Branch</type>
<sequential>true</sequential>
<upgrades>
<li>SensoryEnhancementUpgrade</li>
<li>CombatReflexesUpgrade</li>
<li>AuxiliaryHeartUpgrade</li>
</upgrades>
<path>SymbiosisPath</path>
<connections>
<li>SymbiosisPathNode2</li>
<li>SymbiosisPathNode3</li>
</connections>
<branchPaths>
<li>
<path>SymbiosisPathBranch1_A</path>
<nodes>
<li>SymbiosisPathNode2</li>
</nodes>
</li>
<li>
<path>SymbiosisPathBranch1_B</path>
<nodes>
<li>SymbiosisPathNode3</li>
</nodes>
</li>
</branchPaths>
</Talented.UpgradeTreeNodeDef>
-
Position (Only used by the manual placement display strategy)
- Defines node location in the tree
- Uses (x,y) coordinates
- Example:
<position>(23,12)</position>
-
Type
- Determines node behavior
- Available types: Branch, Normal
- Example:
<type>Branch</type>
-
Upgrade Mode
- Sequential: Unlocks upgrades in order
- Culminative: Unlocks all upgrades at once
- Controlled by
<sequential>true/false</sequential>
-
Path System
- Main path:
<path>SymbiosisPath</path>
- Branch paths for divergent progressions
- Supports multiple branches per node
- Main path:
-
Organ Effects
- Adds or modifies body parts
- Can be permanent additions
- Supports hediff application
<organEffects> <li> <addedOrganHediff>AuxiliaryHeart</addedOrganHediff> <isAddition>true</isAddition> </li> </organEffects>
-
Ability Effects
- Grants new abilities
- Can include multiple abilities per upgrade
<abilityEffects> <li> <abilities> <li><abilityDef>ParasiticDodge</abilityDef></li> </abilities> </li> </abilityEffects>
-
Hediff Effects
- Applies permanent or temporary status effects
- Can modify stats and capacities
<stages> <li> <statOffsets> <MoveSpeed>0.15</MoveSpeed> <WorkSpeedGlobal>0.1</WorkSpeedGlobal> </statOffsets> </li> </stages>
For a node with sequential upgrades:
<upgrades>
<li>BasicUpgrade</li> <!-- Unlocked first -->
<li>IntermediateUpgrade</li> <!-- Unlocked second -->
<li>AdvancedUpgrade</li> <!-- Unlocked last -->
</upgrades>
The player must invest points multiple times to unlock each upgrade in order.