aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSorikoff <46191832+Sorikoff@users.noreply.github.com>2020-01-19 17:45:05 +0200
committerGiacomo Pozzoni <giacomopoz@gmail.com>2020-01-19 16:45:05 +0100
commitbfac09bbcfa5d21da35ef6d51f190a618aab6cdc (patch)
treea6740eaf06ca00755c65416fd91abf0a47f6bf9a /src
parent07c0bfe11b8164a9132e608e7bee1875467be6b2 (diff)
Scripts/Quests: Reports from the Field (#24075)
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/Northrend/zone_howling_fjord.cpp118
1 files changed, 56 insertions, 62 deletions
diff --git a/src/server/scripts/Northrend/zone_howling_fjord.cpp b/src/server/scripts/Northrend/zone_howling_fjord.cpp
index 4366096eda6..2965a30fbbb 100644
--- a/src/server/scripts/Northrend/zone_howling_fjord.cpp
+++ b/src/server/scripts/Northrend/zone_howling_fjord.cpp
@@ -253,82 +253,76 @@ public:
## npc_razael_and_lyana
######*/
-#define GOSSIP_RAZAEL_REPORT "High Executor Anselm wants a report on the situation."
-#define GOSSIP_LYANA_REPORT "High Executor Anselm requests your report."
-
enum Razael
{
- QUEST_REPORTS_FROM_THE_FIELD = 11221,
- NPC_RAZAEL = 23998,
- NPC_LYANA = 23778,
- GOSSIP_TEXTID_RAZAEL1 = 11562,
- GOSSIP_TEXTID_RAZAEL2 = 11564,
- GOSSIP_TEXTID_LYANA1 = 11586,
- GOSSIP_TEXTID_LYANA2 = 11588
-};
+ QUEST_REPORTS_FROM_THE_FIELD = 11221,
-class npc_razael_and_lyana : public CreatureScript
-{
-public:
- npc_razael_and_lyana() : CreatureScript("npc_razael_and_lyana") { }
+ NPC_RAZAEL = 23998,
+ NPC_LYANA = 23778,
- struct npc_razael_and_lyanaAI : public ScriptedAI
- {
- npc_razael_and_lyanaAI(Creature* creature) : ScriptedAI(creature) { }
+ GOSSIP_RAZAEL_REPORT = 8870,
+ GOSSIP_TEXTID_RAZAEL1 = 11562,
+ GOSSIP_TEXTID_RAZAEL2 = 11564,
- bool GossipHello(Player* player) override
- {
- if (me->IsQuestGiver())
- player->PrepareQuestMenu(me->GetGUID());
+ GOSSIP_LYANA_REPORT = 8879,
+ GOSSIP_TEXTID_LYANA1 = 11586,
+ GOSSIP_TEXTID_LYANA2 = 11588,
- if (player->GetQuestStatus(QUEST_REPORTS_FROM_THE_FIELD) == QUEST_STATUS_INCOMPLETE)
- {
- switch (me->GetEntry())
- {
- case NPC_RAZAEL:
- if (!player->GetReqKillOrCastCurrentCount(QUEST_REPORTS_FROM_THE_FIELD, NPC_RAZAEL))
- {
- AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_RAZAEL_REPORT, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
- SendGossipMenuFor(player, GOSSIP_TEXTID_RAZAEL1, me->GetGUID());
- return true;
- }
- break;
- case NPC_LYANA:
- if (!player->GetReqKillOrCastCurrentCount(QUEST_REPORTS_FROM_THE_FIELD, NPC_LYANA))
- {
- AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_LYANA_REPORT, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2);
- SendGossipMenuFor(player, GOSSIP_TEXTID_LYANA1, me->GetGUID());
- return true;
- }
- break;
- }
- }
- SendGossipMenuFor(player, player->GetGossipTextId(me), me->GetGUID());
- return true;
- }
+ GOSSIP_MENU_ID = 0
+};
- bool GossipSelect(Player* player, uint32 /*menuId*/, uint32 gossipListId) override
+struct npc_razael_and_lyana : public ScriptedAI {
+ npc_razael_and_lyana(Creature *creature) : ScriptedAI(creature)
+ {
+ }
+
+ bool GossipHello(Player* player) override
+ {
+ if (me->IsQuestGiver())
+ player->PrepareQuestMenu(me->GetGUID());
+
+ if (player->GetQuestStatus(QUEST_REPORTS_FROM_THE_FIELD) == QUEST_STATUS_INCOMPLETE)
{
- uint32 const action = player->PlayerTalkClass->GetGossipOptionAction(gossipListId);
- ClearGossipMenuFor(player);
- switch (action)
+ switch (me->GetEntry())
{
- case GOSSIP_ACTION_INFO_DEF + 1:
- SendGossipMenuFor(player, GOSSIP_TEXTID_RAZAEL2, me->GetGUID());
- player->TalkedToCreature(NPC_RAZAEL, me->GetGUID());
+ case NPC_RAZAEL:
+ if (!player->GetReqKillOrCastCurrentCount(QUEST_REPORTS_FROM_THE_FIELD, NPC_RAZAEL))
+ {
+ AddGossipItemFor(player, GOSSIP_RAZAEL_REPORT, GOSSIP_MENU_ID, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
+ SendGossipMenuFor(player, GOSSIP_TEXTID_RAZAEL1, me->GetGUID());
+ return true;
+ }
break;
- case GOSSIP_ACTION_INFO_DEF + 2:
- SendGossipMenuFor(player, GOSSIP_TEXTID_LYANA2, me->GetGUID());
- player->TalkedToCreature(NPC_LYANA, me->GetGUID());
+ case NPC_LYANA:
+ if (!player->GetReqKillOrCastCurrentCount(QUEST_REPORTS_FROM_THE_FIELD, NPC_LYANA))
+ {
+ AddGossipItemFor(player, GOSSIP_LYANA_REPORT, GOSSIP_MENU_ID, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2);
+ SendGossipMenuFor(player, GOSSIP_TEXTID_LYANA1, me->GetGUID());
+ return true;
+ }
break;
}
- return true;
}
- };
+ SendGossipMenuFor(player, player->GetGossipTextId(me), me->GetGUID());
+ return true;
+ }
- CreatureAI* GetAI(Creature* creature) const override
+ bool GossipSelect(Player* player, uint32 /*menuId*/, uint32 gossipListId) override
{
- return new npc_razael_and_lyanaAI(creature);
+ uint32 const action = player->PlayerTalkClass->GetGossipOptionAction(gossipListId);
+ ClearGossipMenuFor(player);
+ switch (action)
+ {
+ case GOSSIP_ACTION_INFO_DEF + 1:
+ SendGossipMenuFor(player, GOSSIP_TEXTID_RAZAEL2, me->GetGUID());
+ player->TalkedToCreature(NPC_RAZAEL, me->GetGUID());
+ break;
+ case GOSSIP_ACTION_INFO_DEF + 2:
+ SendGossipMenuFor(player, GOSSIP_TEXTID_LYANA2, me->GetGUID());
+ player->TalkedToCreature(NPC_LYANA, me->GetGUID());
+ break;
+ }
+ return true;
}
};
@@ -670,7 +664,7 @@ public:
void AddSC_howling_fjord()
{
new npc_apothecary_hanes();
- new npc_razael_and_lyana();
+ RegisterCreatureAI(npc_razael_and_lyana);
RegisterCreatureAI(npc_daegarn);
new npc_mindless_abomination();
new spell_mindless_abomination_explosion_fx_master();