Fix check for opponent side for mana drain

This commit is contained in:
Ivan Savenko committed 2024-01-05 17:56:00 +02:00
1 parent 51b7de4b98
commit 296310e32e
2 files changed
+5 -6

No files matched your search

+1 -2
View File
@@ -677,8 +677,7 @@ void BattleFlowProcessor::stackTurnTrigger(const CBattleInfoCallback & battle, c
} }
if(st->hasBonusOfType(BonusType::MANA_DRAIN) && !st->drainedMana) if(st->hasBonusOfType(BonusType::MANA_DRAIN) && !st->drainedMana)
{ {
const PlayerColor opponent = battle.otherPlayer(battle.battleGetOwner(st)); const CGHeroInstance * opponentHero = battle.battleGetFightingHero(battle.otherSide(st->unitSide()));
const CGHeroInstance * opponentHero = battle.battleGetFightingHero(opponent);
if(opponentHero) if(opponentHero)
{ {
ui32 manaDrained = st->valOfBonuses(BonusType::MANA_DRAIN); ui32 manaDrained = st->valOfBonuses(BonusType::MANA_DRAIN);
+4 -4
View File
@@ -498,10 +498,10 @@ void BattleResultProcessor::endBattleConfirm(const CBattleInfoCallback & battle)
BattleResultAccepted raccepted; BattleResultAccepted raccepted;
raccepted.battleID = battle.getBattle()->getBattleID(); raccepted.battleID = battle.getBattle()->getBattleID();
raccepted.heroResult[0].army = const_cast<CArmedInstance*>(battle.battleGetArmyObject(0)); raccepted.heroResult[0].army = const_cast<CArmedInstance*>(battle.battleGetArmyObject(BattleSide::ATTACKER));
raccepted.heroResult[1].army = const_cast<CArmedInstance*>(battle.battleGetArmyObject(1)); raccepted.heroResult[1].army = const_cast<CArmedInstance*>(battle.battleGetArmyObject(BattleSide::DEFENDER));
raccepted.heroResult[0].hero = const_cast<CGHeroInstance*>(battle.battleGetFightingHero(0)); raccepted.heroResult[0].hero = const_cast<CGHeroInstance*>(battle.battleGetFightingHero(BattleSide::ATTACKER));
raccepted.heroResult[1].hero = const_cast<CGHeroInstance*>(battle.battleGetFightingHero(1)); raccepted.heroResult[1].hero = const_cast<CGHeroInstance*>(battle.battleGetFightingHero(BattleSide::DEFENDER));
raccepted.heroResult[0].exp = battleResult->exp[0]; raccepted.heroResult[0].exp = battleResult->exp[0];
raccepted.heroResult[1].exp = battleResult->exp[1]; raccepted.heroResult[1].exp = battleResult->exp[1];
raccepted.winnerSide = finishingBattle->winnerSide; raccepted.winnerSide = finishingBattle->winnerSide;