Cleanup in two Ruins of Ahn Quiraj scripts.
authordeverend <deverend@5f9c896b-1e26-0410-94da-f77f675e2462>
Sun, 4 Apr 2010 20:49:12 +0000 (4 20:49 +0000)
committerdeverend <deverend@5f9c896b-1e26-0410-94da-f77f675e2462>
Sun, 4 Apr 2010 20:49:12 +0000 (4 20:49 +0000)
Corresponding lines are aded to sql files now.

git-svn-id: https://scriptdev2.svn.sourceforge.net/svnroot/scriptdev2@1668 5f9c896b-1e26-0410-94da-f77f675e2462

scripts/kalimdor/ruins_of_ahnqiraj/boss_ayamiss.cpp
scripts/kalimdor/ruins_of_ahnqiraj/boss_kurinnaxx.cpp
sql/Updates/Makefile.am
sql/Updates/r1668_mangos.sql [new file with mode: 0644]
sql/mangos_scriptname_full.sql

index 818b6e3..d94f6a0 100644 (file)
@@ -28,68 +28,80 @@ To do:
 make him fly from 70-100%
 */
 
-#define SPELL_STINGERSPRAY 25749
-#define SPELL_POISONSTINGER 25748                           //only used in phase1
-#define SPELL_SUMMONSWARMER 25844                           //might be 25708
-// #define SPELL_PARALYZE 23414 doesnt work correct (core)
+enum
+{
+    SPELL_STINGERSPRAY  = 25749,
+    SPELL_POISONSTINGER = 25748,                            //only used in phase1
+    SPELL_SUMMONSWARMER = 25844,                            //might be 25708
+    //SPELL_PARALYZE 23414 doesnt work correct (core)
+
+    PHASE_AIR           = 0,
+    PHASE_GROUND        = 1
+};
 
 struct MANGOS_DLL_DECL boss_ayamissAI : public ScriptedAI
 {
     boss_ayamissAI(Creature* pCreature) : ScriptedAI(pCreature) {Reset();}
 
-    Unit *pTarget;
-    uint32 STINGERSPRAY_Timer;
-    uint32 POISONSTINGER_Timer;
-    uint32 SUMMONSWARMER_Timer;
-    uint32 phase;
+    uint32 m_uiStingerSprayTimer;
+    uint32 m_uiPoisonStingerTimer;
+    uint32 m_uiSummonSwarmerTimer;
+    uint8 m_uiPhase;
 
     void Reset()
     {
-        pTarget = NULL;
-        STINGERSPRAY_Timer = 30000;
-        POISONSTINGER_Timer = 30000;
-        SUMMONSWARMER_Timer = 60000;
-        phase=1;
-    }
-
-    void Aggro(Unit *who)
-    {
-        pTarget = who;
+        m_uiStingerSprayTimer  = 30000;
+        m_uiPoisonStingerTimer = 30000;
+        m_uiSummonSwarmerTimer = 60000;
+        
+        m_uiPhase = PHASE_AIR;
     }
 
-    void UpdateAI(const uint32 diff)
+    void UpdateAI(const uint32 uiDiff)
     {
         if (!m_creature->SelectHostileTarget() || !m_creature->getVictim())
             return;
 
-        //If he is 70% start phase 2
-        if (phase == 1 && m_creature->GetHealthPercent() <= 70.0f && !m_creature->IsNonMeleeSpellCasted(false))
+        // Stinger Spray
+        if (m_uiStingerSprayTimer < uiDiff)
         {
-            phase=2;
+            DoCastSpellIfCan(m_creature->getVictim(), SPELL_STINGERSPRAY);
+            m_uiStingerSprayTimer = 30000;
         }
-
-        //STINGERSPRAY_Timer (only in phase2)
-        if (phase==2 && STINGERSPRAY_Timer < diff)
-        {
-            DoCastSpellIfCan(m_creature->getVictim(),SPELL_STINGERSPRAY);
-            STINGERSPRAY_Timer = 30000;
-        }else STINGERSPRAY_Timer -= diff;
-
-        //POISONSTINGER_Timer (only in phase1)
-        if (phase==1 && POISONSTINGER_Timer < diff)
+        else
+            m_uiStingerSprayTimer -= uiDiff;
+        
+        if (m_uiPhase == PHASE_AIR)
         {
-            DoCastSpellIfCan(m_creature->getVictim(),SPELL_POISONSTINGER);
-            POISONSTINGER_Timer = 30000;
-        }else POISONSTINGER_Timer -= diff;
+            // Start ground phase at 70% of HP
+            if (m_creature->GetHealthPercent() <= 70.0f)
+            {
+                m_uiPhase = PHASE_GROUND;
+                DoResetThreat();
+            }
 
-        //SUMMONSWARMER_Timer (only in phase1)
-        if (SUMMONSWARMER_Timer < diff)
-        {
-            DoCastSpellIfCan(m_creature->getVictim(),SPELL_SUMMONSWARMER);
-            SUMMONSWARMER_Timer = 60000;
-        }else SUMMONSWARMER_Timer -= diff;
+            // Poison Stinger
+            if (m_uiPoisonStingerTimer < uiDiff)
+            {
+                DoCastSpellIfCan(m_creature->getVictim(), SPELL_POISONSTINGER);
+                m_uiPoisonStingerTimer = 30000;
+            }
+            else
+                m_uiPoisonStingerTimer -= uiDiff;
+        }
+        else
+        {     
+            //m_uiSummonSwarmerTimer
+            if (m_uiSummonSwarmerTimer < uiDiff)
+            {
+                DoCastSpellIfCan(m_creature->getVictim(), SPELL_SUMMONSWARMER);
+                m_uiSummonSwarmerTimer = 60000;
+            }
+            else
+                m_uiSummonSwarmerTimer -= uiDiff;
 
-        DoMeleeAttackIfReady();
+            DoMeleeAttackIfReady();
+        }
     }
 };
 CreatureAI* GetAI_boss_ayamiss(Creature* pCreature)
