Bugfix Able to Open Inventory During Combat

This commit is contained in:
Philip W 2023-05-12 13:51:08 +01:00
parent 96685296c2
commit dd72b47a6d
5 changed files with 15 additions and 7 deletions

Binary file not shown.

View File

@ -22,7 +22,7 @@ void UEatableItems::Use(ATempCharacter* Character)
{
if (Character->Health < 100)
{
Character->Health += 20;
Character->Health = FMath::Clamp(Character->Health + 20, 0, 100);
Character->Inventory->RemoveItem(this);
}
else if (Character->Health >= 100)

View File

@ -7,11 +7,11 @@ void UStrengthBuff::Invoke(AActor* Character, float TimeOfExpiry)
{
Super::Invoke(Character, TimeOfExpiry);
CombatSystem = Cast<ATurnBaseCombatV2>(GetWorld()->GetGameState());
CombatSystem->BaseDamageMultiplier += 1;
CombatSystem->bIsBuffed = true;
}
void UStrengthBuff::OnExpiry(AActor* Character)
{
Super::OnExpiry(Character);
CombatSystem->BaseDamageMultiplier -= 1;
CombatSystem->bIsBuffed = false;
}

View File

@ -116,6 +116,8 @@ void ATurnBaseCombatV2::CombatCheck(const bool bWasShot)
const UBlackboardComponent* EnemyBlackboard = Cast<AAIController>(EnemyActor->GetInstigatorController())->GetBlackboardComponent();
ChainDamageMultiplier = 0;
BaseDamageMultiplier = DefaultBaseDamageMultiplier;
if (bIsBuffed) BaseDamageMultiplier += 1.0f;
DamageMultiplierTextBlock->SetText(FText::FromString(""));
const FProperty* ReactionSpeedProperty = EnemyActor->GetClass()->FindPropertyByName(FName("ReactionSpeed"));
@ -437,7 +439,8 @@ void ATurnBaseCombatV2::DamageEnemy(int Damage, const FString& DamageType)
AddBattleLogMessage("Enemy was damaged for " + FString::FromInt(Damage * BaseDamageMultiplier) + " HP by " + DamageType + ".");
if (DamageMultiplierTextBlock->GetText().ToString() == "")
{
BaseDamageMultiplier -= ChainDamageMultiplier;
BaseDamageMultiplier = DefaultBaseDamageMultiplier;
if (bIsBuffed) BaseDamageMultiplier += 1.0f;
ChainDamageMultiplier = 0;
}

View File

@ -25,12 +25,17 @@ public:
int* EnemyHealth = nullptr;
float* PlayerHealth = nullptr;
UPROPERTY(BlueprintReadOnly)
bool bIsInCombat = false;
UPROPERTY(EditDefaultsOnly)
float BaseDamageMultiplier = 1.0f;
UPROPERTY(EditDefaultsOnly)
float BaseDefenseMultiplier = 1.0f;
UPROPERTY(EditDefaultsOnly)
float DefaultBaseDamageMultiplier = 1.0f;
UPROPERTY(BlueprintReadWrite)
bool bIsBuffed = false;
UPROPERTY()
float ChainDamageMultiplier = 0;
UPROPERTY(EditAnywhere)