I want to deliver my throughts about second skills modding.
This doesn’t mean i’ll code it (still not managed to force myself to do something with sources, hope, will do something at end of december or on january).
But i want to share my ideas, how to add new secondary skills without many work.
Original secondary skills are too deep hardcoded in source to be easily removed to json configs.
So for first steps i propose to not touch them and leave them as they are now.
My proposition is to make the same turn like with spells — use bonuses system to extend secodary skills.
For example, i want to add Elementalist secondary skill.
So i make json like this:
«elementalist»:
{
«name» : «Elementalist»,
«affinity» : «magic» // «might», if skill is non-magical
"defaultGainChance": 0,
"gainChance":
{
"necroforge": 3 //faction specific information
},
«levels»:{
«base» : {
},
«none» : {
},
«basic» : {
«graphics» :
{
«iconSmall» : «secondarySkills/iconsSmall/iconElementalistBasic» //32x32 icon
«iconBig» : «secondarySkills/iconsBig/iconElementalistBasic» //44x44 icon
},
«effects» :
{
«description» : «Hero gains boost of summoning spells by 7% per level.»,
«earthElemental» : {
«type» : «SPECIAL_SPELL_LEV»,
«subtype» : «spell.earthElemental»,
«addInfo» : 7
},
«fireElemental» : {
«type» : «SPECIAL_SPELL_LEV»,
«subtype» : «spell.earthElemental»,
«addInfo» : 7
},
«airElemental» : {
«type» : «SPECIAL_SPELL_LEV»,
«subtype» : «spell.earthElemental»,
«addInfo» : 7
},
«waterElemental» : {
«type» : «SPECIAL_SPELL_LEV»,
«subtype» : «spell.earthElemental»,
«addInfo» : 7
},
}
},
«advanced» : {
…. same block with diff. values
},
«expert» : {
…. same block with diff. values
}
}
}
Block of code, used to load new spells, can be reuised, not changing much.
So when hero get new secondary skill, it’s bonuses are summed with other existing bonuses. And it’s how secodary skill work.
What do you think of it?
PS Sorry for formatting and not starting new thread, i write not from home.