diff options
Diffstat (limited to 'src/server/scripts')
| -rw-r--r-- | src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/forge_of_souls.cpp | 130 | 
1 files changed, 32 insertions, 98 deletions
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);  | 
