1687 {
1689
1691 if (!healInfo)
1692 return;
1693
1695
1697 {
1698
1699 absorb += protEff->GetAmount();
1700
1701
1702 if (absorb > 20000)
1703 absorb = 200000;
1704
1705 protEff->SetAmount(absorb);
1706
1707
1708 protEff->GetBase()->RefreshDuration();
1709 }
1710 else
1712 }
std::int32_t int32
Definition Define.h:103
@ SPELLVALUE_BASE_POINT0
Definition SpellDefines.h:121
T CalculatePct(T base, U pct)
Definition Util.h:52
Definition SpellAuraEffects.h:39
void PreventDefaultAction()
Definition SpellScript.cpp:1005
Unit * GetTarget() const
Definition SpellScript.cpp:1185
uint32 GetHeal() const
Definition Unit.h:430
HealInfo * GetHealInfo() const
Definition Unit.h:471
SpellCastResult CastCustomSpell(Unit *victim, uint32 spellId, int32 const *bp0, int32 const *bp1, int32 const *bp2, bool triggered, Item *castItem=nullptr, AuraEffect const *triggeredByAura=nullptr, ObjectGuid originalCaster=ObjectGuid::Empty)
Definition Unit.cpp:1429
AuraEffect * GetAuraEffect(uint32 spellId, uint8 effIndex, ObjectGuid casterGUID=ObjectGuid::Empty) const
Definition Unit.cpp:5537
@ SPELL_PROTECTION_OF_ANCIENT_KINGS
Definition spell_item.cpp:1669