|
@@ -5606,6 +5606,20 @@ void CGameHandler::runBattle()
|
|
|
|
|
|
const BattleInfo & curB = *gs->curB;
|
|
|
|
|
|
+ std::set <const CStack *> stacksToRemove;
|
|
|
+ for(auto stack : curB.stacks)
|
|
|
+ {
|
|
|
+ if(vstd::contains(stack->state, EBattleStackState::GHOST_PENDING))
|
|
|
+ stacksToRemove.insert(stack);
|
|
|
+ }
|
|
|
+
|
|
|
+ for(auto stack : stacksToRemove)
|
|
|
+ {
|
|
|
+ BattleStacksRemoved bsr;
|
|
|
+ bsr.stackIDs.insert(stack->ID);
|
|
|
+ sendAndApply(&bsr);
|
|
|
+ }
|
|
|
+
|
|
|
//stack loop
|
|
|
|
|
|
const CStack *next;
|