diff --git a/src/Battling/Flow/TurnHandler.cpp b/src/Battling/Flow/TurnHandler.cpp index f0814ef..7845afe 100644 --- a/src/Battling/Flow/TurnHandler.cpp +++ b/src/Battling/Flow/TurnHandler.cpp @@ -14,10 +14,15 @@ void TurnHandler::RunTurn(ArbUt::BorrowedPtr queue) { } while (queue->HasNext()) { auto item = queue->Dequeue(); + AssertNotNull(item) + AssertNotNull(item->GetUser()) + AssertNotNull(item->GetUser()->GetBattle()) + AssertNotNull(item->GetUser()->GetBattleSide()) + auto index = (uint32_t)item->GetUser()->GetBattleSide()->GetCreatureIndex(item->GetUser()); + try_creature(ExecuteChoice(item.get()), "Executing choice failed for choice by mon on side " - << ((uint32_t)item.get()->GetUser()->GetBattleSide()->GetSideIndex()) << " and index " - << ((uint32_t)item.get()->GetUser()->GetBattleSide()->GetCreatureIndex(item->GetUser())) + << ((uint32_t)item->GetUser()->GetBattleSide()->GetSideIndex()) << " and index " << index << ". Choice had choice kind " << CreatureLib::Battling::TurnChoiceKindHelper::ToString(item->GetKind()) << " " << " with message"); @@ -106,7 +111,7 @@ void TurnHandler::ExecuteAttackChoice(ArbUt::BorrowedPtr choic for (uint8_t i = 0; i < attack.GetTargetCount(); i++) { auto target = attack.GetTargets()[i]; - try_creature(HandleAttackForTarget(&attack, target), "Exception occured during handling attack for target"); + try_creature(HandleAttackForTarget(&attack, target), "Exception occurred during handling attack for target"); } }