diff options
author | UltraNix <80540499+UltraNix@users.noreply.github.com> | 2023-01-07 20:30:01 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-01-07 20:30:01 +0100 |
commit | 9ba464a12bcd45d23a62b86d6032c73d005a19c7 (patch) | |
tree | 68645b7f1d2a53563f0fa68d882024d9ddeb4532 /src | |
parent | 312c1eac3e3d053cd72eef42486ec7fc8d65074b (diff) |
fix(Core/Spells): Fixed applying some proc ex flags to melee attacks. (#14254)
Fixes #14216
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Entities/Unit/Unit.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 2cef6e6438..2a124c5239 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -1698,6 +1698,7 @@ void Unit::CalculateMeleeDamage(Unit* victim, CalcDamageInfo* damageInfo, Weapon if (fullBlockMask == ((1 << 0) | (1 << 1))) { damageInfo->TargetState = VICTIMSTATE_BLOCKS; + damageInfo->procEx |= PROC_EX_FULL_BLOCK; damageInfo->blocked_amount -= remainingBlock; } break; @@ -1804,6 +1805,16 @@ void Unit::CalculateMeleeDamage(Unit* victim, CalcDamageInfo* damageInfo, Weapon { damageInfo->HitInfo |= (tmpHitInfo[0] & HITINFO_PARTIAL_RESIST); } + + if (damageInfo->HitInfo & (HITINFO_PARTIAL_ABSORB | HITINFO_FULL_ABSORB)) + { + damageInfo->procEx |= PROC_EX_ABSORB; + } + + if (damageInfo->HitInfo & HITINFO_FULL_RESIST) + { + damageInfo->procEx |= PROC_EX_RESIST; + } } void Unit::DealMeleeDamage(CalcDamageInfo* damageInfo, bool durabilityLoss) |