mirror of
https://github.com/vcmi/vcmi.git
synced 2024-11-21 17:17:06 +02:00
Do not try to shoot at 2nd hex of wide creatures
This commit is contained in:
parent
812f8d993b
commit
cd6d55fe75
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user