Implements running from battle.
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
@@ -100,17 +100,22 @@ bool Battle::CanSlotBeFilled(uint8_t side, uint8_t index) const {
|
||||
|
||||
void Battle::ValidateBattleState() {
|
||||
bool survivingSideExists = false;
|
||||
uint8_t result = 0;
|
||||
for (uint8_t i = 0; i < _sides.size(); i++){
|
||||
uint8_t winningSide = 0;
|
||||
for (uint8_t i = 0; i < _sides.size(); i++) {
|
||||
auto side = _sides[i];
|
||||
if (!side->IsDefeated()){
|
||||
if (survivingSideExists){
|
||||
if (side->HasFled()) {
|
||||
this->_battleResult = BattleResult::Inconclusive();
|
||||
this->_hasEnded = true;
|
||||
return;
|
||||
}
|
||||
if (!side->IsDefeated()) {
|
||||
if (survivingSideExists) {
|
||||
return;
|
||||
}
|
||||
survivingSideExists = true;
|
||||
result = i;
|
||||
winningSide = i;
|
||||
}
|
||||
}
|
||||
this->_battleResult = result;
|
||||
this->_battleResult = BattleResult::Conclusive(winningSide);
|
||||
this->_hasEnded = true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user