aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMalcrom <malcromdev@gmail.com>2022-10-22 18:38:34 -0300
committerGitHub <noreply@github.com>2022-10-22 23:38:34 +0200
commit51afe537b08d48339275851224a03fac4a88cb6b (patch)
tree217eb7034f75cd07d49d6188759d047361d47175 /src
parent1011cb73c92ddb90589452f70a1dd33830689e32 (diff)
Scripts/Durotar: Fix ship arrived gossip for Mith'aka (#28386)
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/Kalimdor/zone_durotar.cpp33
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);
}