Bugfix Combat Initiation Not Checking AI Blackboard

This commit is contained in:
Philip W 2023-03-06 04:56:05 +00:00
parent d100a85a0d
commit 0a0c5ed017
2 changed files with 21 additions and 1 deletions

View File

@ -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()
@ -38,6 +39,16 @@ void ATurnBaseCombatV2::StartCombat(AActor* Enemy)
int32* EnemyHealthPtr = HealthProperty->ContainerPtrToValuePtr<int32>(Enemy);
EnemyHealth = EnemyHealthPtr;
if (EnemyBlackboard->GetValueAsBool("Sight"))
{
//bEnemyHasExtraTurn = true;
SwitchTurn();
}
else
{
bPlayerHasExtraTurn = true;
}
if (HUD->IsInViewport()) return;
HUD->AddToViewport();
EnemyActor = Enemy;
@ -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()

View File

@ -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;