Example #1
0
        public override bool OnGossipSelect(Player player, GameObject go, uint sender, uint action)
        {
            player.PlayerTalkClass.ClearMenus();
            switch (action)
            {
            case eTradeskill.GossipActionInfoDef:
                player.CastSpell(player, GameobjectConst.SpellCreate1FlaskOfSorcerer, false);
                player.ADD_GOSSIP_ITEM(GossipOptionIcon.Chat, GameobjectConst.GossipBashirCrystalforgeItemReturn, eTradeskill.GossipSenderMain, eTradeskill.GossipActionInfoDef + 2);
                player.SEND_GOSSIP_MENU(GameobjectConst.GossipBashirCrystalforgeItemTextReturn, go.GetGUID());
                break;

            case eTradeskill.GossipActionInfoDef + 1:
                player.CastSpell(player, GameobjectConst.SpellCreate5FlaskOfBeast, false);
                player.ADD_GOSSIP_ITEM(GossipOptionIcon.Chat, GameobjectConst.GossipBashirCrystalforgeItemReturn, eTradeskill.GossipSenderMain, eTradeskill.GossipActionInfoDef + 2);
                player.SEND_GOSSIP_MENU(GameobjectConst.GossipBashirCrystalforgeItemTextReturn, go.GetGUID());
                break;

            case eTradeskill.GossipActionInfoDef + 2:
                player.ADD_GOSSIP_ITEM(GossipOptionIcon.Chat, GameobjectConst.GossipBashirCrystalforgeItem1, eTradeskill.GossipSenderMain, eTradeskill.GossipActionInfoDef);
                player.ADD_GOSSIP_ITEM(GossipOptionIcon.Chat, GameobjectConst.GossipBashirCrystalforgeItem5, eTradeskill.GossipSenderMain, eTradeskill.GossipActionInfoDef + 1);
                player.SEND_GOSSIP_MENU(GameobjectConst.GossipBashirCrystalforgeText, go.GetGUID());
                break;
            }
            return(true);
        }
        public override bool OnGossipHello(Player player, Creature creature)
        {
            InstanceScript instance = creature.GetInstanceScript();

            if (instance != null &&
                ((instance.GetData((uint)Data.BOSS_GRAND_CHAMPIONS) == (uint)EncounterState.Done &&
                  instance.GetData((uint)Data.BOSS_BLACK_KNIGHT) == (uint)EncounterState.Done &&
                  instance.GetData((uint)Data.BOSS_ARGENT_CHALLENGE_E) == (uint)EncounterState.Done) ||
                 instance.GetData((uint)Data.BOSS_ARGENT_CHALLENGE_P) == (uint)EncounterState.Done))
            {
                return(false);
            }

            if (instance != null &&
                instance.GetData((uint)Data.BOSS_GRAND_CHAMPIONS) == (uint)EncounterState.NotStarted &&
                instance.GetData((uint)Data.BOSS_ARGENT_CHALLENGE_E) == (uint)EncounterState.NotStarted &&
                instance.GetData((uint)Data.BOSS_ARGENT_CHALLENGE_P) == (uint)EncounterState.NotStarted &&
                instance.GetData((uint)Data.BOSS_BLACK_KNIGHT) == (uint)EncounterState.NotStarted)
            {
                player.ADD_GOSSIP_ITEM(GossipOptionIcon.Chat, TrialOfTheChampionConst.GOSSIP_START_EVENT1, eTradeskill.GossipSenderMain, eTradeskill.GossipActionInfoDef + 1);
            }
            else if (instance != null)
            {
                player.ADD_GOSSIP_ITEM(GossipOptionIcon.Chat, TrialOfTheChampionConst.GOSSIP_START_EVENT2, eTradeskill.GossipSenderMain, eTradeskill.GossipActionInfoDef + 1);
            }

            player.SEND_GOSSIP_MENU(player.GetGossipTextId(creature), creature.GetGUID());

            return(true);
        }
