114 if (
Creature* aysa =
me->FindNearestCreature(56661, 15.0f,
true))
116 aysa->MonsterSay(
"...Ji, were in the Wood of Staves. You know where Master Shang is now.",
Language::LANG_UNIVERSAL, aysa);
117 aysa->SendPlaySound(27431,
true);
125 if (
Creature* ji =
me->FindNearestCreature(56663, 15.0f,
true))
127 ji->MonsterSay(
"Bah, let a pandaren hope, would you? I'm going to miss the old man.",
Language::LANG_UNIVERSAL, ji);
128 ji->SendPlaySound(27298,
true);
136 if (
Creature* aysa =
me->FindNearestCreature(56661, 15.0f,
true))
139 aysa->SendPlaySound(27432,
true);
147 if (
Creature* ji =
me->FindNearestCreature(56663, 15.0f,
true))
150 ji->SendPlaySound(27299,
true);
159 if (
Creature* aysa =
me->FindNearestCreature(56661, 15.0f,
true))
162 aysa->SendPlaySound(27433,
true);
171 if (
Creature* aysa =
me->FindNearestCreature(56661, 15.0f,
true))
173 aysa->MonsterYell(
"Shen-zin Su, we are the descendants of Liu Lang. We've sensed your pain, and we want to help.",
Language::LANG_UNIVERSAL, aysa);
174 aysa->SendPlaySound(27434,
true);
182 if (
Creature* aysa =
me->FindNearestCreature(56661, 15.0f,
true))
185 aysa->SendPlaySound(27435,
true);
193 if (
Creature* shenzinsu =
me->FindNearestCreature(57769, 90.0f,
true))
195 shenzinsu->MonsterSay(
"I am in pain, but it warms my heart that Liu Lang's grandchildren have not forgotten me.",
Language::LANG_UNIVERSAL, shenzinsu);
196 shenzinsu->SendPlaySound(27435,
true);
204 if (
Creature* shenzinsu =
me->FindNearestCreature(57769, 90.0f,
true))
207 shenzinsu->SendPlaySound(27823,
true);
215 if (
Creature* shenzinsu =
me->FindNearestCreature(57769, 90.0f,
true))
217 shenzinsu->MonsterSay(
"The pain is unbearable, and I can no longer swim straight.",
Language::LANG_UNIVERSAL, shenzinsu);
218 shenzinsu->SendPlaySound(27824,
true);
226 if (
Creature* shenzinsu =
me->FindNearestCreature(57769, 90.0f,
true))
228 shenzinsu->MonsterSay(
"Please grandchildren, can you remove this thorn? I cannot do so on my own.",
Language::LANG_UNIVERSAL, shenzinsu);
229 shenzinsu->SendPlaySound(27825,
true);
237 if (
Creature* aysa =
me->FindNearestCreature(56661, 15.0f,
true))
239 aysa->MonsterYell(
"Of course, Shen-zin Su! But your shell is large, and I do not know where this thorn could be.",
Language::LANG_UNIVERSAL, aysa);
240 aysa->SendPlaySound(27436,
true);
248 if (
Creature* shenzinsu =
me->FindNearestCreature(57769, 90.0f,
true))
250 shenzinsu->MonsterSay(
"It is in the forest where your feet do not walk. Continue along the mountains and you will find it.",
Language::LANG_UNIVERSAL, shenzinsu);
251 shenzinsu->SendPlaySound(27826,
true);
259 if (
Creature* aysa =
me->FindNearestCreature(56661, 15.0f,
true))
262 aysa->SendPlaySound(27437,
true);
270 if (
Creature* shenzinsu =
me->FindNearestCreature(57769, 90.0f,
true))
273 shenzinsu->SendPlaySound(27827,
true);
282 if (
Creature* ji =
me->FindNearestCreature(56663, 15.0f,
true))
285 ji->SendPlaySound(27300,
true);
293 if (
Creature* ji =
me->FindNearestCreature(56663, 15.0f,
true))
296 ji->SendPlaySound(27301,
true);
304 if (
Creature* aysa =
me->FindNearestCreature(56661, 15.0f,
true))
307 aysa->SendPlaySound(27438,
true);
315 if (
Creature* ji =
me->FindNearestCreature(56663, 15.0f,
true))
318 ji->SendPlaySound(27302,
true);
327 if (
Creature* aysa =
me->FindNearestCreature(56661, 15.0f,
true))
329 aysa->MonsterSay(
"It is a boat... a whole airship! That's a bigger thorn than I was expecting.",
Language::LANG_UNIVERSAL, aysa);
330 aysa->SendPlaySound(27439,
true);
339 if (
Creature* ji =
me->FindNearestCreature(56663, 15.0f,
true))
342 ji->SendPlaySound(27303,
true);
350 if (
Creature* aysa =
me->FindNearestCreature(56661, 15.0f,
true))
352 aysa->MonsterSay(
"Someone has crashed into our island. Removing this thorn may be more complicated than we thought.",
Language::LANG_UNIVERSAL, aysa);
353 aysa->SendPlaySound(27440,
true);
362 if (
Creature* aysa =
me->FindNearestCreature(56661, 15.0f,
true))
365 aysa->SendPlaySound(27441,
true);
373 std::list<Player*> playerList;
376 for (
auto&& player : playerList)
378 player->KilledMonsterCredit(56378);
379 player->KilledMonsterCredit(55939);
382 if (
Creature* aysa =
me->FindNearestCreature(56661, 15.0f,
true))
384 aysa->DespawnOrUnsummon();
386 if (
Creature* ji =
me->FindNearestCreature(56663, 15.0f,
true))
388 ji->DespawnOrUnsummon();
390 me->DespawnOrUnsummon();
425 ji->EnterVehicle(vehicle, 1);
427 ji->SendPlaySound(27297,
true);
431 aysa->EnterVehicle(vehicle, 2);
434 vehicle->GetMotionMaster()->MovePoint(0,
me->GetHomePosition());
476 if (quest->GetQuestId() == 29790)
478 creature->SetWalk(
true);
479 creature->GetMotionMaster()->MovePoint(0, creature->GetPositionX(), creature->GetPositionY(), creature->GetPositionZ());
516 me->MonsterSay(
"For 3,000 years, we have passed the knowledge of our people down. Elder to youth. Master to student.",
Language::LANG_UNIVERSAL,
me);
522 me->MonsterSay(
"Every elder reaches the day where he must pass on and plant his stave with the staves of his ancestors. Today is the day when my staff joins these woods.",
Language::LANG_UNIVERSAL,
me);
535 me->SetFacingTo(-
M_PI * 1.75);
541 std::list<Player*> playerList;
544 for (
auto&& player : playerList)
546 me->MonsterSay(
"$p, our people have lived the wholes of their lives on this great turtle, Shen-zin Su, but not in hundreds of years has anyone spoken to him.",
Language::LANG_UNIVERSAL, player);
578 me->SetFacingToObject(staff);
579 me->MonsterSay(
"Now Shen-zin Su is ill, and we are all in danger. With the help of the elements, you will break the silence. You will speak to him.",
Language::LANG_UNIVERSAL,
me);
591 me->SetFacingTo(
M_PI * 1.25);
592 me->MonsterSay(
"Aysa and Ji have retrieved the spirits and brought them here. You are to go with them, speak to the great Shen-zin Su, and do what must be done to save our people.",
Language::LANG_UNIVERSAL,
me);
599 me->MonsterSay(
"You've come far, my young student. I see within you a great hero. I leave the fate of this land to you.",
Language::LANG_UNIVERSAL,
me);
611 std::list<Player*> playerList;
614 for (
auto&& player : playerList)
616 player->KilledMonsterCredit(56688);
623 me->GetMotionMaster()->MovePoint(7,
me->GetHomePosition());
650 if (
GameObject* door =
me->FindNearestGameObject(209922, 40.0f))
652 door->UseDoorOrButton(60000);
654 if (
Creature* masterShangXi =
me->FindNearestCreature(56159, 40.0f,
true))
656 masterShangXi->SetWalk(
false);
657 masterShangXi->GetMotionMaster()->MovePoint(10, masterShangXi->GetPositionX(), masterShangXi->GetPositionY(), masterShangXi->GetPositionZ());
692 if (quest->GetQuestId() == 29787)
696 masterShangXi->GetMotionMaster()->MovePoint(0, masterShangXi->GetPositionX(), masterShangXi->GetPositionY(), masterShangXi->GetPositionZ());
772 me->MonsterSay(
"Come child. We have one final journey to take together before your training is complete.",
Language::LANG_UNIVERSAL,
me);
809 me->MonsterSay(
"Beyond the Elders' Path lies the Wood of Staves, a sacred place that only the worthy may enter.",
Language::LANG_UNIVERSAL,
me);
821 me->MonsterSay(
"Of the many ways to prove your worth, I require the simplest of you now. I must know that you will fight for our people. I must know that you can keep them safe.",
Language::LANG_UNIVERSAL,
me);
861 me->DespawnOrUnsummon(10000);
940 {719.36f, 4164.60f, 216.06f },
941 {736.90f, 4183.85f, 221.41f },
942 {704.77f, 4190.16f, 218.24f },
943 {684.53f, 4173.24f, 216.98f },
944 {689.62f, 4153.16f, 217.63f },
945 {717.04f, 4141.16f, 219.83f },
946 {745.91f, 4154.35f, 223.48f }
974 me->SetDisableGravity(
true);
979 me->GetMotionMaster()->Clear();
980 me->GetMotionMaster()->MovePoint(0,
ZhaoPos[0].GetPositionX(),
ZhaoPos[0].GetPositionY(),
ZhaoPos[0].GetPositionZ());
985 std::list<Player*> playerList;
988 for (
auto player : playerList)
990 player->KilledMonsterCredit(
me->GetEntry());
991 player->CastSpell(player, 60922);
992 player->SetPhased(169,
true,
true);
993 player->SetPhased(524,
true,
false);
1007 me->CastSpell(
me, 125992,
true);
1036 switch (
events.ExecuteEvent())
1040 if (
me->HasAura(125992))
1048 me->RemoveAurasDueToSpell(125992);
1049 me->CastSpell(
me, 125990,
false);
1050 me->SetDisableGravity(
true);
1057 me->CastSpell(player, 126006,
false);
1067 if (spell->Id == 104855)
1071 me->GetMotionMaster()->Clear();
1088 std::list<Player*> playerList;
1091 if (playerList.empty())
1096 return *playerList.begin();
1100 std::list<Player*> playerList;
1103 for (
auto player : playerList)
1105 if (player->IsAlive())
1127 if (quest->GetQuestId() == 29786)
1129 player->SetPhased(524,
true,
true);
1130 creature->SetPhased(524,
true,
true);
1132 creature->DespawnOrUnsummon(10000);
1176 switch (
events.ExecuteEvent())
1180 me->MonsterSay(
"We need to wait for the winds to settle, then make a break for the cover of the far hallway.",
Language::LANG_UNIVERSAL,
me);
1187 if (
GameObject* cloud1 =
me->FindNearestGameObject(209685, 30.0f))
1189 cloud1->UseDoorOrButton(60000);
1209 std::list<GameObject*> clouds;
1210 me->GetGameObjectListWithEntryInGrid(clouds, 209685, 60.0f);
1211 if (!clouds.empty())
1213 for (std::list<GameObject*>::iterator itr = clouds.begin(); itr != clouds.end(); ++itr)
1215 if ((*itr)->GetGUIDLow() == 88728)
1218 cloud2->UseDoorOrButton(60000);
1234 std::list<Player*> playerList;
1237 for (
auto&& player : playerList)
1239 player->KilledMonsterCredit(55666);
1241 me->DespawnOrUnsummon();
1274 if (creature->IsQuestGiver())
1275 player->PrepareQuestMenu(creature->GetGUID());
1280 player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID());
1287 player->PlayerTalkClass->ClearMenus();
1290 player->CLOSE_GOSSIP_MENU();
1291 player->KilledMonsterCredit(55548);
1293 creature->GetMotionMaster()->MovePoint(0,
shuPos1);
1325 switch (
events.ExecuteEvent())
1329 me->GetMotionMaster()->MovePoint(1,
shuPos1);
1335 me->GetMotionMaster()->MovePoint(2,
shuPos2);
1341 me->GetMotionMaster()->MovePoint(3,
shuPos3);
1347 if (
Creature* wugou =
me->FindNearestCreature(55539, 15.0f,
true))
1349 wugou->CastSpell(wugou, 118027);
1350 me->SetFacingToObject(wugou);
1357 if (
Creature* wugou =
me->FindNearestCreature(55539, 15.0f,
true))
1359 std::list<Player*> playerList;
1362 for (
auto&& player : playerList)
1364 player->KilledMonsterCredit(55547);
1368 wugouCopy->SetOwnerGUID(player->GetGUID());
1374 shuCopy->SetOwnerGUID(player->GetGUID());
1378 wugou->DespawnOrUnsummon();
1379 me->DespawnOrUnsummon();
1433 std::list<Player*> PlayerList;
1434 me->GetPlayerListInGrid(PlayerList, 20.0f);
1436 for (
auto&& player : PlayerList)
1450 if (
me->GetAreaId() == 5862)
1481 switch (
events.ExecuteEvent())
1487 newPlace = std::rand() % 3;
1493 me->GetMotionMaster()->MoveJump(
shuJumpPos1, 10.0f, 10.0f, 1);
1498 me->GetMotionMaster()->MoveJump(
shuJumpPos2, 10.0f, 10.0f, 1);
1503 me->GetMotionMaster()->MoveJump(
shuJumpPos3, 10.0f, 10.0f, 1);
1508 me->GetMotionMaster()->MoveJump(
shuJumpPos4, 10.0f, 10.0f, 1);
1516 me->AddAura(116695,
me);
1522 float x = 0.0f, y = 0.0f;
1525 if (
Creature* waterSpout =
me->SummonCreature(60488, x, y, 92.189629f))
1528 waterSpout->CastSpell(waterSpout, 116695,
true);
1539 std::list<Player*> playerList;
1542 for (
auto&& player : playerList)
1543 player->CastSpell(player, 116696,
true);
1545 waterSpout->CastSpell(waterSpout, 117057,
true);
1553 waterSpout->DespawnOrUnsummon();
1558 if (
Creature* aysa =
me->FindNearestCreature(54975, 60.0f,
true))
1560 std::list<Player*> playerList;
1563 for (
auto&& player : playerList)
1567 if (!player->GetAura(128588))
1569 player->CastSpell(player, 128588);
1570 aysa->AI()->Talk(0);
1662#define MASTER_SHANG_XI_TEXT_1 "You have conquered every challenge I put before you, $n. You have found Huo and brought him safely to the temple."
1663#define MASTER_SHANG_XI_TEXT_2 "There is a much larger problem we face now, my students. Shen-zin Su is in pain. If we do not act the very land on which we stand could die, and all of us with it."
1664#define MASTER_SHANG_XI_TEXT_3 "We need to speak to Shen-zin Su and discover how to heal it. And to do that, we need the four elemental spirits returned. Huo was the first."
1665#define MASTER_SHANG_XI_TEXT_4 "Ji, I'd like you to go to the Dai-Lo Farmstead in search of Wugou, the spirit of earth."
1666#define JI_TEXT_1 "On It!"
1667#define MASTER_SHANG_XI_TEXT_5 "Aysa, I want you to go to the Singing Pools to find Shu, the spirit of water."
1668#define AYSA_TEXT_1 "Yes master."
1669#define MASTER_SHANG_XI_TEXT_6 "And $n, you shall be the hand that guides us all. Speak with me for a moment before you join Aysa at the Singing Pools to the east."
1671#define MASTER_SHANG_XI_TEXT_7 "You've returned with the spirits of water and earth. You make an old master proud."
1672#define MASTER_SHANG_XI_TEXT_8 "Wugou and Shu are welcome here. We will care for them well."
1673#define MASTER_SHANG_XI_TEXT_9 "The only remaining spirit is Dafeng, who hides somewhere across the Dawning Span to the west."
1707 if (quest->GetQuestId() == 29776)
1711 player->EnterVehicle(vehicle);
1719 if (creature->IsQuestGiver())
1720 player->PrepareQuestMenu(creature->GetGUID());
1725 player->PlayerTalkClass->SendGossipMenu(1, creature->GetGUID());
1735 player->EnterVehicle(vehicle);
1739 player->PlayerTalkClass->SendCloseGossip();
1770 if (
me->GetAreaId() == 5820)
1788 std::list<Player*> PlayerList;
1789 me->GetPlayerListInGrid(PlayerList, 20.0f);
1791 for (
auto&& player : PlayerList)
1830 if (
Creature* ji =
me->FindNearestCreature(61127, 20.0f,
true))
1834 ji->DespawnOrUnsummon(2500);
1842 if (
Creature* aysa =
me->FindNearestCreature(61126, 20.0f,
true))
1846 aysa->DespawnOrUnsummon(2500);
1898 master->SendPlaySound(27788,
true);
1907 player->KilledMonsterCredit(61128);
1908 huo->GetMotionMaster()->MovePoint(0,
huoPos);
1909 huo->DeleteCharmInfo();
1910 huo->DespawnOrUnsummon(60000);
1926 player->CastSpell(player, 102630);
1927 player->CastSpell(player, 128700);
1988 if (
me->GetAreaId() == 5848)
1991 me->GetMotionMaster()->MovePoint(0, LiFeiSpawnPos);
2023 me->MonsterTextEmote(
"Master Li Fei's voice echoes, \"The way of the Tushui... enlightenment through patience and meditation... the principled life.\"",
me,
false);
2029 me->MonsterTextEmote(
"Master Li Fei's voice echoes, \"It is good to see you again, Aysa.You've come with respect, and so I shall give you the answers you seek.\"",
me,
false);
2035 me->MonsterTextEmote(
"Master Li Fei's voice echoes, \"Huo, the spirit of fire, is known for his hunger.He wants for tinder to eat.He needs the caress of the wind to rouse him.\"",
me,
false);
2041 me->MonsterTextEmote(
"Master Li Fei's voice echoes, \"If you find these things and bring them to his cave, on the far side of Wu - Song Village, you will face a challenge within.\"",
me,
false);
2047 me->MonsterTextEmote(
"Master Li Fei's voice echoes, \"Overcome that challenge, and you shall be graced by Huo's presence. Rekindle his flame, and if your spirit is pure, he shall follow you.\"",
me,
false);
2052 me->MonsterTextEmote(
"Master Li Fei's voice echoes, \"Go, children.We shall meet again very soon.\"",
me,
false);
2053 me->MonsterTextEmote(
"Master Li Fei fades away.",
me,
false);
2054 me->DespawnOrUnsummon(1000);
2064 { 1184.7f, 3448.3f, 102.5f, 0.0f },
2065 { 1186.7f, 3439.8f, 102.5f, 0.0f },
2070 { 1145.13f, 3432.88f, 105.268f, 0.0f },
2071 { 1143.36f, 3437.39f, 104.973f, 0.0f },
2111 std::list<Player*> PlayerList;
2112 me->GetPlayerListInGrid(PlayerList, 20.0f);
2114 for (
auto&& player : PlayerList)
2132 if (
me->GetAreaId() == 5848)
2171 for (
uint8 i = 0; i < 2; ++i)
2175 troublemaker->GetMotionMaster()->MovePoint(0,
AddPointPos[i]);
2189 player->KilledMonsterCredit(54856, 0);
2190 player->RemoveAura(116421);
2230 if (quest->GetQuestId() == 29414)
2233 creature->SendPlaySound(27397,
true);
2235 creature->GetMotionMaster()->MovePoint(0,
AysaSpawnPos);
2291 me->DespawnOrUnsummon(1000);
2346 if (who->GetDistance(
me) < 15.f)
2360 std::list<Player*> playerList;
2362 for (
auto&& player: playerList)
2363 player->KilledMonsterCredit(
me->GetEntry(), 0);
2368 if (damage >
me->GetHealth())
2397 me->CastSpell(
me->GetVictim(), 108938);
2403 me->GetMotionMaster()->MoveJump(
me->GetVictim()->GetPositionX(),
me->GetVictim()->GetPositionY(),
me->GetVictim()->GetPositionZ(), 20.0f, 20.0f);
2404 me->CastSpell(
me->GetVictim(), 108937);
2405 std::list<Player*> playerList;
2407 for (
auto&& player : playerList)
2409 float horizontalSpeed = 10.0f;
2410 float verticalSpeed = 8.0f;
2411 player->KnockbackFrom(
me->GetPositionX(),
me->GetPositionY(), horizontalSpeed, verticalSpeed);
2419 me->CastSpell(
me, 108955);
2422 hawk->SetDisplayId(39796);
2423 me->EnterVehicle(hawk, 0);
2430 if (
Creature* hawk =
me->FindNearestCreature(57750, 25.0f))
2433 me->GetClosePoint(x, y, z,
me->GetObjectSize() / 3, 20.0f);
2434 hawk->GetMotionMaster()->MoveCharge(x,y,z);
2447 me->CastSpell(
me->GetVictim(), 108971);
@ TEMPSUMMON_MANUAL_DESPAWN
@ TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN
@ TEMPSUMMON_TIMED_DESPAWN
@ TEMPSUMMON_TIMED_OR_DEAD_DESPAWN
@ TEMPSUMMON_CORPSE_TIMED_DESPAWN
@ QUEST_STATUS_INCOMPLETE
void GetPlayerListInGrid(std::list< Player * > &list, WorldObject *source, float maxSearchRange)
Creature * GetClosestCreatureWithEntry(WorldObject *source, uint32 entry, float maxSearchRange, bool alive)
void GetPositionWithDistInOrientation(Unit *pUnit, float dist, float orientation, float &x, float &y)
@ SPELL_AURA_PERIODIC_TRIGGER_SPELL
@ UNIT_NPC_FLAG_SPELLCLICK
float frand(float min, float max)
bool OnTrigger(Player *player, AreaTriggerEntry const *) OVERRIDE
AreaTrigger_at_temple_of_five_dawns()
AreaTriggerScript(const char *name)
CreatureAI(Creature *creature)
void Talk(uint8 id, WorldObject const *whisperTarget=NULL)
virtual void EnterEvadeMode()
CreatureScript(const char *name)
QuestStatus GetQuestStatus(uint32 quest_id) const
void DoMeleeAttackIfReady()
void EnterVehicle(Unit *base, int8 seatId=-1)
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)
bool IsWithinDist2d(float x, float y, float dist) const
void MonsterSay(const char *text, Language language, WorldObject const *target)
Creature * FindNearestCreature(uint32 entry, float range, bool alive=true) const
TempSummon * SummonCreature(uint32 id, Position const &pos, TempSummonType spwtype=TempSummonType::TEMPSUMMON_MANUAL_DESPAWN, uint32 despwtime=0, uint32 vehId=0) const
CreatureAI * GetAI(Creature *creature) const OVERRIDE
npc_aysa_chamber_of_whispers()
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
npc_aysa_in_wind_temple()
CreatureAI * GetAI(Creature *creature) const OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
npc_guardian_of_the_elders()
@ EVENT_BALLOON_AYSA_YELL_2
@ EVENT_BALLOON_SHENZINSU_TALK_2
@ EVENT_BALLOON_AYSA_YELL_4
@ EVENT_BALLOON_SHENZINSU_TALK_1
@ EVENT_BALLOON_JI_TALK_6
@ EVENT_BALLON_AYSA_TALK_4
@ EVENT_BALLOON_SHENZINSU_TALK_4
@ EVENT_BALLOON_JI_TALK_7
@ EVENT_BALLOON_SHENZINSU_TALK_5
@ EVENT_BALLOON_AYSA_TALK_2
@ EVENT_BALLOON_AYSA_YELL_3
@ EVENT_BALLON_MOVE_POS_2
@ EVENT_BALLON_AYSA_TALK_6
@ EVENT_BALOON_MOVE_POS_1
@ EVENT_BALLON_AYSA_TALK_7
@ EVENT_BALLON_AYSA_TALK_5
@ EVENT_BALLOON_AYSA_TALK_3
@ EVENT_BALLOON_AYSA_YELL_1
@ EVENT_BALLOON_SHENZINSU_TALK_6
@ EVENT_BALLON_AYSA_TALK_1
@ EVENT_BALLOON_SHENZINSU_TALK_3
CreatureAI * GetAI(Creature *creature) const OVERRIDE
npc_hot_air_balloon_vehicle()
CreatureAI * GetAI(Creature *creature) const OVERRIDE
bool OnQuestAccept(Player *player, Creature *, Quest const *) OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
@ EVENT_LI_FEI_MOVE_POS_2
@ EVENT_LI_FEI_MOVE_POS_4
@ EVENT_LI_FEI_MOVE_POS_1
@ EVENT_LI_FEI_MOVE_POS_3
@ EVENT_LI_FEI_MOVE_POS_6
@ EVENT_LI_FEI_MOVE_POS_5
CreatureAI * GetAI(Creature *creature) const OVERRIDE
bool OnGossipHello(Player *player, Creature *creature) OVERRIDE
npc_master_shang_xi_temple()
@ EVENT_MASTER_SHANG_XI_TALK_5
@ EVENT_MASTER_SHANG_XI_TALK_3
@ EVENT_MASTER_SHANG_XI_TALK_8
@ EVENT_MASTER_SHANG_XI_TALK_2
@ EVENT_MASTER_SHANG_XI_TALK_7
@ EVENT_MASTER_SHANG_XI_SPAWN_POS
@ EVENT_MASTER_SHANG_XI_TALK_6
@ EVENT_MASTER_SHANG_XI_TALK_9
@ EVENT_MASTER_SHANG_XI_TALK_1
@ EVENT_MASTER_SHANG_XI_TALK_4
CreatureAI * GetAI(Creature *creature) const OVERRIDE
bool OnGossipSelect(Player *player, Creature *, uint32, uint32 action) OVERRIDE
bool OnQuestAccept(Player *player, Creature *, Quest const *quest) OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
npc_master_shang_xi_wood_of_staves()
bool OnQuestAccept(Player *player, Creature *creature, Quest const *quest) OVERRIDE
@ EVENT_MASTER_SHANG_XI_WOODS_TALK6
@ EVENT_MASTER_SHANG_XI_WOODS_SET_FACING1
@ EVENT_MASTER_SHANG_XI_WOODS_TALK5
@ EVENT_MASTER_SHANG_XI_WOODS_MOVE_POS5
@ EVENT_MASTER_SHANG_XI_WOODS_RESET
@ EVENT_MASTER_SHANG_XI_WOODS_MOVE_POS1
@ EVENT_MASTER_SHANG_XI_WOODS_KNEEL
@ EVENT_MASTER_SHANG_XI_WOODS_MOVE_POS6
@ EVENT_MASTER_SHANG_XI_WOODS_TALK4
@ EVENT_MASTER_SHANG_XI_WOODS_TALK1
@ EVENT_MASTER_SHANG_XI_WOODS_TALK2
@ EVENT_MASTER_SHANG_XI_WOODS_CREDIT
@ EVENT_MASTER_SHANG_XI_WOODS_MOVE_POS4
@ EVENT_MASTER_SHANG_XI_WOODS_TALK3
@ EVENT_MASTER_SHANG_XI_WOODS_MOVE_POS2
@ EVENT_MASTER_SHANG_XI_WOODS_MOVE_POS3
masterShangXiWorthyEvents
@ EVENT_WORTHY_MOVE_POS10
@ EVENT_WORTHY_MOVE_POS11
CreatureAI * GetAI(Creature *creature) const OVERRIDE
npc_master_shang_xi_worthy_of_passing()
bool OnQuestAccept(Player *player, Creature *creature, Quest const *quest) OVERRIDE
npc_master_shang_xi_worthy_questgiver()
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_shu_pool_of_reflection()
CreatureAI * GetAI(Creature *creature) const OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
void RandomResizeList(std::list< T > &list, uint32 size)
bool HealthBelowPct(uint32 pct) const
ScriptedAI(Creature *creature)
void MovementInform(uint32 type, uint32 pointId) OVERRIDE
Player * GetRandomPlayer()
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
boss_zhao_renAI(Creature *creature)
void SpellHit(Unit *, const SpellInfo *spell) OVERRIDE
void JustDied(Unit *) OVERRIDE
npc_aysa_chamber_of_whispersAI(Creature *creature)
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
aysaChamberOfWhisperEvents
void MovementInform(uint32 type, uint32 id) OVERRIDE
npc_aysa_cloudsingerAI(Creature *creature)
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
npc_aysa_in_wind_templeAI(Creature *creature)
std::vector< Player * > playersParticipate
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
npc_aysa_meditationAI(Creature *creature)
void OnSpellClick(Unit *Clicker, bool &) OVERRIDE
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
npc_firework_launcherAI(Creature *creature)
void EnterCombat(Unit *) OVERRIDE
npc_guardian_of_the_eldersAI(Creature *creature)
void JustDied(Unit *killer) OVERRIDE
void UpdateAI(uint32) OVERRIDE
== Triggered Actions Requested ==================
npc_hot_air_balloonAI(Creature *creature)
void OnSpellClick(Unit *Clicker, bool &) OVERRIDE
npc_hot_air_balloon_vehicleAI(Creature *creature)
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
void MovementInform(uint32 type, uint32 id) OVERRIDE
npc_huoAI(Creature *creature)
void MoveInLineOfSight(Unit *who) OVERRIDE
void DamageTaken(Unit *attacker, uint32 &damage) OVERRIDE
@ EVENT_FALCON_VEHICLE_EXIT
@ EVENT_JAOMIN_JUMP_DAMAGE
npc_jaomin_roAI(Creature *creature)
void EnterCombat(Unit *) OVERRIDE
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
void MovementInform(uint32 type, uint32 id) OVERRIDE
npc_li_feiAI(Creature *creature)
npc_master_shang_xi_templeAI(Creature *creature)
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
void MoveInLineOfSight(Unit *who) OVERRIDE
std::vector< Player * > players
void MovementInform(uint32 type, uint32 id) OVERRIDE
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
npc_master_shang_xi_wood_of_stavesAI(Creature *creature)
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
npc_master_shang_xi_worthy_of_passingAI(Creature *creature)
void MovementInform(uint32 type, uint32 id) OVERRIDE
npc_master_shang_xi_worthy_questgiverAI(Creature *creature)
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
void MovementInform(uint32 type, uint32 id) OVERRIDE
npc_shu_dailoAI(Creature *creature)
void MovementInform(uint32 type, uint32 id) OVERRIDE
npc_shu_pool_of_reflectionAI(Creature *creature)
void MoveInLineOfSight(Unit *who) OVERRIDE
@ EVENT_WATER_SPOUT_BURST
@ EVENT_WATER_SPOUT_DESPAWN
@ EVENT_SUMMON_WATER_SPOUT
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
std::vector< Player * > players
npc_uplift_draftAI(Creature *creature)
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
#define MASTER_SHANG_XI_TEXT_1
const Position masterShangXiWoodsPos2
const Position masterShangXiWoodsPos4
#define MASTER_SHANG_XI_TEXT_8
Position const LiFeiMovePos2
const Position balloonPos1
const Position aysaTempleMovePoint_2
const Position shuJumpPos4
const Position balloonPos25
const Position masterShangXiWoodsPos1
const Position balloonPos11
const Position masterShangXiWorthyPos3
const Position balloonPos7
const Position tornadoPos2
const Position shuJumpPos1
const Position jiTempleMovePoint_2
const Position masterShangXiWorthyPos11
const Position shuJumpPos3
const Position aysaChamberMoveEnd
const Position balloonPos16
const Position aysaTempleSpawnPos
const Position jiTempleSpawnPos
#define MASTER_SHANG_XI_TEXT_2
const Position balloonPos8
const Position AddPointPos[2]
@ SPELL_SEE_QUEST_INVIS_7
const Position jiTempleMovePoint_1
const Position masterShangXiWorthyPos6
const Position balloonPos10
#define MASTER_SHANG_XI_TEXT_6
Position const AysaJumpPos3
const Position masterShangXiWorthyPos9
const Position balloonPos20
const Position jiTempleMovePoint_3
const Position aysaChamberMovePos2
const Position masterShangXiWorthyPos4
Position const AysaMovePos4
const Position balloonPos15
Position const LiFeiMovePos6
const Position shuJumpPos2
const Position tornadoPos3
const Position balloonPos24
const Position balloonPos4
const Position masterShangXiWorthyPos7
const Position balloonPos6
#define MASTER_SHANG_XI_TEXT_7
Position const AysaJumpPos2
Position const LiFeiMovePos1
const Position masterShangXiPos
void AddSC_wandering_island()
const Position balloonPos19
Position const LiFeiMovePos4
const Position aysaChamberMovePos3
const Position balloonPos12
Position const LiFeiMovePos3
const Position masterShangXiWoodsPos6
Position const AysaJumpPos1
const Position tornadoPos1
const Position balloonPos17
const Position zhaoStunPos
const Position balloonPos3
const Position masterShangXiWorthyEndPos
const Position masterShangXiWorthyPos2
#define MASTER_SHANG_XI_TEXT_4
const Position AddSpawnPos[2]
const Position balloonPos5
const Position masterShangXiWorthyPos10
Position const LiFeiMovePos5
const Position balloonPos9
const Position masterShangXiWorthyPos1
#define MASTER_SHANG_XI_TEXT_3
const Position tornadoEndPos
const Position balloonPos13
Position const AysaSpawnPos
const Position balloonPos21
const Position balloonPos22
Position const LiFeiSpawnPos
#define MASTER_SHANG_XI_TEXT_5
const Position balloonPos14
const Position aysaTempleMovePoint_1
const Position aysaChamberMovePos1
static Position const ZhaoPos[]
const Position balloonPos2
const Position balloonPos18
const Position masterShangXiWoodsPos3
#define MASTER_SHANG_XI_TEXT_9
Position const AysaMovePos5
const Position masterShangXiWoodsPos5
const Position balloonPos23
const Position masterShangXiWorthyPos5
const Position masterShangXiWorthyPos8