mirror of
				https://github.com/vcmi/vcmi.git
				synced 2025-10-31 00:07:39 +02:00 
			
		
		
		
	Do not try to shoot at 2nd hex of wide creatures
This commit is contained in:
		| @@ -245,7 +245,7 @@ AttackPossibility AttackPossibility::evaluate( | ||||
|  | ||||
| 	std::vector<BattleHex> defenderHex; | ||||
| 	if(attackInfo.shooting) | ||||
| 		defenderHex = defender->getHexes(); | ||||
| 		defenderHex.push_back(defender->getPosition()); | ||||
| 	else | ||||
| 		defenderHex = CStack::meleeAttackHexes(attacker, defender, hex); | ||||
|  | ||||
|   | ||||
| @@ -168,6 +168,7 @@ LONG WINAPI onUnhandledException(EXCEPTION_POINTERS* exception) | ||||
|  | ||||
| #endif | ||||
|  | ||||
| #ifdef NDEBUG | ||||
| [[noreturn]] static void onTerminate() | ||||
| { | ||||
| 	logGlobal->error("Disaster happened."); | ||||
| @@ -205,6 +206,7 @@ LONG WINAPI onUnhandledException(EXCEPTION_POINTERS* exception) | ||||
| #endif | ||||
| 	std::abort(); | ||||
| } | ||||
| #endif | ||||
|  | ||||
| void CConsoleHandler::setColor(EConsoleTextColor::EConsoleTextColor color) | ||||
| { | ||||
| @@ -296,14 +298,14 @@ CConsoleHandler::CConsoleHandler(): | ||||
|  | ||||
| 	GetConsoleScreenBufferInfo(handleErr, &csbi); | ||||
| 	defErrColor = csbi.wAttributes; | ||||
| #ifndef _DEBUG | ||||
| #ifdef NDEBUG | ||||
| 	SetUnhandledExceptionFilter(onUnhandledException); | ||||
| #endif | ||||
| #else | ||||
| 	defColor = "\x1b[0m"; | ||||
| #endif | ||||
|  | ||||
| #ifndef _DEBUG | ||||
| #ifdef NDEBUG | ||||
| 	std::set_terminate(onTerminate); | ||||
| #endif | ||||
| } | ||||
|   | ||||
| @@ -173,6 +173,9 @@ bool CBattleInfoCallback::battleIsInsideWalls(BattleHex from) const | ||||
|  | ||||
| bool CBattleInfoCallback::battleHasPenaltyOnLine(BattleHex from, BattleHex dest, bool checkWall, bool checkMoat) const | ||||
| { | ||||
| 	if (!from.isAvailable() || !dest.isAvailable()) | ||||
| 		throw std::runtime_error("Invalid hex (" + std::to_string(from.hex) + " and " + std::to_string(dest.hex) + ") received in battleHasPenaltyOnLine!" ); | ||||
|  | ||||
| 	auto isTileBlocked = [&](BattleHex tile) | ||||
| 	{ | ||||
| 		EWallPart wallPart = battleHexToWallPart(tile); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user