Example #1
0
        public override void Run(Game_Server.Player _client, ushort _linkback)
        {
            Responses = new List <NpcDialogPacket>();
            AddAvatar();
            switch (_linkback)
            {
            case 0:
                AddText("Where are you heading for? I can teleport you for a price of 100 silver.");
                AddOption("Twin City", 1);
                AddOption("Mystic Castle", 2);
                AddOption("Market", 3);
                AddOption("Just passing by.", 255);
                break;

            case 1:
                if (_client.Money >= 100)
                {
                    _client.Money -= 100;
                    _client.ChangeMap(1000, 971, 666);
                }
                else
                {
                    AddText("Sorry, you do not have 100 silver.");
                    AddOption("I see.", 255);
                }
                break;

            case 2:
                if (_client.Money >= 100)
                {
                    _client.Money -= 100;
                    _client.ChangeMap(1000, 85, 323);
                }
                else
                {
                    AddText("Sorry, you do not have 100 silver.");
                    AddOption("I see.", 255);
                }
                break;

            case 3:
                if (_client.Money >= 100)
                {
                    _client.Money -= 100;
                    _client.ChangeMap(1036, 211, 196);
                    _client.PrevMap = (ushort)_client.Character.Map;
                    _client.PrevX   = (ushort)_client.Character.X;
                    _client.PrevY   = (ushort)_client.Character.Y;
                    _client.Save();
                }
                else
                {
                    AddText("Sorry, you do not have 100 silver.");
                    AddOption("I see.", 255);
                }
                break;
            }
            AddFinish();
            Send();
        }
        public override void Run(Game_Server.Player _client, ushort _linkback)
        {
            Responses = new List<NpcDialogPacket>();
            AddAvatar();
            switch (_linkback)
            {
                case 0:
                    if (_client.HasEffect(Enum.ClientEffect.Black))
                    {
                        AddText("You must stay and think about what you've done!");
                        AddOption("I shall..", 255);

                    }
                    else
                    {
                        AddText("You are no danger to anyone. I can help you leave if you'd like.");
                        AddOption("Yes please", 1);
                        AddOption("Not yet", 255);
                    }
                    break;
                case 1:
                    if (!_client.HasEffect(Enum.ClientEffect.Black))
                    { _client.ChangeMap(1002, 517, 352); }
                    else
                    {
                        AddText("You must stay and think about what you've done!");
                        AddOption("I shall..", 255);
                    }
                    break;
            }
            AddFinish();
            Send();
        }
        public override void Run(Game_Server.Player _client, ushort _linkback)
        {
            Responses = new List <NpcDialogPacket>();
            AddAvatar();
            switch (_linkback)
            {
            case 0:
                AddText("You cannot leave here unless you have paid for your crimes.");
                AddOption("Ok! Let me get out from here!", 1);
                AddOption("Any chance of a discount?", 2);
                AddOption("I would rather rot in hell!", 255);
                break;

            case 1:

                AddText("Give me 1000 silver, I will teleport you there");
                AddOption("Here are 1000 silver", 2);
                AddOption("If so, I will stay here.", 255);
                break;

            case 2:
                if (_client.Money >= 1000)
                {
                    _client.ChangeMap(6000, 29, 72); _client.Money -= 1000;
                }
                else
                {
                    AddText("Sorry, you do not have enough.");
                    AddOption("I see.", 255);
                }
                break;
            }
            AddFinish();
            Send();
        }
        public override void Run(Game_Server.Player _client, ushort _linkback)
        {
            Responses = new List <NpcDialogPacket>();
            AddAvatar();
            switch (_linkback)
            {
            case 0:
                AddText("Do you wish to enter second level of labyrinth?Give me an SoulToken");
                AddOption("Yes, send me to the quest map.", 1);
                AddOption("No Thanks.", 255);
                break;

            case 1:
                if (_client.HasItem(721539, 1))
                {
                    _client.ChangeMap(1354, 321, 123);
                    _client.DeleteItem(721539);
                    AddText("There you go, take care! ");
                    AddOption("Okay.", 255);
                }
                else
                {
                    AddText("You don't have an SoulToken!");
                    AddOption("Nevermind...", 255);
                }
                break;
            }
            AddFinish();
            Send();
        }
        public override void Run(Game_Server.Player _client, ushort _linkback)
        {
            Responses = new List <NpcDialogPacket>();
            AddAvatar();
            switch (_linkback)
            {
            case 0:
                if (_client.HasItem(721011, 1))
                {
                    AddText("Since you have a token to this tatic, I am able to harness its power to send you out. Are you ready? ");
                    AddOption("Yes, send me out", 1);
                    AddOption("Thanks", 255);
                }
                else
                {
                    AddText("I wish I could help you adventurer but I need the token the monsters are holding in order to send you out.");
                    AddOption("I will get one at once", 255);
                }
                break;

            case 1:
                if (_client.HasItem(721011))
                {
                    _client.ChangeMap(1042, 35, 48);
                }
                break;
            }
            AddFinish();
            Send();
        }
