From aa2f1fabcb7839eba92930dfad2647273ee02201 Mon Sep 17 00:00:00 2001 From: PHILIP White Date: Thu, 11 May 2023 04:55:41 +0100 Subject: [PATCH] Updated Combat to Change the Chance to Miss Based on Enemy Type --- .../TurnBasedCombatV2/TurnBaseCombatV2.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Source/the_twilight_abyss/TurnBasedCombatV2/TurnBaseCombatV2.cpp b/Source/the_twilight_abyss/TurnBasedCombatV2/TurnBaseCombatV2.cpp index 149aa92..2a7a8bf 100644 --- a/Source/the_twilight_abyss/TurnBasedCombatV2/TurnBaseCombatV2.cpp +++ b/Source/the_twilight_abyss/TurnBasedCombatV2/TurnBaseCombatV2.cpp @@ -734,7 +734,12 @@ void ATurnBaseCombatV2::EnableButtons() const void ATurnBaseCombatV2::EnemyTurn() { - if (FMath::RandRange(1, 100) > 30) + int ChanceToMiss; + FProperty* IsBossProperty = FindFieldChecked(EnemyActor->GetClass(), "IsBoss"); + const FBoolProperty* IsBossBoolProperty = CastFieldChecked(IsBossProperty); + if (IsBossBoolProperty->GetPropertyValue_InContainer(EnemyActor)) ChanceToMiss = 5; + else ChanceToMiss = 30; + if (FMath::RandRange(1, 100) > ChanceToMiss) { const FProperty* EnemyBaseDamageProperty = EnemyActor->GetClass()->FindPropertyByName(FName("BaseDamage")); const int* EnemyBaseDamageSpeedPtr = EnemyBaseDamageProperty->ContainerPtrToValuePtr(EnemyActor);