From cf3857edb85dfe1952fcbbb6fcbe2269681876ef Mon Sep 17 00:00:00 2001 From: hondacrx Date: Sat, 30 Dec 2017 16:34:37 -0500 Subject: [PATCH] Fixes ProcChance always being a 0 --- Source/Framework/Constants/Spells/SpellConst.cs | 1 + Source/Game/DataStorage/Structs/S_Records.cs | 2 +- Source/Game/Entities/Unit/Unit.Combat.cs | 3 ++- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/Source/Framework/Constants/Spells/SpellConst.cs b/Source/Framework/Constants/Spells/SpellConst.cs index 30c75a201..768b3cf51 100644 --- a/Source/Framework/Constants/Spells/SpellConst.cs +++ b/Source/Framework/Constants/Spells/SpellConst.cs @@ -2051,6 +2051,7 @@ namespace Framework.Constants HitTarget } + [Flags] public enum ProcFlags { None = 0x0, diff --git a/Source/Game/DataStorage/Structs/S_Records.cs b/Source/Game/DataStorage/Structs/S_Records.cs index d1f401b74..e69378d75 100644 --- a/Source/Game/DataStorage/Structs/S_Records.cs +++ b/Source/Game/DataStorage/Structs/S_Records.cs @@ -165,7 +165,7 @@ namespace Game.DataStorage public uint ProcTypeMask; public uint ProcCategoryRecovery; public ushort CumulativeAura; - public byte SpellProcsPerMinuteID; + public ushort SpellProcsPerMinuteID; public byte DifficultyID; public byte ProcChance; } diff --git a/Source/Game/Entities/Unit/Unit.Combat.cs b/Source/Game/Entities/Unit/Unit.Combat.cs index fa84f80a1..5ca2b2353 100644 --- a/Source/Game/Entities/Unit/Unit.Combat.cs +++ b/Source/Game/Entities/Unit/Unit.Combat.cs @@ -1920,13 +1920,14 @@ namespace Game.Entities CalcAbsorbResist(dmgInfo); damageInfo.absorb = dmgInfo.GetAbsorb(); damageInfo.resist = dmgInfo.GetResist(); - damageInfo.damage = dmgInfo.GetDamage(); if (damageInfo.absorb != 0) damageInfo.HitInfo |= (damageInfo.damage - damageInfo.absorb == 0 ? HitInfo.FullAbsorb : HitInfo.PartialAbsorb); if (damageInfo.resist != 0) damageInfo.HitInfo |= (damageInfo.damage - damageInfo.resist == 0 ? HitInfo.FullResist : HitInfo.PartialResist); + + damageInfo.damage = dmgInfo.GetDamage(); } else // Impossible get negative result but.... damageInfo.damage = 0;