Example #6
0
        public override void Run(Game_Server.Player _client, ushort _linkback)
        {
            Responses = new List <NpcDialogPacket>();
            AddAvatar();
            switch (_linkback)
            {
            case 0:
                AddText("What can I do for you?");
                AddOption("Visit the jail.", 1);
                AddOption("Just passing by.", 255);
                break;

            case 1:
                AddText("Give me 1000 silver, I will teleport you there");
                AddOption("Here are 1000 silver", 2);
                AddOption("If so, I will stay here.", 255);
                break;

            case 2:
                if (_client.Money >= 1000)
                {
                    _client.ChangeMap(6000, 29, 72); _client.Money -= 1000;
                }
                else
                {
                    AddText("Sorry, you do not have enough.");
                    AddOption("I see.", 255);
                }
                break;
            }
            AddFinish();
            Send();
        }
Example #7
0
        public override void Run(Game_Server.Player _client, ushort _linkback)
        {
            Responses = new List <NpcDialogPacket>();
            AddAvatar();
            switch (_linkback)
            {
            case 0:
                AddText("Hello, I am the assistant of the mine union.");
                AddText("If you want to enter the mine cave, I can send you.");
                AddOption("Yes Please", 1);
                AddOption("Just passing by.", 255);
                break;

            case 1:
                if (_client.Level >= 70)
                {
                    _client.ChangeMap(1027, 138, 104);
                }
                else
                {
                    AddText("Sorry, you must be at least level 70 before you can enter this mine.");
                    AddOption("Sorry", 255);
                }
                break;
            }
            AddFinish();
            Send();
        }
        public override void Run(Game_Server.Player _client, ushort _linkback)
        {
            Responses = new List <NpcDialogPacket>();
            AddAvatar();
            switch (_linkback)
            {
            case 0:
                AddText("The arena is open. Welcome to challenge other people. The admission fee is only 50 silver. ");
                AddText("If you PK in the arena, you will not gain or lose any experience or items equipped, and will get revived at the place you die. ");
                AddText("The Kungfu circle is very dangerous, I suggest you PK in area.");
                AddOption("Enter the arena.", 1);
                AddOption("Just passing by.", 255);
                break;

            case 1:
                if (_client.Money >= 50)
                {
                    _client.ChangeMap(1005, 51, 71); _client.Money -= 50;
                }
                else
                {
                    AddText("Sorry, you do not have enough.");
                    AddOption("I see.", 255);
                }
                break;
            }
            AddFinish();
            Send();
        }
        public override void Run(Game_Server.Player _client, ushort _linkback)
        {
            Responses = new List <NpcDialogPacket>();
            AddAvatar();
            switch (_linkback)
            {
            case 0:
                AddText("Are you heading for the next teleporter? It is free for our members, and 1,000");
                AddText("silver for others.");
                AddOption("Please teleport me there.", 1);
                AddOption("Just passing by.", 255);
                break;

            case 1:
                if (_client.Money >= 1000)
                {
                    _client.ChangeMap(1038, 350, 339); _client.Money -= 1000;
                }
                else
                {
                    AddText("Sorry, you do not have enough.");
                    AddOption("I see.", 255);
                }
                break;
            }
            AddFinish();
            Send();
        }