@@ -99,7 +111,7 @@ CreatureAI* GetAI_boss_ayamiss(Creature* pCreature)
 
 void AddSC_boss_ayamiss()
 {
-    Script *newscript;
+    Scriptnewscript;
     newscript = new Script;
     newscript->Name = "boss_ayamiss";
     newscript->GetAI = &GetAI_boss_ayamiss;
index 19b7bf8..e6b65c3 100644 (file)
@@ -23,61 +23,65 @@ EndScriptData */
 
 #include "precompiled.h"
 
-#define SPELL_MORTALWOUND 25646
-#define SPELL_SANDTRAP 25656
-#define SPELL_ENRAGE 28798
+enum
+{
+    SPELL_TRASH        = 3391,
+    SPELL_WIDE_SLASH   = 25814,
+    SPELL_MORTAL_WOUND = 25646,
+    SPELL_SANDTRAP     = 25656,
+    SPELL_ENRAGE       = 28798
+};
 
 struct MANGOS_DLL_DECL boss_kurinnaxxAI : public ScriptedAI
 {
     boss_kurinnaxxAI(Creature* pCreature) : ScriptedAI(pCreature) {Reset();}
 
-    Unit *pTarget;
-    uint32 MORTALWOUND_Timer;
-    uint32 SANDTRAP_Timer;
-    uint32 i;
+    uint32 m_uiMortalWoundTimer;
+    uint32 m_uiSandTrapTimer;
+    bool m_bEnraged;
 
     void Reset()
     {
-        i=0;
-        pTarget = NULL;
-        MORTALWOUND_Timer = 30000;
-        SANDTRAP_Timer = 30000;
-    }
+        m_bEnraged = false;
 
-    void Aggro(Unit *who)
-    {
-        pTarget = who;
+        m_uiMortalWoundTimer = 30000;
+        m_uiSandTrapTimer    = 30000;
     }
 
-    void UpdateAI(const uint32 diff)
+    void UpdateAI(const uint32 uiDiff)
     {
         if (!m_creature->SelectHostileTarget() || !m_creature->getVictim())
             return;
 
-        //If we are <30% cast enrage
-        if (i == 0 && m_creature->GetHealthPercent() <= 30.0f && !m_creature->IsNonMeleeSpellCasted(false))
+        // If we are belowe 30% HP cast enrage
+        if (!m_bEnraged && m_creature->GetHealthPercent() <= 30.0f)
         {
-            i=1;
-            DoCastSpellIfCan(m_creature->getVictim(),SPELL_ENRAGE);
+            m_bEnraged = true;
+            DoCastSpellIfCan(m_creature->getVictim(), SPELL_ENRAGE);
         }
 
-        //MORTALWOUND_Timer
-        if (MORTALWOUND_Timer < diff)
+        // Mortal Wound
+        if (m_uiMortalWoundTimer < uiDiff)
         {
-            DoCastSpellIfCan(m_creature->getVictim(),SPELL_MORTALWOUND);
-            MORTALWOUND_Timer = 30000;
-        }else MORTALWOUND_Timer -= diff;
+            DoCastSpellIfCan(m_creature->getVictim(), SPELL_MORTAL_WOUND);
+            m_uiMortalWoundTimer = 30000;
+        }
+        else
+            m_uiMortalWoundTimer -= uiDiff;
 
-        //SANDTRAP_Timer
-        if (SANDTRAP_Timer < diff)
+        // Sand Trap
+        if (m_uiSandTrapTimer < uiDiff)
         {
-            DoCastSpellIfCan(m_creature->getVictim(),SPELL_SANDTRAP);
-            SANDTRAP_Timer = 30000;
-        }else SANDTRAP_Timer -= diff;
+            DoCastSpellIfCan(m_creature->getVictim(), SPELL_SANDTRAP);
+            m_uiSandTrapTimer = 30000;
+        }
+        else
+            m_uiSandTrapTimer -= uiDiff;
 
         DoMeleeAttackIfReady();
     }
 };
