diff options
author | Sorikoff <46191832+Sorikoff@users.noreply.github.com> | 2020-01-19 17:45:05 +0200 |
---|---|---|
committer | Giacomo Pozzoni <giacomopoz@gmail.com> | 2020-01-19 16:45:05 +0100 |
commit | bfac09bbcfa5d21da35ef6d51f190a618aab6cdc (patch) | |
tree | a6740eaf06ca00755c65416fd91abf0a47f6bf9a /src | |
parent | 07c0bfe11b8164a9132e608e7bee1875467be6b2 (diff) |
Scripts/Quests: Reports from the Field (#24075)
Diffstat (limited to 'src')
-rw-r--r-- | src/server/scripts/Northrend/zone_howling_fjord.cpp | 118 |
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(); |