Example #10
0
        public override void Run(Game_Server.Player _client, ushort _linkback)
        {
            Responses = new List <NpcDialogPacket>();
            AddAvatar();
            switch (_linkback)
            {
            case 0:
                AddText("If you are level 20 or above, you may level up at the training grounds. it does");
                AddText("not consume any durability, life and mana. Do you want me to teleport you");
                AddText("there? It is free for my guild members, and 1000 silver for others.");
                AddOption("Please teleport me there.", 1);
                AddOption("Just passing by.", 255);
                break;

            case 1:
                if (_client.Money >= 1000)
                {
                    _client.ChangeMap(1039, 217, 215); _client.Money -= 1000;
                }
                else
                {
                    AddText("Sorry, you do not have enough.");
                    AddOption("I see.", 255);
                }
                break;
            }
            AddFinish();
            Send();
        }
        public override void Run(Game_Server.Player _client, ushort _linkback)
        {
            Responses = new List <NpcDialogPacket>();
            AddAvatar();
            switch (_linkback)
            {
            case 0:
                AddText("Our shop is famous for dyeing. If you want to have your equipment dyed, please wear them before you enter. You");
                AddText(" have a wide choice of colors. One meteor will be charged before you try the colors. Do you want a try?");
                AddOption("Yes, here is a meteor", 1);
                //AddOption("Do you have any good wine?", 2);
                AddOption("Never mind", 255);
                break;

            case 1:
                if (!_client.HasItem(Constants.METEOR_ID))
                {
                    AddText("You do not have the Meteor I requested.");
                    AddOption("Sorry", 255);
                }
                else
                {
                    _client.DeleteItem(Constants.METEOR_ID);
                    _client.ChangeMap(1008, 24, 24);
                    AddText("You can change your equipment's color as many times as you like while here.");
                    AddText(" When ready to leave just jump through the portal.");
                    AddOption("Understood", 255);
                }
                break;

            case 2:
                AddText("I can sell you DrunkCelestial wine for 1,000 silver if you would like.");
                AddOption("Yes please", 3);
                AddOption("No thanks", 255);
                break;

            case 3:
                if (_client.Money < 1000)
                {
                    AddText("You do not have the 1,000 silver required");
                    AddOption("Sorry", 255);
                }
                if (_client.Inventory.Count >= 40)
                {
                    AddText("Please make room in your inventory for the wine.");
                    AddOption("Sorry", 255);
                }
                else
                {
                    _client.Money -= 1000;
                    _client.CreateItem(722185);
                    AddText("Enjoy the wine, it's the finest in all the land!");
                    AddOption("I will!", 255);
                }
                break;
            }
            AddFinish();
            Send();
        }
