From dd72b47a6dd1d81cbb763a8a40aff5e3e3aaee25 Mon Sep 17 00:00:00 2001 From: PHILIP White Date: Fri, 12 May 2023 13:51:08 +0100 Subject: [PATCH] Bugfix Able to Open Inventory During Combat --- Content/Blueprints/Player/BP_MyTempCharacter.uasset | 4 ++-- Source/the_twilight_abyss/BaseItems/Items/EatableItems.cpp | 4 ++-- .../TurnBasedCombatV2/StatusEffects/StrengthBuff.cpp | 4 ++-- .../TurnBasedCombatV2/TurnBaseCombatV2.cpp | 5 ++++- .../the_twilight_abyss/TurnBasedCombatV2/TurnBaseCombatV2.h | 5 +++++ 5 files changed, 15 insertions(+), 7 deletions(-) diff --git a/Content/Blueprints/Player/BP_MyTempCharacter.uasset b/Content/Blueprints/Player/BP_MyTempCharacter.uasset index 9fc680d..df82513 100644 --- a/Content/Blueprints/Player/BP_MyTempCharacter.uasset +++ b/Content/Blueprints/Player/BP_MyTempCharacter.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:83f90e069612e01b0d62a8bb2d1fd5e087bfe5267e53ec3d42d81d6318095c5c -size 107732 +oid sha256:d52fdc5d832a7e35686581809fbe6d24b41ac62dd1ac547f3a3e6c1d5620dc8d +size 116777 diff --git a/Source/the_twilight_abyss/BaseItems/Items/EatableItems.cpp b/Source/the_twilight_abyss/BaseItems/Items/EatableItems.cpp index c260817..a4e5d24 100644 --- a/Source/the_twilight_abyss/BaseItems/Items/EatableItems.cpp +++ b/Source/the_twilight_abyss/BaseItems/Items/EatableItems.cpp @@ -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) @@ -61,7 +61,7 @@ void UEatableItems::Use(ATempCharacter* Character) Character->Inventory->RemoveItem(this); } } - + if (isAzosType) { TurnBaseCombat = GetWorld()->GetGameState(); diff --git a/Source/the_twilight_abyss/TurnBasedCombatV2/StatusEffects/StrengthBuff.cpp b/Source/the_twilight_abyss/TurnBasedCombatV2/StatusEffects/StrengthBuff.cpp index 194851b..fc1a057 100644 --- a/Source/the_twilight_abyss/TurnBasedCombatV2/StatusEffects/StrengthBuff.cpp +++ b/Source/the_twilight_abyss/TurnBasedCombatV2/StatusEffects/StrengthBuff.cpp @@ -7,11 +7,11 @@ void UStrengthBuff::Invoke(AActor* Character, float TimeOfExpiry) { Super::Invoke(Character, TimeOfExpiry); CombatSystem = Cast(GetWorld()->GetGameState()); - CombatSystem->BaseDamageMultiplier += 1; + CombatSystem->bIsBuffed = true; } void UStrengthBuff::OnExpiry(AActor* Character) { Super::OnExpiry(Character); - CombatSystem->BaseDamageMultiplier -= 1; + CombatSystem->bIsBuffed = false; } diff --git a/Source/the_twilight_abyss/TurnBasedCombatV2/TurnBaseCombatV2.cpp b/Source/the_twilight_abyss/TurnBasedCombatV2/TurnBaseCombatV2.cpp index 65d1833..b0a68de 100644 --- a/Source/the_twilight_abyss/TurnBasedCombatV2/TurnBaseCombatV2.cpp +++ b/Source/the_twilight_abyss/TurnBasedCombatV2/TurnBaseCombatV2.cpp @@ -116,6 +116,8 @@ void ATurnBaseCombatV2::CombatCheck(const bool bWasShot) const UBlackboardComponent* EnemyBlackboard = Cast(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; } diff --git a/Source/the_twilight_abyss/TurnBasedCombatV2/TurnBaseCombatV2.h b/Source/the_twilight_abyss/TurnBasedCombatV2/TurnBaseCombatV2.h index 19be486..b473788 100644 --- a/Source/the_twilight_abyss/TurnBasedCombatV2/TurnBaseCombatV2.h +++ b/Source/the_twilight_abyss/TurnBasedCombatV2/TurnBaseCombatV2.h @@ -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)