From 0a0c5ed017fec3b00d1200715ba4e6452ec60426 Mon Sep 17 00:00:00 2001 From: PHILIP White Date: Mon, 6 Mar 2023 04:56:05 +0000 Subject: [PATCH] Bugfix Combat Initiation Not Checking AI Blackboard --- .../TurnBasedCombatV2/TurnBaseCombatV2.cpp | 19 ++++++++++++++++++- .../TurnBasedCombatV2/TurnBaseCombatV2.h | 3 +++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/Source/the_twilight_abyss/TurnBasedCombatV2/TurnBaseCombatV2.cpp b/Source/the_twilight_abyss/TurnBasedCombatV2/TurnBaseCombatV2.cpp index 8361f5c..dcc2547 100644 --- a/Source/the_twilight_abyss/TurnBasedCombatV2/TurnBaseCombatV2.cpp +++ b/Source/the_twilight_abyss/TurnBasedCombatV2/TurnBaseCombatV2.cpp @@ -12,6 +12,7 @@ #include "GameFramework/Character.h" #include "Kismet/GameplayStatics.h" #include "the_twilight_abyss/PlayerTemp/TempCharacter.h" +#include "UObject/UnrealTypePrivate.h" // Sets default values ATurnBaseCombatV2::ATurnBaseCombatV2() @@ -37,6 +38,16 @@ void ATurnBaseCombatV2::StartCombat(AActor* Enemy) FProperty* HealthProperty = Enemy->GetClass()->FindPropertyByName(FName("Health")); int32* EnemyHealthPtr = HealthProperty->ContainerPtrToValuePtr(Enemy); EnemyHealth = EnemyHealthPtr; + + if (EnemyBlackboard->GetValueAsBool("Sight")) + { + //bEnemyHasExtraTurn = true; + SwitchTurn(); + } + else + { + bPlayerHasExtraTurn = true; + } if (HUD->IsInViewport()) return; HUD->AddToViewport(); @@ -75,6 +86,8 @@ void ATurnBaseCombatV2::StartCombat(AActor* Enemy) void ATurnBaseCombatV2::EndCombat() { + bEnemyHasExtraTurn = false; + bPlayerHasExtraTurn = false; for (UStatusEffect* StatusEffect : StatusEffects) { StatusEffect->OnExpiry(PlayerActor); @@ -238,7 +251,11 @@ void ATurnBaseCombatV2::ExecuteCast(FString Combo) return; } - SwitchTurn(); + if (!bPlayerHasExtraTurn) + { + SwitchTurn(); + } + bPlayerHasExtraTurn = false; } void ATurnBaseCombatV2::UseActionPoint() diff --git a/Source/the_twilight_abyss/TurnBasedCombatV2/TurnBaseCombatV2.h b/Source/the_twilight_abyss/TurnBasedCombatV2/TurnBaseCombatV2.h index db70d83..37b9bdd 100644 --- a/Source/the_twilight_abyss/TurnBasedCombatV2/TurnBaseCombatV2.h +++ b/Source/the_twilight_abyss/TurnBasedCombatV2/TurnBaseCombatV2.h @@ -115,6 +115,9 @@ protected: void RevertActionPoints(); void UpdateProgressBars() const; + bool bPlayerHasExtraTurn = false; + bool bEnemyHasExtraTurn = false; + private: bool IsValidCombo(FString Combo) const; bool IsSpecialCombo(FString Combo) const;