ChairmanTrait
Overview
Serializable data model for a trait node on one of the three personality tracks: Mobster, Schemer, or Subterfuge. Each trait declares a level, localized title/description, costType (track), requiredTokens threshold, a list of effects, an obtained runtime flag, and an optional sprite.
Fields
int levelstring title,string descUpgrade.CostType costType— which track the trait belongs tofloat requiredTokens— tokens needed (checked againstfloor(affinity))List<ChairmanTraitEffect> effects— parameter/value pairsbool obtained— runtime, toggled byTraitManagerSprite imgTraitNode ParentNode— graph/back‑reference (optional)
Localization (I2)
The base localization ID is computed from the trait list index within its track:
- Mobster →
"TRAIT_MOB_###" - Schemer →
"TRAIT_SCH_###" - Subterfuge →
"TRAIT_SUB_###"
Helpers:
string GetLocalizedTitle(); // inserts "TITLE_" → e.g., TRAIT_MOB_TITLE_003
string GetLocalizedDesc(); // inserts "DESC_" → e.g., TRAIT_MOB_DESC_003
Internally, the index comes from
TraitManager.GetTraitList(track).IndexOf(this)at runtime.
Effect Schema
ChairmanTraitEffect pairs a Parameter with a numeric effectValue. Supported parameters include building costs/refunds, per‑tick severity multipliers, event profit/cost modifiers for money/loyalty/control/severity, demand modifiers, capture/notoriety/control gains, and special “option free” flags for each personality.
See the full enum in ChairmanTraitEffect.Parameter for the authoritative list.