Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Loading...
Searching...
No Matches
areatrigger_scripts.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/* ScriptData
7SDName: Areatrigger_Scripts
8SD%Complete: 100
9SDComment: Scripts for areatriggers
10SDCategory: Areatrigger
11EndScriptData */
12
13/* ContentData
14at_dawning_valley
15at_wu_song_village
16at_fus_pond
17at_dawning_valley2
18at_pool_of_reflection
19at_the_dawning_valley q29409
20at_coilfang_waterfall 4591
21at_legion_teleporter 4560 Teleporter TO Invasion Point: Cataclysm
22at_stormwright_shelf q12741
23at_last_rites q12019
24at_sholazar_waygate q12548
25at_nats_landing q11209
26at_bring_your_orphan_to q910 q910 q1800 q1479 q1687 q1558 q10951 q10952
27at_brewfest
28at_area_52_entrance
29EndContentData */
30
31#include "ScriptMgr.h"
32#include "ScriptedCreature.h"
33#include "Player.h"
34
35//5777
37{
38public:
40
41 bool OnTrigger(Player* player, AreaTriggerEntry const* /*trigger*/) OVERRIDE
42 {
43 if (player->GetQuestStatus(24622) == QUEST_STATUS_COMPLETE)
44 {
45 if (player->FindNearestCreature(38930, 15.0f, true))
46 {
47 return false;
48 }
49 else
50 {
51 float x, y, z;
52 player->GetClosePoint(x, y, z, player->GetObjectSize() / 3, -10.0f);
53 if (Creature* zuni = player->SummonCreature(38930, x, y, z, 0.0f, TempSummonType::TEMPSUMMON_CORPSE_TIMED_DESPAWN, 120000))
54 {
55 zuni->GetMotionMaster()->MoveFollow(player, 2.5f, M_PI);
56 zuni->MonsterSay("Wait up, mon!", Language::LANG_UNIVERSAL, zuni);
57 zuni->SendPlaySound(21368, false);
58 return true;
59 }
60 }
61 }
62 return false;
63 }
64};
65
67{
68public:
70
71 bool OnTrigger(Player* player, AreaTriggerEntry const* /*trigger*/) OVERRIDE
72 {
73 if (player->GetQuestStatus(29776) == QUEST_STATUS_COMPLETE)
74 {
75 if (Creature* lorewalkerZan = player->FindNearestCreature(64885, 25.0f, true))
76 {
77 if (!player->HasAura(116219))
78 {
79 player->CastSpell(player, 116219);
80 lorewalkerZan->AI()->Talk(0, player);
81 return true;
82 }
83 }
84 }
85 return false;
86 }
87};
88
90{
91public:
92 AreaTrigger_at_chamber_of_whispers_entrance() : AreaTriggerScript("at_chamber_of_whispers_entrance") { }
93
94 bool OnTrigger(Player* player, AreaTriggerEntry const* /*trigger*/) OVERRIDE
95 {
96 if (player->GetQuestStatus(29785) == QUEST_STATUS_INCOMPLETE)
97 {
98 if (!player->HasAura(104571))
99 {
100 player->CastSpell(player, 104593);
101 return true;
102 }
103 }
104 return false;
105 }
106};
107
108const Position WugouPosMandori = { 927.5729f, 3610.2399f, 196.4969f };
109//7858
111{
112public:
113 AreaTrigger_at_mandori_village_wugou() : AreaTriggerScript("at_mandori_village_wugou") { }
114
115 bool OnTrigger(Player* player, AreaTriggerEntry const* /*trigger*/) OVERRIDE
116 {
117 if (player->GetQuestStatus(29775) == QUEST_STATUS_INCOMPLETE || player->GetQuestStatus(29775) == QUEST_STATUS_COMPLETE)
118 {
119 if (Creature* wugou = player->FindNearestCreature(55539, 25.0f, true))
120 {
121 wugou->SetOwnerGUID(0);
122 wugou->GetMotionMaster()->MovePoint(0, WugouPosMandori);
123 wugou->DespawnOrUnsummon(4000);
124 return true;
125 }
126 }
127 return false;
128 }
129};
130
131const Position ShuPosMandori = { 880.8524f, 3606.0269f, 192.22139f };
132//7116
134{
135public:
137
138 bool OnTrigger(Player* player, AreaTriggerEntry const* /*trigger*/) OVERRIDE
139 {
140 if (player->GetQuestStatus(29775) == QUEST_STATUS_INCOMPLETE || player->GetQuestStatus(29775) == QUEST_STATUS_COMPLETE)
141 {
142 if (Creature* shu = player->FindNearestCreature(55558, 25.0f, true))
143 {
144 shu->SetOwnerGUID(0);
145 shu->GetMotionMaster()->MovePoint(0, ShuPosMandori);
146 shu->DespawnOrUnsummon(7000);
147 return true;
148 }
149 }
150 return false;
151 }
152};
153
159//7736
161{
162public:
163 AreaTrigger_at_shrine_of_inner_light() : AreaTriggerScript("at_shrine_of_inner_light") { }
164
165 bool OnTrigger(Player* player, AreaTriggerEntry const* /*trigger*/) OVERRIDE
166 {
167 if (player->GetQuestStatus(QUEST_THE_SPIRITS_GUARDIAN) == QUEST_STATUS_COMPLETE)
168 {
169 if (!player->GetAura(92571))
170 {
171 if (Creature* huojinMonk = player->FindNearestCreature(NPC_HUOJIN_MONK, 15.0f, true))
172 {
173 huojinMonk->CastSpell(player, 92571);
174 huojinMonk->AI()->Talk(0);
175 return true;
176 }
177 }
178 }
179 return false;
180 }
181};
188//7750
190{
191public:
193
194 bool OnTrigger(Player* player, AreaTriggerEntry const* /*trigger*/) OVERRIDE
195 {
196 if (player->GetQuestStatus(QUEST_PASSION_OF_SHEN_ZIN_SU) == QUEST_STATUS_INCOMPLETE)
197 {
198 if (!player->GetAura(116220))
199 {
200 if (Creature* chiahui = player->FindNearestCreature(NPC_CHIA_HUI, 45.0f, true))
201 {
202 if (chiahui->FindNearestCreature(54958, 45.0f, true))
203 chiahui->AI()->Talk(0);
204
205 if (Creature* lin = player->FindNearestCreature(NPC_BREWER_LIN, 45.0f, true))
206 {
207 if (lin->FindNearestCreature(54958, 45.0f, true))
208 lin->AI()->Talk(0);
209 }
210 chiahui->CastSpell(player, 116220);
211
212 return true;
213 }
214 }
215 }
216 return false;
217 }
218};
219
225//7749
227{
228public:
230
231 bool OnTrigger(Player* player, AreaTriggerEntry const* /*trigger*/) OVERRIDE
232 {
233 if (player->GetQuestStatus(QUEST_JI_OF_THE_HUOJIN) == QUEST_STATUS_COMPLETE)
234 {
235 if (!player->GetAura(116219))
236 {
237 if (Creature* ji = player->FindNearestCreature(NPC_JI_FIREPAW, 15.0f, true))
238 {
239 ji->CastSpell(player, 116219);
240 ji->AI()->Talk(0);
241 return true;
242 }
243 }
244 }
245 return false;
246 }
247};
248
250{
253
254 NPC_AYSA = 54567,
255 NPC_LORVO = 54943,
256};
257//7748
259{
260public:
262
263 bool OnTrigger(Player* player, AreaTriggerEntry const* trigger) OVERRIDE
264 {
265 if (player->GetQuestStatus(QUEST_AYSA_OF_THE_TUSHUI) == QUEST_STATUS_COMPLETE)
266 {
267 std::list<Creature*> lorvos;
268 player->GetCreatureListWithEntryInGrid(lorvos, NPC_LORVO, 15.0f);
269 if (!lorvos.empty())
270 {
271 for (std::list<Creature*>::iterator itr = lorvos.begin(); itr != lorvos.end(); ++itr)
272 {
273 if ((*itr)->IsAlive() && (*itr)->GetGUIDLow() == 224519)
274 {
275 (*itr)->AI()->Talk(0);
276 return true;
277 }
278 }
279 }
280 }
281
282 if (player->GetQuestStatus(QUEST_MISSING_DRIVER) == QUEST_STATUS_COMPLETE)
283 {
284 if (Creature* aysa = player->FindNearestCreature(NPC_AYSA, 15.0f, true))
285 {
286 aysa->AI()->Talk(0, player);
287 return true;
288 }
289 }
290 return false;
291 }
292};
293
295{
297};
298//7747
300{
301public:
303
304 bool OnTrigger(Player* player, AreaTriggerEntry const* /*trigger*/) OVERRIDE
305 {
306 if (player->GetQuestStatus(QUEST_AYSA_OF_THE_TUSHUI) == QUEST_STATUS_COMPLETE)
307 {
308 if (!player->GetAura(116220))
309 {
310 if (Creature* guang = player->FindNearestCreature(NPC_TRAINEE_GUANG, 45.0f, true))
311 {
312 guang->AI()->Talk(0, player);
313 guang->CastSpell(player, 116220);
314 return true;
315 }
316 }
317 }
318 return false;
319 }
320};
321
323{
324public:
326
327 bool OnTrigger(Player* player, AreaTriggerEntry const* /*trigger*/) OVERRIDE
328 {
329 player->CastSpell(player, 108590);
330 return true;
331 }
332};
333
340
342{
343public:
345
346 bool OnTrigger(Player* player, AreaTriggerEntry const* /*trigger*/) OVERRIDE
347 {
348 if (player->GetQuestStatus(QUEST_DISCIPLE_CHALLENGE) == QUEST_STATUS_INCOMPLETE)
349 {
350 if (!player->HasAura(AT_SPELL_FORCE_REACTION))
351 {
352 if (Creature* creature = player->FindNearestCreature(NPC_TRAINEE_NIM, 25.0f, true))
353 {
354 player->CastSpell(player, AT_SPELL_FORCE_REACTION, false);
355 creature->AI()->Talk(0, player);
356 return true;
357 }
358 }
359 }
360 return false;
361 }
362};
363
364
365/*######
366## at_coilfang_waterfall
367######*/
368
370{
372};
373
375{
376 public:
378
379 bool OnTrigger(Player* player, AreaTriggerEntry const* /*trigger*/) OVERRIDE
380 {
382 if (go->getLootState() == LootState::GO_READY)
383 go->UseDoorOrButton();
384
385 return false;
386 }
387};
388
389/*#####
390## at_legion_teleporter
391#####*/
392
401
403{
404 public:
406
407 bool OnTrigger(Player* player, AreaTriggerEntry const* /*trigger*/) OVERRIDE
408 {
409 if (player->IsAlive() && !player->IsInCombat())
410 {
411 if (player->GetTeam() == ALLIANCE && player->GetQuestRewardStatus(QUEST_GAINING_ACCESS_A))
412 {
413 player->CastSpell(player, SPELL_TELE_A_TO, false);
414 return true;
415 }
416
417 if (player->GetTeam() == HORDE && player->GetQuestRewardStatus(QUEST_GAINING_ACCESS_H))
418 {
419 player->CastSpell(player, SPELL_TELE_H_TO, false);
420 return true;
421 }
422
423 return false;
424 }
425 return false;
426 }
427};
428
429/*######
430## at_stormwright_shelf
431######*/
432
439
441{
442 public:
444
445 bool OnTrigger(Player* player, AreaTriggerEntry const* /*trigger*/) OVERRIDE
446 {
447 if (!player->isDead() && player->GetQuestStatus(QUEST_STRENGTH_OF_THE_TEMPEST) == QUEST_STATUS_INCOMPLETE)
448 player->CastSpell(player, SPELL_CREATE_TRUE_POWER_OF_THE_TEMPEST, false);
449
450 return true;
451 }
452};
453
454/*######
455## at_scent_larkorwi
456######*/
457
463
465{
466 public:
468
469 bool OnTrigger(Player* player, AreaTriggerEntry const* /*trigger*/) OVERRIDE
470 {
471 if (!player->isDead() && player->GetQuestStatus(QUEST_SCENT_OF_LARKORWI) == QUEST_STATUS_INCOMPLETE)
472 {
473 if (!player->FindNearestCreature(NPC_LARKORWI_MATE, 15))
474 player->SummonCreature(NPC_LARKORWI_MATE, player->GetPositionX()+5, player->GetPositionY(), player->GetPositionZ(), 3.3f, TempSummonType::TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 100000);
475 }
476
477 return false;
478 }
479};
480
481/*#####
482## at_last_rites
483#####*/
484
490
492{
493 public:
495
496 bool OnTrigger(Player* player, AreaTriggerEntry const* trigger) OVERRIDE
497 {
498 if (!(player->GetQuestStatus(QUEST_LAST_RITES) == QUEST_STATUS_INCOMPLETE ||
499 player->GetQuestStatus(QUEST_LAST_RITES) == QUEST_STATUS_COMPLETE ||
500 player->GetQuestStatus(QUEST_BREAKING_THROUGH) == QUEST_STATUS_INCOMPLETE ||
501 player->GetQuestStatus(QUEST_BREAKING_THROUGH) == QUEST_STATUS_COMPLETE))
502 return false;
503
504 WorldLocation pPosition;
505
506 switch (trigger->id)
507 {
508 case 5332:
509 case 5338:
510 pPosition = WorldLocation(571, 3733.68f, 3563.25f, 290.812f, 3.665192f);
511 break;
512 case 5334:
513 pPosition = WorldLocation(571, 3802.38f, 3585.95f, 49.5765f, 0.0f);
514 break;
515 case 5340:
516 if (player->GetQuestStatus(QUEST_LAST_RITES) == QUEST_STATUS_INCOMPLETE ||
517 player->GetQuestStatus(QUEST_LAST_RITES) == QUEST_STATUS_COMPLETE)
518 pPosition = WorldLocation(571, 3687.91f, 3577.28f, 473.342f);
519 else
520 pPosition = WorldLocation(571, 3739.38f, 3567.09f, 341.58f);
521 break;
522 default:
523 return false;
524 }
525
526 player->TeleportTo(pPosition);
527
528 return false;
529 }
530};
531
532/*######
533## at_sholazar_waygate
534######*/
535
548
550{
551 public:
553
554 bool OnTrigger(Player* player, AreaTriggerEntry const* trigger) OVERRIDE
555 {
556 if (!player->isDead() && (player->GetQuestStatus(QUEST_MEETING_A_GREAT_ONE) != QUEST_STATUS_NONE ||
557 (player->GetQuestStatus(QUEST_THE_MAKERS_OVERLOOK) == QUEST_STATUS_REWARDED && player->GetQuestStatus(QUEST_THE_MAKERS_PERCH) == QUEST_STATUS_REWARDED)))
558 {
559 switch (trigger->id)
560 {
561 case AT_SHOLAZAR:
562 player->CastSpell(player, SPELL_SHOLAZAR_TO_UNGORO_TELEPORT, false);
563 break;
564
565 case AT_UNGORO:
566 player->CastSpell(player, SPELL_UNGORO_TO_SHOLAZAR_TELEPORT, false);
567 break;
568 }
569 }
570
571 return false;
572 }
573};
574
575/*######
576## at_nats_landing
577######*/
578
585
587{
588 public:
590
591 bool OnTrigger(Player* player, AreaTriggerEntry const* /*trigger*/) OVERRIDE
592 {
593 if (!player->IsAlive() || !player->HasAura(SPELL_FISH_PASTE))
594 return false;
595
596 if (player->GetQuestStatus(QUEST_NATS_BARGAIN) == QUEST_STATUS_INCOMPLETE)
597 {
598 if (!player->FindNearestCreature(NPC_LURKING_SHARK, 20.0f))
599 {
600 if (Creature* shark = player->SummonCreature(NPC_LURKING_SHARK, -4246.243f, -3922.356f, -7.488f, 5.0f, TempSummonType::TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 100000))
601 shark->AI()->AttackStart(player);
602
603 return false;
604 }
605 }
606 return true;
607 }
608};
609
610/*######
611## at_brewfest
612######*/
613
626
628{
629 public:
631 {
632 // Initialize for cooldown
634 }
635
636 bool OnTrigger(Player* player, AreaTriggerEntry const* trigger) OVERRIDE
637 {
638 uint32 triggerId = trigger->id;
639 // Second trigger happened too early after first, skip for now
640 if (sWorld->GetGameTime() - _triggerTimes[triggerId] < AREATRIGGER_TALK_COOLDOWN)
641 return false;
642
643 switch (triggerId)
644 {
646 if (Creature* tapper = player->FindNearestCreature(NPC_TAPPER_SWINDLEKEG, 20.0f))
647 tapper->AI()->Talk(SAY_WELCOME, player);
648 break;
650 if (Creature* ipfelkofer = player->FindNearestCreature(NPC_IPFELKOFER_IRONKEG, 20.0f))
651 ipfelkofer->AI()->Talk(SAY_WELCOME, player);
652 break;
653 default:
654 break;
655 }
656
657 _triggerTimes[triggerId] = sWorld->GetGameTime();
658 return false;
659 }
660
661 private:
662 std::map<uint32, time_t> _triggerTimes;
663};
664
665/*######
666## at_area_52_entrance
667######*/
668
680
682{
683 public:
688
689 bool OnTrigger(Player* player, AreaTriggerEntry const* trigger) OVERRIDE
690 {
691 float x = 0.0f, y = 0.0f, z = 0.0f;
692
693 if (!player->IsAlive())
694 return false;
695
696 uint32 triggerId = trigger->id;
697 if (sWorld->GetGameTime() - _triggerTimes[trigger->id] < SUMMON_COOLDOWN)
698 return false;
699
700 switch (triggerId)
701 {
702 case AT_AREA_52_EAST:
703 x = 3044.176f;
704 y = 3610.692f;
705 z = 143.61f;
706 break;
707 case AT_AREA_52_NORTH:
708 x = 3114.87f;
709 y = 3687.619f;
710 z = 143.62f;
711 break;
712 case AT_AREA_52_WEST:
713 x = 3017.79f;
714 y = 3746.806f;
715 z = 144.27f;
716 break;
717 case AT_AREA_52_SOUTH:
718 x = 2950.63f;
719 y = 3719.905f;
720 z = 143.33f;
721 break;
722 }
723
724 player->SummonCreature(NPC_SPOTLIGHT, x, y, z, 0.0f, TempSummonType::TEMPSUMMON_TIMED_DESPAWN, 5000);
725 player->AddAura(SPELL_A52_NEURALYZER, player);
726 _triggerTimes[trigger->id] = sWorld->GetGameTime();
727 return false;
728 }
729
730 private:
731 std::map<uint32, time_t> _triggerTimes;
732};
733
734/*######
735 ## at_frostgrips_hollow
736 ######*/
737
748
749Position const stormforgedMonitorPosition = {6963.95f, 45.65f, 818.71f, 4.948f};
750Position const stormforgedEradictorPosition = {6983.18f, 7.15f, 806.33f, 2.228f};
751
753{
754public:
760
761 bool OnTrigger(Player* player, AreaTriggerEntry const* /* trigger */) OVERRIDE
762 {
763 if (player->GetQuestStatus(QUEST_THE_LONESOME_WATCHER) != QUEST_STATUS_INCOMPLETE)
764 return false;
765
766 Creature* stormforgedMonitor = Creature::GetCreature(*player, stormforgedMonitorGUID);
767 if (stormforgedMonitor)
768 return false;
769
770 Creature* stormforgedEradictor = Creature::GetCreature(*player, stormforgedEradictorGUID);
771 if (stormforgedEradictor)
772 return false;
773
775 if (stormforgedMonitor)
776 {
777 stormforgedMonitorGUID = stormforgedMonitor->GetGUID();
778 stormforgedMonitor->SetWalk(false);
780 stormforgedMonitor->AddUnitState(UNIT_STATE_IGNORE_PATHFINDING);
781 stormforgedMonitor->GetMotionMaster()->MovePath(NPC_STORMFORGED_MONITOR * 100, false);
782 }
783
785 if (stormforgedEradictor)
786 {
787 stormforgedEradictorGUID = stormforgedEradictor->GetGUID();
788 stormforgedEradictor->GetMotionMaster()->MovePath(NPC_STORMFORGED_ERADICTOR * 100, false);
789 }
790
791 return true;
792 }
793
794private:
797};
798
#define M_PI
Definition Common.h:192
std::uint32_t uint32
Definition Define.h:77
#define OVERRIDE
Definition Define.h:60
std::uint64_t uint64
Definition Define.h:76
@ TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT
Definition Object.h:71
@ TEMPSUMMON_TIMED_DESPAWN
Definition Object.h:70
@ TEMPSUMMON_CORPSE_TIMED_DESPAWN
Definition Object.h:73
@ QUEST_STATUS_REWARDED
Definition QuestDef.h:92
@ QUEST_STATUS_INCOMPLETE
Definition QuestDef.h:89
@ QUEST_STATUS_NONE
Definition QuestDef.h:86
@ QUEST_STATUS_COMPLETE
Definition QuestDef.h:87
GameObject * GetClosestGameObjectWithEntry(WorldObject *source, uint32 entry, float maxSearchRange)
@ ALLIANCE
@ HORDE
@ UNIT_STATE_IGNORE_PATHFINDING
Definition Unit.h:539
@ QUEST_MEETING_A_GREAT_ONE
@ QUEST_THE_MAKERS_OVERLOOK
@ SPELL_UNGORO_TO_SHOLAZAR_TELEPORT
@ QUEST_THE_MAKERS_PERCH
@ SPELL_SHOLAZAR_TO_UNGORO_TELEPORT
@ QUEST_PASSION_OF_SHEN_ZIN_SU
@ SPELL_FISH_PASTE
@ QUEST_NATS_BARGAIN
@ NPC_LURKING_SHARK
Position const stormforgedEradictorPosition
@ QUEST_JI_OF_THE_HUOJIN
const Position WugouPosMandori
@ QUEST_SCENT_OF_LARKORWI
@ NPC_LARKORWI_MATE
@ AT_AREA_52_EAST
@ AT_AREA_52_WEST
@ AT_AREA_52_NORTH
@ SUMMON_COOLDOWN
@ AT_AREA_52_SOUTH
@ SPELL_A52_NEURALYZER
const Position ShuPosMandori
@ GO_COILFANG_WATERFALL
@ QUEST_AYSA_OF_THE_TUSHUI
@ QUEST_MISSING_DRIVER
void AddSC_areatrigger_scripts()
@ NPC_IPFELKOFER_IRONKEG
@ AT_BREWFEST_DUROTAR
@ AREATRIGGER_TALK_COOLDOWN
@ AT_BREWFEST_DUN_MOROGH
@ NPC_TAPPER_SWINDLEKEG
@ NPC_TRAINEE_GUANG
Position const stormforgedMonitorPosition
@ QUEST_DISCIPLE_CHALLENGE
@ NPC_TRAINEE_NIM
@ AT_SPELL_FORCE_REACTION
@ NPC_HUOJIN_MONK
@ QUEST_THE_SPIRITS_GUARDIAN
@ SPELL_CREATE_TRUE_POWER_OF_THE_TEMPEST
@ QUEST_STRENGTH_OF_THE_TEMPEST
@ SPELL_TELE_H_TO
@ SPELL_TELE_A_TO
@ QUEST_GAINING_ACCESS_A
@ QUEST_GAINING_ACCESS_H
@ QUEST_BREAKING_THROUGH
@ QUEST_LAST_RITES
@ NPC_STORMFORGED_ERADICTOR
@ QUEST_THE_LONESOME_WATCHER
@ NPC_STORMFORGED_MONITOR
@ QUEST_MEETING_A_GREAT_ONE
std::map< uint32, time_t > _triggerTimes
bool OnTrigger(Player *player, AreaTriggerEntry const *trigger) OVERRIDE
bool OnTrigger(Player *player, AreaTriggerEntry const *trigger) OVERRIDE
std::map< uint32, time_t > _triggerTimes
bool OnTrigger(Player *player, AreaTriggerEntry const *) OVERRIDE
bool OnTrigger(Player *player, AreaTriggerEntry const *) OVERRIDE
bool OnTrigger(Player *player, AreaTriggerEntry const *) OVERRIDE
bool OnTrigger(Player *player, AreaTriggerEntry const *) OVERRIDE
bool OnTrigger(Player *player, AreaTriggerEntry const *) OVERRIDE
bool OnTrigger(Player *player, AreaTriggerEntry const *) OVERRIDE
bool OnTrigger(Player *player, AreaTriggerEntry const *) OVERRIDE
bool OnTrigger(Player *player, AreaTriggerEntry const *trigger) OVERRIDE
bool OnTrigger(Player *player, AreaTriggerEntry const *trigger) OVERRIDE
bool OnTrigger(Player *player, AreaTriggerEntry const *) OVERRIDE
bool OnTrigger(Player *player, AreaTriggerEntry const *) OVERRIDE
bool OnTrigger(Player *player, AreaTriggerEntry const *) OVERRIDE
bool OnTrigger(Player *player, AreaTriggerEntry const *) OVERRIDE
bool OnTrigger(Player *player, AreaTriggerEntry const *) OVERRIDE
bool OnTrigger(Player *player, AreaTriggerEntry const *) OVERRIDE
bool OnTrigger(Player *player, AreaTriggerEntry const *trigger) OVERRIDE
bool OnTrigger(Player *player, AreaTriggerEntry const *) OVERRIDE
bool OnTrigger(Player *player, AreaTriggerEntry const *) OVERRIDE
bool OnTrigger(Player *player, AreaTriggerEntry const *) OVERRIDE
bool OnTrigger(Player *player, AreaTriggerEntry const *) OVERRIDE
AreaTriggerScript(const char *name)
void MovePath(uint32 path_id, bool repeatable)
uint64 GetGUID() const
Definition Object.h:119
MotionMaster * GetMotionMaster()
Definition Unit.h:2605
void AddUnitState(uint32 f)
Definition Unit.h:1481
static Creature * GetCreature(WorldObject &object, uint64 guid)
Definition Unit.cpp:4905
bool SetWalk(bool enable)
Definition Unit.cpp:9137
Creature * FindNearestCreature(uint32 entry, float range, bool alive=true) const
Definition Object.cpp:2801
TempSummon * SummonCreature(uint32 id, Position const &pos, TempSummonType spwtype=TempSummonType::TEMPSUMMON_MANUAL_DESPAWN, uint32 despwtime=0, uint32 vehId=0) const
Definition Object.cpp:2703
#define sWorld
Definition World.h:910
@ NPC_SPOTLIGHT
Definition karazhan.cpp:45
@ QUEST_LAST_RITES