Index: game/SpellAuras.cpp =================================================================== --- game/SpellAuras.cpp (revision 5357) +++ game/SpellAuras.cpp (working copy) @@ -1382,6 +1382,10 @@ m_target->CastCustomSpell(m_target,33778,&healBasePoints0,NULL,NULL,true); } } + // Earth Shield + if ( Real && caster && apply && GetSpellProto()->SpellFamilyName == SPELLFAMILY_SHAMAN && (GetSpellProto()->SpellFamilyFlags & 0x40000000000LL)) + m_modifier.m_amount = caster->SpellHealingBonus(GetSpellProto(), m_modifier.m_amount, SPELL_DIRECT_DAMAGE, m_target); + } void Aura::HandleAuraMounted(bool apply, bool Real) Index: game/Unit.cpp =================================================================== --- game/Unit.cpp (revision 5357) +++ game/Unit.cpp (working copy) @@ -5002,7 +5002,7 @@ ++triggeredByAura->m_procCharges; // restore charges for cooldown time proc else { - int32 HealBasePoints0 = dummySpell->EffectBasePoints[0]; + int32 HealBasePoints0 = triggeredByAura->GetModifier()->m_amount; CastCustomSpell(this,379,&HealBasePoints0,NULL,NULL,true,castItem,triggeredByAura); ((Player*)this)->AddSpellCooldown(379,0,time(NULL) + 3); } @@ -6686,8 +6858,8 @@ // Healing Done - // Vampiric Embrace, Shadowmend, Lifebloom final heal - cannot critically heal - if(spellProto->Id == 15290 || spellProto->Id == 39373 || spellProto->Id == 33778) + // These Spells are doing fixed ammount of healing (TODO reuse dmgClass2 from Spell.DBC ) + if(spellProto->Id == 15290 || spellProto->Id == 39373 || spellProto->Id == 33778 || spellProto->Id == 379) return healamount; int32 AdvertisedBenefit = SpellBaseHealingBonus(1<School);