Example #12
0
        public override void Run(Game_Server.Player _client, ushort _linkback)
        {
            Responses = new List <NpcDialogPacket>();
            AddAvatar();
            switch (_linkback)
            {
            case 0:
                if (GuildWar.CurrentWinner == _client.Guild && GuildWar.CurrentWinner != null && (MapManager.PullMapByID(1038).Search <SOB>(6702)).Life > 1)
                {
                    AddText("Your guild is currently Victorious. I can let you inside if you wish!");
                    AddOption("Let me in", 1);
                    AddOption("Open/Close the Gate", 2);
                    AddOption("No Thanks.", 255);
                }
                else if (GuildWar.CurrentWinner == _client.Guild && GuildWar.CurrentWinner != null && (MapManager.PullMapByID(1038).Search <SOB>(6702)).Life == 1)
                {
                    AddText("Your guild is currently Victorious. I can repair the gate if you wish.");
                    AddOption("Repair", 3);
                    AddOption("No Thanks.", 255);
                }
                break;

            case 1:

                if (GuildWar.CurrentWinner == _client.Guild && GuildWar.CurrentWinner != null)
                {
                    _client.ChangeMap(1038, 209, 177);
                }
                break;

            case 2:
                if (GuildWar.CurrentWinner == _client.Guild && GuildWar.CurrentWinner != null && _client.GuildRank == Enum.GuildRank.GuildLeader)
                {
                    GuildWar.ToggleRightGate();
                }
                else
                {
                    AddText("Sorry, you are not able to perform this action.");
                    AddOption("Thanks", 255);
                }
                break;

            case 3:
                if (GuildWar.CurrentWinner == _client.Guild && GuildWar.CurrentWinner != null && _client.GuildRank == Enum.GuildRank.GuildLeader)
                {
                    GuildWar.RepairRightGate();
                }
                else
                {
                    AddText("Sorry, you are not able to perform this action.");
                    AddOption("Thanks", 255);
                }
                break;
            }
            AddFinish();
            Send();
        }
Example #13
0
        public override void Run(Game_Server.Player _client, ushort _linkback)
        {
            Responses = new List <NpcDialogPacket>();
            AddAvatar();
            switch (_linkback)
            {
            case 0:
                AddText("Where are you heading for? I can teleport you anywhere for 100 silver.");
                AddOption("Twin City", 1);
                AddOption("Market", 2);
                AddOption("Just passing by.", 255);
                break;

            case 1:
                if (_client.Money >= 100)
                {
                    _client.Money -= 100;
                    _client.ChangeMap(1011, 12, 377);
                }
                else
                {
                    AddText("Sorry, you do not have 100 silver.");
                    AddOption("I see.", 255);
                }
                break;

            case 2:
                if (_client.Money >= 100)
                {
                    _client.Money -= 100;
                    _client.ChangeMap(1036, 212, 196);
                }
                else
                {
                    AddText("Sorry, you do not have 100 silver.");
                    AddOption("I see.", 255);
                }
                break;
            }
            AddFinish();
            Send();
        }
Example #14
0
        public override void Run(Game_Server.Player _client, ushort _linkback)
        {
            Responses = new List <NpcDialogPacket>();
            AddAvatar();
            switch (_linkback)
            {
            case 0:
                AddText("You cannot leave here unless you have paid for your crimes.");
                AddOption("Ok! Let me get out from here!", 2);
                AddOption("Any chance of a discount?", 5);
                AddOption("I would rather rot in hell!", 255);
                break;

            case 2:
                if (_client.Character.Pk < 30)
                {
                    AddText("Give me 1000 silver, I will teleport you there");
                    AddOption("Here are 1000 silver", 3);
                    AddOption("If so, I will stay here.", 255);
                    break;
                }

                else
                {
                    AddText("I am sorry you cannot leave here unless you have paid for your crimes.");
                    AddOption("I see..", 255);
                }
                break;

            case 3:

                if (_client.Money < 1000)
                {
                    AddText("Sorry, you do not have enough silver");
                    AddOption("I see.", 255);
                }
                else if (_client.Character.Pk < 30 && _client.Money >= 1000)
                {
                    AddText("I hope you have learned your lesson!");
                    AddOption("What? Where the hell am I...", 255);
                    _client.Money -= 1000;
                    _client.ChangeMap(1020, 513, 356);
                }
                break;


            case 5:
                AddText("Lets see hmm.. NO!");
                AddOption("oh..", 255);
                break;
            }
            AddFinish();
            Send();
        }
        public override void Run(Game_Server.Player _client, ushort _linkback)
        {
            Responses = new List <NpcDialogPacket>();
            AddAvatar();
            switch (_linkback)
            {
            case 0:
                AddText("Do you want to leave the market? I can teleport you for free.");
                AddOption("Yeah. Thanks", 1);
                AddOption("No. I shall stay here.", 255);
                break;

            case 1:
                _client.ChangeMap((ushort)_client.Character.Map);
                if (_client.Character.Map == 1036)
                {
                    _client.ChangeMap(1002);
                }
                break;
            }
            AddFinish();
            Send();
        }
