aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts/Outland
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/scripts/Outland')
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_illidan.cpp2
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_teron_gorefiend.cpp6
-rw-r--r--src/server/scripts/Outland/BlackTemple/illidari_council.cpp2
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_fathomlord_karathress.cpp36
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lady_vashj.cpp6
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warbringer_omrogg.cpp2
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warchief_kargath_bladefist.cpp8
-rw-r--r--src/server/scripts/Outland/zone_nagrand.cpp16
-rw-r--r--src/server/scripts/Outland/zone_netherstorm.cpp38
-rw-r--r--src/server/scripts/Outland/zone_shadowmoon_valley.cpp16
-rw-r--r--src/server/scripts/Outland/zone_shattrath_city.cpp46
-rw-r--r--src/server/scripts/Outland/zone_terokkar_forest.cpp32
12 files changed, 101 insertions, 109 deletions
diff --git a/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp b/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp
index e990a6f6825..5d18026c1ca 100644
--- a/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp
+++ b/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp
@@ -2264,7 +2264,7 @@ public:
if (CheckTimer <= diff)
{
GETUNIT(Illidan, IllidanGUID);
- if (!Illidan || CAST_CRE(Illidan)->IsInEvadeMode())
+ if (!Illidan || Illidan->ToCreature()->IsInEvadeMode())
{
me->SetVisible(false);
me->setDeathState(JUST_DIED);
diff --git a/src/server/scripts/Outland/BlackTemple/boss_teron_gorefiend.cpp b/src/server/scripts/Outland/BlackTemple/boss_teron_gorefiend.cpp
index 5eb9ffcabc8..1681ecfb00e 100644
--- a/src/server/scripts/Outland/BlackTemple/boss_teron_gorefiend.cpp
+++ b/src/server/scripts/Outland/BlackTemple/boss_teron_gorefiend.cpp
@@ -349,10 +349,10 @@ public:
{
/*float x, y, z;
ghost->GetPosition(x, y, z);
- Creature* control = me->SummonCreature(CREATURE_GHOST, x, y, z, 0, TEMPSUMMON_TIMED_DESAWN, 30000);
- if (control)
+ if (Creature* control = me->SummonCreature(CREATURE_GHOST, x, y, z, 0, TEMPSUMMON_TIMED_DESAWN, 30000))
{
- CAST_PLR(ghost)->Possess(control);
+ if (Player* player = ghost->ToPlayer())
+ player->Possess(control);
ghost->DealDamage(ghost, ghost->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL,
false);
}*/
diff --git a/src/server/scripts/Outland/BlackTemple/illidari_council.cpp b/src/server/scripts/Outland/BlackTemple/illidari_council.cpp
index d63e8ee20b0..57b7d484004 100644
--- a/src/server/scripts/Outland/BlackTemple/illidari_council.cpp
+++ b/src/server/scripts/Outland/BlackTemple/illidari_council.cpp
@@ -305,7 +305,7 @@ public:
{
Unit* member = Unit::GetUnit(*me, Council[i]);
if (member && member->isAlive())
- CAST_CRE(member)->AI()->AttackStart(target);
+ member->ToCreature()->AI()->AttackStart(target);
}
}
diff --git a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_fathomlord_karathress.cpp b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_fathomlord_karathress.cpp
index b9df26d11c6..38f02622e5a 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_fathomlord_karathress.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_fathomlord_karathress.cpp
@@ -542,27 +542,31 @@ public:
if (Spitfire_Timer <= diff)
{
DoCast(me, SPELL_SPITFIRE_TOTEM);
- Unit* SpitfireTotem = Unit::GetUnit(*me, CREATURE_SPITFIRE_TOTEM);
- if (SpitfireTotem)
- {
- CAST_CRE(SpitfireTotem)->AI()->AttackStart(me->getVictim());
- }
+ if (Unit* SpitfireTotem = Unit::GetUnit(*me, CREATURE_SPITFIRE_TOTEM))
+ SpitfireTotem->ToCreature()->AI()->AttackStart(me->getVictim());
+
Spitfire_Timer = 60000;
- } else Spitfire_Timer -= diff;
+ }
+ else
+ Spitfire_Timer -= diff;
//PoisonCleansing_Timer
if (PoisonCleansing_Timer <= diff)
{
DoCast(me, SPELL_POISON_CLEANSING_TOTEM);
PoisonCleansing_Timer = 30000;
- } else PoisonCleansing_Timer -= diff;
+ }
+ else
+ PoisonCleansing_Timer -= diff;
//Earthbind_Timer
if (Earthbind_Timer <= diff)
{
DoCast(me, SPELL_EARTHBIND_TOTEM);
Earthbind_Timer = 45000;
- } else Earthbind_Timer -= diff;
+ }
+ else
+ Earthbind_Timer -= diff;
DoMeleeAttackIfReady();
}
@@ -665,17 +669,19 @@ public:
{
//DoCast(me, SPELL_SUMMON_CYCLONE); // Doesn't work
Cyclone_Timer = 30000+rand()%10000;
- Creature* Cyclone = me->SummonCreature(CREATURE_CYCLONE, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), float(rand()%5), TEMPSUMMON_TIMED_DESPAWN, 15000);
- if (Cyclone)
+
+ if (Creature* Cyclone = me->SummonCreature(CREATURE_CYCLONE, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), float(rand()%5), TEMPSUMMON_TIMED_DESPAWN, 15000))
{
- CAST_CRE(Cyclone)->SetObjectScale(3.0f);
+ Cyclone->ToCreature()->SetObjectScale(3.0f);
Cyclone->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
Cyclone->setFaction(me->getFaction());
Cyclone->CastSpell(Cyclone, SPELL_CYCLONE_CYCLONE, true);
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
Cyclone->AI()->AttackStart(target);
}
- } else Cyclone_Timer -= diff;
+ }
+ else
+ Cyclone_Timer -= diff;
//Heal_Timer
if (Heal_Timer <= diff)
@@ -684,14 +690,14 @@ public:
Unit* unit = NULL;
while (unit == NULL || !unit->isAlive())
- {
unit = selectAdvisorUnit();
- }
if (unit && unit->isAlive())
DoCast(unit, SPELL_HEAL);
Heal_Timer = 60000;
- } else Heal_Timer -= diff;
+ }
+ else
+ Heal_Timer -= diff;
DoMeleeAttackIfReady();
}
diff --git a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lady_vashj.cpp b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lady_vashj.cpp
index 19b57509093..ae63ed67af1 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lady_vashj.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lady_vashj.cpp
@@ -786,7 +786,7 @@ public:
{
// check if vashj is death
Unit* Vashj = Unit::GetUnit(*me, instance->GetData64(DATA_LADYVASHJ));
- if (!Vashj || (Vashj && !Vashj->isAlive()) || (Vashj && CAST_AI(boss_lady_vashj::boss_lady_vashjAI, CAST_CRE(Vashj)->AI())->Phase != 3))
+ if (!Vashj || !Vashj->isAlive() || CAST_AI(boss_lady_vashj::boss_lady_vashjAI, Vashj->ToCreature()->AI())->Phase != 3)
{
// remove
me->setDeathState(DEAD);
@@ -796,7 +796,9 @@ public:
}
CheckTimer = 1000;
- } else CheckTimer -= diff;
+ }
+ else
+ CheckTimer -= diff;
}
};
diff --git a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warbringer_omrogg.cpp b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warbringer_omrogg.cpp
index ac261cc5936..89a585e415f 100644
--- a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warbringer_omrogg.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warbringer_omrogg.cpp
@@ -306,7 +306,7 @@ class boss_warbringer_omrogg : public CreatureScript
pLeftHead->AI()->Talk(YELL_DIE_L);
- CAST_AI(mob_omrogg_heads::mob_omrogg_headsAI, CAST_CRE(pRightHead)->AI())->DoDeathYell();
+ CAST_AI(mob_omrogg_heads::mob_omrogg_headsAI, pRightHead->ToCreature()->AI())->DoDeathYell();
if (instance)
instance->SetData(TYPE_OMROGG, DONE);
diff --git a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warchief_kargath_bladefist.cpp b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warchief_kargath_bladefist.cpp
index 13f47b276ef..2cfe73ea719 100644
--- a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warchief_kargath_bladefist.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warchief_kargath_bladefist.cpp
@@ -167,9 +167,9 @@ class boss_warchief_kargath_bladefist : public CreatureScript
Unit* temp = Unit::GetUnit(*me, *itr);
if (temp && temp->isAlive())
{
- (*temp).GetMotionMaster()->Clear(true);
+ temp->GetMotionMaster()->Clear(true);
me->DealDamage(temp, temp->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false);
- CAST_CRE(temp)->RemoveCorpse();
+ temp->ToCreature()->RemoveCorpse();
}
}
adds.clear();
@@ -179,9 +179,9 @@ class boss_warchief_kargath_bladefist : public CreatureScript
Unit* temp = Unit::GetUnit(*me, *itr);
if (temp && temp->isAlive())
{
- (*temp).GetMotionMaster()->Clear(true);
+ temp->GetMotionMaster()->Clear(true);
me->DealDamage(temp, temp->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false);
- CAST_CRE(temp)->RemoveCorpse();
+ temp->ToCreature()->RemoveCorpse();
}
}
assassins.clear();
diff --git a/src/server/scripts/Outland/zone_nagrand.cpp b/src/server/scripts/Outland/zone_nagrand.cpp
index fd193aa4835..148bfeaeefe 100644
--- a/src/server/scripts/Outland/zone_nagrand.cpp
+++ b/src/server/scripts/Outland/zone_nagrand.cpp
@@ -339,17 +339,15 @@ public:
if (!who)
return;
- if (who->GetTypeId() == TYPEID_PLAYER)
+ Player* player = who->ToPlayer();
+ if (player && player->GetQuestStatus(10085) == QUEST_STATUS_INCOMPLETE)
{
- if (CAST_PLR(who)->GetQuestStatus(10085) == QUEST_STATUS_INCOMPLETE)
+ uint32 creditMarkerId = me->GetEntry();
+ if (creditMarkerId >= 18840 && creditMarkerId <= 18843)
{
- uint32 creditMarkerId = me->GetEntry();
- if ((creditMarkerId >= 18840) && (creditMarkerId <= 18843))
- {
- // 18840: Sunspring, 18841: Laughing, 18842: Garadar, 18843: Bleeding
- if (!CAST_PLR(who)->GetReqKillOrCastCurrentCount(10085, creditMarkerId))
- CAST_PLR(who)->KilledMonsterCredit(creditMarkerId, me->GetGUID());
- }
+ // 18840: Sunspring, 18841: Laughing, 18842: Garadar, 18843: Bleeding
+ if (!player->GetReqKillOrCastCurrentCount(10085, creditMarkerId))
+ player->KilledMonsterCredit(creditMarkerId, me->GetGUID());
}
}
}
diff --git a/src/server/scripts/Outland/zone_netherstorm.cpp b/src/server/scripts/Outland/zone_netherstorm.cpp
index 779ab3261ed..c0adddd51fc 100644
--- a/src/server/scripts/Outland/zone_netherstorm.cpp
+++ b/src/server/scripts/Outland/zone_netherstorm.cpp
@@ -118,36 +118,33 @@ public:
if (someplayer)
{
- Unit* p = Unit::GetUnit(*me, someplayer);
- if (p && p->GetTypeId() == TYPEID_PLAYER)
+ if (Player* player = ObjectAccessor::GetPlayer(*me, someplayer))
{
switch (me->GetEntry())
{
case ENTRY_BNAAR_C_CONSOLE:
- CAST_PLR(p)->FailQuest(10299);
- CAST_PLR(p)->FailQuest(10329);
+ player->FailQuest(10299);
+ player->FailQuest(10329);
break;
case ENTRY_CORUU_C_CONSOLE:
- CAST_PLR(p)->FailQuest(10321);
- CAST_PLR(p)->FailQuest(10330);
+ player->FailQuest(10321);
+ player->FailQuest(10330);
break;
case ENTRY_DURO_C_CONSOLE:
- CAST_PLR(p)->FailQuest(10322);
- CAST_PLR(p)->FailQuest(10338);
+ player->FailQuest(10322);
+ player->FailQuest(10338);
break;
case ENTRY_ARA_C_CONSOLE:
- CAST_PLR(p)->FailQuest(10323);
- CAST_PLR(p)->FailQuest(10365);
+ player->FailQuest(10323);
+ player->FailQuest(10365);
break;
}
}
}
if (goConsole)
- {
if (GameObject* go = GameObject::GetGameObject(*me, goConsole))
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_IN_USE);
- }
}
void DoWaveSpawnForCreature(Creature* creature)
@@ -275,27 +272,30 @@ public:
Talk(EMOTE_COMPLETE);
if (someplayer)
{
- Unit* u = Unit::GetUnit(*me, someplayer);
- if (u && u->GetTypeId() == TYPEID_PLAYER)
- CAST_PLR(u)->KilledMonsterCredit(me->GetEntry(), me->GetGUID());
+ if (Player* player = ObjectAccessor::GetPlayer(*me, someplayer))
+ player->KilledMonsterCredit(me->GetEntry(), me->GetGUID());
DoCast(me, SPELL_DISABLE_VISUAL);
}
+
if (goConsole)
- {
if (GameObject* go = GameObject::GetGameObject(*me, goConsole))
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_IN_USE);
- }
+
++Phase;
break;
}
- } else Event_Timer -= diff;
+ }
+ else
+ Event_Timer -= diff;
if (Wave)
{
if (Wave_Timer <= diff)
{
DoWaveSpawnForCreature(me);
- } else Wave_Timer -= diff;
+ }
+ else
+ Wave_Timer -= diff;
}
}
};
diff --git a/src/server/scripts/Outland/zone_shadowmoon_valley.cpp b/src/server/scripts/Outland/zone_shadowmoon_valley.cpp
index b8f96e373f3..644fd71e7a2 100644
--- a/src/server/scripts/Outland/zone_shadowmoon_valley.cpp
+++ b/src/server/scripts/Outland/zone_shadowmoon_valley.cpp
@@ -1377,20 +1377,19 @@ public:
{
case TYPEID_UNIT:
if (Unit* owner = killer->GetOwner())
- if (owner->GetTypeId() == TYPEID_PLAYER)
- CAST_PLR(owner)->GroupEventHappens(QUEST_BATTLE_OF_THE_CRIMSON_WATCH, me);
+ if (Player* player = owner->ToPlayer())
+ player->GroupEventHappens(QUEST_BATTLE_OF_THE_CRIMSON_WATCH, me);
break;
case TYPEID_PLAYER:
- CAST_PLR(killer)->GroupEventHappens(QUEST_BATTLE_OF_THE_CRIMSON_WATCH, me);
+ if (Player* player = killer->ToPlayer())
+ player->GroupEventHappens(QUEST_BATTLE_OF_THE_CRIMSON_WATCH, me);
break;
default:
break;
}
if (Creature* LordIllidan = (Unit::GetCreature(*me, LordIllidanGUID)))
- {
LordIllidan->AI()->EnterEvadeMode();
- }
}
};
};
@@ -1865,10 +1864,9 @@ public:
Summoned->setFaction(ENRAGED_SOUL_FRIENDLY);
Summoned->GetMotionMaster()->MovePoint(0, totemOspirits->GetPositionX(), totemOspirits->GetPositionY(), Summoned->GetPositionZ());
- Unit* Owner = totemOspirits->GetOwner();
- if (Owner && Owner->GetTypeId() == TYPEID_PLAYER)
- // DoCast(Owner, credit); -- not working!
- CAST_PLR(Owner)->KilledMonsterCredit(credit, 0);
+ if (Unit* owner = totemOspirits->GetOwner())
+ if (Player* player = owner->ToPlayer())
+ player->KilledMonsterCredit(credit, 0);
DoCast(totemOspirits, SPELL_SOUL_CAPTURED);
}
}
diff --git a/src/server/scripts/Outland/zone_shattrath_city.cpp b/src/server/scripts/Outland/zone_shattrath_city.cpp
index 14553be0ef4..95ba9476905 100644
--- a/src/server/scripts/Outland/zone_shattrath_city.cpp
+++ b/src/server/scripts/Outland/zone_shattrath_city.cpp
@@ -167,10 +167,9 @@ public:
void DamageTaken(Unit* done_by, uint32 &damage)
{
- if (done_by->GetTypeId() == TYPEID_PLAYER)
- if (me->HealthBelowPctDamaged(20, damage))
+ if (done_by->GetTypeId() == TYPEID_PLAYER && me->HealthBelowPctDamaged(20, damage))
{
- CAST_PLR(done_by)->GroupEventHappens(QUEST_10004, me);
+ done_by->ToPlayer()->GroupEventHappens(QUEST_10004, me);
damage = 0;
EnterEvadeMode();
}
@@ -410,20 +409,18 @@ public:
if (HasEscortState(STATE_ESCORT_ESCORTING))
return;
- if (who->GetTypeId() == TYPEID_PLAYER)
+ Player* player = who->ToPlayer();
+ if (player && player->GetQuestStatus(10211) == QUEST_STATUS_INCOMPLETE)
{
- if (CAST_PLR(who)->GetQuestStatus(10211) == QUEST_STATUS_INCOMPLETE)
+ float Radius = 10.0f;
+ if (me->IsWithinDistInMap(who, Radius))
{
- float Radius = 10.0f;
- if (me->IsWithinDistInMap(who, Radius))
- {
- Start(false, false, who->GetGUID());
- }
+ Start(false, false, who->GetGUID());
}
}
}
- void Reset() {}
+ void Reset() { }
};
};
@@ -477,17 +474,16 @@ public:
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
me->setFaction(1194);
- Unit* Creepjack = me->FindNearestCreature(NPC_CREEPJACK, 20);
- if (Creepjack)
+ if (Unit* Creepjack = me->FindNearestCreature(NPC_CREEPJACK, 20))
{
- CAST_CRE(Creepjack)->AI()->EnterEvadeMode();
+ Creepjack->ToCreature()->AI()->EnterEvadeMode();
Creepjack->setFaction(1194);
Creepjack->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
}
- Unit* Malone = me->FindNearestCreature(NPC_MALONE, 20);
- if (Malone)
+
+ if (Unit* Malone = me->FindNearestCreature(NPC_MALONE, 20))
{
- CAST_CRE(Malone)->AI()->EnterEvadeMode();
+ Malone->ToCreature()->AI()->EnterEvadeMode();
Malone->setFaction(1194);
Malone->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
}
@@ -561,18 +557,17 @@ public:
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
me->RemoveAllAuras();
- Unit* Creepjack = me->FindNearestCreature(NPC_CREEPJACK, 20);
- if (Creepjack)
+ if (Unit* Creepjack = me->FindNearestCreature(NPC_CREEPJACK, 20))
{
- CAST_CRE(Creepjack)->AI()->EnterEvadeMode();
+ Creepjack->ToCreature()->AI()->EnterEvadeMode();
Creepjack->setFaction(1194);
Creepjack->GetMotionMaster()->MoveTargetedHome();
Creepjack->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
}
- Unit* Malone = me->FindNearestCreature(NPC_MALONE, 20);
- if (Malone)
+
+ if (Unit* Malone = me->FindNearestCreature(NPC_MALONE, 20))
{
- CAST_CRE(Malone)->AI()->EnterEvadeMode();
+ Malone->ToCreature()->AI()->EnterEvadeMode();
Malone->setFaction(1194);
Malone->GetMotionMaster()->MoveTargetedHome();
Malone->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
@@ -583,9 +578,8 @@ public:
me->DeleteThreatList();
me->CombatStop();
me->GetMotionMaster()->MoveTargetedHome();
- Player* player = Unit::GetPlayer(*me, PlayerGUID);
- if (player)
- CAST_PLR(player)->GroupEventHappens(QUEST_WBI, me);
+ if (Player* player = Unit::GetPlayer(*me, PlayerGUID))
+ player->GroupEventHappens(QUEST_WBI, me);
}
DoMeleeAttackIfReady();
}
diff --git a/src/server/scripts/Outland/zone_terokkar_forest.cpp b/src/server/scripts/Outland/zone_terokkar_forest.cpp
index caa31ed472c..85a45193931 100644
--- a/src/server/scripts/Outland/zone_terokkar_forest.cpp
+++ b/src/server/scripts/Outland/zone_terokkar_forest.cpp
@@ -98,10 +98,11 @@ public:
void DamageTaken(Unit* done_by, uint32 &damage)
{
- if (done_by->GetTypeId() == TYPEID_PLAYER)
- if (me->HealthBelowPctDamaged(30, damage))
+ Player* player = done_by->ToPlayer();
+
+ if (player && me->HealthBelowPctDamaged(30, damage))
{
- if (Group* group = CAST_PLR(done_by)->GetGroup())
+ if (Group* group = player->GetGroup())
{
for (GroupReference* itr = group->GetFirstMember(); itr != NULL; itr = itr->next())
{
@@ -115,11 +116,11 @@ public:
CanDoQuest = true;
}
}
- } else
- if (CAST_PLR(done_by)->GetQuestStatus(QUEST_DONTKILLTHEFATONE) == QUEST_STATUS_INCOMPLETE &&
- CAST_PLR(done_by)->GetReqKillOrCastCurrentCount(QUEST_DONTKILLTHEFATONE, 18260) == 10)
+ }
+ else if (player->GetQuestStatus(QUEST_DONTKILLTHEFATONE) == QUEST_STATUS_INCOMPLETE &&
+ player->GetReqKillOrCastCurrentCount(QUEST_DONTKILLTHEFATONE, 18260) == 10)
{
- CAST_PLR(done_by)->AreaExploredOrEventHappens(QUEST_DONTKILLTHEFATONE);
+ player->AreaExploredOrEventHappens(QUEST_DONTKILLTHEFATONE);
CanDoQuest = true;
}
}
@@ -229,20 +230,13 @@ public:
if (HasEscortState(STATE_ESCORT_ESCORTING))
return;
- if (who->GetTypeId() == TYPEID_PLAYER)
- {
- if (CAST_PLR(who)->GetQuestStatus(10898) == QUEST_STATUS_INCOMPLETE)
- {
- float Radius = 10.0f;
- if (me->IsWithinDistInMap(who, Radius))
- {
- Start(false, false, who->GetGUID());
- }
- }
- }
+ Player* player = who->ToPlayer();
+ if (player && player->GetQuestStatus(10898) == QUEST_STATUS_INCOMPLETE)
+ if (me->IsWithinDistInMap(who, 10.0f))
+ Start(false, false, who->GetGUID());
}
- void Reset() {}
+ void Reset() { }
void UpdateAI(uint32 diff)
{