From 8743db5347bd7dee96f51a48edcac8f2a1a302ee Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Mon, 12 Aug 2024 23:45:16 +0100 Subject: [PATCH] Secondary stats added to character prefabs --- .../Scripts/CharacterStats.cs | 2 ++ .../Abilities/BasicMinionPrefab.prefab | 21 +++++++++++++++++++ .../Bosses/BossEnemyPrefabTemplate.prefab | 21 +++++++++++++++++++ .../Enemies/BasicEnemyPrefabTemplate.prefab | 21 +++++++++++++++++++ Assets/Resources/PlayerPrefab.prefab | 21 +++++++++++++++++++ Assets/Scripts/Game/GameConstants.cs | 3 ++- Assets/Scripts/Health.cs | 2 +- .../Scripts/PlayerResources/PlayerHealth.cs | 2 +- 8 files changed, 90 insertions(+), 3 deletions(-) diff --git a/Assets/Character Stats/Examples/Items & Inventory/Scripts/CharacterStats.cs b/Assets/Character Stats/Examples/Items & Inventory/Scripts/CharacterStats.cs index 944c85ec..65e06beb 100644 --- a/Assets/Character Stats/Examples/Items & Inventory/Scripts/CharacterStats.cs +++ b/Assets/Character Stats/Examples/Items & Inventory/Scripts/CharacterStats.cs @@ -81,6 +81,7 @@ namespace Kryz.CharacterStats.Examples MaxHealth.RemoveAllModifiersFromSource(GameConstants.ObjectSources.VitalitySource); Armor.RemoveAllModifiersFromSource(GameConstants.ObjectSources.StrengthSource); + Armor.RemoveAllModifiersFromSource(GameConstants.ObjectSources.AgilitySource); Armor.RemoveAllModifiersFromSource(GameConstants.ObjectSources.VitalitySource); MagicResistance.RemoveAllModifiersFromSource(GameConstants.ObjectSources.IntelligenceSource); @@ -106,6 +107,7 @@ namespace Kryz.CharacterStats.Examples MaxHealth.AddModifier(new StatModifier(Vitality.Value * GameConstants.CharacterStatsBalancing.MaxHealthIncreaseFromVitality, StatModType.Flat, GameConstants.ObjectSources.VitalitySource)); Armor.AddModifier(new StatModifier(Strength.Value * GameConstants.CharacterStatsBalancing.ArmorIncreaseFromStrength, StatModType.Flat, GameConstants.ObjectSources.StrengthSource)); + Armor.AddModifier(new StatModifier(Agility.Value * GameConstants.CharacterStatsBalancing.ArmorIncreaseFromAgility, StatModType.Flat, GameConstants.ObjectSources.AgilitySource)); Armor.AddModifier(new StatModifier(Vitality.Value * GameConstants.CharacterStatsBalancing.ArmorIncreaseFromVitality, StatModType.Flat, GameConstants.ObjectSources.VitalitySource)); MagicResistance.AddModifier(new StatModifier(Intelligence.Value * GameConstants.CharacterStatsBalancing.MagicResistanceIncreaseFromIntelligence, StatModType.Flat, GameConstants.ObjectSources.IntelligenceSource)); diff --git a/Assets/Resources/Abilities/BasicMinionPrefab.prefab b/Assets/Resources/Abilities/BasicMinionPrefab.prefab index b38e9193..50386bf7 100644 --- a/Assets/Resources/Abilities/BasicMinionPrefab.prefab +++ b/Assets/Resources/Abilities/BasicMinionPrefab.prefab @@ -5339,6 +5339,27 @@ MonoBehaviour: Vitality: statTag: {fileID: 11400000, guid: 9bbf01c0977dc98408db3efec6685c56, type: 2} BaseValue: 1 + CritChance: + statTag: {fileID: 11400000, guid: 831eab0f4c8fb69459a620afd95f698f, type: 2} + BaseValue: 3 + CritDamage: + statTag: {fileID: 11400000, guid: ad5c133149d9aa641be97f85e426a01f, type: 2} + BaseValue: 50 + AttackDamage: + statTag: {fileID: 11400000, guid: 09eb68d1a036a1643b74420197b999bd, type: 2} + BaseValue: 1 + SpellDamage: + statTag: {fileID: 11400000, guid: 918ee6f8846e6a9449166ac16b6330ae, type: 2} + BaseValue: 1 + MaxHealth: + statTag: {fileID: 11400000, guid: 4242916f0b1bf6e4e8a04bce7028b3f4, type: 2} + BaseValue: 0 + Armor: + statTag: {fileID: 11400000, guid: 9ffd1c81aeea68b4eb6b0f054f0d989f, type: 2} + BaseValue: 1 + MagicResistance: + statTag: {fileID: 11400000, guid: 5ff891a32306c504f8f6159f69a1866e, type: 2} + BaseValue: 1 onUpdateStatValues: m_PersistentCalls: m_Calls: [] diff --git a/Assets/Resources/Bosses/BossEnemyPrefabTemplate.prefab b/Assets/Resources/Bosses/BossEnemyPrefabTemplate.prefab index 4f8152df..2b9ef266 100644 --- a/Assets/Resources/Bosses/BossEnemyPrefabTemplate.prefab +++ b/Assets/Resources/Bosses/BossEnemyPrefabTemplate.prefab @@ -390,6 +390,27 @@ MonoBehaviour: Vitality: statTag: {fileID: 11400000, guid: 9bbf01c0977dc98408db3efec6685c56, type: 2} BaseValue: 5 + CritChance: + statTag: {fileID: 11400000, guid: 831eab0f4c8fb69459a620afd95f698f, type: 2} + BaseValue: 5 + CritDamage: + statTag: {fileID: 11400000, guid: ad5c133149d9aa641be97f85e426a01f, type: 2} + BaseValue: 50 + AttackDamage: + statTag: {fileID: 11400000, guid: 09eb68d1a036a1643b74420197b999bd, type: 2} + BaseValue: 1 + SpellDamage: + statTag: {fileID: 11400000, guid: 918ee6f8846e6a9449166ac16b6330ae, type: 2} + BaseValue: 1 + MaxHealth: + statTag: {fileID: 11400000, guid: 4242916f0b1bf6e4e8a04bce7028b3f4, type: 2} + BaseValue: 0 + Armor: + statTag: {fileID: 11400000, guid: 9ffd1c81aeea68b4eb6b0f054f0d989f, type: 2} + BaseValue: 1 + MagicResistance: + statTag: {fileID: 11400000, guid: 5ff891a32306c504f8f6159f69a1866e, type: 2} + BaseValue: 1 onUpdateStatValues: m_PersistentCalls: m_Calls: [] diff --git a/Assets/Resources/Enemies/BasicEnemyPrefabTemplate.prefab b/Assets/Resources/Enemies/BasicEnemyPrefabTemplate.prefab index defdea75..f0700510 100644 --- a/Assets/Resources/Enemies/BasicEnemyPrefabTemplate.prefab +++ b/Assets/Resources/Enemies/BasicEnemyPrefabTemplate.prefab @@ -482,6 +482,27 @@ MonoBehaviour: Vitality: statTag: {fileID: 11400000, guid: 9bbf01c0977dc98408db3efec6685c56, type: 2} BaseValue: 1 + CritChance: + statTag: {fileID: 11400000, guid: 831eab0f4c8fb69459a620afd95f698f, type: 2} + BaseValue: 3 + CritDamage: + statTag: {fileID: 11400000, guid: ad5c133149d9aa641be97f85e426a01f, type: 2} + BaseValue: 50 + AttackDamage: + statTag: {fileID: 11400000, guid: 09eb68d1a036a1643b74420197b999bd, type: 2} + BaseValue: 1 + SpellDamage: + statTag: {fileID: 11400000, guid: 918ee6f8846e6a9449166ac16b6330ae, type: 2} + BaseValue: 1 + MaxHealth: + statTag: {fileID: 11400000, guid: 4242916f0b1bf6e4e8a04bce7028b3f4, type: 2} + BaseValue: 0 + Armor: + statTag: {fileID: 11400000, guid: 9ffd1c81aeea68b4eb6b0f054f0d989f, type: 2} + BaseValue: 1 + MagicResistance: + statTag: {fileID: 11400000, guid: 5ff891a32306c504f8f6159f69a1866e, type: 2} + BaseValue: 1 onUpdateStatValues: m_PersistentCalls: m_Calls: [] diff --git a/Assets/Resources/PlayerPrefab.prefab b/Assets/Resources/PlayerPrefab.prefab index c2cea258..c1ad4822 100644 --- a/Assets/Resources/PlayerPrefab.prefab +++ b/Assets/Resources/PlayerPrefab.prefab @@ -475,6 +475,27 @@ MonoBehaviour: Vitality: statTag: {fileID: 11400000, guid: 9bbf01c0977dc98408db3efec6685c56, type: 2} BaseValue: 1 + CritChance: + statTag: {fileID: 11400000, guid: 831eab0f4c8fb69459a620afd95f698f, type: 2} + BaseValue: 5 + CritDamage: + statTag: {fileID: 11400000, guid: ad5c133149d9aa641be97f85e426a01f, type: 2} + BaseValue: 50 + AttackDamage: + statTag: {fileID: 11400000, guid: 09eb68d1a036a1643b74420197b999bd, type: 2} + BaseValue: 1 + SpellDamage: + statTag: {fileID: 11400000, guid: 918ee6f8846e6a9449166ac16b6330ae, type: 2} + BaseValue: 1 + MaxHealth: + statTag: {fileID: 11400000, guid: 4242916f0b1bf6e4e8a04bce7028b3f4, type: 2} + BaseValue: 0 + Armor: + statTag: {fileID: 11400000, guid: 9ffd1c81aeea68b4eb6b0f054f0d989f, type: 2} + BaseValue: 1 + MagicResistance: + statTag: {fileID: 11400000, guid: 5ff891a32306c504f8f6159f69a1866e, type: 2} + BaseValue: 1 onUpdateStatValues: m_PersistentCalls: m_Calls: [] diff --git a/Assets/Scripts/Game/GameConstants.cs b/Assets/Scripts/Game/GameConstants.cs index c381e2d8..69c5517f 100644 --- a/Assets/Scripts/Game/GameConstants.cs +++ b/Assets/Scripts/Game/GameConstants.cs @@ -80,7 +80,8 @@ public static class GameConstants public const float MaxHealthIncreaseFromVitality = 1f; //100% vit => MaxHP public const float ArmorIncreaseFromStrength = 0.1f; //10% str => Armor - public const float ArmorIncreaseFromVitality = 0.2f; //20% vit => Armor + public const float ArmorIncreaseFromAgility = 0.1f; // 10% agi => Armor + public const float ArmorIncreaseFromVitality = 0.3f; //30% vit => Armor public const float MagicResistanceIncreaseFromIntelligence = 0.1f; // 10% int => MagicRess public const float MagicResistanceIncreaseFromSpirit = 1f; //100% spi => MagicRes diff --git a/Assets/Scripts/Health.cs b/Assets/Scripts/Health.cs index 329b4dd4..a4286da9 100644 --- a/Assets/Scripts/Health.cs +++ b/Assets/Scripts/Health.cs @@ -154,7 +154,7 @@ public class Health : Resource public virtual void CalculateMaxValueBasedOnStat() { - maxValue = baseMaxValue + character.Vitality.Value * GameConstants.CharacterStatsBalancing.VitalityToHealthRate; + maxValue = baseMaxValue + character.MaxHealth.Value; CalculateRegenValueBasedOnStat(); diff --git a/Assets/Scripts/PlayerResources/PlayerHealth.cs b/Assets/Scripts/PlayerResources/PlayerHealth.cs index 0818b5e5..24c9a2de 100644 --- a/Assets/Scripts/PlayerResources/PlayerHealth.cs +++ b/Assets/Scripts/PlayerResources/PlayerHealth.cs @@ -15,7 +15,7 @@ public class PlayerHealth : Health { currentLevel = ((PlayerCharacterStats)character).level.currentLevel - 1; - maxValue = (baseMaxValue + (baseMaxValue * currentLevel * GameConstants.CharacterStatsBalancing.BaseMaxHealthGrowthPerLevel)) + character.Vitality.Value * GameConstants.CharacterStatsBalancing.VitalityToHealthRate; + maxValue = (baseMaxValue + (baseMaxValue * currentLevel * GameConstants.CharacterStatsBalancing.BaseMaxHealthGrowthPerLevel)) + character.MaxHealth.Value; CalculateRegenValueBasedOnStat();