Index: src/game/SpellAuras.cpp =================================================================== --- src/game/SpellAuras.cpp (Revision 6040) +++ src/game/SpellAuras.cpp (Arbeitskopie) @@ -3097,6 +3097,24 @@ ((Creature *)m_target)->StopMoving(); }else m_target->SetUnitMovementFlags(0); //Clear movement flags + // Summon the Naj'entus Spine GameObject on target if spell is Impaling Spine + if(GetSpellProto()->Id == 39837) + { + GameObject* pObj = new GameObject(m_target); + float x, y, z; + m_target->GetPosition(x, y, z); + + if(!pObj->Create(objmgr.GenerateLowGuid(HIGHGUID_GAMEOBJECT), 185584, m_target->GetMapId(), x, y, z, 0, 0, 0, 0, 0, 100, 1)) + { + delete pObj; + return; + } + + pObj->SetRespawnTime(GetSpellDuration(GetSpellProto())/1000); + m_target->AddGameObject(pObj); + MapManager::Instance().GetMap(pObj->GetMapId(), pObj)->Add(pObj); + } + WorldPacket data(SMSG_FORCE_MOVE_ROOT, 8); data.append(m_target->GetPackGUID()); @@ -3849,6 +3867,7 @@ m_target->ModifyAuraState(AURA_STATE_DEADLY_POISON,false); } } + break; } case SPELLFAMILY_HUNTER: @@ -3873,6 +3892,10 @@ } default: + // Parasitic Shadowfiend - handle summoning of two Shadowfiends on DoT expire + if((m_spellProto->Id == 41917) && !apply && Real) + m_target->CastSpell(m_target, 41915, true); + break; } }