Core/Script: Code style and some rewriting.

MoveInLineOfSight(Unit* unit) -> MoveInLineOfSight(Unit* who)

Signed-off-by: Gyx <[email protected]>
This commit is contained in:
Gyx
2012-04-01 19:56:41 +08:00
parent 00264e45cf
commit a1c4786ba0
66 changed files with 417 additions and 471 deletions
@@ -274,7 +274,7 @@ void ScriptedAI::DoResetThreat()
for (std::list<HostileReference*>::iterator itr = threatlist.begin(); itr != threatlist.end(); ++itr)
{
Unit* unit = Unit::GetUnit((*me), (*itr)->getUnitGuid());
Unit* unit = Unit::GetUnit(*me, (*itr)->getUnitGuid());
if (unit && DoGetThreat(unit))
DoModifyThreatPercent(unit, -100);
@@ -245,7 +245,7 @@ public:
Unit* unit;
if ((*i) && (*i)->getSource())
{
unit = Unit::GetUnit((*me), (*i)->getUnitGuid());
unit = Unit::GetUnit(*me, (*i)->getUnitGuid());
if (unit)
{
//Cast affliction
@@ -176,9 +176,9 @@ public:
break;
case 2:
me->setFaction(103);
if (PlayerGUID && Unit::GetUnit((*me), PlayerGUID))
if (PlayerGUID && Unit::GetUnit(*me, PlayerGUID))
{
AttackStart(Unit::GetUnit((*me), PlayerGUID));
AttackStart(Unit::GetUnit(*me, PlayerGUID));
DoCast(me, SPELL_ESSENCEOFTHERED);
}
SpeechTimer = 0;
@@ -127,7 +127,7 @@ public:
DoCastAOE(SPELL_SMITE_STOMP, false);
SetCombatMovement(false);
if (instance)
if (GameObject* go = GameObject::GetGameObject((*me), instance->GetData64(DATA_SMITE_CHEST)))
if (GameObject* go = GameObject::GetGameObject(*me, instance->GetData64(DATA_SMITE_CHEST)))
{
me->GetMotionMaster()->Clear();
me->GetMotionMaster()->MovePoint(1, go->GetPositionX() - 3.0f, go->GetPositionY(), go->GetPositionZ());
@@ -189,11 +189,11 @@ public:
if (bBool)
{
if (instance)
if (GameObject* go = GameObject::GetGameObject((*me), instance->GetData64(DATA_GO_CAVE_IN_RIGHT)))
if (GameObject* go = GameObject::GetGameObject(*me, instance->GetData64(DATA_GO_CAVE_IN_RIGHT)))
instance->HandleGameObject(0, false, go);
}else
if (instance)
if (GameObject* go = GameObject::GetGameObject((*me), instance->GetData64(DATA_GO_CAVE_IN_LEFT)))
if (GameObject* go = GameObject::GetGameObject(*me, instance->GetData64(DATA_GO_CAVE_IN_LEFT)))
instance->HandleGameObject(0, false, go);
}
@@ -204,10 +204,10 @@ public:
if (bBool)
{
if (GameObject* go = GameObject::GetGameObject((*me), instance->GetData64(DATA_GO_CAVE_IN_RIGHT)))
if (GameObject* go = GameObject::GetGameObject(*me, instance->GetData64(DATA_GO_CAVE_IN_RIGHT)))
me->SetFacingToObject(go);
}else
if (GameObject* go = GameObject::GetGameObject((*me), instance->GetData64(DATA_GO_CAVE_IN_LEFT)))
if (GameObject* go = GameObject::GetGameObject(*me, instance->GetData64(DATA_GO_CAVE_IN_LEFT)))
me->SetFacingToObject(go);
}
@@ -216,10 +216,10 @@ public:
if (!instance)
return;
if (GameObject* go = GameObject::GetGameObject((*me), instance->GetData64(DATA_GO_CAVE_IN_RIGHT)))
if (GameObject* go = GameObject::GetGameObject(*me, instance->GetData64(DATA_GO_CAVE_IN_RIGHT)))
instance->HandleGameObject(0, false, go);
if (GameObject* go = GameObject::GetGameObject((*me), instance->GetData64(DATA_GO_CAVE_IN_LEFT)))
if (GameObject* go = GameObject::GetGameObject(*me, instance->GetData64(DATA_GO_CAVE_IN_LEFT)))
instance->HandleGameObject(0, false, go);
if (!GoSummonList.empty())
@@ -445,7 +445,7 @@ public:
DoScriptText(SAY_BLASTMASTER_5, me);
Summon(1);
if (instance)
if (GameObject* go = GameObject::GetGameObject((*me), instance->GetData64(DATA_GO_CAVE_IN_RIGHT)))
if (GameObject* go = GameObject::GetGameObject(*me, instance->GetData64(DATA_GO_CAVE_IN_RIGHT)))
instance->HandleGameObject(0, true, go);
NextStep(3000, true);
break;
@@ -491,7 +491,7 @@ public:
DoScriptText(SAY_BLASTMASTER_23, me);
SetInFace(false);
if (instance)
if (GameObject* go = GameObject::GetGameObject((*me), instance->GetData64(DATA_GO_CAVE_IN_LEFT)))
if (GameObject* go = GameObject::GetGameObject(*me, instance->GetData64(DATA_GO_CAVE_IN_LEFT)))
instance->HandleGameObject(0, true, go);
NextStep(2000, true);
break;
@@ -358,7 +358,7 @@ struct boss_moroes_guestAI : public ScriptedAI
uint64 TempGUID = GuestGUID[rand()%4];
if (TempGUID)
{
Unit* unit = Unit::GetUnit((*me), TempGUID);
Unit* unit = Unit::GetUnit(*me, TempGUID);
if (unit && unit->isAlive())
return unit;
}
@@ -101,7 +101,7 @@ public:
uint64 TerestianGUID = instance->GetData64(DATA_TERESTIAN);
if (TerestianGUID)
{
Unit* Terestian = Unit::GetUnit((*me), TerestianGUID);
Unit* Terestian = Unit::GetUnit(*me, TerestianGUID);
if (Terestian && Terestian->isAlive())
DoCast(Terestian, SPELL_BROKEN_PACT, true);
}
@@ -157,7 +157,7 @@ public:
{
if (SacrificeGUID)
{
Unit* Sacrifice = Unit::GetUnit((*me), SacrificeGUID);
Unit* Sacrifice = Unit::GetUnit(*me, SacrificeGUID);
if (Sacrifice)
Sacrifice->RemoveAurasDueToSpell(SPELL_SACRIFICE);
}
@@ -886,7 +886,7 @@ public:
{
IsChasing = false;
if (Unit* target = Unit::GetUnit((*me), HoodGUID))
if (Unit* target = Unit::GetUnit(*me, HoodGUID))
{
HoodGUID = 0;
if (DoGetThreat(target))
@@ -536,7 +536,7 @@ public:
uint32 NextStep(uint32 Step)
{
Unit* arca = Unit::GetUnit((*me), ArcanagosGUID);
Unit* arca = Unit::GetUnit(*me, ArcanagosGUID);
Map* map = me->GetMap();
switch (Step)
{
@@ -625,7 +625,7 @@ public:
if (Step >= 7 && Step <= 12)
{
Unit* arca = Unit::GetUnit((*me), ArcanagosGUID);
Unit* arca = Unit::GetUnit(*me, ArcanagosGUID);
if (FireArcanagosTimer <= diff)
{
@@ -197,7 +197,7 @@ public:
std::list<HostileReference*>::const_iterator i = m_threatlist.begin();
for (i = m_threatlist.begin(); i != m_threatlist.end(); ++i)
{
Unit* unit = Unit::GetUnit((*me), (*i)->getUnitGuid());
Unit* unit = Unit::GetUnit(*me, (*i)->getUnitGuid());
if (unit && unit->isAlive())
{
float threat = me->getThreatManager().getThreat(unit);
@@ -215,7 +215,7 @@ public:
std::list<HostileReference*>::const_iterator i = me->getThreatManager().getThreatList().begin();
for (i = me->getThreatManager().getThreatList().begin(); i!= me->getThreatManager().getThreatList().end(); ++i)
{
Unit* unit = Unit::GetUnit((*me), (*i)->getUnitGuid());
Unit* unit = Unit::GetUnit(*me, (*i)->getUnitGuid());
if (unit && (unit->GetTypeId() == TYPEID_PLAYER))
unit->CastSpell(unit, SPELL_TELEPORT_CENTER, true);
}
@@ -227,7 +227,7 @@ public:
std::list<HostileReference*>::const_iterator i = me->getThreatManager().getThreatList().begin();
for (i = me->getThreatManager().getThreatList().begin(); i!= me->getThreatManager().getThreatList().end(); ++i)
{
Unit* unit = Unit::GetUnit((*me), (*i)->getUnitGuid());
Unit* unit = Unit::GetUnit(*me, (*i)->getUnitGuid());
if (unit && (unit->GetTypeId() == TYPEID_PLAYER))
// Knockback into the air
unit->CastSpell(unit, SPELL_GRAVITY_LAPSE_DOT, true, 0, 0, me->GetGUID());
@@ -239,7 +239,7 @@ public:
std::list<HostileReference*>::const_iterator i = me->getThreatManager().getThreatList().begin();
for (i = me->getThreatManager().getThreatList().begin(); i!= me->getThreatManager().getThreatList().end(); ++i)
{
Unit* unit = Unit::GetUnit((*me), (*i)->getUnitGuid());
Unit* unit = Unit::GetUnit(*me, (*i)->getUnitGuid());
if (unit && (unit->GetTypeId() == TYPEID_PLAYER))
{
// Also needs an exception in spell system.
@@ -259,7 +259,7 @@ public:
std::list<HostileReference*>::const_iterator i = me->getThreatManager().getThreatList().begin();
for (i = me->getThreatManager().getThreatList().begin(); i!= me->getThreatManager().getThreatList().end(); ++i)
{
Unit* unit = Unit::GetUnit((*me), (*i)->getUnitGuid());
Unit* unit = Unit::GetUnit(*me, (*i)->getUnitGuid());
if (unit && (unit->GetTypeId() == TYPEID_PLAYER))
{
unit->RemoveAurasDueToSpell(SPELL_GRAVITY_LAPSE_FLY);
@@ -627,48 +627,48 @@ public:
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
}
bool MeetQuestCondition(Unit* player)
bool MeetQuestCondition(Player* player)
{
switch (me->GetEntry())
{
case 29061: // Ellen Stanbridge
if (CAST_PLR(player)->GetQuestStatus(12742) == QUEST_STATUS_INCOMPLETE)
if (player->GetQuestStatus(12742) == QUEST_STATUS_INCOMPLETE)
return true;
break;
case 29072: // Kug Ironjaw
if (CAST_PLR(player)->GetQuestStatus(12748) == QUEST_STATUS_INCOMPLETE)
if (player->GetQuestStatus(12748) == QUEST_STATUS_INCOMPLETE)
return true;
break;
case 29067: // Donovan Pulfrost
if (CAST_PLR(player)->GetQuestStatus(12744) == QUEST_STATUS_INCOMPLETE)
if (player->GetQuestStatus(12744) == QUEST_STATUS_INCOMPLETE)
return true;
break;
case 29065: // Yazmina Oakenthorn
if (CAST_PLR(player)->GetQuestStatus(12743) == QUEST_STATUS_INCOMPLETE)
if (player->GetQuestStatus(12743) == QUEST_STATUS_INCOMPLETE)
return true;
break;
case 29071: // Antoine Brack
if (CAST_PLR(player)->GetQuestStatus(12750) == QUEST_STATUS_INCOMPLETE)
if (player->GetQuestStatus(12750) == QUEST_STATUS_INCOMPLETE)
return true;
break;
case 29032: // Malar Bravehorn
if (CAST_PLR(player)->GetQuestStatus(12739) == QUEST_STATUS_INCOMPLETE)
if (player->GetQuestStatus(12739) == QUEST_STATUS_INCOMPLETE)
return true;
break;
case 29068: // Goby Blastenheimer
if (CAST_PLR(player)->GetQuestStatus(12745) == QUEST_STATUS_INCOMPLETE)
if (player->GetQuestStatus(12745) == QUEST_STATUS_INCOMPLETE)
return true;
break;
case 29073: // Iggy Darktusk
if (CAST_PLR(player)->GetQuestStatus(12749) == QUEST_STATUS_INCOMPLETE)
if (player->GetQuestStatus(12749) == QUEST_STATUS_INCOMPLETE)
return true;
break;
case 29074: // Lady Eonys
if (CAST_PLR(player)->GetQuestStatus(12747) == QUEST_STATUS_INCOMPLETE)
if (player->GetQuestStatus(12747) == QUEST_STATUS_INCOMPLETE)
return true;
break;
case 29070: // Valok the Righteous
if (CAST_PLR(player)->GetQuestStatus(12746) == QUEST_STATUS_INCOMPLETE)
if (player->GetQuestStatus(12746) == QUEST_STATUS_INCOMPLETE)
return true;
break;
}
@@ -681,7 +681,7 @@ public:
if (PlayerGUID || who->GetTypeId() != TYPEID_PLAYER || !who->IsWithinDist(me, INTERACTION_DISTANCE))
return;
if (MeetQuestCondition(who))
if (MeetQuestCondition(who->ToPlayer()))
PlayerGUID = who->GetGUID();
}
@@ -348,7 +348,7 @@ public:
if (wait <= diff)
{
die = false;
if (Unit* body = Unit::GetUnit((*me), bodyGUID))
if (Unit* body = Unit::GetUnit(*me, bodyGUID))
body->Kill(body);
me->Kill(me);
}
@@ -475,7 +475,7 @@ public:
wp_reached = false;
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
SaySound(SAY_ENTRANCE);
if (Unit* player = Unit::GetUnit((*me), PlayerGUID))
if (Unit* player = Unit::GetUnit(*me, PlayerGUID))
DoStartMovement(player);
break;
}
@@ -586,7 +586,7 @@ public:
std::list<HostileReference*>::const_iterator itr;
for (itr = caster->getThreatManager().getThreatList().begin(); itr != caster->getThreatManager().getThreatList().end(); ++itr)
{
Unit* unit = Unit::GetUnit((*me), (*itr)->getUnitGuid());
Unit* unit = Unit::GetUnit(*me, (*itr)->getUnitGuid());
if (unit && unit->isAlive() && unit != caster)
me->AddThreat(unit, caster->getThreatManager().getThreat(unit));
}
@@ -606,7 +606,7 @@ public:
if (!headGUID)
headGUID = DoSpawnCreature(HEAD, float(rand()%6), float(rand()%6), 0, 0, TEMPSUMMON_DEAD_DESPAWN, 0)->GetGUID();
Unit* Head = Unit::GetUnit((*me), headGUID);
Unit* Head = Unit::GetUnit(*me, headGUID);
if (Head && Head->isAlive())
{
Head->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
@@ -817,7 +817,7 @@ public:
if (!debuffGUID)
return;
Unit* debuff = Unit::GetUnit((*me), debuffGUID);
Unit* debuff = Unit::GetUnit(*me, debuffGUID);
if (debuff)
{
debuff->SetVisible(false);
@@ -132,7 +132,7 @@ public:
return;
//On first death, fake death and open door, as well as initiate whitemane if exist
if (Unit* Whitemane = Unit::GetUnit((*me), instance->GetData64(DATA_WHITEMANE)))
if (Unit* Whitemane = Unit::GetUnit(*me, instance->GetData64(DATA_WHITEMANE)))
{
instance->SetData(TYPE_MOGRAINE_AND_WHITE_EVENT, IN_PROGRESS);
@@ -181,7 +181,7 @@ public:
if (_bHasDied && !_bHeal && instance && instance->GetData(TYPE_MOGRAINE_AND_WHITE_EVENT) == SPECIAL)
{
//On ressurection, stop fake death and heal whitemane and resume fight
if (Unit* Whitemane = Unit::GetUnit((*me), instance->GetData64(DATA_WHITEMANE)))
if (Unit* Whitemane = Unit::GetUnit(*me, instance->GetData64(DATA_WHITEMANE)))
{
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
me->SetStandState(UNIT_STAND_STATE_STAND);
@@ -292,7 +292,7 @@ public:
//When casting resuruction make sure to delay so on rez when reinstate battle deepsleep runs out
if (instance && Wait_Timer <= diff)
{
if (Unit* Mograine = Unit::GetUnit((*me), instance->GetData64(DATA_MOGRAINE)))
if (Unit* Mograine = Unit::GetUnit(*me, instance->GetData64(DATA_MOGRAINE)))
{
DoCast(Mograine, SPELL_SCARLETRESURRECTION);
DoScriptText(SAY_WH_RESSURECT, me);
@@ -120,7 +120,7 @@ public:
if (instance)
{
Unit* Temp = Unit::GetUnit((*me), instance->GetData64(DATA_ALYTHESS));
Unit* Temp = Unit::GetUnit(*me, instance->GetData64(DATA_ALYTHESS));
if (Temp)
{
if (Temp->isDead())
@@ -152,7 +152,7 @@ public:
if (instance)
{
Unit* Temp = Unit::GetUnit((*me), instance->GetData64(DATA_ALYTHESS));
Unit* Temp = Unit::GetUnit(*me, instance->GetData64(DATA_ALYTHESS));
if (Temp && Temp->isAlive() && !(Temp->getVictim()))
CAST_CRE(Temp)->AI()->AttackStart(who);
}
@@ -231,7 +231,7 @@ public:
if (instance)
{
Unit* Temp = NULL;
Temp = Unit::GetUnit((*me), instance->GetData64(DATA_ALYTHESS));
Temp = Unit::GetUnit(*me, instance->GetData64(DATA_ALYTHESS));
if (Temp && Temp->isDead())
{
DoScriptText(YELL_SISTER_ALYTHESS_DEAD, me);
@@ -382,7 +382,7 @@ public:
if (instance)
{
Unit* Temp = Unit::GetUnit((*me), instance->GetData64(DATA_SACROLASH));
Unit* Temp = Unit::GetUnit(*me, instance->GetData64(DATA_SACROLASH));
if (Temp)
{
if (Temp->isDead())
@@ -415,7 +415,7 @@ public:
if (instance)
{
Unit* Temp = Unit::GetUnit((*me), instance->GetData64(DATA_SACROLASH));
Unit* Temp = Unit::GetUnit(*me, instance->GetData64(DATA_SACROLASH));
if (Temp && Temp->isAlive() && !(Temp->getVictim()))
CAST_CRE(Temp)->AI()->AttackStart(who);
}
@@ -567,7 +567,7 @@ public:
if (instance)
{
Unit* Temp = NULL;
Temp = Unit::GetUnit((*me), instance->GetData64(DATA_SACROLASH));
Temp = Unit::GetUnit(*me, instance->GetData64(DATA_SACROLASH));
if (Temp && Temp->isDead())
{
DoScriptText(YELL_SISTER_SACROLASH_DEAD, me);
@@ -267,7 +267,7 @@ class boss_hexlord_malacrass : public CreatureScript
for (uint8 i = 0; i < 4; ++i)
{
Unit* Temp = Unit::GetUnit((*me), AddGUID[i]);
Unit* Temp = Unit::GetUnit(*me, AddGUID[i]);
if (Temp && Temp->isAlive())
CAST_CRE(Temp)->AI()->AttackStart(me->getVictim());
else
@@ -303,7 +303,7 @@ class boss_hexlord_malacrass : public CreatureScript
for (uint8 i = 0; i < 4; ++i)
{
Unit* Temp = Unit::GetUnit((*me), AddGUID[i]);
Unit* Temp = Unit::GetUnit(*me, AddGUID[i]);
if (Temp && Temp->isAlive())
Temp->DealDamage(Temp, Temp->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false);
}
@@ -289,7 +289,7 @@ class boss_janalai : public CreatureScript
{
if (BombCount < 40)
{
if (Unit* FireBomb = Unit::GetUnit((*me), FireBombGUIDs[BombCount]))
if (Unit* FireBomb = Unit::GetUnit(*me, FireBombGUIDs[BombCount]))
{
FireBomb->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
DoCast(FireBomb, SPELL_FIRE_BOMB_THROW, true);
@@ -32,15 +32,11 @@ EndScriptData */
class boss_gahzranka : public CreatureScript
{
public:
boss_gahzranka()
: CreatureScript("boss_gahzranka")
{
}
boss_gahzranka() : CreatureScript("boss_gahzranka") { }
struct boss_gahzrankaAI : public ScriptedAI
{
boss_gahzrankaAI(Creature* creature) : ScriptedAI(creature) {}
boss_gahzrankaAI(Creature* creature) : ScriptedAI(creature) { }
uint32 Frostbreath_Timer;
uint32 MassiveGeyser_Timer;
uint32 Slam_Timer;
@@ -32,15 +32,11 @@ EndScriptData */
class boss_grilek : public CreatureScript
{
public:
boss_grilek()
: CreatureScript("boss_grilek")
{
}
boss_grilek() : CreatureScript("boss_grilek") { }
struct boss_grilekAI : public ScriptedAI
{
boss_grilekAI(Creature* creature) : ScriptedAI(creature) {}
boss_grilekAI(Creature* creature) : ScriptedAI(creature) { }
uint32 Avartar_Timer;
uint32 GroundTremor_Timer;
@@ -212,7 +212,7 @@ class mob_healing_ward : public CreatureScript
{
if (instance)
{
Unit* pJindo = Unit::GetUnit((*me), instance->GetData64(DATA_JINDO));
Unit* pJindo = Unit::GetUnit(*me, instance->GetData64(DATA_JINDO));
if (pJindo)
DoCast(pJindo, SPELL_HEAL);
}
@@ -134,7 +134,7 @@ class boss_thekal : public CreatureScript
if (instance->GetData(DATA_LORKHAN) == SPECIAL)
{
//Resurrect LorKhan
if (Unit* pLorKhan = Unit::GetUnit((*me), instance->GetData64(DATA_LORKHAN)))
if (Unit* pLorKhan = Unit::GetUnit(*me, instance->GetData64(DATA_LORKHAN)))
{
pLorKhan->SetUInt32Value(UNIT_FIELD_BYTES_1, 0);
pLorKhan->setFaction(14);
@@ -148,7 +148,7 @@ class boss_thekal : public CreatureScript
if (instance->GetData(DATA_ZATH) == SPECIAL)
{
//Resurrect Zath
Unit* pZath = Unit::GetUnit((*me), instance->GetData64(DATA_ZATH));
Unit* pZath = Unit::GetUnit(*me, instance->GetData64(DATA_ZATH));
if (pZath)
{
pZath->SetUInt32Value(UNIT_FIELD_BYTES_1, 0);
@@ -337,8 +337,8 @@ class mob_zealot_lorkhan : public CreatureScript
{
if (instance)
{
Unit* pThekal = Unit::GetUnit((*me), instance->GetData64(DATA_THEKAL));
Unit* pZath = Unit::GetUnit((*me), instance->GetData64(DATA_ZATH));
Unit* pThekal = Unit::GetUnit(*me, instance->GetData64(DATA_THEKAL));
Unit* pZath = Unit::GetUnit(*me, instance->GetData64(DATA_ZATH));
if (!pThekal || !pZath)
return;
@@ -374,7 +374,7 @@ class mob_zealot_lorkhan : public CreatureScript
if (instance->GetData(DATA_THEKAL) == SPECIAL)
{
//Resurrect Thekal
if (Unit* pThekal = Unit::GetUnit((*me), instance->GetData64(DATA_THEKAL)))
if (Unit* pThekal = Unit::GetUnit(*me, instance->GetData64(DATA_THEKAL)))
{
pThekal->SetUInt32Value(UNIT_FIELD_BYTES_1, 0);
pThekal->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
@@ -386,7 +386,7 @@ class mob_zealot_lorkhan : public CreatureScript
if (instance->GetData(DATA_ZATH) == SPECIAL)
{
//Resurrect Zath
if (Unit* pZath = Unit::GetUnit((*me), instance->GetData64(DATA_ZATH)))
if (Unit* pZath = Unit::GetUnit(*me, instance->GetData64(DATA_ZATH)))
{
pZath->SetUInt32Value(UNIT_FIELD_BYTES_1, 0);
pZath->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
@@ -527,7 +527,7 @@ class mob_zealot_zath : public CreatureScript
if (instance->GetData(DATA_LORKHAN) == SPECIAL)
{
//Resurrect LorKhan
if (Unit* pLorKhan = Unit::GetUnit((*me), instance->GetData64(DATA_LORKHAN)))
if (Unit* pLorKhan = Unit::GetUnit(*me, instance->GetData64(DATA_LORKHAN)))
{
pLorKhan->SetUInt32Value(UNIT_FIELD_BYTES_1, 0);
pLorKhan->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
@@ -539,7 +539,7 @@ class mob_zealot_zath : public CreatureScript
if (instance->GetData(DATA_THEKAL) == SPECIAL)
{
//Resurrect Thekal
if (Unit* pThekal = Unit::GetUnit((*me), instance->GetData64(DATA_THEKAL)))
if (Unit* pThekal = Unit::GetUnit(*me, instance->GetData64(DATA_THEKAL)))
{
pThekal->SetUInt32Value(UNIT_FIELD_BYTES_1, 0);
pThekal->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
@@ -32,23 +32,14 @@ EndContentData */
#include "ScriptPCH.h"
//id8530 - cannibal ghoul
//id8531 - gibbering ghoul
//id8532 - diseased flayer
class mobs_ghoul_flayer : public CreatureScript
{
public:
mobs_ghoul_flayer() : CreatureScript("mobs_ghoul_flayer") { }
CreatureAI* GetAI(Creature* creature) const
{
return new mobs_ghoul_flayerAI (creature);
}
struct mobs_ghoul_flayerAI : public ScriptedAI
{
mobs_ghoul_flayerAI(Creature* creature) : ScriptedAI(creature) {}
mobs_ghoul_flayerAI(Creature* creature) : ScriptedAI(creature) { }
void Reset() {}
@@ -56,10 +47,15 @@ public:
void JustDied(Unit* killer)
{
if (Player* player = killer->ToPlayer())
if (killer->GetTypeId() == TYPEID_PLAYER)
me->SummonCreature(11064, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN, 60000);
}
};
CreatureAI* GetAI(Creature* creature) const
{
return new mobs_ghoul_flayerAI (creature);
}
};
/*######
@@ -129,7 +129,7 @@ public:
PlayerGUID = caster->GetGUID();
if (PlayerGUID)
{
Unit* player = Unit::GetUnit((*me), PlayerGUID);
Unit* player = Unit::GetUnit(*me, PlayerGUID);
if (player && CAST_PLR(player)->GetQuestStatus(QUESTG) == QUEST_STATUS_INCOMPLETE)
DoCast(player, 45110, true);
}
@@ -403,7 +403,7 @@ public:
{
if (Unit* summoner = me->ToTempSummon()->GetSummoner())
{
if (summoner && summoner->GetTypeId() == TYPEID_UNIT && summoner->isAlive() && !summoner->isInCombat())
if (summoner->GetTypeId() == TYPEID_UNIT && summoner->isAlive() && !summoner->isInCombat())
summoner->ToCreature()->AI()->AttackStart(who);
}
}
@@ -417,7 +417,7 @@ public:
{
if (Unit* summoner = me->ToTempSummon()->GetSummoner())
{
if (summoner && summoner->GetTypeId() == TYPEID_UNIT && summoner->isAlive())
if (summoner->GetTypeId() == TYPEID_UNIT && summoner->isAlive())
summoner->ToCreature()->DisappearAndDie();
}
}
@@ -119,7 +119,7 @@ public:
{
if (waypointId == 7 && instance)
{
Unit* target = Unit::GetUnit((*me), instance->GetData64(DATA_JAINAPROUDMOORE));
Unit* target = Unit::GetUnit(*me, instance->GetData64(DATA_JAINAPROUDMOORE));
if (target && target->isAlive())
me->AddThreat(target, 0.0f);
}
@@ -117,7 +117,7 @@ public:
{
if (CheckTimer <= diff)
{
if (Unit* Archimonde = Unit::GetUnit((*me), ArchimondeGUID))
if (Unit* Archimonde = Unit::GetUnit(*me, ArchimondeGUID))
{
if (Archimonde->HealthBelowPct(2) || !Archimonde->isAlive())
DoCast(me, SPELL_DENOUEMENT_WISP);
@@ -367,7 +367,7 @@ public:
std::list<HostileReference*>::const_iterator itr = m_threatlist.begin();
for (; itr != m_threatlist.end(); ++itr)
{
Unit* unit = Unit::GetUnit((*me), (*itr)->getUnitGuid());
Unit* unit = Unit::GetUnit(*me, (*itr)->getUnitGuid());
if (unit && unit->isAlive())
targets.push_back(unit);
}
@@ -115,7 +115,7 @@ public:
{
if (waypointId == 7 && instance)
{
Unit* target = Unit::GetUnit((*me), instance->GetData64(DATA_THRALL));
Unit* target = Unit::GetUnit(*me, instance->GetData64(DATA_THRALL));
if (target && target->isAlive())
me->AddThreat(target, 0.0f);
}
@@ -107,7 +107,7 @@ public:
{
if (waypointId == 7 && instance)
{
Unit* target = Unit::GetUnit((*me), instance->GetData64(DATA_THRALL));
Unit* target = Unit::GetUnit(*me, instance->GetData64(DATA_THRALL));
if (target && target->isAlive())
me->AddThreat(target, 0.0f);
}
@@ -109,7 +109,7 @@ public:
{
if (waypointId == 7 && instance)
{
Unit* target = Unit::GetUnit((*me), instance->GetData64(DATA_JAINAPROUDMOORE));
Unit* target = Unit::GetUnit(*me, instance->GetData64(DATA_JAINAPROUDMOORE));
if (target && target->isAlive())
me->AddThreat(target, 0.0f);
}
@@ -855,7 +855,7 @@ void hyjalAI::UpdateAI(const uint32 diff)
{
if (BossGUID[i])
{
Unit* unit = Unit::GetUnit((*me), BossGUID[i]);
Unit* unit = Unit::GetUnit(*me, BossGUID[i]);
if (unit && (!unit->isAlive()))
{
if (BossGUID[i] == BossGUID[0])
@@ -991,7 +991,7 @@ void hyjalAI::WaypointReached(uint32 waypointId)
DoCast(me, SPELL_MASS_TELEPORT, false);
if (me->GetEntry() == THRALL && DummyGuid)
{
Unit* Dummy = Unit::GetUnit((*me), DummyGuid);
Unit* Dummy = Unit::GetUnit(*me, DummyGuid);
if (Dummy)
{
CAST_AI(hyjalAI, CAST_CRE(Dummy)->AI())->DoMassTeleport = true;
@@ -432,7 +432,7 @@ public:
{
if (instance->GetData(DATA_ALLIANCE_RETREAT))//2.alliance boss down, attack thrall
{
Unit* target = Unit::GetUnit((*me), instance->GetData64(DATA_THRALL));
Unit* target = Unit::GetUnit(*me, instance->GetData64(DATA_THRALL));
if (target && target->isAlive())
me->AddThreat(target, 0.0f);
}
@@ -473,7 +473,7 @@ public:
{
if (instance->GetData(DATA_ALLIANCE_RETREAT) && !instance->GetData(DATA_HORDE_RETREAT))
{
Unit* target = Unit::GetUnit((*me), instance->GetData64(DATA_THRALL));
Unit* target = Unit::GetUnit(*me, instance->GetData64(DATA_THRALL));
if (target && target->isAlive())
me->AddThreat(target, 0.0f);
} else if (instance->GetData(DATA_ALLIANCE_RETREAT) && instance->GetData(DATA_HORDE_RETREAT)){
@@ -557,13 +557,13 @@ public:
{
if (instance->GetData(DATA_ALLIANCE_RETREAT))//2.alliance boss down, attack thrall
{
Unit* target = Unit::GetUnit((*me), instance->GetData64(DATA_THRALL));
Unit* target = Unit::GetUnit(*me, instance->GetData64(DATA_THRALL));
if (target && target->isAlive())
me->AddThreat(target, 0.0f);
}
else
{
Unit* target = Unit::GetUnit((*me), instance->GetData64(DATA_JAINAPROUDMOORE));
Unit* target = Unit::GetUnit(*me, instance->GetData64(DATA_JAINAPROUDMOORE));
if (target && target->isAlive())
me->AddThreat(target, 0.0f);
}
@@ -661,13 +661,13 @@ public:
{
if (instance->GetData(DATA_ALLIANCE_RETREAT))//2.alliance boss down, attack thrall
{
Unit* target = Unit::GetUnit((*me), instance->GetData64(DATA_THRALL));
Unit* target = Unit::GetUnit(*me, instance->GetData64(DATA_THRALL));
if (target && target->isAlive())
me->AddThreat(target, 0.0f);
}
else
{
Unit* target = Unit::GetUnit((*me), instance->GetData64(DATA_JAINAPROUDMOORE));
Unit* target = Unit::GetUnit(*me, instance->GetData64(DATA_JAINAPROUDMOORE));
if (target && target->isAlive())
me->AddThreat(target, 0.0f);
}
@@ -780,13 +780,13 @@ public:
{
if (instance->GetData(DATA_ALLIANCE_RETREAT))//2.alliance boss down, attack thrall
{
Unit* target = Unit::GetUnit((*me), instance->GetData64(DATA_THRALL));
Unit* target = Unit::GetUnit(*me, instance->GetData64(DATA_THRALL));
if (target && target->isAlive())
me->AddThreat(target, 0.0f);
}
else
{
Unit* target = Unit::GetUnit((*me), instance->GetData64(DATA_JAINAPROUDMOORE));
Unit* target = Unit::GetUnit(*me, instance->GetData64(DATA_JAINAPROUDMOORE));
if (target && target->isAlive())
me->AddThreat(target, 0.0f);
}
@@ -900,13 +900,13 @@ public:
{
if (instance->GetData(DATA_ALLIANCE_RETREAT))//2.alliance boss down, attack thrall
{
Unit* target = Unit::GetUnit((*me), instance->GetData64(DATA_THRALL));
Unit* target = Unit::GetUnit(*me, instance->GetData64(DATA_THRALL));
if (target && target->isAlive())
me->AddThreat(target, 0.0f);
}
else
{
Unit* target = Unit::GetUnit((*me), instance->GetData64(DATA_JAINAPROUDMOORE));
Unit* target = Unit::GetUnit(*me, instance->GetData64(DATA_JAINAPROUDMOORE));
if (target && target->isAlive())
me->AddThreat(target, 0.0f);
}
@@ -1001,13 +1001,13 @@ public:
{
if (instance->GetData(DATA_ALLIANCE_RETREAT))//2.alliance boss down, attack thrall
{
Unit* target = Unit::GetUnit((*me), instance->GetData64(DATA_THRALL));
Unit* target = Unit::GetUnit(*me, instance->GetData64(DATA_THRALL));
if (target && target->isAlive())
me->AddThreat(target, 0.0f);
}
else
{
Unit* target = Unit::GetUnit((*me), instance->GetData64(DATA_JAINAPROUDMOORE));
Unit* target = Unit::GetUnit(*me, instance->GetData64(DATA_JAINAPROUDMOORE));
if (target && target->isAlive())
me->AddThreat(target, 0.0f);
}
@@ -1093,13 +1093,13 @@ public:
{
if (instance->GetData(DATA_ALLIANCE_RETREAT))//2.alliance boss down, attack thrall
{
Unit* target = Unit::GetUnit((*me), instance->GetData64(DATA_THRALL));
Unit* target = Unit::GetUnit(*me, instance->GetData64(DATA_THRALL));
if (target && target->isAlive())
me->AddThreat(target, 0.0f);
}
else
{
Unit* target = Unit::GetUnit((*me), instance->GetData64(DATA_JAINAPROUDMOORE));
Unit* target = Unit::GetUnit(*me, instance->GetData64(DATA_JAINAPROUDMOORE));
if (target && target->isAlive())
me->AddThreat(target, 0.0f);
}
@@ -1186,7 +1186,7 @@ public:
{
if (waypointId == 2 && instance && !IsOverrun)
{
Unit* target = Unit::GetUnit((*me), instance->GetData64(DATA_THRALL));
Unit* target = Unit::GetUnit(*me, instance->GetData64(DATA_THRALL));
if (target && target->isAlive())
{
me->AddThreat(target, 0.0f);
@@ -1305,7 +1305,7 @@ public:
{
if (waypointId == 2 && instance && !IsOverrun)
{
Unit* target = Unit::GetUnit((*me), instance->GetData64(DATA_THRALL));
Unit* target = Unit::GetUnit(*me, instance->GetData64(DATA_THRALL));
if (target && target->isAlive())
{
me->AddThreat(target, 0.0f);
@@ -413,7 +413,7 @@ public:
case 94:
if (uint64 TarethaGUID = instance->GetData64(DATA_TARETHA))
{
if (Unit* Taretha = Unit::GetUnit((*me), TarethaGUID))
if (Unit* Taretha = Unit::GetUnit(*me, TarethaGUID))
DoScriptText(SAY_TA_ESCAPED, Taretha, me);
}
break;
@@ -303,8 +303,8 @@ public:
{
if (instance)
{
Unit* pKri = Unit::GetUnit((*me), instance->GetData64(DATA_KRI));
Unit* pVem = Unit::GetUnit((*me), instance->GetData64(DATA_VEM));
Unit* pKri = Unit::GetUnit(*me, instance->GetData64(DATA_KRI));
Unit* pVem = Unit::GetUnit(*me, instance->GetData64(DATA_VEM));
switch (urand(0, 2))
{
+1 -5
View File
@@ -441,11 +441,7 @@ class npc_muglash : public CreatureScript
class go_naga_brazier : public GameObjectScript
{
public:
go_naga_brazier()
: GameObjectScript("go_naga_brazier")
{
}
go_naga_brazier() : GameObjectScript("go_naga_brazier") { }
bool OnGossipHello(Player* /*player*/, GameObject* go)
{
@@ -87,7 +87,7 @@ public:
std::list<HostileReference*>::const_iterator i = m_threatlist.begin();
for (i = m_threatlist.begin(); i!= m_threatlist.end(); ++i)
{
Unit* unit = Unit::GetUnit((*me), (*i)->getUnitGuid());
Unit* unit = Unit::GetUnit(*me, (*i)->getUnitGuid());
if (unit && (unit->GetTypeId() == TYPEID_PLAYER))
{
DoTeleportPlayer(unit, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ()+3, unit->GetOrientation());
@@ -951,7 +951,7 @@ struct dummy_dragonAI : public ScriptedAI
return;
// Twilight Revenge to main boss
if (Unit* pSartharion = Unit::GetUnit((*me), instance->GetData64(DATA_SARTHARION)))
if (Unit* pSartharion = Unit::GetUnit(*me, instance->GetData64(DATA_SARTHARION)))
if (pSartharion->isAlive())
{
pSartharion->RemoveAurasDueToSpell(uiSpellId);
@@ -414,8 +414,8 @@ public:
void JustDied(Unit* /*killer*/)
{
if (me->isSummon())
if (Unit* summoner = me->ToTempSummon()->GetSummoner())
if (TempSummon* summ = me->ToTempSummon())
if (Unit* summoner = summ->GetSummoner())
if (summoner->isAlive())
summoner->GetAI()->SetData(1, 0);
}
@@ -292,7 +292,7 @@ struct boss_faction_championsAI : public ScriptedAI
std::list<HostileReference*> const& tList = me->getThreatManager().getThreatList();
for (std::list<HostileReference*>::const_iterator itr = tList.begin(); itr != tList.end(); ++itr)
{
Unit* unit = Unit::GetUnit((*me), (*itr)->getUnitGuid());
Unit* unit = Unit::GetUnit(*me, (*itr)->getUnitGuid());
if (unit && me->getThreatManager().getThreat(unit))
{
if (unit->GetTypeId()==TYPEID_PLAYER)
@@ -384,7 +384,7 @@ struct boss_faction_championsAI : public ScriptedAI
Unit* target;
for (iter = tList.begin(); iter!=tList.end(); ++iter)
{
target = Unit::GetUnit((*me), (*iter)->getUnitGuid());
target = Unit::GetUnit(*me, (*iter)->getUnitGuid());
if (target && target->getPowerType() == POWER_MANA)
return target;
}
@@ -399,7 +399,7 @@ struct boss_faction_championsAI : public ScriptedAI
Unit* target;
for (iter = tList.begin(); iter!=tList.end(); ++iter)
{
target = Unit::GetUnit((*me), (*iter)->getUnitGuid());
target = Unit::GetUnit(*me, (*iter)->getUnitGuid());
if (target && me->GetDistance2d(target) < distance)
++count;
}
@@ -136,10 +136,10 @@ public:
if (!instance)
return false;
Creature* Thane = CAST_CRE(Unit::GetUnit(*me, instance->GetData64(DATA_THANE)));
Creature* Lady = CAST_CRE(Unit::GetUnit(*me, instance->GetData64(DATA_LADY)));
Creature* Baron = CAST_CRE(Unit::GetUnit(*me, instance->GetData64(DATA_BARON)));
Creature* Sir = CAST_CRE(Unit::GetUnit(*me, instance->GetData64(DATA_SIR)));
Creature* Thane = Unit::GetCreature(*me, instance->GetData64(DATA_THANE));
Creature* Lady = Unit::GetCreature(*me, instance->GetData64(DATA_LADY));
Creature* Baron = Unit::GetCreature(*me, instance->GetData64(DATA_BARON));
Creature* Sir = Unit::GetCreature(*me, instance->GetData64(DATA_SIR));
if (Thane && Lady && Baron && Sir)
{
@@ -667,7 +667,7 @@ public:
if (!instance || instance->IsEncounterInProgress() || instance->GetBossState(BOSS_KELTHUZAD) == DONE)
return false;
Creature* pKelthuzad = CAST_CRE(Unit::GetUnit(*player, instance->GetData64(DATA_KELTHUZAD)));
Creature* pKelthuzad = Unit::GetCreature(*player, instance->GetData64(DATA_KELTHUZAD));
if (!pKelthuzad)
return false;
@@ -714,7 +714,6 @@ public:
return true;
}
};
class npc_kelthuzad_abomination : public CreatureScript
@@ -726,16 +725,13 @@ class npc_kelthuzad_abomination : public CreatureScript
{
npc_kelthuzad_abominationAI(Creature* creature) : ScriptedAI(creature)
{
instance = me->GetInstanceScript();
_instance = creature->GetInstanceScript();
}
InstanceScript* instance;
EventMap events;
void Reset()
{
events.Reset();
events.ScheduleEvent(EVENT_MORTAL_WOUND, urand(2000, 5000));
_events.Reset();
_events.ScheduleEvent(EVENT_MORTAL_WOUND, urand(2000, 5000));
DoCast(me, SPELL_FRENZY, true);
}
@@ -744,15 +740,15 @@ class npc_kelthuzad_abomination : public CreatureScript
if (!UpdateVictim())
return;
events.Update(diff);
_events.Update(diff);
while (uint32 eventId = events.ExecuteEvent())
while (uint32 eventId = _events.ExecuteEvent())
{
switch (eventId)
{
case EVENT_MORTAL_WOUND:
DoCastVictim(SPELL_MORTAL_WOUND, true);
events.ScheduleEvent(EVENT_MORTAL_WOUND, urand(10000, 15000));
_events.ScheduleEvent(EVENT_MORTAL_WOUND, urand(10000, 15000));
break;
default:
break;
@@ -762,9 +758,13 @@ class npc_kelthuzad_abomination : public CreatureScript
void JustDied(Unit* /*killer*/)
{
if (instance)
instance->SetData(DATA_ABOMINATION_KILLED, instance->GetData(DATA_ABOMINATION_KILLED) + 1);
if (_instance)
_instance->SetData(DATA_ABOMINATION_KILLED, _instance->GetData(DATA_ABOMINATION_KILLED) + 1);
}
private:
InstanceScript* _instance;
EventMap _events;
};
CreatureAI* GetAI(Creature* creature) const
@@ -776,9 +776,7 @@ class npc_kelthuzad_abomination : public CreatureScript
class achievement_just_cant_get_enough : public AchievementCriteriaScript
{
public:
achievement_just_cant_get_enough() : AchievementCriteriaScript("achievement_just_cant_get_enough")
{
}
achievement_just_cant_get_enough() : AchievementCriteriaScript("achievement_just_cant_get_enough") { }
bool OnCheck(Player* /*player*/, Unit* target)
{
@@ -195,7 +195,7 @@ public:
std::list<HostileReference*>::const_iterator i = me->getThreatManager().getThreatList().begin();
for (; i != me->getThreatManager().getThreatList().end(); ++i)
{
Unit* temp = Unit::GetUnit((*me), (*i)->getUnitGuid());
Unit* temp = Unit::GetUnit(*me, (*i)->getUnitGuid());
if (temp && temp->GetTypeId() == TYPEID_PLAYER && temp->getClass() == Healer)
{
target = temp;
@@ -371,15 +371,15 @@ class npc_scorch_ground : public CreatureScript
creature->SetDisplayId(16925); //model 2 in db cannot overwrite wdb fields
}
void MoveInLineOfSight(Unit* unit)
void MoveInLineOfSight(Unit* who)
{
if (!_heat)
{
if (unit->GetEntry() == NPC_IRON_CONSTRUCT)
if (who->GetEntry() == NPC_IRON_CONSTRUCT)
{
if (!unit->HasAura(SPELL_HEAT) || !unit->HasAura(SPELL_MOLTEN))
if (!who->HasAura(SPELL_HEAT) || !who->HasAura(SPELL_MOLTEN))
{
_constructGUID = unit->GetGUID();
_constructGUID = who->GetGUID();
_heat = true;
}
}
@@ -344,7 +344,7 @@ public:
{
if (type != POINT_MOTION_TYPE)
return;
Unit* ingvar = Unit::GetUnit((*me), instance ? instance->GetData64(DATA_INGVAR) : 0);
Unit* ingvar = Unit::GetUnit(*me, instance ? instance->GetData64(DATA_INGVAR) : 0);
if (ingvar)
{
switch (id)
@@ -93,7 +93,7 @@ public:
ghost = (me->GetEntry() == MOB_SKARVALD_GHOST);
if (!ghost && instance)
{
Unit* dalronn = Unit::GetUnit((*me), instance->GetData64(DATA_DALRONN));
Unit* dalronn = Unit::GetUnit(*me, instance->GetData64(DATA_DALRONN));
if (dalronn && dalronn->isDead())
CAST_CRE(dalronn)->Respawn();
@@ -107,7 +107,7 @@ public:
{
DoScriptText(YELL_SKARVALD_AGGRO, me);
Unit* dalronn = Unit::GetUnit((*me), instance->GetData64(DATA_DALRONN));
Unit* dalronn = Unit::GetUnit(*me, instance->GetData64(DATA_DALRONN));
if (dalronn && dalronn->isAlive() && !dalronn->getVictim())
dalronn->getThreatManager().addThreat(who, 0.0f);
@@ -119,7 +119,7 @@ public:
{
if (!ghost && instance)
{
Unit* dalronn = Unit::GetUnit((*me), instance->GetData64(DATA_DALRONN));
Unit* dalronn = Unit::GetUnit(*me, instance->GetData64(DATA_DALRONN));
if (dalronn)
{
if (dalronn->isDead())
@@ -250,7 +250,7 @@ public:
ghost = me->GetEntry() == MOB_DALRONN_GHOST;
if (!ghost && instance)
{
Unit* skarvald = Unit::GetUnit((*me), instance->GetData64(DATA_SKARVALD));
Unit* skarvald = Unit::GetUnit(*me, instance->GetData64(DATA_SKARVALD));
if (skarvald && skarvald->isDead())
CAST_CRE(skarvald)->Respawn();
@@ -262,7 +262,7 @@ public:
{
if (!ghost && instance)
{
Unit* skarvald = Unit::GetUnit((*me), instance->GetData64(DATA_SKARVALD));
Unit* skarvald = Unit::GetUnit(*me, instance->GetData64(DATA_SKARVALD));
if (skarvald && skarvald->isAlive() && !skarvald->getVictim())
skarvald->getThreatManager().addThreat(who, 0.0f);
@@ -277,7 +277,7 @@ public:
{
if (!ghost && instance)
{
Unit* skarvald = Unit::GetUnit((*me), instance->GetData64(DATA_SKARVALD));
Unit* skarvald = Unit::GetUnit(*me, instance->GetData64(DATA_SKARVALD));
if (skarvald)
{
if (skarvald->isDead())
@@ -306,10 +306,9 @@ public:
if (me->isDead())
return;
if (me->isSummon())
if (Unit* summoner = me->ToTempSummon()->GetSummoner())
if (summoner)
me->GetMotionMaster()->MovePoint(0, summoner->GetPositionX(), summoner->GetPositionY(), summoner->GetPositionZ());
if (TempSummon* summ = me->ToTempSummon())
if (Unit* summoner = summ->GetSummoner())
me->GetMotionMaster()->MovePoint(0, summoner->GetPositionX(), summoner->GetPositionY(), summoner->GetPositionZ());
Reset();
}
+18 -18
View File
@@ -567,9 +567,9 @@ public:
enter_timer -= diff;
}
void MoveInLineOfSight(Unit* unit)
void MoveInLineOfSight(Unit* who)
{
if (!unit || !drakeGUID)
if (!who || !drakeGUID)
return;
Creature* drake = Unit::GetCreature(*me, drakeGUID);
@@ -581,21 +581,21 @@ public:
if (!me->IsOnVehicle(drake) && !me->HasAura(SPELL_ICE_PRISON))
{
if (unit->IsVehicle() && me->IsWithinDist(unit, 25.0f, true) && unit->ToCreature() && unit->ToCreature()->GetEntry() == 29709)
if (who->IsVehicle() && me->IsWithinDist(who, 25.0f, true) && who->ToCreature() && who->ToCreature()->GetEntry() == 29709)
{
uint8 seat = unit->GetVehicleKit()->GetNextEmptySeat(0, true);
uint8 seat = who->GetVehicleKit()->GetNextEmptySeat(0, true);
if (seat <= 0)
return;
me->EnterVehicle(unit, seat);
me->EnterVehicle(who, seat);
me->SendMovementFlagUpdate();
hasEmptySeats = false;
}
}
if (unit->ToCreature() && me->IsOnVehicle(drake))
if (who->ToCreature() && me->IsOnVehicle(drake))
{
if (unit->ToCreature()->GetEntry() == NPC_QUEST_GIVER && me->IsWithinDist(unit, 15.0f, false))
if (who->ToCreature()->GetEntry() == NPC_QUEST_GIVER && me->IsWithinDist(who, 15.0f, false))
{
Unit* rider = drake->GetVehicleKit()->GetPassenger(0);
if (!rider)
@@ -616,7 +616,7 @@ public:
if (rider->ToPlayer())
rider->ToPlayer()->KilledMonsterCredit(29709, 0);
drake->ToCreature()->ForcedDespawn(0);
drake->ForcedDespawn(0);
}
}
}
@@ -748,14 +748,14 @@ class npc_hyldsmeet_protodrake : public CreatureScript
void AddSC_storm_peaks()
{
new npc_agnetta_tyrsdottar;
new npc_frostborn_scout;
new npc_thorim;
new npc_victorious_challenger;
new npc_loklira_crone;
new npc_injured_goblin;
new npc_roxi_ramrocket;
new npc_brunnhildar_prisoner;
new npc_icefang;
new npc_hyldsmeet_protodrake;
new npc_agnetta_tyrsdottar();
new npc_frostborn_scout();
new npc_thorim();
new npc_victorious_challenger();
new npc_loklira_crone();
new npc_injured_goblin();
new npc_roxi_ramrocket();
new npc_brunnhildar_prisoner();
new npc_icefang();
new npc_hyldsmeet_protodrake();
}
@@ -201,7 +201,7 @@ public:
{
for (uint8 i = 0; i < 5; ++i)
{
Unit* Portal = Unit::GetUnit((*me), PortalsGuid[i]);
Unit* Portal = Unit::GetUnit(*me, PortalsGuid[i]);
if (Portal && Portal->isAlive())
Portal->DealDamage(Portal, Portal->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false);
PortalsGuid[i] = 0;
@@ -166,7 +166,7 @@ public:
{
std::list<HostileReference*>& m_threatlist = me->getThreatManager().getThreatList();
for (std::list<HostileReference*>::const_iterator i = m_threatlist.begin(); i != m_threatlist.end(); ++i)
if (Unit* target = Unit::GetUnit((*me), (*i)->getUnitGuid()))
if (Unit* target = Unit::GetUnit(*me, (*i)->getUnitGuid()))
if (target->isAlive() && !me->IsWithinDist(target, 35, false))
DoCast(target, SPELL_THUNDERING_STORM, true);
ThunderingStorm_Timer = 15000;
@@ -189,7 +189,7 @@ public:
{
std::list<HostileReference*>& m_threatlist = me->getThreatManager().getThreatList();
for (std::list<HostileReference*>::const_iterator i = m_threatlist.begin(); i != m_threatlist.end(); ++i)
if (Unit* target = Unit::GetUnit((*me), (*i)->getUnitGuid()))
if (Unit* target = Unit::GetUnit(*me, (*i)->getUnitGuid()))
if (target->isAlive() && me->IsWithinMeleeRange(target))
{
me->TauntApply(target);
@@ -186,7 +186,7 @@ public:
void RevertThreatOnTarget(uint64 guid)
{
Unit* unit = NULL;
unit = Unit::GetUnit((*me), guid);
unit = Unit::GetUnit(*me, guid);
if (unit)
{
if (DoGetThreat(unit))
@@ -865,7 +865,7 @@ public:
{
if (GlaiveGUID[i])
{
Unit* Glaive = Unit::GetUnit((*me), GlaiveGUID[i]);
Unit* Glaive = Unit::GetUnit(*me, GlaiveGUID[i]);
if (Glaive)
{
Glaive->CastSpell(me, SPELL_GLAIVE_RETURNS, false); // Make it look like the Glaive flies back up to us
@@ -1492,7 +1492,7 @@ public:
std::vector<Unit*> eliteList;
for (std::list<HostileReference*>::const_iterator itr = threatList.begin(); itr != threatList.end(); ++itr)
{
Unit* unit = Unit::GetUnit((*me), (*itr)->getUnitGuid());
Unit* unit = Unit::GetUnit(*me, (*itr)->getUnitGuid());
if (unit && unit->GetEntry() == ILLIDARI_ELITE)
eliteList.push_back(unit);
}
@@ -1649,9 +1649,9 @@ public:
Unit* Channel = NULL, *Spirit[2] = { NULL, NULL };
if (ChannelCount <= 5)
{
Channel = Unit::GetUnit((*me), ChannelGUID);
Spirit[0] = Unit::GetUnit((*me), SpiritGUID[0]);
Spirit[1] = Unit::GetUnit((*me), SpiritGUID[1]);
Channel = Unit::GetUnit(*me, ChannelGUID);
Spirit[0] = Unit::GetUnit(*me, SpiritGUID[0]);
Spirit[1] = Unit::GetUnit(*me, SpiritGUID[1]);
if (!Channel || !Spirit[0] || !Spirit[1])
return;
}
@@ -2145,7 +2145,7 @@ public:
void JustDied(Unit* /*killer*/)
{
if (Unit* target = Unit::GetUnit((*me), TargetGUID))
if (Unit* target = Unit::GetUnit(*me, TargetGUID))
target->RemoveAurasDueToSpell(SPELL_PARALYZE);
}
@@ -250,7 +250,7 @@ public:
Unit* unit = NULL;
if (TargetGUID[i])
{
unit = Unit::GetUnit((*me), TargetGUID[i]);
unit = Unit::GetUnit(*me, TargetGUID[i]);
if (unit)
unit->CastSpell(unit, SPELL_ATTRACTION, true);
TargetGUID[i] = 0;
@@ -219,7 +219,7 @@ public:
std::list<HostileReference*>::const_iterator itr = m_threatlist.begin();
for (; itr != m_threatlist.end(); ++itr)
{
Unit* unit = Unit::GetUnit((*me), (*itr)->getUnitGuid());
Unit* unit = Unit::GetUnit(*me, (*itr)->getUnitGuid());
if (unit)
{
DoModifyThreatPercent(unit, -100);
@@ -441,7 +441,7 @@ public:
std::list<HostileReference*>::const_iterator itr = m_threatlist.begin();
for (; itr != m_threatlist.end(); ++itr)
{
Unit* unit = Unit::GetUnit((*me), (*itr)->getUnitGuid());
Unit* unit = Unit::GetUnit(*me, (*itr)->getUnitGuid());
if (unit && unit->isAlive() && (unit->GetTypeId() == TYPEID_PLAYER)) // Only alive players
targets.push_back(unit);
}
@@ -184,7 +184,7 @@ public:
std::list<HostileReference*>::const_iterator i = m_threatlist.begin();
for (i = m_threatlist.begin(); i!= m_threatlist.end(); ++i)
{
Unit* unit = Unit::GetUnit((*me), (*i)->getUnitGuid());
Unit* unit = Unit::GetUnit(*me, (*i)->getUnitGuid());
if (unit && me->IsWithinMeleeRange(unit))
{
if (unit->GetHealth() > health)
@@ -175,7 +175,7 @@ public:
std::list<Unit*> targets;
for (; itr != m_threatlist.end(); ++itr)
{
Unit* unit = Unit::GetUnit((*me), (*itr)->getUnitGuid());
Unit* unit = Unit::GetUnit(*me, (*itr)->getUnitGuid());
if (unit && unit->isAlive())
targets.push_back(unit);
}
@@ -325,7 +325,7 @@ public:
std::list<HostileReference*>::const_iterator i = m_threatlist.begin();
for (i = m_threatlist.begin(); i != m_threatlist.end(); ++i)
{
Unit* unit = Unit::GetUnit((*me), (*i)->getUnitGuid());
Unit* unit = Unit::GetUnit(*me, (*i)->getUnitGuid());
if (unit && unit->isAlive())
{
float threat = DoGetThreat(unit);
@@ -345,7 +345,7 @@ public:
Unit* Ghost = NULL;
if (GhostGUID)
Ghost = Unit::GetUnit((*me), GhostGUID);
Ghost = Unit::GetUnit(*me, GhostGUID);
if (Ghost && Ghost->isAlive() && Ghost->HasAura(SPELL_SHADOW_OF_DEATH))
{
/*float x, y, z;
@@ -392,7 +392,7 @@ public:
Done = true;
if (AggroTargetGUID)
{
Unit* unit = Unit::GetUnit((*me), AggroTargetGUID);
Unit* unit = Unit::GetUnit(*me, AggroTargetGUID);
if (unit)
AttackStart(unit);
@@ -299,7 +299,7 @@ public:
Unit* Member = NULL;
if (Council[i])
{
Member = Unit::GetUnit((*me), Council[i]);
Member = Unit::GetUnit(*me, Council[i]);
if (Member && Member->isAlive())
CAST_CRE(Member)->AI()->AttackStart(target);
}
@@ -512,7 +512,7 @@ public:
member = urand(1, 3);
if (member != 2) // No need to create another pointer to us using Unit::GetUnit
unit = Unit::GetUnit((*me), Council[member]);
unit = Unit::GetUnit(*me, Council[member]);
return unit;
}
@@ -526,7 +526,7 @@ public:
}
for (uint8 i = 0; i < 4; ++i)
{
Unit* unit = Unit::GetUnit((*me), Council[i]);
Unit* unit = Unit::GetUnit(*me, Council[i]);
if (unit)
unit->CastSpell(unit, spellid, true, 0, 0, me->GetGUID());
}
@@ -225,7 +225,7 @@ public:
//Only if not incombat check if the event is started
if (!me->isInCombat() && instance && instance->GetData(DATA_KARATHRESSEVENT))
{
Unit* target = Unit::GetUnit((*me), instance->GetData64(DATA_KARATHRESSEVENT_STARTER));
Unit* target = Unit::GetUnit(*me, instance->GetData64(DATA_KARATHRESSEVENT_STARTER));
if (target)
{
@@ -381,7 +381,7 @@ public:
//Only if not incombat check if the event is started
if (!me->isInCombat() && instance && instance->GetData(DATA_KARATHRESSEVENT))
{
Unit* target = Unit::GetUnit((*me), instance->GetData64(DATA_KARATHRESSEVENT_STARTER));
Unit* target = Unit::GetUnit(*me, instance->GetData64(DATA_KARATHRESSEVENT_STARTER));
if (target)
{
@@ -522,7 +522,7 @@ public:
//Only if not incombat check if the event is started
if (!me->isInCombat() && instance && instance->GetData(DATA_KARATHRESSEVENT))
{
Unit* target = Unit::GetUnit((*me), instance->GetData64(DATA_KARATHRESSEVENT_STARTER));
Unit* target = Unit::GetUnit(*me, instance->GetData64(DATA_KARATHRESSEVENT_STARTER));
if (target)
{
@@ -648,7 +648,7 @@ public:
//Only if not incombat check if the event is started
if (!me->isInCombat() && instance && instance->GetData(DATA_KARATHRESSEVENT))
{
Unit* target = Unit::GetUnit((*me), instance->GetData64(DATA_KARATHRESSEVENT_STARTER));
Unit* target = Unit::GetUnit(*me, instance->GetData64(DATA_KARATHRESSEVENT_STARTER));
if (target)
{
@@ -730,13 +730,13 @@ public:
switch (rand()%4)
{
case 0:
unit = Unit::GetUnit((*me), instance->GetData64(DATA_KARATHRESS));
unit = Unit::GetUnit(*me, instance->GetData64(DATA_KARATHRESS));
break;
case 1:
unit = Unit::GetUnit((*me), instance->GetData64(DATA_SHARKKIS));
unit = Unit::GetUnit(*me, instance->GetData64(DATA_SHARKKIS));
break;
case 2:
unit = Unit::GetUnit((*me), instance->GetData64(DATA_TIDALVESS));
unit = Unit::GetUnit(*me, instance->GetData64(DATA_TIDALVESS));
break;
case 3:
unit = me;
@@ -783,7 +783,7 @@ public:
if (instance)
{
// check if vashj is death
Unit* Vashj = Unit::GetUnit((*me), instance->GetData64(DATA_LADYVASHJ));
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))
{
// remove
@@ -839,7 +839,7 @@ public:
if (CheckTimer <= diff)
{
Unit* vashj = Unit::GetUnit((*me), instance->GetData64(DATA_LADYVASHJ));
Unit* vashj = Unit::GetUnit(*me, instance->GetData64(DATA_LADYVASHJ));
if (vashj && vashj->isAlive())
{
@@ -111,7 +111,7 @@ public:
void JustDied(Unit* /*killer*/)
{
Unit* unit = Unit::GetUnit((*me), victimGUID);
Unit* unit = Unit::GetUnit(*me, victimGUID);
if (unit && unit->HasAura(SPELL_INSIDIOUS_WHISPER))
unit->RemoveAurasDueToSpell(SPELL_INSIDIOUS_WHISPER);
}
@@ -140,7 +140,7 @@ public:
if (me->getVictim()->GetGUID() != victimGUID)
{
DoModifyThreatPercent(me->getVictim(), -100);
Unit* owner = Unit::GetUnit((*me), victimGUID);
Unit* owner = Unit::GetUnit(*me, victimGUID);
if (owner && owner->isAlive())
{
me->AddThreat(owner, 999999);
@@ -231,7 +231,7 @@ public:
{
if (instance && instance->GetData64(DATA_MEKGINEERSTEAMRIGGER) && instance->GetData(TYPE_MEKGINEER_STEAMRIGGER) == IN_PROGRESS)
{
if (Unit* pMekgineer = Unit::GetUnit((*me), instance->GetData64(DATA_MEKGINEERSTEAMRIGGER)))
if (Unit* pMekgineer = Unit::GetUnit(*me, instance->GetData64(DATA_MEKGINEERSTEAMRIGGER)))
{
if (me->IsWithinDistInMap(pMekgineer, MAX_REPAIR_RANGE))
{
@@ -223,7 +223,7 @@ public:
//Only if not incombat check if the event is started
if (!me->isInCombat() && instance && instance->GetData(DATA_MAULGAREVENT))
{
Unit* target = Unit::GetUnit((*me), instance->GetData64(DATA_MAULGAREVENT_TANK));
Unit* target = Unit::GetUnit(*me, instance->GetData64(DATA_MAULGAREVENT_TANK));
if (target)
{
@@ -383,7 +383,7 @@ public:
//Only if not incombat check if the event is started
if (!me->isInCombat() && instance && instance->GetData(DATA_MAULGAREVENT))
{
Unit* target = Unit::GetUnit((*me), instance->GetData64(DATA_MAULGAREVENT_TANK));
Unit* target = Unit::GetUnit(*me, instance->GetData64(DATA_MAULGAREVENT_TANK));
if (target)
{
@@ -498,7 +498,7 @@ public:
//Only if not incombat check if the event is started
if (!me->isInCombat() && instance && instance->GetData(DATA_MAULGAREVENT))
{
Unit* target = Unit::GetUnit((*me), instance->GetData64(DATA_MAULGAREVENT_TANK));
Unit* target = Unit::GetUnit(*me, instance->GetData64(DATA_MAULGAREVENT_TANK));
if (target)
{
@@ -618,7 +618,7 @@ public:
//Only if not incombat check if the event is started
if (!me->isInCombat() && instance && instance->GetData(DATA_MAULGAREVENT))
{
Unit* target = Unit::GetUnit((*me), instance->GetData64(DATA_MAULGAREVENT_TANK));
Unit* target = Unit::GetUnit(*me, instance->GetData64(DATA_MAULGAREVENT_TANK));
if (target)
{
@@ -728,7 +728,7 @@ public:
//Only if not incombat check if the event is started
if (!me->isInCombat() && instance && instance->GetData(DATA_MAULGAREVENT))
{
Unit* target = Unit::GetUnit((*me), instance->GetData64(DATA_MAULGAREVENT_TANK));
Unit* target = Unit::GetUnit(*me, instance->GetData64(DATA_MAULGAREVENT_TANK));
if (target)
{
@@ -166,7 +166,7 @@ class boss_warchief_kargath_bladefist : public CreatureScript
{
for (std::vector<uint64>::const_iterator itr = adds.begin(); itr!= adds.end(); ++itr)
{
Unit* temp = Unit::GetUnit((*me), *itr);
Unit* temp = Unit::GetUnit(*me, *itr);
if (temp && temp->isAlive())
{
(*temp).GetMotionMaster()->Clear(true);
@@ -178,7 +178,7 @@ class boss_warchief_kargath_bladefist : public CreatureScript
for (std::vector<uint64>::const_iterator itr = assassins.begin(); itr!= assassins.end(); ++itr)
{
Unit* temp = Unit::GetUnit((*me), *itr);
Unit* temp = Unit::GetUnit(*me, *itr);
if (temp && temp->isAlive())
{
(*temp).GetMotionMaster()->Clear(true);
@@ -500,7 +500,7 @@ class mob_ember_of_alar : public CreatureScript
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
if (instance && instance->GetData(DATA_ALAREVENT) == 2)
{
if (Unit* Alar = Unit::GetUnit((*me), instance->GetData64(DATA_ALAR)))
if (Unit* Alar = Unit::GetUnit(*me, instance->GetData64(DATA_ALAR)))
{
int32 AlarHealth = int32(Alar->GetHealth()) - int32(Alar->CountPctFromMaxHealth(3));
if (AlarHealth > 0)
@@ -454,7 +454,7 @@ class mob_solarium_priest : public CreatureScript
{
case 0:
if (instance)
target = Unit::GetUnit((*me), instance->GetData64(DATA_ASTROMANCER));
target = Unit::GetUnit(*me, instance->GetData64(DATA_ASTROMANCER));
break;
case 1:
target = me;
@@ -253,7 +253,7 @@ struct advisorbase_ai : public ScriptedAI
DelayRes_Timer = 0;
FakeDeath = false;
Unit* Target = Unit::GetUnit((*me), DelayRes_Target);
Unit* Target = Unit::GetUnit(*me, DelayRes_Target);
if (!Target)
Target = me->getVictim();
@@ -464,7 +464,7 @@ class boss_kaelthas : public CreatureScript
for (uint8 i = 0; i < MAX_ADVISORS; ++i)
{
if (Unit* pAdvisor = Unit::GetUnit((*me), m_auiAdvisorGuid[i]))
if (Unit* pAdvisor = Unit::GetUnit(*me, m_auiAdvisorGuid[i]))
pAdvisor->Kill(pAdvisor);
}
}
@@ -895,7 +895,7 @@ class boss_kaelthas : public CreatureScript
// 1) Kael'thas will portal the whole raid right into his body
for (i = me->getThreatManager().getThreatList().begin(); i!= me->getThreatManager().getThreatList().end(); ++i)
{
Unit* unit = Unit::GetUnit((*me), (*i)->getUnitGuid());
Unit* unit = Unit::GetUnit(*me, (*i)->getUnitGuid());
if (unit && (unit->GetTypeId() == TYPEID_PLAYER))
{
//Use work around packet to prevent player from being dropped from combat
@@ -916,7 +916,7 @@ class boss_kaelthas : public CreatureScript
// 2) At that point he will put a Gravity Lapse debuff on everyone
for (i = me->getThreatManager().getThreatList().begin(); i != me->getThreatManager().getThreatList().end(); ++i)
{
if (Unit* unit = Unit::GetUnit((*me), (*i)->getUnitGuid()))
if (Unit* unit = Unit::GetUnit(*me, (*i)->getUnitGuid()))
{
DoCast(unit, SPELL_KNOCKBACK, true);
//Gravity lapse - needs an exception in Spell system to work
@@ -949,7 +949,7 @@ class boss_kaelthas : public CreatureScript
//Remove flight
for (i = me->getThreatManager().getThreatList().begin(); i!= me->getThreatManager().getThreatList().end(); ++i)
{
if (Unit* unit = Unit::GetUnit((*me), (*i)->getUnitGuid()))
if (Unit* unit = Unit::GetUnit(*me, (*i)->getUnitGuid()))
{
//Using packet workaround
WorldPacket data(12);
@@ -1289,7 +1289,7 @@ class boss_grand_astromancer_capernian : public CreatureScript
std::list<HostileReference*>& m_threatlist = me->getThreatManager().getThreatList();
for (std::list<HostileReference*>::const_iterator i = m_threatlist.begin(); i!= m_threatlist.end(); ++i)
{
Unit* unit = Unit::GetUnit((*me), (*i)->getUnitGuid());
Unit* unit = Unit::GetUnit(*me, (*i)->getUnitGuid());
//if in melee range
if (unit && unit->IsWithinDistInMap(me, 5))
{
+5 -5
View File
@@ -115,7 +115,7 @@ public:
if (someplayer)
{
Unit* p = Unit::GetUnit((*me), someplayer);
Unit* p = Unit::GetUnit(*me, someplayer);
if (p && p->GetTypeId() == TYPEID_PLAYER)
{
switch (me->GetEntry())
@@ -142,7 +142,7 @@ public:
if (goConsole)
{
if (GameObject* go = GameObject::GetGameObject((*me), goConsole))
if (GameObject* go = GameObject::GetGameObject(*me, goConsole))
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_IN_USE);
}
}
@@ -243,7 +243,7 @@ public:
case 1:
if (someplayer)
{
Unit* u = Unit::GetUnit((*me), someplayer);
Unit* u = Unit::GetUnit(*me, someplayer);
if (u && u->GetTypeId() == TYPEID_PLAYER) DoScriptText(EMOTE_START, me, u);
}
Event_Timer = 60000;
@@ -271,14 +271,14 @@ public:
DoScriptText(EMOTE_COMPLETE, me);
if (someplayer)
{
Unit* u = Unit::GetUnit((*me), someplayer);
Unit* u = Unit::GetUnit(*me, someplayer);
if (u && u->GetTypeId() == TYPEID_PLAYER)
CAST_PLR(u)->KilledMonsterCredit(me->GetEntry(), me->GetGUID());
DoCast(me, SPELL_DISABLE_VISUAL);
}
if (goConsole)
{
if (GameObject* go = GameObject::GetGameObject((*me), goConsole))
if (GameObject* go = GameObject::GetGameObject(*me, goConsole))
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_IN_USE);
}
++Phase;
+172 -207
View File
@@ -262,7 +262,7 @@ public:
{
if (PlayerGUID)
{
Unit* player = Unit::GetUnit((*me), PlayerGUID);
Unit* player = Unit::GetUnit(*me, PlayerGUID);
if (player)
DoCast(player, SPELL_FORCE_OF_NELTHARAKU, true);
@@ -758,8 +758,8 @@ public:
uint32 NextStep(uint32 Step)
{
Unit* player = Unit::GetUnit((*me), PlayerGUID);
Unit* Illi = Unit::GetUnit((*me), IllidanGUID);
Player* player = Unit::GetPlayer(*me, PlayerGUID);
Unit* Illi = Unit::GetUnit(*me, IllidanGUID);
if (!player || !Illi)
{
@@ -769,213 +769,178 @@ public:
switch (Step)
{
case 0:
return 0;
break;
case 1:
me->GetMotionMaster()->MovePoint(0, -5104.41f, 595.297f, 85.6838f);
return 9000;
break;
case 2:
DoScriptText(OVERLORD_YELL_1, me, player);
return 4500;
break;
case 3:
me->SetInFront(player);
return 3200;
break;
case 4:
DoScriptText(OVERLORD_SAY_2, me, player);
return 2000;
break;
case 5:
Illi->SetVisible(true);
Illi->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
return 350;
break;
case 6:
Illi->CastSpell(Illi, SPELL_ONE, true);
Illi->SetTarget(me->GetGUID());
me->SetTarget(IllidanGUID);
return 2000;
break;
case 7:
DoScriptText(OVERLORD_YELL_2, me);
return 4500;
break;
case 8:
me->SetUInt32Value(UNIT_FIELD_BYTES_1, 8);
return 2500;
break;
case 9:
DoScriptText(OVERLORD_SAY_3, me);
return 6500;
break;
case 10:
DoScriptText(LORD_ILLIDAN_SAY_1, Illi);
return 5000;
break;
case 11:
DoScriptText(OVERLORD_SAY_4, me, player);
return 6000;
break;
case 12:
DoScriptText(LORD_ILLIDAN_SAY_2, Illi);
return 5500;
break;
case 13:
DoScriptText(LORD_ILLIDAN_SAY_3, Illi);
return 4000;
break;
case 14:
Illi->SetTarget(PlayerGUID);
return 1500;
break;
case 15:
DoScriptText(LORD_ILLIDAN_SAY_4, Illi);
return 1500;
break;
case 16:
if (player)
{
Illi->CastSpell(player, SPELL_TWO, true);
player->RemoveAurasDueToSpell(SPELL_THREE);
player->RemoveAurasDueToSpell(SPELL_FOUR);
case 0:
return 0;
break;
case 1:
me->GetMotionMaster()->MovePoint(0, -5104.41f, 595.297f, 85.6838f);
return 9000;
break;
case 2:
DoScriptText(OVERLORD_YELL_1, me, player);
return 4500;
break;
case 3:
me->SetInFront(player);
return 3200;
break;
case 4:
DoScriptText(OVERLORD_SAY_2, me, player);
return 2000;
break;
case 5:
Illi->SetVisible(true);
Illi->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
return 350;
break;
case 6:
Illi->CastSpell(Illi, SPELL_ONE, true);
Illi->SetTarget(me->GetGUID());
me->SetTarget(IllidanGUID);
return 2000;
break;
case 7:
DoScriptText(OVERLORD_YELL_2, me);
return 4500;
break;
case 8:
me->SetUInt32Value(UNIT_FIELD_BYTES_1, 8);
return 2500;
break;
case 9:
DoScriptText(OVERLORD_SAY_3, me);
return 6500;
break;
case 10:
DoScriptText(LORD_ILLIDAN_SAY_1, Illi);
return 5000;
}
else
{
CAST_PLR(player)->FailQuest(QUEST_LORD_ILLIDAN_STORMRAGE);
Step = 30;
return 100;
}
break;
case 17:
DoScriptText(LORD_ILLIDAN_SAY_5, Illi);
return 5000;
break;
case 18:
DoScriptText(LORD_ILLIDAN_SAY_6, Illi);
return 5000;
break;
case 19:
DoScriptText(LORD_ILLIDAN_SAY_7, Illi);
return 5000;
break;
case 20:
Illi->HandleEmoteCommand(EMOTE_ONESHOT_LIFTOFF);
Illi->SetDisableGravity(true);
return 500;
break;
case 21:
DoScriptText(OVERLORD_SAY_5, me);
return 500;
break;
case 22:
Illi->SetVisible(false);
Illi->setDeathState(JUST_DIED);
return 1000;
break;
case 23:
me->SetUInt32Value(UNIT_FIELD_BYTES_1, 0);
return 2000;
break;
case 24:
me->SetTarget(PlayerGUID);
return 5000;
break;
case 25:
DoScriptText(OVERLORD_SAY_6, me);
return 2000;
break;
case 26:
if (player)
CAST_PLR(player)->GroupEventHappens(QUEST_LORD_ILLIDAN_STORMRAGE, me);
return 6000;
break;
case 27:
{
Unit* Yarzill = me->FindNearestCreature(C_YARZILL, 50);
if (Yarzill)
Yarzill->SetTarget(PlayerGUID);
break;
case 11:
DoScriptText(OVERLORD_SAY_4, me, player);
return 6000;
break;
case 12:
DoScriptText(LORD_ILLIDAN_SAY_2, Illi);
return 5500;
break;
case 13:
DoScriptText(LORD_ILLIDAN_SAY_3, Illi);
return 4000;
break;
case 14:
Illi->SetTarget(PlayerGUID);
return 1500;
break;
case 15:
DoScriptText(LORD_ILLIDAN_SAY_4, Illi);
return 1500;
break;
case 16:
if (player)
{
Illi->CastSpell(player, SPELL_TWO, true);
player->RemoveAurasDueToSpell(SPELL_THREE);
player->RemoveAurasDueToSpell(SPELL_FOUR);
return 5000;
}
else
{
player->FailQuest(QUEST_LORD_ILLIDAN_STORMRAGE);
Step = 30;
return 100;
}
break;
case 17:
DoScriptText(LORD_ILLIDAN_SAY_5, Illi);
return 5000;
break;
case 18:
DoScriptText(LORD_ILLIDAN_SAY_6, Illi);
return 5000;
break;
case 19:
DoScriptText(LORD_ILLIDAN_SAY_7, Illi);
return 5000;
break;
case 20:
Illi->HandleEmoteCommand(EMOTE_ONESHOT_LIFTOFF);
Illi->SetDisableGravity(true);
return 500;
}
break;
case 28:
player->RemoveAurasDueToSpell(SPELL_TWO);
player->RemoveAurasDueToSpell(41519);
player->CastSpell(player, SPELL_THREE, true);
player->CastSpell(player, SPELL_FOUR, true);
return 1000;
break;
case 29:
{
Unit* Yarzill = me->FindNearestCreature(C_YARZILL, 50);
if (Yarzill)
DoScriptText(YARZILL_THE_MERC_SAY, Yarzill, player);
return 5000;
}
break;
case 30:
{
Unit* Yarzill = me->FindNearestCreature(C_YARZILL, 50);
if (Yarzill)
Yarzill->SetTarget(0);
return 5000;
}
break;
case 31:
{
Unit* Yarzill = me->FindNearestCreature(C_YARZILL, 50);
if (Yarzill)
Yarzill->CastSpell(player, 41540, true);
break;
case 21:
DoScriptText(OVERLORD_SAY_5, me);
return 500;
break;
case 22:
Illi->SetVisible(false);
Illi->setDeathState(JUST_DIED);
return 1000;
}
break;
case 32:
me->GetMotionMaster()->MovePoint(0, -5085.77f, 577.231f, 86.6719f); return 5000;
break;
case 33:
Reset();
return 100;
break;
default :
return 0;
break;
break;
case 23:
me->SetUInt32Value(UNIT_FIELD_BYTES_1, 0);
return 2000;
break;
case 24:
me->SetTarget(PlayerGUID);
return 5000;
break;
case 25:
DoScriptText(OVERLORD_SAY_6, me);
return 2000;
break;
case 26:
player->GroupEventHappens(QUEST_LORD_ILLIDAN_STORMRAGE, me);
return 6000;
break;
case 27:
{
Unit* Yarzill = me->FindNearestCreature(C_YARZILL, 50);
if (Yarzill)
Yarzill->SetTarget(PlayerGUID);
return 500;
}
break;
case 28:
player->RemoveAurasDueToSpell(SPELL_TWO);
player->RemoveAurasDueToSpell(41519);
player->CastSpell(player, SPELL_THREE, true);
player->CastSpell(player, SPELL_FOUR, true);
return 1000;
break;
case 29:
{
Unit* Yarzill = me->FindNearestCreature(C_YARZILL, 50);
if (Yarzill)
DoScriptText(YARZILL_THE_MERC_SAY, Yarzill, player);
return 5000;
}
break;
case 30:
{
Unit* Yarzill = me->FindNearestCreature(C_YARZILL, 50);
if (Yarzill)
Yarzill->SetTarget(0);
return 5000;
}
break;
case 31:
{
Unit* Yarzill = me->FindNearestCreature(C_YARZILL, 50);
if (Yarzill)
Yarzill->CastSpell(player, 41540, true);
return 1000;
}
break;
case 32:
me->GetMotionMaster()->MovePoint(0, -5085.77f, 577.231f, 86.6719f); return 5000;
break;
case 33:
Reset();
return 100;
break;
default :
return 0;
break;
}
}
+30 -30
View File
@@ -3099,35 +3099,35 @@ public:
void AddSC_npcs_special()
{
new npc_air_force_bots;
new npc_lunaclaw_spirit;
new npc_chicken_cluck;
new npc_dancing_flames;
new npc_doctor;
new npc_injured_patient;
new npc_garments_of_quests;
new npc_guardian;
new npc_mount_vendor;
new npc_rogue_trainer;
new npc_sayge;
new npc_steam_tonk;
new npc_tonk_mine;
new npc_winter_reveler;
new npc_brewfest_reveler;
new npc_snake_trap;
new npc_mirror_image;
new npc_ebon_gargoyle;
new npc_lightwell;
new mob_mojo;
new npc_training_dummy;
new npc_shadowfiend;
new npc_wormhole;
new npc_pet_trainer;
new npc_locksmith;
new npc_tabard_vendor;
new npc_experience;
new npc_fire_elemental;
new npc_earth_elemental;
new npc_firework;
new npc_air_force_bots();
new npc_lunaclaw_spirit();
new npc_chicken_cluck();
new npc_dancing_flames();
new npc_doctor();
new npc_injured_patient();
new npc_garments_of_quests();
new npc_guardian();
new npc_mount_vendor();
new npc_rogue_trainer();
new npc_sayge();
new npc_steam_tonk();
new npc_tonk_mine();
new npc_winter_reveler();
new npc_brewfest_reveler();
new npc_snake_trap();
new npc_mirror_image();
new npc_ebon_gargoyle();
new npc_lightwell();
new mob_mojo();
new npc_training_dummy();
new npc_shadowfiend();
new npc_wormhole();
new npc_pet_trainer();
new npc_locksmith();
new npc_tabard_vendor();
new npc_experience();
new npc_fire_elemental();
new npc_earth_elemental();
new npc_firework();
new npc_spring_rabbit();
}