mirror of
				https://github.com/vcmi/vcmi.git
				synced 2025-10-31 00:07:39 +02:00 
			
		
		
		
	Do not allow fleeing from cities without fort
This commit is contained in:
		| @@ -282,7 +282,7 @@ bool CBattleInfoEssentials::battleCanFlee(const PlayerColor & player) const | ||||
| 		return false; | ||||
|  | ||||
| 	//we are besieged defender | ||||
| 	if(side == BattleSide::DEFENDER && battleGetSiegeLevel()) | ||||
| 	if(side == BattleSide::DEFENDER && getBattle()->getDefendedTown() != nullptr) | ||||
| 	{ | ||||
| 		const auto * town = battleGetDefendedTown(); | ||||
| 		if(!town->hasBuilt(BuildingSubID::ESCAPE_TUNNEL)) | ||||
| @@ -357,7 +357,7 @@ bool CBattleInfoEssentials::battleCanSurrender(const PlayerColor & player) const | ||||
| 	const auto side = playerToSide(player); | ||||
| 	if(!side) | ||||
| 		return false; | ||||
| 	bool iAmSiegeDefender = (side.value() == BattleSide::DEFENDER && battleGetSiegeLevel()); | ||||
| 	bool iAmSiegeDefender = (side.value() == BattleSide::DEFENDER && getBattle()->getDefendedTown() != nullptr); | ||||
| 	//conditions like for fleeing (except escape tunnel presence) + enemy must have a hero | ||||
| 	return battleCanFlee(player) && !iAmSiegeDefender && battleHasHero(otherSide(side.value())); | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user