Example #3
0
            public override bool GossipHello(Player player)
            {
                if (((instance.GetData((uint)Data.BOSS_GRAND_CHAMPIONS) == (uint)EncounterState.Done &&
                      instance.GetData((uint)Data.BOSS_BLACK_KNIGHT) == (uint)EncounterState.Done &&
                      instance.GetData((uint)Data.BOSS_ARGENT_CHALLENGE_E) == (uint)EncounterState.Done) ||
                     instance.GetData((uint)Data.BOSS_ARGENT_CHALLENGE_P) == (uint)EncounterState.Done))
                {
                    return(false);
                }

                if (instance.GetData((uint)Data.BOSS_GRAND_CHAMPIONS) == (uint)EncounterState.NotStarted &&
                    instance.GetData((uint)Data.BOSS_ARGENT_CHALLENGE_E) == (uint)EncounterState.NotStarted &&
                    instance.GetData((uint)Data.BOSS_ARGENT_CHALLENGE_P) == (uint)EncounterState.NotStarted &&
                    instance.GetData((uint)Data.BOSS_BLACK_KNIGHT) == (uint)EncounterState.NotStarted)
                {
                    player.ADD_GOSSIP_ITEM(GossipOptionIcon.Chat, TrialOfTheChampionConst.GOSSIP_START_EVENT1, eTradeskill.GossipSenderMain, eTradeskill.GossipActionInfoDef + 1);
                }
                else if (instance != null)
                {
                    player.ADD_GOSSIP_ITEM(GossipOptionIcon.Chat, TrialOfTheChampionConst.GOSSIP_START_EVENT2, eTradeskill.GossipSenderMain, eTradeskill.GossipActionInfoDef + 1);
                }

                SendGossipMenuFor(player, player.GetGossipTextId(me), me.GetGUID());

                return(true);
            }
Example #4
0
        public override bool OnGossipHello(Player player, GameObject go)
        {
            if (go.GetGoType() == GameObjectTypes.QuestGiver) /* != GAMEOBJECT_TYPE_QUESTGIVER) */
            {
                player.PrepareQuestMenu(go.GetGUID());        /* return true*/
            }
            player.ADD_GOSSIP_ITEM(GossipOptionIcon.Chat, GameobjectConst.GossipBashirCrystalforgeItem1, eTradeskill.GossipSenderMain, eTradeskill.GossipActionInfoDef);
            player.ADD_GOSSIP_ITEM(GossipOptionIcon.Chat, GameobjectConst.GossipBashirCrystalforgeItem5, eTradeskill.GossipSenderMain, eTradeskill.GossipActionInfoDef + 1);

            player.SEND_GOSSIP_MENU(GameobjectConst.GossipBashirCrystalforgeText, go.GetGUID());

            return(true);
        }
Example #5
0
        public override bool OnGossipHello(Player player, Creature creature)
        {
            if (creature.IsQuestGiver())
            {
                player.PrepareQuestMenu(creature.GetGUID());
            }

            if (creature.IsVendor())
            {
                player.ADD_GOSSIP_ITEM(GossipOptionIcon.Vendor, GOSSIP_TEXT_BROWSE_POISONS, eTradeskill.GossipSenderMain, eTradeskill.GossipActionTrade);
            }

            player.ADD_GOSSIP_ITEM(GossipOptionIcon.Chat, GOSSIP_TIMOTHY_DANIELS_ITEM1, eTradeskill.GossipSenderMain, eTradeskill.GossipActionInfoDef + 1);
            player.SEND_GOSSIP_MENU(player.GetGossipTextId(creature), creature.GetGUID());
            return(true);
        }
Example #6
0
            public override bool GossipHello(Player player)
            {
                if (player.GetReputationRank(942) > ReputationRank.Neutral)
                {
                    if (me.GetEntry() == NPC_ASHYEN)
                    {
                        player.ADD_GOSSIP_ITEM(GossipOptionIcon.Chat, GOSSIP_ITEM_BLESS_ASH, eTradeskill.GossipSenderMain, eTradeskill.GossipActionInfoDef + 1);
                    }

                    if (me.GetEntry() == NPC_KELETH)
                    {
                        player.ADD_GOSSIP_ITEM(GossipOptionIcon.Chat, GOSSIP_ITEM_BLESS_KEL, eTradeskill.GossipSenderMain, eTradeskill.GossipActionInfoDef + 1);
                    }
                }
                player.SEND_GOSSIP_MENU(player.GetGossipTextId(me), me.GetGUID());

                return(true);
            }
