Bugfix Combat Initiation Not Checking AI Blackboard
This commit is contained in:
parent
d100a85a0d
commit
0a0c5ed017
@ -12,6 +12,7 @@
|
|||||||
#include "GameFramework/Character.h"
|
#include "GameFramework/Character.h"
|
||||||
#include "Kismet/GameplayStatics.h"
|
#include "Kismet/GameplayStatics.h"
|
||||||
#include "the_twilight_abyss/PlayerTemp/TempCharacter.h"
|
#include "the_twilight_abyss/PlayerTemp/TempCharacter.h"
|
||||||
|
#include "UObject/UnrealTypePrivate.h"
|
||||||
|
|
||||||
// Sets default values
|
// Sets default values
|
||||||
ATurnBaseCombatV2::ATurnBaseCombatV2()
|
ATurnBaseCombatV2::ATurnBaseCombatV2()
|
||||||
@ -37,6 +38,16 @@ void ATurnBaseCombatV2::StartCombat(AActor* Enemy)
|
|||||||
FProperty* HealthProperty = Enemy->GetClass()->FindPropertyByName(FName("Health"));
|
FProperty* HealthProperty = Enemy->GetClass()->FindPropertyByName(FName("Health"));
|
||||||
int32* EnemyHealthPtr = HealthProperty->ContainerPtrToValuePtr<int32>(Enemy);
|
int32* EnemyHealthPtr = HealthProperty->ContainerPtrToValuePtr<int32>(Enemy);
|
||||||
EnemyHealth = EnemyHealthPtr;
|
EnemyHealth = EnemyHealthPtr;
|
||||||
|
|
||||||
|
if (EnemyBlackboard->GetValueAsBool("Sight"))
|
||||||
|
{
|
||||||
|
//bEnemyHasExtraTurn = true;
|
||||||
|
SwitchTurn();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
bPlayerHasExtraTurn = true;
|
||||||
|
}
|
||||||
|
|
||||||
if (HUD->IsInViewport()) return;
|
if (HUD->IsInViewport()) return;
|
||||||
HUD->AddToViewport();
|
HUD->AddToViewport();
|
||||||
@ -75,6 +86,8 @@ void ATurnBaseCombatV2::StartCombat(AActor* Enemy)
|
|||||||
|
|
||||||
void ATurnBaseCombatV2::EndCombat()
|
void ATurnBaseCombatV2::EndCombat()
|
||||||
{
|
{
|
||||||
|
bEnemyHasExtraTurn = false;
|
||||||
|
bPlayerHasExtraTurn = false;
|
||||||
for (UStatusEffect* StatusEffect : StatusEffects)
|
for (UStatusEffect* StatusEffect : StatusEffects)
|
||||||
{
|
{
|
||||||
StatusEffect->OnExpiry(PlayerActor);
|
StatusEffect->OnExpiry(PlayerActor);
|
||||||
@ -238,7 +251,11 @@ void ATurnBaseCombatV2::ExecuteCast(FString Combo)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
SwitchTurn();
|
if (!bPlayerHasExtraTurn)
|
||||||
|
{
|
||||||
|
SwitchTurn();
|
||||||
|
}
|
||||||
|
bPlayerHasExtraTurn = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ATurnBaseCombatV2::UseActionPoint()
|
void ATurnBaseCombatV2::UseActionPoint()
|
||||||
|
@ -115,6 +115,9 @@ protected:
|
|||||||
void RevertActionPoints();
|
void RevertActionPoints();
|
||||||
void UpdateProgressBars() const;
|
void UpdateProgressBars() const;
|
||||||
|
|
||||||
|
bool bPlayerHasExtraTurn = false;
|
||||||
|
bool bEnemyHasExtraTurn = false;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
bool IsValidCombo(FString Combo) const;
|
bool IsValidCombo(FString Combo) const;
|
||||||
bool IsSpecialCombo(FString Combo) const;
|
bool IsSpecialCombo(FString Combo) const;
|
||||||
|
Loading…
Reference in New Issue
Block a user