Browse Source

Allow fleeing while having shackles of war when other side got no hero

Dydzio 7 months ago
parent
commit
c216936a59
1 changed files with 2 additions and 2 deletions
  1. 2 2
      lib/battle/CBattleInfoEssentials.cpp

+ 2 - 2
lib/battle/CBattleInfoEssentials.cpp

@@ -270,7 +270,7 @@ const IBonusBearer * CBattleInfoEssentials::getBonusBearer() const
 bool CBattleInfoEssentials::battleCanFlee(const PlayerColor & player) const
 {
 	RETURN_IF_NOT_BATTLE(false);
-	const auto side = playerToSide(player);
+	const BattleSide side = playerToSide(player);
 	if(side == BattleSide::NONE)
 		return false;
 
@@ -281,7 +281,7 @@ bool CBattleInfoEssentials::battleCanFlee(const PlayerColor & player) const
 		return false;
 
 	//eg. one of heroes is wearing shakles of war
-	if(myHero->hasBonusOfType(BonusType::BATTLE_NO_FLEEING))
+	if(myHero->hasBonusOfType(BonusType::BATTLE_NO_FLEEING) && battleHasHero(otherSide(side)))
 		return false;
 
 	//we are besieged defender