Example #16
0
        public override void Run(Game_Server.Player _client, ushort _linkback)
        {
            Responses = new List <NpcDialogPacket>();
            AddAvatar();
            switch (_linkback)
            {
            case 0:
                if (_client.HasItem(721072))
                {
                    AddText("Can it be? Is that... YES!!! it's a SoulJade. I thought I would never see one of those. Please free me from this prision");
                    AddText("so I can join my family. I will give you this MoonBox I acquired before I died. Will you help me?");
                    AddOption("Yes, (use SoulJade)", 1);
                    AddOption("Sorry I cannoy help you yet", 255);
                }
                else
                {
                    AddText("You cannot help us without a SoulJade. Please leave here until you get one.");
                    AddOption("I will get one at once", 255);
                }
                break;

            case 1:

                if (_client.HasItem(721072))
                {
                    //tele player out of map
                    _client.ChangeMap(1002, 417, 516);

                    //remove the SoulJade
                    _client.DeleteItem(721072);

                    //Add MoonBox
                    _client.CreateItem(Constants.MOONBOX_ID);
                }
                else
                {
                    AddText("You cannot help us without a SoulJade. Please leave here until you get one.");
                    AddOption("I will get one at once", 255);
                }
                break;
            }
            AddFinish();
            Send();
        }
Example #17
0
        public override void Run(Game_Server.Player _client, ushort _linkback)
        {
            Responses = new List <NpcDialogPacket>();
            AddAvatar();
            switch (_linkback)
            {
            case 0:
            {
                AddText("I always have the worst luck...");
                AddOption("Sorry to hear that.", 255);
                AddOption("Let me try my luck..", 2);
                break;
            }

            case 2:
            {
                if (_client.CP >= 27)
                {
                    AddText("Are you sure you want to go to the Lottery Land?");
                    AddOption("Yes send me please!", 3);
                    AddOption("No this is a mistake", 255);
                    break;
                }
                else
                {
                    break;
                }
            }

            case 3:
            {
                if (_client.CP >= 27)
                {
                    _client.ChangeMap(700, 50, 50);
                    _client.CreateItem(710212, 1);
                    _client.CP -= 27;
                }
                break;
            }
            }

            AddFinish();
            Send();
        }
        public override void Run(Game_Server.Player _client, ushort _linkback)
        {
            Responses = new List <NpcDialogPacket>();
            AddAvatar();
            switch (_linkback)
            {
            case 0:
                AddText("Hello, I'm the lottery controller. I can teleport you out of this place if you wish.");
                AddOption("Yes, please.", 1);
                AddOption("I want to stay.", 255);
                break;

            case 1:
                _client.ChangeMap(1036, 215, 188);
                break;
            }
            AddFinish();
            Send();
        }
