diff --git a/src/game/UnitAuraProcHandler.cpp b/src/game/UnitAuraProcHandler.cpp index 8f488ed45..43f668e53 100644 --- a/src/game/UnitAuraProcHandler.cpp +++ b/src/game/UnitAuraProcHandler.cpp @@ -1873,8 +1873,14 @@ SpellAuraProcResult Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, Aura if (this == pVictim) return SPELL_AURA_PROC_FAILED; - // heal amount - basepoints[0] = triggerAmount*damage/100; + // dont count overhealing + uint32 diff = GetMaxHealth()-GetHealth(); + if (!diff) + return SPELL_AURA_PROC_FAILED; + if (damage > diff) + basepoints[0] = triggerAmount*diff/100; + else + basepoints[0] = triggerAmount*damage/100; target = this; triggered_spell_id = 31786; break; diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 740f73d18..021983dee 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "10668" + #define REVISION_NR "10669" #endif // __REVISION_NR_H__