diff --git a/src/Battling/Models/Battle.cpp b/src/Battling/Models/Battle.cpp index 95d02ce..e0e8076 100644 --- a/src/Battling/Models/Battle.cpp +++ b/src/Battling/Models/Battle.cpp @@ -102,7 +102,7 @@ bool Battle::CanSlotBeFilled(uint8_t side, uint8_t index) const { void Battle::ValidateBattleState() { bool survivingSideExists = false; - uint8_t winningSide = 0; + uint8_t winningSide = 255; for (uint8_t i = 0; i < _sides.Count(); i++) { auto side = _sides[i]; if (side->HasFled()) { @@ -118,6 +118,11 @@ void Battle::ValidateBattleState() { winningSide = i; } } + if (!survivingSideExists) { + this->_battleResult = BattleResult::Inconclusive(); + this->_hasEnded = true; + return; + } this->_battleResult = BattleResult::Conclusive(winningSide); this->_hasEnded = true; }