Ivan suggested I look into CCreatureHandler::load(). I could not find that one but I figure all data should be in place by ContentHandler::loadMod().
From there I found 2 separate places with data:
- original (from H3)
- mod data (from config).
Problems:
4 - I cannot find abilities text anywhere.
5 - If anyone could hot-fix the “serialization bug” It will help a lot.
6 - Names for creatures for cove are in creature-texts. Is it because of localization?
By combining the 2 I think I have now the whole thing: This is an example for pikeman. Hope is complete, I intend to use this ordering for all other creatures. (so if anyone has any remarks regarding it please do it now ).
{
"pikeman":
{
"faction" : "castle",
"level" : 1,
"upgrades": "halberdier"],
"cost" :
{
"gold" : 60
},
"speed" : 4,
"hitPoints" : 10,
"attack" : 4,
"defense" : 5,
"damage" :
{
"min" : 1,
"max" : 3
},
"doubleWide" : false,
"growth" : 14,
"horde" : 0,
"aiValue" : 80,
"fightValue" : 100,
"advMapAmount" :
{
"min" : 20,
"max" : 50
},
"abilities":
{
"cavalryChargeImmunity" :
{
"type" : "CHARGE_IMMUNITY"
}
},
"graphics" :
{
"animation" : "castle/battle/CPKMAN.def",
"map" : "castle/map/AvWPike.def",
"iconSmall" : "castle/iconsSmall/xxxxx.bmp",
"iconLarge" : "castle/iconsBig/xxxxx.bmp",
"timeBetweenFidgets" : 1,
"animationTime" :
{
"walk" : 1.15,
"attack" : 1,
"flight" : 1
}
},
"sound" :
{
"attack" : "castle/PIKEATTK.wav",
"defend" : "castle/PIKEDFND.wav",
"killed" : "castle/PIKEKILL.wav",
"move" : "castle/PIKEMOVE.wav",
"wince" : "castle/PIKEWNCE.wav"
}
}
}