From 24a1af4563a8bcb51f51b6cc077694304890264f Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Wed, 8 Jan 2025 00:13:57 +0000 Subject: [PATCH] Fix crafting stats cap + updated summon ability - Crafting stats cap now properly counts only the new added stats from stones instead of all stats from stones - Summon abilities now each have its own scaling with owners stats - Summon abilities time between attacks reduced (faster attacks overall) --- .../Scripts/CraftingStatStoneTemplate.cs | 2 + .../Scripts/EquippableItemInstance.cs | 8 +-- .../BasicMinionPrefab_Golem Variant.prefab | 4 ++ ...ionPrefab_Mage Mirror Image Variant.prefab | 4 ++ .../BasicMinionPrefab_Mage Variant.prefab | 4 ++ .../BasicMinionPrefab_Rogue Variant.prefab | 2 +- .../BasicMinionPrefab_Savage Variant.prefab | 2 +- ...tist-Satanist Bloody Shadow Variant.prefab | 4 ++ .../BasicMinionPrefab_Warrior Variant.prefab | 4 ++ ...Vendor_Template_Resourceful_Variant.prefab | 8 +++ .../Debug/Player/Mage/3-MirrorImage.asset | 14 ++++ .../Necromancer/Summons/SummonGolem.asset | 17 +++++ .../Necromancer/Summons/SummonMage.asset | 17 +++++ .../Necromancer/Summons/SummonRogue.asset | 17 +++++ .../Necromancer/Summons/SummonSavage.asset | 17 +++++ .../Necromancer/Summons/SummonWarrior.asset | 17 +++++ .../Debug/Player/Vampire/3-BloodyShadow.asset | 12 ++++ Assets/Scripts/AbilitySystem/SummonAbility.cs | 65 +++++++++---------- Assets/Scripts/Game/GameConstants.cs | 2 - Assets/Starfield Skybox/Skybox.mat | 2 +- 20 files changed, 178 insertions(+), 44 deletions(-) diff --git a/Assets/Character Stats/Examples/Items & Inventory/Scripts/CraftingStatStoneTemplate.cs b/Assets/Character Stats/Examples/Items & Inventory/Scripts/CraftingStatStoneTemplate.cs index 0fcadec6..de92cb76 100644 --- a/Assets/Character Stats/Examples/Items & Inventory/Scripts/CraftingStatStoneTemplate.cs +++ b/Assets/Character Stats/Examples/Items & Inventory/Scripts/CraftingStatStoneTemplate.cs @@ -111,10 +111,12 @@ public class CraftingStatStone : ItemInstance if (field.GetValue(this) is int intValue && intValue != 0 && field.Name.ToLower().Contains("bonus")) { nonZeroStats.Add(field.Name); + //Debug.Log("ç-CraftingStone GotNonZeroStat: " + field.Name); } else if (field.GetValue(this) is float floatValue && !Mathf.Approximately(floatValue, 0f) && field.Name.ToLower().Contains("bonus")) { nonZeroStats.Add(field.Name); + //Debug.Log("ç-CraftingStone GotNonZeroStat: " + field.Name); } } diff --git a/Assets/Character Stats/Examples/Items & Inventory/Scripts/EquippableItemInstance.cs b/Assets/Character Stats/Examples/Items & Inventory/Scripts/EquippableItemInstance.cs index 6a052b3a..b0dae524 100644 --- a/Assets/Character Stats/Examples/Items & Inventory/Scripts/EquippableItemInstance.cs +++ b/Assets/Character Stats/Examples/Items & Inventory/Scripts/EquippableItemInstance.cs @@ -133,10 +133,9 @@ public class EquippableItemInstance : ItemInstance if (!CraftableBase) return false; var stoneStats = GetNonZeroStats(stone); + var itemNonZeroStats = GetNonZeroStats(this); - // Calculate overlapping and new unique stats - int overlappingStats = AddedStoneStats.Intersect(stoneStats).Count(); - int newUniqueStats = stoneStats.Except(AddedStoneStats).Count(); + int newUniqueStats = stoneStats.Except(itemNonZeroStats).Count(); // Ensure we don't exceed the max unique stats cap if (AddedStoneStats.Count + newUniqueStats > MaxTotalUniqueStatsIncreasedByStones) @@ -150,10 +149,11 @@ public class EquippableItemInstance : ItemInstance if (!CanAddCraftingStone(stone)) return false; var stoneStats = GetNonZeroStats(stone); + var itemStats = GetNonZeroStats(this); for (int i = 0; i < stoneStats.Count; i++) { - if (!AddedStoneStats.Contains(stoneStats[i])) + if (!itemStats.Contains(stoneStats[i]) && !AddedStoneStats.Contains(stoneStats[i])) AddedStoneStats.Add(stoneStats[i]); } // Add stats from the stone to the item diff --git a/Assets/Resources/Abilities/BasicMinionPrefab_Golem Variant.prefab b/Assets/Resources/Abilities/BasicMinionPrefab_Golem Variant.prefab index 5cab3fe2..2060e8b8 100644 --- a/Assets/Resources/Abilities/BasicMinionPrefab_Golem Variant.prefab +++ b/Assets/Resources/Abilities/BasicMinionPrefab_Golem Variant.prefab @@ -133,6 +133,10 @@ PrefabInstance: propertyPath: meleeRange value: 2.85 objectReference: {fileID: 0} + - target: {fileID: 4296156910025484504, guid: faa4fe928f5c2d34280baa419f0819bc, type: 3} + propertyPath: timeBetweenAttacks + value: 1.25 + objectReference: {fileID: 0} - target: {fileID: 4296156910025484506, guid: faa4fe928f5c2d34280baa419f0819bc, type: 3} propertyPath: m_RootOrder value: 0 diff --git a/Assets/Resources/Abilities/BasicMinionPrefab_Mage Mirror Image Variant.prefab b/Assets/Resources/Abilities/BasicMinionPrefab_Mage Mirror Image Variant.prefab index 49c89164..5c172914 100644 --- a/Assets/Resources/Abilities/BasicMinionPrefab_Mage Mirror Image Variant.prefab +++ b/Assets/Resources/Abilities/BasicMinionPrefab_Mage Mirror Image Variant.prefab @@ -222,6 +222,10 @@ PrefabInstance: propertyPath: sceneViewId value: 0 objectReference: {fileID: 0} + - target: {fileID: 4296156910025484504, guid: faa4fe928f5c2d34280baa419f0819bc, type: 3} + propertyPath: timeBetweenAttacks + value: 1 + objectReference: {fileID: 0} - target: {fileID: 4296156910025484506, guid: faa4fe928f5c2d34280baa419f0819bc, type: 3} propertyPath: m_RootOrder value: 0 diff --git a/Assets/Resources/Abilities/BasicMinionPrefab_Mage Variant.prefab b/Assets/Resources/Abilities/BasicMinionPrefab_Mage Variant.prefab index 110e3038..2b71e9f7 100644 --- a/Assets/Resources/Abilities/BasicMinionPrefab_Mage Variant.prefab +++ b/Assets/Resources/Abilities/BasicMinionPrefab_Mage Variant.prefab @@ -101,6 +101,10 @@ PrefabInstance: propertyPath: sceneViewId value: 0 objectReference: {fileID: 0} + - target: {fileID: 4296156910025484504, guid: faa4fe928f5c2d34280baa419f0819bc, type: 3} + propertyPath: timeBetweenAttacks + value: 1 + objectReference: {fileID: 0} - target: {fileID: 4296156910025484506, guid: faa4fe928f5c2d34280baa419f0819bc, type: 3} propertyPath: m_RootOrder value: 0 diff --git a/Assets/Resources/Abilities/BasicMinionPrefab_Rogue Variant.prefab b/Assets/Resources/Abilities/BasicMinionPrefab_Rogue Variant.prefab index a27b8e6a..27745fc2 100644 --- a/Assets/Resources/Abilities/BasicMinionPrefab_Rogue Variant.prefab +++ b/Assets/Resources/Abilities/BasicMinionPrefab_Rogue Variant.prefab @@ -33,7 +33,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 4296156910025484504, guid: faa4fe928f5c2d34280baa419f0819bc, type: 3} propertyPath: timeBetweenAttacks - value: 1 + value: 0.5 objectReference: {fileID: 0} - target: {fileID: 4296156910025484506, guid: faa4fe928f5c2d34280baa419f0819bc, type: 3} propertyPath: m_RootOrder diff --git a/Assets/Resources/Abilities/BasicMinionPrefab_Savage Variant.prefab b/Assets/Resources/Abilities/BasicMinionPrefab_Savage Variant.prefab index 1c17df91..f02d87f4 100644 --- a/Assets/Resources/Abilities/BasicMinionPrefab_Savage Variant.prefab +++ b/Assets/Resources/Abilities/BasicMinionPrefab_Savage Variant.prefab @@ -25,7 +25,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 4296156910025484504, guid: faa4fe928f5c2d34280baa419f0819bc, type: 3} propertyPath: timeBetweenAttacks - value: 1.5 + value: 0.75 objectReference: {fileID: 0} - target: {fileID: 4296156910025484506, guid: faa4fe928f5c2d34280baa419f0819bc, type: 3} propertyPath: m_RootOrder diff --git a/Assets/Resources/Abilities/BasicMinionPrefab_Vamp-Cultist-Satanist Bloody Shadow Variant.prefab b/Assets/Resources/Abilities/BasicMinionPrefab_Vamp-Cultist-Satanist Bloody Shadow Variant.prefab index a120ff4a..587f8b47 100644 --- a/Assets/Resources/Abilities/BasicMinionPrefab_Vamp-Cultist-Satanist Bloody Shadow Variant.prefab +++ b/Assets/Resources/Abilities/BasicMinionPrefab_Vamp-Cultist-Satanist Bloody Shadow Variant.prefab @@ -262,6 +262,10 @@ PrefabInstance: propertyPath: sceneViewId value: 0 objectReference: {fileID: 0} + - target: {fileID: 4296156910025484504, guid: faa4fe928f5c2d34280baa419f0819bc, type: 3} + propertyPath: timeBetweenAttacks + value: 0.5 + objectReference: {fileID: 0} - target: {fileID: 4296156910025484506, guid: faa4fe928f5c2d34280baa419f0819bc, type: 3} propertyPath: m_RootOrder value: 0 diff --git a/Assets/Resources/Abilities/BasicMinionPrefab_Warrior Variant.prefab b/Assets/Resources/Abilities/BasicMinionPrefab_Warrior Variant.prefab index 1d0684f2..5e201a3f 100644 --- a/Assets/Resources/Abilities/BasicMinionPrefab_Warrior Variant.prefab +++ b/Assets/Resources/Abilities/BasicMinionPrefab_Warrior Variant.prefab @@ -101,6 +101,10 @@ PrefabInstance: propertyPath: sceneViewId value: 0 objectReference: {fileID: 0} + - target: {fileID: 4296156910025484504, guid: faa4fe928f5c2d34280baa419f0819bc, type: 3} + propertyPath: timeBetweenAttacks + value: 1.25 + objectReference: {fileID: 0} - target: {fileID: 4296156910025484506, guid: faa4fe928f5c2d34280baa419f0819bc, type: 3} propertyPath: m_RootOrder value: 0 diff --git a/Assets/Resources/Vendors/Vendor_Template_Resourceful_Variant.prefab b/Assets/Resources/Vendors/Vendor_Template_Resourceful_Variant.prefab index 85cf428e..ea3ed2e4 100644 --- a/Assets/Resources/Vendors/Vendor_Template_Resourceful_Variant.prefab +++ b/Assets/Resources/Vendors/Vendor_Template_Resourceful_Variant.prefab @@ -107,6 +107,10 @@ PrefabInstance: propertyPath: m_Name value: Vendor_Template_Resourceful_Variant objectReference: {fileID: 0} + - target: {fileID: 5539393934865746281, guid: 2917f88fe47ef314b99fb469b1e46824, type: 3} + propertyPath: m_RootOrder + value: 3 + objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 2917f88fe47ef314b99fb469b1e46824, type: 3} --- !u!4 &1300955679331848717 stripped @@ -137,6 +141,10 @@ PrefabInstance: propertyPath: m_Materials.Array.data[0] value: objectReference: {fileID: 2100000, guid: ff1860c2ed83e1847840dcb9a3845883, type: 2} + - target: {fileID: 3423531745090271819, guid: c95df78dc0ded9e4b968240d2473f034, type: 3} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: ff1860c2ed83e1847840dcb9a3845883, type: 2} - target: {fileID: 4176238160307556629, guid: c95df78dc0ded9e4b968240d2473f034, type: 3} propertyPath: m_Materials.Array.data[0] value: diff --git a/Assets/Scriptables/Data/Resources/Abilities/Debug/Player/Mage/3-MirrorImage.asset b/Assets/Scriptables/Data/Resources/Abilities/Debug/Player/Mage/3-MirrorImage.asset index 4c479559..bf7f75aa 100644 --- a/Assets/Scriptables/Data/Resources/Abilities/Debug/Player/Mage/3-MirrorImage.asset +++ b/Assets/Scriptables/Data/Resources/Abilities/Debug/Player/Mage/3-MirrorImage.asset @@ -21,6 +21,8 @@ MonoBehaviour: manaCost: 30 healthCost: 0 classResourceCost: 0 + percentMaxManaCost: 0 + percentMaxHealthCost: 0 cooldown: 5 castableWhileMoving: 0 animationType: 4 @@ -28,3 +30,15 @@ MonoBehaviour: numberOfSpawns: 3 instantlyReady: 1 isImage: 1 + StrengthPercentFromMaster: 0.08 + AgilityPercentFromMaster: 0.08 + IntelligencePercentFromMaster: 0.08 + SpiritPercentFromMaster: 0.08 + VitalityPercentFromMaster: 0.08 + AttackDamagePercentFromMaster: 0.08 + SpellDamagePercentFromMaster: 0.08 + CritChancePercentFromMaster: 0.08 + CritDamagePercentFromMaster: 0.08 + MaxHealthPercentFromMaster: 0.3 + ArmorPercentFromMaster: 0.3 + MagicResistancePercentFromMaster: 0.3 diff --git a/Assets/Scriptables/Data/Resources/Abilities/Debug/Player/Necromancer/Summons/SummonGolem.asset b/Assets/Scriptables/Data/Resources/Abilities/Debug/Player/Necromancer/Summons/SummonGolem.asset index 68aa8488..b9f13571 100644 --- a/Assets/Scriptables/Data/Resources/Abilities/Debug/Player/Necromancer/Summons/SummonGolem.asset +++ b/Assets/Scriptables/Data/Resources/Abilities/Debug/Player/Necromancer/Summons/SummonGolem.asset @@ -21,7 +21,24 @@ MonoBehaviour: manaCost: 20 healthCost: 0 classResourceCost: 0 + percentMaxManaCost: 0 + percentMaxHealthCost: 0 cooldown: 20 castableWhileMoving: 0 animationType: 4 minionPrefab: {fileID: 6321488985172632352, guid: 421cfe4470c6f304b8f30f9451f8467c, type: 3} + numberOfSpawns: 1 + instantlyReady: 0 + isImage: 0 + StrengthPercentFromMaster: 0.1 + AgilityPercentFromMaster: 0.08 + IntelligencePercentFromMaster: 0.08 + SpiritPercentFromMaster: 0.08 + VitalityPercentFromMaster: 0.1 + AttackDamagePercentFromMaster: 0.15 + SpellDamagePercentFromMaster: 0.15 + CritChancePercentFromMaster: 0.08 + CritDamagePercentFromMaster: 0.08 + MaxHealthPercentFromMaster: 0.35 + ArmorPercentFromMaster: 0.35 + MagicResistancePercentFromMaster: 0.35 diff --git a/Assets/Scriptables/Data/Resources/Abilities/Debug/Player/Necromancer/Summons/SummonMage.asset b/Assets/Scriptables/Data/Resources/Abilities/Debug/Player/Necromancer/Summons/SummonMage.asset index e3684576..e68acfa0 100644 --- a/Assets/Scriptables/Data/Resources/Abilities/Debug/Player/Necromancer/Summons/SummonMage.asset +++ b/Assets/Scriptables/Data/Resources/Abilities/Debug/Player/Necromancer/Summons/SummonMage.asset @@ -21,7 +21,24 @@ MonoBehaviour: manaCost: 5 healthCost: 0 classResourceCost: 10 + percentMaxManaCost: 0 + percentMaxHealthCost: 0 cooldown: 8 castableWhileMoving: 0 animationType: 1 minionPrefab: {fileID: 5182193148598858814, guid: a23c3bbe3a299bc4fb87a4645ea4a8c2, type: 3} + numberOfSpawns: 1 + instantlyReady: 0 + isImage: 0 + StrengthPercentFromMaster: 0.08 + AgilityPercentFromMaster: 0.08 + IntelligencePercentFromMaster: 0.1 + SpiritPercentFromMaster: 0.08 + VitalityPercentFromMaster: 0.08 + AttackDamagePercentFromMaster: 0.08 + SpellDamagePercentFromMaster: 0.15 + CritChancePercentFromMaster: 0.08 + CritDamagePercentFromMaster: 0.08 + MaxHealthPercentFromMaster: 0.15 + ArmorPercentFromMaster: 0.15 + MagicResistancePercentFromMaster: 0.15 diff --git a/Assets/Scriptables/Data/Resources/Abilities/Debug/Player/Necromancer/Summons/SummonRogue.asset b/Assets/Scriptables/Data/Resources/Abilities/Debug/Player/Necromancer/Summons/SummonRogue.asset index 94bbd31f..989f52d3 100644 --- a/Assets/Scriptables/Data/Resources/Abilities/Debug/Player/Necromancer/Summons/SummonRogue.asset +++ b/Assets/Scriptables/Data/Resources/Abilities/Debug/Player/Necromancer/Summons/SummonRogue.asset @@ -21,7 +21,24 @@ MonoBehaviour: manaCost: 5 healthCost: 0 classResourceCost: 10 + percentMaxManaCost: 0 + percentMaxHealthCost: 0 cooldown: 8 castableWhileMoving: 0 animationType: 1 minionPrefab: {fileID: 3704396325418192251, guid: baa2ee7657d7f4f48b3f5ae8dab11efe, type: 3} + numberOfSpawns: 1 + instantlyReady: 0 + isImage: 0 + StrengthPercentFromMaster: 0.08 + AgilityPercentFromMaster: 0.1 + IntelligencePercentFromMaster: 0.08 + SpiritPercentFromMaster: 0.08 + VitalityPercentFromMaster: 0.08 + AttackDamagePercentFromMaster: 0.15 + SpellDamagePercentFromMaster: 0.08 + CritChancePercentFromMaster: 0.15 + CritDamagePercentFromMaster: 0.15 + MaxHealthPercentFromMaster: 0.15 + ArmorPercentFromMaster: 0.15 + MagicResistancePercentFromMaster: 0.15 diff --git a/Assets/Scriptables/Data/Resources/Abilities/Debug/Player/Necromancer/Summons/SummonSavage.asset b/Assets/Scriptables/Data/Resources/Abilities/Debug/Player/Necromancer/Summons/SummonSavage.asset index cbd46d6d..fe3d2f72 100644 --- a/Assets/Scriptables/Data/Resources/Abilities/Debug/Player/Necromancer/Summons/SummonSavage.asset +++ b/Assets/Scriptables/Data/Resources/Abilities/Debug/Player/Necromancer/Summons/SummonSavage.asset @@ -21,7 +21,24 @@ MonoBehaviour: manaCost: 5 healthCost: 0 classResourceCost: 10 + percentMaxManaCost: 0 + percentMaxHealthCost: 0 cooldown: 8 castableWhileMoving: 0 animationType: 1 minionPrefab: {fileID: 4457675943992054240, guid: aba296cc1f703a74fb09bb0f6b31e2ba, type: 3} + numberOfSpawns: 1 + instantlyReady: 0 + isImage: 0 + StrengthPercentFromMaster: 0.1 + AgilityPercentFromMaster: 0.08 + IntelligencePercentFromMaster: 0.08 + SpiritPercentFromMaster: 0.08 + VitalityPercentFromMaster: 0.08 + AttackDamagePercentFromMaster: 0.2 + SpellDamagePercentFromMaster: 0.08 + CritChancePercentFromMaster: 0.08 + CritDamagePercentFromMaster: 0.08 + MaxHealthPercentFromMaster: 0.15 + ArmorPercentFromMaster: 0.15 + MagicResistancePercentFromMaster: 0.15 diff --git a/Assets/Scriptables/Data/Resources/Abilities/Debug/Player/Necromancer/Summons/SummonWarrior.asset b/Assets/Scriptables/Data/Resources/Abilities/Debug/Player/Necromancer/Summons/SummonWarrior.asset index 5cbc8fb8..a77db773 100644 --- a/Assets/Scriptables/Data/Resources/Abilities/Debug/Player/Necromancer/Summons/SummonWarrior.asset +++ b/Assets/Scriptables/Data/Resources/Abilities/Debug/Player/Necromancer/Summons/SummonWarrior.asset @@ -21,7 +21,24 @@ MonoBehaviour: manaCost: 5 healthCost: 0 classResourceCost: 10 + percentMaxManaCost: 0 + percentMaxHealthCost: 0 cooldown: 8 castableWhileMoving: 0 animationType: 1 minionPrefab: {fileID: 5113932649102621176, guid: 205e3d0d6f1a8b94fb06103f9a47bb27, type: 3} + numberOfSpawns: 1 + instantlyReady: 0 + isImage: 0 + StrengthPercentFromMaster: 0.08 + AgilityPercentFromMaster: 0.08 + IntelligencePercentFromMaster: 0.08 + SpiritPercentFromMaster: 0.08 + VitalityPercentFromMaster: 0.1 + AttackDamagePercentFromMaster: 0.08 + SpellDamagePercentFromMaster: 0.08 + CritChancePercentFromMaster: 0.08 + CritDamagePercentFromMaster: 0.08 + MaxHealthPercentFromMaster: 0.25 + ArmorPercentFromMaster: 0.25 + MagicResistancePercentFromMaster: 0.25 diff --git a/Assets/Scriptables/Data/Resources/Abilities/Debug/Player/Vampire/3-BloodyShadow.asset b/Assets/Scriptables/Data/Resources/Abilities/Debug/Player/Vampire/3-BloodyShadow.asset index 14177355..47f88ff5 100644 --- a/Assets/Scriptables/Data/Resources/Abilities/Debug/Player/Vampire/3-BloodyShadow.asset +++ b/Assets/Scriptables/Data/Resources/Abilities/Debug/Player/Vampire/3-BloodyShadow.asset @@ -30,3 +30,15 @@ MonoBehaviour: numberOfSpawns: 1 instantlyReady: 1 isImage: 1 + StrengthPercentFromMaster: 0.1 + AgilityPercentFromMaster: 0.1 + IntelligencePercentFromMaster: 0.1 + SpiritPercentFromMaster: 0 + VitalityPercentFromMaster: 0 + AttackDamagePercentFromMaster: 0.24 + SpellDamagePercentFromMaster: 0.24 + CritChancePercentFromMaster: 0.24 + CritDamagePercentFromMaster: 0.24 + MaxHealthPercentFromMaster: 0.3 + ArmorPercentFromMaster: 0 + MagicResistancePercentFromMaster: 0 diff --git a/Assets/Scripts/AbilitySystem/SummonAbility.cs b/Assets/Scripts/AbilitySystem/SummonAbility.cs index a3dda6ad..408b294b 100644 --- a/Assets/Scripts/AbilitySystem/SummonAbility.cs +++ b/Assets/Scripts/AbilitySystem/SummonAbility.cs @@ -14,6 +14,24 @@ public class SummonAbility : BaseAbility public bool instantlyReady = false; public bool isImage = false; + [Space] + public float StrengthPercentFromMaster; + public float AgilityPercentFromMaster; + public float IntelligencePercentFromMaster; + public float SpiritPercentFromMaster; + public float VitalityPercentFromMaster; + + [Space] + public float AttackDamagePercentFromMaster; + public float SpellDamagePercentFromMaster; + public float CritChancePercentFromMaster; + public float CritDamagePercentFromMaster; + public float MaxHealthPercentFromMaster; + public float ArmorPercentFromMaster; + public float MagicResistancePercentFromMaster; + + + private GameObject instantiatedMinion; private CharacterStats ownerStats; private CharacterStats minionStats; @@ -67,44 +85,21 @@ public class SummonAbility : BaseAbility ownerStats = user.GetComponent(); minionStats = instantiatedMinion.GetComponent(); - if (isImage) - { - minionStats.Strength.AddModifier(new StatModifier(ownerStats.Strength.Value * GameConstants.CharacterStatsBalancing.PercentageStatScaleForImages, StatModType.Flat, ownerStats)); - minionStats.Agility.AddModifier(new StatModifier(ownerStats.Agility.Value * GameConstants.CharacterStatsBalancing.PercentageStatScaleForImages, StatModType.Flat, ownerStats)); - minionStats.Intelligence.AddModifier(new StatModifier(ownerStats.Intelligence.Value * GameConstants.CharacterStatsBalancing.PercentageStatScaleForImages, StatModType.Flat, ownerStats)); - minionStats.Spirit.AddModifier(new StatModifier(ownerStats.Spirit.Value * GameConstants.CharacterStatsBalancing.PercentageStatScaleForImages, StatModType.Flat, ownerStats)); - minionStats.Vitality.AddModifier(new StatModifier(ownerStats.Vitality.Value * GameConstants.CharacterStatsBalancing.PercentageStatScaleForImages, StatModType.Flat, ownerStats)); + minionStats.Strength.AddModifier(new StatModifier(ownerStats.Strength.Value * StrengthPercentFromMaster, StatModType.Flat, ownerStats)); + minionStats.Agility.AddModifier(new StatModifier(ownerStats.Agility.Value * AgilityPercentFromMaster, StatModType.Flat, ownerStats)); + minionStats.Intelligence.AddModifier(new StatModifier(ownerStats.Intelligence.Value * IntelligencePercentFromMaster, StatModType.Flat, ownerStats)); + minionStats.Spirit.AddModifier(new StatModifier(ownerStats.Spirit.Value * SpiritPercentFromMaster, StatModType.Flat, ownerStats)); + minionStats.Vitality.AddModifier(new StatModifier(ownerStats.Vitality.Value * VitalityPercentFromMaster, StatModType.Flat, ownerStats)); - minionStats.AttackDamage.AddModifier(new StatModifier(ownerStats.AttackDamage.Value * GameConstants.CharacterStatsBalancing.PercentageStatScaleForImages, StatModType.Flat, ownerStats)); - minionStats.SpellDamage.AddModifier(new StatModifier(ownerStats.SpellDamage.Value * GameConstants.CharacterStatsBalancing.PercentageStatScaleForImages, StatModType.Flat, ownerStats)); + minionStats.AttackDamage.AddModifier(new StatModifier(ownerStats.AttackDamage.Value * AttackDamagePercentFromMaster, StatModType.Flat, ownerStats)); + minionStats.SpellDamage.AddModifier(new StatModifier(ownerStats.SpellDamage.Value * SpellDamagePercentFromMaster, StatModType.Flat, ownerStats)); - minionStats.CritChance.AddModifier(new StatModifier(ownerStats.CritChance.Value * GameConstants.CharacterStatsBalancing.PercentageStatScaleForImages, StatModType.Flat, ownerStats)); - minionStats.CritDamage.AddModifier(new StatModifier(ownerStats.CritDamage.Value * GameConstants.CharacterStatsBalancing.PercentageStatScaleForImages, StatModType.Flat, ownerStats)); + minionStats.CritChance.AddModifier(new StatModifier(ownerStats.CritChance.Value * CritChancePercentFromMaster, StatModType.Flat, ownerStats)); + minionStats.CritDamage.AddModifier(new StatModifier(ownerStats.CritDamage.Value * CritDamagePercentFromMaster, StatModType.Flat, ownerStats)); - minionStats.MaxHealth.AddModifier(new StatModifier(ownerStats.MaxHealth.Value * GameConstants.CharacterStatsBalancing.PercentageStatScaleForImages, StatModType.Flat, ownerStats)); - minionStats.Armor.AddModifier(new StatModifier(ownerStats.Armor.Value * GameConstants.CharacterStatsBalancing.PercentageStatScaleForImages, StatModType.Flat, ownerStats)); - minionStats.MagicResistance.AddModifier(new StatModifier(ownerStats.MagicResistance.Value * GameConstants.CharacterStatsBalancing.PercentageStatScaleForImages, StatModType.Flat, ownerStats)); - - } - else - { - minionStats.Strength.AddModifier(new StatModifier(ownerStats.Strength.Value * GameConstants.CharacterStatsBalancing.PercentageStatScaleForMinions, StatModType.Flat, ownerStats)); - minionStats.Agility.AddModifier(new StatModifier(ownerStats.Agility.Value * GameConstants.CharacterStatsBalancing.PercentageStatScaleForMinions, StatModType.Flat, ownerStats)); - minionStats.Intelligence.AddModifier(new StatModifier(ownerStats.Intelligence.Value * GameConstants.CharacterStatsBalancing.PercentageStatScaleForMinions, StatModType.Flat, ownerStats)); - minionStats.Spirit.AddModifier(new StatModifier(ownerStats.Spirit.Value * GameConstants.CharacterStatsBalancing.PercentageStatScaleForMinions, StatModType.Flat, ownerStats)); - minionStats.Vitality.AddModifier(new StatModifier(ownerStats.Vitality.Value * GameConstants.CharacterStatsBalancing.PercentageStatScaleForMinions, StatModType.Flat, ownerStats)); - - minionStats.AttackDamage.AddModifier(new StatModifier(ownerStats.AttackDamage.Value * GameConstants.CharacterStatsBalancing.PercentageStatScaleForMinions, StatModType.Flat, ownerStats)); - minionStats.SpellDamage.AddModifier(new StatModifier(ownerStats.SpellDamage.Value * GameConstants.CharacterStatsBalancing.PercentageStatScaleForMinions, StatModType.Flat, ownerStats)); - - minionStats.CritChance.AddModifier(new StatModifier(ownerStats.CritChance.Value * GameConstants.CharacterStatsBalancing.PercentageStatScaleForMinions, StatModType.Flat, ownerStats)); - minionStats.CritDamage.AddModifier(new StatModifier(ownerStats.CritDamage.Value * GameConstants.CharacterStatsBalancing.PercentageStatScaleForMinions, StatModType.Flat, ownerStats)); - - minionStats.MaxHealth.AddModifier(new StatModifier(ownerStats.MaxHealth.Value * GameConstants.CharacterStatsBalancing.PercentageStatScaleForMinions, StatModType.Flat, ownerStats)); - minionStats.Armor.AddModifier(new StatModifier(ownerStats.Armor.Value * GameConstants.CharacterStatsBalancing.PercentageStatScaleForMinions, StatModType.Flat, ownerStats)); - minionStats.MagicResistance.AddModifier(new StatModifier(ownerStats.MagicResistance.Value * GameConstants.CharacterStatsBalancing.PercentageStatScaleForMinions, StatModType.Flat, ownerStats)); - - } + minionStats.MaxHealth.AddModifier(new StatModifier(ownerStats.MaxHealth.Value * MaxHealthPercentFromMaster, StatModType.Flat, ownerStats)); + minionStats.Armor.AddModifier(new StatModifier(ownerStats.Armor.Value * ArmorPercentFromMaster, StatModType.Flat, ownerStats)); + minionStats.MagicResistance.AddModifier(new StatModifier(ownerStats.MagicResistance.Value * MagicResistancePercentFromMaster, StatModType.Flat, ownerStats)); minionStats.onUpdateStatValues.Invoke(); diff --git a/Assets/Scripts/Game/GameConstants.cs b/Assets/Scripts/Game/GameConstants.cs index 55e18045..bfb40d72 100644 --- a/Assets/Scripts/Game/GameConstants.cs +++ b/Assets/Scripts/Game/GameConstants.cs @@ -117,8 +117,6 @@ public static class GameConstants public const int StatPointsPerLevel = 3; - public const float PercentageStatScaleForMinions = 0.8f; - public const float PercentageStatScaleForImages = 0.1f; } public static class CharacterBalancing diff --git a/Assets/Starfield Skybox/Skybox.mat b/Assets/Starfield Skybox/Skybox.mat index c26e8fd6..d35ef9b1 100644 --- a/Assets/Starfield Skybox/Skybox.mat +++ b/Assets/Starfield Skybox/Skybox.mat @@ -94,7 +94,7 @@ Material: - _Mode: 0 - _OcclusionStrength: 1 - _Parallax: 0.02 - - _Rotation: 6.1646295 + - _Rotation: 9.865139 - _SmoothnessTextureChannel: 0 - _SpecularHighlights: 1 - _SrcBlend: 1