Example #1
0
		void HandleHeal(SpellEffIndex /*effIndex*/)
		{
			if (hitCount <= 6)
				return;

			SetHitHeal(GetHitHeal() - GetHitHeal()*(hitCount - 6) / hitCount);

		}
Example #2
0
            void HandleDummy(SpellEffIndex /*effIndex*/)
            {
				Unit* caster = GetCaster()->ToPlayer();
				uint32 healAmount = GetHitHeal();
                
				SetHitHeal(healAmount + caster->GetTotalAttackPowerValue(BASE_ATTACK) * 1.8f);
            }
Example #3
0
		void HandleHeal(SpellEffIndex /*effIndex*/)
		{
			if (Unit* caster = GetOriginalCaster())
				if (GetHitUnit()->GetGUID() == caster->GetGUID())
				{
				int32 heal = GetHitHeal() / 2.0f;
				SetHitHeal(heal);
				}
		}
Example #4
0
 void HandleHeal(SpellEffIndex /*effIndex*/)
 {
     if (Unit* caster = GetOriginalCaster())
     {
         if (AuraEffect* aurEff = caster->GetAuraEffect(SPELL_PRIEST_T9_HEALING_2P, EFFECT_0))
         {
             int32 heal = GetHitHeal();
             AddPct(heal, aurEff->GetAmount());
             SetHitHeal(heal);
         }
     }
 }
Example #5
0
 void HandleHeal(SpellEffIndex /*effIndex*/)
 {
     if (Unit* caster = GetOriginalCaster())
     {
         if (Aura* aur = caster->GetAura(SPELL_T9_HEALING_2_PIECE))
         {
             int32 heal = GetHitHeal();
             AddPctN(heal, aur->GetSpellInfo()->Effects[0].CalcValue());
             SetHitHeal(heal);
         }
     }
 }
Example #6
0
 void HandleHeal(SpellEffIndex /*effIndex*/)
 {
     if (firstHeal)
     {
         // Check if the target has Riptide
         if (AuraEffect* aurEff = GetHitUnit()->GetAuraEffect(SPELL_AURA_PERIODIC_HEAL, SPELLFAMILY_SHAMAN, 0, 0, 0x10, GetCaster()->GetGUID()))
         {
             riptide = true;
             amount = aurEff->GetSpellInfo()->Effects[EFFECT_2].CalcValue();
             // Consume it
             GetHitUnit()->RemoveAura(aurEff->GetBase());
         }
         firstHeal = false;
     }
     // Riptide increases the Chain Heal effect by 25%
     if (riptide)
     {
         uint32 bonus = CalculatePct(GetHitHeal(), amount);
         SetHitHeal(GetHitHeal() + bonus);
     }
 }
Example #7
0
		void HandleHeal(SpellEffIndex /*effIndex*/)
		{
			if (Unit* caster = GetOriginalCaster())
			{
				if (Aura* prayer = GetHitUnit()->GetAura(41635, caster->GetGUID()))
					if (prayer->GetCharges() == prayer->CalcMaxCharges())
					{
					// Glyph of prayer of mending
					if (AuraEffect* glyph = caster->GetDummyAuraEffect(SPELLFAMILY_PRIEST, 2219, EFFECT_0))
					{
						int32 heal = GetHitHeal();
						AddPct(heal, glyph->GetAmount());
						SetHitHeal(heal);
					}
					}

				if (AuraEffect* aurEff = caster->GetAuraEffect(SPELL_PRIEST_T9_HEALING_2P, EFFECT_0))
				{
					int32 heal = GetHitHeal();
					AddPct(heal, aurEff->GetAmount());
					SetHitHeal(heal);
				}
			}
		}
Example #8
0
 void HandleHeal(SpellEffIndex /*effIndex*/)
 {
     if (firstHeal)
     {
         // Check if the target has Riptide
         if (AuraEffect* aurEff = GetHitUnit()->GetAuraEffect(SPELL_AURA_PERIODIC_HEAL, SPELLFAMILY_SHAMAN, 0, 0, 0x10, GetCaster()->GetGUID()))
         {
             riptide = true;
             // Consume it
             GetHitUnit()->RemoveAura(aurEff->GetBase());
         }
         firstHeal = false;
     }
     // Riptide increases the Chain Heal effect by 25%
     if (riptide)
         SetHitHeal(GetHitHeal() * 1.25f);
 }