summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorUltraNix <80540499+UltraNix@users.noreply.github.com>2023-01-07 20:30:01 +0100
committerGitHub <noreply@github.com>2023-01-07 20:30:01 +0100
commit9ba464a12bcd45d23a62b86d6032c73d005a19c7 (patch)
tree68645b7f1d2a53563f0fa68d882024d9ddeb4532 /src
parent312c1eac3e3d053cd72eef42486ec7fc8d65074b (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.cpp11
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)