aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rwxr-xr-xsrc/server/game/Entities/Unit/Unit.cpp25
1 files changed, 17 insertions, 8 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index 2904d932e9c..fde20ab09ec 100755
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -5635,6 +5635,23 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, AuraEffect* trigger
}
break;
}
+ // Blessing of Ancient Kings (Val'anyr, Hammer of Ancient Kings)
+ case 64411:
+ {
+ basepoints0 = int32(CalculatePctN(damage, 15));
+ if (AuraEffect* aurEff = pVictim->GetAuraEffect(64413, 0, GetGUID()))
+ {
+ // The shield can grow to a maximum size of 20,000 damage absorbtion
+ aurEff->SetAmount(std::max<int32>(aurEff->GetAmount() + basepoints0, 20000));
+
+ // Refresh and return to prevent replacing the aura
+ aurEff->GetBase()->RefreshDuration();
+ return true;
+ }
+ target = pVictim;
+ triggered_spell_id = 64413;
+ break;
+ }
}
break;
}
@@ -8398,14 +8415,6 @@ bool Unit::HandleProcTriggerSpell(Unit *pVictim, uint32 damage, AuraEffect* trig
return false;
break;
}
- // Blessing of Ancient Kings (Val'anyr, Hammer of Ancient Kings)
- case 64411:
- {
- basepoints0 = int32(CalculatePctN(damage, 15));
- target = pVictim;
- trigger_spell_id = 64413;
- break;
- }
// Decimation
case 63156:
case 63158: