Clean up choices if they can't be used.
continuous-integration/drone/push Build is failing
Details
continuous-integration/drone/push Build is failing
Details
This commit is contained in:
parent
d51919c74f
commit
04cef8b6e2
|
@ -22,21 +22,25 @@ void TurnHandler::ExecuteChoice(BaseTurnChoice* choice) {
|
|||
AssertNotNull(choice);
|
||||
auto choiceKind = choice->GetKind();
|
||||
if (choiceKind == TurnChoiceKind::Pass) {
|
||||
delete choice;
|
||||
return;
|
||||
}
|
||||
auto user = choice->GetUser();
|
||||
// If the user is fainted, we don't want to execute its choice.
|
||||
if (user->IsFainted()) {
|
||||
delete choice;
|
||||
return;
|
||||
}
|
||||
auto battle = user->GetBattle();
|
||||
AssertNotNull(battle)
|
||||
// If the user is not in the field, we don't want to execute its choice.
|
||||
if (!battle->CreatureInField(user)) {
|
||||
delete choice;
|
||||
return;
|
||||
}
|
||||
// If the choice is not valid, we don't want to execute it.
|
||||
if (!battle->CanUse(choice)) {
|
||||
delete choice;
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue