From 04cef8b6e209c84b6e1c1ffc7ff6486dc457a3c4 Mon Sep 17 00:00:00 2001 From: Deukhoofd Date: Fri, 29 May 2020 19:25:46 +0200 Subject: [PATCH] Clean up choices if they can't be used. --- src/Battling/Flow/TurnHandler.cpp | 4 ++++ 1 file changed, 4 insertions(+) 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; }