aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authormik1893 <michele.roscelli@gmail.com>2015-06-26 00:30:04 +0200
committermik1893 <michele.roscelli@gmail.com>2015-06-26 00:30:04 +0200
commit49809bd404ae7b58ac81086d52297532ec85972a (patch)
treef6b7ae99925e62c8c3cf6587c8b310724c8f642f /src
parente34f74dacea82f85b3b945e23f3432deda4595b7 (diff)
Scripts/VioletHold: Fix codestyle and unwanted crash in Violet/Hold
closes #14952 and #14953
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/Northrend/VioletHold/boss_erekem.cpp24
-rw-r--r--src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp23
-rw-r--r--src/server/scripts/Northrend/VioletHold/boss_lavanthor.cpp10
-rw-r--r--src/server/scripts/Northrend/VioletHold/boss_moragg.cpp4
-rw-r--r--src/server/scripts/Northrend/VioletHold/boss_xevozz.cpp23
-rw-r--r--src/server/scripts/Northrend/VioletHold/boss_zuramat.cpp15
-rw-r--r--src/server/scripts/Northrend/VioletHold/violet_hold.cpp36
7 files changed, 65 insertions, 70 deletions
diff --git a/src/server/scripts/Northrend/VioletHold/boss_erekem.cpp b/src/server/scripts/Northrend/VioletHold/boss_erekem.cpp
index e15fa76b15b..1f9fc6d7981 100644
--- a/src/server/scripts/Northrend/VioletHold/boss_erekem.cpp
+++ b/src/server/scripts/Northrend/VioletHold/boss_erekem.cpp
@@ -57,16 +57,21 @@ class boss_erekem : public CreatureScript
public:
boss_erekem() : CreatureScript("boss_erekem") { }
+ CreatureAI* GetAI(Creature* creature) const override
+ {
+ return GetInstanceAI<boss_erekemAI>(creature);
+ }
+
struct boss_erekemAI : public ScriptedAI
{
boss_erekemAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
}
void Initialize()
{
- events.Reset();
phase = 0;
breakBondsCd = 0;
}
@@ -100,6 +105,8 @@ public:
pGuard2->Respawn();
}
}
+
+ events.Reset();
}
void JustReachedHome() override
@@ -297,11 +304,6 @@ public:
uint8 phase;
int32 breakBondsCd;
};
-
- CreatureAI* GetAI(Creature* creature) const override
- {
- return GetInstanceAI<boss_erekemAI>(creature);
- }
};
enum GuardSpells
@@ -316,6 +318,11 @@ class npc_erekem_guard : public CreatureScript
public:
npc_erekem_guard() : CreatureScript("npc_erekem_guard") { }
+ CreatureAI* GetAI(Creature* creature) const override
+ {
+ return GetInstanceAI<npc_erekem_guardAI>(creature);
+ }
+
struct npc_erekem_guardAI : public ScriptedAI
{
npc_erekem_guardAI(Creature* creature) : ScriptedAI(creature)
@@ -387,11 +394,6 @@ public:
} else uiGushingWoundTimer -= diff;
}
};
-
- CreatureAI* GetAI(Creature* creature) const override
- {
- return GetInstanceAI<npc_erekem_guardAI>(creature);
- }
};
void AddSC_boss_erekem()
diff --git a/src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp b/src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp
index 53a5e0a55a8..74f54355af0 100644
--- a/src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp
+++ b/src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp
@@ -72,7 +72,10 @@ enum Misc
DATA_DEHYDRATION = 1
};
-Position const globulePaths[10] =
+
+#define MAX_GLOBULE_PATHS 10
+
+Position const globulePaths[MAX_GLOBULE_PATHS] =
{
// first target
{ 1861.357f, 804.039f, 44.008f, 6.268f },
@@ -177,9 +180,7 @@ public:
DoExplodeCompleted();
me->SetHealth(me->GetHealth() + me->CountPctFromMaxHealth(3));
-
- if (dehydration)
- dehydration = false;
+ dehydration = false;
}
break;
}
@@ -314,7 +315,7 @@ public:
GetCreatureListWithEntryInGrid(summonTargets, me, NPC_ICHORON_SUMMON_TARGET, 200.0f);
std::list<Creature*>::iterator itr = summonTargets.begin();
- for (uint8 i = 0; i < 10; i++)
+ for (uint8 i = 0; i < MAX_GLOBULE_PATHS; i++)
{
std::advance(itr, urand(0, summonTargets.size() - 1)); // I take a random minion in the list
Position targetPos = (*itr)->GetRandomNearPosition(10.0f);
@@ -325,7 +326,7 @@ public:
float minDistance = 1000.0f;
uint8 nextPath = 0;
// I move the globules to next position. the 10 positions are in couples, defined in globulePaths, so i have to increase by 2.
- for (uint8 gpath = 0; gpath < 10; gpath += 2)
+ for (uint8 gpath = 0; gpath < MAX_GLOBULE_PATHS; gpath += 2)
{
if (globule->GetDistance(globulePaths[gpath]) < minDistance)
{
@@ -441,18 +442,20 @@ public:
{
npc_ichor_globuleAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
}
- void Reset() override
+ void Initialize()
{
pathId = 0;
- events.Reset();
- DoCast(SPELL_WATER_GLOBULE);
}
- void AttackStart(Unit* /*who*/) override
+ void Reset() override
{
+ Initialize();
+ events.Reset();
+ DoCast(SPELL_WATER_GLOBULE);
}
void SetData(uint32 id, uint32 data) override
diff --git a/src/server/scripts/Northrend/VioletHold/boss_lavanthor.cpp b/src/server/scripts/Northrend/VioletHold/boss_lavanthor.cpp
index 81464eb7d01..8dc0e32fb31 100644
--- a/src/server/scripts/Northrend/VioletHold/boss_lavanthor.cpp
+++ b/src/server/scripts/Northrend/VioletHold/boss_lavanthor.cpp
@@ -40,6 +40,11 @@ class boss_lavanthor : public CreatureScript
public:
boss_lavanthor() : CreatureScript("boss_lavanthor") { }
+ CreatureAI* GetAI(Creature* creature) const override
+ {
+ return GetInstanceAI<boss_lavanthorAI>(creature);
+ }
+
struct boss_lavanthorAI : public ScriptedAI
{
boss_lavanthorAI(Creature* creature) : ScriptedAI(creature)
@@ -146,11 +151,6 @@ public:
EventMap events;
InstanceScript* instance;
};
-
- CreatureAI* GetAI(Creature* creature) const override
- {
- return GetInstanceAI<boss_lavanthorAI>(creature);
- }
};
void AddSC_boss_lavanthor()
diff --git a/src/server/scripts/Northrend/VioletHold/boss_moragg.cpp b/src/server/scripts/Northrend/VioletHold/boss_moragg.cpp
index 5980a9a464b..f9e223d3bab 100644
--- a/src/server/scripts/Northrend/VioletHold/boss_moragg.cpp
+++ b/src/server/scripts/Northrend/VioletHold/boss_moragg.cpp
@@ -163,7 +163,7 @@ public:
void OnPeriodic(AuraEffect const* aurEff)
{
PreventDefaultAction();
- std::list<HostileReference*> players = GetTarget()->ToCreature()->getThreatManager().getThreatList();
+ std::list<HostileReference*> players = GetTarget()->getThreatManager().getThreatList();
if (!players.empty())
{
std::list<HostileReference*>::iterator itr = players.begin();
@@ -198,7 +198,7 @@ public:
void OnPeriodic(AuraEffect const* aurEff)
{
PreventDefaultAction();
- std::list<HostileReference*> players = GetTarget()->ToCreature()->getThreatManager().getThreatList();
+ std::list<HostileReference*> players = GetTarget()->getThreatManager().getThreatList();
if (!players.empty())
{
std::list<HostileReference*>::iterator itr = players.begin();
diff --git a/src/server/scripts/Northrend/VioletHold/boss_xevozz.cpp b/src/server/scripts/Northrend/VioletHold/boss_xevozz.cpp
index 5fad77595a6..4fb7646558d 100644
--- a/src/server/scripts/Northrend/VioletHold/boss_xevozz.cpp
+++ b/src/server/scripts/Northrend/VioletHold/boss_xevozz.cpp
@@ -68,6 +68,11 @@ enum XevozzEvents
EVENT_DESPAWN_SPHERE
};
+enum SphereActions
+{
+ ACTION_SUMMON = 1,
+};
+
class boss_xevozz : public CreatureScript
{
public:
@@ -216,9 +221,9 @@ public:
break;
case EVENT_SUMMON_PLAYERS:
if (Creature* sphere = me->FindNearestCreature(NPC_ETHEREAL_SPHERE, 150.0f))
- sphere->GetAI()->DoAction(1);
+ sphere->GetAI()->DoAction(ACTION_SUMMON);
else if (Creature* sphere = me->FindNearestCreature(NPC_ETHEREAL_SPHERE2, 150.0f))
- sphere->GetAI()->DoAction(1);
+ sphere->GetAI()->DoAction(ACTION_SUMMON);
break;
default:
break;
@@ -247,25 +252,31 @@ public:
{
npc_ethereal_sphereAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
}
+ void Initialize()
+ {
+ arcanePower = false;
+ }
+
void Reset() override
{
+ Initialize();
events.Reset();
DoCast(SPELL_POWER_BALL_VISUAL);
DoCast(SPELL_POWER_BALL_DAMAGE_TRIGGER);
- arcanePower = false;
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE);
me->setFaction(16);
-
events.ScheduleEvent(EVENT_DESPAWN_SPHERE, 40000);
events.ScheduleEvent(EVENT_RANGE_CHECK, 1000);
}
void DoAction(int32 action) override
{
- DoCast(SPELL_SUMMON_PLAYERS);
+ if (action == ACTION_SUMMON)
+ DoCast(SPELL_SUMMON_PLAYERS);
}
void UpdateAI(uint32 diff) override
@@ -316,7 +327,7 @@ public:
{
PrepareSpellScript(spell_xevozz_summon_players_SpellScript);
- void HandleScript(SpellEffIndex effIndex)
+ void HandleScript(SpellEffIndex /*effIndex*/)
{
Unit* target = GetHitUnit();
diff --git a/src/server/scripts/Northrend/VioletHold/boss_zuramat.cpp b/src/server/scripts/Northrend/VioletHold/boss_zuramat.cpp
index f161936ab23..02e479a22f4 100644
--- a/src/server/scripts/Northrend/VioletHold/boss_zuramat.cpp
+++ b/src/server/scripts/Northrend/VioletHold/boss_zuramat.cpp
@@ -58,26 +58,23 @@ public:
{
boss_zuramatAI(Creature* creature) : ScriptedAI(creature), sentries(me)
{
+ Initialize();
instance = creature->GetInstanceScript();
}
void Initialize()
{
- events.Reset();
voidDance = true;
}
void DespawnSentries()
{
sentries.DespawnAll();
- std::list<Creature*> sentries;
- GetCreatureListWithEntryInGrid(sentries, me, NPC_VOID_SENTRY_BALL, 200.0f);
- if (!sentries.empty())
- {
- std::list<Creature*>::iterator itr = sentries.begin();
- for (itr; itr != sentries.end(); ++itr)
+ std::list<Creature*> sentrylist;
+ GetCreatureListWithEntryInGrid(sentrylist, me, NPC_VOID_SENTRY_BALL, 200.0f);
+ if (!sentrylist.empty())
+ for (std::list<Creature*>::const_iterator itr = sentrylist.begin(); itr != sentrylist.end(); ++itr)
(*itr)->DespawnOrUnsummon();
- }
}
void Reset() override
@@ -88,6 +85,7 @@ public:
instance->SetData(DATA_2ND_BOSS_EVENT, NOT_STARTED);
Initialize();
+ events.Reset();
DespawnSentries();
}
@@ -174,7 +172,6 @@ public:
void UpdateAI(uint32 diff) override
{
- //Return since we have no target
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Northrend/VioletHold/violet_hold.cpp b/src/server/scripts/Northrend/VioletHold/violet_hold.cpp
index d860180fb0c..b05da4b994c 100644
--- a/src/server/scripts/Northrend/VioletHold/violet_hold.cpp
+++ b/src/server/scripts/Northrend/VioletHold/violet_hold.cpp
@@ -250,7 +250,9 @@ const Position PortalLocation[] =
{ 1890.64f, 753.471f, 48.7224f, 1.71042f }, // WP 5
};
-uint64 preEventPortalGUID[3] = { 0 };
+#define MAX_PRE_EVENT_PORTAL 3
+
+ObjectGuid preEventPortalGUID[MAX_PRE_EVENT_PORTAL] = { ObjectGuid::Empty };
const Position MovePosition = { 1806.955566f, 803.851807f, 44.363323f, 0.0f };
const Position playerTeleportPosition = { 1830.531006f, 803.939758f, 44.340508f, 6.281611f };
@@ -331,13 +333,9 @@ public:
Initialize();
me->SetReactState(REACT_AGGRESSIVE);
-
- if (TempSummon* summon = me->SummonCreature(NPC_TELEPORTATION_PORTAL, PortalLocation[0], TEMPSUMMON_MANUAL_DESPAWN))
- preEventPortalGUID[0] = summon->GetGUID();
- if (TempSummon* summon = me->SummonCreature(NPC_TELEPORTATION_PORTAL, PortalLocation[1], TEMPSUMMON_MANUAL_DESPAWN))
- preEventPortalGUID[1] = summon->GetGUID();
- if (TempSummon* summon = me->SummonCreature(NPC_TELEPORTATION_PORTAL, PortalLocation[2], TEMPSUMMON_MANUAL_DESPAWN))
- preEventPortalGUID[2] = summon->GetGUID();
+ for (uint8 i = 0; i < MAX_PRE_EVENT_PORTAL; i++)
+ if (TempSummon* summon = me->SummonCreature(NPC_TELEPORTATION_PORTAL, PortalLocation[i], TEMPSUMMON_MANUAL_DESPAWN))
+ preEventPortalGUID[i] = summon->GetGUID();
std::list<Creature*> GuardList;
me->GetCreatureListWithEntryInGrid(GuardList, NPC_VIOLET_HOLD_GUARD, 40.0f);
@@ -758,26 +756,10 @@ struct violet_hold_trashAI : public npc_escortAI
{
if (Creature* portal = me->FindNearestCreature(NPC_TELEPORTATION_PORTAL, 10.0f))
{
- uint64 portalGUID = portal->GetGUID();
- for (uint8 i = 0; i < 3; i++)
- {
+ ObjectGuid portalGUID = portal->GetGUID();
+ for (uint8 i = 0; i < MAX_PRE_EVENT_PORTAL; i++)
if (portalGUID == preEventPortalGUID[i])
- {
- switch (i)
- {
- case 0:
- portalLocationID = 0;
- break;
- case 1:
- portalLocationID = 2;
- break;
- case 2:
- portalLocationID = 4;
- break;
- }
- break;
- }
- }
+ portalLocationID = i * 2;
}
}
else