diff options
author | Malcrom <malcromdev@gmail.com> | 2022-10-22 18:38:34 -0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-10-22 23:38:34 +0200 |
commit | 51afe537b08d48339275851224a03fac4a88cb6b (patch) | |
tree | 217eb7034f75cd07d49d6188759d047361d47175 /src | |
parent | 1011cb73c92ddb90589452f70a1dd33830689e32 (diff) |
Scripts/Durotar: Fix ship arrived gossip for Mith'aka (#28386)
Diffstat (limited to 'src')
-rw-r--r-- | src/server/scripts/Kalimdor/zone_durotar.cpp | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/server/scripts/Kalimdor/zone_durotar.cpp b/src/server/scripts/Kalimdor/zone_durotar.cpp index 53125ed1a27..38e6a8689fa 100644 --- a/src/server/scripts/Kalimdor/zone_durotar.cpp +++ b/src/server/scripts/Kalimdor/zone_durotar.cpp @@ -23,6 +23,7 @@ #include "ScriptedCreature.h" #include "SpellInfo.h" #include "SpellScript.h" +#include "ScriptedGossip.h" /*###### ## Quest 37446: Lazy Peons @@ -147,8 +148,40 @@ class spell_voodoo : public SpellScript } }; +enum Mithaka +{ + DATA_SHIP_DOCKED = 1, + GOSSIP_MENU_MITHAKA = 23225, + GOSSIP_TEXT_MITHAKA = 35969 +}; + +struct npc_mithaka : ScriptedAI +{ + npc_mithaka(Creature* creature) : ScriptedAI(creature), _shipInPort(false) { } + + void SetData(uint32 /*type*/, uint32 data) override + { + if (data == DATA_SHIP_DOCKED) + _shipInPort = true; + else + _shipInPort = false; + } + + bool OnGossipHello(Player* player) override + { + InitGossipMenuFor(player, GOSSIP_MENU_MITHAKA); + if (!_shipInPort) + AddGossipItemFor(player, GOSSIP_MENU_MITHAKA, 0, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); + SendGossipMenuFor(player, GOSSIP_TEXT_MITHAKA, me->GetGUID()); + return true; + } +private: + bool _shipInPort; +}; + void AddSC_durotar() { new npc_lazy_peon(); RegisterSpellScript(spell_voodoo); + RegisterCreatureAI(npc_mithaka); } |