diff options
-rw-r--r-- | sql/updates/world/master/2017_11_05_09_world_2016_10_28_01_world.sql | 8 | ||||
-rw-r--r-- | src/server/scripts/Northrend/zone_dragonblight.cpp | 27 |
2 files changed, 35 insertions, 0 deletions
diff --git a/sql/updates/world/master/2017_11_05_09_world_2016_10_28_01_world.sql b/sql/updates/world/master/2017_11_05_09_world_2016_10_28_01_world.sql new file mode 100644 index 00000000000..6e4398ce50c --- /dev/null +++ b/sql/updates/world/master/2017_11_05_09_world_2016_10_28_01_world.sql @@ -0,0 +1,8 @@ +-- +DELETE FROM `creature_text` WHERE `CreatureID`=26649; +INSERT INTO `creature_text` (`CreatureID`, `GroupID`, `ID`, `Text`, `Type`, `Language`, `Probability`, `Emote`, `Duration`, `Sound`, `BroadcastTextId`, `TextRange`, `comment`) VALUES +(26649, 0, 0, "Pssst... Over here, by the mailbox. Come quickly and make sure you aren't followed.", 15, 0, 100, 0, 0, 0, 25823, 0, "Borus Ironbender"); + +DELETE FROM `areatrigger_scripts` WHERE `entry`=4960; +INSERT INTO `areatrigger_scripts` (`entry`, `ScriptName`) VALUES +(4960, "at_nearby_messenger_torvus"); 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(); } |