{"action":"closed","issue":{"url":"https://api.github.com/repos/scriptdev2/scriptdev2-tbc/issues/26","labels_url":"https://api.github.com/repos/scriptdev2/scriptdev2-tbc/issues/26/labels{/name}","comments_url":"https://api.github.com/repos/scriptdev2/scriptdev2-tbc/issues/26/comments","events_url":"https://api.github.com/repos/scriptdev2/scriptdev2-tbc/issues/26/events","html_url":"https://github.com/scriptdev2/scriptdev2-tbc/issues/26","id":93039609,"number":26,"title":"Sunwell Update.","user":{"login":"Ulduar","id":12860716,"avatar_url":"https://avatars.githubusercontent.com/u/12860716?v=3","gravatar_id":"","url":"https://api.github.com/users/Ulduar","html_url":"https://github.com/Ulduar","followers_url":"https://api.github.com/users/Ulduar/followers","following_url":"https://api.github.com/users/Ulduar/following{/other_user}","gists_url":"https://api.github.com/users/Ulduar/gists{/gist_id}","starred_url":"https://api.github.com/users/Ulduar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Ulduar/subscriptions","organizations_url":"https://api.github.com/users/Ulduar/orgs","repos_url":"https://api.github.com/users/Ulduar/repos","events_url":"https://api.github.com/users/Ulduar/events{/privacy}","received_events_url":"https://api.github.com/users/Ulduar/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":6,"created_at":"2015-07-04T19:13:59Z","updated_at":"2015-10-26T15:34:51Z","closed_at":"2015-10-26T15:34:51Z","body":"``` diff\r\ncommit 7bc373c85a2683c78ac5182369603ae24957f71e\r\nAuthor: Ulduar <Ulduar@skywall.com>\r\nDate:   Sat Jul 4 23:45:36 2015 +0600\r\n\r\n    Sunwell Update.\r\n\r\ndiff --git a/scripts/eastern_kingdoms/sunwell_plateau/boss_felmyst.cpp b/scripts/eastern_kingdoms/sunwell_plateau/boss_felmyst.cpp\r\nindex 6cb2ef3..0fc9583 100644\r\n--- a/scripts/eastern_kingdoms/sunwell_plateau/boss_felmyst.cpp\r\n+++ b/scripts/eastern_kingdoms/sunwell_plateau/boss_felmyst.cpp\r\n@@ -17,7 +17,7 @@\r\n /* ScriptData\r\n SDName: boss_felmyst\r\n SD%Complete: 90%\r\n-SDComment: Intro movement NYI; Event cleanup (despawn & resummon) NYI; Breath phase spells could use some improvements.\r\n+SDComment: Intro movement NYI; Event cleanup (despawn & resummon) done; Breath phase spells could use some improvements.\r\n SDCategory: Sunwell Plateau\r\n EndScriptData */\r\n \r\ndiff --git a/scripts/eastern_kingdoms/sunwell_plateau/boss_kalecgos.cpp b/scripts/eastern_kingdoms/sunwell_plateau/boss_kalecgos.cpp\r\nindex df3aa28..c8fa7e7 100644\r\n--- a/scripts/eastern_kingdoms/sunwell_plateau/boss_kalecgos.cpp\r\n+++ b/scripts/eastern_kingdoms/sunwell_plateau/boss_kalecgos.cpp\r\n@@ -142,6 +142,10 @@ struct boss_kalecgosAI : public ScriptedAI\r\n \r\n     void Aggro(Unit* /*pWho*/) override\r\n     {\r\n+        // Make sure, what after evade don't aggro repeat.\r\n+        if (m_bIsUncorrupted)\r\n+            return;\r\n+        \r\n         DoScriptText(SAY_EVIL_AGGRO, m_creature);\r\n \r\n         if (m_pInstance)\r\ndiff --git a/scripts/eastern_kingdoms/sunwell_plateau/boss_muru.cpp b/scripts/eastern_kingdoms/sunwell_plateau/boss_muru.cpp\r\nindex dd2739f..25a5215 100644\r\n--- a/scripts/eastern_kingdoms/sunwell_plateau/boss_muru.cpp\r\n+++ b/scripts/eastern_kingdoms/sunwell_plateau/boss_muru.cpp\r\n@@ -36,7 +36,7 @@ enum\r\n     SPELL_SUMMON_FURY_MAGE_1        = 46038,\r\n     SPELL_SUMMON_FURY_MAGE_2        = 46039,\r\n \r\n-    SPELL_SUMMON_DARK_FIEND_1       = 46000,    // summons 8 dark fiends (25744); ToDo: script npc in eventAI\r\n+    SPELL_SUMMON_DARK_FIEND_1       = 46000,    // summons 8 dark fiends (25744);\r\n     SPELL_SUMMON_DARK_FIEND_2       = 46001,\r\n     SPELL_SUMMON_DARK_FIEND_3       = 46002,\r\n     SPELL_SUMMON_DARK_FIEND_4       = 46003,\r\n@@ -73,6 +73,9 @@ enum\r\n     SPELL_BLACK_HOLE_VISUAL         = 46242,\r\n     SPELL_BLACK_HOLE_VISUAL_2       = 46247,\r\n     SPELL_BLACK_HOLE_PASSIVE        = 46228,\r\n+    \r\n+    // Dark fiend spells.\r\n+    SPELL_DARK_FIEND                = 45944,\r\n \r\n     MAX_TRANSFORM_CASTS             = 10\r\n };\r\n@@ -117,6 +120,8 @@ struct boss_muruAI : public Scripted_NoMovementAI\r\n     {\r\n         if (m_pInstance)\r\n             m_pInstance->SetData(TYPE_MURU, FAIL);\r\n+        \r\n+        m_creature->ForcedDespawn();\r\n     }\r\n \r\n     void DamageTaken(Unit* /*pDoneBy*/, uint32& uiDamage) override\r\n@@ -263,12 +268,9 @@ struct boss_entropiusAI : public ScriptedAI\r\n         if (m_pInstance)\r\n         {\r\n             m_pInstance->SetData(TYPE_MURU, FAIL);\r\n-\r\n-            // respawn muru\r\n-            m_creature->SummonCreature(NPC_MURU, afMuruSpawnLoc[0], afMuruSpawnLoc[1], afMuruSpawnLoc[2], afMuruSpawnLoc[3], TEMPSUMMON_DEAD_DESPAWN, 0, true);\r\n         }\r\n \r\n-        // despawn boss and summons for reset\r\n+        // despawn boss\r\n         m_creature->ForcedDespawn();\r\n     }\r\n \r\n@@ -445,6 +447,7 @@ struct npc_singularityAI : public Scripted_NoMovementAI\r\n     npc_singularityAI(Creature* pCreature) : Scripted_NoMovementAI(pCreature) { Reset(); }\r\n \r\n     uint32 m_uiActiveTimer;\r\n+    uint32 m_uiMovementTimer;\r\n     uint8 m_uiActivateStage;\r\n \r\n     void Reset() override\r\n@@ -452,10 +455,21 @@ struct npc_singularityAI : public Scripted_NoMovementAI\r\n         DoCastSpellIfCan(m_creature, SPELL_BLACK_HOLE_VISUAL, CAST_TRIGGERED);\r\n         m_uiActiveTimer = 1000;\r\n         m_uiActivateStage = 0;\r\n+        m_uiMovementTimer = 0;\r\n\r\n+        m_creature->ForcedDespawn(22000);\r\n     }\r\n \r\n     void AttackStart(Unit* /*pWho*/) override { }\r\n     void MoveInLineOfSight(Unit* /*pWho*/) override { }\r\n+    \r\n+    void MovementInform(uint32 uiMoveType, uint32 uiPointId) override\r\n+    {\r\n+        if (uiMoveType != POINT_MOTION_TYPE || !uiPointId)\r\n+            return;\r\n+\r\n+        // Reset Threat and select next random target.\r\n+        DoResetThreat();\r\n+        m_uiMovementTimer = 3000;\r\n+    }\r\n \r\n     void UpdateAI(const uint32 uiDiff) override\r\n     {\r\n@@ -472,6 +486,7 @@ struct npc_singularityAI : public Scripted_NoMovementAI\r\n                     case 1:\r\n                         if (DoCastSpellIfCan(m_creature, SPELL_BLACK_HOLE_PASSIVE) == CAST_OK)\r\n                             m_uiActiveTimer = 0;\r\n+                            m_uiMovementTimer = 1000;\r\n                         break;\r\n                 }\r\n                 ++m_uiActivateStage;\r\n@@ -479,6 +494,82 @@ struct npc_singularityAI : public Scripted_NoMovementAI\r\n             else\r\n                 m_uiActiveTimer -= uiDiff;\r\n         }\r\n+        \r\n+        if (m_uiMovementTimer)\r\n+        {\r\n+            if (m_uiMovementTimer <= uiDiff)\r\n+            {\r\n+                if (m_pInstance)\r\n+                {\r\n+                    if (Creature* pEntropius = m_pInstance->GetSingleCreatureFromStorage(NPC_ENTROPIUS))\r\n+                    {\r\n+                        if (Unit* pTarget = pEntropius->SelectAttackingTarget(ATTACKING_TARGET_RANDOM, 0))\r\n+                            m_creature->GetMotionMaster()->MovePoint(1, pTarget->GetPositionX(), pTarget->GetPositionY(), pTarget->GetPositionZ());\r\n+                    }\r\n+                }\r\n+                m_uiMovementTimer = 0;\r\n+            }\r\n+            else\r\n+                m_uiMovementTimer -= uiDiff;\r\n+        }\r\n+    }\r\n+};\r\n+\r\n+/*######\r\n+## npc_dark_fiend\r\n+######*/\r\n+\r\n+struct npc_dark_fiendAI : public ScriptedAI\r\n+{\r\n+    npc_dark_fiendAI(Creature* pCreature) : ScriptedAI(pCreature) { Reset(); }\r\n+\r\n+    ObjectGuid m_targetGuid;\r\n+    \r\n+    uint32 m_uiDespawnTimer;\r\n+\r\n+    void Reset() override\r\n+    {\r\n+        m_uiDespawnTimer   = 10000;\r\n+        m_creature->SetSpeedRate(MOVE_RUN, 0,5);\r\n+    }\r\n+\r\n+    void AttackStart(Unit* pWho) override\r\n+    {\r\n+        // Function used to set target only - the npc doesn't really attack\r\n+        m_targetGuid = pWho->GetObjectGuid();\r\n+    }\r\n+\r\n+    void MoveInLineOfSight(Unit* /*pWho*/) override { }\r\n+\r\n+    void MovementInform(uint32 uiMovementType, uint32 uiPointId) override\r\n+    {\r\n+        if (uiMovementType != POINT_MOTION_TYPE || !uiPointId)\r\n+            return;\r\n+\r\n+        if (Player* pPlayer = m_creature->GetMap()->GetPlayer(m_targetGuid))\r\n+        {\r\n+            if (DoCastSpellIfCan(pPlayer, SPELL_DARK_FIEND) == CAST_OK)\r\n+                m_creature->ForcedDespawn(1000);\r\n+        }\r\n+    }\r\n+    \r\n+    void SpellHit(Unit* /*pSource*/, const SpellEntry* pSpell) override\r\n+    {\r\n+        if (pSpell->DispelType == DISPEL_MAGIC)\r\n+            m_creature->ForcedDespawn(1000);\r\n+    }\r\n+\r\n+    void UpdateAI(const uint32 uiDiff) override\r\n+    {\r\n+        if (!m_creature->SelectHostileTarget() || !m_creature->getVictim())\r\n+            return;\r\n+\r\n+        if (m_uiDespawnTimer < uiDiff)\r\n+        {\r\n+            m_creature->ForcedDespawn();\r\n+            m_uiDespawnTimer = 0;\r\n+        }\r\n+        else\r\n+            m_uiDespawnTimer -= uiDiff;\r\n     }\r\n };\r\n \r\n@@ -507,6 +598,11 @@ CreatureAI* GetAI_npc_singularity(Creature* pCreature)\r\n     return new npc_singularityAI(pCreature);\r\n }\r\n \r\n+CreatureAI* GetAI_npc_dark_fiend(Creature* pCreature)\r\n+{\r\n+    return new npc_dark_fiendAI(pCreature);\r\n+}\r\n+\r\n void AddSC_boss_muru()\r\n {\r\n     Script* pNewScript;\r\n@@ -535,4 +631,9 @@ void AddSC_boss_muru()\r\n     pNewScript->Name = \"npc_singularity\";\r\n     pNewScript->GetAI = &GetAI_npc_singularity;\r\n     pNewScript->RegisterSelf();\r\n+    \r\n+    pNewScript = new Script;\r\n+    pNewScript->Name = \"npc_dark_fiend\";\r\n+    pNewScript->GetAI = &GetAI_npc_dark_fiend;\r\n+    pNewScript->RegisterSelf();\r\n }\r\ndiff --git a/scripts/eastern_kingdoms/sunwell_plateau/instance_sunwell_plateau.cpp b/scripts/eastern_kingdoms/sunwell_plateau/instance_sunwell_plateau.cpp\r\nindex a89f996..ec9c443 100644\r\n--- a/scripts/eastern_kingdoms/sunwell_plateau/instance_sunwell_plateau.cpp\r\n+++ b/scripts/eastern_kingdoms/sunwell_plateau/instance_sunwell_plateau.cpp\r\n@@ -49,6 +49,9 @@ instance_sunwell_plateau::instance_sunwell_plateau(Map* pMap) : ScriptedInstance\r\n     m_uiKalecRespawnTimer(0),\r\n     m_uiMuruBerserkTimer(0),\r\n     m_uiKiljaedenYellTimer(90000)\r\n+    m_uiMuruRespawnTimer(0),\r\n+    m_uiFelmystRespawnTimer(0),   \r\n+    m_bSunwellGauntletStarted(false);\r\n {\r\n     Initialize();\r\n }\r\n@@ -86,6 +89,22 @@ void instance_sunwell_plateau::OnPlayerEnter(Player* pPlayer)\r\n         if (!GetSingleCreatureFromStorage(NPC_MURU, true))\r\n             pPlayer->SummonCreature(NPC_MURU, afMuruSpawnLoc[0], afMuruSpawnLoc[1], afMuruSpawnLoc[2], afMuruSpawnLoc[3], TEMPSUMMON_DEAD_DESPAWN, 0, true);\r\n     }\r\n+    \r\n+    // Despawn Kiljaeden npc encounter only if Muru dead.\r\n+    if (m_auiEncounter[TYPE_MURU] != DONE && m_auiEncounter[TYPE_KILJAEDEN] == DONE)\r\n+    {\r\n+        // Should despawn  if Muru not defeated.\r\n+         for (GuidList::const_iterator itr = m_lDeceiversGuidList.begin(); itr != m_lDeceiversGuidList.end(); ++itr)\r\n+         {\r\n+            if (Creature* pDeceiver = instance->GetCreature(*itr))\r\n+                pDeceiver->ForcedDespawn();\r\n+         }\r\n+\r\n+         if (Creature* pAnveena = GetSingleCreatureFromStorage(NPC_ANVEENA))\r\n+             pAnveena->ForcedDespawn();\r\n+         if (Creature* pController = GetSingleCreatureFromStorage(NPC_KILJAEDEN_CONTROLLER))\r\n+             pController->ForcedDespawn();\r\n+    }\r\n }\r\n \r\n void instance_sunwell_plateau::OnCreatureCreate(Creature* pCreature)\r\n@@ -111,6 +130,9 @@ void instance_sunwell_plateau::OnCreatureCreate(Creature* pCreature)\r\n         case NPC_ANVEENA:\r\n         case NPC_VELEN:\r\n         case NPC_LIADRIN:\r\n+        case NPC_SHADOWSWORD_MANAFIEND:\r\n+        case NPC_GAUNTLET_IMP:\r\n+        case NPC_SHADOWSWORD_COMMANDER:\r\n             m_mNpcEntryGuidStore[pCreature->GetEntry()] = pCreature->GetObjectGuid();\r\n             break;\r\n         case NPC_DECEIVER:\r\n@@ -129,11 +151,32 @@ void instance_sunwell_plateau::OnCreatureCreate(Creature* pCreature)\r\n         case NPC_FURY_MAGE:\r\n         case NPC_DARK_FIEND:\r\n         case NPC_VOID_SENTINEL:\r\n+        case NPC_VOID_SENTINEL_SUMMONER:\r\n+        case NPC_DARKNESS:\r\n+        case NPC_VOID_SPAWN:\r\n          case NPC_SINGULARITY:\r\n             m_lMuruTrashGuidList.push_back(pCreature->GetObjectGuid());\r\n             return;\r\n     }\r\n }\r\n \r\n+void instance_sunwell_plateau::OnCreatureEnterCombat(Creature* pCreature)\r\n+{\r\n+   uint32 uiEntry = pCreature->GetEntry();\r\n+   \r\n+   if (uiEntry == NPC_SHADOWSWORD_MANAFIEND)\r\n+   {\r\n+       // Only for the first try\r\n+       if (m_bSunwellGauntletStarted)\r\n+           return;\r\n+       \r\n+       if (Creature* pCommander = GetSingleCreatureFromStorage(NPC_SHADOWSWORD_COMMANDER))\r\n+           DoScriptText(SAY_GAUNTLET_START, pCommander);\r\n+       \r\n+       if (Creature* pGauntlet = pCreature->SummonCreature(NPC_GAUNTLET_IMP, 1697.92f, 502.315f, 86.4882f, 1.65806f, TEMPSUMMON_DEAD_DESPAWN, 0));\r\n+           m_bSunwellGauntletStarted = true;\r\n+   }\r\n+}\r\n+\r\n void instance_sunwell_plateau::OnCreatureDeath(Creature* pCreature)\r\n {\r\n     if (pCreature->GetEntry() == NPC_DECEIVER)\r\n@@ -151,6 +194,21 @@ void instance_sunwell_plateau::OnCreatureDeath(Creature* pCreature)\r\n             }\r\n         }\r\n     }\r\n+    \r\n+    else if (pCreature->GetEntry() == NPC_ENTROPIUS)        \r\n+    {\r\n+        // Should respawn only if Entropius defeated.\r\n+         for (GuidList::const_iterator itr = m_lDeceiversGuidList.begin(); itr != m_lDeceiversGuidList.end(); ++itr)\r\n+         {\r\n+            if (Creature* pDeceiver = instance->GetCreature(*itr))\r\n+                pDeceiver->Respawn();\r\n+         }\r\n+\r\n+         if (Creature* pAnveena = GetSingleCreatureFromStorage(NPC_ANVEENA))\r\n+             pAnveena->Respawn();\r\n+         if (Creature* pController = GetSingleCreatureFromStorage(NPC_KILJAEDEN_CONTROLLER))\r\n+             pController->Respawn();\r\n+    }\r\n }\r\n \r\n void instance_sunwell_plateau::OnCreatureEvade(Creature* pCreature)\r\n@@ -222,6 +280,13 @@ void instance_sunwell_plateau::SetData(uint32 uiType, uint32 uiData)\r\n                 StartNextDialogueText(NPC_KALECGOS_MADRIGOSA);\r\n             else if (uiData == IN_PROGRESS)\r\n                 DoSortFlightTriggers();\r\n+            else if (uiData == FAIL)\r\n+            {\r\n+                m_uiFelmystRespawnTimer = 20000;\r\n+\r\n+                if (Creature* pFelmyst = GetSingleCreatureFromStorage(NPC_FELMYST))\r\n+                    pFelmyst->ForcedDespawn();\r\n+            }\r\n             break;\r\n         case TYPE_EREDAR_TWINS:\r\n             m_auiEncounter[uiType] = uiData;\r\n@@ -250,6 +315,8 @@ void instance_sunwell_plateau::SetData(uint32 uiType, uint32 uiData)\r\n \r\n                 m_lMuruTrashGuidList.clear();\r\n             }\r\n+            else if (uiData == FAIL)\r\n+                m_uiMuruRespawnTimer = 20000;\r\n             break;\r\n         case TYPE_KILJAEDEN:\r\n             m_auiEncounter[uiType] = uiData;\r\n@@ -316,17 +383,47 @@ void instance_sunwell_plateau::Update(uint32 uiDiff)\r\n         else\r\n             m_uiKalecRespawnTimer -= uiDiff;\r\n     }\r\n+    \r\n+    if (m_uiMuruRespawnTimer)\r\n+    {\r\n+        if (m_uiMuruRespawnTimer <= uiDiff)\r\n+        {\r\n+            if (Player* pPlayer = instance->GetPlayer(*itr)) \r\n+            {\r\n+                pPlayer->SummonCreature(NPC_MURU, afMuruSpawnLoc[0], afMuruSpawnLoc[1], afMuruSpawnLoc[2], afMuruSpawnLoc[3], TEMPSUMMON_DEAD_DESPAWN, 0, true);\r\n+            }\r\n+            m_uiMuruRespawnTimer = 0;\r\n+        }\r\n+        else\r\n+            m_uiMuruRespawnTimer -= uiDiff;\r\n+    }\r\n+    \r\n+    if (m_uiFelmystRespawnTimer)\r\n+    {\r\n+        if (m_uiFelmystRespawnTimer <= uiDiff)\r\n+        {\r\n+            if (Player* pPlayer = instance->GetPlayer(*itr))                \r\n+            {\r\n+                pPlayer->SummonCreature(NPC_FELMYST, aMadrigosaLoc[0].m_fX, aMadrigosaLoc[0].m_fY, aMadrigosaLoc[0].m_fZ, aMadrigosaLoc[0].m_fO, TEMPSUMMON_DEAD_DESPAWN, 0, true);\r\n+            }\r\n+            m_uiFelmystRespawnTimer = 0;\r\n+        }\r\n+        else\r\n+            m_uiFelmystRespawnTimer -= uiDiff;\r\n+    }\r\n \r\n-    // Muru berserk timer; needs to be done here because it involves two distinct creatures\r\n+    // Muru berserk timer; needs to be done here because it involves two distinct creatures. Note - Muru don't should have berserk - only Entropius.\r\n     if (m_auiEncounter[TYPE_MURU] == IN_PROGRESS)\r\n     {\r\n         if (m_uiMuruBerserkTimer < uiDiff)\r\n         {\r\n-            if (Creature* pEntrpius = GetSingleCreatureFromStorage(NPC_ENTROPIUS, true))\r\n-                pEntrpius->CastSpell(pEntrpius, SPELL_MURU_BERSERK, true);\r\n-            else if (Creature* pMuru = GetSingleCreatureFromStorage(NPC_MURU))\r\n-                pMuru->CastSpell(pMuru, SPELL_MURU_BERSERK, true);\r\n-\r\n+            if (Creature* pEntropius = GetSingleCreatureFromStorage(NPC_ENTROPIUS, true))\r\n+            {\r\n+                if (!pEntropius->HasAura(SPELL_MURU_BERSERK) && pEntropius->isAlive())\r\n+                {\r\n+                    pEntropius->CastSpell(pEntropius, SPELL_MURU_BERSERK, true);\r\n+                }\r\n+            }\r\n             m_uiMuruBerserkTimer = 10000;\r\n         }\r\n         else\r\ndiff --git a/scripts/eastern_kingdoms/sunwell_plateau/sunwell_plateau.h b/scripts/eastern_kingdoms/sunwell_plateau/sunwell_plateau.h\r\nindex ba514b3..be8e309 100644\r\n--- a/scripts/eastern_kingdoms/sunwell_plateau/sunwell_plateau.h\r\n+++ b/scripts/eastern_kingdoms/sunwell_plateau/sunwell_plateau.h\r\n@@ -35,6 +35,9 @@ enum\r\n     NPC_FURY_MAGE               = 25799,\r\n     NPC_DARK_FIEND              = 25744,\r\n     NPC_VOID_SENTINEL           = 25772,\r\n+    NPC_VOID_SENTINEL_SUMMONER  = 25782,\r\n+    NPC_DARKNESS                = 25879,\r\n+    NPC_VOID_SPAWN              = 25824,\r\n+   NPC_SINGULARITY          =  25855,\r\n     NPC_DECEIVER                = 25588,\r\n     NPC_KILJAEDEN               = 25315,\r\n     NPC_KILJAEDEN_CONTROLLER    = 25608,            // kiljaeden event controller\r\n@@ -42,6 +45,9 @@ enum\r\n     NPC_KALECGOS                = 25319,            // related to kiljaeden event\r\n     NPC_VELEN                   = 26246,\r\n     NPC_LIADRIN                 = 26247,\r\n+    NPC_SHADOWSWORD_MANAFIEND   = 25483,            // Npc trigger start gauntlet event.\r\n+    NPC_GAUNTLET_IMP            = 25848,            // Npc Gauntlet Imp after Felmyst.\r\n+    NPC_SHADOWSWORD_COMMANDER   = 25837,\r\n \r\n     GO_FORCEFIELD               = 188421,           // kalecgos door + collisions\r\n     GO_BOSS_COLLISION_1         = 188523,\r\n@@ -68,6 +74,9 @@ enum\r\n     SAY_ORDER_3                 = -1580066,\r\n     SAY_ORDER_4                 = -1580067,\r\n     SAY_ORDER_5                 = -1580068,\r\n+    \r\n+    // Sunwell Gauntlet Start\r\n+    SAY_GAUNTLET_START          = -1580108,\r\n \r\n     AREATRIGGER_TWINS           = 4937,\r\n \r\n@@ -75,7 +84,7 @@ enum\r\n     SPELL_TELEPORT_NORMAL_REALM = 46020,\r\n     SPELL_SPECTRAL_REALM_AURA   = 46021,\r\n     SPELL_SPECTRAL_EXHAUSTION   = 44867,\r\n-    // Felmyst ouro spell\r\n+    // Felmyst outro spell\r\n     SPELL_OPEN_BACK_DOOR        = 46650,            // Opens the fire barrier - script effect for 46652\r\n     // used by both muru and entropius\r\n     SPELL_MURU_BERSERK          = 26662,\r\n@@ -148,6 +157,8 @@ class instance_sunwell_plateau : public ScriptedInstance, private DialogueHelper\r\n         uint32 m_uiKalecRespawnTimer;\r\n         uint32 m_uiMuruBerserkTimer;\r\n         uint32 m_uiKiljaedenYellTimer;\r\n+        uint32 m_uiMuruRespawnTimer;\r\n+        uint32 m_uiFelmystRespawnTimer;\r\n \r\n         GuidSet m_spectralRealmPlayers;\r\n         GuidVector m_vRightFlightTriggersVect;\r\n@@ -156,5 +167,7 @@ class instance_sunwell_plateau : public ScriptedInstance, private DialogueHelper\r\n         GuidList m_lBackdoorTriggersList;\r\n         GuidList m_lDeceiversGuidList;\r\n         GuidList m_lMuruTrashGuidList;\r\n+        \r\n+        bool m_bSunwellGauntletStarted;\r\n };\r\n #endif\r\n```\r\n1) Felmyst and Muru should despawn and resummon. Blizzlike.\r\n2) Kil'jaeden npc encounter don't should spawn if Entropius encounter != Done. Blizzlike. Thanks @evil-at-wow  for confirmation. Blizzlike. http://cmangos.net/thread-6674-post-42012.html#pid42012\r\n3) Sunwell Gauntlet event partially start.\r\n4) Muru not cast berserk on self - never cast, only Entropius. Exploit - wait 11 minutes (not 10), transfer Muru on phase 2 (Entropius phase) and all - not berserk.\r\n5) \r\n``` QUOTE\r\nI don't think that KJ has the same logic, because M'uru has a door behind him. So it wouldn't make sense to apply the same logic.\r\n```\r\nAnd what? This is blizzlike (respawn KJ npc after death Entropius - blizzlike)\r\n6) Dark Fiend EAI script - working terrible (all does not work accurately). SD2 script better.\r\nAlso need decrease speed run (YTDB They argue that the values in the database came from the right and Sniff, i don't trust sniff). Thanks @mns for info.\r\n\r\n7) Singularity - should movement on random Entropius target (i see on official server.)\r\nhttp://www.wowhead.com/npc=25855/singularity#comments\r\nAlso need\r\n``` diff\r\n+DELETE FROM script_texts WHERE entry = -1580108;\r\n+INSERT INTO script_texts (entry,content_default,sound,type,language,emote,comment) VALUES\r\n+(-1580108,'Bring forth the imps!',0,1,0,0,'Shadowsword Commander SAY_GAUNTLET_START');\r\n```"}}