mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-14 17:49:10 +00:00
refactor(Naxxramas): code cleaning (#2015)
This commit is contained in:
committed by
Stoabrogga
parent
53b74a6c07
commit
69c7fefad6
@@ -52,7 +52,7 @@ public:
|
||||
|
||||
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();
|
||||
sayGreet = false;
|
||||
|
||||
@@ -123,7 +123,7 @@ public:
|
||||
|
||||
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();
|
||||
switch (me->GetEntry())
|
||||
@@ -145,8 +145,8 @@ public:
|
||||
|
||||
EventMap events;
|
||||
InstanceScript* pInstance;
|
||||
uint8 currentWaypoint;
|
||||
uint8 movementPhase;
|
||||
uint8 currentWaypoint{};
|
||||
uint8 movementPhase{};
|
||||
uint8 horsemanId;
|
||||
|
||||
void MoveToCorner()
|
||||
|
||||
@@ -63,7 +63,7 @@ public:
|
||||
|
||||
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();
|
||||
}
|
||||
@@ -71,7 +71,6 @@ public:
|
||||
EventMap events;
|
||||
SummonList summons;
|
||||
InstanceScript* pInstance;
|
||||
uint64 gazeTarget;
|
||||
|
||||
void Reset() override
|
||||
{
|
||||
@@ -79,7 +78,6 @@ public:
|
||||
me->ApplySpellImmune(SPELL_INFECTED_WOUND, IMMUNITY_ID, SPELL_INFECTED_WOUND, true);
|
||||
events.Reset();
|
||||
summons.DespawnAll();
|
||||
gazeTarget = 0;
|
||||
me->SetReactState(REACT_AGGRESSIVE);
|
||||
}
|
||||
|
||||
@@ -140,9 +138,9 @@ public:
|
||||
return false;
|
||||
|
||||
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())
|
||||
continue;
|
||||
if (player->GetPositionZ() > 300.0f || me->GetExactDist(player) > 50.0f)
|
||||
|
||||
@@ -169,7 +169,7 @@ const Position PosPlatform = {2640.5f, -3360.6f, 285.26f, 0.0f};
|
||||
struct NotOnSameSide : public std::unary_function<Unit *, bool>
|
||||
{
|
||||
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)
|
||||
{
|
||||
@@ -189,7 +189,7 @@ public:
|
||||
|
||||
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();
|
||||
}
|
||||
@@ -197,9 +197,9 @@ public:
|
||||
EventMap events;
|
||||
SummonList summons;
|
||||
InstanceScript* pInstance;
|
||||
bool secondPhase;
|
||||
bool gateOpened;
|
||||
uint8 waveCount;
|
||||
bool secondPhase{};
|
||||
bool gateOpened{};
|
||||
uint8 waveCount{};
|
||||
|
||||
bool IsInRoom()
|
||||
{
|
||||
@@ -324,9 +324,9 @@ public:
|
||||
{
|
||||
bool checklife = 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() &&
|
||||
player->GetPositionX() <= POS_X_NORTH &&
|
||||
player->GetPositionX() >= POS_X_SOUTH &&
|
||||
@@ -492,7 +492,7 @@ public:
|
||||
|
||||
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);
|
||||
gateOpened = false;
|
||||
|
||||
@@ -53,7 +53,7 @@ public:
|
||||
|
||||
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();
|
||||
}
|
||||
@@ -61,7 +61,7 @@ public:
|
||||
EventMap events;
|
||||
SummonList summons;
|
||||
InstanceScript* pInstance;
|
||||
uint32 dropSludgeTimer;
|
||||
uint32 dropSludgeTimer{};
|
||||
|
||||
void Reset() override
|
||||
{
|
||||
@@ -180,12 +180,10 @@ public:
|
||||
|
||||
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 auraVisualTimer;
|
||||
uint32 sizeTimer{};
|
||||
uint32 auraVisualTimer{};
|
||||
|
||||
void Reset() override
|
||||
{
|
||||
@@ -234,13 +232,13 @@ class spell_grobbulus_poison : public SpellScriptLoader
|
||||
void FilterTargets(std::list<WorldObject*>& targets)
|
||||
{
|
||||
std::list<WorldObject*> tmplist;
|
||||
for (std::list<WorldObject*>::iterator itr = targets.begin(); itr != targets.end(); ++itr)
|
||||
if (GetCaster()->IsWithinDist3d((*itr), 0.0f))
|
||||
tmplist.push_back(*itr);
|
||||
for (auto & target : targets)
|
||||
if (GetCaster()->IsWithinDist3d(target, 0.0f))
|
||||
tmplist.push_back(target);
|
||||
|
||||
targets.clear();
|
||||
for( std::list<WorldObject*>::iterator itr = tmplist.begin(); itr != tmplist.end(); ++itr )
|
||||
targets.push_back(*itr);
|
||||
for (auto & itr : tmplist)
|
||||
targets.push_back(itr);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
|
||||
@@ -53,16 +53,16 @@ public:
|
||||
|
||||
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();
|
||||
}
|
||||
|
||||
InstanceScript* pInstance;
|
||||
EventMap events;
|
||||
uint8 currentPhase;
|
||||
uint8 currentSection;
|
||||
bool moveRight;
|
||||
uint8 currentPhase{};
|
||||
uint8 currentSection{};
|
||||
bool moveRight{};
|
||||
|
||||
void Reset() override
|
||||
{
|
||||
@@ -204,9 +204,9 @@ public:
|
||||
case EVENT_SAFETY_DANCE:
|
||||
{
|
||||
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();
|
||||
pInstance->SetData(DATA_DANCE_FAIL, 0);
|
||||
|
||||
@@ -120,7 +120,7 @@ public:
|
||||
|
||||
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();
|
||||
_justSpawned=true;
|
||||
@@ -366,17 +366,17 @@ public:
|
||||
{
|
||||
std::vector<Unit*> unitList;
|
||||
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
|
||||
&& (*itr)->getTarget()->getPowerType() == POWER_MANA
|
||||
&& (*itr)->getTarget()->GetPower(POWER_MANA))
|
||||
unitList.push_back((*itr)->getTarget());
|
||||
if (itr->getTarget()->GetTypeId() == TYPEID_PLAYER
|
||||
&& itr->getTarget()->getPowerType() == POWER_MANA
|
||||
&& itr->getTarget()->GetPower(POWER_MANA))
|
||||
unitList.push_back(itr->getTarget());
|
||||
}
|
||||
|
||||
if (!unitList.empty())
|
||||
{
|
||||
std::vector<Unit*>::iterator itr = unitList.begin();
|
||||
auto itr = unitList.begin();
|
||||
advance(itr, urand(0, unitList.size()-1));
|
||||
me->CastSpell(*itr, SPELL_DETONATE_MANA, false);
|
||||
Talk(SAY_SPECIAL);
|
||||
@@ -434,12 +434,10 @@ public:
|
||||
|
||||
struct boss_kelthuzad_minionAI : public ScriptedAI
|
||||
{
|
||||
boss_kelthuzad_minionAI(Creature* c) : ScriptedAI(c)
|
||||
{
|
||||
}
|
||||
explicit boss_kelthuzad_minionAI(Creature* c) : ScriptedAI(c) { }
|
||||
|
||||
EventMap events;
|
||||
bool callHelp;
|
||||
bool callHelp{};
|
||||
|
||||
void Reset() override
|
||||
{
|
||||
@@ -565,13 +563,13 @@ class spell_kelthuzad_frost_blast : public SpellScriptLoader
|
||||
return;
|
||||
|
||||
std::list<WorldObject*> tmplist;
|
||||
for (std::list<WorldObject*>::iterator itr = targets.begin(); itr != targets.end(); ++itr)
|
||||
if (!(*itr)->ToUnit()->HasAura(SPELL_FROST_BLAST))
|
||||
tmplist.push_back(*itr);
|
||||
for (auto & target : targets)
|
||||
if (!target->ToUnit()->HasAura(SPELL_FROST_BLAST))
|
||||
tmplist.push_back(target);
|
||||
|
||||
targets.clear();
|
||||
for (std::list<WorldObject*>::iterator itr = tmplist.begin(); itr != tmplist.end(); ++itr)
|
||||
targets.push_back(*itr);
|
||||
for (auto & itr : tmplist)
|
||||
targets.push_back(itr);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
@@ -597,9 +595,7 @@ class spell_kelthuzad_detonate_mana : public SpellScriptLoader
|
||||
|
||||
bool Validate(SpellInfo const* /*spell*/) override
|
||||
{
|
||||
if (!sSpellMgr->GetSpellInfo(SPELL_MANA_DETONATION_DAMAGE))
|
||||
return false;
|
||||
return true;
|
||||
return sSpellMgr->GetSpellInfo(SPELL_MANA_DETONATION_DAMAGE) != nullptr;
|
||||
}
|
||||
|
||||
void HandleScript(AuraEffect const* aurEff)
|
||||
@@ -607,7 +603,7 @@ class spell_kelthuzad_detonate_mana : public SpellScriptLoader
|
||||
PreventDefaultAction();
|
||||
|
||||
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);
|
||||
target->CastCustomSpell(SPELL_MANA_DETONATION_DAMAGE, SPELLVALUE_BASE_POINT0, -mana * 10, target, true, nullptr, aurEff);
|
||||
|
||||
@@ -45,7 +45,7 @@ public:
|
||||
|
||||
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();
|
||||
me->SetHomePosition(me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), me->GetOrientation());
|
||||
|
||||
@@ -62,7 +62,7 @@ public:
|
||||
|
||||
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();
|
||||
}
|
||||
@@ -211,7 +211,7 @@ public:
|
||||
|
||||
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;
|
||||
void SetGUID(uint64 guid, int32 /*param*/) override
|
||||
|
||||
@@ -73,7 +73,7 @@ public:
|
||||
|
||||
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();
|
||||
}
|
||||
|
||||
@@ -49,7 +49,7 @@ public:
|
||||
|
||||
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();
|
||||
}
|
||||
@@ -116,7 +116,7 @@ public:
|
||||
Unit* finalTarget = nullptr;
|
||||
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)
|
||||
{
|
||||
// Gather all units with melee range
|
||||
@@ -130,15 +130,16 @@ public:
|
||||
}
|
||||
|
||||
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 (meleeRangeTargets.size() == 1)
|
||||
finalTarget = (*i);
|
||||
finalTarget = (*itr);
|
||||
else if (counter > 0) // skip first target
|
||||
{
|
||||
if (!finalTarget || (*i)->GetHealth() > finalTarget->GetHealth())
|
||||
finalTarget = (*i);
|
||||
if (!finalTarget || (*itr)->GetHealth() > finalTarget->GetHealth())
|
||||
finalTarget = (*itr);
|
||||
|
||||
// third loop
|
||||
if (counter >= 2)
|
||||
|
||||
@@ -57,7 +57,7 @@ public:
|
||||
|
||||
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();
|
||||
}
|
||||
@@ -175,9 +175,7 @@ public:
|
||||
|
||||
struct boss_razuvious_minionAI : public ScriptedAI
|
||||
{
|
||||
boss_razuvious_minionAI(Creature *c) : ScriptedAI(c)
|
||||
{
|
||||
}
|
||||
explicit boss_razuvious_minionAI(Creature *c) : ScriptedAI(c) { }
|
||||
|
||||
EventMap events;
|
||||
|
||||
|
||||
@@ -79,17 +79,17 @@ public:
|
||||
|
||||
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();
|
||||
}
|
||||
|
||||
EventMap events;
|
||||
InstanceScript* pInstance;
|
||||
uint8 iceboltCount;
|
||||
uint32 spawnTimer;
|
||||
uint8 iceboltCount{};
|
||||
uint32 spawnTimer{};
|
||||
std::list<uint64> blockList;
|
||||
uint64 currentTarget;
|
||||
uint64 currentTarget{};
|
||||
|
||||
void InitializeAI() override
|
||||
{
|
||||
@@ -129,9 +129,9 @@ public:
|
||||
Map::PlayerList const &PlList = me->GetMap()->GetPlayers();
|
||||
if (PlList.isEmpty())
|
||||
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())
|
||||
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);
|
||||
|
||||
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)
|
||||
if ((*i)->getTarget()->GetTypeId() == TYPEID_PLAYER)
|
||||
{
|
||||
@@ -318,7 +318,7 @@ public:
|
||||
|
||||
if (!targets.empty() && iceboltCount)
|
||||
{
|
||||
std::vector<Unit*>::iterator itr = targets.begin();
|
||||
auto itr = targets.begin();
|
||||
advance(itr, urand(0, targets.size()-1));
|
||||
me->CastSpell(*itr, SPELL_ICEBOLT_CAST, false);
|
||||
blockList.push_back((*itr)->GetGUID());
|
||||
@@ -369,9 +369,9 @@ public:
|
||||
case EVENT_HUNDRED_CLUB:
|
||||
{
|
||||
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();
|
||||
pInstance->SetData(DATA_HUNDRED_CLUB, 0);
|
||||
@@ -405,15 +405,15 @@ class spell_sapphiron_frost_explosion : public SpellScriptLoader
|
||||
return;
|
||||
|
||||
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))
|
||||
tmplist.push_back(*itr);
|
||||
if (CAST_AI(boss_sapphiron::boss_sapphironAI, caster->ToCreature()->AI())->IsValidExplosionTarget(target))
|
||||
tmplist.push_back(target);
|
||||
}
|
||||
|
||||
targets.clear();
|
||||
for (std::list<WorldObject*>::iterator itr = tmplist.begin(); itr != tmplist.end(); ++itr)
|
||||
targets.push_back(*itr);
|
||||
for (auto & itr : tmplist)
|
||||
targets.push_back(itr);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
|
||||
@@ -105,7 +105,7 @@ public:
|
||||
|
||||
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();
|
||||
}
|
||||
@@ -113,9 +113,9 @@ public:
|
||||
InstanceScript* pInstance;
|
||||
EventMap events;
|
||||
SummonList summons;
|
||||
uint32 summonTimer;
|
||||
uint32 reviveTimer;
|
||||
uint32 resetTimer;
|
||||
uint32 summonTimer{};
|
||||
uint32 reviveTimer{};
|
||||
uint32 resetTimer{};
|
||||
bool ballLightningEnabled;
|
||||
|
||||
void StartEvent()
|
||||
@@ -315,7 +315,7 @@ public:
|
||||
|
||||
struct boss_thaddius_summonAI : public ScriptedAI
|
||||
{
|
||||
boss_thaddius_summonAI(Creature *c) : ScriptedAI(c)
|
||||
explicit boss_thaddius_summonAI(Creature *c) : ScriptedAI(c)
|
||||
{
|
||||
pInstance = me->GetInstanceScript();
|
||||
overload = false;
|
||||
@@ -324,8 +324,8 @@ public:
|
||||
|
||||
InstanceScript* pInstance;
|
||||
EventMap events;
|
||||
uint32 pullTimer;
|
||||
uint32 visualTimer;
|
||||
uint32 pullTimer{};
|
||||
uint32 visualTimer{};
|
||||
bool overload;
|
||||
uint64 myCoil;
|
||||
|
||||
@@ -334,7 +334,7 @@ public:
|
||||
pullTimer = 0;
|
||||
visualTimer = 1;
|
||||
overload = false;
|
||||
|
||||
|
||||
events.Reset();
|
||||
me->SetControlled(false, UNIT_STATE_STUNNED);
|
||||
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)
|
||||
{
|
||||
uint8 count = 0;
|
||||
for (std::list<WorldObject*>::iterator ihit = targets.begin(); ihit != targets.end(); ++ihit)
|
||||
if ((*ihit)->GetGUID() != GetCaster()->GetGUID())
|
||||
if (Player* target = (*ihit)->ToPlayer())
|
||||
for (auto & ihit : targets)
|
||||
if (ihit->GetGUID() != GetCaster()->GetGUID())
|
||||
if (Player* target = ihit->ToPlayer())
|
||||
if (target->HasAura(GetTriggeringSpell()->Id))
|
||||
++count;
|
||||
|
||||
|
||||
@@ -13,9 +13,9 @@
|
||||
const float HeiganPos[2] = {2796, -3707};
|
||||
const float HeiganEruptionSlope[3] =
|
||||
{
|
||||
(-3685 - HeiganPos[1]) /(2724 - HeiganPos[0]),
|
||||
(-3647 - HeiganPos[1]) /(2749 - HeiganPos[0]),
|
||||
(-3637 - HeiganPos[1]) /(2771 - HeiganPos[0]),
|
||||
(-3685 - HeiganPos[1]) / (2724 - HeiganPos[0]),
|
||||
(-3647 - HeiganPos[1]) / (2749 - HeiganPos[0]),
|
||||
(-3637 - HeiganPos[1]) / (2771 - HeiganPos[0]),
|
||||
};
|
||||
|
||||
inline uint8 GetEruptionSection(float x, float y)
|
||||
@@ -47,11 +47,11 @@ public:
|
||||
|
||||
struct instance_naxxramas_InstanceMapScript : public InstanceScript
|
||||
{
|
||||
instance_naxxramas_InstanceMapScript(Map* pMap) : InstanceScript(pMap)
|
||||
explicit instance_naxxramas_InstanceMapScript(Map* pMap) : InstanceScript(pMap)
|
||||
{
|
||||
SetBossNumber(MAX_ENCOUNTERS);
|
||||
for (uint8 i = 0; i < 4; ++i)
|
||||
HeiganEruption[i].clear();
|
||||
for (auto & i : HeiganEruption)
|
||||
i.clear();
|
||||
|
||||
// GOs
|
||||
_patchwerkGateGUID = 0;
|
||||
@@ -121,9 +121,9 @@ public:
|
||||
uint64 _faerlinaGateGUID;
|
||||
uint64 _maexxnaGateGUID;
|
||||
uint64 _thaddiusGateGUID;
|
||||
uint64 _gothikEnterGateGUID;
|
||||
uint64 _gothikInnerGateGUID;
|
||||
uint64 _gothikExitGateGUID;
|
||||
uint64 _gothikEnterGateGUID{};
|
||||
uint64 _gothikInnerGateGUID{};
|
||||
uint64 _gothikExitGateGUID{};
|
||||
uint64 _horsemanGateGUID;
|
||||
uint64 _kelthuzadfloorGUID;
|
||||
uint64 _kelthuzadgateGUID;
|
||||
@@ -172,10 +172,10 @@ public:
|
||||
if (i == section)
|
||||
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)->CastSpell(nullptr, SPELL_ERUPTION);
|
||||
itr->SendCustomAnim(itr->GetGoAnimProgress());
|
||||
itr->CastSpell(nullptr, SPELL_ERUPTION);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -383,7 +383,7 @@ public:
|
||||
|
||||
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 7601: // And They Would All Go Down Together (25 player)
|
||||
@@ -430,8 +430,10 @@ public:
|
||||
|
||||
return !count && immortalAchievement;
|
||||
}
|
||||
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
void SetData(uint32 id, uint32 data) override
|
||||
@@ -465,19 +467,19 @@ public:
|
||||
return;
|
||||
case DATA_HAD_THADDIUS_GREET:
|
||||
_hadThaddiusGreet = (data == 1);
|
||||
default:
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
uint32 GetData(uint32 id) const override
|
||||
{
|
||||
switch (id)
|
||||
{
|
||||
case DATA_HAD_THADDIUS_GREET:
|
||||
return _hadThaddiusGreet ? 1 : 0;
|
||||
}
|
||||
if (id == DATA_HAD_THADDIUS_GREET && _hadThaddiusGreet)
|
||||
return 1;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
bool SetBossState(uint32 bossId, EncounterState state) override
|
||||
{
|
||||
// pull all the trash if not killed
|
||||
@@ -594,6 +596,8 @@ public:
|
||||
else if (state == NOT_STARTED)
|
||||
sapphironAchievement = true;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
// Save instance and open gates
|
||||
@@ -673,6 +677,8 @@ public:
|
||||
go->SetPhaseMask(1, true);
|
||||
events.ScheduleEvent(EVENT_KELTHUZAD_WING_TAUNT, 6000);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -785,8 +791,10 @@ public:
|
||||
return _feugenGUID;
|
||||
case DATA_LICH_KING_BOSS:
|
||||
return _lichkingGUID;
|
||||
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
std::string GetSaveData() override
|
||||
@@ -847,7 +855,7 @@ public:
|
||||
|
||||
struct boss_naxxramas_miscAI : public NullCreatureAI
|
||||
{
|
||||
boss_naxxramas_miscAI(Creature* c) : NullCreatureAI(c)
|
||||
explicit boss_naxxramas_miscAI(Creature* c) : NullCreatureAI(c)
|
||||
{
|
||||
timer = 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user