X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fbattle%2FBattleState.cpp;h=c6f07cd814d9247fae9caa609a14ddebc63b9a79;hb=9a7ac49b7e3b7cd4a09b016ceec116830a3458f9;hp=1f68acfa8bf05576202233639e008bc0d31d0c43;hpb=3aca2860c95bb4d30569a23ab88a5286c3b9b757;p=l2e.git diff --git a/src/battle/BattleState.cpp b/src/battle/BattleState.cpp index 1f68acf..c6f07cd 100644 --- a/src/battle/BattleState.cpp +++ b/src/battle/BattleState.cpp @@ -1,6 +1,7 @@ #include "BattleState.h" #include "PartyLayout.h" +#include "states/DefeatState.h" #include "states/SelectMoveAction.h" #include "states/PerformAttacks.h" #include "states/VictoryState.h" @@ -129,7 +130,12 @@ void BattleState::OnResumeState(SDL_Surface *screen) { return; } if (battle.Defeat()) { - Ctrl().PopState(); + if (alreadyPushed) { + Ctrl().PopState(); + } else { + Ctrl().PushState(new DefeatState(&battle, this)); + alreadyPushed = true; + } return; } // TODO: this should not push a state while quitting