diff --git a/MrBigsock/Assets/Code/Core/AttackStats.cs b/MrBigsock/Assets/Code/Core/AttackStats.cs index 39cffac40b372ae2f66944dd8a783f5885cb86d0..730765278f92824bf1e102ddad564822c90e99a6 100644 --- a/MrBigsock/Assets/Code/Core/AttackStats.cs +++ b/MrBigsock/Assets/Code/Core/AttackStats.cs @@ -46,5 +46,15 @@ namespace BigSock { */ public Character Actor { get; set; } + /* + The crit chance of the character. + */ + public float CritChance { get; set; } + + /* + The how much to modify damage by when critting. + */ + public float CritDamageModifier { get; set; } + } } \ No newline at end of file diff --git a/MrBigsock/Assets/Code/Core/CharacterStats.cs b/MrBigsock/Assets/Code/Core/CharacterStats.cs index e6e13cbabf07dda3571d6496fab421846b98eb1c..597fa8dae060455f21a487138dea7cfc12986285 100644 --- a/MrBigsock/Assets/Code/Core/CharacterStats.cs +++ b/MrBigsock/Assets/Code/Core/CharacterStats.cs @@ -41,5 +41,14 @@ namespace BigSock { */ public float AttackSpeed { get; set; } + /* + The crit chance of the character. + */ + public float CritChance { get; set; } + + /* + The how much to modify damage by when critting. + */ + public float CritDamageModifier { get; set; } } } \ No newline at end of file diff --git a/MrBigsock/Assets/Code/Core/IAttackStats.cs b/MrBigsock/Assets/Code/Core/IAttackStats.cs index 7b601071f61bd03241c074645bc7d521aa305268..6eb78fbfc525faf22d4c2e77e4d825a1d2e4bc55 100644 --- a/MrBigsock/Assets/Code/Core/IAttackStats.cs +++ b/MrBigsock/Assets/Code/Core/IAttackStats.cs @@ -45,6 +45,16 @@ namespace BigSock { The character that activated the attack. */ Character Actor { get; } + + /* + The crit chance of the character. + */ + float CritChance { get; } + + /* + The how much to modify damage by when critting. + */ + float CritDamageModifier { get; } } @@ -66,6 +76,9 @@ namespace BigSock { AttackSpeed = a.AttackSpeed * b.AttackSpeed, Source = a.Source, Actor = a.Actor, + CritChance = a.CritChance * b.CritChance, + CritDamageModifier = a.CritDamageModifier * b.CritDamageModifier, + }; } } diff --git a/MrBigsock/Assets/Code/Core/ICharacterStats.cs b/MrBigsock/Assets/Code/Core/ICharacterStats.cs index fdc3f74af35fd24e0c7cdec0e6bb0b2862382a19..371a7b14340c8c5cf40e827ef946a895a4c62a99 100644 --- a/MrBigsock/Assets/Code/Core/ICharacterStats.cs +++ b/MrBigsock/Assets/Code/Core/ICharacterStats.cs @@ -41,6 +41,16 @@ namespace BigSock { */ float AttackSpeed { get; } + /* + The crit chance of the character. + */ + float CritChance { get; } + + /* + The how much to modify damage by when critting. + */ + float CritDamageModifier { get; } + } /* @@ -57,6 +67,8 @@ namespace BigSock { Knockback = 1, Range = 1, AttackSpeed = 1, + CritChance = 1, + CritDamageModifier = 1, }; /* @@ -70,6 +82,8 @@ namespace BigSock { Knockback = a.Knockback + b.Knockback, Range = a.Range + b.Range, AttackSpeed = a.AttackSpeed + b.AttackSpeed, + CritChance = a.CritChance + b.CritChance, + CritDamageModifier = a.CritDamageModifier + b.CritDamageModifier, }; } @@ -85,6 +99,8 @@ namespace BigSock { Knockback = a.Knockback - b.Knockback, Range = a.Range - b.Range, AttackSpeed = a.AttackSpeed - b.AttackSpeed, + CritChance = a.CritChance - b.CritChance, + CritDamageModifier = a.CritDamageModifier - b.CritDamageModifier, }; } @@ -99,6 +115,8 @@ namespace BigSock { Knockback = a.Knockback * b.Knockback, Range = a.Range * b.Range, AttackSpeed = a.AttackSpeed * b.AttackSpeed, + CritChance = a.CritChance * b.CritChance, + CritDamageModifier = a.CritDamageModifier * b.CritDamageModifier, }; }