94 if (
GameObject* cart =
me->FindNearestGameObject(188160, 3))
100 if (
GameObject* cart =
me->FindNearestGameObject(188160, 3))
101 cart->UseDoorOrButton();
113 if (
Unit* worm =
me->FindNearestCreature(26250, 3))
123 if (
Unit* worm =
me->FindNearestCreature(26250, 3))
134 caster->KilledMonster(
me->GetCreatureTemplate(),
me->GetGUID());
173 if (who->GetEntry() == 25861 &&
me->IsWithinDistInMap(who, 10.0f))
179 owner->CastSpell(owner, 46231,
true);
180 who->ToCreature()->DespawnOrUnsummon();
202#define GOSSIP_HELLO_KERI "I am prepared to face Saragosa!"
211 if (creature->IsQuestGiver())
212 player->PrepareQuestMenu(creature->GetGUID());
217 player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID());
224 player->PlayerTalkClass->ClearMenus();
227 player->CLOSE_GOSSIP_MENU();
239#define GOSSIP_ITEM_C_1 "I... I think so..."
257 if (creature->IsQuestGiver())
258 player->PrepareQuestMenu(creature->GetGUID());
263 player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID());
269 player->PlayerTalkClass->ClearMenus();
272 player->CLOSE_GOSSIP_MENU();
285#define GOSSIP_ITEM_I "<Search corpse for Issliruk's Totem.>"
304 player->PlayerTalkClass->SendGossipMenu(
GOSSIP_TEXT_I, creature->GetGUID());
310 player->PlayerTalkClass->ClearMenus();
315 player->CLOSE_GOSSIP_MENU();
326#define WARSONG_PEON 25270
355 uint8 uiRand = std::rand() % 99;
361 else if (uiRand < 75)
407 switch (
me->GetOwner()->ToPlayer()->GetTeamId())
433 me->DisappearAndDie();
468 if (!owner || !
me->IsWithinDistInMap(who, 10.0f))
475 who->ToCreature()->DisappearAndDie();
513#define CaribouTrapsNum 15
536 me->SetVisible(
false);
552 if (summon->IsSummon())
553 if (
Unit* temp = summon->GetSummoner())
555 player->KilledMonsterCredit(
me->GetEntry(), 0);
568 me->SetVisible(
true);
574 me->GetMotionMaster()->MovePoint(0, go_fur->GetPositionX(), go_fur->GetPositionY(), go_fur->GetPositionZ());
728 me->DespawnOrUnsummon();
753 go->SetRespawnTime(0);
755 go->UseDoorOrButton(20);
759 pEscortAI->Start(
true,
false, player->GetGUID());
761 switch (player->GetTeam())
815 if (
me->IsValidAttackTarget(who))
843 pHarpooner->KilledMonsterCredit(26175, 0);
847 me->DisappearAndDie();
873 me->DisappearAndDie();
936#define GOSSIP_ITEM_T "Let's do this, Thassarian. It's now or never."
962 me->RestoreFaction();
994 arthas->SetWalk(
true);
995 arthas->GetMotionMaster()->MovePoint(0, 3737.374756f, 3564.841309f, 477.433014f);
1000 talbot->SetWalk(
true);
1001 talbot->GetMotionMaster()->MovePoint(0, 3738.000977f, 3568.882080f, 477.433014f);
1081 arlos->SetWalk(
true);
1082 arlos->GetMotionMaster()->MovePoint(0, 3735.570068f, 3572.419922f, 477.441010f);
1087 leryssa->SetWalk(
false);
1090 leryssa->GetMotionMaster()->MovePoint(0, 3741.969971f, 3571.439941f, 477.441010f);
1103 if (arthas && talbot)
1172 leryssa->RemoveFromWorld();
1174 arlos->RemoveFromWorld();
1193 talbot->RemoveFromWorld();
1196 leryssa->RemoveFromWorld();
1199 arlos->RemoveFromWorld();
1202 arthas->RemoveFromWorld();
1208 if (creature->IsQuestGiver())
1209 player->PrepareQuestMenu(creature->GetGUID());
1214 player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID());
1221 player->PlayerTalkClass->ClearMenus();
1253 me->RestoreFaction();
1262 if (
Unit* summoner =
me->ToTempSummon()->GetSummoner())
1294 if (
Unit* summoner =
me->ToTempSummon()->GetSummoner())
1351 if (
Unit* summoner =
me->ToTempSummon()->GetSummoner())
1369 if (
me->GetAreaId() == 4125)
1400 if (!leryssa || !arlos)
1406 arlos->
Kill(arlos,
false);
1462 if (
Unit* summoner =
me->ToTempSummon()->GetSummoner())
1470 if (
Unit* summoner =
me->ToTempSummon()->GetSummoner())
1487 if (
Unit* summoner =
me->ToTempSummon()->GetSummoner())
1500 if (
Unit* summoner =
me->ToTempSummon()->GetSummoner())
1513 if (
Unit* summoner =
me->ToTempSummon()->GetSummoner())
1527 if (
Unit* summoner =
me->ToTempSummon()->GetSummoner())
1585 if (
me->IsValidAttackTarget(who))
1614 me->DisappearAndDie();
1767 switch (player->GetTeam())
1777 creature->AI()->Talk(
SAY_1);
1819 me->SetPhaseMask(1,
true);
1952#define MammothTrapsNum 22
1998 me->GetRandomNearPosition(pos, 10.0f);
1999 me->GetMotionMaster()->MovePoint(0, pos);
2017 me->DisappearAndDie();
2117 for (
uint8 i = 0; i < 4; ++i)
2119 if (
Creature* cCredit =
me->FindNearestCreature(25402 + i, 10.0f))
2121 if (
Unit* uOwner =
me->GetOwner())
2165 uiTimer = std::rand() % 18000 + 13000;
2178 uiTimer = std::rand() % 18000 + 13000;
2236 std::list<Creature*> orbList;
2239 switch (
me->GetEntry())
2243 if (!orbList.empty())
2245 for (std::list<Creature*>::const_iterator itr = orbList.begin(); itr != orbList.end(); ++itr)
2248 if (pOrb->GetPositionY() > 6680)
2252 m_uiTimer = std::rand() % 120000 + 90000;
2257 if (!orbList.empty())
2259 for (std::list<Creature*>::const_iterator itr = orbList.begin(); itr != orbList.end(); ++itr)
2262 if ((pOrb->GetPositionY() < 6680) && (pOrb->GetPositionY() > 6630))
2266 m_uiTimer = std::rand() % 120000 + 90000;
2271 if (!orbList.empty())
2273 for (std::list<Creature*>::const_iterator itr = orbList.begin(); itr != orbList.end(); ++itr)
2276 if (pOrb->GetPositionY() < 6630)
2280 m_uiTimer = std::rand() % 120000 + 90000;
2365 me->RestoreFaction();
2373 me->SetFacingToObject(player);
2387 me->AI()->AttackStart(player);
2397 switch (
me->GetEntry())
2418 switch (
me->GetEntry())
2423 me->SetFacingToObject(player);
2459 const char* charGossipItem;
2461 switch (creature->GetEntry())
2476 charGossipItem =
"";
2483 if (creature->IsVendor())
2486 player->SEND_GOSSIP_MENU(uiGossipText, creature->GetGUID());
2493 player->PlayerTalkClass->ClearMenus();
2497 player->CLOSE_GOSSIP_MENU();
2498 creature->AI()->SetGUID(player->GetGUID());
2499 creature->AI()->DoAction(1);
2503 player->GetSession()->SendListInventory(creature->GetGUID());
@ TEMPSUMMON_CORPSE_TIMED_DESPAWN
#define INTERACTION_DISTANCE
@ QUEST_STATUS_INCOMPLETE
@ FACTION_ESCORT_A_NEUTRAL_ACTIVE
@ FACTION_ESCORT_H_NEUTRAL_ACTIVE
void GetCreatureListWithEntryInGrid(std::list< Creature * > &list, WorldObject *source, uint32 entry, float maxSearchRange)
#define GOSSIP_TEXT_BROWSE_GOODS
@ EMOTE_ONESHOT_EXCLAMATION
@ UNIT_NPC_FLAG_QUESTGIVER
@ UNIT_FLAG_NON_ATTACKABLE
@ UNIT_FLAG_NOT_SELECTABLE
@ UNIT_FIELD_NPC_EMOTESTATE
@ OBJECT_FIELD_DYNAMIC_FLAGS
@ GAMEOBJECT_FIELD_FACTION_TEMPLATE
virtual void MoveInLineOfSight(Unit *)
void Talk(uint8 id, WorldObject const *whisperTarget=NULL)
virtual void EnterEvadeMode()
bool UpdateEntry(uint32 entry, uint32 team=ALLIANCE, const CreatureData *data=NULL)
void SetReactState(ReactStates st)
void RemoveFromWorld() OVERRIDE
CreatureScript(const char *name)
void MoveInLineOfSight(Unit *) OVERRIDE
void EnterEvadeMode() OVERRIDE
void AttackStart(Unit *) OVERRIDE
void SetFollowComplete(bool bWithEndEvent=false)
FollowerAI(Creature *creature)
void StartFollow(Player *player, uint32 factionForFollower=0, const Quest *quest=NULL)
void SetGoState(GOState state)
void SetLootState(LootState s, Unit *unit=NULL)
void MovePoint(uint32 id, Position const &pos, bool generatePath=true)
static Player * GetPlayer(WorldObject const &, uint64 guid)
uint32 GetUInt32Value(uint16 index) const
void SetFlag(uint16 index, uint32 newFlag)
void RemoveFlag(uint16 index, uint32 oldFlag)
void KilledMonsterCredit(uint32 entry, uint64 guid=0)
void GroupEventHappens(uint32 questId, WorldObject const *pEventObject)
QuestStatus GetQuestStatus(uint32 quest_id) const
QuestObjective const * GetQuestObjectiveXIndex(uint8 index) const
void DoMeleeAttackIfReady()
void DoCast(uint32 spellId)
void DoCastVictim(uint32 spellId, bool triggered=false)
void ClearUnitState(uint32 f)
void setFaction(uint32 faction)
void Kill(Unit *victim, bool durabilityLoss=true)
void RemoveAura(AuraApplicationMap::iterator &i, AuraRemoveMode mode=AURA_REMOVE_BY_DEFAULT)
void CastSpell(SpellCastTargets const &targets, SpellInfo const *spellInfo, CustomSpellValues const *value, TriggerCastFlags triggerFlags=TRIGGERED_NONE, Item *castItem=NULL, AuraEffect const *triggeredByAura=NULL, uint64 originalCaster=0)
MotionMaster * GetMotionMaster()
static Creature * GetCreature(WorldObject &object, uint64 guid)
void RemoveStandFlags(uint8 flags)
bool SetWalk(bool enable)
void SetInFront(WorldObject const *target)
void SetStandState(uint8 state)
GameObject * FindNearestGameObject(uint32 entry, float range) const
CreatureAI * GetAI(Creature *creature) const OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
bool OnQuestAccept(Player *player, Creature *creature, Quest const *quest) OVERRIDE
bool OnGossipHello(Player *player, Creature *creature) OVERRIDE
bool OnGossipSelect(Player *player, Creature *, uint32, uint32 action) OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
bool OnGossipHello(Player *player, Creature *creature) OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
bool OnGossipSelect(Player *player, Creature *creature, uint32, uint32 action) OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
npc_imprisoned_beryl_sorcerer()
bool OnGossipSelect(Player *player, Creature *, uint32, uint32 action) OVERRIDE
bool OnGossipHello(Player *player, Creature *creature) OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
bool OnGossipHello(Player *player, Creature *creature) OVERRIDE
bool OnGossipSelect(Player *player, Creature *, uint32, uint32 action) OVERRIDE
npc_khunok_the_behemoth()
CreatureAI * GetAI(Creature *creature) const OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
bool OnQuestAccept(Player *player, Creature *creature, Quest const *quest) OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
bool OnQuestAccept(Player *player, Creature *creature, Quest const *quest) OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
npc_nexus_drake_hatchling()
CreatureAI * GetAI(Creature *creature) const OVERRIDE
npc_seaforium_depth_charge()
CreatureAI * GetAI(Creature *creature) const OVERRIDE
npc_sinkhole_kill_credit()
CreatureAI * GetAI(Creature *creature) const OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
bool OnGossipHello(Player *player, Creature *creature) OVERRIDE
bool OnGossipSelect(Player *player, Creature *creature, uint32, uint32 action) OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
npc_trapped_mammoth_calf()
npc_valiance_keep_cannoneer()
CreatureAI * GetAI(Creature *creature) const OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
bool HealthAbovePct(uint32 pct) const
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
ScriptedAI(Creature *creature)
void EnterCombat(Unit *who) OVERRIDE
npc_beryl_sorcererAI(Creature *creature)
void SpellHit(Unit *pCaster, const SpellInfo *pSpell) OVERRIDE
void UpdateAI(uint32) OVERRIDE
== Triggered Actions Requested ==================
void MoveInLineOfSight(Unit *who) OVERRIDE
void WaypointReached(uint32 waypointId) OVERRIDE
void JustDied(Unit *) OVERRIDE
void UpdateEscortAI(const uint32) OVERRIDE
npc_bonker_togglevoltAI(Creature *creature)
void JustDied(Unit *killer) OVERRIDE
void MovementInform(uint32 uiType, uint32) OVERRIDE
void UpdateAI(uint32 uiDiff) OVERRIDE
== Triggered Actions Requested ==================
npc_counselor_talbotAI(Creature *creature)
void SetDespawnAtFar(bool despawn)
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
Player * GetPlayerForEscort()
void SetRun(bool on=true)
bool HasEscortState(uint32 escortState) const
npc_escortAI(Creature *creature)
void SetEscortPaused(bool on)
void AttackStart(Unit *who) OVERRIDE
void MoveInLineOfSight(Unit *who) OVERRIDE
npc_fezzix_geartwistAI(Creature *creature)
void MovementInform(uint32 uiType, uint32) OVERRIDE
npc_general_arlosAI(Creature *creature)
void UpdateAI(uint32 uiDiff) OVERRIDE
== Triggered Actions Requested ==================
void DoAction(int32) OVERRIDE
npc_hidden_cultistAI(Creature *creature)
void SetGUID(uint64 uiGuid, int32) OVERRIDE
void MovementInform(uint32 uiType, uint32) OVERRIDE
npc_image_lich_kingAI(Creature *creature)
npc_imprisoned_beryl_sorcererAI(Creature *creature)
void EnterCombat(Unit *) OVERRIDE
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
void SpellHit(Unit *unit, const SpellInfo *spell) OVERRIDE
void GotStinged(uint64 casterGUID)
void UpdateAI(uint32) OVERRIDE
== Triggered Actions Requested ==================
npc_jennyAI(Creature *creature)
void DamageTaken(Unit *, uint32 &) OVERRIDE
npc_khunok_the_behemothAI(Creature *creature)
void MoveInLineOfSight(Unit *who) OVERRIDE
void UpdateAI(uint32 uiDiff) OVERRIDE
== Triggered Actions Requested ==================
void MovementInform(uint32 type, uint32) OVERRIDE
npc_leryssaAI(Creature *creature)
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
void WaypointReached(uint32 waypointId) OVERRIDE
npc_lurgglbrAI(Creature *creature)
npc_magmoth_crusherAI(Creature *creature)
void JustDied(Unit *killer) OVERRIDE
npc_mootoo_the_youngerAI(Creature *creature)
void WaypointReached(uint32 waypointId) OVERRIDE
void JustDied(Unit *) OVERRIDE
void JustDied(Unit *killer) OVERRIDE
void EnterCombat(Unit *) OVERRIDE
npc_nerubar_victimAI(Creature *creature)
void MoveInLineOfSight(Unit *) OVERRIDE
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
npc_nesingwary_trapperAI(Creature *creature)
void JustDied(Unit *) OVERRIDE
void MoveInLineOfSight(Unit *) OVERRIDE
void EnterCombat(Unit *) OVERRIDE
void SpellHit(Unit *caster, const SpellInfo *spell) OVERRIDE
void UpdateAI(uint32) OVERRIDE
== Triggered Actions Requested ==================
void EnterCombat(Unit *who) OVERRIDE
void MoveInLineOfSight(Unit *who) OVERRIDE
npc_nexus_drake_hatchlingAI(Creature *creature)
npc_seaforium_depth_chargeAI(Creature *creature)
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
void SpellHit(Unit *caster, const SpellInfo *spell) OVERRIDE
void EnterCombat(Unit *) OVERRIDE
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
npc_sinkhole_kill_creditAI(Creature *creature)
void UpdateAI(uint32 uiDiff) OVERRIDE
== Triggered Actions Requested ==================
void WaypointReached(uint32 waypointId) OVERRIDE
void JustDied(Unit *) OVERRIDE
npc_thassarianAI(Creature *creature)
void DoAction(int32 param) OVERRIDE
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
void MovementInform(uint32 uiType, uint32) OVERRIDE
npc_trapped_mammoth_calfAI(Creature *creature)
npc_valiance_keep_cannoneerAI(Creature *creature)
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
void AttackStart(Unit *) OVERRIDE
void UpdateAI(uint32 uiDiff) OVERRIDE
== Triggered Actions Requested ==================
npc_warmage_coldarraAI(Creature *creature)
void EnterCombat(Unit *) OVERRIDE
@ SPELL_SEAFORIUM_DEPTH_CHARGE_EXPLOSION
@ QUEST_BURY_THOSE_COCKROACHES
@ GO_VALIANCE_KEEP_CANNON_2
@ GO_VALIANCE_KEEP_CANNON_1
@ SPELL_GIVE_JENNY_CREDIT
@ SPELL_TRANSFORM_VALANAR
@ SPELL_WYRMREST_SKYTALON_RIDE_PERIODIC
@ SPELL_SUMMON_WYRMREST_SKYTALON
@ SPELL_TELEPORT_TO_SARAGOSA
const char * GOSSIP_ITEM_TOM_HEGGER
@ SPELL_DRAKE_HATCHLING_SUBDUED
@ QUEST_ESCAPE_WINTERFIN_CAVERNS
@ QUEST_SPIRITS_WATCH_OVER_US
@ SPELL_CREATURE_TOTEM_OF_ISSLIRUK
const uint32 nerubarVictims[3]
@ SPELL_TRANSITUS_SHIELD_BEAM
const char * GOSSIP_ITEM_SALTY_JOHN_THORPE
const uint32 CaribouTraps[CaribouTrapsNum]
@ NPC_TRANSITUS_SHIELD_DUMMY
@ SAY_IMPRISIONED_BERYL_6
@ SAY_IMPRISIONED_BERYL_7
@ SAY_IMPRISIONED_BERYL_1
@ NPC_IMPRISONED_BERYL_SORCERER
@ SAY_IMPRISIONED_BERYL_3
@ SAY_IMPRISIONED_BERYL_5
@ SAY_IMPRISIONED_BERYL_4
@ SAY_IMPRISIONED_BERYL_2
@ QUEST_CANNOT_HELP_THEMSELVES
const char * GOSSIP_ITEM_GUARD_MITCHELLS
#define GOSSIP_HELLO_KERI
@ SPELL_SHROUD_OF_THE_DEATH_CULTIST
@ GOSSIP_TEXT_GUARD_MITCHELSS
@ GOSSIP_TEXT_SALTY_JOHN_THORPE
@ QUEST_ESCAPING_THE_MIST
@ NPC_CAPTURED_BERLY_SORCERER
@ SPELL_COSMETIC_ENSLAVE_CHAINS_SELF
void AddSC_borean_tundra()
@ QUEST_YOU_RE_NOT_SO_BIG_NOW
const uint32 MammothTraps[MammothTrapsNum]