mirror of
https://github.com/vcmi/vcmi.git
synced 2025-03-25 21:38:59 +02:00
fix autoremoving UNTIL_ATTACK & UNITL_BEING_ATTACKED bonuses
* this should fix crashes with paralyze, stonegaze & blind
This commit is contained in:
parent
a2901cb8f0
commit
45a3ad94ae
@ -1278,13 +1278,13 @@ DLL_LINKAGE void BattleAttack::applyGs( CGameState *gs )
|
||||
for(BattleStackAttacked stackAttacked : bsa)
|
||||
stackAttacked.applyGs(gs);
|
||||
|
||||
attacker->getBonusList().remove_if(Bonus::UntilAttack);
|
||||
attacker->popBonuses(Bonus::UntilAttack);
|
||||
|
||||
for(auto & elem : bsa)
|
||||
{
|
||||
CStack * stack = gs->curB->getStack(elem.stackAttacked, false);
|
||||
if (stack) //cloned stack is already gone
|
||||
stack->getBonusList().remove_if(Bonus::UntilBeingAttacked);
|
||||
stack->popBonuses(Bonus::UntilBeingAttacked);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1456,15 +1456,6 @@ DLL_LINKAGE void StacksHealedOrResurrected::applyGs( CGameState *gs )
|
||||
//removal of negative effects
|
||||
if(resurrected)
|
||||
{
|
||||
|
||||
// for (BonusList::iterator it = changedStack->bonuses.begin(); it != changedStack->bonuses.end(); it++)
|
||||
// {
|
||||
// if(VLC->spellh->spells[(*it)->sid]->positiveness < 0)
|
||||
// {
|
||||
// changedStack->bonuses.erase(it);
|
||||
// }
|
||||
// }
|
||||
|
||||
//removing all features from negative spells
|
||||
const BonusList tmpFeatures = changedStack->getBonusList();
|
||||
//changedStack->bonuses.clear();
|
||||
|
Loading…
x
Reference in New Issue
Block a user