aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts/Kalimdor
diff options
context:
space:
mode:
authorSubv <subv2112@gmail.com>2013-12-29 15:13:14 -0500
committerSubv <subv2112@gmail.com>2013-12-29 15:13:14 -0500
commitd234d0f3d0889e799eb066ba39c9b1edbc964d6e (patch)
tree17d6281266900fe843573d03eff46a3b2beabedb /src/server/scripts/Kalimdor
parent8658b5338c905c79daf50cb56dbe739f82d25acc (diff)
parentc40cdc2968c58d952878c09a60926af74f782867 (diff)
Merge branch 'master' of github.com:TrinityCore/TrinityCore into mmaps_rw
Diffstat (limited to 'src/server/scripts/Kalimdor')
-rw-r--r--src/server/scripts/Kalimdor/BlackfathomDeeps/blackfathom_deeps.cpp2
-rw-r--r--src/server/scripts/Kalimdor/BlackfathomDeeps/boss_gelihast.cpp2
-rw-r--r--src/server/scripts/Kalimdor/BlackfathomDeeps/boss_kelris.cpp2
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_anetheron.cpp9
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp4
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_azgalor.cpp4
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_kazrogal.cpp2
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_rage_winterchill.cpp2
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal.cpp9
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.cpp4
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp18
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/instance_hyjal.cpp5
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_chrono_lord_epoch.cpp2
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_infinite_corruptor.cpp2
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_mal_ganis.cpp2
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_meathook.cpp2
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_salramm_the_fleshcrafter.cpp2
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp2
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/instance_culling_of_stratholme.cpp3
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_captain_skarloc.cpp2
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_epoch_hunter.cpp4
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp6
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_aeonus.cpp7
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_chrono_lord_deja.cpp2
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_temporus.cpp2
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/the_black_morass.cpp6
-rw-r--r--src/server/scripts/Kalimdor/OnyxiasLair/boss_onyxia.cpp4
-rw-r--r--src/server/scripts/Kalimdor/RazorfenDowns/boss_amnennar_the_coldbringer.cpp5
-rw-r--r--src/server/scripts/Kalimdor/RazorfenDowns/razorfen_downs.cpp10
-rw-r--r--src/server/scripts/Kalimdor/RazorfenKraul/razorfen_kraul.cpp20
-rw-r--r--src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ayamiss.cpp4
-rw-r--r--src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_buru.cpp6
-rw-r--r--src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_kurinnaxx.cpp4
-rw-r--r--src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ossirian.cpp2
-rw-r--r--src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_bug_trio.cpp8
-rw-r--r--src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp4
-rw-r--r--src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_sartura.cpp2
-rw-r--r--src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp16
-rw-r--r--src/server/scripts/Kalimdor/WailingCaverns/wailing_caverns.cpp4
-rw-r--r--src/server/scripts/Kalimdor/ZulFarrak/boss_zum_rah.cpp2
-rw-r--r--src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp4
-rw-r--r--src/server/scripts/Kalimdor/zone_ashenvale.cpp435
-rw-r--r--src/server/scripts/Kalimdor/zone_azshara.cpp222
-rw-r--r--src/server/scripts/Kalimdor/zone_azuremyst_isle.cpp165
-rw-r--r--src/server/scripts/Kalimdor/zone_bloodmyst_isle.cpp86
-rw-r--r--src/server/scripts/Kalimdor/zone_darkshore.cpp187
-rw-r--r--src/server/scripts/Kalimdor/zone_desolace.cpp91
-rw-r--r--src/server/scripts/Kalimdor/zone_durotar.cpp10
-rw-r--r--src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp16
-rw-r--r--src/server/scripts/Kalimdor/zone_moonglade.cpp2
-rw-r--r--src/server/scripts/Kalimdor/zone_silithus.cpp20
-rw-r--r--src/server/scripts/Kalimdor/zone_tanaris.cpp38
-rw-r--r--src/server/scripts/Kalimdor/zone_teldrassil.cpp2
-rw-r--r--src/server/scripts/Kalimdor/zone_the_barrens.cpp27
-rw-r--r--src/server/scripts/Kalimdor/zone_thousand_needles.cpp4
-rw-r--r--src/server/scripts/Kalimdor/zone_ungoro_crater.cpp12
-rw-r--r--src/server/scripts/Kalimdor/zone_winterspring.cpp4
57 files changed, 707 insertions, 816 deletions
diff --git a/src/server/scripts/Kalimdor/BlackfathomDeeps/blackfathom_deeps.cpp b/src/server/scripts/Kalimdor/BlackfathomDeeps/blackfathom_deeps.cpp
index e74ed93bc66..f76bf2925ee 100644
--- a/src/server/scripts/Kalimdor/BlackfathomDeeps/blackfathom_deeps.cpp
+++ b/src/server/scripts/Kalimdor/BlackfathomDeeps/blackfathom_deeps.cpp
@@ -73,7 +73,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new npc_blackfathom_deeps_eventAI(creature);
+ return GetInstanceAI<npc_blackfathom_deeps_eventAI>(creature);
}
struct npc_blackfathom_deeps_eventAI : public ScriptedAI
diff --git a/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_gelihast.cpp b/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_gelihast.cpp
index 139eed963c1..092156b632a 100644
--- a/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_gelihast.cpp
+++ b/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_gelihast.cpp
@@ -31,7 +31,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new boss_gelihastAI(creature);
+ return GetInstanceAI<boss_gelihastAI>(creature);
}
struct boss_gelihastAI : public ScriptedAI
diff --git a/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_kelris.cpp b/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_kelris.cpp
index 8eeedb6e15f..d224fa2f06c 100644
--- a/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_kelris.cpp
+++ b/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_kelris.cpp
@@ -36,7 +36,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new boss_kelrisAI(creature);
+ return GetInstanceAI<boss_kelrisAI>(creature);
}
struct boss_kelrisAI : public ScriptedAI
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_anetheron.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_anetheron.cpp
index 52f706d5626..fc3252484db 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_anetheron.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_anetheron.cpp
@@ -47,7 +47,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new boss_anetheronAI(creature);
+ return GetInstanceAI<boss_anetheronAI>(creature);
}
struct boss_anetheronAI : public hyjal_trashAI
@@ -83,9 +83,10 @@ public:
Talk(SAY_ONAGGRO);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* who) OVERRIDE
{
- Talk(SAY_ONSLAY);
+ if (who->GetTypeId() == TYPEID_PLAYER)
+ Talk(SAY_ONSLAY);
}
void WaypointReached(uint32 waypointId) OVERRIDE
@@ -179,7 +180,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new npc_towering_infernalAI(creature);
+ return GetInstanceAI<npc_towering_infernalAI>(creature);
}
struct npc_towering_infernalAI : public ScriptedAI
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp
index 41cc1d0241d..cd434f4aefd 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp
@@ -83,7 +83,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new npc_ancient_wispAI(creature);
+ return GetInstanceAI<npc_ancient_wispAI>(creature);
}
struct npc_ancient_wispAI : public ScriptedAI
@@ -239,7 +239,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new boss_archimondeAI(creature);
+ return GetInstanceAI<boss_archimondeAI>(creature);
}
struct boss_archimondeAI : public hyjal_trashAI
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_azgalor.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_azgalor.cpp
index dd486df16ed..91581ac7e92 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_azgalor.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_azgalor.cpp
@@ -48,7 +48,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new boss_azgalorAI(creature);
+ return GetInstanceAI<boss_azgalorAI>(creature);
}
struct boss_azgalorAI : public hyjal_trashAI
@@ -186,7 +186,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new npc_lesser_doomguardAI(creature);
+ return GetInstanceAI<npc_lesser_doomguardAI>(creature);
}
struct npc_lesser_doomguardAI : public hyjal_trashAI
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_kazrogal.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_kazrogal.cpp
index 66e276d25b6..ea5e641347c 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_kazrogal.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_kazrogal.cpp
@@ -49,7 +49,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new boss_kazrogalAI(creature);
+ return GetInstanceAI<boss_kazrogalAI>(creature);
}
struct boss_kazrogalAI : public hyjal_trashAI
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_rage_winterchill.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_rage_winterchill.cpp
index c163e7c0f1f..6b413ec847b 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_rage_winterchill.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_rage_winterchill.cpp
@@ -44,7 +44,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new boss_rage_winterchillAI(creature);
+ return GetInstanceAI<boss_rage_winterchillAI>(creature);
}
struct boss_rage_winterchillAI : public hyjal_trashAI
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal.cpp
index f4d3f559585..a352c3493ee 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal.cpp
@@ -102,6 +102,9 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
+ if (!creature->GetInstanceScript())
+ return NULL;
+
hyjalAI* ai = new hyjalAI(creature);
ai->Reset();
@@ -184,6 +187,9 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
+ if (!creature->GetInstanceScript())
+ return NULL;
+
hyjalAI* ai = new hyjalAI(creature);
ai->Reset();
@@ -209,6 +215,9 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
+ if (!creature->GetInstanceScript())
+ return NULL;
+
hyjalAI* ai = new hyjalAI(creature);
ai->Reset();
ai->EnterEvadeMode();
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.cpp
index 4a491803cb4..0b84911bb96 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.cpp
@@ -858,7 +858,7 @@ void hyjalAI::UpdateAI(uint32 diff)
{
if (SpellTimer[i] <= diff)
{
- if (me->IsNonMeleeSpellCasted(false))
+ if (me->IsNonMeleeSpellCast(false))
me->InterruptNonMeleeSpells(false);
Unit* target = NULL;
@@ -953,7 +953,7 @@ void hyjalAI::WaypointReached(uint32 waypointId)
{
if (waypointId == 1 || (waypointId == 0 && me->GetEntry() == THRALL))
{
- me->MonsterYell(YELL_HURRY, 0, 0);
+ me->MonsterYell(YELL_HURRY, LANG_UNIVERSAL, NULL);
WaitForTeleport = true;
TeleportTimer = 20000;
if (me->GetEntry() == JAINA)
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp
index 9245a0c648f..6ca5bfd10d5 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp
@@ -537,7 +537,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new npc_giant_infernalAI(creature);
+ return GetInstanceAI<npc_giant_infernalAI>(creature);
}
};
@@ -548,7 +548,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new npc_abominationAI(creature);
+ return GetInstanceAI<npc_abominationAI>(creature);
}
struct npc_abominationAI : public hyjal_trashAI
@@ -646,7 +646,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new npc_ghoulAI(creature);
+ return GetInstanceAI<npc_ghoulAI>(creature);
}
struct npc_ghoulAI : public hyjal_trashAI
@@ -748,7 +748,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new npc_necromancerAI(creature);
+ return GetInstanceAI<npc_necromancerAI>(creature);
}
struct npc_necromancerAI : public hyjal_trashAI
@@ -875,7 +875,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new npc_bansheeAI(creature);
+ return GetInstanceAI<npc_bansheeAI>(creature);
}
struct npc_bansheeAI : public hyjal_trashAI
@@ -978,7 +978,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new npc_crypt_fiendAI(creature);
+ return GetInstanceAI<npc_crypt_fiendAI>(creature);
}
struct npc_crypt_fiendAI : public hyjal_trashAI
@@ -1068,7 +1068,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new npc_fel_stalkerAI(creature);
+ return GetInstanceAI<npc_fel_stalkerAI>(creature);
}
struct npc_fel_stalkerAI : public hyjal_trashAI
@@ -1158,7 +1158,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new npc_frost_wyrmAI(creature);
+ return GetInstanceAI<npc_frost_wyrmAI>(creature);
}
struct npc_frost_wyrmAI : public hyjal_trashAI
@@ -1270,7 +1270,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new npc_gargoyleAI(creature);
+ return GetInstanceAI<npc_gargoyleAI>(creature);
}
struct npc_gargoyleAI : public hyjal_trashAI
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/instance_hyjal.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/instance_hyjal.cpp
index d54ef0c5168..97aadae3f98 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/instance_hyjal.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/instance_hyjal.cpp
@@ -30,6 +30,7 @@ EndScriptData */
#include "Player.h"
#include "WorldPacket.h"
#include "Opcodes.h"
+#include "Chat.h"
/* Battle of Mount Hyjal encounters:
0 - Rage Winterchill event
@@ -185,8 +186,8 @@ public:
{
if (i->GetSource())
{
- WorldPacket packet(SMSG_MESSAGECHAT, 200);
- unit->BuildMonsterChat(&packet, CHAT_MSG_MONSTER_YELL, YELL_EFFORTS, 0, YELL_EFFORTS_NAME, i->GetSource()->GetGUID());
+ WorldPacket packet;
+ ChatHandler::BuildChatPacket(packet, CHAT_MSG_MONSTER_YELL, LANG_UNIVERSAL, unit, i->GetSource(), YELL_EFFORTS);
i->GetSource()->GetSession()->SendPacket(&packet);
WorldPacket data2(SMSG_PLAY_SOUND, 4);
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_chrono_lord_epoch.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_chrono_lord_epoch.cpp
index c049be0309b..15f0df5fae6 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_chrono_lord_epoch.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_chrono_lord_epoch.cpp
@@ -52,7 +52,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new boss_epochAI(creature);
+ return GetInstanceAI<boss_epochAI>(creature);
}
struct boss_epochAI : public ScriptedAI
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_infinite_corruptor.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_infinite_corruptor.cpp
index 54438e3b8a9..b12986c72ff 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_infinite_corruptor.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_infinite_corruptor.cpp
@@ -39,7 +39,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new boss_infinite_corruptorAI(creature);
+ return GetInstanceAI<boss_infinite_corruptorAI>(creature);
}
struct boss_infinite_corruptorAI : public ScriptedAI
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_mal_ganis.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_mal_ganis.cpp
index e16ed882171..0ab5f49fb34 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_mal_ganis.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_mal_ganis.cpp
@@ -66,7 +66,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new boss_mal_ganisAI(creature);
+ return GetInstanceAI<boss_mal_ganisAI>(creature);
}
struct boss_mal_ganisAI : public ScriptedAI
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_meathook.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_meathook.cpp
index aff076f4763..490e93ec090 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_meathook.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_meathook.cpp
@@ -51,7 +51,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new boss_meathookAI(creature);
+ return GetInstanceAI<boss_meathookAI>(creature);
}
struct boss_meathookAI : public ScriptedAI
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_salramm_the_fleshcrafter.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_salramm_the_fleshcrafter.cpp
index fc5b3c4a8b0..ffc0c73ecfa 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_salramm_the_fleshcrafter.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_salramm_the_fleshcrafter.cpp
@@ -56,7 +56,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new boss_salrammAI(creature);
+ return GetInstanceAI<boss_salrammAI>(creature);
}
struct boss_salrammAI : public ScriptedAI
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp
index dbead663cff..91a7ca9ab0d 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp
@@ -344,7 +344,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new npc_arthasAI(creature);
+ return GetInstanceAI<npc_arthasAI>(creature);
}
struct npc_arthasAI : public npc_escortAI
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/instance_culling_of_stratholme.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/instance_culling_of_stratholme.cpp
index 9af1486275c..6264f02f6c9 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/instance_culling_of_stratholme.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/instance_culling_of_stratholme.cpp
@@ -187,8 +187,7 @@ class instance_culling_of_stratholme : public InstanceMapScript
// Summon Chromie and global whisper
if (Creature* chromie = instance->SummonCreature(NPC_CHROMIE_2, ChromieSummonPos))
if (!instance->GetPlayers().isEmpty())
- if (Player* player = instance->GetPlayers().getFirst()->GetSource())
- sCreatureTextMgr->SendChat(chromie, SAY_CRATES_COMPLETED, player->GetGUID(), CHAT_MSG_ADDON, LANG_ADDON, TEXT_RANGE_MAP);
+ sCreatureTextMgr->SendChat(chromie, SAY_CRATES_COMPLETED, NULL, CHAT_MSG_ADDON, LANG_ADDON, TEXT_RANGE_MAP);
}
DoUpdateWorldState(WORLDSTATE_CRATES_REVEALED, _crateCount);
break;
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_captain_skarloc.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_captain_skarloc.cpp
index 3b51f6d0f8f..d69137060e0 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_captain_skarloc.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_captain_skarloc.cpp
@@ -54,7 +54,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new boss_captain_skarlocAI(creature);
+ return GetInstanceAI<boss_captain_skarlocAI>(creature);
}
struct boss_captain_skarlocAI : public ScriptedAI
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_epoch_hunter.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_epoch_hunter.cpp
index 3e650bf4fe9..0c20669775c 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_epoch_hunter.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_epoch_hunter.cpp
@@ -52,7 +52,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new boss_epoch_hunterAI(creature);
+ return GetInstanceAI<boss_epoch_hunterAI>(creature);
}
struct boss_epoch_hunterAI : public ScriptedAI
@@ -104,7 +104,7 @@ public:
//Sand Breath
if (SandBreath_Timer <= diff)
{
- if (me->IsNonMeleeSpellCasted(false))
+ if (me->IsNonMeleeSpellCast(false))
me->InterruptNonMeleeSpells(false);
DoCastVictim(SPELL_SAND_BREATH);
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp
index 46978366224..031a0f2792e 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp
@@ -188,7 +188,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new npc_thrall_old_hillsbradAI(creature);
+ return GetInstanceAI<npc_thrall_old_hillsbradAI>(creature);
}
bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
@@ -407,7 +407,7 @@ public:
if (uint64 TarethaGUID = instance->GetData64(DATA_TARETHA))
{
if (Creature* Taretha = Creature::GetCreature(*me, TarethaGUID))
- Taretha->AI()->Talk(SAY_TA_ESCAPED, me->GetGUID());
+ Taretha->AI()->Talk(SAY_TA_ESCAPED, me);
}
break;
case 95:
@@ -573,7 +573,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new npc_tarethaAI(creature);
+ return GetInstanceAI<npc_tarethaAI>(creature);
}
bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_aeonus.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_aeonus.cpp
index c929a1b6a55..a26b8f5556b 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_aeonus.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_aeonus.cpp
@@ -97,9 +97,10 @@ public:
}
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* who) OVERRIDE
{
- Talk(SAY_SLAY);
+ if (who->GetTypeId() == TYPEID_PLAYER)
+ Talk(SAY_SLAY);
}
void UpdateAI(uint32 diff) OVERRIDE
@@ -140,7 +141,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new boss_aeonusAI(creature);
+ return GetInstanceAI<boss_aeonusAI>(creature);
}
};
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_chrono_lord_deja.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_chrono_lord_deja.cpp
index fe91f3ab712..aa5fb22a24a 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_chrono_lord_deja.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_chrono_lord_deja.cpp
@@ -145,7 +145,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new boss_chrono_lord_dejaAI(creature);
+ return GetInstanceAI<boss_chrono_lord_dejaAI>(creature);
}
};
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_temporus.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_temporus.cpp
index 4d94edf7339..d496a9a79ab 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_temporus.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_temporus.cpp
@@ -143,7 +143,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new boss_temporusAI(creature);
+ return GetInstanceAI<boss_temporusAI>(creature);
}
};
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/the_black_morass.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/the_black_morass.cpp
index cc3cf8192dc..10cd2068f72 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/the_black_morass.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/the_black_morass.cpp
@@ -70,7 +70,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new npc_medivh_bmAI(creature);
+ return GetInstanceAI<npc_medivh_bmAI>(creature);
}
struct npc_medivh_bmAI : public ScriptedAI
@@ -268,7 +268,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new npc_time_riftAI(creature);
+ return GetInstanceAI<npc_time_riftAI>(creature);
}
struct npc_time_riftAI : public ScriptedAI
@@ -358,7 +358,7 @@ public:
TimeRiftWave_Timer = 15000;
} else TimeRiftWave_Timer -= diff;
- if (me->IsNonMeleeSpellCasted(false))
+ if (me->IsNonMeleeSpellCast(false))
return;
TC_LOG_DEBUG("scripts", "npc_time_rift: not casting anylonger, i need to die.");
diff --git a/src/server/scripts/Kalimdor/OnyxiasLair/boss_onyxia.cpp b/src/server/scripts/Kalimdor/OnyxiasLair/boss_onyxia.cpp
index 79421ffe37e..c610760a289 100644
--- a/src/server/scripts/Kalimdor/OnyxiasLair/boss_onyxia.cpp
+++ b/src/server/scripts/Kalimdor/OnyxiasLair/boss_onyxia.cpp
@@ -404,7 +404,7 @@ public:
case EVENT_DEEP_BREATH: // Phase PHASE_BREATH
if (!IsMoving)
{
- if (me->IsNonMeleeSpellCasted(false))
+ if (me->IsNonMeleeSpellCast(false))
me->InterruptNonMeleeSpells(false);
Talk(EMOTE_BREATH);
@@ -469,7 +469,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new boss_onyxiaAI(creature);
+ return GetInstanceAI<boss_onyxiaAI>(creature);
}
};
diff --git a/src/server/scripts/Kalimdor/RazorfenDowns/boss_amnennar_the_coldbringer.cpp b/src/server/scripts/Kalimdor/RazorfenDowns/boss_amnennar_the_coldbringer.cpp
index 323fd92a8f6..952ed5679f9 100644
--- a/src/server/scripts/Kalimdor/RazorfenDowns/boss_amnennar_the_coldbringer.cpp
+++ b/src/server/scripts/Kalimdor/RazorfenDowns/boss_amnennar_the_coldbringer.cpp
@@ -69,9 +69,10 @@ public:
Talk(SAY_AGGRO);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* who) OVERRIDE
{
- Talk(SAY_KILL);
+ if (who->GetTypeId() == TYPEID_PLAYER)
+ Talk(SAY_KILL);
}
void JustDied(Unit* /*killer*/) OVERRIDE
diff --git a/src/server/scripts/Kalimdor/RazorfenDowns/razorfen_downs.cpp b/src/server/scripts/Kalimdor/RazorfenDowns/razorfen_downs.cpp
index 3300f0d811b..28e7759a16f 100644
--- a/src/server/scripts/Kalimdor/RazorfenDowns/razorfen_downs.cpp
+++ b/src/server/scripts/Kalimdor/RazorfenDowns/razorfen_downs.cpp
@@ -178,14 +178,14 @@ public:
{
if (channeling)
{
- Talk(SAY_WATCH_OUT, who->GetGUID());
+ Talk(SAY_WATCH_OUT, who);
}
else
{
events.ScheduleEvent(EVENT_FIREBALL, 1000);
events.ScheduleEvent(EVENT_FROST_NOVA, urand(8000, 12000));
if (urand(0, 100) > 40)
- Talk(SAY_AGGRO, who->GetGUID());
+ Talk(SAY_AGGRO, who);
}
}
@@ -321,7 +321,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new npc_belnistraszAI(creature);
+ return GetInstanceAI<npc_belnistraszAI>(creature);
}
};
@@ -362,7 +362,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new npc_idol_room_spawnerAI(creature);
+ return GetInstanceAI<npc_idol_room_spawnerAI>(creature);
}
};
@@ -433,7 +433,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new npc_tomb_creatureAI(creature);
+ return GetInstanceAI<npc_tomb_creatureAI>(creature);
}
};
diff --git a/src/server/scripts/Kalimdor/RazorfenKraul/razorfen_kraul.cpp b/src/server/scripts/Kalimdor/RazorfenKraul/razorfen_kraul.cpp
index 35fea896a10..1715bd693b4 100644
--- a/src/server/scripts/Kalimdor/RazorfenKraul/razorfen_kraul.cpp
+++ b/src/server/scripts/Kalimdor/RazorfenKraul/razorfen_kraul.cpp
@@ -52,7 +52,7 @@ public:
if (quest->GetQuestId() == QUEST_WILLIX_THE_IMPORTER)
{
CAST_AI(npc_escortAI, (creature->AI()))->Start(true, false, player->GetGUID());
- creature->AI()->Talk(SAY_READY, player->GetGUID());
+ creature->AI()->Talk(SAY_READY, player);
creature->setFaction(113);
}
@@ -78,42 +78,42 @@ public:
{
case 3:
me->HandleEmoteCommand(EMOTE_STATE_POINT);
- Talk(SAY_POINT, player->GetGUID());
+ Talk(SAY_POINT, player);
break;
case 4:
me->SummonCreature(ENTRY_BOAR, 2137.66f, 1843.98f, 48.08f, 1.54f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000);
break;
case 8:
- Talk(SAY_BLUELEAF, player->GetGUID());
+ Talk(SAY_BLUELEAF, player);
break;
case 9:
- Talk(SAY_DANGER, player->GetGUID());
+ Talk(SAY_DANGER, player);
break;
case 13:
- Talk(SAY_BAD, player->GetGUID());
+ Talk(SAY_BAD, player);
break;
case 14:
me->SummonCreature(ENTRY_BOAR, 2078.91f, 1704.54f, 56.77f, 1.54f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000);
break;
case 25:
- Talk(SAY_THINK, player->GetGUID());
+ Talk(SAY_THINK, player);
break;
case 31:
- Talk(SAY_SOON, player->GetGUID());
+ Talk(SAY_SOON, player);
break;
case 42:
- Talk(SAY_FINALY, player->GetGUID());
+ Talk(SAY_FINALY, player);
break;
case 43:
me->SummonCreature(ENTRY_BOAR, 1956.43f, 1596.97f, 81.75f, 1.54f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000);
break;
case 45:
- Talk(SAY_WIN, player->GetGUID());
+ Talk(SAY_WIN, player);
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER);
player->GroupEventHappens(QUEST_WILLIX_THE_IMPORTER, me);
break;
case 46:
- Talk(SAY_END, player->GetGUID());
+ Talk(SAY_END, player);
break;
}
}
diff --git a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ayamiss.cpp b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ayamiss.cpp
index 327fe0d1358..1cdcfae1139 100644
--- a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ayamiss.cpp
+++ b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ayamiss.cpp
@@ -232,7 +232,7 @@ class boss_ayamiss : public CreatureScript
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new boss_ayamissAI(creature);
+ return GetInstanceAI<boss_ayamissAI>(creature);
}
};
@@ -286,7 +286,7 @@ class npc_hive_zara_larva : public CreatureScript
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new npc_hive_zara_larvaAI(creature);
+ return GetInstanceAI<npc_hive_zara_larvaAI>(creature);
}
};
diff --git a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_buru.cpp b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_buru.cpp
index a0a093246b6..ae4b42a4221 100644
--- a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_buru.cpp
+++ b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_buru.cpp
@@ -85,7 +85,7 @@ class boss_buru : public CreatureScript
void EnterCombat(Unit* who) OVERRIDE
{
_EnterCombat();
- Talk(EMOTE_TARGET, who->GetGUID());
+ Talk(EMOTE_TARGET, who);
DoCast(me, SPELL_THORNS);
events.ScheduleEvent(EVENT_DISMEMBER, 5000);
@@ -122,7 +122,7 @@ class boss_buru : public CreatureScript
{
DoResetThreat();
AttackStart(victim);
- Talk(EMOTE_TARGET, victim->GetGUID());
+ Talk(EMOTE_TARGET, victim);
}
}
@@ -236,7 +236,7 @@ class npc_buru_egg : public CreatureScript
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new npc_buru_eggAI(creature);
+ return GetInstanceAI<npc_buru_eggAI>(creature);
}
};
diff --git a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_kurinnaxx.cpp b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_kurinnaxx.cpp
index c13ae5aa9c8..09c4734dc49 100644
--- a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_kurinnaxx.cpp
+++ b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_kurinnaxx.cpp
@@ -78,7 +78,7 @@ class boss_kurinnaxx : public CreatureScript
{
_JustDied();
if (Creature* Ossirian = me->GetMap()->GetCreature(instance->GetData64(DATA_OSSIRIAN)))
- sCreatureTextMgr->SendChat(Ossirian, SAY_KURINAXX_DEATH, 0, CHAT_MSG_ADDON, LANG_ADDON, TEXT_RANGE_ZONE);
+ sCreatureTextMgr->SendChat(Ossirian, SAY_KURINAXX_DEATH, NULL, CHAT_MSG_ADDON, LANG_ADDON, TEXT_RANGE_ZONE);
}
void UpdateAI(uint32 diff) OVERRIDE
@@ -127,7 +127,7 @@ class boss_kurinnaxx : public CreatureScript
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new boss_kurinnaxxAI(creature);
+ return GetInstanceAI<boss_kurinnaxxAI>(creature);
}
};
diff --git a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ossirian.cpp b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ossirian.cpp
index 366f74f469e..6db8b3dde85 100644
--- a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ossirian.cpp
+++ b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ossirian.cpp
@@ -273,7 +273,7 @@ class boss_ossirian : public CreatureScript
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new boss_ossirianAI(creature);
+ return GetInstanceAI<boss_ossirianAI>(creature);
}
};
diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_bug_trio.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_bug_trio.cpp
index 8dd009cdb32..e00b46d3ed1 100644
--- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_bug_trio.cpp
+++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_bug_trio.cpp
@@ -32,7 +32,7 @@ enum Spells
SPELL_CLEAVE = 26350,
SPELL_TOXIC_VOLLEY = 25812,
SPELL_POISON_CLOUD = 38718, //Only Spell with right dmg.
- SPELL_ENRAGE = 34624, //Changed cause 25790 is casted on gamers too. Same prob with old explosion of twin emperors.
+ SPELL_ENRAGE = 34624, //Changed cause 25790 is cast on gamers too. Same prob with old explosion of twin emperors.
SPELL_CHARGE = 26561,
SPELL_KNOCKBACK = 26027,
@@ -48,7 +48,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new boss_kriAI(creature);
+ return GetInstanceAI<boss_kriAI>(creature);
}
struct boss_kriAI : public ScriptedAI
@@ -145,7 +145,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new boss_vemAI(creature);
+ return GetInstanceAI<boss_vemAI>(creature);
}
struct boss_vemAI : public ScriptedAI
@@ -238,7 +238,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new boss_yaujAI(creature);
+ return GetInstanceAI<boss_yaujAI>(creature);
}
struct boss_yaujAI : public ScriptedAI
diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp
index d2b5b5eaf8c..73eb9a8163b 100644
--- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp
+++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp
@@ -153,7 +153,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new eye_of_cthunAI(creature);
+ return GetInstanceAI<eye_of_cthunAI>(creature);
}
struct eye_of_cthunAI : public ScriptedAI
@@ -459,7 +459,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new cthunAI(creature);
+ return GetInstanceAI<cthunAI>(creature);
}
struct cthunAI : public ScriptedAI
diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_sartura.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_sartura.cpp
index a3edd9ad83d..f640173efb2 100644
--- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_sartura.cpp
+++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_sartura.cpp
@@ -160,7 +160,7 @@ public:
//If she is 20% enrage
if (!Enraged)
{
- if (!HealthAbovePct(20) && !me->IsNonMeleeSpellCasted(false))
+ if (!HealthAbovePct(20) && !me->IsNonMeleeSpellCast(false))
{
DoCast(me, SPELL_ENRAGE);
Enraged = true;
diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp
index 1d888f3ce8b..e63c2b8545b 100644
--- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp
+++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp
@@ -80,7 +80,7 @@ struct boss_twinemperorsAI : public ScriptedAI
uint32 AfterTeleportTimer;
bool DontYellWhenDead;
uint32 Abuse_Bug_Timer, BugsTimer;
- bool tspellcasted;
+ bool tspellcast;
uint32 EnrageTimer;
virtual bool IAmVeklor() = 0;
@@ -92,7 +92,7 @@ struct boss_twinemperorsAI : public ScriptedAI
Heal_Timer = 0; // first heal immediately when they get close together
Teleport_Timer = TELEPORTTIME;
AfterTeleport = false;
- tspellcasted = false;
+ tspellcast = false;
AfterTeleportTimer = 0;
Abuse_Bug_Timer = urand(10000, 17000);
BugsTimer = 2000;
@@ -243,21 +243,21 @@ struct boss_twinemperorsAI : public ScriptedAI
me->AddUnitState(UNIT_STATE_STUNNED);
AfterTeleport = true;
AfterTeleportTimer = 2000;
- tspellcasted = false;
+ tspellcast = false;
}
bool TryActivateAfterTTelep(uint32 diff)
{
if (AfterTeleport)
{
- if (!tspellcasted)
+ if (!tspellcast)
{
me->ClearUnitState(UNIT_STATE_STUNNED);
DoCast(me, SPELL_TWIN_TELEPORT);
me->AddUnitState(UNIT_STATE_STUNNED);
}
- tspellcasted = true;
+ tspellcast = true;
if (AfterTeleportTimer <= diff)
{
@@ -378,7 +378,7 @@ struct boss_twinemperorsAI : public ScriptedAI
{
if (EnrageTimer <= diff)
{
- if (!me->IsNonMeleeSpellCasted(true))
+ if (!me->IsNonMeleeSpellCast(true))
{
DoCast(me, SPELL_BERSERK);
EnrageTimer = 60*60000;
@@ -394,7 +394,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new boss_veknilashAI(creature);
+ return GetInstanceAI<boss_veknilashAI>(creature);
}
struct boss_veknilashAI : public boss_twinemperorsAI
@@ -480,7 +480,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new boss_veklorAI(creature);
+ return GetInstanceAI<boss_veklorAI>(creature);
}
struct boss_veklorAI : public boss_twinemperorsAI
diff --git a/src/server/scripts/Kalimdor/WailingCaverns/wailing_caverns.cpp b/src/server/scripts/Kalimdor/WailingCaverns/wailing_caverns.cpp
index 706c6e1804d..fa1b780b258 100644
--- a/src/server/scripts/Kalimdor/WailingCaverns/wailing_caverns.cpp
+++ b/src/server/scripts/Kalimdor/WailingCaverns/wailing_caverns.cpp
@@ -81,7 +81,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new npc_disciple_of_naralexAI(creature);
+ return GetInstanceAI<npc_disciple_of_naralexAI>(creature);
}
bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
@@ -189,7 +189,7 @@ public:
void EnterCombat(Unit* who) OVERRIDE
{
- Talk(SAY_ATTACKED, who->GetGUID());
+ Talk(SAY_ATTACKED, who);
}
void JustDied(Unit* /*slayer*/) OVERRIDE
diff --git a/src/server/scripts/Kalimdor/ZulFarrak/boss_zum_rah.cpp b/src/server/scripts/Kalimdor/ZulFarrak/boss_zum_rah.cpp
index bc31fd118be..95e2c298af7 100644
--- a/src/server/scripts/Kalimdor/ZulFarrak/boss_zum_rah.cpp
+++ b/src/server/scripts/Kalimdor/ZulFarrak/boss_zum_rah.cpp
@@ -150,7 +150,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new boss_zum_rahAI(creature);
+ return GetInstanceAI<boss_zum_rahAI>(creature);
}
};
diff --git a/src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp b/src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp
index a2f98b21589..72715c49b8f 100644
--- a/src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp
+++ b/src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp
@@ -97,7 +97,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new npc_sergeant_blyAI(creature);
+ return GetInstanceAI<npc_sergeant_blyAI>(creature);
}
struct npc_sergeant_blyAI : public ScriptedAI
@@ -296,7 +296,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new npc_weegli_blastfuseAI(creature);
+ return GetInstanceAI<npc_weegli_blastfuseAI>(creature);
}
struct npc_weegli_blastfuseAI : public ScriptedAI
diff --git a/src/server/scripts/Kalimdor/zone_ashenvale.cpp b/src/server/scripts/Kalimdor/zone_ashenvale.cpp
index dbcf054f8f4..8304f5ba9e4 100644
--- a/src/server/scripts/Kalimdor/zone_ashenvale.cpp
+++ b/src/server/scripts/Kalimdor/zone_ashenvale.cpp
@@ -37,133 +37,118 @@ EndContentData */
# npc_torek
####*/
-enum TorekSays
+enum Torek
{
SAY_READY = 0,
SAY_MOVE = 1,
SAY_PREPARE = 2,
SAY_WIN = 3,
SAY_END = 4,
+ SPELL_REND = 11977,
+ SPELL_THUNDERCLAP = 8078,
+ QUEST_TOREK_ASSULT = 6544,
+ NPC_SPLINTERTREE_RAIDER = 12859,
+ NPC_DURIEL = 12860,
+ NPC_SILVERWING_SENTINEL = 12896,
+ NPC_SILVERWING_WARRIOR = 12897,
+ FACTION_QUEST = 113
};
-enum TorekSpells
+class npc_torek : public CreatureScript
{
- SPELL_REND = 11977,
- SPELL_THUNDERCLAP = 8078,
-};
+public:
+ npc_torek() : CreatureScript("npc_torek") { }
-enum TorekMisc
-{
- QUEST_TOREK_ASSULT = 6544,
+ struct npc_torekAI : public npc_escortAI
+ {
+ npc_torekAI(Creature* creature) : npc_escortAI(creature) { }
- ENTRY_SPLINTERTREE_RAIDER = 12859,
- ENTRY_DURIEL = 12860,
- ENTRY_SILVERWING_SENTINEL = 12896,
- ENTRY_SILVERWING_WARRIOR = 12897,
-};
+ void Reset() OVERRIDE
+ {
+ rend_Timer = 5000;
+ thunderclap_Timer = 8000;
+ _completed = false;
+ }
-class npc_torek : public CreatureScript
-{
- public:
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
- npc_torek() : CreatureScript("npc_torek")
+ void JustSummoned(Creature* summoned) OVERRIDE
{
+ summoned->AI()->AttackStart(me);
}
- struct npc_torekAI : public npc_escortAI
+ void sQuestAccept(Player* player, Quest const* quest)
{
- npc_torekAI(Creature* creature) : npc_escortAI(creature) { }
-
- uint32 Rend_Timer;
- uint32 Thunderclap_Timer;
- bool Completed;
+ if (quest->GetQuestId() == QUEST_TOREK_ASSULT)
+ {
+ /// @todo find companions, make them follow Torek, at any time (possibly done by core/database in future?)
+ Talk(SAY_READY, player);
+ me->setFaction(FACTION_QUEST);
+ npc_escortAI::Start(true, true, player->GetGUID());
+ }
+ }
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) OVERRIDE
+ {
+ if (Player* player = GetPlayerForEscort())
{
- if (Player* player = GetPlayerForEscort())
+ switch (waypointId)
{
- switch (waypointId)
- {
- case 1:
- Talk(SAY_MOVE, player->GetGUID());
- break;
- case 8:
- Talk(SAY_PREPARE, player->GetGUID());
- break;
- case 19:
- /// @todo verify location and creatures amount.
- me->SummonCreature(ENTRY_DURIEL, 1776.73f, -2049.06f, 109.83f, 1.54f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000);
- me->SummonCreature(ENTRY_SILVERWING_SENTINEL, 1774.64f, -2049.41f, 109.83f, 1.40f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000);
- me->SummonCreature(ENTRY_SILVERWING_WARRIOR, 1778.73f, -2049.50f, 109.83f, 1.67f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000);
- break;
- case 20:
- Talk(SAY_WIN, player->GetGUID());
- Completed = true;
- player->GroupEventHappens(QUEST_TOREK_ASSULT, me);
- break;
- case 21:
- Talk(SAY_END, player->GetGUID());
- break;
- }
+ case 1:
+ Talk(SAY_MOVE, player);
+ break;
+ case 8:
+ Talk(SAY_PREPARE, player);
+ break;
+ case 19:
+ /// @todo verify location and creatures amount.
+ me->SummonCreature(NPC_DURIEL, 1776.73f, -2049.06f, 109.83f, 1.54f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000);
+ me->SummonCreature(NPC_SILVERWING_SENTINEL, 1774.64f, -2049.41f, 109.83f, 1.40f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000);
+ me->SummonCreature(NPC_SILVERWING_WARRIOR, 1778.73f, -2049.50f, 109.83f, 1.67f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000);
+ break;
+ case 20:
+ Talk(SAY_WIN, player);
+ _completed = true;
+ player->GroupEventHappens(QUEST_TOREK_ASSULT, me);
+ break;
+ case 21:
+ Talk(SAY_END, player);
+ break;
}
}
+ }
- void Reset() OVERRIDE
- {
- Rend_Timer = 5000;
- Thunderclap_Timer = 8000;
- Completed = false;
- }
+ void UpdateAI(uint32 diff) OVERRIDE
+ {
+ npc_escortAI::UpdateAI(diff);
- void EnterCombat(Unit* /*who*/) OVERRIDE
- {
- }
+ if (!UpdateVictim())
+ return;
- void JustSummoned(Creature* summoned) OVERRIDE
+ if (rend_Timer <= diff)
{
- summoned->AI()->AttackStart(me);
- }
+ DoCastVictim(SPELL_REND);
+ rend_Timer = 20000;
+ } else rend_Timer -= diff;
- void UpdateAI(uint32 diff) OVERRIDE
+ if (thunderclap_Timer <= diff)
{
- npc_escortAI::UpdateAI(diff);
-
- if (!UpdateVictim())
- return;
-
- if (Rend_Timer <= diff)
- {
- DoCastVictim(SPELL_REND);
- Rend_Timer = 20000;
- } else Rend_Timer -= diff;
-
- if (Thunderclap_Timer <= diff)
- {
- DoCast(me, SPELL_THUNDERCLAP);
- Thunderclap_Timer = 30000;
- } else Thunderclap_Timer -= diff;
- }
- };
-
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
- {
- return new npc_torekAI(creature);
+ DoCast(me, SPELL_THUNDERCLAP);
+ thunderclap_Timer = 30000;
+ } else thunderclap_Timer -= diff;
}
- bool OnQuestAccept(Player* player, Creature* creature, Quest const* quest) OVERRIDE
- {
- if (quest->GetQuestId() == QUEST_TOREK_ASSULT)
- {
- /// @todo find companions, make them follow Torek, at any time (possibly done by core/database in future?)
- creature->AI()->Talk(SAY_READY, player->GetGUID());
- creature->setFaction(113);
+ private:
+ uint32 rend_Timer;
+ uint32 thunderclap_Timer;
+ bool _completed;
- if (npc_escortAI* pEscortAI = CAST_AI(npc_torekAI, creature->AI()))
- pEscortAI->Start(true, true, player->GetGUID());
- }
+ };
- return true;
- }
+ CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ {
+ return new npc_torekAI(creature);
+ }
};
/*####
@@ -175,96 +160,90 @@ enum RuulSnowhoof
NPC_THISTLEFUR_URSA = 3921,
NPC_THISTLEFUR_TOTEMIC = 3922,
NPC_THISTLEFUR_PATHFINDER = 3926,
-
QUEST_FREEDOM_TO_RUUL = 6482,
-
GO_CAGE = 178147
};
Position const RuulSnowhoofSummonsCoord[6] =
{
- {3449.218018f, -587.825073f, 174.978867f, 4.714445f},
- {3446.384521f, -587.830872f, 175.186279f, 4.714445f},
- {3444.218994f, -587.835327f, 175.380600f, 4.714445f},
- {3508.344482f, -492.024261f, 186.929031f, 4.145029f},
- {3506.265625f, -490.531006f, 186.740128f, 4.239277f},
- {3503.682373f, -489.393799f, 186.629684f, 4.349232f}
+ { 3449.218018f, -587.825073f, 174.978867f, 4.714445f },
+ { 3446.384521f, -587.830872f, 175.186279f, 4.714445f },
+ { 3444.218994f, -587.835327f, 175.380600f, 4.714445f },
+ { 3508.344482f, -492.024261f, 186.929031f, 4.145029f },
+ { 3506.265625f, -490.531006f, 186.740128f, 4.239277f },
+ { 3503.682373f, -489.393799f, 186.629684f, 4.349232f }
};
class npc_ruul_snowhoof : public CreatureScript
{
- public:
- npc_ruul_snowhoof() : CreatureScript("npc_ruul_snowhoof") { }
+public:
+ npc_ruul_snowhoof() : CreatureScript("npc_ruul_snowhoof") { }
- struct npc_ruul_snowhoofAI : public npc_escortAI
- {
- npc_ruul_snowhoofAI(Creature* creature) : npc_escortAI(creature) { }
+ struct npc_ruul_snowhoofAI : public npc_escortAI
+ {
+ npc_ruul_snowhoofAI(Creature* creature) : npc_escortAI(creature) { }
- void WaypointReached(uint32 waypointId) OVERRIDE
- {
- Player* player = GetPlayerForEscort();
- if (!player)
- return;
+ void Reset() OVERRIDE
+ {
+ if (GameObject* Cage = me->FindNearestGameObject(GO_CAGE, 20))
+ Cage->SetGoState(GO_STATE_READY);
+ }
- switch (waypointId)
- {
- case 0:
- me->SetUInt32Value(UNIT_FIELD_BYTES_1, 0);
- if (GameObject* Cage = me->FindNearestGameObject(GO_CAGE, 20))
- Cage->SetGoState(GO_STATE_ACTIVE);
- break;
- case 13:
- me->SummonCreature(NPC_THISTLEFUR_TOTEMIC, RuulSnowhoofSummonsCoord[0], TEMPSUMMON_DEAD_DESPAWN, 60000);
- me->SummonCreature(NPC_THISTLEFUR_URSA, RuulSnowhoofSummonsCoord[1], TEMPSUMMON_DEAD_DESPAWN, 60000);
- me->SummonCreature(NPC_THISTLEFUR_PATHFINDER, RuulSnowhoofSummonsCoord[2], TEMPSUMMON_DEAD_DESPAWN, 60000);
- break;
- case 19:
- me->SummonCreature(NPC_THISTLEFUR_TOTEMIC, RuulSnowhoofSummonsCoord[3], TEMPSUMMON_DEAD_DESPAWN, 60000);
- me->SummonCreature(NPC_THISTLEFUR_URSA, RuulSnowhoofSummonsCoord[4], TEMPSUMMON_DEAD_DESPAWN, 60000);
- me->SummonCreature(NPC_THISTLEFUR_PATHFINDER, RuulSnowhoofSummonsCoord[5], TEMPSUMMON_DEAD_DESPAWN, 60000);
- break;
- case 21:
- player->GroupEventHappens(QUEST_FREEDOM_TO_RUUL, me);
- break;
- }
- }
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void JustSummoned(Creature* summoned) OVERRIDE
+ {
+ summoned->AI()->AttackStart(me);
+ }
- void Reset() OVERRIDE
+ void sQuestAccept(Player* player, Quest const* quest)
+ {
+ if (quest->GetQuestId() == QUEST_TOREK_ASSULT)
{
- if (GameObject* Cage = me->FindNearestGameObject(GO_CAGE, 20))
- Cage->SetGoState(GO_STATE_READY);
+ me->setFaction(FACTION_QUEST);
+ npc_escortAI::Start(true, false, player->GetGUID());
}
+ }
- void JustSummoned(Creature* summoned) OVERRIDE
- {
- summoned->AI()->AttackStart(me);
- }
+ void WaypointReached(uint32 waypointId) OVERRIDE
+ {
+ Player* player = GetPlayerForEscort();
+ if (!player)
+ return;
- void UpdateAI(uint32 diff) OVERRIDE
+ switch (waypointId)
{
- npc_escortAI::UpdateAI(diff);
+ case 0:
+ me->SetUInt32Value(UNIT_FIELD_BYTES_1, 0);
+ if (GameObject* Cage = me->FindNearestGameObject(GO_CAGE, 20))
+ Cage->SetGoState(GO_STATE_ACTIVE);
+ break;
+ case 13:
+ me->SummonCreature(NPC_THISTLEFUR_TOTEMIC, RuulSnowhoofSummonsCoord[0], TEMPSUMMON_DEAD_DESPAWN, 60000);
+ me->SummonCreature(NPC_THISTLEFUR_URSA, RuulSnowhoofSummonsCoord[1], TEMPSUMMON_DEAD_DESPAWN, 60000);
+ me->SummonCreature(NPC_THISTLEFUR_PATHFINDER, RuulSnowhoofSummonsCoord[2], TEMPSUMMON_DEAD_DESPAWN, 60000);
+ break;
+ case 19:
+ me->SummonCreature(NPC_THISTLEFUR_TOTEMIC, RuulSnowhoofSummonsCoord[3], TEMPSUMMON_DEAD_DESPAWN, 60000);
+ me->SummonCreature(NPC_THISTLEFUR_URSA, RuulSnowhoofSummonsCoord[4], TEMPSUMMON_DEAD_DESPAWN, 60000);
+ me->SummonCreature(NPC_THISTLEFUR_PATHFINDER, RuulSnowhoofSummonsCoord[5], TEMPSUMMON_DEAD_DESPAWN, 60000);
+ break;
+ case 21:
+ player->GroupEventHappens(QUEST_FREEDOM_TO_RUUL, me);
+ break;
}
- };
-
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
- {
- return new npc_ruul_snowhoofAI(creature);
}
- bool OnQuestAccept(Player* player, Creature* creature, Quest const* quest) OVERRIDE
+ void UpdateAI(uint32 diff) OVERRIDE
{
- if (quest->GetQuestId() == QUEST_FREEDOM_TO_RUUL)
- {
- creature->setFaction(113);
-
- if (npc_escortAI* pEscortAI = CAST_AI(npc_ruul_snowhoofAI, (creature->AI())))
- pEscortAI->Start(true, false, player->GetGUID());
- }
-
- return true;
+ npc_escortAI::UpdateAI(diff);
}
+ };
+
+ CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ {
+ return new npc_ruul_snowhoofAI(creature);
+ }
};
enum Muglash
@@ -298,37 +277,68 @@ enum Muglash
Position const FirstNagaCoord[3] =
{
- {3603.504150f, 1122.631104f, 1.635f, 0.0f}, // rider
- {3589.293945f, 1148.664063f, 5.565f, 0.0f}, // sorceress
- {3609.925537f, 1168.759521f, -1.168f, 0.0f} // razortail
+ { 3603.504150f, 1122.631104f, 1.635f, 0.0f }, // rider
+ { 3589.293945f, 1148.664063f, 5.565f, 0.0f }, // sorceress
+ { 3609.925537f, 1168.759521f, -1.168f, 0.0f } // razortail
};
Position const SecondNagaCoord[3] =
{
- {3609.925537f, 1168.759521f, -1.168f, 0.0f}, // witch
- {3645.652100f, 1139.425415f, 1.322f, 0.0f}, // priest
- {3583.602051f, 1128.405762f, 2.347f, 0.0f} // myrmidon
+ { 3609.925537f, 1168.759521f, -1.168f, 0.0f }, // witch
+ { 3645.652100f, 1139.425415f, 1.322f, 0.0f }, // priest
+ { 3583.602051f, 1128.405762f, 2.347f, 0.0f } // myrmidon
};
Position const VorshaCoord = {3633.056885f, 1172.924072f, -5.388f, 0.0f};
class npc_muglash : public CreatureScript
{
- public:
- npc_muglash() : CreatureScript("npc_muglash") { }
+public:
+ npc_muglash() : CreatureScript("npc_muglash") { }
+
+ struct npc_muglashAI : public npc_escortAI
+ {
+ npc_muglashAI(Creature* creature) : npc_escortAI(creature) { }
+
+ void Reset() OVERRIDE
+ {
+ eventTimer = 10000;
+ waveId = 0;
+ _isBrazierExtinguished = false;
+ }
+
+ void EnterCombat(Unit* /*who*/) OVERRIDE
+ {
+ if (Player* player = GetPlayerForEscort())
+ if (HasEscortState(STATE_ESCORT_PAUSED))
+ {
+ if (urand(0, 1))
+ Talk(SAY_MUG_ON_GUARD, player);
+ return;
+ }
+ }
- struct npc_muglashAI : public npc_escortAI
+ void JustDied(Unit* /*killer*/) OVERRIDE
{
- npc_muglashAI(Creature* creature) : npc_escortAI(creature) { }
+ if (HasEscortState(STATE_ESCORT_ESCORTING))
+ if (Player* player = GetPlayerForEscort())
+ player->FailQuest(QUEST_VORSHA);
+ }
- uint8 WaveId;
- uint32 EventTimer;
- bool IsBrazierExtinguished;
+ void JustSummoned(Creature* summoned) OVERRIDE
+ {
+ summoned->AI()->AttackStart(me);
+ }
- void JustSummoned(Creature* summoned) OVERRIDE
+ void sQuestAccept(Player* player, Quest const* quest)
+ {
+ if (quest->GetQuestId() == QUEST_VORSHA)
{
- summoned->AI()->AttackStart(me);
+ Talk(SAY_MUG_START1);
+ me->setFaction(FACTION_QUEST);
+ npc_escortAI::Start(true, false, player->GetGUID());
}
+ }
void WaypointReached(uint32 waypointId) OVERRIDE
{
@@ -337,10 +347,10 @@ class npc_muglash : public CreatureScript
switch (waypointId)
{
case 0:
- Talk(SAY_MUG_START2, player->GetGUID());
+ Talk(SAY_MUG_START2, player);
break;
case 24:
- Talk(SAY_MUG_BRAZIER, player->GetGUID());
+ Talk(SAY_MUG_BRAZIER, player);
if (GameObject* go = GetClosestGameObjectWithEntry(me, GO_NAGA_BRAZIER, INTERACTION_DISTANCE*2))
{
@@ -362,34 +372,9 @@ class npc_muglash : public CreatureScript
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
- {
- if (Player* player = GetPlayerForEscort())
- if (HasEscortState(STATE_ESCORT_PAUSED))
- {
- if (urand(0, 1))
- Talk(SAY_MUG_ON_GUARD, player->GetGUID());
- return;
- }
- }
-
- void Reset() OVERRIDE
- {
- EventTimer = 10000;
- WaveId = 0;
- IsBrazierExtinguished = false;
- }
-
- void JustDied(Unit* /*killer*/) OVERRIDE
- {
- if (HasEscortState(STATE_ESCORT_ESCORTING))
- if (Player* player = GetPlayerForEscort())
- player->FailQuest(QUEST_VORSHA);
- }
-
void DoWaveSummon()
{
- switch (WaveId)
+ switch (waveId)
{
case 1:
me->SummonCreature(NPC_WRATH_RIDER, FirstNagaCoord[0], TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 60000);
@@ -411,48 +396,40 @@ class npc_muglash : public CreatureScript
}
}
- void UpdateAI(uint32 uiDiff) OVERRIDE
+ void UpdateAI(uint32 diff) OVERRIDE
{
- npc_escortAI::UpdateAI(uiDiff);
+ npc_escortAI::UpdateAI(diff);
if (!me->GetVictim())
{
- if (HasEscortState(STATE_ESCORT_PAUSED) && IsBrazierExtinguished)
+ if (HasEscortState(STATE_ESCORT_PAUSED) && _isBrazierExtinguished)
{
- if (EventTimer < uiDiff)
+ if (eventTimer < diff)
{
- ++WaveId;
+ ++waveId;
DoWaveSummon();
- EventTimer = 10000;
+ eventTimer = 10000;
}
else
- EventTimer -= uiDiff;
+ eventTimer -= diff;
}
return;
}
DoMeleeAttackIfReady();
}
- };
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
- {
- return new npc_muglashAI(creature);
- }
+ private:
+ uint32 eventTimer;
+ uint8 waveId;
+ public:
+ bool _isBrazierExtinguished;
- bool OnQuestAccept(Player* player, Creature* creature, Quest const* quest) OVERRIDE
- {
- if (quest->GetQuestId() == QUEST_VORSHA)
- {
- if (npc_muglashAI* pEscortAI = CAST_AI(npc_muglashAI, creature->AI()))
- {
- creature->AI()->Talk(SAY_MUG_START1);
- creature->setFaction(113);
+ };
- pEscortAI->Start(true, false, player->GetGUID());
- }
- }
- return true;
- }
+ CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ {
+ return new npc_muglashAI(creature);
+ }
};
class go_naga_brazier : public GameObjectScript
@@ -468,7 +445,7 @@ class go_naga_brazier : public GameObjectScript
{
creature->AI()->Talk(SAY_MUG_BRAZIER_WAIT);
- pEscortAI->IsBrazierExtinguished = true;
+ pEscortAI->_isBrazierExtinguished = true;
return false;
}
}
diff --git a/src/server/scripts/Kalimdor/zone_azshara.cpp b/src/server/scripts/Kalimdor/zone_azshara.cpp
index 58829abc940..5d28c7f018e 100644
--- a/src/server/scripts/Kalimdor/zone_azshara.cpp
+++ b/src/server/scripts/Kalimdor/zone_azshara.cpp
@@ -40,16 +40,22 @@ EndContentData */
## npc_spitelashes
######*/
+enum Spitelashes
+{
+ SPELL_POLYMORPH_RANK1 = 118,
+ SPELL_POLYMORPH_RANK2 = 12824,
+ SPELL_POLYMORPH_RANK3 = 12825,
+ SPELL_POLYMORPH_RANK4 = 12826,
+ SPELL_POLYMORPH = 29124,
+ SPELL_POLYMORPH_BACKFIRE = 28406,
+ SPELL_REMOVE_POLYMORPH = 6924
+};
+
class npc_spitelashes : public CreatureScript
{
public:
npc_spitelashes() : CreatureScript("npc_spitelashes") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
- {
- return new npc_spitelashesAI(creature);
- }
-
struct npc_spitelashesAI : public ScriptedAI
{
npc_spitelashesAI(Creature* creature) : ScriptedAI(creature) { }
@@ -72,15 +78,15 @@ public:
switch (spell->Id)
{
- case 118:
- case 12824:
- case 12825:
- case 12826:
+ case SPELL_POLYMORPH_RANK1:
+ case SPELL_POLYMORPH_RANK2:
+ case SPELL_POLYMORPH_RANK3:
+ case SPELL_POLYMORPH_RANK4:
if (Player* player = unit->ToPlayer())
if (player->GetQuestStatus(9364) == QUEST_STATUS_INCOMPLETE)
{
spellhit = true;
- DoCast(me, 29124);
+ DoCast(me, SPELL_POLYMORPH);
}
break;
default:
@@ -102,8 +108,8 @@ public:
morphtimer+=diff;
if (morphtimer >= 5000)
{
- DoCast(me, 28406); //summon copies
- DoCast(me, 6924); //visual explosion
+ DoCast(me, SPELL_POLYMORPH_BACKFIRE); // summon copies
+ DoCast(me, SPELL_REMOVE_POLYMORPH); // visual explosion
}
}
if (!UpdateVictim())
@@ -114,6 +120,10 @@ public:
}
};
+ CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ {
+ return new npc_spitelashesAI(creature);
+ }
};
/*######
@@ -219,7 +229,7 @@ Position const WPs[58] =
{3675.02f, -3960.49f, 35.9118f, 3.67f},
{3653.19f, -3958.33f, 33.9118f, 3.59f},
{3621.12f, -3958.51f, 29.9118f, 3.48f},
- {3604.86f, -3963, 29.9118f, 3.48f},
+ {3604.86f, -3963, 29.9118f, 3.48f},
{3569.94f, -3970.25f, 29.9118f, 3.44f},
{3541.03f, -3975.64f, 29.9118f, 3.41f},
{3510.84f, -3978.71f, 29.9118f, 3.41f},
@@ -260,14 +270,14 @@ Position const WPs[58] =
{2521.05f, -3716.6f, 31.9118f, 2.55f},
{2485.26f, -3706.67f, 31.9118f, 2.51f},
{2458.93f, -3696.67f, 31.9118f, 2.51f},
- {2432, -3692.03f, 31.9118f, 2.46f},
+ {2432, -3692.03f, 31.9118f, 2.46f},
{2399.59f, -3681.97f, 31.9118f, 2.45f},
{2357.75f, -3666.6f, 31.9118f, 2.44f},
{2311.99f, -3656.88f, 31.9118f, 2.94f},
{2263.41f, -3649.55f, 31.9118f, 3.02f},
{2209.05f, -3641.76f, 31.9118f, 2.99f},
{2164.83f, -3637.64f, 31.9118f, 3.15f},
- {2122.42f, -3639, 31.9118f, 3.21f},
+ {2122.42f, -3639, 31.9118f, 3.21f},
{2075.73f, -3643.59f, 31.9118f, 3.22f},
{2033.59f, -3649.52f, 31.9118f, 3.42f},
{1985.22f, -3662.99f, 31.9118f, 3.42f},
@@ -280,51 +290,10 @@ class npc_rizzle_sprysprocket : public CreatureScript
public:
npc_rizzle_sprysprocket() : CreatureScript("npc_rizzle_sprysprocket") { }
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
- {
- player->PlayerTalkClass->ClearMenus();
- if (action == GOSSIP_ACTION_INFO_DEF + 1 && player->GetQuestStatus(QUEST_CHASING_THE_MOONSTONE) == QUEST_STATUS_INCOMPLETE)
- {
- player->CLOSE_GOSSIP_MENU();
- creature->CastSpell(player, SPELL_GIVE_SOUTHFURY_MOONSTONE, true);
- CAST_AI(npc_rizzle_sprysprocket::npc_rizzle_sprysprocketAI, creature->AI())->MustDieTimer = 3000;
- CAST_AI(npc_rizzle_sprysprocket::npc_rizzle_sprysprocketAI, creature->AI())->MustDie = true;
- }
- return true;
- }
-
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
- {
- if (player->GetQuestStatus(QUEST_CHASING_THE_MOONSTONE) != QUEST_STATUS_INCOMPLETE)
- return true;
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_GET_MOONSTONE, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
- player->SEND_GOSSIP_MENU(10811, creature->GetGUID());
- return true;
- }
-
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
- {
- return new npc_rizzle_sprysprocketAI(creature);
- }
-
struct npc_rizzle_sprysprocketAI : public ScriptedAI
{
npc_rizzle_sprysprocketAI(Creature* creature) : ScriptedAI(creature) { }
- uint32 SpellEscapeTimer;
- uint32 TeleportTimer;
- uint32 CheckTimer;
- uint32 GrenadeTimer;
- uint32 MustDieTimer;
- uint32 CurrWP;
-
- uint64 PlayerGUID;
-
- bool MustDie;
- bool Escape;
- bool ContinueWP;
- bool Reached;
-
void Reset() OVERRIDE
{
SpellEscapeTimer = 1300;
@@ -342,6 +311,47 @@ public:
Reached = false;
}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
+
+ void AttackStart(Unit* who) OVERRIDE
+ {
+ if (!who || PlayerGUID)
+ return;
+
+ Player* player = who->ToPlayer();
+
+ if (player && player->GetQuestStatus(QUEST_CHASING_THE_MOONSTONE) == QUEST_STATUS_INCOMPLETE)
+ {
+ PlayerGUID = who->GetGUID();
+ Talk(SAY_RIZZLE_START);
+ DoCast(who, SPELL_RIZZLE_BLACKJACK, false);
+ return;
+ }
+ }
+
+ void sGossipSelect(Player* player, uint32 /*sender*/, uint32 /*action*/) OVERRIDE
+ {
+ player->CLOSE_GOSSIP_MENU();
+ me->CastSpell(player, SPELL_GIVE_SOUTHFURY_MOONSTONE, true);
+ MustDieTimer = 3000;
+ MustDie = true;
+ }
+
+ void MovementInform(uint32 type, uint32 id) OVERRIDE
+ {
+ if (type != POINT_MOTION_TYPE)
+ return;
+
+ if (id == 57)
+ {
+ me->DespawnOrUnsummon();
+ return;
+ }
+
+ ++CurrWP;
+ ContinueWP = true;
+ }
+
void UpdateAI(uint32 diff) OVERRIDE
{
if (MustDie)
@@ -374,7 +384,7 @@ public:
if (!player)
return;
- Talk(MSG_ESCAPE_NOTICE, player->GetGUID());
+ Talk(MSG_ESCAPE_NOTICE, player);
DoCast(me, SPELL_PERIODIC_DEPTH_CHARGE);
me->SetHover(true);
me->SetSwim(true);
@@ -397,7 +407,7 @@ public:
{
if (Player* player = ObjectAccessor::GetPlayer(*me, PlayerGUID))
{
- Talk(SAY_RIZZLE_GRENADE, player->GetGUID());
+ Talk(SAY_RIZZLE_GRENADE, player);
DoCast(player, SPELL_RIZZLE_FROST_GRENADE, true);
}
GrenadeTimer = 30000;
@@ -424,42 +434,35 @@ public:
CheckTimer = 1000;
} else CheckTimer -= diff;
-
- }
-
- void AttackStart(Unit* who) OVERRIDE
- {
- if (!who || PlayerGUID)
- return;
-
- Player* player = who->ToPlayer();
-
- if (player && player->GetQuestStatus(QUEST_CHASING_THE_MOONSTONE) == QUEST_STATUS_INCOMPLETE)
- {
- PlayerGUID = who->GetGUID();
- Talk(SAY_RIZZLE_START);
- DoCast(who, SPELL_RIZZLE_BLACKJACK, false);
- return;
- }
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
-
- void MovementInform(uint32 type, uint32 id) OVERRIDE
- {
- if (type != POINT_MOTION_TYPE)
- return;
+ private:
+ uint64 PlayerGUID;
+ uint32 SpellEscapeTimer;
+ uint32 TeleportTimer;
+ uint32 CheckTimer;
+ uint32 GrenadeTimer;
+ uint32 MustDieTimer;
+ uint32 CurrWP;
+ bool MustDie;
+ bool Escape;
+ bool ContinueWP;
+ bool Reached;
+ };
- if (id == 57)
- {
- me->DespawnOrUnsummon();
- return;
- }
+ bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ {
+ if (player->GetQuestStatus(QUEST_CHASING_THE_MOONSTONE) != QUEST_STATUS_INCOMPLETE)
+ return true;
+ player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_GET_MOONSTONE, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
+ player->SEND_GOSSIP_MENU(10811, creature->GetGUID());
+ return true;
+ }
- ++CurrWP;
- ContinueWP = true;
- }
- };
+ CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ {
+ return new npc_rizzle_sprysprocketAI(creature);
+ }
};
/*####
@@ -470,11 +473,6 @@ class npc_depth_charge : public CreatureScript
public:
npc_depth_charge() : CreatureScript("npc_depth_charge") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
- {
- return new npc_depth_chargeAI(creature);
- }
-
struct npc_depth_chargeAI : public ScriptedAI
{
npc_depth_chargeAI(Creature* creature) : ScriptedAI(creature) { }
@@ -491,20 +489,11 @@ public:
WeMustDieTimer = 1000;
}
- void UpdateAI(uint32 diff) OVERRIDE
- {
- if (WeMustDie)
- {
- if (WeMustDieTimer <= diff)
- me->DespawnOrUnsummon();
- else
- WeMustDieTimer -= diff;
- }
- return;
- }
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void AttackStart(Unit* /*who*/) OVERRIDE { }
+ void MoveInLineOfSight(Unit* who) OVERRIDE
{
if (!who)
return;
@@ -517,10 +506,23 @@ public:
}
}
- void AttackStart(Unit* /*who*/) OVERRIDE { }
-
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void UpdateAI(uint32 diff) OVERRIDE
+ {
+ if (WeMustDie)
+ {
+ if (WeMustDieTimer <= diff)
+ me->DespawnOrUnsummon();
+ else
+ WeMustDieTimer -= diff;
+ }
+ return;
+ }
};
+
+ CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ {
+ return new npc_depth_chargeAI(creature);
+ }
};
void AddSC_azshara()
diff --git a/src/server/scripts/Kalimdor/zone_azuremyst_isle.cpp b/src/server/scripts/Kalimdor/zone_azuremyst_isle.cpp
index 812aa5a139f..2d588508b3f 100644
--- a/src/server/scripts/Kalimdor/zone_azuremyst_isle.cpp
+++ b/src/server/scripts/Kalimdor/zone_azuremyst_isle.cpp
@@ -49,9 +49,7 @@ EndContentData */
enum draeneiSurvivor
{
SAY_HEAL = 0,
-
SAY_HELP = 1,
-
SPELL_IRRIDATION = 35046,
SPELL_STUNNED = 28630
};
@@ -61,11 +59,6 @@ class npc_draenei_survivor : public CreatureScript
public:
npc_draenei_survivor() : CreatureScript("npc_draenei_survivor") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
- {
- return new npc_draenei_survivorAI(creature);
- }
-
struct npc_draenei_survivorAI : public ScriptedAI
{
npc_draenei_survivorAI(Creature* creature) : ScriptedAI(creature) { }
@@ -99,12 +92,11 @@ public:
void EnterCombat(Unit* /*who*/) OVERRIDE { }
void MoveInLineOfSight(Unit* who) OVERRIDE
-
{
if (CanSayHelp && who->GetTypeId() == TYPEID_PLAYER && me->IsFriendlyTo(who) && me->IsWithinDistInMap(who, 25.0f))
{
//Random switch between 4 texts
- Talk(SAY_HELP, who->GetGUID());
+ Talk(SAY_HELP, who);
SayHelpTimer = 20000;
CanSayHelp = false;
@@ -136,7 +128,7 @@ public:
if (Player* player = ObjectAccessor::GetPlayer(*me, pCaster))
{
- Talk(SAY_HEAL, player->GetGUID());
+ Talk(SAY_HEAL, player);
player->TalkedToCreature(me->GetEntry(), me->GetGUID());
}
@@ -169,6 +161,10 @@ public:
}
};
+ CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ {
+ return new npc_draenei_survivorAI(creature);
+ }
};
/*######
@@ -188,39 +184,11 @@ enum Overgrind
SPELL_DYNAMITE = 7978
};
-#define GOSSIP_FIGHT "Traitor! You will be brought to justice!"
-
class npc_engineer_spark_overgrind : public CreatureScript
{
public:
npc_engineer_spark_overgrind() : CreatureScript("npc_engineer_spark_overgrind") { }
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
- {
- player->PlayerTalkClass->ClearMenus();
- if (action == GOSSIP_ACTION_INFO_DEF)
- {
- player->CLOSE_GOSSIP_MENU();
- creature->setFaction(FACTION_HOSTILE);
- CAST_AI(npc_engineer_spark_overgrind::npc_engineer_spark_overgrindAI, creature->AI())->AttackStart(player);
- }
- return true;
- }
-
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
- {
- if (player->GetQuestStatus(QUEST_GNOMERCY) == QUEST_STATUS_INCOMPLETE)
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_FIGHT, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF);
-
- player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID());
- return true;
- }
-
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
- {
- return new npc_engineer_spark_overgrindAI(creature);
- }
-
struct npc_engineer_spark_overgrindAI : public ScriptedAI
{
npc_engineer_spark_overgrindAI(Creature* creature) : ScriptedAI(creature)
@@ -232,14 +200,6 @@ public:
IsTreeEvent = true;
}
- uint32 NormFaction;
- uint32 NpcFlags;
-
- uint32 DynamiteTimer;
- uint32 EmoteTimer;
-
- bool IsTreeEvent;
-
void Reset() OVERRIDE
{
DynamiteTimer = 8000;
@@ -253,7 +213,14 @@ public:
void EnterCombat(Unit* who) OVERRIDE
{
- Talk(ATTACK_YELL, who->GetGUID());
+ Talk(ATTACK_YELL, who);
+ }
+
+ void sGossipSelect(Player* player, uint32 /*sender*/, uint32 /*action*/) OVERRIDE
+ {
+ player->CLOSE_GOSSIP_MENU();
+ me->setFaction(FACTION_HOSTILE);
+ me->Attack(player, true);
}
void UpdateAI(uint32 diff) OVERRIDE
@@ -281,8 +248,19 @@ public:
DoMeleeAttackIfReady();
}
+
+ private:
+ uint32 NormFaction;
+ uint32 NpcFlags;
+ uint32 DynamiteTimer;
+ uint32 EmoteTimer;
+ bool IsTreeEvent;
};
+ CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ {
+ return new npc_engineer_spark_overgrindAI(creature);
+ }
};
/*######
@@ -294,11 +272,6 @@ class npc_injured_draenei : public CreatureScript
public:
npc_injured_draenei() : CreatureScript("npc_injured_draenei") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
- {
- return new npc_injured_draeneiAI(creature);
- }
-
struct npc_injured_draeneiAI : public ScriptedAI
{
npc_injured_draeneiAI(Creature* creature) : ScriptedAI(creature) { }
@@ -323,10 +296,13 @@ public:
void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
-
void UpdateAI(uint32 /*diff*/) OVERRIDE { }
};
+ CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ {
+ return new npc_injured_draeneiAI(creature);
+ }
};
/*######
@@ -341,8 +317,8 @@ enum Magwin
SAY_END1 = 3,
SAY_END2 = 4,
EMOTE_HUG = 5,
-
- QUEST_A_CRY_FOR_SAY_HELP = 9528
+ QUEST_A_CRY_FOR_SAY_HELP = 9528,
+ FACTION_QUEST = 113
};
class npc_magwin : public CreatureScript
@@ -350,25 +326,25 @@ class npc_magwin : public CreatureScript
public:
npc_magwin() : CreatureScript("npc_magwin") { }
- bool OnQuestAccept(Player* player, Creature* creature, Quest const* quest) OVERRIDE
+ struct npc_magwinAI : public npc_escortAI
{
- if (quest->GetQuestId() == QUEST_A_CRY_FOR_SAY_HELP)
+ npc_magwinAI(Creature* creature) : npc_escortAI(creature) { }
+
+ void Reset() OVERRIDE { }
+
+ void EnterCombat(Unit* who) OVERRIDE
{
- creature->setFaction(113);
- if (npc_escortAI* pEscortAI = CAST_AI(npc_escortAI, creature->AI()))
- pEscortAI->Start(true, false, player->GetGUID());
+ Talk(SAY_AGGRO, who);
}
- return true;
- }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
- {
- return new npc_magwinAI(creature);
- }
-
- struct npc_magwinAI : public npc_escortAI
- {
- npc_magwinAI(Creature* creature) : npc_escortAI(creature) { }
+ void sQuestAccept(Player* player, Quest const* quest)
+ {
+ if (quest->GetQuestId() == QUEST_A_CRY_FOR_SAY_HELP)
+ {
+ me->setFaction(FACTION_QUEST);
+ npc_escortAI::Start(true, false, player->GetGUID());
+ }
+ }
void WaypointReached(uint32 waypointId) OVERRIDE
{
@@ -377,31 +353,28 @@ public:
switch (waypointId)
{
case 0:
- Talk(SAY_START, player->GetGUID());
+ Talk(SAY_START, player);
break;
case 17:
- Talk(SAY_PROGRESS, player->GetGUID());
+ Talk(SAY_PROGRESS, player);
break;
case 28:
- Talk(SAY_END1, player->GetGUID());
+ Talk(SAY_END1, player);
break;
case 29:
- Talk(EMOTE_HUG, player->GetGUID());
- Talk(SAY_END2, player->GetGUID());
+ Talk(EMOTE_HUG, player);
+ Talk(SAY_END2, player);
player->GroupEventHappens(QUEST_A_CRY_FOR_SAY_HELP, me);
break;
}
}
}
-
- void EnterCombat(Unit* who) OVERRIDE
- {
- Talk(SAY_AGGRO, who->GetGUID());
- }
-
- void Reset() OVERRIDE { }
};
+ CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ {
+ return new npc_magwinAI(creature);
+ }
};
/*######
@@ -435,11 +408,6 @@ class npc_geezle : public CreatureScript
public:
npc_geezle() : CreatureScript("npc_geezle") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
- {
- return new npc_geezleAI(creature);
- }
-
struct npc_geezleAI : public ScriptedAI
{
npc_geezleAI(Creature* creature) : ScriptedAI(creature) { }
@@ -490,7 +458,7 @@ public:
Spark->AI()->Talk(EMOTE_SPARK);
return 1000;
case 2:
- Talk(GEEZLE_SAY_1, SparkGUID);
+ Talk(GEEZLE_SAY_1, Spark);
Spark->SetInFront(me);
me->SetInFront(Spark);
return 5000;
@@ -501,7 +469,7 @@ public:
Spark->AI()->Talk(SPARK_SAY_3);
return 8000;
case 5:
- Talk(GEEZLE_SAY_4, SparkGUID);
+ Talk(GEEZLE_SAY_4, Spark);
return 8000;
case 6:
Spark->AI()->Talk(SPARK_SAY_5);
@@ -510,11 +478,11 @@ public:
Spark->AI()->Talk(SPARK_SAY_6);
return 8000;
case 8:
- Talk(GEEZLE_SAY_7, SparkGUID);
+ Talk(GEEZLE_SAY_7, Spark);
return 2000;
case 9:
me->GetMotionMaster()->MoveTargetedHome();
- Spark->GetMotionMaster()->MovePoint(0, SparkPos);
+ Spark->GetMotionMaster()->MovePoint(0, SparkPos);
CompleteQuest();
return 9000;
case 10:
@@ -570,6 +538,10 @@ public:
}
};
+ CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ {
+ return new npc_geezleAI(creature);
+ }
};
enum RavegerCage
@@ -608,11 +580,6 @@ class npc_death_ravager : public CreatureScript
public:
npc_death_ravager() : CreatureScript("npc_death_ravager") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
- {
- return new npc_death_ravagerAI(creature);
- }
-
struct npc_death_ravagerAI : public ScriptedAI
{
npc_death_ravagerAI(Creature* creature) : ScriptedAI(creature){ }
@@ -652,6 +619,10 @@ public:
}
};
+ CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ {
+ return new npc_death_ravagerAI(creature);
+ }
};
/*########
@@ -695,7 +666,7 @@ class npc_stillpine_capitive : public CreatureScript
{
if (owner)
{
- Talk(CAPITIVE_SAY, owner->GetGUID());
+ Talk(CAPITIVE_SAY, owner);
_player = owner;
}
Position pos;
diff --git a/src/server/scripts/Kalimdor/zone_bloodmyst_isle.cpp b/src/server/scripts/Kalimdor/zone_bloodmyst_isle.cpp
index 694d63d5295..f71c07b5c7d 100644
--- a/src/server/scripts/Kalimdor/zone_bloodmyst_isle.cpp
+++ b/src/server/scripts/Kalimdor/zone_bloodmyst_isle.cpp
@@ -19,18 +19,18 @@
/* ScriptData
SDName: Bloodmyst_Isle
SD%Complete: 80
-SDComment: Quest support: 9670, 9756(gossip items text needed).
+SDComment: Quest support: 9670, 9667
SDCategory: Bloodmyst Isle
EndScriptData */
/* ContentData
npc_webbed_creature
-npc_captured_sunhawk_agent
+npc_princess_stillpine
+go_princess_stillpines_cage
EndContentData */
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
-#include "ScriptedGossip.h"
#include "Player.h"
/*######
@@ -40,16 +40,16 @@ EndContentData */
//possible creatures to be spawned
uint32 const possibleSpawns[32] = {17322, 17661, 17496, 17522, 17340, 17352, 17333, 17524, 17654, 17348, 17339, 17345, 17359, 17353, 17336, 17550, 17330, 17701, 17321, 17680, 17325, 17320, 17683, 17342, 17715, 17334, 17341, 17338, 17337, 17346, 17344, 17327};
+enum WebbedCreature
+{
+ NPC_EXPEDITION_RESEARCHER = 17681
+};
+
class npc_webbed_creature : public CreatureScript
{
public:
npc_webbed_creature() : CreatureScript("npc_webbed_creature") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
- {
- return new npc_webbed_creatureAI(creature);
- }
-
struct npc_webbed_creatureAI : public ScriptedAI
{
npc_webbed_creatureAI(Creature* creature) : ScriptedAI(creature) { }
@@ -65,9 +65,8 @@ public:
switch (urand(0, 2))
{
case 0:
- spawnCreatureID = 17681;
if (Player* player = killer->ToPlayer())
- player->KilledMonsterCredit(spawnCreatureID, 0);
+ player->KilledMonsterCredit(NPC_EXPEDITION_RESEARCHER, 0);
break;
case 1:
case 2:
@@ -80,72 +79,10 @@ public:
}
};
-};
-
-/*######
-## npc_captured_sunhawk_agent
-######*/
-
-#define C_SUNHAWK_TRIGGER 17974
-
-#define GOSSIP_HELLO_CSA "[PH] "
-#define GOSSIP_SELECT_CSA1 "[PH] "
-#define GOSSIP_SELECT_CSA2 "[PH] "
-#define GOSSIP_SELECT_CSA3 "[PH] "
-#define GOSSIP_SELECT_CSA4 "[PH] "
-#define GOSSIP_SELECT_CSA5 "[PH] "
-
-class npc_captured_sunhawk_agent : public CreatureScript
-{
-public:
- npc_captured_sunhawk_agent() : CreatureScript("npc_captured_sunhawk_agent") { }
-
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
- {
- player->PlayerTalkClass->ClearMenus();
- switch (action)
- {
- case GOSSIP_ACTION_INFO_DEF+1:
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SELECT_CSA1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2);
- player->SEND_GOSSIP_MENU(9137, creature->GetGUID());
- break;
- case GOSSIP_ACTION_INFO_DEF+2:
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SELECT_CSA2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+3);
- player->SEND_GOSSIP_MENU(9138, creature->GetGUID());
- break;
- case GOSSIP_ACTION_INFO_DEF+3:
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SELECT_CSA3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+4);
- player->SEND_GOSSIP_MENU(9139, creature->GetGUID());
- break;
- case GOSSIP_ACTION_INFO_DEF+4:
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SELECT_CSA4, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+5);
- player->SEND_GOSSIP_MENU(9140, creature->GetGUID());
- break;
- case GOSSIP_ACTION_INFO_DEF+5:
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SELECT_CSA5, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+6);
- player->SEND_GOSSIP_MENU(9141, creature->GetGUID());
- break;
- case GOSSIP_ACTION_INFO_DEF+6:
- player->CLOSE_GOSSIP_MENU();
- player->TalkedToCreature(C_SUNHAWK_TRIGGER, creature->GetGUID());
- break;
- }
- return true;
- }
-
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- if (player->HasAura(31609) && player->GetQuestStatus(9756) == QUEST_STATUS_INCOMPLETE)
- {
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_HELLO_CSA, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
- player->SEND_GOSSIP_MENU(9136, creature->GetGUID());
- }
- else
- player->SEND_GOSSIP_MENU(9134, creature->GetGUID());
-
- return true;
+ return new npc_webbed_creatureAI(creature);
}
-
};
/*######
@@ -206,7 +143,6 @@ public:
void AddSC_bloodmyst_isle()
{
new npc_webbed_creature();
- new npc_captured_sunhawk_agent();
new npc_princess_stillpine();
new go_princess_stillpines_cage();
}
diff --git a/src/server/scripts/Kalimdor/zone_darkshore.cpp b/src/server/scripts/Kalimdor/zone_darkshore.cpp
index 99a693a0eb6..5bb1a937035 100644
--- a/src/server/scripts/Kalimdor/zone_darkshore.cpp
+++ b/src/server/scripts/Kalimdor/zone_darkshore.cpp
@@ -63,26 +63,6 @@ class npc_kerlonian : public CreatureScript
public:
npc_kerlonian() : CreatureScript("npc_kerlonian") { }
- bool OnQuestAccept(Player* player, Creature* creature, const Quest* quest) OVERRIDE
- {
- if (quest->GetQuestId() == QUEST_SLEEPER_AWAKENED)
- {
- if (npc_kerlonianAI* pKerlonianAI = CAST_AI(npc_kerlonian::npc_kerlonianAI, creature->AI()))
- {
- creature->SetStandState(UNIT_STAND_STATE_STAND);
- creature->AI()->Talk(SAY_KER_START, player->GetGUID());
- pKerlonianAI->StartFollow(player, FACTION_KER_ESCORTEE, quest);
- }
- }
-
- return true;
- }
-
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
- {
- return new npc_kerlonianAI(creature);
- }
-
struct npc_kerlonianAI : public FollowerAI
{
npc_kerlonianAI(Creature* creature) : FollowerAI(creature) { }
@@ -144,7 +124,7 @@ public:
SetFollowPaused(false);
}
- void UpdateFollowerAI(uint32 Diff) OVERRIDE
+ void UpdateFollowerAI(uint32 diff) OVERRIDE
{
if (!UpdateVictim())
{
@@ -153,13 +133,13 @@ public:
if (!HasFollowState(STATE_FOLLOW_PAUSED))
{
- if (FallAsleepTimer <= Diff)
+ if (FallAsleepTimer <= diff)
{
SetSleeping();
FallAsleepTimer = urand(25000, 90000);
}
else
- FallAsleepTimer -= Diff;
+ FallAsleepTimer -= diff;
}
return;
@@ -169,6 +149,25 @@ public:
}
};
+ bool OnQuestAccept(Player* player, Creature* creature, const Quest* quest) OVERRIDE
+ {
+ if (quest->GetQuestId() == QUEST_SLEEPER_AWAKENED)
+ {
+ if (npc_kerlonianAI* pKerlonianAI = CAST_AI(npc_kerlonian::npc_kerlonianAI, creature->AI()))
+ {
+ creature->SetStandState(UNIT_STAND_STATE_STAND);
+ creature->AI()->Talk(SAY_KER_START, player);
+ pKerlonianAI->StartFollow(player, FACTION_KER_ESCORTEE, quest);
+ }
+ }
+
+ return true;
+ }
+
+ CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ {
+ return new npc_kerlonianAI(creature);
+ }
};
/*####
@@ -203,27 +202,23 @@ class npc_prospector_remtravel : public CreatureScript
public:
npc_prospector_remtravel() : CreatureScript("npc_prospector_remtravel") { }
- bool OnQuestAccept(Player* player, Creature* creature, const Quest* quest) OVERRIDE
+ struct npc_prospector_remtravelAI : public npc_escortAI
{
- if (quest->GetQuestId() == QUEST_ABSENT_MINDED_PT2)
- {
- if (npc_escortAI* pEscortAI = CAST_AI(npc_prospector_remtravel::npc_prospector_remtravelAI, creature->AI()))
- pEscortAI->Start(false, false, player->GetGUID());
-
- creature->setFaction(FACTION_ESCORTEE);
- }
+ npc_prospector_remtravelAI(Creature* creature) : npc_escortAI(creature) { }
- return true;
- }
+ void Reset() OVERRIDE { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
- {
- return new npc_prospector_remtravelAI(creature);
- }
+ void EnterCombat(Unit* who) OVERRIDE
+ {
+ if (urand(0, 1))
+ Talk(SAY_REM_AGGRO, who);
+ }
- struct npc_prospector_remtravelAI : public npc_escortAI
- {
- npc_prospector_remtravelAI(Creature* creature) : npc_escortAI(creature) { }
+ void JustSummoned(Creature* /*pSummoned*/) OVERRIDE
+ {
+ //unsure if it should be any
+ //pSummoned->AI()->AttackStart(me);
+ }
void WaypointReached(uint32 waypointId) OVERRIDE
{
@@ -232,40 +227,40 @@ public:
switch (waypointId)
{
case 0:
- Talk(SAY_REM_START, player->GetGUID());
+ Talk(SAY_REM_START, player);
break;
case 5:
- Talk(SAY_REM_RAMP1_1, player->GetGUID());
+ Talk(SAY_REM_RAMP1_1, player);
break;
case 6:
DoSpawnCreature(NPC_GRAVEL_SCOUT, -10.0f, 5.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000);
DoSpawnCreature(NPC_GRAVEL_BONE, -10.0f, 7.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000);
break;
case 9:
- Talk(SAY_REM_RAMP1_2, player->GetGUID());
+ Talk(SAY_REM_RAMP1_2, player);
break;
case 14:
//depend quest rewarded?
- Talk(SAY_REM_BOOK, player->GetGUID());
+ Talk(SAY_REM_BOOK, player);
break;
case 15:
- Talk(SAY_REM_TENT1_1, player->GetGUID());
+ Talk(SAY_REM_TENT1_1, player);
break;
case 16:
DoSpawnCreature(NPC_GRAVEL_SCOUT, -10.0f, 5.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000);
DoSpawnCreature(NPC_GRAVEL_BONE, -10.0f, 7.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000);
break;
case 17:
- Talk(SAY_REM_TENT1_2, player->GetGUID());
+ Talk(SAY_REM_TENT1_2, player);
break;
case 26:
- Talk(SAY_REM_MOSS, player->GetGUID());
+ Talk(SAY_REM_MOSS, player);
break;
case 27:
- Talk(EMOTE_REM_MOSS, player->GetGUID());
+ Talk(EMOTE_REM_MOSS, player);
break;
case 28:
- Talk(SAY_REM_MOSS_PROGRESS, player->GetGUID());
+ Talk(SAY_REM_MOSS_PROGRESS, player);
break;
case 29:
DoSpawnCreature(NPC_GRAVEL_SCOUT, -15.0f, 3.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000);
@@ -273,34 +268,37 @@ public:
DoSpawnCreature(NPC_GRAVEL_GEO, -15.0f, 7.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000);
break;
case 31:
- Talk(SAY_REM_PROGRESS, player->GetGUID());
+ Talk(SAY_REM_PROGRESS, player);
break;
case 41:
- Talk(SAY_REM_REMEMBER, player->GetGUID());
+ Talk(SAY_REM_REMEMBER, player);
break;
case 42:
- Talk(EMOTE_REM_END, player->GetGUID());
+ Talk(EMOTE_REM_END, player);
player->GroupEventHappens(QUEST_ABSENT_MINDED_PT2, me);
break;
}
}
}
+ };
- void Reset() OVERRIDE { }
-
- void EnterCombat(Unit* who) OVERRIDE
+ bool OnQuestAccept(Player* player, Creature* creature, const Quest* quest) OVERRIDE
+ {
+ if (quest->GetQuestId() == QUEST_ABSENT_MINDED_PT2)
{
- if (urand(0, 1))
- Talk(SAY_REM_AGGRO, who->GetGUID());
- }
+ if (npc_escortAI* pEscortAI = CAST_AI(npc_prospector_remtravel::npc_prospector_remtravelAI, creature->AI()))
+ pEscortAI->Start(false, false, player->GetGUID());
- void JustSummoned(Creature* /*pSummoned*/) OVERRIDE
- {
- //unsure if it should be any
- //pSummoned->AI()->AttackStart(me);
+ creature->setFaction(FACTION_ESCORTEE);
}
- };
+ return true;
+ }
+
+ CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ {
+ return new npc_prospector_remtravelAI(creature);
+ }
};
/*####
@@ -323,37 +321,6 @@ class npc_threshwackonator : public CreatureScript
public:
npc_threshwackonator() : CreatureScript("npc_threshwackonator") { }
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
- {
- player->PlayerTalkClass->ClearMenus();
- if (action == GOSSIP_ACTION_INFO_DEF+1)
- {
- player->CLOSE_GOSSIP_MENU();
-
- if (npc_threshwackonatorAI* pThreshAI = CAST_AI(npc_threshwackonator::npc_threshwackonatorAI, creature->AI()))
- {
- creature->AI()->Talk(EMOTE_START);
- pThreshAI->StartFollow(player);
- }
- }
-
- return true;
- }
-
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
- {
- if (player->GetQuestStatus(QUEST_GYROMAST_REV) == QUEST_STATUS_INCOMPLETE)
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_INSERT_KEY, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
-
- player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID());
- return true;
- }
-
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
- {
- return new npc_threshwackonatorAI(creature);
- }
-
struct npc_threshwackonatorAI : public FollowerAI
{
npc_threshwackonatorAI(Creature* creature) : FollowerAI(creature) { }
@@ -369,7 +336,7 @@ public:
{
if (me->IsWithinDistInMap(who, 10.0f))
{
- Talk(SAY_AT_CLOSE, who->GetGUID());
+ Talk(SAY_AT_CLOSE, who);
DoAtEnd();
}
}
@@ -386,6 +353,36 @@ public:
}
};
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ {
+ player->PlayerTalkClass->ClearMenus();
+ if (action == GOSSIP_ACTION_INFO_DEF+1)
+ {
+ player->CLOSE_GOSSIP_MENU();
+
+ if (npc_threshwackonatorAI* pThreshAI = CAST_AI(npc_threshwackonator::npc_threshwackonatorAI, creature->AI()))
+ {
+ creature->AI()->Talk(EMOTE_START);
+ pThreshAI->StartFollow(player);
+ }
+ }
+
+ return true;
+ }
+
+ bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ {
+ if (player->GetQuestStatus(QUEST_GYROMAST_REV) == QUEST_STATUS_INCOMPLETE)
+ player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_INSERT_KEY, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
+
+ player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID());
+ return true;
+ }
+
+ CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ {
+ return new npc_threshwackonatorAI(creature);
+ }
};
void AddSC_darkshore()
diff --git a/src/server/scripts/Kalimdor/zone_desolace.cpp b/src/server/scripts/Kalimdor/zone_desolace.cpp
index b748db4592c..07609dac61f 100644
--- a/src/server/scripts/Kalimdor/zone_desolace.cpp
+++ b/src/server/scripts/Kalimdor/zone_desolace.cpp
@@ -61,18 +61,6 @@ class npc_aged_dying_ancient_kodo : public CreatureScript
public:
npc_aged_dying_ancient_kodo() : CreatureScript("npc_aged_dying_ancient_kodo") { }
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
- {
- if (player->HasAura(SPELL_KODO_KOMBO_PLAYER_BUFF) && creature->HasAura(SPELL_KODO_KOMBO_DESPAWN_BUFF))
- {
- player->TalkedToCreature(creature->GetEntry(), 0);
- player->RemoveAurasDueToSpell(SPELL_KODO_KOMBO_PLAYER_BUFF);
- }
-
- player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID());
- return true;
- }
-
struct npc_aged_dying_ancient_kodoAI : public ScriptedAI
{
npc_aged_dying_ancient_kodoAI(Creature* creature) : ScriptedAI(creature) { }
@@ -111,6 +99,18 @@ public:
}
};
+ bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ {
+ if (player->HasAura(SPELL_KODO_KOMBO_PLAYER_BUFF) && creature->HasAura(SPELL_KODO_KOMBO_DESPAWN_BUFF))
+ {
+ player->TalkedToCreature(creature->GetEntry(), 0);
+ player->RemoveAurasDueToSpell(SPELL_KODO_KOMBO_PLAYER_BUFF);
+ }
+
+ player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID());
+ return true;
+ }
+
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new npc_aged_dying_ancient_kodoAI(creature);
@@ -126,7 +126,7 @@ public:
enum Iruxos
{
QUEST_HAND_IRUXOS = 5381,
- NPC_DEMON_SPIRIT = 11876,
+ NPC_DEMON_SPIRIT = 11876
};
class go_iruxos : public GameObjectScript
@@ -157,28 +157,21 @@ class npc_dalinda : public CreatureScript
public:
npc_dalinda() : CreatureScript("npc_dalinda") { }
- bool OnQuestAccept(Player* player, Creature* creature, Quest const* quest) OVERRIDE
- {
- if (quest->GetQuestId() == QUEST_RETURN_TO_VAHLARRIEL)
- {
- if (npc_escortAI* escortAI = CAST_AI(npc_dalinda::npc_dalindaAI, creature->AI()))
- {
- escortAI->Start(true, false, player->GetGUID());
- creature->setFaction(113);
- }
- }
- return true;
- }
-
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
- {
- return new npc_dalindaAI(creature);
- }
-
struct npc_dalindaAI : public npc_escortAI
{
npc_dalindaAI(Creature* creature) : npc_escortAI(creature) { }
+ void Reset() OVERRIDE { }
+
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
+
+ void JustDied(Unit* /*killer*/) OVERRIDE
+ {
+ if (Player* player = GetPlayerForEscort())
+ player->FailQuest(QUEST_RETURN_TO_VAHLARRIEL);
+ return;
+ }
+
void WaypointReached(uint32 waypointId) OVERRIDE
{
Player* player = GetPlayerForEscort();
@@ -195,25 +188,34 @@ public:
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
-
- void Reset() OVERRIDE { }
-
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void UpdateAI(uint32 diff) OVERRIDE
{
- if (Player* player = GetPlayerForEscort())
- player->FailQuest(QUEST_RETURN_TO_VAHLARRIEL);
- return;
- }
+ npc_escortAI::UpdateAI(diff);
- void UpdateAI(uint32 Diff) OVERRIDE
- {
- npc_escortAI::UpdateAI(Diff);
if (!UpdateVictim())
return;
+
DoMeleeAttackIfReady();
}
};
+
+ bool OnQuestAccept(Player* player, Creature* creature, Quest const* quest) OVERRIDE
+ {
+ if (quest->GetQuestId() == QUEST_RETURN_TO_VAHLARRIEL)
+ {
+ if (npc_escortAI* escortAI = CAST_AI(npc_dalinda::npc_dalindaAI, creature->AI()))
+ {
+ escortAI->Start(true, false, player->GetGUID());
+ creature->setFaction(113);
+ }
+ }
+ return true;
+ }
+
+ CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ {
+ return new npc_dalindaAI(creature);
+ }
};
/*######
@@ -223,8 +225,7 @@ public:
enum DemonPortal
{
NPC_DEMON_GUARDIAN = 11937,
-
- QUEST_PORTAL_OF_THE_LEGION = 5581,
+ QUEST_PORTAL_OF_THE_LEGION = 5581
};
class go_demon_portal : public GameObjectScript
diff --git a/src/server/scripts/Kalimdor/zone_durotar.cpp b/src/server/scripts/Kalimdor/zone_durotar.cpp
index ff96d5e8465..2074598e304 100644
--- a/src/server/scripts/Kalimdor/zone_durotar.cpp
+++ b/src/server/scripts/Kalimdor/zone_durotar.cpp
@@ -80,24 +80,24 @@ public:
if (player && player->GetQuestStatus(QUEST_LAZY_PEONS) == QUEST_STATUS_INCOMPLETE)
{
player->KilledMonsterCredit(me->GetEntry(), me->GetGUID());
- Talk(SAY_SPELL_HIT, caster->GetGUID());
+ Talk(SAY_SPELL_HIT, caster);
me->RemoveAllAuras();
if (GameObject* Lumberpile = me->FindNearestGameObject(GO_LUMBERPILE, 20))
me->GetMotionMaster()->MovePoint(1, Lumberpile->GetPositionX()-1, Lumberpile->GetPositionY(), Lumberpile->GetPositionZ());
}
}
- void UpdateAI(uint32 Diff) OVERRIDE
+ void UpdateAI(uint32 diff) OVERRIDE
{
if (work == true)
me->HandleEmoteCommand(EMOTE_ONESHOT_WORK_CHOPWOOD);
- if (RebuffTimer <= Diff)
+ if (RebuffTimer <= diff)
{
DoCast(me, SPELL_BUFF_SLEEP);
RebuffTimer = 300000; //Rebuff agian in 5 minutes
}
else
- RebuffTimer -= Diff;
+ RebuffTimer -= diff;
if (!UpdateVictim())
return;
DoMeleeAttackIfReady();
@@ -208,7 +208,7 @@ class npc_tiger_matriarch_credit : public CreatureScript
me->AddAura(SPELL_NO_SUMMON_AURA, summoner);
me->AddAura(SPELL_DETECT_INVIS, summoner);
summoner->CastSpell(summoner, SPELL_SUMMON_MATRIARCH, true);
- Talk(SAY_MATRIARCH_AGGRO, summoner->GetGUID());
+ Talk(SAY_MATRIARCH_AGGRO, summoner);
}
}
}
diff --git a/src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp b/src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp
index 9ad9b8dc835..5ee0a60e95a 100644
--- a/src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp
+++ b/src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp
@@ -527,29 +527,29 @@ public:
switch (waypointId)
{
case 7:
- Talk(SAY_STAY_1, player->GetGUID());
+ Talk(SAY_STAY_1, player);
break;
case 11:
- Talk(SAY_STAY_2, player->GetGUID());
+ Talk(SAY_STAY_2, player);
break;
case 25:
- Talk(SAY_STAY_3, player->GetGUID());
+ Talk(SAY_STAY_3, player);
break;
case 26:
- Talk(SAY_STAY_4, player->GetGUID());
+ Talk(SAY_STAY_4, player);
break;
case 27:
- Talk(SAY_STAY_5, player->GetGUID());
+ Talk(SAY_STAY_5, player);
break;
case 28:
- Talk(SAY_STAY_6, player->GetGUID());
+ Talk(SAY_STAY_6, player);
me->SetStandState(UNIT_STAND_STATE_KNEEL);
break;
case 29:
me->SetStandState(UNIT_STAND_STATE_STAND);
break;
case 37:
- Talk(SAY_QUEST_COMPLETE, player->GetGUID());
+ Talk(SAY_QUEST_COMPLETE, player);
me->SetSpeed(MOVE_RUN, 1.2f, true);
me->SetWalk(false);
if (player->GetQuestStatus(QUEST_STINKYS_ESCAPE_H))
@@ -565,7 +565,7 @@ public:
void EnterCombat(Unit* who) OVERRIDE
{
- Talk(SAY_ATTACKED_1, who->GetGUID());
+ Talk(SAY_ATTACKED_1, who);
}
void Reset() OVERRIDE { }
diff --git a/src/server/scripts/Kalimdor/zone_moonglade.cpp b/src/server/scripts/Kalimdor/zone_moonglade.cpp
index 7fb423f53ee..cf326752112 100644
--- a/src/server/scripts/Kalimdor/zone_moonglade.cpp
+++ b/src/server/scripts/Kalimdor/zone_moonglade.cpp
@@ -420,7 +420,7 @@ public:
switch (Step)
{
case 0:
- Talk(CLINTAR_SPIRIT_SAY_START, PlayerGUID);
+ Talk(CLINTAR_SPIRIT_SAY_START, player);
EventTimer = 8000;
Step = 1;
break;
diff --git a/src/server/scripts/Kalimdor/zone_silithus.cpp b/src/server/scripts/Kalimdor/zone_silithus.cpp
index ef1f6466d3b..50c1056e349 100644
--- a/src/server/scripts/Kalimdor/zone_silithus.cpp
+++ b/src/server/scripts/Kalimdor/zone_silithus.cpp
@@ -470,11 +470,11 @@ public:
switch (AnimationCount)
{
case 0:
- Talk(ANACHRONOS_SAY_1, Fandral->GetGUID());
+ Talk(ANACHRONOS_SAY_1, Fandral);
break;
case 1:
Fandral->SetTarget(me->GetGUID());
- Fandral->AI()->Talk(FANDRAL_SAY_1, me->GetGUID());
+ Fandral->AI()->Talk(FANDRAL_SAY_1, me);
break;
case 2:
Fandral->SetTarget(0);
@@ -544,7 +544,7 @@ public:
case 21:
break;
case 22:
- Caelestrasz->AI()->Talk(CAELESTRASZ_SAY_2, Fandral->GetGUID());
+ Caelestrasz->AI()->Talk(CAELESTRASZ_SAY_2, Fandral);
break;
case 23:
Caelestrasz->GetMotionMaster()->MoveCharge(-8065, 1530, 2.61f, 10);
@@ -566,7 +566,7 @@ public:
Caelestrasz->CastSpell(Caelestrasz, 54293, false);
break;
case 28:
- Talk(ANACHRONOS_SAY_2, Fandral->GetGUID());
+ Talk(ANACHRONOS_SAY_2, Fandral);
break;
case 29:
Caelestrasz->GetMotionMaster()->MoveCharge(-8095, 1530, 50, 42);
@@ -575,7 +575,7 @@ public:
case 30:
break;
case 31:
- Talk(ANACHRONOS_SAY_3, Fandral->GetGUID());
+ Talk(ANACHRONOS_SAY_3, Fandral);
break;
case 32:
Caelestrasz->SetVisible(false);
@@ -604,7 +604,7 @@ public:
me->SummonGameObject(GO_GLYPH_OF_AHN_QIRAJ, -8130, 1525, 17.5f, 0, 0, 0, 0, 0, 0);
break;
case 39:
- Talk(ANACHRONOS_SAY_5, Fandral->GetGUID());
+ Talk(ANACHRONOS_SAY_5, Fandral);
break;
case 40:
Fandral->CastSpell(me, 25167, true);
@@ -634,10 +634,10 @@ public:
Talk(ANACHRONOS_EMOTE_1);
break;
case 48:
- Fandral->AI()->Talk(FANDRAL_SAY_4, me->GetGUID());
+ Fandral->AI()->Talk(FANDRAL_SAY_4, me);
break;
case 49:
- Fandral->AI()->Talk(FANDRAL_SAY_5, me->GetGUID());
+ Fandral->AI()->Talk(FANDRAL_SAY_5, me);
break;
case 50:
Fandral->AI()->Talk(FANDRAL_EMOTE_2);
@@ -660,7 +660,7 @@ public:
}
case 52:
Fandral->GetMotionMaster()->MoveCharge(-8028.75f, 1538.795f, 2.61f, 4);
- Fandral->AI()->Talk(ANACHRONOS_SAY_9, me->GetGUID());
+ Fandral->AI()->Talk(ANACHRONOS_SAY_9, me);
break;
case 53:
Fandral->AI()->Talk(FANDRAL_SAY_6);
@@ -686,7 +686,7 @@ public:
break;
case 60:
if (player)
- Talk(ANACHRONOS_SAY_10, player->GetGUID());
+ Talk(ANACHRONOS_SAY_10, player);
me->GetMotionMaster()->MoveCharge(-8113.46f, 1524.16f, 2.89f, 4);
break;
case 61:
diff --git a/src/server/scripts/Kalimdor/zone_tanaris.cpp b/src/server/scripts/Kalimdor/zone_tanaris.cpp
index 5e27d71ea07..4ba246a18aa 100644
--- a/src/server/scripts/Kalimdor/zone_tanaris.cpp
+++ b/src/server/scripts/Kalimdor/zone_tanaris.cpp
@@ -103,7 +103,7 @@ public:
void EnterCombat(Unit* who) OVERRIDE
{
- Talk(AGGRO_YELL_AQUE, who->GetGUID());
+ Talk(AGGRO_YELL_AQUE, who);
}
void UpdateAI(uint32 diff) OVERRIDE
@@ -191,58 +191,58 @@ public:
switch (waypointId)
{
case 0:
- Talk(WHISPER_CUSTODIAN_1, player->GetGUID());
+ Talk(WHISPER_CUSTODIAN_1, player);
break;
case 1:
- Talk(WHISPER_CUSTODIAN_2, player->GetGUID());
+ Talk(WHISPER_CUSTODIAN_2, player);
break;
case 2:
- Talk(WHISPER_CUSTODIAN_3, player->GetGUID());
+ Talk(WHISPER_CUSTODIAN_3, player);
break;
case 3:
- Talk(WHISPER_CUSTODIAN_4, player->GetGUID());
+ Talk(WHISPER_CUSTODIAN_4, player);
break;
case 5:
- Talk(WHISPER_CUSTODIAN_5, player->GetGUID());
+ Talk(WHISPER_CUSTODIAN_5, player);
break;
case 6:
- Talk(WHISPER_CUSTODIAN_6, player->GetGUID());
+ Talk(WHISPER_CUSTODIAN_6, player);
break;
case 7:
- Talk(WHISPER_CUSTODIAN_7, player->GetGUID());
+ Talk(WHISPER_CUSTODIAN_7, player);
break;
case 8:
- Talk(WHISPER_CUSTODIAN_8, player->GetGUID());
+ Talk(WHISPER_CUSTODIAN_8, player);
break;
case 9:
- Talk(WHISPER_CUSTODIAN_9, player->GetGUID());
+ Talk(WHISPER_CUSTODIAN_9, player);
break;
case 10:
- Talk(WHISPER_CUSTODIAN_4, player->GetGUID());
+ Talk(WHISPER_CUSTODIAN_4, player);
break;
case 13:
- Talk(WHISPER_CUSTODIAN_10, player->GetGUID());
+ Talk(WHISPER_CUSTODIAN_10, player);
break;
case 14:
- Talk(WHISPER_CUSTODIAN_4, player->GetGUID());
+ Talk(WHISPER_CUSTODIAN_4, player);
break;
case 16:
- Talk(WHISPER_CUSTODIAN_11, player->GetGUID());
+ Talk(WHISPER_CUSTODIAN_11, player);
break;
case 17:
- Talk(WHISPER_CUSTODIAN_12, player->GetGUID());
+ Talk(WHISPER_CUSTODIAN_12, player);
break;
case 18:
- Talk(WHISPER_CUSTODIAN_4, player->GetGUID());
+ Talk(WHISPER_CUSTODIAN_4, player);
break;
case 22:
- Talk(WHISPER_CUSTODIAN_13, player->GetGUID());
+ Talk(WHISPER_CUSTODIAN_13, player);
break;
case 23:
- Talk(WHISPER_CUSTODIAN_4, player->GetGUID());
+ Talk(WHISPER_CUSTODIAN_4, player);
break;
case 24:
- Talk(WHISPER_CUSTODIAN_14, player->GetGUID());
+ Talk(WHISPER_CUSTODIAN_14, player);
DoCast(player, 34883);
// below here is temporary workaround, to be removed when spell works properly
player->AreaExploredOrEventHappens(10277);
diff --git a/src/server/scripts/Kalimdor/zone_teldrassil.cpp b/src/server/scripts/Kalimdor/zone_teldrassil.cpp
index 14f8f2a9dac..96326febcac 100644
--- a/src/server/scripts/Kalimdor/zone_teldrassil.cpp
+++ b/src/server/scripts/Kalimdor/zone_teldrassil.cpp
@@ -79,7 +79,7 @@ public:
{
if (me->IsWithinDistInMap(who, 10.0f))
{
- Talk(SAY_AT_HOME, who->GetGUID());
+ Talk(SAY_AT_HOME, who);
DoComplete();
}
}
diff --git a/src/server/scripts/Kalimdor/zone_the_barrens.cpp b/src/server/scripts/Kalimdor/zone_the_barrens.cpp
index 292017d2cc4..5b057f27a48 100644
--- a/src/server/scripts/Kalimdor/zone_the_barrens.cpp
+++ b/src/server/scripts/Kalimdor/zone_the_barrens.cpp
@@ -109,7 +109,7 @@ public:
creature->setFaction(FACTION_ESCORTEE);
creature->SetStandState(UNIT_STAND_STATE_STAND);
- creature->AI()->Talk(SAY_GIL_START, player->GetGUID());
+ creature->AI()->Talk(SAY_GIL_START, player);
if (npc_giltharesAI* pEscortAI = CAST_AI(npc_gilthares::npc_giltharesAI, creature->AI()))
pEscortAI->Start(false, false, player->GetGUID(), quest);
@@ -137,22 +137,22 @@ public:
switch (waypointId)
{
case 16:
- Talk(SAY_GIL_AT_LAST, player->GetGUID());
+ Talk(SAY_GIL_AT_LAST, player);
break;
case 17:
- Talk(SAY_GIL_PROCEED, player->GetGUID());
+ Talk(SAY_GIL_PROCEED, player);
break;
case 18:
- Talk(SAY_GIL_FREEBOOTERS, player->GetGUID());
+ Talk(SAY_GIL_FREEBOOTERS, player);
break;
case 37:
- Talk(SAY_GIL_ALMOST, player->GetGUID());
+ Talk(SAY_GIL_ALMOST, player);
break;
case 47:
- Talk(SAY_GIL_SWEET, player->GetGUID());
+ Talk(SAY_GIL_SWEET, player);
break;
case 53:
- Talk(SAY_GIL_FREED, player->GetGUID());
+ Talk(SAY_GIL_FREED, player);
player->GroupEventHappens(QUEST_FREE_FROM_HOLD, me);
break;
}
@@ -168,7 +168,7 @@ public:
if (who->GetTypeId() != TYPEID_PLAYER && me->GetAreaId() == AREA_MERCHANT_COAST)
{
//appears to be pretty much random (possible only if escorter not in combat with who yet?)
- Talk(SAY_GIL_AGGRO, who->GetGUID());
+ Talk(SAY_GIL_AGGRO, who);
}
}
};
@@ -345,10 +345,7 @@ public:
BigWill = 0;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
-
void MoveInLineOfSight(Unit* who) OVERRIDE
-
{
if (!who || !who->IsAlive() || EventInProgress)
return;
@@ -362,8 +359,6 @@ public:
}
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE { }
-
void UpdateAI(uint32 diff) OVERRIDE
{
if (EventInProgress)
@@ -408,7 +403,7 @@ public:
if (x >= -1684 && x <= -1674 && y >= -4334 && y <= -4324)
{
warrior->AreaExploredOrEventHappens(1719);
- Talk(SAY_TWIGGY_FLATHEAD_BEGIN, warrior->GetGUID());
+ Talk(SAY_TWIGGY_FLATHEAD_BEGIN, warrior);
for (uint8 i = 0; i < 6; ++i)
{
@@ -577,10 +572,10 @@ public:
switch (PointId)
{
case 9:
- Talk(SAY_STARTUP2, player->GetGUID());
+ Talk(SAY_STARTUP2, player);
break;
case 18:
- Talk(SAY_PROGRESS_1, player->GetGUID());
+ Talk(SAY_PROGRESS_1, player);
SetRun();
break;
}
diff --git a/src/server/scripts/Kalimdor/zone_thousand_needles.cpp b/src/server/scripts/Kalimdor/zone_thousand_needles.cpp
index 1ba9bf2cb54..a4af7c75e6a 100644
--- a/src/server/scripts/Kalimdor/zone_thousand_needles.cpp
+++ b/src/server/scripts/Kalimdor/zone_thousand_needles.cpp
@@ -146,7 +146,7 @@ public:
{
if (quest->GetQuestId() == QUEST_FREE_AT_LAST)
{
- creature->AI()->Talk(SAY_LAKO_START, player->GetGUID());
+ creature->AI()->Talk(SAY_LAKO_START, player);
creature->setFaction(FACTION_ESCORTEE_LAKO);
if (npc_lakota_windsongAI* pEscortAI = CAST_AI(npc_lakota_windsong::npc_lakota_windsongAI, creature->AI()))
@@ -229,7 +229,7 @@ public:
{
if (quest->GetQuestId() == QUEST_HOMEWARD)
{
- creature->AI()->Talk(SAY_START, player->GetGUID());
+ creature->AI()->Talk(SAY_START, player);
creature->setFaction(FACTION_ESCORTEE);
if (npc_paoka_swiftmountainAI* pEscortAI = CAST_AI(npc_paoka_swiftmountain::npc_paoka_swiftmountainAI, creature->AI()))
diff --git a/src/server/scripts/Kalimdor/zone_ungoro_crater.cpp b/src/server/scripts/Kalimdor/zone_ungoro_crater.cpp
index 5f19e838c8a..2d29ed361e9 100644
--- a/src/server/scripts/Kalimdor/zone_ungoro_crater.cpp
+++ b/src/server/scripts/Kalimdor/zone_ungoro_crater.cpp
@@ -62,7 +62,7 @@ public:
if (quest->GetQuestId() == QUEST_CHASING_AME)
{
CAST_AI(npc_escortAI, (creature->AI()))->Start(false, false, player->GetGUID());
- creature->AI()->Talk(SAY_READY, player->GetGUID());
+ creature->AI()->Talk(SAY_READY, player);
creature->SetUInt32Value(UNIT_FIELD_BYTES_1, 0);
// Change faction so mobs attack
creature->setFaction(113);
@@ -89,21 +89,21 @@ public:
{
case 19:
me->SummonCreature(ENTRY_STOMPER, -6391.69f, -1730.49f, -272.83f, 4.96f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000);
- Talk(SAY_AGGRO1, player->GetGUID());
+ Talk(SAY_AGGRO1, player);
break;
case 28:
- Talk(SAY_SEARCH, player->GetGUID());
+ Talk(SAY_SEARCH, player);
break;
case 38:
me->SummonCreature(ENTRY_TARLORD, -6370.75f, -1382.84f, -270.51f, 6.06f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000);
- Talk(SAY_AGGRO2, player->GetGUID());
+ Talk(SAY_AGGRO2, player);
break;
case 49:
me->SummonCreature(ENTRY_TARLORD1, -6324.44f, -1181.05f, -270.17f, 4.34f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000);
- Talk(SAY_AGGRO3, player->GetGUID());
+ Talk(SAY_AGGRO3, player);
break;
case 55:
- Talk(SAY_FINISH, player->GetGUID());
+ Talk(SAY_FINISH, player);
player->GroupEventHappens(QUEST_CHASING_AME, me);
break;
}
diff --git a/src/server/scripts/Kalimdor/zone_winterspring.cpp b/src/server/scripts/Kalimdor/zone_winterspring.cpp
index 18df584e64a..c9a526c6306 100644
--- a/src/server/scripts/Kalimdor/zone_winterspring.cpp
+++ b/src/server/scripts/Kalimdor/zone_winterspring.cpp
@@ -524,7 +524,7 @@ public:
if (Player* player = GetPlayerForEscort())
{
me->SetFacingToObject(player);
- Talk(SAY_RANSHALLA_END_1, player->GetGUID());
+ Talk(SAY_RANSHALLA_END_1, player);
}
break;
case SAY_RANSHALLA_END_2:
@@ -538,7 +538,7 @@ public:
if (Player* player = GetPlayerForEscort())
{
player->GroupEventHappens(QUEST_GUARDIANS_ALTAR, me);
- Talk(SAY_RANSHALLA_END_2, player->GetGUID());
+ Talk(SAY_RANSHALLA_END_2, player);
}
me->DespawnOrUnsummon(4000);
break;