Posted August 15, 2015
It happened in a wizard-wizard fight where both were raising zombies. The opponent wizard used three thieves while I used pikemen. One of my raised zombies killed the last opponent thief but the thief did not die, it remained on the board with zero hit points and blocking while the battle continued. I win the battle with only raised zombies left but the opponent s thief did not leave the board nor was reacting to anything. Nothing made it react, neither direct attacks nor spells. I was ending the turn repeatedly (knowing there is a turns limit for battles) trying different moves but the dead thief would not go away. Finally I got the idea of using the auto-battle options and only then the engine recognized the thief was dead and ended the battle (with no spoils even when it was the enemy wizard). I think the bug is due to the mix of raised zombies and dead units from both sides, the engine did not recognize the last thief as dead because it was not the _last_ unit of the opponent because it already had raised zombies, and furthermore the raised zombie may have belong to my side, further making it not the last unit since I still had units (dead and alive). You would have to review the list of units for both sides, both live and undead, for every battle turn and guarantee the last unit is the last unit consistently in all lists. Or specifically check for zero HP units to remove them, which probably woulid easier. This is not an important bug if auto-battle handles it correctly, but should be pretty easy to patch up if you just check for HP = 0.