1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-06-21 00:19:29 +02:00

Implemented deterministic secondary skills, #1166.

This commit is contained in:
DjWarmonger
2013-09-09 15:23:59 +00:00
parent a1d3bcb276
commit 39f9069ed9
6 changed files with 111 additions and 5 deletions

View File

@ -1010,6 +1010,21 @@ DLL_LINKAGE void HeroLevelUp::applyGs( CGameState *gs )
{
CGHeroInstance* h = gs->getHero(hero->id);
h->level = level;
//deterministic secondary skills
h->skillsInfo.magicSchoolCounter = (++h->skillsInfo.magicSchoolCounter) % h->maxlevelsToMagicSchool();
h->skillsInfo.wisdomCounter = (++h->skillsInfo.wisdomCounter) % h->maxlevelsToWisdom();
if (vstd::contains(skills, SecondarySkill::WISDOM))
h->skillsInfo.resetWisdomCounter();
SecondarySkill spellSchools[] = {
SecondarySkill::FIRE_MAGIC, SecondarySkill::WATER_MAGIC, SecondarySkill::EARTH_MAGIC, SecondarySkill::EARTH_MAGIC};
for (auto skill : spellSchools)
{
if (vstd::contains(skills, SecondarySkill::WISDOM))
{
h->skillsInfo.resetMagicSchoolCounter();
break;
}
}
//specialty
h->Updatespecialty();
}