From 37268a3dc2fd31ecf629214d6fa1cf1fdca06a32 Mon Sep 17 00:00:00 2001 From: PHILIP White Date: Wed, 26 Apr 2023 05:51:07 +0100 Subject: [PATCH] Bugfix Unable to Escape in Some Situations --- Content/BlueprintAI/AI/AIBruh.uasset | 4 ++-- .../TurnBasedCombatV2/HoldToInitCombat.cpp | 10 +++++++++- .../TurnBasedCombatV2/HoldToInitCombat.h | 3 +++ 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/Content/BlueprintAI/AI/AIBruh.uasset b/Content/BlueprintAI/AI/AIBruh.uasset index 0b9fbcb..427fe28 100644 --- a/Content/BlueprintAI/AI/AIBruh.uasset +++ b/Content/BlueprintAI/AI/AIBruh.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:584aedc80008c87b7f98a2ecfcf05b9093863d61f10acb95ed575a00914e7c6c -size 80816 +oid sha256:300e621b880bc7c6a608256b218af1095b93829767a940cfe574e2e0814c81f4 +size 90153 diff --git a/Source/the_twilight_abyss/TurnBasedCombatV2/HoldToInitCombat.cpp b/Source/the_twilight_abyss/TurnBasedCombatV2/HoldToInitCombat.cpp index f9fd522..a699be0 100644 --- a/Source/the_twilight_abyss/TurnBasedCombatV2/HoldToInitCombat.cpp +++ b/Source/the_twilight_abyss/TurnBasedCombatV2/HoldToInitCombat.cpp @@ -2,7 +2,10 @@ #include "HoldToInitCombat.h" + +#include "AIController.h" #include "TurnBaseCombatV2.h" +#include "BehaviorTree/BlackboardComponent.h" #include "Blueprint/UserWidget.h" @@ -70,7 +73,12 @@ void UHoldToInitCombat::OnClickDown() if (AActor* ClickHit = LookingAtEnemy(); ClickHit != nullptr) { TargetEnemy = ClickHit; - Cast(GetWorld()->GetGameState())->StartCombat(TargetEnemy); + EnemyBlackboard = Cast(TargetEnemy->GetInstigatorController())->GetBlackboardComponent(); + if (!EnemyBlackboard->GetValueAsBool("WasInCombat")) + { + Cast(GetWorld()->GetGameState())->StartCombat(TargetEnemy); + return; + } InitCombatWidget->SetVisibility(ESlateVisibility::Hidden); return; } diff --git a/Source/the_twilight_abyss/TurnBasedCombatV2/HoldToInitCombat.h b/Source/the_twilight_abyss/TurnBasedCombatV2/HoldToInitCombat.h index c24e4a3..e94c410 100644 --- a/Source/the_twilight_abyss/TurnBasedCombatV2/HoldToInitCombat.h +++ b/Source/the_twilight_abyss/TurnBasedCombatV2/HoldToInitCombat.h @@ -6,6 +6,7 @@ #include "Components/ActorComponent.h" #include "NiagaraFunctionLibrary.h" #include "Components/RadialSlider.h" +#include "BehaviorTree/BlackboardComponent.h" #include "HoldToInitCombat.generated.h" class UNiagaraSystem; @@ -35,6 +36,8 @@ public: protected: // Called when the game starts virtual void BeginPlay() override; + UPROPERTY() + UBlackboardComponent* EnemyBlackboard; public: // Called every frame