1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-11-06 09:09:40 +02:00

Merge pull request #217 from dydzio0614/patch-1

Block surrender via escape tunnel. Fix issue 2398
This commit is contained in:
ArseniyShestakov
2016-09-18 23:59:01 +03:00
committed by GitHub

View File

@@ -425,8 +425,10 @@ ui8 CBattleInfoEssentials::battleGetSiegeLevel() const
bool CBattleInfoEssentials::battleCanSurrender(PlayerColor player) const bool CBattleInfoEssentials::battleCanSurrender(PlayerColor player) const
{ {
RETURN_IF_NOT_BATTLE(false); RETURN_IF_NOT_BATTLE(false);
//conditions like for fleeing + enemy must have a hero ui8 mySide = playerToSide(player);
return battleCanFlee(player) && battleHasHero(!playerToSide(player)); bool iAmSiegeDefender = ( mySide == BattleSide::DEFENDER && battleGetSiegeLevel() );
//conditions like for fleeing (except escape tunnel presence) + enemy must have a hero
return battleCanFlee(player) && !iAmSiegeDefender && battleHasHero(!mySide);
} }
bool CBattleInfoEssentials::battleHasHero(ui8 side) const bool CBattleInfoEssentials::battleHasHero(ui8 side) const