Example #19
0
        public override void Run(Game_Server.Player _client, ushort _linkback)
        {
            Responses = new List <NpcDialogPacket>();
            AddAvatar();
            switch (_linkback)
            {
            case 0:
                AddText("Do you want to leave this map? I can teleport you to back to Twin City.");
                AddOption("Yeah. Thanks", 1);
                AddOption("No. I shall stay here.", 255);
                break;

            case 1:
                _client.ChangeMap(1002);
                break;
            }
            AddFinish();
            Send();
        }
        public override void Run(Game_Server.Player _client, ushort _linkback)
        {
            Responses = new List <NpcDialogPacket>();
            AddAvatar();
            switch (_linkback)
            {
            case 0:
                AddText("This is the way to the Desert City. Although you are excellent, it is dangerous to go ahead.");
                AddOption("I want to go.", 1);
                AddOption("I think I will stay here", 255);
                break;

            case 1:
                _client.ChangeMap(1000, 971, 666);
                break;
            }
            AddFinish();
            Send();
        }
        public override void Run(Game_Server.Player _client, ushort _linkback)
        {
            Responses = new List <NpcDialogPacket>();
            AddAvatar();
            switch (_linkback)
            {
            case 0:
                AddText("What can I do for you?");
                AddOption("Enter the guild area.", 1);
                AddOption("Just passing by.", 255);
                break;

            case 1:
                _client.ChangeMap(1038, 350, 339);
                break;
            }
            AddFinish();
            Send();
        }
        public override void Run(Game_Server.Player _client, ushort _linkback)
        {
            Responses = new List <NpcDialogPacket>();
            AddAvatar();
            switch (_linkback)
            {
            case 0:
                AddText("Are you going to leave here?");
                AddOption("Yes.", 1);
                AddOption("No. Wait a moment", 255);
                break;

            case 1:
                _client.ChangeMap(1002);
                break;
            }
            AddFinish();
            Send();
        }
        public override void Run(Game_Server.Player _client, ushort _linkback)
        {
            Responses = new List <NpcDialogPacket>();
            AddAvatar();
            switch (_linkback)
            {
            case 0:
                AddText("Although nothing will be consumed here, you cannot level up as fast as");
                AddText(" killing the monsters. Shall I teleport you out?");
                AddOption("Yeah, please.", 1);
                AddOption("No, thanks.", 255);
                break;

            case 1:
                _client.ChangeMap((ushort)_client.Character.Map);
                break;
            }
            AddFinish();
            Send();
        }
        public override void Run(Game_Server.Player _client, ushort _linkback)
        {
            Responses = new List <NpcDialogPacket>();
            AddAvatar();
            switch (_linkback)
            {
            case 0:
                AddText("Hello, I am the assistant of the mine union.");
                AddText("If you want to enter the mine cave, I can send you.");
                AddOption("Yes Please", 1);
                AddOption("Just passing by.", 255);
                break;

            case 1:
                _client.ChangeMap(1028, 155, 94);
                break;
            }
            AddFinish();
            Send();
        }
Example #25
0
        public override void Run(Game_Server.Player _client, ushort _linkback)
        {
            Responses = new List <NpcDialogPacket>();
            AddAvatar();
            switch (_linkback)
            {
            case 0:
                if (_client.Character.Spouse == "None")
                {
                    AddText("Hello Traveller. Sometimes Life can be hard and you need to relax and forget about everything. ");
                    AddOption("Nothing Works", 3);
                    AddOption("Good Bye!", 255);
                }
                break;

            case 1:
                AddText("The Lover's Land. It is said that this is the land where lovers bind their Love for eternity! On your mark..");
                AddOption("Send me!", 2);
                AddOption("Not now..", 255);
                break;

            case 2:
                _client.ChangeMap(1100, 90, 52);
                AddText("Safe Travels");
                AddOption("Thanks!", 255);


                break;

            case 3:
                if (_client.Character.Spouse == "None")
                {
                    AddText("Dont worry traveller, everything will work just fine. Go see what the stars have to say..");
                    AddOption("Send me!", 2);
                    AddOption("No i have better thins to do!", 255);
                }
                break;
            }
            AddFinish();
            Send();
        }
