diff --git a/client/CCreatureWindow.cpp b/client/CCreatureWindow.cpp index 1d17d3a0b..54bca1f6b 100644 --- a/client/CCreatureWindow.cpp +++ b/client/CCreatureWindow.cpp @@ -335,9 +335,8 @@ void CCreatureWindow::showAll(SDL_Surface * to) printLine(0, CGI->generaltexth->primarySkillNames[0], c->valOfBonuses(Bonus::PRIMARY_SKILL, PrimarySkill::ATTACK), stackNode->Attack()); printLine(1, CGI->generaltexth->primarySkillNames[1], c->valOfBonuses(Bonus::PRIMARY_SKILL, PrimarySkill::DEFENSE), stackNode->Defense()); - //if(c->shots) - // printLine(2, CGI->generaltexth->allTexts[198], c->shots); - if(stackNode->valOfBonuses(Bonus::SHOTS)) + + if(stackNode->valOfBonuses(Bonus::SHOTS) && stackNode->hasBonusOfType(Bonus::SHOOTER)) //only for shooting units - important with wog exp shooters printLine(2, CGI->generaltexth->allTexts[198], stackNode->valOfBonuses(Bonus::SHOTS)); //TODO diff --git a/lib/BattleState.cpp b/lib/BattleState.cpp index 63d797358..3ca645896 100644 --- a/lib/BattleState.cpp +++ b/lib/BattleState.cpp @@ -1789,6 +1789,9 @@ SpellCasting::ESpellCastProblem BattleInfo::battleIsImmune(const CGHeroInstance if (spell->positiveness ==1 && subject->hasBonusOfType(Bonus::RECEPTIVE)) //accept all positive spells return SpellCasting::OK; + if ((spell->id == 41 || spell->id == 42) && subject->hasBonusOfType(Bonus::UNDEAD)) //undeads are immune to bless & curse + return SpellCasting::STACK_IMMUNE_TO_SPELL; //TODO: more general logic for new spells? + if (spell->fire) {