Example #7
0
            public override bool GossipHello(Player player)
            {
                if (player.GetQuestStatus(9803) == QuestStatus.Incomplete)
                {
                    player.ADD_GOSSIP_ITEM(GossipOptionIcon.Chat, GOSSIP_ITEM_KUR1, eTradeskill.GossipSenderMain, eTradeskill.GossipActionInfoDef);
                }

                player.SEND_GOSSIP_MENU(9226, me.GetGUID());
                return(true);
            }
Example #8
0
            public override bool GossipHello(Player player)
            {
                if (player.GetQuestStatus(QUEST_CRACK_SKULLS) == QuestStatus.Incomplete)
                {
                    player.ADD_GOSSIP_ITEM(GossipOptionIcon.Chat, GOSSIP_COOSH, eTradeskill.GossipSenderMain, eTradeskill.GossipActionInfoDef);
                }

                player.SEND_GOSSIP_MENU(9441, me.GetGUID());
                return(true);
            }
Example #9
0
        public override bool OnGossipHello(Player player, Creature creature)
        {
            if (creature.IsVendor() && player.GetReputationRank(942) == ReputationRank.Exalted)
            {
                player.ADD_GOSSIP_ITEM(GossipOptionIcon.Vendor, GOSSIP_TEXT_BROWSE_GOODS, eTradeskill.GossipSenderMain, eTradeskill.GossipActionTrade);
            }

            player.SEND_GOSSIP_MENU(player.GetGossipTextId(creature), creature.GetGUID());

            return(true);
        }
Example #10
0
            public override bool GossipSelect(Player player, uint menuId, uint gossipListId)
            {
                uint action = player.PlayerTalkClass.GetGossipOptionAction(gossipListId);

                player.PlayerTalkClass.ClearMenus();
                switch (action)
                {
                case eTradeskill.GossipActionInfoDef:
                    player.ADD_GOSSIP_ITEM(GossipOptionIcon.Chat, GOSSIP_ITEM_KUR2, eTradeskill.GossipSenderMain, eTradeskill.GossipActionInfoDef + 1);
                    player.SEND_GOSSIP_MENU(9227, me.GetGUID());
                    break;

                case eTradeskill.GossipActionInfoDef + 1:
                    player.ADD_GOSSIP_ITEM(GossipOptionIcon.Chat, GOSSIP_ITEM_KUR3, eTradeskill.GossipSenderMain, eTradeskill.GossipActionInfoDef + 2);
                    player.SEND_GOSSIP_MENU(9229, me.GetGUID());
                    break;

                case eTradeskill.GossipActionInfoDef + 2:
                {
                    if (!player.HasItemCount(24573))
                    {
                        List <ItemPosCount> dest = new List <ItemPosCount>();
                        uint            itemId   = 24573;
                        uint            temp;
                        InventoryResult msg = player.CanStoreNewItem(ItemConst.NullBag, ItemConst.NullSlot, dest, itemId, 1, out temp);
                        if (msg == InventoryResult.Ok)
                        {
                            player.StoreNewItem(dest, itemId, true);
                        }
                        else
                        {
                            player.SendEquipError(msg, null, null, itemId);
                        }
                    }
                    player.SEND_GOSSIP_MENU(9231, me.GetGUID());
                    break;
                }
                }
                return(true);
            }
Example #11
0
        public override bool OnGossipHello(Player player, GameObject go)
        {
            QuestStatus status = player.GetQuestStatus(GameobjectConst.QuestDoingYourDuty);

            if (status == QuestStatus.Incomplete || status == QuestStatus.Complete || status == QuestStatus.Rewarded)
            {
                player.ADD_GOSSIP_ITEM(GossipOptionIcon.Chat, GameobjectConst.GossipUseOuthouse, eTradeskill.GossipSenderMain, eTradeskill.GossipActionInfoDef + 1);
                player.SEND_GOSSIP_MENU(GameobjectConst.GossipOuthouseVacant, go.GetGUID());
            }
            else
            {
                player.SEND_GOSSIP_MENU(GameobjectConst.GossipOuthouseInuse, go.GetGUID());
            }

            return(true);
        }