Example #26
0
        public override void Run(Game_Server.Player _client, ushort _linkback)
        {
            Responses = new List <NpcDialogPacket>();
            AddAvatar();
            switch (_linkback)
            {
            /*case 0:
             *  AddText("The lottery system is currently under development. Please be patient!");
             *  AddOption("Okay, I'll wait.", 255);
             *  break;*/
            case 0:
                AddText("Hello! Have you heard about the lottery? We have amazing");
                AddText(" rewards waiting for you! All you need is 1 lottery ticket.");
                AddText(" Each lottery ticket only costs 215 CPs.");
                AddOption("Let me try my luck!", 2);
                AddOption("Buy 1 Lottery Ticket (215 CPs)", 1);
                AddOption("Buy 10 Lottery Tickets (2150 CPs)", 10);
                AddOption("No thanks.", 255);
                break;

            case 2:
                _client.ChangeMap(700, 40, 49);
                break;

            case 1:
            case 10:
                if (_client.CP >= _linkback * 215)
                {
                    _client.CP -= (uint)(_linkback * 215);
                    for (int i = 0; i < _linkback; i++)
                    {
                        _client.CreateItem(710212);
                    }
                }
                break;
            }
            AddFinish();
            Send();
        }
        public override void Run(Game_Server.Player _client, ushort _linkback)
        {
            Responses = new List <NpcDialogPacket>();
            AddAvatar();
            switch (_linkback)
            {
            case 0:
                if ((DateTime.Now.Minute == 0 || DateTime.Now.Minute == 30) && GuildWar.Running == true)
                {
                    AddText("It is time for Pardon! I can let you out if ou wish");
                    AddText("");
                    AddOption("Let me out!", 1);
                    AddOption("No Thanks.", 255);
                }
                else if (GuildWar.Running == false)
                {
                    AddText("It is time for Pardon! I can let you out if ou wish");
                    AddText("");
                    AddOption("Let me out!", 1);
                    AddOption("No Thanks.", 255);
                }
                else
                {
                    AddText("It is not time for Pardon! There is a pardon every 30 minutes while Guild War is running.");
                    AddText("");
                    AddOption("I will wait", 255);
                }

                break;

            case 1:
                _client.ChangeMap(1002, 430, 380);
                break;
            }
            AddFinish();
            Send();
        }
Example #28
0
        public override void Run(Game_Server.Player _client, ushort _linkback)
        {
            Responses = new List <NpcDialogPacket>();
            AddAvatar();
            switch (_linkback)
            {
            case 0:
            {
                AddText("Do you want to leave this map? I can teleport you for free.");
                AddOption("Yeah. Thanks.", 1);
                AddOption("No , I shall stay here.", 255);

                break;
            }

            case 1:
            {
                _client.ChangeMap(1002, 429, 378);
                break;
            }
            }
            AddFinish();
            Send();
        }
