diff options
| author | Subv <subv2112@gmail.com> | 2013-12-29 15:13:14 -0500 |
|---|---|---|
| committer | Subv <subv2112@gmail.com> | 2013-12-29 15:13:14 -0500 |
| commit | d234d0f3d0889e799eb066ba39c9b1edbc964d6e (patch) | |
| tree | 17d6281266900fe843573d03eff46a3b2beabedb /src/server/scripts/Kalimdor | |
| parent | 8658b5338c905c79daf50cb56dbe739f82d25acc (diff) | |
| parent | c40cdc2968c58d952878c09a60926af74f782867 (diff) | |
Merge branch 'master' of github.com:TrinityCore/TrinityCore into mmaps_rw
Diffstat (limited to 'src/server/scripts/Kalimdor')
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; |
