bool MarkOfBlood(uint32 i, Aura* pAura, bool apply) { Unit* target = pAura->GetTarget(); if(apply) target->AddProcTriggerSpell(61607, pAura->GetSpellId(), pAura->m_casterGuid, pAura->GetSpellProto()->procChance, pAura->GetSpellProto()->procFlags, pAura->GetSpellProto()->procCharges, NULL, NULL); else if(target->GetAuraStackCount(49005) <= 1) target->RemoveProcTriggerSpell(61607, pAura->m_casterGuid); return true; }
bool PrayerOfMendingAura(uint8_t /*effectIndex*/, Aura* pAura, bool apply) { Unit* target = pAura->GetTarget(); if (apply) target->AddProcTriggerSpell(pAura->GetSpellInfo(), pAura->GetSpellInfo(), pAura->m_casterGuid, pAura->GetSpellInfo()->getProcChance(), PROC_ON_ANY_DAMAGE_VICTIM, pAura->GetSpellInfo()->getProcCharges(), NULL, NULL); else { int32 count = target->GetAuraStackCount(pAura->GetSpellId()); if (count == 1) target->RemoveProcTriggerSpell(pAura->GetSpellId(), pAura->m_casterGuid); } return true; }