Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Loading...
Searching...
No Matches
childrens_week.cpp
Go to the documentation of this file.
1/*
2* This file is part of Project SkyFire https://www.projectskyfire.org.
3* See LICENSE.md file for Copyright information
4*/
5
6#include "ScriptMgr.h"
7#include "ScriptedCreature.h"
8#include "SpellAuras.h"
9#include "Player.h"
10
12{
17 ORPHAN_HUMAN = 14305,
19};
20
61
92
113
115{
118
120};
121
123{
124 if (Aura* orphanOut = player->GetAura(SPELL_ORPHAN_OUT))
125 if (orphanOut->GetCaster() && orphanOut->GetCaster()->GetEntry() == orphan)
126 return orphanOut->GetCaster()->GetGUID();
127
128 return 0;
129}
130
131/*######
132## npc_winterfin_playmate
133######*/
135{
136 public:
137 npc_winterfin_playmate() : CreatureScript("npc_winterfin_playmate") { }
138
140 {
142
144 {
145 timer = 0;
146 phase = 0;
147 playerGUID = 0;
148 orphanGUID = 0;
149 }
150
152
153 {
154 if (!phase && who && who->GetDistance2d(me) < 10.0f)
155 if (Player* player = who->ToPlayer())
156 if (player->GetQuestStatus(QUEST_PLAYMATE_ORACLE) == QUEST_STATUS_INCOMPLETE)
157 {
158 playerGUID = player->GetGUID();
160 if (orphanGUID)
161 phase = 1;
162 }
163 }
164
166 {
167 if (!phase)
168 return;
169
170 if (timer <= diff)
171 {
174
175 if (!orphan || !player)
176 {
177 Reset();
178 return;
179 }
180
181 switch (phase)
182 {
183 case 1:
184 orphan->GetMotionMaster()->MovePoint(0, me->GetPositionX() + cos(me->GetOrientation()) * 5, me->GetPositionY() + sin(me->GetOrientation()) * 5, me->GetPositionZ());
185 orphan->AI()->Talk(TEXT_ORACLE_ORPHAN_1);
186 timer = 3000;
187 break;
188 case 2:
189 orphan->SetFacingToObject(me);
191 me->HandleEmoteCommand(EMOTE_STATE_DANCE);
192 timer = 3000;
193 break;
194 case 3:
195 orphan->AI()->Talk(TEXT_ORACLE_ORPHAN_2);
196 timer = 3000;
197 break;
198 case 4:
200 timer = 5000;
201 break;
202 case 5:
203 orphan->AI()->Talk(TEXT_ORACLE_ORPHAN_3);
204 me->HandleEmoteCommand(EMOTE_STATE_NONE);
207 Reset();
208 return;
209 }
210 ++phase;
211 }
212 else
213 timer -= diff;
214 }
215
216 private:
221 };
222
224 {
225 return new npc_winterfin_playmateAI(creature);
226 }
227};
228
229/*######
230## npc_snowfall_glade_playmate
231######*/
233{
234 public:
235 npc_snowfall_glade_playmate() : CreatureScript("npc_snowfall_glade_playmate") { }
236
238 {
240
242 {
243 timer = 0;
244 phase = 0;
245 playerGUID = 0;
246 orphanGUID = 0;
247 }
248
250
251 {
252 if (!phase && who && who->GetDistance2d(me) < 10.0f)
253 if (Player* player = who->ToPlayer())
254 if (player->GetQuestStatus(QUEST_PLAYMATE_WOLVAR) == QUEST_STATUS_INCOMPLETE)
255 {
256 playerGUID = player->GetGUID();
258 if (orphanGUID)
259 phase = 1;
260 }
261 }
262
264 {
265 if (!phase)
266 return;
267
268 if (timer <= diff)
269 {
272
273 if (!orphan || !player)
274 {
275 Reset();
276 return;
277 }
278
279 switch (phase)
280 {
281 case 1:
282 orphan->GetMotionMaster()->MovePoint(0, me->GetPositionX() + cos(me->GetOrientation()) * 5, me->GetPositionY() + sin(me->GetOrientation()) * 5, me->GetPositionZ());
283 orphan->AI()->Talk(TEXT_WOLVAR_ORPHAN_1);
284 timer = 5000;
285 break;
286 case 2:
287 orphan->SetFacingToObject(me);
289 DoCast(orphan, SPELL_SNOWBALL);
290 timer = 5000;
291 break;
292 case 3:
294 timer = 5000;
295 break;
296 case 4:
297 orphan->AI()->Talk(TEXT_WOLVAR_ORPHAN_2);
298 orphan->AI()->DoCast(me, SPELL_SNOWBALL);
299 timer = 5000;
300 break;
301 case 5:
302 orphan->AI()->Talk(TEXT_WOLVAR_ORPHAN_3);
305 Reset();
306 return;
307 }
308 ++phase;
309 }
310 else
311 timer -= diff;
312 }
313
314 private:
319 };
320
321 CreatureAI* GetAI(Creature* pCreature) const
322 {
323 return new npc_snowfall_glade_playmateAI(pCreature);
324 }
325};
326
327/*######
328## npc_the_biggest_tree
329######*/
331{
332 public:
333 npc_the_biggest_tree() : CreatureScript("npc_the_biggest_tree") { }
334
336 {
338 {
339 me->SetDisplayId(DISPLAY_INVISIBLE);
340 }
341
343 {
344 timer = 1000;
345 phase = 0;
346 playerGUID = 0;
347 orphanGUID = 0;
348 }
349
351
352 {
353 if (!phase && who && who->GetDistance2d(me) < 10.0f)
354 if (Player* player = who->ToPlayer())
355 if (player->GetQuestStatus(QUEST_THE_BIGGEST_TREE_EVER) == QUEST_STATUS_INCOMPLETE)
356 {
357 playerGUID = player->GetGUID();
359 if (orphanGUID)
360 phase = 1;
361 }
362 }
363
365 {
366 if (!phase)
367 return;
368
369 if (timer <= diff)
370 {
373
374 if (!orphan || !player)
375 {
376 Reset();
377 return;
378 }
379
380 switch (phase)
381 {
382 case 1:
383 orphan->GetMotionMaster()->MovePoint(0, me->GetPositionX() + cos(me->GetOrientation()) * 5, me->GetPositionY() + sin(me->GetOrientation()) * 5, me->GetPositionZ());
384 timer = 2000;
385 break;
386 case 2:
387 orphan->SetFacingToObject(me);
388 orphan->AI()->Talk(TEXT_ORACLE_ORPHAN_4);
389 timer = 5000;
390 break;
391 case 3:
394 Reset();
395 return;
396 }
397 ++phase;
398 }
399 else
400 timer -= diff;
401 }
402
403 private:
408 };
409
411 {
412 return new npc_the_biggest_treeAI(creature);
413 }
414};
415
416/*######
417## npc_high_oracle_soo_roo
418######*/
420{
421 public:
422 npc_high_oracle_soo_roo() : CreatureScript("npc_high_oracle_soo_roo") { }
423
425 {
427
429 {
430 timer = 0;
431 phase = 0;
432 playerGUID = 0;
433 orphanGUID = 0;
434 }
435
437
438 {
439 if (!phase && who && who->GetDistance2d(me) < 10.0f)
440 if (Player* player = who->ToPlayer())
442 {
443 playerGUID = player->GetGUID();
445 if (orphanGUID)
446 phase = 1;
447 }
448 }
449
451 {
452 if (!phase)
453 return;
454
455 if (timer <= diff)
456 {
459
460 if (!orphan || !player)
461 {
462 Reset();
463 return;
464 }
465
466 switch (phase)
467 {
468 case 1:
469 orphan->GetMotionMaster()->MovePoint(0, me->GetPositionX() + cos(me->GetOrientation()) * 5, me->GetPositionY() + sin(me->GetOrientation()) * 5, me->GetPositionZ());
470 orphan->AI()->Talk(TEXT_ORACLE_ORPHAN_5);
471 timer = 3000;
472 break;
473 case 2:
474 orphan->SetFacingToObject(me);
476 timer = 6000;
477 break;
478 case 3:
479 orphan->AI()->Talk(TEXT_ORACLE_ORPHAN_6);
482 Reset();
483 return;
484 }
485 ++phase;
486 }
487 else
488 timer -= diff;
489 }
490
491 private:
496 };
497
499 {
500 return new npc_high_oracle_soo_rooAI(creature);
501 }
502};
503
504/*######
505## npc_elder_kekek
506######*/
508{
509 public:
510 npc_elder_kekek() : CreatureScript("npc_elder_kekek") { }
511
513 {
514 npc_elder_kekekAI(Creature* creature) : ScriptedAI(creature) { }
515
517 {
518 timer = 0;
519 phase = 0;
520 playerGUID = 0;
521 orphanGUID = 0;
522 }
523
525
526 {
527 if (!phase && who && who->GetDistance2d(me) < 10.0f)
528 if (Player* player = who->ToPlayer())
530 {
531 playerGUID = player->GetGUID();
533 if (orphanGUID)
534 phase = 1;
535 }
536 }
537
539 {
540 if (!phase)
541 return;
542
543 if (timer <= diff)
544 {
547
548 if (!player || !orphan)
549 {
550 Reset();
551 return;
552 }
553
554 switch (phase)
555 {
556 case 1:
557 orphan->GetMotionMaster()->MovePoint(0, me->GetPositionX() + cos(me->GetOrientation()) * 5, me->GetPositionY() + sin(me->GetOrientation()) * 5, me->GetPositionZ());
558 orphan->AI()->Talk(TEXT_WOLVAR_ORPHAN_4);
559 timer = 3000;
560 break;
561 case 2:
563 timer = 6000;
564 break;
565 case 3:
566 orphan->AI()->Talk(TEXT_WOLVAR_ORPHAN_5);
569 Reset();
570 return;
571 }
572 ++phase;
573 }
574 else
575 timer -= diff;
576 }
577
578 private:
583 };
584
586 {
587 return new npc_elder_kekekAI(creature);
588 }
589};
590
591/*######
592## npc_the_etymidian
593## @todo A red crystal as a gift for the great one should be spawned during the event.
594######*/
596{
597 public:
598 npc_the_etymidian() : CreatureScript("npc_the_etymidian") { }
599
601 {
602 npc_the_etymidianAI(Creature* creature) : ScriptedAI(creature) { }
603
605 {
606 timer = 0;
607 phase = 0;
608 playerGUID = 0;
609 orphanGUID = 0;
610 }
611
613
614 {
615 if (!phase && who && who->GetDistance2d(me) < 10.0f)
616 if (Player* player = who->ToPlayer())
617 if (player->GetQuestStatus(QUEST_MEETING_A_GREAT_ONE) == QUEST_STATUS_INCOMPLETE)
618 {
619 playerGUID = player->GetGUID();
621 if (orphanGUID)
622 phase = 1;
623 }
624 }
625
627 {
628 if (!phase)
629 return;
630
631 if (timer <= diff)
632 {
635
636 if (!orphan || !player)
637 {
638 Reset();
639 return;
640 }
641
642 switch (phase)
643 {
644 case 1:
645 orphan->GetMotionMaster()->MovePoint(0, me->GetPositionX() + cos(me->GetOrientation()) * 5, me->GetPositionY() + sin(me->GetOrientation()) * 5, me->GetPositionZ());
646 orphan->AI()->Talk(TEXT_ORACLE_ORPHAN_7);
647 timer = 5000;
648 break;
649 case 2:
650 orphan->SetFacingToObject(me);
651 orphan->AI()->Talk(TEXT_ORACLE_ORPHAN_8);
652 timer = 5000;
653 break;
654 case 3:
655 orphan->AI()->Talk(TEXT_ORACLE_ORPHAN_9);
656 timer = 5000;
657 break;
658 case 4:
659 orphan->AI()->Talk(TEXT_ORACLE_ORPHAN_10);
660 timer = 5000;
661 break;
662 case 5:
665 Reset();
666 return;
667 }
668 ++phase;
669 }
670 else
671 timer -= diff;
672 }
673
674 private:
679 };
680
682 {
683 return new npc_the_etymidianAI(creature);
684 }
685};
686
687/*######
688## npc_cw_alexstrasza_trigger
689######*/
691{
692 public:
693 npc_alexstraza_the_lifebinder() : CreatureScript("npc_alexstraza_the_lifebinder") { }
694
696 {
698
700 {
701 timer = 0;
702 phase = 0;
703 playerGUID = 0;
704 orphanGUID = 0;
705 }
706
707 void SetData(uint32 type, uint32 data) OVERRIDE
708 {
709 // Existing SmartAI
710 if (type == 0)
711 {
712 switch (data)
713 {
714 case 1:
715 me->SetOrientation(1.6049f);
716 break;
717 case 2:
718 me->SetOrientation(me->GetHomePosition().GetOrientation());
719 break;
720 }
721 }
722 }
723
725
726 {
727 if (!phase && who && who->GetDistance2d(me) < 10.0f)
728 if (Player* player = who->ToPlayer())
729 {
730 if (player->GetQuestStatus(QUEST_THE_DRAGON_QUEEN_ORACLE) == QUEST_STATUS_INCOMPLETE)
731 {
732 playerGUID = player->GetGUID();
734 if (orphanGUID)
735 phase = 1;
736 }
737 else if (player->GetQuestStatus(QUEST_THE_DRAGON_QUEEN_WOLVAR) == QUEST_STATUS_INCOMPLETE)
738 {
739 playerGUID = player->GetGUID();
741 if (orphanGUID)
742 phase = 7;
743 }
744 }
745 }
746
748 {
749 if (!phase)
750 return;
751
752 if (timer <= diff)
753 {
756
757 if (!orphan || !player)
758 {
759 Reset();
760 return;
761 }
762
763 switch (phase)
764 {
765 case 1:
766 orphan->GetMotionMaster()->MovePoint(0, me->GetPositionX() + cos(me->GetOrientation()) * 5, me->GetPositionY() + sin(me->GetOrientation()) * 5, me->GetPositionZ());
767 orphan->AI()->Talk(TEXT_ORACLE_ORPHAN_11);
768 timer = 5000;
769 break;
770 case 2:
771 orphan->SetFacingToObject(me);
772 orphan->AI()->Talk(TEXT_ORACLE_ORPHAN_12);
773 timer = 5000;
774 break;
775 case 3:
776 orphan->AI()->Talk(TEXT_ORACLE_ORPHAN_13);
777 timer = 5000;
778 break;
779 case 4:
781 me->SetStandState(UNIT_STAND_STATE_KNEEL);
782 me->SetFacingToObject(orphan);
783 timer = 5000;
784 break;
785 case 5:
786 orphan->AI()->Talk(TEXT_ORACLE_ORPHAN_14);
787 timer = 5000;
788 break;
789 case 6:
790 me->SetStandState(UNIT_STAND_STATE_STAND);
791 me->SetOrientation(me->GetHomePosition().GetOrientation());
794 Reset();
795 return;
796 case 7:
797 orphan->GetMotionMaster()->MovePoint(0, me->GetPositionX() + cos(me->GetOrientation()) * 5, me->GetPositionY() + sin(me->GetOrientation()) * 5, me->GetPositionZ());
798 orphan->AI()->Talk(TEXT_WOLVAR_ORPHAN_11);
799 timer = 5000;
800 break;
801 case 8:
802 if (Creature* krasus = me->FindNearestCreature(NPC_KRASUS, 10.0f))
803 {
804 orphan->SetFacingToObject(krasus);
805 krasus->AI()->Talk(TEXT_KRASUS_8);
806 }
807 timer = 5000;
808 break;
809 case 9:
810 orphan->AI()->Talk(TEXT_WOLVAR_ORPHAN_12);
811 timer = 5000;
812 break;
813 case 10:
814 orphan->SetFacingToObject(me);
816 timer = 5000;
817 break;
818 case 11:
819 orphan->AI()->Talk(TEXT_WOLVAR_ORPHAN_13);
820 timer = 5000;
821 break;
822 case 12:
825 Reset();
826 return;
827 }
828 ++phase;
829 }
830 else
831 timer -= diff;
832 }
833
834 private:
839 };
840
842 {
843 return new npc_alexstraza_the_lifebinderAI(creature);
844 }
845};
846
847/*######
848## at_bring_your_orphan_to
849######*/
850
852{
853 public:
854 at_bring_your_orphan_to() : AreaTriggerScript("at_bring_your_orphan_to") { }
855
856 bool OnTrigger(Player* player, AreaTriggerEntry const* trigger)
857 {
858 if (player->isDead() || !player->HasAura(SPELL_ORPHAN_OUT))
859 return false;
860
861 uint32 questId = 0;
862 uint32 orphanId = 0;
863
864 switch (trigger->id)
865 {
867 questId = QUEST_DOWN_AT_THE_DOCKS;
868 orphanId = ORPHAN_ORCISH;
869 break;
872 orphanId = ORPHAN_ORCISH;
873 break;
876 orphanId = ORPHAN_ORCISH;
877 break;
879 questId = QUEST_BOUGHT_OF_ETERNALS;
880 orphanId = ORPHAN_HUMAN;
881 break;
883 questId = QUEST_SPOOKY_LIGHTHOUSE;
884 orphanId = ORPHAN_HUMAN;
885 break;
887 questId = QUEST_STONEWROUGHT_DAM;
888 orphanId = ORPHAN_HUMAN;
889 break;
890 case AT_DARK_PORTAL:
891 questId = player->GetTeam() == ALLIANCE ? QUEST_DARK_PORTAL_A : QUEST_DARK_PORTAL_H;
892 orphanId = player->GetTeam() == ALLIANCE ? ORPHAN_DRAENEI : ORPHAN_BLOOD_ELF;
893 break;
894 }
895
896 if (questId && orphanId && getOrphanGUID(player, orphanId) && player->GetQuestStatus(questId) == QUEST_STATUS_INCOMPLETE)
897 player->AreaExploredOrEventHappens(questId);
898
899 return true;
900 }
901};
902
903/*######
904## npc_cw_area_trigger
905######*/
907{
908 public:
909 npc_cw_area_trigger() : CreatureScript("npc_cw_area_trigger") { }
910
912 {
914 {
915 me->SetDisplayId(DISPLAY_INVISIBLE);
916 }
917
919
920 {
921 if (who && me->GetDistance2d(who) < 20.0f)
922 if (Player* player = who->ToPlayer())
923 if (player->HasAura(SPELL_ORPHAN_OUT))
924 {
925 uint32 questId = 0;
926 uint32 orphanId = 0;
927 switch (me->GetEntry())
928 {
931 orphanId = player->GetTeam() == ALLIANCE ? ORPHAN_DRAENEI : ORPHAN_BLOOD_ELF;
932 break;
935 orphanId = ORPHAN_DRAENEI;
936 break;
939 orphanId = ORPHAN_DRAENEI;
940 break;
943 orphanId = ORPHAN_DRAENEI;
944 break;
947 orphanId = ORPHAN_DRAENEI;
948 break;
951 orphanId = ORPHAN_BLOOD_ELF;
952 break;
955 orphanId = ORPHAN_BLOOD_ELF;
956 break;
958 if (player->GetQuestStatus(QUEST_NOW_WHEN_I_GROW_UP) == QUEST_STATUS_INCOMPLETE && getOrphanGUID(player, ORPHAN_BLOOD_ELF))
959 {
960 player->AreaExploredOrEventHappens(QUEST_NOW_WHEN_I_GROW_UP);
961 if (player->GetQuestStatus(QUEST_NOW_WHEN_I_GROW_UP) == QUEST_STATUS_COMPLETE)
962 if (Creature* samuro = me->FindNearestCreature(25151, 20.0f))
963 {
964 uint32 emote = 0;
965 switch (std::rand() % 5 + 1)
966 {
967 case 1:
968 emote = EMOTE_ONESHOT_WAVE;
969 break;
970 case 2:
971 emote = EMOTE_ONESHOT_ROAR;
972 break;
973 case 3:
974 emote = EMOTE_ONESHOT_FLEX;
975 break;
976 case 4:
977 emote = EMOTE_ONESHOT_SALUTE;
978 break;
979 case 5:
980 emote = EMOTE_ONESHOT_DANCE;
981 break;
982 }
983 samuro->HandleEmoteCommand(emote);
984 }
985 }
986 break;
987 }
988 if (questId && orphanId && getOrphanGUID(player, orphanId) && player->GetQuestStatus(questId) == QUEST_STATUS_INCOMPLETE)
989 player->AreaExploredOrEventHappens(questId);
990 }
991 }
992 };
993
995 {
996 return new npc_cw_area_triggerAI(creature);
997 }
998};
999
1000/*######
1001## npc_grizzlemaw_cw_trigger
1002######*/
1004{
1005 public:
1006 npc_grizzlemaw_cw_trigger() : CreatureScript("npc_grizzlemaw_cw_trigger") { }
1007
1009 {
1011 {
1012 me->SetDisplayId(DISPLAY_INVISIBLE);
1013 }
1014
1016
1017 {
1018 if (who && who->GetDistance2d(me) < 10.0f)
1019 if (Player* player = who->ToPlayer())
1020 if (player->GetQuestStatus(QUEST_HOME_OF_THE_BEAR_MEN) == QUEST_STATUS_INCOMPLETE)
1022 {
1023 player->AreaExploredOrEventHappens(QUEST_HOME_OF_THE_BEAR_MEN);
1024 orphan->AI()->Talk(TEXT_WOLVAR_ORPHAN_10);
1025 }
1026 }
1027 };
1028
1030 {
1031 return new npc_grizzlemaw_cw_triggerAI(creature);
1032 }
1033};
1034
std::uint8_t uint8
Definition Define.h:79
std::uint32_t uint32
Definition Define.h:77
std::int8_t int8
Definition Define.h:75
#define OVERRIDE
Definition Define.h:60
std::uint64_t uint64
Definition Define.h:76
#define PET_FOLLOW_ANGLE
Definition PetDefines.h:58
#define PET_FOLLOW_DIST
Definition PetDefines.h:57
@ QUEST_STATUS_INCOMPLETE
Definition QuestDef.h:89
@ QUEST_STATUS_COMPLETE
Definition QuestDef.h:87
@ EMOTE_ONESHOT_FLEX
@ EMOTE_ONESHOT_ROAR
@ EMOTE_ONESHOT_SALUTE
@ EMOTE_STATE_DANCE
@ EMOTE_STATE_NONE
@ EMOTE_ONESHOT_DANCE
@ EMOTE_ONESHOT_WAVE
@ ALLIANCE
@ UNIT_STAND_STATE_KNEEL
Definition Unit.h:170
@ UNIT_STAND_STATE_STAND
Definition Unit.h:162
uint64 getOrphanGUID(Player *player, uint32 orphan)
@ QUEST_DARK_PORTAL_H
@ QUEST_CALL_ON_THE_FARSEER
@ QUEST_THE_DRAGON_QUEEN_ORACLE
@ QUEST_MEETING_A_GREAT_ONE
@ QUEST_VISIT_THE_THRONE_OF_ELEMENTS
@ QUEST_THE_MIGHTY_HEMET_NESINGWARY
@ QUEST_PLAYMATE_WOLVAR
@ QUEST_DARK_PORTAL_A
@ QUEST_HCHUU_AND_THE_MUSHROOM_PEOPLE
@ QUEST_JHEEL_IS_AT_AERIS_LANDING
@ QUEST_STONEWROUGHT_DAM
@ QUEST_THE_SEAT_OF_THE_NARUU
@ QUEST_HOME_OF_THE_BEAR_MEN
@ QUEST_BOUGHT_OF_ETERNALS
@ QUEST_TIME_TO_VISIT_THE_CAVERNS_H
@ QUEST_PLAYMATE_ORACLE
@ QUEST_DOWN_AT_THE_DOCKS
@ QUEST_AUCHINDOUN_AND_THE_RING
@ QUEST_THE_DRAGON_QUEEN_WOLVAR
@ QUEST_THE_BIGGEST_TREE_EVER
@ QUEST_LORDAERON_THRONE_ROOM
@ QUEST_NOW_WHEN_I_GROW_UP
@ QUEST_THE_BRONZE_DRAGONSHRINE_ORACLE
@ QUEST_GATEWAY_TO_THE_FRONTIER
@ QUEST_TIME_TO_VISIT_THE_CAVERNS_A
@ QUEST_THE_BRONZE_DRAGONSHRINE_WOLVAR
@ QUEST_SPOOKY_LIGHTHOUSE
@ SPELL_SNOWBALL
@ DISPLAY_INVISIBLE
@ SPELL_ORPHAN_OUT
Areatriggers
@ AT_BOUGHT_OF_ETERNALS
@ NPC_CAVERNS_OF_TIME_CW_TRIGGER
@ NPC_KRASUS
@ NPC_EXODAR_02_CW_TRIGGER
@ AT_DOWN_AT_THE_DOCKS
@ NPC_EXODAR_01_CW_TRIGGER
@ NPC_SPOREGGAR_CW_TRIGGER
@ AT_LORDAERON_THRONE_ROOM
@ NPC_AERIS_LANDING_CW_TRIGGER
@ NPC_SILVERMOON_01_CW_TRIGGER
@ AT_DARK_PORTAL
@ NPC_AUCHINDOUN_CW_TRIGGER
@ AT_SPOOKY_LIGHTHOUSE
@ NPC_THRONE_OF_ELEMENTS_CW_TRIGGER
@ AT_GATEWAY_TO_THE_FRONTIER
@ AT_STONEWROUGHT_DAM
void AddSC_event_childrens_week()
@ TEXT_ORACLE_ORPHAN_5
@ TEXT_WOLVAR_ORPHAN_4
@ TEXT_ORACLE_ORPHAN_8
@ TEXT_SOO_ROO_1
@ TEXT_ORACLE_ORPHAN_9
@ TEXT_KRASUS_8
@ TEXT_ORACLE_ORPHAN_6
@ TEXT_ELDER_KEKEK_1
@ TEXT_WOLVAR_ORPHAN_13
@ TEXT_ORACLE_ORPHAN_12
@ TEXT_SNOWFALL_GLADE_PLAYMATE_2
@ TEXT_WOLVAR_ORPHAN_2
@ TEXT_ORACLE_ORPHAN_13
@ TEXT_ORACLE_ORPHAN_7
@ TEXT_WINTERFIN_PLAYMATE_1
@ TEXT_WOLVAR_ORPHAN_5
@ TEXT_WOLVAR_ORPHAN_12
@ TEXT_ORACLE_ORPHAN_4
@ TEXT_ORACLE_ORPHAN_3
@ TEXT_WOLVAR_ORPHAN_11
@ TEXT_ORACLE_ORPHAN_14
@ TEXT_ORACLE_ORPHAN_11
@ TEXT_WOLVAR_ORPHAN_10
@ TEXT_WINTERFIN_PLAYMATE_2
@ TEXT_ORACLE_ORPHAN_2
@ TEXT_ORACLE_ORPHAN_10
@ TEXT_ALEXSTRASZA_2
@ TEXT_WOLVAR_ORPHAN_3
@ TEXT_SNOWFALL_GLADE_PLAYMATE_1
@ TEXT_ORACLE_ORPHAN_1
@ TEXT_WOLVAR_ORPHAN_1
@ ORPHAN_BLOOD_ELF
@ ORPHAN_ORCISH
@ ORPHAN_ORACLE
@ ORPHAN_HUMAN
@ ORPHAN_WOLVAR
@ ORPHAN_DRAENEI
AreaTriggerScript(const char *name)
void Talk(uint8 id, WorldObject const *whisperTarget=NULL)
CreatureAI * AI() const
Definition Creature.h:483
CreatureScript(const char *name)
void MoveFollow(Unit *target, float dist, float angle, MovementSlot slot=MOTION_SLOT_ACTIVE)
void MovePoint(uint32 id, Position const &pos, bool generatePath=true)
static Creature * GetCreature(WorldObject const &u, uint64 guid)
static Player * GetPlayer(WorldObject const &, uint64 guid)
Player * ToPlayer()
Definition Object.h:204
uint32 GetTeam() const
Definition Player.h:2527
void GroupEventHappens(uint32 questId, WorldObject const *pEventObject)
void AreaExploredOrEventHappens(uint32 questId)
QuestStatus GetQuestStatus(uint32 quest_id) const
void DoCast(uint32 spellId)
Definition UnitAI.cpp:110
Definition Unit.h:1367
Aura * GetAura(uint32 spellId, uint64 casterGUID=0, uint64 itemCasterGUID=0, uint32 reqEffMask=0) const
MotionMaster * GetMotionMaster()
Definition Unit.h:2605
void SetFacingToObject(WorldObject *object)
Definition Unit.cpp:9124
bool HasAura(uint32 spellId, uint64 casterGUID=0, uint64 itemCasterGUID=0, uint32 reqEffMask=0) const
static Creature * GetCreature(WorldObject &object, uint64 guid)
Definition Unit.cpp:4905
bool isDead() const
Definition Unit.h:2040
bool OnTrigger(Player *player, AreaTriggerEntry const *trigger)
CreatureAI * GetAI(Creature *creature) const OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
CreatureAI * GetAI(Creature *pCreature) const
CreatureAI * GetAI(Creature *creature) const OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
uint32 id
Creature * me
ScriptedAI(Creature *creature)
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
void MoveInLineOfSight(Unit *who) OVERRIDE
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
void MoveInLineOfSight(Unit *who) OVERRIDE
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================