Ejemplo n.º 1
0
            void HandleDummy(SpellEffIndex /*effIndex*/)
            {
				Unit* caster = GetCaster()->ToPlayer();
				uint32 healAmount = GetHitHeal();
                
				SetHitHeal(healAmount + caster->GetTotalAttackPowerValue(BASE_ATTACK) * 1.8f);
            }
Ejemplo n.º 2
0
		void HandleHeal(SpellEffIndex /*effIndex*/)
		{
			if (hitCount <= 6)
				return;

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

		}
Ejemplo n.º 3
0
		void HandleHeal(SpellEffIndex /*effIndex*/)
		{
			if (Unit* caster = GetOriginalCaster())
				if (GetHitUnit()->GetGUID() == caster->GetGUID())
				{
				int32 heal = GetHitHeal() / 2.0f;
				SetHitHeal(heal);
				}
		}
Ejemplo n.º 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);
         }
     }
 }
Ejemplo n.º 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);
         }
     }
 }
Ejemplo n.º 6
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);
				}
			}
		}
Ejemplo n.º 7
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);
 }
Ejemplo n.º 8
0
            void HandleHeal(SpellEffIndex /*effIndex*/)
            {
                Unit* caster = GetCaster();

                if(!caster)
                    return;

                if (SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(SPELL_WARRIOR_BLOODTHIRST_DAMAGE))
                {
                    int32 calculatedHeal = CalculatePct(caster->GetMaxHealth(), float(spellInfo->Effects[EFFECT_1].CalcValue(GetCaster())) / 1000);

                    // Field Dressing check
                    if(AuraEffect* aurEff = caster->GetAuraEffect(SPELL_AURA_ADD_PCT_MODIFIER, SPELLFAMILY_WARRIOR, 2671, EFFECT_1))
                        AddPct(calculatedHeal, aurEff->GetAmount());

                    SetHitHeal(calculatedHeal);
                }
            }
Ejemplo n.º 9
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);
     }
 }
Ejemplo n.º 10
0
 void HandleHeal(SpellEffIndex /*effIndex*/)
 {
     if (SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(SPELL_WARRIOR_BLOODTHIRST_DAMAGE))
         SetHitHeal(GetCaster()->CountPctFromMaxHealth(spellInfo->Effects[EFFECT_1].CalcValue(GetCaster())));
 }