1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-06-19 00:17:56 +02:00

Add some diagnostics for inablilty to place all stacks on battlefield

This commit is contained in:
Ivan Savenko
2025-05-28 22:41:18 +03:00
parent 4957657ceb
commit afb22e52eb
2 changed files with 8 additions and 0 deletions

View File

@ -342,6 +342,8 @@ std::unique_ptr<BattleInfo> BattleInfo::setupBattle(IGameInfoCallback *cb, const
if (pos.isValid())
currentBattle->generateNewStack(currentBattle->nextUnitId(), *i->second, side, i->first, pos);
else
logMod->warn("Invalid battlefield layout! Failed to find position for unit %d for %s", k, side == BattleSide::ATTACKER ? "attacker" : "defender");
}
}

View File

@ -85,6 +85,12 @@ void CRewardableObject::battleFinished(IGameEventCallback & gameEvents, const CG
{
if (result.winner == BattleSide::ATTACKER)
{
while(!stacks.empty())
{
logMod->warn("Attacker won, but defender still has remaining units in configurable map objects! Make sure that guards configuration is valid!");
gameEvents.eraseStack(StackLocation(id, stacks.begin()->first));
}
doHeroVisit(gameEvents, hero);
}
}