diff --git a/MrBigsock/Assets/Code/Character.cs b/MrBigsock/Assets/Code/Character.cs index 18774cf354883e0714403fabc647b664dbec8d92..a8d33521c68300520d751dafd23d12c9145cf784 100644 --- a/MrBigsock/Assets/Code/Character.cs +++ b/MrBigsock/Assets/Code/Character.cs @@ -122,6 +122,7 @@ namespace BigSock { CritChance = 1, CritDamageModifier = 1, ProjectileSpeed = 1, + Accuracy = 1, }; UpdateModifiers(); diff --git a/MrBigsock/Assets/Code/Core/CharacterStats.cs b/MrBigsock/Assets/Code/Core/CharacterStats.cs index 8ee6c2b7d7aea72fa015ae691643e5d19e3fef71..d60f46760873e5c4f78d9037949ffc998f66d342 100644 --- a/MrBigsock/Assets/Code/Core/CharacterStats.cs +++ b/MrBigsock/Assets/Code/Core/CharacterStats.cs @@ -16,20 +16,24 @@ namespace BigSock { */ public float MaxHP { get; set; } + + /* The max mana of the character. */ public float MaxMana { get; set; } /* - The max stamina of the character. + The regeneration rate of the character's mana. */ - public float MaxStamina { get; set; } + public float RegenMana { get; set; } + + /* - The regeneration rate of the character's mana. + The max stamina of the character. */ - public float RegenMana { get; set; } + public float MaxStamina { get; set; } /* The regeneration rate of the character's stamina. @@ -43,31 +47,25 @@ namespace BigSock { */ public float Damage { get; set; } - /* - The movement speed of the character. - */ - public float MoveSpeed { get; set; } - - /* - The projectile speed of the attack. - */ - public float ProjectileSpeed { get; set; } - /* The knockback of the character. */ public float Knockback { get; set; } + + /* - The range of the character. + The movement speed of the character. */ - public float Range { get; set; } + public float MoveSpeed { get; set; } /* The attack speed of the character. */ public float AttackSpeed { get; set; } + + /* The crit chance of the character. */ @@ -77,5 +75,22 @@ namespace BigSock { The how much to modify damage by when critting. */ public float CritDamageModifier { get; set; } + + + + /* + The projectile speed of the attack. + */ + public float ProjectileSpeed { get; set; } + + /* + The range of the character. + */ + public float Range { get; set; } + + /* + The range of the character. + */ + public float Accuracy { get; set; } } } \ No newline at end of file diff --git a/MrBigsock/Assets/Code/Core/ICharacterStats.cs b/MrBigsock/Assets/Code/Core/ICharacterStats.cs index 4fa71d78396e5efb122e2641db990de49faee15e..da7c4ae6fa3d5f308527cc553dd56b84ebf14bdb 100644 --- a/MrBigsock/Assets/Code/Core/ICharacterStats.cs +++ b/MrBigsock/Assets/Code/Core/ICharacterStats.cs @@ -76,6 +76,11 @@ namespace BigSock { The projectile speed of the attack. */ float ProjectileSpeed { get; } + + /* + How much the projectile will stray off course. + */ + float Accuracy { get; } } @@ -101,6 +106,7 @@ namespace BigSock { CritChance = 1, CritDamageModifier = 1, ProjectileSpeed = 1, + Accuracy = 1, }; /* @@ -122,6 +128,7 @@ namespace BigSock { CritChance = a.CritChance + b.CritChance, CritDamageModifier = a.CritDamageModifier + b.CritDamageModifier, ProjectileSpeed = a.ProjectileSpeed + b.ProjectileSpeed, + Accuracy = a.Accuracy + b.Accuracy, }; } @@ -145,6 +152,7 @@ namespace BigSock { CritChance = a.CritChance - b.CritChance, CritDamageModifier = a.CritDamageModifier - b.CritDamageModifier, ProjectileSpeed = a.ProjectileSpeed - b.ProjectileSpeed, + Accuracy = a.Accuracy - b.Accuracy, }; } @@ -167,6 +175,8 @@ namespace BigSock { CritChance = a.CritChance * b.CritChance, CritDamageModifier = a.CritDamageModifier * b.CritDamageModifier, ProjectileSpeed = a.ProjectileSpeed * b.ProjectileSpeed, + Accuracy = a.Accuracy * b.Accuracy, + }; } diff --git a/MrBigsock/Assets/Code/Core/Skills/Skills.cs b/MrBigsock/Assets/Code/Core/Skills/Skills.cs index 6ef9fc525d258cd2f468e554021bc348bc830d44..5fe865e65e316fe00a24f590894f9d5078a1c26f 100644 --- a/MrBigsock/Assets/Code/Core/Skills/Skills.cs +++ b/MrBigsock/Assets/Code/Core/Skills/Skills.cs @@ -18,7 +18,7 @@ namespace BigSock { public int Damage { get; set; } public int Speed { get; set; } public int Luck { get; set; } - public int Inventory { get; set; } + public int Concentration { get; set; } } @@ -32,7 +32,7 @@ namespace BigSock { Damage, Speed, Luck, - Inventory, + Concentration, } /* @@ -49,8 +49,8 @@ namespace BigSock { a.MP += b.MP; a.Damage += b.Damage; a.Speed += b.Speed; - //a.Luck += b.Luck; - //a.Inventory += b.Inventory; + a.Luck += b.Luck; + a.Concentration += b.Concentration; return a; } @@ -74,20 +74,19 @@ namespace BigSock { case Skill.Damage: stats.Damage += amount * increase.Damage; stats.Knockback += amount * increase.Knockback; - stats.Range += amount * increase.Range; break; case Skill.Speed: stats.MoveSpeed += amount * increase.MoveSpeed; stats.AttackSpeed += amount * increase.AttackSpeed; - stats.ProjectileSpeed += amount * increase.ProjectileSpeed; break; case Skill.Luck: stats.CritChance += amount * increase.CritChance; stats.CritDamageModifier += amount * increase.CritDamageModifier; break; - case Skill.Inventory: - // Special code, must adjust inventory based on what level it increased to. - // Might be problematic with increase & shrink. + case Skill.Concentration: + stats.Range += amount * increase.Range; + stats.ProjectileSpeed += amount * increase.ProjectileSpeed; + stats.Accuracy += amount * increase.Accuracy; break; default: throw new NotImplementedException(); diff --git a/MrBigsock/Assets/Code/PlayerController.cs b/MrBigsock/Assets/Code/PlayerController.cs index 37553f5db2c63b41f642c4d9d948cbdcb04c1025..35da840a1b0d96bb7ffe4a0d090422d6c94c1bd7 100644 --- a/MrBigsock/Assets/Code/PlayerController.cs +++ b/MrBigsock/Assets/Code/PlayerController.cs @@ -255,13 +255,13 @@ namespace BigSock { The maximum amount of points the user can spend on each skill. */ public Skills MaxSkills { get; set; } = new Skills{ - HP = 10, - SP = 10, - MP = 10, - Damage = 10, - Speed = 10, - Luck = 10, - Inventory = 10, + HP = 10, + SP = 10, + MP = 10, + Damage = 10, + Speed = 10, + Luck = 10, + Concentration = 10, }; /* @@ -279,15 +279,18 @@ namespace BigSock { // Damage Damage = 0.1f, Knockback = 0.1f, - Range = 0.1f, // Speed MoveSpeed = 0.1f, AttackSpeed = 0.1f, - ProjectileSpeed = 0.1f, - // Luck? + // Luck CritChance = 0.05f, CritDamageModifier = 0.1f, - // Inventory? + // Concentration + Range = 0.1f, + ProjectileSpeed = 0.1f, + //-- Accuracy + Accuracy = 0.1f, + };