diff --git a/src/Battling/Flow/TurnHandler.cpp b/src/Battling/Flow/TurnHandler.cpp index 0e7de56..4212920 100644 --- a/src/Battling/Flow/TurnHandler.cpp +++ b/src/Battling/Flow/TurnHandler.cpp @@ -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; }