Naxx scripts header

This commit is contained in:
Yunfan Li
2024-08-26 23:05:53 +08:00
parent a642358a43
commit fdb6fedc00
10 changed files with 129 additions and 128 deletions
@@ -8,45 +8,45 @@
namespace Anubrekhan { namespace Anubrekhan {
enum AnubrekhanSays enum Says
{ {
ANUBREKHAN_SAY_AGGRO = 0, SAY_AGGRO = 0,
ANUBREKHAN_SAY_GREET = 1, SAY_GREET = 1,
ANUBREKHAN_SAY_SLAY = 2, SAY_SLAY = 2,
ANUBREKHAN_EMOTE_LOCUST = 3 EMOTE_LOCUST = 3
}; };
enum AnubrekhanGuardSays enum GuardSays
{ {
ANUBREKHAN_EMOTE_SPAWN = 1, EMOTE_SPAWN = 1,
ANUBREKHAN_EMOTE_SCARAB = 2 EMOTE_SCARAB = 2
}; };
enum AnubrekhanSpells enum Spells
{ {
ANUBREKHAN_SPELL_IMPALE_10 = 28783, SPELL_IMPALE_10 = 28783,
ANUBREKHAN_SPELL_IMPALE_25 = 56090, SPELL_IMPALE_25 = 56090,
ANUBREKHAN_SPELL_LOCUST_SWARM_10 = 28785, SPELL_LOCUST_SWARM_10 = 28785,
ANUBREKHAN_SPELL_LOCUST_SWARM_25 = 54021, SPELL_LOCUST_SWARM_25 = 54021,
ANUBREKHAN_SPELL_SUMMON_CORPSE_SCRABS_5 = 29105, SPELL_SUMMON_CORPSE_SCRABS_5 = 29105,
ANUBREKHAN_SPELL_SUMMON_CORPSE_SCRABS_10 = 28864, SPELL_SUMMON_CORPSE_SCRABS_10 = 28864,
ANUBREKHAN_SPELL_BERSERK = 26662 SPELL_BERSERK = 26662
}; };
enum AnubrekhanEvents enum Events
{ {
ANUBREKHAN_EVENT_IMPALE = 1, EVENT_IMPALE = 1,
ANUBREKHAN_EVENT_LOCUST_SWARM = 2, EVENT_LOCUST_SWARM = 2,
ANUBREKHAN_EVENT_BERSERK = 3, EVENT_BERSERK = 3,
ANUBREKHAN_EVENT_SPAWN_GUARD = 4 EVENT_SPAWN_GUARD = 4
}; };
enum AnubrekhanMisc enum Misc
{ {
ANUBREKHAN_NPC_CORPSE_SCARAB = 16698, NPC_CORPSE_SCARAB = 16698,
ANUBREKHAN_NPC_CRYPT_GUARD = 16573, NPC_CRYPT_GUARD = 16573,
ANUBREKHAN_ACHIEV_TIMED_START_EVENT = 9891 ACHIEV_TIMED_START_EVENT = 9891
}; };
class boss_anubrekhan : public CreatureScript class boss_anubrekhan : public CreatureScript
@@ -76,8 +76,8 @@ public:
{ {
if (Is25ManRaid()) if (Is25ManRaid())
{ {
me->SummonCreature(ANUBREKHAN_NPC_CRYPT_GUARD, 3299.732f, -3502.489f, 287.077f, 2.378f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 60000); me->SummonCreature(NPC_CRYPT_GUARD, 3299.732f, -3502.489f, 287.077f, 2.378f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 60000);
me->SummonCreature(ANUBREKHAN_NPC_CRYPT_GUARD, 3299.086f, -3450.929f, 287.077f, 3.999f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 60000); me->SummonCreature(NPC_CRYPT_GUARD, 3299.086f, -3450.929f, 287.077f, 3.999f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 60000);
} }
} }
@@ -101,9 +101,9 @@ public:
if (me->IsInCombat()) if (me->IsInCombat())
{ {
cr->SetInCombatWithZone(); cr->SetInCombatWithZone();
if (cr->GetEntry() == ANUBREKHAN_NPC_CRYPT_GUARD) if (cr->GetEntry() == NPC_CRYPT_GUARD)
{ {
cr->AI()->Talk(ANUBREKHAN_EMOTE_SPAWN, me); cr->AI()->Talk(EMOTE_SPAWN, me);
} }
} }
summons.Summon(cr); summons.Summon(cr);
@@ -111,10 +111,10 @@ public:
void SummonedCreatureDies(Creature* cr, Unit*) override void SummonedCreatureDies(Creature* cr, Unit*) override
{ {
if (cr->GetEntry() == ANUBREKHAN_NPC_CRYPT_GUARD) if (cr->GetEntry() == NPC_CRYPT_GUARD)
{ {
cr->CastSpell(cr, ANUBREKHAN_SPELL_SUMMON_CORPSE_SCRABS_10, true, nullptr, nullptr, me->GetGUID()); cr->CastSpell(cr, SPELL_SUMMON_CORPSE_SCRABS_10, true, nullptr, nullptr, me->GetGUID());
cr->AI()->Talk(ANUBREKHAN_EMOTE_SCARAB); cr->AI()->Talk(EMOTE_SCARAB);
} }
} }
@@ -129,7 +129,7 @@ public:
summons.DespawnAll(); summons.DespawnAll();
if (pInstance) if (pInstance)
{ {
pInstance->DoStartTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, ANUBREKHAN_ACHIEV_TIMED_START_EVENT); pInstance->DoStartTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, ACHIEV_TIMED_START_EVENT);
} }
} }
@@ -138,8 +138,8 @@ public:
if (victim->GetTypeId() != TYPEID_PLAYER) if (victim->GetTypeId() != TYPEID_PLAYER)
return; return;
Talk(ANUBREKHAN_SAY_SLAY); Talk(SAY_SLAY);
victim->CastSpell(victim, ANUBREKHAN_SPELL_SUMMON_CORPSE_SCRABS_5, true, nullptr, nullptr, me->GetGUID()); victim->CastSpell(victim, SPELL_SUMMON_CORPSE_SCRABS_5, true, nullptr, nullptr, me->GetGUID());
if (pInstance) if (pInstance)
{ {
pInstance->SetData(DATA_IMMORTAL_FAIL, 0); pInstance->SetData(DATA_IMMORTAL_FAIL, 0);
@@ -150,7 +150,7 @@ public:
{ {
BossAI::JustEngagedWith(who); BossAI::JustEngagedWith(who);
me->CallForHelp(30.0f); me->CallForHelp(30.0f);
Talk(ANUBREKHAN_SAY_AGGRO); Talk(SAY_AGGRO);
if (pInstance) if (pInstance)
{ {
if (GameObject* go = me->GetMap()->GetGameObject(pInstance->GetGuidData(DATA_ANUB_GATE))) if (GameObject* go = me->GetMap()->GetGameObject(pInstance->GetGuidData(DATA_ANUB_GATE)))
@@ -158,24 +158,24 @@ public:
go->SetGoState(GO_STATE_READY); go->SetGoState(GO_STATE_READY);
} }
} }
events.ScheduleEvent(ANUBREKHAN_EVENT_IMPALE, 15s); events.ScheduleEvent(EVENT_IMPALE, 15s);
events.ScheduleEvent(ANUBREKHAN_EVENT_LOCUST_SWARM, 70s, 120s); events.ScheduleEvent(EVENT_LOCUST_SWARM, 70s, 120s);
events.ScheduleEvent(ANUBREKHAN_EVENT_BERSERK, 10min); events.ScheduleEvent(EVENT_BERSERK, 10min);
if (!summons.HasEntry(ANUBREKHAN_NPC_CRYPT_GUARD)) if (!summons.HasEntry(NPC_CRYPT_GUARD))
{ {
SummonCryptGuards(); SummonCryptGuards();
} }
if (!Is25ManRaid()) if (!Is25ManRaid())
{ {
events.ScheduleEvent(ANUBREKHAN_EVENT_SPAWN_GUARD, 15s, 20s); events.ScheduleEvent(EVENT_SPAWN_GUARD, 15s, 20s);
} }
} }
void MoveInLineOfSight(Unit* who) override void MoveInLineOfSight(Unit* who) override
{ {
if (!sayGreet && who->GetTypeId() == TYPEID_PLAYER) if (!sayGreet && who->IsPlayer())
{ {
Talk(ANUBREKHAN_SAY_GREET); Talk(SAY_GREET);
sayGreet = true; sayGreet = true;
} }
ScriptedAI::MoveInLineOfSight(who); ScriptedAI::MoveInLineOfSight(who);
@@ -207,24 +207,24 @@ public:
switch (events.ExecuteEvent()) switch (events.ExecuteEvent())
{ {
case ANUBREKHAN_EVENT_IMPALE: case EVENT_IMPALE:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0)) if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
{ {
me->CastSpell(target, RAID_MODE(ANUBREKHAN_SPELL_IMPALE_10, ANUBREKHAN_SPELL_IMPALE_25), false); me->CastSpell(target, RAID_MODE(SPELL_IMPALE_10, SPELL_IMPALE_25), false);
} }
events.Repeat(20s); events.Repeat(20s);
break; break;
case ANUBREKHAN_EVENT_LOCUST_SWARM: case EVENT_LOCUST_SWARM:
Talk(ANUBREKHAN_EMOTE_LOCUST); Talk(EMOTE_LOCUST);
me->CastSpell(me, RAID_MODE(ANUBREKHAN_SPELL_LOCUST_SWARM_10, ANUBREKHAN_SPELL_LOCUST_SWARM_25), false); me->CastSpell(me, RAID_MODE(SPELL_LOCUST_SWARM_10, SPELL_LOCUST_SWARM_25), false);
events.ScheduleEvent(ANUBREKHAN_EVENT_SPAWN_GUARD, 3s); events.ScheduleEvent(EVENT_SPAWN_GUARD, 3s);
events.Repeat(90s); events.Repeat(90s);
break; break;
case ANUBREKHAN_EVENT_SPAWN_GUARD: case EVENT_SPAWN_GUARD:
me->SummonCreature(ANUBREKHAN_NPC_CRYPT_GUARD, 3331.217f, -3476.607f, 287.074f, 3.269f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 60000); me->SummonCreature(NPC_CRYPT_GUARD, 3331.217f, -3476.607f, 287.074f, 3.269f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 60000);
break; break;
case ANUBREKHAN_EVENT_BERSERK: case EVENT_BERSERK:
me->CastSpell(me, ANUBREKHAN_SPELL_BERSERK, true); me->CastSpell(me, SPELL_BERSERK, true);
break; break;
} }
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
@@ -8,40 +8,40 @@
namespace Faerlina { namespace Faerlina {
enum FaerlinaYells enum Yells
{ {
FAERLINA_SAY_GREET = 0, SAY_GREET = 0,
FAERLINA_SAY_AGGRO = 1, SAY_AGGRO = 1,
FAERLINA_SAY_SLAY = 2, SAY_SLAY = 2,
FAERLINA_SAY_DEATH = 3, SAY_DEATH = 3,
FAERLINA_EMOTE_WIDOWS_EMBRACE = 4, EMOTE_WIDOWS_EMBRACE = 4,
FAERLINA_EMOTE_FRENZY = 5, EMOTE_FRENZY = 5,
FAERLINA_SAY_FRENZY = 6 SAY_FRENZY = 6
}; };
enum Faerlinapells enum Spells
{ {
FAERLINA_SPELL_POISON_BOLT_VOLLEY_10 = 28796, SPELL_POISON_BOLT_VOLLEY_10 = 28796,
FAERLINA_SPELL_POISON_BOLT_VOLLEY_25 = 54098, SPELL_POISON_BOLT_VOLLEY_25 = 54098,
FAERLINA_SPELL_RAIN_OF_FIRE_10 = 28794, SPELL_RAIN_OF_FIRE_10 = 28794,
FAERLINA_SPELL_RAIN_OF_FIRE_25 = 54099, SPELL_RAIN_OF_FIRE_25 = 54099,
FAERLINA_SPELL_FRENZY_10 = 28798, SPELL_FRENZY_10 = 28798,
FAERLINA_SPELL_FRENZY_25 = 54100, SPELL_FRENZY_25 = 54100,
FAERLINA_SPELL_WIDOWS_EMBRACE = 28732, SPELL_WIDOWS_EMBRACE = 28732,
FAERLINA_SPELL_MINION_WIDOWS_EMBRACE = 54097 SPELL_MINION_WIDOWS_EMBRACE = 54097
}; };
enum FaerlinaEvents enum Events
{ {
FAERLINA_EVENT_POISON_BOLT = 1, EVENT_POISON_BOLT = 1,
FAERLINA_EVENT_RAIN_OF_FIRE = 2, EVENT_RAIN_OF_FIRE = 2,
FAERLINA_EVENT_FRENZY = 3 EVENT_FRENZY = 3
}; };
enum FaerlinaMisc enum Misc
{ {
FAERLINA_NPC_NAXXRAMAS_WORSHIPPER = 16506, NPC_NAXXRAMAS_WORSHIPPER = 16506,
FAERLINA_NPC_NAXXRAMAS_FOLLOWER = 16505 NPC_NAXXRAMAS_FOLLOWER = 16505
}; };
class boss_faerlina : public CreatureScript class boss_faerlina : public CreatureScript
@@ -69,14 +69,14 @@ public:
void SummonHelpers() void SummonHelpers()
{ {
me->SummonCreature(FAERLINA_NPC_NAXXRAMAS_WORSHIPPER, 3362.66f, -3620.97f, 261.08f, 4.57276f); me->SummonCreature(NPC_NAXXRAMAS_WORSHIPPER, 3362.66f, -3620.97f, 261.08f, 4.57276f);
me->SummonCreature(FAERLINA_NPC_NAXXRAMAS_WORSHIPPER, 3344.3f, -3618.31f, 261.08f, 4.69494f); me->SummonCreature(NPC_NAXXRAMAS_WORSHIPPER, 3344.3f, -3618.31f, 261.08f, 4.69494f);
me->SummonCreature(FAERLINA_NPC_NAXXRAMAS_WORSHIPPER, 3356.71f, -3620.05f, 261.08f, 4.57276f); me->SummonCreature(NPC_NAXXRAMAS_WORSHIPPER, 3356.71f, -3620.05f, 261.08f, 4.57276f);
me->SummonCreature(FAERLINA_NPC_NAXXRAMAS_WORSHIPPER, 3350.26f, -3619.11f, 261.08f, 4.67748f); me->SummonCreature(NPC_NAXXRAMAS_WORSHIPPER, 3350.26f, -3619.11f, 261.08f, 4.67748f);
if (Is25ManRaid()) if (Is25ManRaid())
{ {
me->SummonCreature(FAERLINA_NPC_NAXXRAMAS_FOLLOWER, 3347.49f, -3617.59f, 261.0f, 4.49f); me->SummonCreature(NPC_NAXXRAMAS_FOLLOWER, 3347.49f, -3617.59f, 261.0f, 4.49f);
me->SummonCreature(FAERLINA_NPC_NAXXRAMAS_FOLLOWER, 3359.64f, -3619.16f, 261.0f, 4.56f); me->SummonCreature(NPC_NAXXRAMAS_FOLLOWER, 3359.64f, -3619.16f, 261.0f, 4.56f);
} }
} }
@@ -105,10 +105,10 @@ public:
BossAI::JustEngagedWith(who); BossAI::JustEngagedWith(who);
me->CallForHelp(VISIBLE_RANGE); me->CallForHelp(VISIBLE_RANGE);
summons.DoZoneInCombat(); summons.DoZoneInCombat();
Talk(static_cast<uint8>(FAERLINA_SAY_AGGRO)); Talk(SAY_AGGRO);
events.ScheduleEvent(static_cast<uint8>(FAERLINA_EVENT_POISON_BOLT), 7s, 15s); events.ScheduleEvent(EVENT_POISON_BOLT, 7s, 15s);
events.ScheduleEvent(static_cast<uint8>(FAERLINA_EVENT_RAIN_OF_FIRE), 8s, 18s); events.ScheduleEvent(EVENT_RAIN_OF_FIRE, 8s, 18s);
events.ScheduleEvent(static_cast<uint8>(FAERLINA_EVENT_FRENZY), 60s, 80s, 1); events.ScheduleEvent(EVENT_FRENZY, 60s, 80s, 1);
events.SetPhase(1); events.SetPhase(1);
if (pInstance) if (pInstance)
{ {
@@ -121,9 +121,9 @@ public:
void MoveInLineOfSight(Unit* who) override void MoveInLineOfSight(Unit* who) override
{ {
if (!sayGreet && who->GetTypeId() == TYPEID_PLAYER) if (!sayGreet && who->IsPlayer())
{ {
Talk(FAERLINA_SAY_GREET); Talk(SAY_GREET);
sayGreet = true; sayGreet = true;
} }
ScriptedAI::MoveInLineOfSight(who); ScriptedAI::MoveInLineOfSight(who);
@@ -136,7 +136,7 @@ public:
if (!urand(0, 3)) if (!urand(0, 3))
{ {
Talk(FAERLINA_SAY_SLAY); Talk(SAY_SLAY);
} }
if (pInstance) if (pInstance)
{ {
@@ -147,7 +147,7 @@ public:
void JustDied(Unit* killer) override void JustDied(Unit* killer) override
{ {
BossAI::JustDied(killer); BossAI::JustDied(killer);
Talk(FAERLINA_SAY_DEATH); Talk(SAY_DEATH);
if (pInstance) if (pInstance)
{ {
if (GameObject* go = me->GetMap()->GetGameObject(pInstance->GetGuidData(DATA_FAERLINA_WEB))) if (GameObject* go = me->GetMap()->GetGameObject(pInstance->GetGuidData(DATA_FAERLINA_WEB)))
@@ -183,26 +183,26 @@ public:
switch (events.ExecuteEvent()) switch (events.ExecuteEvent())
{ {
case FAERLINA_EVENT_POISON_BOLT: case EVENT_POISON_BOLT:
if (!me->HasAura(RAID_MODE(FAERLINA_SPELL_WIDOWS_EMBRACE, FAERLINA_SPELL_MINION_WIDOWS_EMBRACE))) if (!me->HasAura(RAID_MODE(SPELL_WIDOWS_EMBRACE, SPELL_MINION_WIDOWS_EMBRACE)))
{ {
me->CastCustomSpell(RAID_MODE(FAERLINA_SPELL_POISON_BOLT_VOLLEY_10, FAERLINA_SPELL_POISON_BOLT_VOLLEY_25), SPELLVALUE_MAX_TARGETS, RAID_MODE(3, 10), me, false); me->CastCustomSpell(RAID_MODE(SPELL_POISON_BOLT_VOLLEY_10, SPELL_POISON_BOLT_VOLLEY_25), SPELLVALUE_MAX_TARGETS, RAID_MODE(3, 10), me, false);
} }
events.Repeat(7s, 15s); events.Repeat(7s, 15s);
break; break;
case FAERLINA_EVENT_RAIN_OF_FIRE: case EVENT_RAIN_OF_FIRE:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0)) if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
{ {
me->CastSpell(target, RAID_MODE(FAERLINA_SPELL_RAIN_OF_FIRE_10, FAERLINA_SPELL_RAIN_OF_FIRE_25), false); me->CastSpell(target, RAID_MODE(SPELL_RAIN_OF_FIRE_10, SPELL_RAIN_OF_FIRE_25), false);
} }
events.Repeat(8s, 18s); events.Repeat(8s, 18s);
break; break;
case FAERLINA_EVENT_FRENZY: case EVENT_FRENZY:
if (!me->HasAura(RAID_MODE(FAERLINA_SPELL_FRENZY_10, FAERLINA_SPELL_FRENZY_25))) if (!me->HasAura(RAID_MODE(SPELL_FRENZY_10, SPELL_FRENZY_25)))
{ {
Talk(FAERLINA_SAY_FRENZY); Talk(SAY_FRENZY);
Talk(FAERLINA_EMOTE_FRENZY); Talk(EMOTE_FRENZY);
me->CastSpell(me, RAID_MODE(FAERLINA_SPELL_FRENZY_10, FAERLINA_SPELL_FRENZY_25), true); me->CastSpell(me, RAID_MODE(SPELL_FRENZY_10, SPELL_FRENZY_25), true);
events.Repeat(1min); events.Repeat(1min);
} }
else else
@@ -216,13 +216,13 @@ public:
void SpellHit(Unit* caster, SpellInfo const* spell) override void SpellHit(Unit* caster, SpellInfo const* spell) override
{ {
if (spell->Id == RAID_MODE(FAERLINA_SPELL_WIDOWS_EMBRACE, FAERLINA_SPELL_MINION_WIDOWS_EMBRACE)) if (spell->Id == RAID_MODE(SPELL_WIDOWS_EMBRACE, SPELL_MINION_WIDOWS_EMBRACE))
{ {
Talk(FAERLINA_EMOTE_WIDOWS_EMBRACE); Talk(EMOTE_WIDOWS_EMBRACE);
if (me->HasAura(RAID_MODE(FAERLINA_SPELL_FRENZY_10, FAERLINA_SPELL_FRENZY_25))) if (me->HasAura(RAID_MODE(SPELL_FRENZY_10, SPELL_FRENZY_25)))
{ {
me->RemoveAurasDueToSpell(RAID_MODE(FAERLINA_SPELL_FRENZY_10, FAERLINA_SPELL_FRENZY_25)); me->RemoveAurasDueToSpell(RAID_MODE(SPELL_FRENZY_10, SPELL_FRENZY_25));
events.RescheduleEvent(FAERLINA_EVENT_FRENZY, 1min); events.RescheduleEvent(EVENT_FRENZY, 1min);
} }
pInstance->SetData(DATA_FRENZY_REMOVED, 0); pInstance->SetData(DATA_FRENZY_REMOVED, 0);
if (Is25ManRaid()) if (Is25ManRaid())
@@ -129,7 +129,7 @@ public:
{ {
me->ModifyHealth(int32(me->GetMaxHealth() * 0.05f)); me->ModifyHealth(int32(me->GetMaxHealth() * 0.05f));
} }
if (who->GetTypeId() == TYPEID_PLAYER && pInstance) if (who->IsPlayer() && pInstance)
{ {
pInstance->SetData(DATA_IMMORTAL_FAIL, 0); pInstance->SetData(DATA_IMMORTAL_FAIL, 0);
} }
@@ -585,7 +585,7 @@ public:
void KilledUnit(Unit* who) override void KilledUnit(Unit* who) override
{ {
if (who->GetTypeId() == TYPEID_PLAYER && me->GetInstanceScript()) if (who->IsPlayer() && me->GetInstanceScript())
{ {
me->GetInstanceScript()->SetData(DATA_IMMORTAL_FAIL, 0); me->GetInstanceScript()->SetData(DATA_IMMORTAL_FAIL, 0);
} }
@@ -98,7 +98,7 @@ public:
void SpellHitTarget(Unit* target, SpellInfo const* spellInfo) override void SpellHitTarget(Unit* target, SpellInfo const* spellInfo) override
{ {
if (spellInfo->Id == RAID_MODE(SPELL_SLIME_SPRAY_10, SPELL_SLIME_SPRAY_25) && target->GetTypeId() == TYPEID_PLAYER) if (spellInfo->Id == RAID_MODE(SPELL_SLIME_SPRAY_10, SPELL_SLIME_SPRAY_25) && target->IsPlayer())
{ {
me->SummonCreature(NPC_FALLOUT_SLIME, target->GetPositionX(), target->GetPositionY(), target->GetPositionZ()); me->SummonCreature(NPC_FALLOUT_SLIME, target->GetPositionX(), target->GetPositionY(), target->GetPositionZ());
} }
@@ -126,7 +126,7 @@ public:
void KilledUnit(Unit* who) override void KilledUnit(Unit* who) override
{ {
if (who->GetTypeId() == TYPEID_PLAYER && pInstance) if (who->IsPlayer() && pInstance)
{ {
pInstance->SetData(DATA_IMMORTAL_FAIL, 0); pInstance->SetData(DATA_IMMORTAL_FAIL, 0);
} }
@@ -205,7 +205,7 @@ public:
void KilledUnit(Unit* who) override void KilledUnit(Unit* who) override
{ {
if (who->GetTypeId() == TYPEID_PLAYER && me->GetInstanceScript()) if (who->IsPlayer() && me->GetInstanceScript())
{ {
me->GetInstanceScript()->SetData(DATA_IMMORTAL_FAIL, 0); me->GetInstanceScript()->SetData(DATA_IMMORTAL_FAIL, 0);
} }
@@ -281,7 +281,7 @@ public:
void MoveInLineOfSight(Unit* who) override void MoveInLineOfSight(Unit* who) override
{ {
if (!me->IsInCombat() && who->GetTypeId() == TYPEID_PLAYER && who->IsAlive() && me->GetDistance(who) <= 50.0f) if (!me->IsInCombat() && who->IsPlayer() && who->IsAlive() && me->GetDistance(who) <= 50.0f)
AttackStart(who); AttackStart(who);
} }
@@ -430,7 +430,7 @@ public:
ThreatContainer::StorageType const& threatList = me->GetThreatMgr().GetThreatList(); ThreatContainer::StorageType const& threatList = me->GetThreatMgr().GetThreatList();
for (auto itr : threatList) for (auto itr : threatList)
{ {
if (itr->getTarget()->GetTypeId() == TYPEID_PLAYER if (itr->getTarget()->IsPlayer()
&& itr->getTarget()->getPowerType() == POWER_MANA && itr->getTarget()->getPowerType() == POWER_MANA
&& itr->getTarget()->GetPower(POWER_MANA)) && itr->getTarget()->GetPower(POWER_MANA))
{ {
@@ -606,7 +606,7 @@ public:
void KilledUnit(Unit* who) override void KilledUnit(Unit* who) override
{ {
if (who->GetTypeId() == TYPEID_PLAYER && me->GetInstanceScript()) if (who->IsPlayer() && me->GetInstanceScript())
{ {
me->GetInstanceScript()->SetData(DATA_IMMORTAL_FAIL, 0); me->GetInstanceScript()->SetData(DATA_IMMORTAL_FAIL, 0);
} }
@@ -8,7 +8,7 @@
namespace Loatheb { namespace Loatheb {
enum LoathebSpells enum Spells
{ {
SPELL_NECROTIC_AURA = 55593, SPELL_NECROTIC_AURA = 55593,
SPELL_SUMMON_SPORE = 29234, SPELL_SUMMON_SPORE = 29234,
@@ -16,21 +16,21 @@ enum LoathebSpells
SPELL_DEATHBLOOM_25 = 55053, SPELL_DEATHBLOOM_25 = 55053,
SPELL_INEVITABLE_DOOM_10 = 29204, SPELL_INEVITABLE_DOOM_10 = 29204,
SPELL_INEVITABLE_DOOM_25 = 55052, SPELL_INEVITABLE_DOOM_25 = 55052,
LOATHEB_SPELL_BERSERK = 26662 SPELL_BERSERK = 26662
}; };
enum LoathebEvents enum Events
{ {
EVENT_NECROTIC_AURA = 1, EVENT_NECROTIC_AURA = 1,
EVENT_DEATHBLOOM = 2, EVENT_DEATHBLOOM = 2,
EVENT_INEVITABLE_DOOM = 3, EVENT_INEVITABLE_DOOM = 3,
LOATHEB_EVENT_BERSERK = 4, EVENT_BERSERK = 4,
EVENT_SUMMON_SPORE = 5, EVENT_SUMMON_SPORE = 5,
EVENT_NECROTIC_AURA_FADING = 6, EVENT_NECROTIC_AURA_FADING = 6,
EVENT_NECROTIC_AURA_REMOVED = 7 EVENT_NECROTIC_AURA_REMOVED = 7
}; };
enum LoathebTexts enum Texts
{ {
SAY_NECROTIC_AURA_APPLIED = 0, SAY_NECROTIC_AURA_APPLIED = 0,
SAY_NECROTIC_AURA_REMOVED = 1, SAY_NECROTIC_AURA_REMOVED = 1,
@@ -92,7 +92,7 @@ public:
void KilledUnit(Unit* who) override void KilledUnit(Unit* who) override
{ {
if (who->GetTypeId() == TYPEID_PLAYER && pInstance) if (who->IsPlayer() && pInstance)
{ {
pInstance->SetData(DATA_IMMORTAL_FAIL, 0); pInstance->SetData(DATA_IMMORTAL_FAIL, 0);
} }
@@ -106,7 +106,7 @@ public:
events.ScheduleEvent(EVENT_DEATHBLOOM, 5s); events.ScheduleEvent(EVENT_DEATHBLOOM, 5s);
events.ScheduleEvent(EVENT_INEVITABLE_DOOM, 2min); events.ScheduleEvent(EVENT_INEVITABLE_DOOM, 2min);
events.ScheduleEvent(EVENT_SUMMON_SPORE, 15s); events.ScheduleEvent(EVENT_SUMMON_SPORE, 15s);
events.ScheduleEvent(LOATHEB_EVENT_BERSERK, 12min); events.ScheduleEvent(EVENT_BERSERK, 12min);
if (pInstance) if (pInstance)
{ {
pInstance->SetData(BOSS_LOATHEB, IN_PROGRESS); pInstance->SetData(BOSS_LOATHEB, IN_PROGRESS);
@@ -158,8 +158,8 @@ public:
doomCounter++; doomCounter++;
events.Repeat(doomCounter < 6 ? 30s : 15s); events.Repeat(doomCounter < 6 ? 30s : 15s);
break; break;
case LOATHEB_EVENT_BERSERK: case EVENT_BERSERK:
me->CastSpell(me, LOATHEB_SPELL_BERSERK, true); me->CastSpell(me, SPELL_BERSERK, true);
break; break;
case EVENT_NECROTIC_AURA_FADING: case EVENT_NECROTIC_AURA_FADING:
Talk(SAY_NECROTIC_AURA_FADING); Talk(SAY_NECROTIC_AURA_FADING);
@@ -187,4 +187,5 @@ public:
}; };
} }
#endif #endif
@@ -163,7 +163,7 @@ public:
void KilledUnit(Unit* who) override void KilledUnit(Unit* who) override
{ {
if (who->GetTypeId() == TYPEID_PLAYER && pInstance) if (who->IsPlayer() && pInstance)
{ {
pInstance->SetData(DATA_IMMORTAL_FAIL, 0); pInstance->SetData(DATA_IMMORTAL_FAIL, 0);
} }
@@ -201,7 +201,7 @@ public:
{ {
Talk(SAY_SLAY); Talk(SAY_SLAY);
} }
if (who->GetTypeId() == TYPEID_PLAYER && pInstance) if (who->IsPlayer() && pInstance)
{ {
pInstance->SetData(DATA_IMMORTAL_FAIL, 0); pInstance->SetData(DATA_IMMORTAL_FAIL, 0);
} }
@@ -348,7 +348,7 @@ public:
void KilledUnit(Unit* who) override void KilledUnit(Unit* who) override
{ {
if (who->GetTypeId() == TYPEID_PLAYER && me->GetInstanceScript()) if (who->IsPlayer() && me->GetInstanceScript())
{ {
me->GetInstanceScript()->SetData(DATA_IMMORTAL_FAIL, 0); me->GetInstanceScript()->SetData(DATA_IMMORTAL_FAIL, 0);
} }
@@ -209,7 +209,7 @@ public:
void KilledUnit(Unit* who) override void KilledUnit(Unit* who) override
{ {
if (who->GetTypeId() == TYPEID_PLAYER && pInstance) if (who->IsPlayer() && pInstance)
{ {
pInstance->SetData(DATA_IMMORTAL_FAIL, 0); pInstance->SetData(DATA_IMMORTAL_FAIL, 0);
} }
@@ -313,7 +313,7 @@ public:
auto i = me->GetThreatMgr().GetThreatList().begin(); auto i = me->GetThreatMgr().GetThreatList().begin();
for (; i != me->GetThreatMgr().GetThreatList().end(); ++i) for (; i != me->GetThreatMgr().GetThreatList().end(); ++i)
{ {
if ((*i)->getTarget()->GetTypeId() == TYPEID_PLAYER) if ((*i)->getTarget()->IsPlayer())
{ {
bool inList = false; bool inList = false;
if (!blockList.empty()) if (!blockList.empty())