Example #29
0
        public override void Run(Game_Server.Player _client, ushort _linkback)
        {
            Responses = new List <NpcDialogPacket>();
            AddAvatar();
            switch (_linkback)
            {
            case 0:
            {
                AddText("If you aren't an evildoer, you can leave here.");
                AddOption("Let me out of here!", 1);
                AddOption("I see.", 255);
                break;
            }

            case 1:
                if (_client.PK >= 100)
                {
                    AddText("No, you will stay here until you have regretted your sins or you can do some work and mine some gold ores.");
                    AddText("Mine 5 Gold Ores with a rate of 4 or higher and I will let you leave.");
                    AddOption("Lend me a hoe please.", 3);
                    AddOption("I have the ores.", 4);
                    AddOption("I see.", 255);
                    break;
                }
                else
                {
                    _client.ChangeMap(1002, 512, 355);
                    break;
                }

            case 3:
            {
                if (_client.HasItem(562001, 1))         // Check if the client has a Hoe in his/her inventory.
                {
                    AddText("You already have a Hoe. I cannot give you another one.");
                    AddOption("I see.", 255);
                    break;
                }
                else
                {
                    if (!_client.HasItem(562001, 1))         // Second check. If a player does not have a Hoe, give them one. :)
                    {
                        _client.CreateItem(562001);
                    }
                    break;
                }
            }

            case 4:
                var GoldOres =                                              // "GoldOres" Cursor.
                               from Item                                    // "Item" Secondary cursor refers to _client.Inventory.Values
                               in _client.Inventory.Values                  // That's where you need the Secondary cursor to point.
                               where Item.StaticID / 10 == 107205           // Secondary cursor.StaticID for the item you have to put in the item ID without the quality 10 == refers to the quality.
                               where Item.StaticID % 10 >= 3                // "% 10 >= 3" refers to the quality.
                               select Item;                                 // Every Query Link should end up with the "select" then secondary cursor.

                if (GoldOres.Count() >= 5)
                {
                    for (var i = 0; i < 5; i++)                             // Start our loop for removing the Ores
                    {
                        _client.DeleteItem(GoldOres.ElementAt(i));          // Now actually remove the ores.
                    }
                    _client.ChangeMap(1002, 512, 355);
                    break;
                }
                else
                {
                    AddText("Don't try to fool me! You do not have 5 Gold Ores of rate 4 or higher!");
                    AddOption("Sorry! I'll get back to work.", 255);
                    break;
                }
            }
            AddFinish();
            Send();
        }
        public override void Run(Game_Server.Player _client, ushort _linkback)
        {
            Responses = new List <NpcDialogPacket>();
            AddAvatar();
            switch (_linkback)
            {
            case 0:
                AddText("Where are you heading for? I can teleport you into an dark place full of caves and strong monsters for  VirtuePoints .");
                AddText("Make sure to gather all diamonds dropped by monsters as I will reward you nicely for them !");
                AddOption("Send me! (2000 VPs)", 1);
                AddOption("Send me! (50 CPs)", 10);
                AddOption("I have some diamonds", 5);
                AddOption("Just passing by.", 255);
                break;

            case 1:    //lab1
                if (_client.VirtuePoints >= 2000)
                {
                    _client.VirtuePoints -= 2000;
                    _client.ChangeMap(1351, 14, 126);
                }
                else
                {
                    AddText("Sorry, you do not have enough VirtuePoints to enter, ");
                    AddText("but I can send you for 50 Conquer Points instead.");
                    AddOption("I see.", 255);
                }
                break;

            case 5:
                AddText("What diamonds you wish to exchange?");
                AddOption("15 SunDiamonds", 6);
                AddOption("12 MoonDiamonds", 7);
                AddOption("12 StarDiamonds", 8);
                AddOption("10 CloudDiamonds", 9);
                AddOption("Just passing by.", 255);
                break;

            case 6:
                if (_client.HasItem(721533, 15))
                {
                    for (var i = 0; i < 15; i++)
                    {
                        _client.DeleteItem(721533);
                    }
                    _client.CreateItem(720027);
                }
                else
                {
                    AddText("Sorry, you do not have enough diamonds!");
                    AddOption("I see.", 255);
                }
                break;

            case 7:
                if (_client.HasItem(721534, 12))
                {
                    for (var i = 0; i < 12; i++)
                    {
                        _client.DeleteItem(721534);
                    }
                    _client.CreateItem(720027);
                    _client.Money += 250000;
                }
                else
                {
                    AddText("Sorry, you do not have enough diamonds!");
                    AddOption("I see.", 255);
                }
                break;

            case 8:
                if (_client.HasItem(721535, 12))
                {
                    for (var i = 0; i < 12; i++)
                    {
                        _client.DeleteItem(721535);
                    }
                    _client.CreateItem(720027);
                    _client.Money += 500000;
                }
                else
                {
                    AddText("Sorry, you do not have enough diamonds!");
                    AddOption("I see.", 255);
                }
                break;

            case 9:
                if (_client.HasItem(721536, 10))
                {
                    for (var i = 0; i < 10; i++)
                    {
                        _client.DeleteItem(721536);
                    }
                    _client.CreateItem(721541);
                    _client.Money += 1000000;
                }
                else
                {
                    AddText("Sorry, you do not have enough diamonds!");
                    AddOption("I see.", 255);
                }
                break;

            case 10:
                if (_client.CP >= 50)
                {
                    _client.CP -= 50;
                    _client.ChangeMap(1351, 14, 126);
                }
                else
                {
                    AddText("Sorry, you do not have enough Conquer Points to enter.");
                    AddOption("I see.", 255);
                }
                break;
            }
            AddFinish();
            Send();
        }