456 std::list<Unit*> citizenList;
460 for (
Unit* target : citizenList)
462 switch (target->GetEntry())
577 { 1909.39f, -4144.21f, 40.6368f, 0.042239f },
578 { 1910.73f, -4155.26f, 40.6316f, 0.615577f },
579 { 1934.01f, -4141.40f, 40.6375f, 3.61109f },
580 { 1931.11f, -4156.38f, 40.6130f, 2.19737f }
585 { 1917.461670f, -4147.514160f, 40.636799f, 5.89346f },
586 { 1916.181274f, -4152.295898f, 40.629120f, 0.497757f },
587 { 1926.435425f, -4146.397461f, 40.618534f, 3.846709f },
588 { 1926.519165f, -4153.216797f, 40.614975f, 2.570434f }
593 { 1921.719604f, -4143.051270f, 40.623356f, 1.657789f },
594 { 1921.151855f, -4139.343750f, 40.583084f, 4.732627f },
595 { 1918.732422f, -4139.619629f, 40.607685f, 4.803311f }
663 guards->SetWalk(
false);
689 jaina->SetWalk(
true);
697 guard->GetMotionMaster()->MoveTargetedHome();
719 sylvanas->SetWalk(
true);
769 jaina->SetWalk(
true);
770 jaina->GetMotionMaster()->MovePoint(2, jaina->GetHomePosition());
771 jaina->DespawnOrUnsummon(5s);
783 sylvanas->SetWalk(
true);
784 sylvanas->GetMotionMaster()->MovePoint(2, sylvanas->GetHomePosition());
788 portal->DespawnOrUnsummon();
@ QUEST_STATUS_INCOMPLETE
void SendGossipMenuFor(Player *player, uint32 npcTextID, ObjectGuid const &guid)
void AddGossipItemFor(Player *player, GossipOptionIcon icon, std::string const &text, uint32 sender, uint32 action)
void ClearGossipMenuFor(Player *player)
void InitGossipMenuFor(Player *player, uint32 menuId)
void CloseGossipMenuFor(Player *player)
@ UNIT_FLAG_NON_ATTACKABLE
void Talk(uint8 id, WorldObject const *whisperTarget=nullptr)
void GetHomePosition(float &x, float &y, float &z, float &ori) const
ObjectGuid::LowType GetSpawnId() const
bool SetWalk(bool enable) override
void ScheduleEvent(EventId eventId, Milliseconds time, GroupIndex group=0u, PhaseIndex phase=0u)
void MovePoint(uint32 id, Position const &pos, bool generatePath=true, Optional< float > finalOrient={})
void MovePath(uint32 pathId, bool repeatable)
static ObjectGuid GetGUID(Object const *o)
void PrepareQuestMenu(ObjectGuid guid)
void AreaExploredOrEventHappens(uint32 questId)
QuestStatus GetQuestStatus(uint32 quest_id) const
PlayerMenu * PlayerTalkClass
uint32 GetQuestId() const
void DoMeleeAttackIfReady()
SpellCastResult DoCastVictim(uint32 spellId, CastSpellExtraArgs const &args={})
MotionMaster * GetMotionMaster()
void SetFacingToObject(WorldObject const *object, bool force=true)
bool IsQuestGiver() const
void HandleEmoteCommand(Emote emoteId)
TempSummon * SummonCreature(uint32 entry, Position const &pos, TempSummonType despawnType=TEMPSUMMON_MANUAL_DESPAWN, Milliseconds despawnTime=0s, uint32 vehId=0, uint32 spellId=0, ObjectGuid privateObjectOwner=ObjectGuid::Empty)
Creature * FindNearestCreature(uint32 entry, float range, bool alive=true) const
bool IsWithinDist(WorldObject const *obj, float dist2compare, bool is3D=true) const
areatrigger_orgrimmar_herald_of_war()
bool OnTrigger(Player *player, AreaTriggerEntry const *) override
CreatureAI * GetAI(Creature *creature) const override
npc_overlord_runthak_orgrimmar()
CreatureAI * GetAI(Creature *creature) const override
npc_thrall_herald_of_war()
CreatureAI * GetAI(Creature *creature) const override
CreatureAI * GetAI(Creature *creature) const override
TC_GAME_API Player * GetPlayer(Map const *, ObjectGuid const &guid)
TC_GAME_API Creature * GetCreature(WorldObject const &u, ObjectGuid const &guid)
static void VisitGridObjects(WorldObject const *obj, T &visitor, float radius, bool dont_load=true)
void DoPlaySoundToSet(WorldObject *source, uint32 soundId)
void MoveInLineOfSight(Unit *who) override
npc_overlord_runthak_orgrimmarAI(Creature *creature)
void UpdateAI(uint32 diff) override
void UpdateAI(uint32 diff) override
void OnQuestAccept(Player *player, Quest const *quest) override
void ReceiveEmote(Player *player, uint32 emote) override
void JustEngagedWith(Unit *) override
npc_shenthulAI(Creature *creature)
ObjectGuid stormwindPortalGUID
ObjectGuid guardsGUIDs[GUARDS_SIZE]
void DoAction(int32 actionId) override
npc_thrall_herald_of_warAI(Creature *creature)
void MovementInform(uint32 type, uint32 pointId) override
void UpdateAI(uint32 diff) override
bool OnGossipHello(Player *player) override
void UpdateAI(uint32 diff) override
bool OnGossipSelect(Player *player, uint32, uint32 gossipListId) override
void JustEngagedWith(Unit *) override
uint32 ChainLightningTimer
npc_thrall_warchiefAI(Creature *creature)
Position const PortalSpawnPosition
Position const GuardsSpawnPosition[GUARDS_SIZE]
Position const MiscMovePositions[3]
Position const GuardsMovePosition[GUARDS_SIZE]
@ GOSSIP_MENU_OPTION_ID_ALL
@ GOSSIP_THE_BROOD_MOTHER
@ OPTION_WHAT_DISCOVERIES
@ OPTION_I_LIVE_ONLY_TO_SERVE
@ GOSSIP_IT_WOULD_APPEAR_AS
@ QUEST_WHAT_THE_WIND_CARRIES
@ OPTION_OF_COURSE_WARCHIEF
@ GOSSIP_SO_MUCH_TO_LEARN
@ GOSSIP_I_DO_NOT_FAULT_YOU
@ GOSSIP_THE_SHATTERED_HAND
@ OPTION_PLEASE_SHARE_YOUR
@ GOSSIP_MEMBERS_OF_THE_HORDE
@ OPTION_WITH_ALL_DUE_RESPECT
@ OPTION_I_I_DID_NOT_THINK_OF
@ GOSSIP_NOW_PAY_ATTENTION