aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/EasternKingdoms/Stratholme/boss_maleki_the_pallid.cpp13
-rw-r--r--src/server/scripts/EasternKingdoms/Stratholme/boss_postmaster_malown.cpp6
-rw-r--r--src/server/scripts/Kalimdor/BlackfathomDeeps/blackfathom_deeps.h6
-rw-r--r--src/server/scripts/Kalimdor/BlackfathomDeeps/boss_aku_mai.cpp22
-rw-r--r--src/server/scripts/Kalimdor/BlackfathomDeeps/boss_gelihast.cpp2
-rw-r--r--src/server/scripts/Kalimdor/BlackfathomDeeps/boss_kelris.cpp4
-rw-r--r--src/server/scripts/Kalimdor/BlackfathomDeeps/instance_blackfathom_deeps.cpp10
7 files changed, 31 insertions, 32 deletions
diff --git a/src/server/scripts/EasternKingdoms/Stratholme/boss_maleki_the_pallid.cpp b/src/server/scripts/EasternKingdoms/Stratholme/boss_maleki_the_pallid.cpp
index 52078ceef8c..b094eb45dca 100644
--- a/src/server/scripts/EasternKingdoms/Stratholme/boss_maleki_the_pallid.cpp
+++ b/src/server/scripts/EasternKingdoms/Stratholme/boss_maleki_the_pallid.cpp
@@ -48,11 +48,6 @@ class boss_maleki_the_pallid : public CreatureScript
public:
boss_maleki_the_pallid() : CreatureScript("boss_maleki_the_pallid") { }
- CreatureAI* GetAI(Creature* creature) const override
- {
- return GetInstanceAI<boss_maleki_the_pallidAI>(creature);
- }
-
struct boss_maleki_the_pallidAI : public ScriptedAI
{
boss_maleki_the_pallidAI(Creature* creature) : ScriptedAI(creature)
@@ -85,6 +80,9 @@ public:
_events.Update(diff);
+ if (me->HasUnitState(UNIT_STATE_CASTING))
+ return;
+
while (uint32 eventId = _events.ExecuteEvent())
{
switch (eventId)
@@ -111,11 +109,16 @@ public:
DoMeleeAttackIfReady();
}
+
private:
EventMap _events;
InstanceScript* instance;
};
+ CreatureAI* GetAI(Creature* creature) const override
+ {
+ return GetInstanceAI<boss_maleki_the_pallidAI>(creature);
+ }
};
void AddSC_boss_maleki_the_pallid()
diff --git a/src/server/scripts/EasternKingdoms/Stratholme/boss_postmaster_malown.cpp b/src/server/scripts/EasternKingdoms/Stratholme/boss_postmaster_malown.cpp
index 6d9ccc5e882..0b3fa2e7caa 100644
--- a/src/server/scripts/EasternKingdoms/Stratholme/boss_postmaster_malown.cpp
+++ b/src/server/scripts/EasternKingdoms/Stratholme/boss_postmaster_malown.cpp
@@ -55,7 +55,8 @@ enum Events
class boss_postmaster_malown : public CreatureScript
{
- public: boss_postmaster_malown() : CreatureScript("boss_postmaster_malown") { }
+ public:
+ boss_postmaster_malown() : CreatureScript("boss_postmaster_malown") { }
struct boss_postmaster_malownAI : public BossAI
{
@@ -120,13 +121,14 @@ class boss_postmaster_malown : public CreatureScript
break;
}
}
+
DoMeleeAttackIfReady();
}
};
CreatureAI* GetAI(Creature* creature) const override
{
- return new boss_postmaster_malownAI(creature);
+ return GetInstanceAI<boss_postmaster_malownAI>(creature);
}
};
diff --git a/src/server/scripts/Kalimdor/BlackfathomDeeps/blackfathom_deeps.h b/src/server/scripts/Kalimdor/BlackfathomDeeps/blackfathom_deeps.h
index cb1cd3829b7..be2f526892a 100644
--- a/src/server/scripts/Kalimdor/BlackfathomDeeps/blackfathom_deeps.h
+++ b/src/server/scripts/Kalimdor/BlackfathomDeeps/blackfathom_deeps.h
@@ -37,9 +37,9 @@ enum Data64
enum Data
{
- TYPE_GELIHAST,
- TYPE_KELRIS,
- TYPE_AKU_MAI,
+ DATA_GELIHAST,
+ DATA_KELRIS,
+ DATA_AKU_MAI,
DATA_FIRE,
DATA_EVENT
};
diff --git a/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_aku_mai.cpp b/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_aku_mai.cpp
index 99790e6d70b..46008244aa6 100644
--- a/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_aku_mai.cpp
+++ b/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_aku_mai.cpp
@@ -28,7 +28,7 @@ enum Spells
enum Events
{
EVENT_POISON_CLOUD = 1,
- EVENT_FRENZIED_RAGE,
+ EVENT_FRENZIED_RAGE
};
class boss_aku_mai : public CreatureScript
@@ -38,7 +38,7 @@ public:
struct boss_aku_maiAI : public BossAI
{
- boss_aku_maiAI(Creature* creature) : BossAI(creature, TYPE_AKU_MAI)
+ boss_aku_maiAI(Creature* creature) : BossAI(creature, DATA_AKU_MAI)
{
Initialize();
}
@@ -69,23 +69,17 @@ public:
}
}
- void UpdateAI(uint32 diff) override
+ void ExecuteEvent(uint32 eventId) override
{
- if (!UpdateVictim())
- return;
-
- events.Update(diff);
-
- while (uint32 eventId = events.ExecuteEvent())
+ switch (eventId)
{
- if (eventId == EVENT_POISON_CLOUD)
- {
+ case EVENT_POISON_CLOUD:
DoCastVictim(SPELL_POISON_CLOUD);
events.ScheduleEvent(EVENT_POISON_CLOUD, urand(25000, 50000));
- }
+ break;
+ default:
+ break;
}
-
- DoMeleeAttackIfReady();
}
private:
diff --git a/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_gelihast.cpp b/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_gelihast.cpp
index 4e31bf8d64f..a68558b9c2f 100644
--- a/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_gelihast.cpp
+++ b/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_gelihast.cpp
@@ -36,7 +36,7 @@ public:
struct boss_gelihastAI : public BossAI
{
- boss_gelihastAI(Creature* creature) : BossAI(creature, TYPE_GELIHAST) { }
+ boss_gelihastAI(Creature* creature) : BossAI(creature, DATA_GELIHAST) { }
void EnterCombat(Unit* /*who*/) override
{
diff --git a/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_kelris.cpp b/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_kelris.cpp
index 4aed860b3be..4bff75d8efc 100644
--- a/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_kelris.cpp
+++ b/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_kelris.cpp
@@ -45,7 +45,7 @@ public:
struct boss_kelrisAI : public BossAI
{
- boss_kelrisAI(Creature* creature) : BossAI(creature, TYPE_KELRIS) { }
+ boss_kelrisAI(Creature* creature) : BossAI(creature, DATA_KELRIS) { }
void EnterCombat(Unit* /*who*/) override
{
@@ -58,7 +58,7 @@ public:
void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
- instance->SetData(TYPE_KELRIS, DONE);
+ _JustDied();
}
void UpdateAI(uint32 diff) override
diff --git a/src/server/scripts/Kalimdor/BlackfathomDeeps/instance_blackfathom_deeps.cpp b/src/server/scripts/Kalimdor/BlackfathomDeeps/instance_blackfathom_deeps.cpp
index 77bb3421070..458539f1daa 100644
--- a/src/server/scripts/Kalimdor/BlackfathomDeeps/instance_blackfathom_deeps.cpp
+++ b/src/server/scripts/Kalimdor/BlackfathomDeeps/instance_blackfathom_deeps.cpp
@@ -96,16 +96,16 @@ public:
break;
case GO_SHRINE_OF_GELIHAST:
shrineOfGelihastGUID = go->GetGUID();
- if (GetBossState(TYPE_GELIHAST) != DONE)
+ if (GetBossState(DATA_GELIHAST) != DONE)
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
break;
case GO_ALTAR_OF_THE_DEEPS:
altarOfTheDeepsGUID = go->GetGUID();
- if (GetBossState(TYPE_AKU_MAI) != DONE)
+ if (GetBossState(DATA_AKU_MAI) != DONE)
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
break;
case GO_AKU_MAI_DOOR:
- if (GetBossState(TYPE_AKU_MAI) == DONE)
+ if (GetBossState(DATA_AKU_MAI) == DONE)
HandleGameObject(ObjectGuid::Empty, true, go);
mainDoorGUID = go->GetGUID();
break;
@@ -170,12 +170,12 @@ public:
switch (type)
{
- case TYPE_GELIHAST:
+ case DATA_GELIHAST:
if (state == DONE)
if (GameObject* go = instance->GetGameObject(shrineOfGelihastGUID))
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
break;
- case TYPE_AKU_MAI:
+ case DATA_AKU_MAI:
if (state == DONE)
if (GameObject* go = instance->GetGameObject(altarOfTheDeepsGUID))
{