From 0afa672077f1aa59323bedd1871243ef6f6310bf Mon Sep 17 00:00:00 2001 From: SnapperRy Date: Fri, 28 Oct 2016 03:46:53 +0200 Subject: Core/Script: Messenger Torvus. (cherry picked from commit 924cdb9a11b1d419080045e6bb7fee164f6f000c) --- src/server/scripts/Northrend/zone_dragonblight.cpp | 27 ++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'src/server/scripts') diff --git a/src/server/scripts/Northrend/zone_dragonblight.cpp b/src/server/scripts/Northrend/zone_dragonblight.cpp index 689e60befce..c186aab88ee 100644 --- a/src/server/scripts/Northrend/zone_dragonblight.cpp +++ b/src/server/scripts/Northrend/zone_dragonblight.cpp @@ -30,6 +30,7 @@ EndContentData */ #include "CombatAI.h" #include "MotionMaster.h" #include "ObjectAccessor.h" +#include "ObjectMgr.h" #include "Player.h" #include "ScriptedEscortAI.h" #include "ScriptedGossip.h" @@ -701,6 +702,31 @@ class npc_torturer_lecraft : public CreatureScript } }; +enum MessengerTorvus +{ + NPC_MESSENGER_TORVUS = 26649, + QUEST_MESSAGE_FROM_THE_WEST = 12033, + + TALK_0 = 0 +}; + +class at_nearby_messenger_torvus : public AreaTriggerScript +{ +public: + at_nearby_messenger_torvus() : AreaTriggerScript("at_nearby_messenger_torvus") { } + + bool OnTrigger(Player* player, const AreaTriggerEntry* /*at*/, bool entered) override + { + if (player && player->IsAlive() && entered) + if (const Quest* quest = sObjectMgr->GetQuestTemplate(QUEST_MESSAGE_FROM_THE_WEST)) + if (player->CanTakeQuest(quest, false)) + if (Creature* creature = player->FindNearestCreature(NPC_MESSENGER_TORVUS, 50.0f, true)) + creature->AI()->Talk(TALK_0, player); + + return true; + } +}; + void AddSC_dragonblight() { new npc_commander_eligor_dawnbringer(); @@ -708,4 +734,5 @@ void AddSC_dragonblight() new spell_q12096_q12092_bark(); new npc_wyrmrest_defender(); new npc_torturer_lecraft(); + new at_nearby_messenger_torvus(); } -- cgit v1.2.3