diff options
-rw-r--r-- | sql/updates/world/3.3.5/2016_08_24_20_world.sql | 4 | ||||
-rw-r--r-- | src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/forge_of_souls.cpp | 130 |
2 files changed, 36 insertions, 98 deletions
diff --git a/sql/updates/world/3.3.5/2016_08_24_20_world.sql b/sql/updates/world/3.3.5/2016_08_24_20_world.sql new file mode 100644 index 00000000000..531ea2621f2 --- /dev/null +++ b/sql/updates/world/3.3.5/2016_08_24_20_world.sql @@ -0,0 +1,4 @@ +-- NPC ID 37596, Lady Sylvanas Windrunner +DELETE FROM `gossip_menu_option` WHERE `menu_id`= 10971; +INSERT INTO `gossip_menu_option` (`menu_id`,`id`,`option_icon`,`option_text`,`OptionBroadcastTextID`,`option_id`,`npc_option_npcflag`,`action_menu_id`,`action_poi_id`,`box_coded`,`box_money`,`box_text`,`BoxBroadcastTextID`,`VerifiedBuild`) VALUES +(10971, 0, 0, "What would you have of me, Banshee Queen?", 37549, 1, 1, 0, 0, 0, 0, '', 0, 0); diff --git a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/forge_of_souls.cpp b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/forge_of_souls.cpp index 322f68fa112..b96ec867a32 100644 --- a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/forge_of_souls.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/forge_of_souls.cpp @@ -36,33 +36,31 @@ enum Events EVENT_INTRO_8, }; -/****************************************SYLVANAS************************************/ -#define GOSSIP_SYLVANAS_ITEM "What would you have of me, Banshee Queen?" -#define GOSSIP_JAINA_ITEM "What would you have of me, my lady?" - enum Yells { - SAY_JAINA_INTRO_1 = 0, - SAY_JAINA_INTRO_2 = 1, - SAY_JAINA_INTRO_3 = 2, - SAY_JAINA_INTRO_4 = 3, - SAY_JAINA_INTRO_5 = 4, - SAY_JAINA_INTRO_6 = 5, - SAY_JAINA_INTRO_7 = 6, - SAY_JAINA_INTRO_8 = 7, - - SAY_SYLVANAS_INTRO_1 = 0, - SAY_SYLVANAS_INTRO_2 = 1, - SAY_SYLVANAS_INTRO_3 = 2, - SAY_SYLVANAS_INTRO_4 = 3, - SAY_SYLVANAS_INTRO_5 = 4, - SAY_SYLVANAS_INTRO_6 = 5, + SAY_JAINA_INTRO_1 = 0, + SAY_JAINA_INTRO_2 = 1, + SAY_JAINA_INTRO_3 = 2, + SAY_JAINA_INTRO_4 = 3, + SAY_JAINA_INTRO_5 = 4, + SAY_JAINA_INTRO_6 = 5, + SAY_JAINA_INTRO_7 = 6, + SAY_JAINA_INTRO_8 = 7, + + SAY_SYLVANAS_INTRO_1 = 0, + SAY_SYLVANAS_INTRO_2 = 1, + SAY_SYLVANAS_INTRO_3 = 2, + SAY_SYLVANAS_INTRO_4 = 3, + SAY_SYLVANAS_INTRO_5 = 4, + SAY_SYLVANAS_INTRO_6 = 5, }; enum Misc { - GOSSIP_SPEECHINTRO = 13525, ACTION_INTRO, + MENU_ID_JAINA = 10943, + MENU_ID_SYLVANAS = 10971, + GOSSIP_OPTION_ID = 0 }; enum Phase @@ -101,17 +99,15 @@ public: Initialize(); } - void DoAction(int32 actionId) override + void sGossipSelect(Player* player, uint32 menuId, uint32 gossipListId) override { - switch (actionId) + if (menuId == MENU_ID_SYLVANAS && gossipListId == GOSSIP_OPTION_ID) { - case ACTION_INTRO: - { - phase = PHASE_INTRO; - me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); - events.Reset(); - events.ScheduleEvent(EVENT_INTRO_1, 1000); - } + player->CLOSE_GOSSIP_MENU(); + phase = PHASE_INTRO; + me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + events.Reset(); + events.ScheduleEvent(EVENT_INTRO_1, 1000); } } @@ -164,36 +160,6 @@ public: } }; - bool OnGossipHello(Player* player, Creature* creature) override - { - if (creature->IsQuestGiver()) - player->PrepareQuestMenu(creature->GetGUID()); - - if (creature->GetEntry() == NPC_JAINA_PART1) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_JAINA_ITEM, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); - else - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SYLVANAS_ITEM, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); - - player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE, creature->GetGUID()); - return true; - } - - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override - { - player->PlayerTalkClass->ClearMenus(); - switch (action) - { - case GOSSIP_ACTION_INFO_DEF+1: - player->CLOSE_GOSSIP_MENU(); - - if (creature->AI()) - creature->AI()->DoAction(ACTION_INTRO); - break; - } - - return true; - } - CreatureAI* GetAI(Creature* creature) const override { return GetInstanceAI<npc_sylvanas_fosAI>(creature); @@ -230,17 +196,15 @@ public: Initialize(); } - void DoAction(int32 actionId) override + void sGossipSelect(Player* player, uint32 menuId, uint32 gossipListId) override { - switch (actionId) + if (menuId == MENU_ID_JAINA && gossipListId == GOSSIP_OPTION_ID) { - case ACTION_INTRO: - { - phase = PHASE_INTRO; - me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); - events.Reset(); - events.ScheduleEvent(EVENT_INTRO_1, 1000); - } + player->CLOSE_GOSSIP_MENU(); + phase = PHASE_INTRO; + me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + events.Reset(); + events.ScheduleEvent(EVENT_INTRO_1, 1000); } } @@ -304,36 +268,6 @@ public: } }; - bool OnGossipHello(Player* player, Creature* creature) override - { - if (creature->IsQuestGiver()) - player->PrepareQuestMenu(creature->GetGUID()); - - if (creature->GetEntry() == NPC_JAINA_PART1) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_JAINA_ITEM, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); - else - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SYLVANAS_ITEM, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); - - player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE, creature->GetGUID()); - return true; - } - - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override - { - player->PlayerTalkClass->ClearMenus(); - switch (action) - { - case GOSSIP_ACTION_INFO_DEF+1: - player->CLOSE_GOSSIP_MENU(); - - if (creature->AI()) - creature->AI()->DoAction(ACTION_INTRO); - break; - } - - return true; - } - CreatureAI* GetAI(Creature* creature) const override { return GetInstanceAI<npc_jaina_fosAI>(creature); |