mirror of
https://github.com/mangosfour/server.git
synced 2025-12-21 10:37:06 +00:00
[10199] Fix 33763 and ranks final heal and mana return on dispel and on expire
This commit is contained in:
parent
2284df7868
commit
ae51168ffc
6 changed files with 54 additions and 34 deletions
|
|
@ -2477,21 +2477,14 @@ void Aura::HandleAuraDummy(bool apply, bool Real)
|
|||
}
|
||||
else
|
||||
{
|
||||
// Final heal only on dispelled or duration end
|
||||
if (!(GetAuraDuration() <= 0 || m_removeMode == AURA_REMOVE_BY_DISPEL))
|
||||
// Final heal on duration end
|
||||
if (m_removeMode != AURA_REMOVE_BY_EXPIRE)
|
||||
return;
|
||||
|
||||
// have a look if there is still some other Lifebloom dummy aura
|
||||
Unit::AuraList const& auras = target->GetAurasByType(SPELL_AURA_DUMMY);
|
||||
for(Unit::AuraList::const_iterator itr = auras.begin(); itr!=auras.end(); ++itr)
|
||||
if ((*itr)->GetSpellProto()->SpellFamilyName == SPELLFAMILY_DRUID &&
|
||||
((*itr)->GetSpellProto()->SpellFamilyFlags & UI64LIT(0x1000000000)))
|
||||
return;
|
||||
|
||||
// final heal
|
||||
if (target->IsInWorld() && GetStackAmount() > 0)
|
||||
{
|
||||
int32 amount = m_modifier.m_amount / GetStackAmount();
|
||||
int32 amount = m_modifier.m_amount;
|
||||
target->CastCustomSpell(target, 33778, &amount, NULL, NULL, true, NULL, this, GetCasterGUID());
|
||||
|
||||
if (Unit* caster = GetCaster())
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue