rendered paste bodyIndex: src/game/Spell.cpp
===================================================================
--- src/game/Spell.cpp (revision 4985)
+++ src/game/Spell.cpp (working copy)
@@ -1031,14 +1031,19 @@
}break;
case TARGET_CURRENT_SELECTED_ENEMY:
{
- CellPair p(MaNGOS::ComputeCellPair(m_caster->GetPositionX(), m_caster->GetPositionY()));
- Cell cell(p);
- cell.data.Part.reserved = ALL_DISTRICT;
- cell.SetNoCreate();
- MaNGOS::SpellNotifierPlayer notifier(*this, TagUnitMap, i, radius);
- TypeContainerVisitor<MaNGOS::SpellNotifierPlayer, WorldTypeMapContainer > player_notifier(notifier);
- CellLock<GridReadGuard> cell_lock(cell, p);
- cell_lock->Visit(cell_lock, player_notifier, *MapManager::Instance().GetMap(m_caster->GetMapId(), m_caster));
+ if (m_spellInfo->Id == 34433)
+ TagUnitMap.push_back(m_caster);
+ else
+ {
+ CellPair p(MaNGOS::ComputeCellPair(m_caster->GetPositionX(), m_caster->GetPositionY()));
+ Cell cell(p);
+ cell.data.Part.reserved = ALL_DISTRICT;
+ cell.SetNoCreate();
+ MaNGOS::SpellNotifierPlayer notifier(*this, TagUnitMap, i, radius);
+ TypeContainerVisitor<MaNGOS::SpellNotifierPlayer, WorldTypeMapContainer > player_notifier(notifier);
+ CellLock<GridReadGuard> cell_lock(cell, p);
+ cell_lock->Visit(cell_lock, player_notifier, *MapManager::Instance().GetMap(m_caster->GetMapId(), m_caster));
+ }
}break;
default:
{
Index: src/game/Unit.cpp
===================================================================
--- src/game/Unit.cpp (revision 4985)
+++ src/game/Unit.cpp (working copy)
@@ -454,7 +454,24 @@
// root type spells do not dispell the root effect
if(!spellProto || spellProto->Mechanic != MECHANIC_ROOT)
pVictim->RemoveSpellbyDamageTaken(SPELL_AURA_MOD_ROOT, damage);
-
+
+ //Shadowfiend
+ if (GetTypeId() == TYPEID_UNIT && ((Creature*)this)->GetEntry() == 19668)
+ {
+ if (((Creature*)this)->isPet())
+ {
+ Unit* master = ((Pet*)this)->GetOwner();
+ if (master)
+ {
+ float mana = ((float(SpellBaseDamageBonus(SPELL_SCHOOL_SHADOW)) * 0.65f + float(damage)) * 2.5f);
+ int32 gain = master->ModifyPower(POWER_MANA,int32(mana));
+ if(gain)
+ if(master->GetTypeId() == TYPEID_PLAYER)
+ master->SendHealSpellOnPlayerPet(master, 34433, gain, POWER_MANA);
+ }
+ }
+ }
+
if(pVictim->GetTypeId() != TYPEID_PLAYER)
{
//pVictim->SetInFront(this);