refactor(Naxxramas): code cleaning (#2015)

This commit is contained in:
Francesco Borzì
2019-07-17 00:50:52 +02:00
committed by Stoabrogga
parent 53b74a6c07
commit 69c7fefad6
15 changed files with 116 additions and 117 deletions

View File

@@ -52,7 +52,7 @@ public:
struct boss_anubrekhanAI : public BossAI struct boss_anubrekhanAI : public BossAI
{ {
boss_anubrekhanAI(Creature *c) : BossAI(c, BOSS_ANUB), summons(me) explicit boss_anubrekhanAI(Creature *c) : BossAI(c, BOSS_ANUB), summons(me)
{ {
pInstance = c->GetInstanceScript(); pInstance = c->GetInstanceScript();
sayGreet = false; sayGreet = false;

View File

@@ -123,7 +123,7 @@ public:
struct boss_four_horsemenAI : public BossAI struct boss_four_horsemenAI : public BossAI
{ {
boss_four_horsemenAI(Creature *c) : BossAI(c, BOSS_HORSEMAN) explicit boss_four_horsemenAI(Creature *c) : BossAI(c, BOSS_HORSEMAN)
{ {
pInstance = me->GetInstanceScript(); pInstance = me->GetInstanceScript();
switch (me->GetEntry()) switch (me->GetEntry())
@@ -145,8 +145,8 @@ public:
EventMap events; EventMap events;
InstanceScript* pInstance; InstanceScript* pInstance;
uint8 currentWaypoint; uint8 currentWaypoint{};
uint8 movementPhase; uint8 movementPhase{};
uint8 horsemanId; uint8 horsemanId;
void MoveToCorner() void MoveToCorner()

View File

@@ -63,7 +63,7 @@ public:
struct boss_gluthAI : public BossAI struct boss_gluthAI : public BossAI
{ {
boss_gluthAI(Creature *c) : BossAI(c, BOSS_GLUTH), summons(me) explicit boss_gluthAI(Creature *c) : BossAI(c, BOSS_GLUTH), summons(me)
{ {
pInstance = me->GetInstanceScript(); pInstance = me->GetInstanceScript();
} }
@@ -71,7 +71,6 @@ public:
EventMap events; EventMap events;
SummonList summons; SummonList summons;
InstanceScript* pInstance; InstanceScript* pInstance;
uint64 gazeTarget;
void Reset() override void Reset() override
{ {
@@ -79,7 +78,6 @@ public:
me->ApplySpellImmune(SPELL_INFECTED_WOUND, IMMUNITY_ID, SPELL_INFECTED_WOUND, true); me->ApplySpellImmune(SPELL_INFECTED_WOUND, IMMUNITY_ID, SPELL_INFECTED_WOUND, true);
events.Reset(); events.Reset();
summons.DespawnAll(); summons.DespawnAll();
gazeTarget = 0;
me->SetReactState(REACT_AGGRESSIVE); me->SetReactState(REACT_AGGRESSIVE);
} }
@@ -140,9 +138,9 @@ public:
return false; return false;
Map::PlayerList const& pList = me->GetMap()->GetPlayers(); Map::PlayerList const& pList = me->GetMap()->GetPlayers();
for(Map::PlayerList::const_iterator itr = pList.begin(); itr != pList.end(); ++itr) for (const auto & itr : pList)
{ {
Player* player = itr->GetSource(); Player* player = itr.GetSource();
if (!player || !player->IsAlive()) if (!player || !player->IsAlive())
continue; continue;
if (player->GetPositionZ() > 300.0f || me->GetExactDist(player) > 50.0f) if (player->GetPositionZ() > 300.0f || me->GetExactDist(player) > 50.0f)

View File

@@ -169,7 +169,7 @@ const Position PosPlatform = {2640.5f, -3360.6f, 285.26f, 0.0f};
struct NotOnSameSide : public std::unary_function<Unit *, bool> struct NotOnSameSide : public std::unary_function<Unit *, bool>
{ {
bool m_inLiveSide; bool m_inLiveSide;
NotOnSameSide(Unit *pSource) : m_inLiveSide(IN_LIVE_SIDE(pSource)) {} explicit NotOnSameSide(Unit *pSource) : m_inLiveSide(IN_LIVE_SIDE(pSource)) {}
bool operator() (const Unit *pTarget) bool operator() (const Unit *pTarget)
{ {
@@ -189,7 +189,7 @@ public:
struct boss_gothikAI : public BossAI struct boss_gothikAI : public BossAI
{ {
boss_gothikAI(Creature *c) : BossAI(c, BOSS_GOTHIK), summons(me) explicit boss_gothikAI(Creature *c) : BossAI(c, BOSS_GOTHIK), summons(me)
{ {
pInstance = me->GetInstanceScript(); pInstance = me->GetInstanceScript();
} }
@@ -197,9 +197,9 @@ public:
EventMap events; EventMap events;
SummonList summons; SummonList summons;
InstanceScript* pInstance; InstanceScript* pInstance;
bool secondPhase; bool secondPhase{};
bool gateOpened; bool gateOpened{};
uint8 waveCount; uint8 waveCount{};
bool IsInRoom() bool IsInRoom()
{ {
@@ -324,9 +324,9 @@ public:
{ {
bool checklife = false; bool checklife = false;
bool checkdead = false; bool checkdead = false;
for (Map::PlayerList::const_iterator i = PlayerList.begin(); i != PlayerList.end(); ++i) for (const auto & i : PlayerList)
{ {
Player* player = i->GetSource(); Player* player = i.GetSource();
if (player->IsAlive() && if (player->IsAlive() &&
player->GetPositionX() <= POS_X_NORTH && player->GetPositionX() <= POS_X_NORTH &&
player->GetPositionX() >= POS_X_SOUTH && player->GetPositionX() >= POS_X_SOUTH &&
@@ -492,7 +492,7 @@ public:
struct npc_boss_gothik_minionAI : public CombatAI struct npc_boss_gothik_minionAI : public CombatAI
{ {
npc_boss_gothik_minionAI(Creature *c) : CombatAI(c) explicit npc_boss_gothik_minionAI(Creature *c) : CombatAI(c)
{ {
livingSide = IN_LIVE_SIDE(me); livingSide = IN_LIVE_SIDE(me);
gateOpened = false; gateOpened = false;

View File

@@ -53,7 +53,7 @@ public:
struct boss_grobbulusAI : public BossAI struct boss_grobbulusAI : public BossAI
{ {
boss_grobbulusAI(Creature *c) : BossAI(c, BOSS_GROBBULUS), summons(me) explicit boss_grobbulusAI(Creature *c) : BossAI(c, BOSS_GROBBULUS), summons(me)
{ {
pInstance = me->GetInstanceScript(); pInstance = me->GetInstanceScript();
} }
@@ -61,7 +61,7 @@ public:
EventMap events; EventMap events;
SummonList summons; SummonList summons;
InstanceScript* pInstance; InstanceScript* pInstance;
uint32 dropSludgeTimer; uint32 dropSludgeTimer{};
void Reset() override void Reset() override
{ {
@@ -180,12 +180,10 @@ public:
struct boss_grobbulus_poison_cloudAI : public NullCreatureAI struct boss_grobbulus_poison_cloudAI : public NullCreatureAI
{ {
boss_grobbulus_poison_cloudAI(Creature* pCreature) : NullCreatureAI(pCreature) explicit boss_grobbulus_poison_cloudAI(Creature* pCreature) : NullCreatureAI(pCreature) { }
{
}
uint32 sizeTimer; uint32 sizeTimer{};
uint32 auraVisualTimer; uint32 auraVisualTimer{};
void Reset() override void Reset() override
{ {
@@ -234,13 +232,13 @@ class spell_grobbulus_poison : public SpellScriptLoader
void FilterTargets(std::list<WorldObject*>& targets) void FilterTargets(std::list<WorldObject*>& targets)
{ {
std::list<WorldObject*> tmplist; std::list<WorldObject*> tmplist;
for (std::list<WorldObject*>::iterator itr = targets.begin(); itr != targets.end(); ++itr) for (auto & target : targets)
if (GetCaster()->IsWithinDist3d((*itr), 0.0f)) if (GetCaster()->IsWithinDist3d(target, 0.0f))
tmplist.push_back(*itr); tmplist.push_back(target);
targets.clear(); targets.clear();
for( std::list<WorldObject*>::iterator itr = tmplist.begin(); itr != tmplist.end(); ++itr ) for (auto & itr : tmplist)
targets.push_back(*itr); targets.push_back(itr);
} }
void Register() override void Register() override

View File

@@ -53,16 +53,16 @@ public:
struct boss_heiganAI : public BossAI struct boss_heiganAI : public BossAI
{ {
boss_heiganAI(Creature *c) : BossAI(c, BOSS_HEIGAN) explicit boss_heiganAI(Creature *c) : BossAI(c, BOSS_HEIGAN)
{ {
pInstance = me->GetInstanceScript(); pInstance = me->GetInstanceScript();
} }
InstanceScript* pInstance; InstanceScript* pInstance;
EventMap events; EventMap events;
uint8 currentPhase; uint8 currentPhase{};
uint8 currentSection; uint8 currentSection{};
bool moveRight; bool moveRight{};
void Reset() override void Reset() override
{ {
@@ -204,9 +204,9 @@ public:
case EVENT_SAFETY_DANCE: case EVENT_SAFETY_DANCE:
{ {
Map::PlayerList const& pList = me->GetMap()->GetPlayers(); Map::PlayerList const& pList = me->GetMap()->GetPlayers();
for(Map::PlayerList::const_iterator itr = pList.begin(); itr != pList.end(); ++itr) for(const auto & itr : pList)
{ {
if (IsInRoom(itr->GetSource()) && !itr->GetSource()->IsAlive()) if (IsInRoom(itr.GetSource()) && !itr.GetSource()->IsAlive())
{ {
events.PopEvent(); events.PopEvent();
pInstance->SetData(DATA_DANCE_FAIL, 0); pInstance->SetData(DATA_DANCE_FAIL, 0);

View File

@@ -120,7 +120,7 @@ public:
struct boss_kelthuzadAI : public BossAI struct boss_kelthuzadAI : public BossAI
{ {
boss_kelthuzadAI(Creature* c) : BossAI(c, BOSS_KELTHUZAD), summons(me) explicit boss_kelthuzadAI(Creature* c) : BossAI(c, BOSS_KELTHUZAD), summons(me)
{ {
pInstance = me->GetInstanceScript(); pInstance = me->GetInstanceScript();
_justSpawned=true; _justSpawned=true;
@@ -366,17 +366,17 @@ public:
{ {
std::vector<Unit*> unitList; std::vector<Unit*> unitList;
ThreatContainer::StorageType const& threatList = me->getThreatManager().getThreatList(); ThreatContainer::StorageType const& threatList = me->getThreatManager().getThreatList();
for (ThreatContainer::StorageType::const_iterator itr = threatList.begin(); itr != threatList.end(); ++itr) for (auto itr : threatList)
{ {
if ((*itr)->getTarget()->GetTypeId() == TYPEID_PLAYER if (itr->getTarget()->GetTypeId() == TYPEID_PLAYER
&& (*itr)->getTarget()->getPowerType() == POWER_MANA && itr->getTarget()->getPowerType() == POWER_MANA
&& (*itr)->getTarget()->GetPower(POWER_MANA)) && itr->getTarget()->GetPower(POWER_MANA))
unitList.push_back((*itr)->getTarget()); unitList.push_back(itr->getTarget());
} }
if (!unitList.empty()) if (!unitList.empty())
{ {
std::vector<Unit*>::iterator itr = unitList.begin(); auto itr = unitList.begin();
advance(itr, urand(0, unitList.size()-1)); advance(itr, urand(0, unitList.size()-1));
me->CastSpell(*itr, SPELL_DETONATE_MANA, false); me->CastSpell(*itr, SPELL_DETONATE_MANA, false);
Talk(SAY_SPECIAL); Talk(SAY_SPECIAL);
@@ -434,12 +434,10 @@ public:
struct boss_kelthuzad_minionAI : public ScriptedAI struct boss_kelthuzad_minionAI : public ScriptedAI
{ {
boss_kelthuzad_minionAI(Creature* c) : ScriptedAI(c) explicit boss_kelthuzad_minionAI(Creature* c) : ScriptedAI(c) { }
{
}
EventMap events; EventMap events;
bool callHelp; bool callHelp{};
void Reset() override void Reset() override
{ {
@@ -565,13 +563,13 @@ class spell_kelthuzad_frost_blast : public SpellScriptLoader
return; return;
std::list<WorldObject*> tmplist; std::list<WorldObject*> tmplist;
for (std::list<WorldObject*>::iterator itr = targets.begin(); itr != targets.end(); ++itr) for (auto & target : targets)
if (!(*itr)->ToUnit()->HasAura(SPELL_FROST_BLAST)) if (!target->ToUnit()->HasAura(SPELL_FROST_BLAST))
tmplist.push_back(*itr); tmplist.push_back(target);
targets.clear(); targets.clear();
for (std::list<WorldObject*>::iterator itr = tmplist.begin(); itr != tmplist.end(); ++itr) for (auto & itr : tmplist)
targets.push_back(*itr); targets.push_back(itr);
} }
void Register() override void Register() override
@@ -597,9 +595,7 @@ class spell_kelthuzad_detonate_mana : public SpellScriptLoader
bool Validate(SpellInfo const* /*spell*/) override bool Validate(SpellInfo const* /*spell*/) override
{ {
if (!sSpellMgr->GetSpellInfo(SPELL_MANA_DETONATION_DAMAGE)) return sSpellMgr->GetSpellInfo(SPELL_MANA_DETONATION_DAMAGE) != nullptr;
return false;
return true;
} }
void HandleScript(AuraEffect const* aurEff) void HandleScript(AuraEffect const* aurEff)
@@ -607,7 +603,7 @@ class spell_kelthuzad_detonate_mana : public SpellScriptLoader
PreventDefaultAction(); PreventDefaultAction();
Unit* target = GetTarget(); Unit* target = GetTarget();
if (int32 mana = int32(target->GetMaxPower(POWER_MANA) / 10)) if (auto mana = int32(target->GetMaxPower(POWER_MANA) / 10))
{ {
mana = target->ModifyPower(POWER_MANA, -mana); mana = target->ModifyPower(POWER_MANA, -mana);
target->CastCustomSpell(SPELL_MANA_DETONATION_DAMAGE, SPELLVALUE_BASE_POINT0, -mana * 10, target, true, nullptr, aurEff); target->CastCustomSpell(SPELL_MANA_DETONATION_DAMAGE, SPELLVALUE_BASE_POINT0, -mana * 10, target, true, nullptr, aurEff);

View File

@@ -45,7 +45,7 @@ public:
struct boss_loathebAI : public BossAI struct boss_loathebAI : public BossAI
{ {
boss_loathebAI(Creature *c) : BossAI(c, BOSS_LOATHEB), summons(me) explicit boss_loathebAI(Creature *c) : BossAI(c, BOSS_LOATHEB), summons(me)
{ {
pInstance = me->GetInstanceScript(); pInstance = me->GetInstanceScript();
me->SetHomePosition(me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), me->GetOrientation()); me->SetHomePosition(me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), me->GetOrientation());

View File

@@ -62,7 +62,7 @@ public:
struct boss_maexxnaAI : public BossAI struct boss_maexxnaAI : public BossAI
{ {
boss_maexxnaAI(Creature *c) : BossAI(c, BOSS_MAEXXNA), summons(me) explicit boss_maexxnaAI(Creature *c) : BossAI(c, BOSS_MAEXXNA), summons(me)
{ {
pInstance = me->GetInstanceScript(); pInstance = me->GetInstanceScript();
} }
@@ -211,7 +211,7 @@ public:
struct boss_maexxna_webwrapAI : public NullCreatureAI struct boss_maexxna_webwrapAI : public NullCreatureAI
{ {
boss_maexxna_webwrapAI(Creature *c) : NullCreatureAI(c), victimGUID(0) {} explicit boss_maexxna_webwrapAI(Creature *c) : NullCreatureAI(c), victimGUID(0) {}
uint64 victimGUID; uint64 victimGUID;
void SetGUID(uint64 guid, int32 /*param*/) override void SetGUID(uint64 guid, int32 /*param*/) override

View File

@@ -73,7 +73,7 @@ public:
struct boss_nothAI : public BossAI struct boss_nothAI : public BossAI
{ {
boss_nothAI(Creature *c) : BossAI(c, BOSS_NOTH), summons(me) explicit boss_nothAI(Creature *c) : BossAI(c, BOSS_NOTH), summons(me)
{ {
pInstance = me->GetInstanceScript(); pInstance = me->GetInstanceScript();
} }

View File

@@ -49,7 +49,7 @@ public:
struct boss_patchwerkAI : public BossAI struct boss_patchwerkAI : public BossAI
{ {
boss_patchwerkAI(Creature *c) : BossAI(c, BOSS_PATCHWERK) explicit boss_patchwerkAI(Creature *c) : BossAI(c, BOSS_PATCHWERK)
{ {
pInstance = me->GetInstanceScript(); pInstance = me->GetInstanceScript();
} }
@@ -116,7 +116,7 @@ public:
Unit* finalTarget = nullptr; Unit* finalTarget = nullptr;
uint8 counter = 0; uint8 counter = 0;
ThreatContainer::StorageType::const_iterator i = me->getThreatManager().getThreatList().begin(); auto i = me->getThreatManager().getThreatList().begin();
for (; i != me->getThreatManager().getThreatList().end(); ++i, ++counter) for (; i != me->getThreatManager().getThreatList().end(); ++i, ++counter)
{ {
// Gather all units with melee range // Gather all units with melee range
@@ -130,15 +130,16 @@ public:
} }
counter = 0; counter = 0;
for (std::list<Unit*>::const_iterator i = meleeRangeTargets.begin(); i != meleeRangeTargets.end(); ++i, ++counter) list<Unit *, std::allocator<Unit *>>::iterator itr;
for (itr = meleeRangeTargets.begin(); itr != meleeRangeTargets.end(); ++itr, ++counter)
{ {
// if there is only one target available // if there is only one target available
if (meleeRangeTargets.size() == 1) if (meleeRangeTargets.size() == 1)
finalTarget = (*i); finalTarget = (*itr);
else if (counter > 0) // skip first target else if (counter > 0) // skip first target
{ {
if (!finalTarget || (*i)->GetHealth() > finalTarget->GetHealth()) if (!finalTarget || (*itr)->GetHealth() > finalTarget->GetHealth())
finalTarget = (*i); finalTarget = (*itr);
// third loop // third loop
if (counter >= 2) if (counter >= 2)

View File

@@ -57,7 +57,7 @@ public:
struct boss_razuviousAI : public BossAI struct boss_razuviousAI : public BossAI
{ {
boss_razuviousAI(Creature *c) : BossAI(c, BOSS_RAZUVIOUS), summons(me) explicit boss_razuviousAI(Creature *c) : BossAI(c, BOSS_RAZUVIOUS), summons(me)
{ {
pInstance = me->GetInstanceScript(); pInstance = me->GetInstanceScript();
} }
@@ -175,9 +175,7 @@ public:
struct boss_razuvious_minionAI : public ScriptedAI struct boss_razuvious_minionAI : public ScriptedAI
{ {
boss_razuvious_minionAI(Creature *c) : ScriptedAI(c) explicit boss_razuvious_minionAI(Creature *c) : ScriptedAI(c) { }
{
}
EventMap events; EventMap events;

View File

@@ -79,17 +79,17 @@ public:
struct boss_sapphironAI : public BossAI struct boss_sapphironAI : public BossAI
{ {
boss_sapphironAI(Creature* c) : BossAI(c, BOSS_SAPPHIRON) explicit boss_sapphironAI(Creature* c) : BossAI(c, BOSS_SAPPHIRON)
{ {
pInstance = me->GetInstanceScript(); pInstance = me->GetInstanceScript();
} }
EventMap events; EventMap events;
InstanceScript* pInstance; InstanceScript* pInstance;
uint8 iceboltCount; uint8 iceboltCount{};
uint32 spawnTimer; uint32 spawnTimer{};
std::list<uint64> blockList; std::list<uint64> blockList;
uint64 currentTarget; uint64 currentTarget{};
void InitializeAI() override void InitializeAI() override
{ {
@@ -129,9 +129,9 @@ public:
Map::PlayerList const &PlList = me->GetMap()->GetPlayers(); Map::PlayerList const &PlList = me->GetMap()->GetPlayers();
if (PlList.isEmpty()) if (PlList.isEmpty())
return; return;
for (Map::PlayerList::const_iterator i = PlList.begin(); i != PlList.end(); ++i) for (const auto & i : PlList)
{ {
if (Player* player = i->GetSource()) if (Player* player = i.GetSource())
{ {
if (player->IsGameMaster()) if (player->IsGameMaster())
continue; continue;
@@ -299,7 +299,7 @@ public:
me->SummonGameObject(GO_ICE_BLOCK, target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), target->GetOrientation(), 0.0f, 0.0f, 0.0f, 0.0f, 0); me->SummonGameObject(GO_ICE_BLOCK, target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), target->GetOrientation(), 0.0f, 0.0f, 0.0f, 0.0f, 0);
std::vector<Unit*> targets; std::vector<Unit*> targets;
ThreatContainer::StorageType::const_iterator i = me->getThreatManager().getThreatList().begin(); auto i = me->getThreatManager().getThreatList().begin();
for (; i != me->getThreatManager().getThreatList().end(); ++i) for (; i != me->getThreatManager().getThreatList().end(); ++i)
if ((*i)->getTarget()->GetTypeId() == TYPEID_PLAYER) if ((*i)->getTarget()->GetTypeId() == TYPEID_PLAYER)
{ {
@@ -318,7 +318,7 @@ public:
if (!targets.empty() && iceboltCount) if (!targets.empty() && iceboltCount)
{ {
std::vector<Unit*>::iterator itr = targets.begin(); auto itr = targets.begin();
advance(itr, urand(0, targets.size()-1)); advance(itr, urand(0, targets.size()-1));
me->CastSpell(*itr, SPELL_ICEBOLT_CAST, false); me->CastSpell(*itr, SPELL_ICEBOLT_CAST, false);
blockList.push_back((*itr)->GetGUID()); blockList.push_back((*itr)->GetGUID());
@@ -369,9 +369,9 @@ public:
case EVENT_HUNDRED_CLUB: case EVENT_HUNDRED_CLUB:
{ {
Map::PlayerList const& pList = me->GetMap()->GetPlayers(); Map::PlayerList const& pList = me->GetMap()->GetPlayers();
for(Map::PlayerList::const_iterator itr = pList.begin(); itr != pList.end(); ++itr) for (const auto & itr : pList)
{ {
if (itr->GetSource()->GetResistance(SPELL_SCHOOL_FROST) > 100 && pInstance) if (itr.GetSource()->GetResistance(SPELL_SCHOOL_FROST) > 100 && pInstance)
{ {
events.PopEvent(); events.PopEvent();
pInstance->SetData(DATA_HUNDRED_CLUB, 0); pInstance->SetData(DATA_HUNDRED_CLUB, 0);
@@ -405,15 +405,15 @@ class spell_sapphiron_frost_explosion : public SpellScriptLoader
return; return;
std::list<WorldObject*> tmplist; std::list<WorldObject*> tmplist;
for (std::list<WorldObject*>::iterator itr = targets.begin(); itr != targets.end(); ++itr) for (auto & target : targets)
{ {
if (CAST_AI(boss_sapphiron::boss_sapphironAI, caster->ToCreature()->AI())->IsValidExplosionTarget(*itr)) if (CAST_AI(boss_sapphiron::boss_sapphironAI, caster->ToCreature()->AI())->IsValidExplosionTarget(target))
tmplist.push_back(*itr); tmplist.push_back(target);
} }
targets.clear(); targets.clear();
for (std::list<WorldObject*>::iterator itr = tmplist.begin(); itr != tmplist.end(); ++itr) for (auto & itr : tmplist)
targets.push_back(*itr); targets.push_back(itr);
} }
void Register() override void Register() override

View File

@@ -105,7 +105,7 @@ public:
struct boss_thaddiusAI : public BossAI struct boss_thaddiusAI : public BossAI
{ {
boss_thaddiusAI(Creature *c) : BossAI(c, BOSS_THADDIUS), summons(me), ballLightningEnabled(false) explicit boss_thaddiusAI(Creature *c) : BossAI(c, BOSS_THADDIUS), summons(me), ballLightningEnabled(false)
{ {
pInstance = me->GetInstanceScript(); pInstance = me->GetInstanceScript();
} }
@@ -113,9 +113,9 @@ public:
InstanceScript* pInstance; InstanceScript* pInstance;
EventMap events; EventMap events;
SummonList summons; SummonList summons;
uint32 summonTimer; uint32 summonTimer{};
uint32 reviveTimer; uint32 reviveTimer{};
uint32 resetTimer; uint32 resetTimer{};
bool ballLightningEnabled; bool ballLightningEnabled;
void StartEvent() void StartEvent()
@@ -315,7 +315,7 @@ public:
struct boss_thaddius_summonAI : public ScriptedAI struct boss_thaddius_summonAI : public ScriptedAI
{ {
boss_thaddius_summonAI(Creature *c) : ScriptedAI(c) explicit boss_thaddius_summonAI(Creature *c) : ScriptedAI(c)
{ {
pInstance = me->GetInstanceScript(); pInstance = me->GetInstanceScript();
overload = false; overload = false;
@@ -324,8 +324,8 @@ public:
InstanceScript* pInstance; InstanceScript* pInstance;
EventMap events; EventMap events;
uint32 pullTimer; uint32 pullTimer{};
uint32 visualTimer; uint32 visualTimer{};
bool overload; bool overload;
uint64 myCoil; uint64 myCoil;
@@ -334,7 +334,7 @@ public:
pullTimer = 0; pullTimer = 0;
visualTimer = 1; visualTimer = 1;
overload = false; overload = false;
events.Reset(); events.Reset();
me->SetControlled(false, UNIT_STATE_STUNNED); me->SetControlled(false, UNIT_STATE_STUNNED);
if (Creature* cr = me->FindNearestCreature(NPC_TESLA_COIL, 150.0f)) if (Creature* cr = me->FindNearestCreature(NPC_TESLA_COIL, 150.0f))
@@ -538,9 +538,9 @@ class spell_thaddius_pos_neg_charge : public SpellScriptLoader
void HandleTargets(std::list<WorldObject*>& targets) void HandleTargets(std::list<WorldObject*>& targets)
{ {
uint8 count = 0; uint8 count = 0;
for (std::list<WorldObject*>::iterator ihit = targets.begin(); ihit != targets.end(); ++ihit) for (auto & ihit : targets)
if ((*ihit)->GetGUID() != GetCaster()->GetGUID()) if (ihit->GetGUID() != GetCaster()->GetGUID())
if (Player* target = (*ihit)->ToPlayer()) if (Player* target = ihit->ToPlayer())
if (target->HasAura(GetTriggeringSpell()->Id)) if (target->HasAura(GetTriggeringSpell()->Id))
++count; ++count;

View File

@@ -13,9 +13,9 @@
const float HeiganPos[2] = {2796, -3707}; const float HeiganPos[2] = {2796, -3707};
const float HeiganEruptionSlope[3] = const float HeiganEruptionSlope[3] =
{ {
(-3685 - HeiganPos[1]) /(2724 - HeiganPos[0]), (-3685 - HeiganPos[1]) / (2724 - HeiganPos[0]),
(-3647 - HeiganPos[1]) /(2749 - HeiganPos[0]), (-3647 - HeiganPos[1]) / (2749 - HeiganPos[0]),
(-3637 - HeiganPos[1]) /(2771 - HeiganPos[0]), (-3637 - HeiganPos[1]) / (2771 - HeiganPos[0]),
}; };
inline uint8 GetEruptionSection(float x, float y) inline uint8 GetEruptionSection(float x, float y)
@@ -47,11 +47,11 @@ public:
struct instance_naxxramas_InstanceMapScript : public InstanceScript struct instance_naxxramas_InstanceMapScript : public InstanceScript
{ {
instance_naxxramas_InstanceMapScript(Map* pMap) : InstanceScript(pMap) explicit instance_naxxramas_InstanceMapScript(Map* pMap) : InstanceScript(pMap)
{ {
SetBossNumber(MAX_ENCOUNTERS); SetBossNumber(MAX_ENCOUNTERS);
for (uint8 i = 0; i < 4; ++i) for (auto & i : HeiganEruption)
HeiganEruption[i].clear(); i.clear();
// GOs // GOs
_patchwerkGateGUID = 0; _patchwerkGateGUID = 0;
@@ -121,9 +121,9 @@ public:
uint64 _faerlinaGateGUID; uint64 _faerlinaGateGUID;
uint64 _maexxnaGateGUID; uint64 _maexxnaGateGUID;
uint64 _thaddiusGateGUID; uint64 _thaddiusGateGUID;
uint64 _gothikEnterGateGUID; uint64 _gothikEnterGateGUID{};
uint64 _gothikInnerGateGUID; uint64 _gothikInnerGateGUID{};
uint64 _gothikExitGateGUID; uint64 _gothikExitGateGUID{};
uint64 _horsemanGateGUID; uint64 _horsemanGateGUID;
uint64 _kelthuzadfloorGUID; uint64 _kelthuzadfloorGUID;
uint64 _kelthuzadgateGUID; uint64 _kelthuzadgateGUID;
@@ -172,10 +172,10 @@ public:
if (i == section) if (i == section)
continue; continue;
for (std::set<GameObject*>::iterator itr = HeiganEruption[i].begin(); itr != HeiganEruption[i].end(); ++itr) for (auto itr : HeiganEruption[i])
{ {
(*itr)->SendCustomAnim((*itr)->GetGoAnimProgress()); itr->SendCustomAnim(itr->GetGoAnimProgress());
(*itr)->CastSpell(nullptr, SPELL_ERUPTION); itr->CastSpell(nullptr, SPELL_ERUPTION);
} }
} }
} }
@@ -383,7 +383,7 @@ public:
bool CheckAchievementCriteriaMeet(uint32 criteria_id, Player const* /*source*/, Unit const* /*target*/, uint32 /*miscvalue1*/) override bool CheckAchievementCriteriaMeet(uint32 criteria_id, Player const* /*source*/, Unit const* /*target*/, uint32 /*miscvalue1*/) override
{ {
switch(criteria_id) switch (criteria_id)
{ {
case 7600: // And They Would All Go Down Together (10 player) case 7600: // And They Would All Go Down Together (10 player)
case 7601: // And They Would All Go Down Together (25 player) case 7601: // And They Would All Go Down Together (25 player)
@@ -430,8 +430,10 @@ public:
return !count && immortalAchievement; return !count && immortalAchievement;
} }
default:
return false;
} }
return false;
} }
void SetData(uint32 id, uint32 data) override void SetData(uint32 id, uint32 data) override
@@ -465,19 +467,19 @@ public:
return; return;
case DATA_HAD_THADDIUS_GREET: case DATA_HAD_THADDIUS_GREET:
_hadThaddiusGreet = (data == 1); _hadThaddiusGreet = (data == 1);
default:
return;
} }
} }
uint32 GetData(uint32 id) const override uint32 GetData(uint32 id) const override
{ {
switch (id) if (id == DATA_HAD_THADDIUS_GREET && _hadThaddiusGreet)
{ return 1;
case DATA_HAD_THADDIUS_GREET:
return _hadThaddiusGreet ? 1 : 0;
}
return 0; return 0;
} }
bool SetBossState(uint32 bossId, EncounterState state) override bool SetBossState(uint32 bossId, EncounterState state) override
{ {
// pull all the trash if not killed // pull all the trash if not killed
@@ -594,6 +596,8 @@ public:
else if (state == NOT_STARTED) else if (state == NOT_STARTED)
sapphironAchievement = true; sapphironAchievement = true;
break; break;
default:
break;
} }
// Save instance and open gates // Save instance and open gates
@@ -673,6 +677,8 @@ public:
go->SetPhaseMask(1, true); go->SetPhaseMask(1, true);
events.ScheduleEvent(EVENT_KELTHUZAD_WING_TAUNT, 6000); events.ScheduleEvent(EVENT_KELTHUZAD_WING_TAUNT, 6000);
break; break;
default:
break;
} }
} }
@@ -785,8 +791,10 @@ public:
return _feugenGUID; return _feugenGUID;
case DATA_LICH_KING_BOSS: case DATA_LICH_KING_BOSS:
return _lichkingGUID; return _lichkingGUID;
default:
return 0;
} }
return 0;
} }
std::string GetSaveData() override std::string GetSaveData() override
@@ -847,7 +855,7 @@ public:
struct boss_naxxramas_miscAI : public NullCreatureAI struct boss_naxxramas_miscAI : public NullCreatureAI
{ {
boss_naxxramas_miscAI(Creature* c) : NullCreatureAI(c) explicit boss_naxxramas_miscAI(Creature* c) : NullCreatureAI(c)
{ {
timer = 0; timer = 0;
} }