+
 CreatureAI* GetAI_boss_kurinnaxx(Creature* pCreature)
 {
     return new boss_kurinnaxxAI(pCreature);
@@ -85,7 +89,7 @@ CreatureAI* GetAI_boss_kurinnaxx(Creature* pCreature)
 
 void AddSC_boss_kurinnaxx()
 {
-    Script *newscript;
+    Scriptnewscript;
     newscript = new Script;
     newscript->Name = "boss_kurinnaxx";
     newscript->GetAI = &GetAI_boss_kurinnaxx;
index 69dcd4a..11ff7de 100644 (file)
@@ -90,5 +90,6 @@ pkgdata_DATA = \
        r1662_scriptdev2.sql \
        r1665_mangos.sql \
        r1667_mangos.sql \
-       r1667_scriptdev2.sql
+       r1667_scriptdev2.sql \
+       r1668_mangos.sql
 
diff --git a/sql/Updates/r1668_mangos.sql b/sql/Updates/r1668_mangos.sql
new file mode 100644 (file)
index 0000000..b79ee9f
--- /dev/null
@@ -0,0 +1,3 @@
+UPDATE creature_template SET ScriptName='boss_kurinnaxx' WHERE entry=15348;
+UPDATE creature_template SET ScriptName='boss_ayamiss' WHERE entry=15369;
+
index 961383a..2a25af5 100644 (file)
@@ -816,6 +816,8 @@ UPDATE creature_template SET ScriptName='npc_corporal_keeshan' WHERE entry=349;
 /* RUINS OF AHN'QIRAJ */
 UPDATE instance_template SET script='instance_ruins_of_ahnqiraj' WHERE map=509;
 UPDATE creature_template SET ScriptName='mob_anubisath_guardian' WHERE entry=15355;
+UPDATE creature_template SET ScriptName='boss_kurinnaxx' WHERE entry=15348;
+UPDATE creature_template SET ScriptName='boss_ayamiss' WHERE entry=15369;
 UPDATE creature_template SET ScriptName='boss_moam' WHERE entry=15340;
 
 /* SCARLET MONASTERY */