aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/bindings/scripts/scripts/northrend/gundrak/boss_moorabi.cpp182
1 files changed, 87 insertions, 95 deletions
diff --git a/src/bindings/scripts/scripts/northrend/gundrak/boss_moorabi.cpp b/src/bindings/scripts/scripts/northrend/gundrak/boss_moorabi.cpp
index abba233496f..7129e61833e 100644
--- a/src/bindings/scripts/scripts/northrend/gundrak/boss_moorabi.cpp
+++ b/src/bindings/scripts/scripts/northrend/gundrak/boss_moorabi.cpp
@@ -9,60 +9,67 @@ Script Data End */
#include "precompiled.h"
#include "gundrak.h"
-//Spells
-
-#define SPELL_DETERMINED_STAB 55104
-#define SPELL_GROUND_TREMOR 55142
-#define SPELL_NUMBING_SHOUT 55106
+enum eSpells
+{
+ SPELL_DETERMINED_STAB = 55104,
+ SPELL_GROUND_TREMOR = 55142,
+ SPELL_NUMBING_SHOUT = 55106,
-#define SPELL_DETERMINED_GORE 55102
-#define SPELL_DETERMINED_GORE_1 59444
-#define SPELL_QUAKE 55101
-#define SPELL_NUMBING_ROAR 55100
+ SPELL_DETERMINED_GORE = 55102,
+ SPELL_DETERMINED_GORE_1 = 59444,
+ SPELL_QUAKE = 55101,
+ SPELL_NUMBING_ROAR = 55100,
-#define SPELL_MOJO_FRENZY 55163
-#define SPELL_TRANSFORMATION 55098 //Periodic, The caster transforms into a powerful mammoth, increasing Physical damage done by 25% and granting immunity to Stun effects.
+ SPELL_MOJO_FRENZY = 55163,
+ SPELL_TRANSFORMATION = 55098, //Periodic, The caster transforms into a powerful mammoth, increasing Physical damage done by 25% and granting immunity to Stun effects.
+};
-#define ACHIEVEMENT_LESS_RABI 2040
+enum eArchivements
+{
+ ACHIEVEMENT_LESS_RABI = 2040
+};
-//Yell
-#define SAY_AGGRO -1604010
-//#define SAY_SLAY_1 -1604011 // not in db
-#define SAY_SLAY_2 -1604012
-#define SAY_SLAY_3 -1604013
-#define SAY_DEATH -1604014
-#define SAY_TRANSFORM -1604015
-#define SAY_QUAKE -1604016
-#define EMOTE_TRANSFORM -1604017
+enum eSays
+{
+ SAY_AGGRO = -1604010,
+ //SAY_SLAY_1 = -1604011, // not in db
+ SAY_SLAY_2 = -1604012,
+ SAY_SLAY_3 = -1604013,
+ SAY_DEATH = -1604014,
+ SAY_TRANSFORM = -1604015,
+ SAY_QUAKE = -1604016,
+ EMOTE_TRANSFORM = -1604017
+};
struct TRINITY_DLL_DECL boss_moorabiAI : public ScriptedAI
{
- boss_moorabiAI(Creature *c) : ScriptedAI(c)
+ boss_moorabiAI(Creature* pCreature) : ScriptedAI(pCreature)
{
- pInstance = c->GetInstanceData();
+ pInstance = pCreature->GetInstanceData();
}
ScriptedInstance* pInstance;
- bool Phase;
- uint32 SPELL_QUAKE_TIMER;
- uint32 SPELL_NUMBING_SHOUT_TIMER;
- uint32 SPELL_GROUND_TREMOR_TIMER;
- uint32 SPELL_DETERMINED_STAB_TIMER;
- uint32 SPELL_TRANSFORMATION_TIMER;
+
+ bool bPhase;
+
+ uint32 uiNumblingShoutTimer;
+ uint32 uiGroundTremorTimer;
+ uint32 uiDeterminedStabTimer;
+ uint32 uiTransformationTImer;
void Reset()
{
- SPELL_GROUND_TREMOR_TIMER = 18000;
- SPELL_NUMBING_SHOUT_TIMER = 10000;
- SPELL_DETERMINED_STAB_TIMER = 20000;
- SPELL_TRANSFORMATION_TIMER = 12000;
- Phase = false;
+ uiGroundTremorTimer = 18000;
+ uiNumblingShoutTimer = 10000;
+ uiDeterminedStabTimer = 20000;
+ uiTransformationTImer = 12000;
+ bPhase = false;
- if (pInstance)
+ if (pInstance)
pInstance->SetData(DATA_MOORABI_EVENT, NOT_STARTED);
}
- void EnterCombat(Unit *who)
+ void EnterCombat(Unit* pWho)
{
DoScriptText(SAY_AGGRO, m_creature);
DoCast(m_creature, SPELL_MOJO_FRENZY, true);
@@ -71,83 +78,67 @@ struct TRINITY_DLL_DECL boss_moorabiAI : public ScriptedAI
pInstance->SetData(DATA_MOORABI_EVENT, IN_PROGRESS);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(const uint32 uiDiff)
{
//Return since we have no target
if (!UpdateVictim())
return;
- if(Phase == false && m_creature->HasAura(SPELL_TRANSFORMATION))
- Phase = true;
-
- if(Phase == true)
+ if(!bPhase && m_creature->HasAura(SPELL_TRANSFORMATION))
{
+ bPhase = true;
m_creature->RemoveAura(SPELL_MOJO_FRENZY);
-
- if (SPELL_GROUND_TREMOR_TIMER <= diff)
- {
- DoScriptText(SAY_QUAKE, m_creature);
- DoCast(m_creature->getVictim(), SPELL_QUAKE, true);
- SPELL_GROUND_TREMOR_TIMER = 10000;
- } else SPELL_GROUND_TREMOR_TIMER -= diff;
-
- if (SPELL_NUMBING_SHOUT_TIMER <= diff)
- {
- DoCast(m_creature->getVictim(), SPELL_NUMBING_ROAR, true);
- SPELL_NUMBING_SHOUT_TIMER = 10000;
- } else SPELL_NUMBING_SHOUT_TIMER -=diff;
-
- if (SPELL_DETERMINED_STAB_TIMER <= diff)
- {
- DoCast(m_creature->getVictim(), HEROIC(SPELL_DETERMINED_GORE, SPELL_DETERMINED_GORE_1));
- SPELL_DETERMINED_STAB_TIMER = 8000;
- } else SPELL_DETERMINED_STAB_TIMER -=diff;
}
- else
+
+ if (uiGroundTremorTimer <= uiDiff)
{
- //CAST TRANSFORMATION
- if (SPELL_TRANSFORMATION_TIMER <= diff)
- {
- DoScriptText(EMOTE_TRANSFORM, m_creature);
- DoScriptText(SAY_TRANSFORM, m_creature);
- DoCast(m_creature, SPELL_TRANSFORMATION, false);
- SPELL_TRANSFORMATION_TIMER = 10000;
- } else SPELL_TRANSFORMATION_TIMER -= diff;
-
- //CAST GROUND TERMOR || QUAKE
- if (SPELL_GROUND_TREMOR_TIMER <= diff)
- {
- DoScriptText(SAY_QUAKE, m_creature);
+ DoScriptText(SAY_QUAKE, m_creature);
+ if (bPhase)
+ DoCast(m_creature->getVictim(), SPELL_QUAKE, true);
+ else
DoCast(m_creature->getVictim(), SPELL_GROUND_TREMOR, true);
- SPELL_GROUND_TREMOR_TIMER = 10000;
- } else SPELL_GROUND_TREMOR_TIMER -= diff;
+ uiGroundTremorTimer = 10000;
+ } else uiGroundTremorTimer -= uiDiff;
- //CAST NUMBING SHOUT || DETERMINED_STAB
- if (SPELL_NUMBING_SHOUT_TIMER <= diff)
- {
+ if (uiNumblingShoutTimer <= uiDiff)
+ {
+ if (bPhase)
+ DoCast(m_creature->getVictim(), SPELL_NUMBING_ROAR, true);
+ else
DoCast(m_creature->getVictim(), SPELL_NUMBING_SHOUT, true);
- SPELL_NUMBING_SHOUT_TIMER = 10000;
- } else SPELL_NUMBING_SHOUT_TIMER -= diff;
+ uiNumblingShoutTimer = 10000;
+ } else uiNumblingShoutTimer -=uiDiff;
- if (SPELL_DETERMINED_STAB_TIMER <= diff)
- {
+ if (uiDeterminedStabTimer <= uiDiff)
+ {
+ if (bPhase)
+ DoCast(m_creature->getVictim(), HEROIC(SPELL_DETERMINED_GORE, SPELL_DETERMINED_GORE_1));
+ else
DoCast(m_creature->getVictim(), SPELL_DETERMINED_STAB, true);
- SPELL_DETERMINED_STAB_TIMER = 8000;
- } else SPELL_DETERMINED_STAB_TIMER -= diff;
- }
+ uiDeterminedStabTimer = 8000;
+ } else uiDeterminedStabTimer -=uiDiff;
- DoMeleeAttackIfReady();
+ if (!bPhase && uiTransformationTImer <= uiDiff)
+ {
+ DoScriptText(EMOTE_TRANSFORM, m_creature);
+ DoScriptText(SAY_TRANSFORM, m_creature);
+ DoCast(m_creature, SPELL_TRANSFORMATION, false);
+ uiTransformationTImer = 10000;
+ } else uiTransformationTImer -= uiDiff;
+
+ DoMeleeAttackIfReady();
}
- void JustDied(Unit *killer)
+
+ void JustDied(Unit* pKiller)
{
- DoScriptText(SAY_DEATH, m_creature);
+ DoScriptText(SAY_DEATH, m_creature);
- if (HeroicMode && Phase == false)
+ if (HeroicMode && !bPhase)
{
AchievementEntry const *AchievLessRabi = GetAchievementStore()->LookupEntry(ACHIEVEMENT_LESS_RABI);
if (AchievLessRabi)
{
- Map *pMap = m_creature->GetMap();
+ Map* pMap = m_creature->GetMap();
if (pMap && pMap->IsDungeon())
{
Map::PlayerList const &players = pMap->GetPlayers();
@@ -160,23 +151,24 @@ struct TRINITY_DLL_DECL boss_moorabiAI : public ScriptedAI
if (pInstance)
pInstance->SetData(DATA_MOORABI_EVENT, DONE);
}
- void KilledUnit(Unit *victim)
+
+ void KilledUnit(Unit* pVictim)
{
- if (victim == m_creature)
+ if (pVictim == m_creature)
return;
DoScriptText(RAND(SAY_SLAY_2,SAY_SLAY_3), m_creature);
}
};
-CreatureAI *GetAI_boss_moorabi(Creature *pCreature)
+CreatureAI* GetAI_boss_moorabi(Creature *pCreature)
{
return new boss_moorabiAI(pCreature);
}
void AddSC_boss_moorabi()
{
- Script *newscript;
+ Script* newscript;
newscript = new Script;
newscript->Name = "boss_moorabi";