Skip to content

2.1 TribeData

jkdev edited this page Feb 4, 2025 · 5 revisions

TribeData contains multiple important parameters concerning tribe information.

Attention: Normally the elements will be positioned differently and more randomly. Their position does not change anything. Lets use cymanti tribe as an example:

"cymanti":{
  "idx":17,
  "color":12778752,
  "style":16,
  "climate":16,
  "language":"cy,zi,phy,dio,bio,tic,sy,ca,ly,um,sis,ci,hex,pod,ea,rhi,the,exo,neo,ner,seg,ho,lo,chy,ia,ce,li,co,ta,my,aph,ich,zo,di,bo",
  "bonus":0,
  "startingUnit":"shaman",
  "category":2,
  "priceTier":2,
  "terrainModifier":{
      "mountain":1.2
  },
  "resourceModifier":{
      "spores":0.2,
      "crop":0
  },
  "startingTech":[
      "basic",
      "farming"
  ],
  "startingResource":[
      "spores"
  ],
  "tribeAbilities":[
      "poisonresist"
  ],
  "techOverrides":{
      "construction":"recycling",
      "chivalry":"shock",
      "aquaculture":"hydrology",
      "sailing":"pescetism",
      "fishing":"fishingsimple",
      "navigation":"oceanology"
  },
  "unitOverrides":{
      "rider":"hexapod",
      "giant":"centipede",
      "knight":"doomux",
      "archer":"phychi",
      "catapult":"exida",
      "defender":"kiton",
      "mindbender":"shaman"
  },
  "improvementOverrides":{
      "market":"clathrus",
      "farm":"fungi",
      "road":"mycelium",
      "bridge":"none"
  }
}

TribeData.type

Specifies enum value of the tribe, used as a key:

"cymanti":{

Here is all vanilla tribes currently ingame:

None
Nature
Aimo
Aquarion
Bardur
Elyrion
Hoodrick
Imperius
Kickoo
Luxidoor
Oumaji
Quetzali
Vengir
Xinxi
Yadakk
Zebasi
Polaris
Cymanti

TribeData.idx

Specifies int enum value of the tribe.

"idx":17,

TribeData.color

Specifies tribe color in hexadecimal RGB.

"color":12778752,

TribeData.style

"style":16,

TribeData.climate

"climate":16,

TribeData.language

Specifies tribe city syllables,

"language":"cy,zi,phy,dio,bio,tic,sy,ca,ly,um,sis,ci,hex,pod,ea,rhi,the,exo,neo,ner,seg,ho,lo,chy,ia,ce,li,co,ta,my,aph,ich,zo,di,bo",

TribeData.bonus

Specifies tribe bonus. Tribe bonus is an enum responsible for givng special stuff for tribe on the beginning of the match. Currently, there is three:

  • None (0): no bonus
  • CityLevel3 (1): sets level city to 2 (Used for Luxidoor)
  • Spores (2): spawns fungi improvement on a random tile near the capital city (Unused, was used for Cymanti during development)
"bonus":0,

TribeData.startingUnit

Specifies tribe's starting unit.

"startingUnit":"shaman",

TribeData.category

Specifies tribe's category.

"category":2,

TribeData.priceTier

Specifies tribe's priceTier.

"priceTier":2,

TribeData.skins

Specifies tribe's skins. As Cymanti does not currently have a skin, example will be shown on Bardur:

"skins":[
  "Baerion"
],

TribeData.terrainModifier

Specifies tribe's multipliers to terrain spawn rates. Stored as json dictionary, with terrain names in strings as keys and floats as multuplier values.

"terrainModifier":{
    "mountain":1.2
},

TribeData.resourceModifier

Specifies tribe's multipliers to resource spawn rates. Stored as json dictionary, with resource names in strings as keys and floats as multuplier values.

"resourceModifier":{
    "spores":0.2,
    "crop":0
},

TribeData.startingTech

Specifies tribe's starting technology. Stored as json array of strings. Technology "basic" is used for every tribe in the game.

"startingTech":[
    "basic",
    "farming"
],

TribeData.startingResource

Specifies tribe's starting technology. Spawns two resources of chosen type near the capital of the tribe. Stored as json array of strings.

"startingResource":[
    "spores"
],

TribeData.tribeAbilities

Specifies tribe's abilities. Tribe ability is an enum responsible for certain changes in tribe's gameplay, by giving them unique abilities. Currently, there is seven:

  • None: no ability
  • RainbowVision: spawns rainbow crystals over the ruins in the fog. (Used for Elyrion)
  • AlienClimate: (Used for Polaris)
  • Spread: (Used for Polaris)
  • Freeze: (Used for Polaris)
  • PoisonResist: makes tribes units resist to Cymanti poison. (Used for Cymanti)
  • Flooded: floods all tiles with tribes climate. (Used for Aquarion)
"tribeAbilities":[
    "poisonresist"
],

TribeData.techOverrides

Specifies tribe's techs which should be overriden by their unique counterpart. Stored as json dictionary, with original tech names in strings as keys and override tech names in strings as values.

"techOverrides":{
    "construction":"recycling",
    "chivalry":"shock",
    "aquaculture":"hydrology",
    "sailing":"pescetism",
    "fishing":"fishingsimple",
    "navigation":"oceanology"
},

TribeData.unitOverrides

Specifies tribe's units which should be overriden by their unique counterpart. Stored as json dictionary, with original unit names in strings as keys and override units names in strings as values.

"unitOverrides":{
    "rider":"hexapod",
    "giant":"centipede",
    "knight":"doomux",
    "archer":"phychi",
    "catapult":"exida",
    "defender":"kiton",
    "mindbender":"shaman"
},

TribeData.improvementOverrides

Specifies tribe's improvements which should be overriden by their unique counterpart. Stored as json dictionary, with original improvement names in strings as keys and override improvements names in strings as values.

"improvementOverrides":{
    "market":"clathrus",
    "farm":"fungi",
    "road":"mycelium",
    "bridge":"none"
}
Clone this wiki locally