diff options
| author | Shauren <shauren.trinity@gmail.com> | 2011-02-01 19:01:56 +0100 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2011-02-01 19:01:56 +0100 |
| commit | 704e0af9c4e656e8aae5f163fce8cced14a39112 (patch) | |
| tree | 114cc7c21f0265199134126b5141e55f579f34f2 | |
| parent | 22c9246d97c1eb939ea389294ae01460c277a72d (diff) | |
Core/Spells: Fixed Val'anyr, Hammer of Ancient Kings proc
| -rwxr-xr-x | src/server/game/Entities/Unit/Unit.cpp | 25 |
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: |
