public override void Run(Game_Server.Player _client, ushort _linkback) { Responses = new List <NpcDialogPacket>(); AddAvatar(); switch (_linkback) { case 0: AddText("I can help you find a new hairstyle just for you! Only 1,00 silver to re-invent yourself."); AddOption("Cut my Hair", 1); AddOption("Just passing by.", 255); break; case 1: if (_client.Money >= 1000) { _client.Money -= 1000; _client.Hair = (ushort)((_client.HairColour * 100) + Common.Random.Next(30, 51)); AddText("Perfection! I hope you enjoy your new haircut. Come back any time if you wish to change it again."); } else { AddText("I'm sorry, you do not have the 1000 silver required for my services."); } AddOption("Thanks", 255); break; } AddFinish(); Send(); }
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("The fate brings lover together. I hope that all can get married and live happily with their lover. What can I do for you?"); AddOption("I would like to get married please.", 1); AddOption("Just passing by.", 255); break; case 1: if (_client.Spouse == "None") { _client.Send(GeneralActionPacket.Create(_client.UID, Enum.DataAction.OpenCustom, 1067)); } else { AddText("I am sorry i cannot allow more than one marriage..."); 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: 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: 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(); }
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("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(); }
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(); }
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(); }
/// <summary> /// Handles NPC usage for [1337] Welcomer /// </summary> public NPC_1337(Game_Server.Player _client) : base(_client) { ID = 1337; Face = 1; var v = _client; }
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("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(); }
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(); }
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("If you have more rare items then you know what to do with, I can help you pack them!"); AddOption("Pack Meteors", 1); AddOption("Pack DragonBalls", 2); AddOption("I don't have that problem.", 255); break; case 1: if (!_client.HasItem(Constants.METEOR_ID, 10)) { AddText("Fool! You need 10 Meteors if you want me to help you pack them."); AddOption("I'm sorry!", 255); } else { for (var i = 0; i < 10; i++) { _client.DeleteItem(Constants.METEOR_ID); } _client.CreateItem(Constants.METEOR_SCROLL_ID); AddText("It is done. Enjoy your MeteorScroll."); AddOption("Wow, thanks!", 255); } break; case 2: if (!_client.HasItem(Constants.DRAGONBALL_ID, 10)) { AddText("Fool! You need 10 DragonBalls if you want me to help you pack them."); AddOption("I'm sorry!", 255); } else { for (var i = 0; i < 10; i++) { _client.DeleteItem(Constants.DRAGONBALL_ID); } _client.CreateItem(Constants.DB_SCROLL_ID); AddText("It is done. Enjoy your DBScroll."); AddOption("Wow, thanks!", 255); } break; } AddFinish(); Send(); }
public override void Run(Game_Server.Player _client, ushort _linkback) { Responses = new List <NpcDialogPacket>(); AddAvatar(); switch (_linkback) { case 0: _client.Send(OfflineInfoPacket.Create(_client)); break; } AddFinish(); Send(); }
public override void Run(Game_Server.Player _client, ushort _linkback) { Responses = new List <NpcDialogPacket>(); AddAvatar(); switch (_linkback) { case 0: AddText("Hi, I can offer you a variety of hairstyles. Would you like to make a payment of 500 silvers to change your hairstyle?"); AddOption("Yes, Nostalgic styles.", 1); AddOption("Just passing by.", 255); break; case 1: AddText("Please choose a desired HairStyle below:"); AddOption("~Nostalgic 1~", 11); AddOption("~Nostalgic 2~", 12); AddOption("~Nostalgic 3~", 13); AddOption("~Nostalgic 4~", 14); AddOption("~Nostalgic 5~", 15); AddOption("~Nostalgic 6~", 16); AddOption("~Nostalgic 7~", 17); AddOption("Not interested.", 255); break; case 11: case 12: case 13: case 14: case 15: case 16: case 17: { if (_client.Money >= 500) { _client.Money -= 500; _client.Hair = (ushort)((Math.Floor((decimal)(_client.Hair / 100)) * 100) + _linkback); _client.Send(new UpdatePacket(_client.UID, UpdateType.Hair, _client.Hair)); AddText("There you go, your 'Nostalgic' hairstyle as requested."); AddOption("Thank you.", 255); } else { AddText("Please come back when you have 500 Silvers."); 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("I always have the worst luck..."); AddOption("Sorry to hear that.", 255); break; } AddFinish(); Send(); }
public override void Run(Game_Server.Player _client, ushort _linkback) { Responses = new List <NpcDialogPacket>(); AddAvatar(); switch (_linkback) { case 0: { AddText("I can give you 1 PureVigor for 3 ImpureVigors or i give you one SquamaBead for 3 PureVigor"); AddOption("PureVigors", 1); AddOption("SquamaBead", 2); AddOption("This is messed up..", 255); break; } case 1: { if (_client.Inventory.Count <= 39 && _client.HasItem(722730, 3)) { _client.DeleteItem(722730); _client.CreateItem(722731); _client.Save(); } else { AddText("You either do not have enough required material or inventory space!"); AddOption("I see..", 255); } break; } case 2: { if (_client.Inventory.Count <= 39 && _client.HasItem(722731, 3)) { _client.DeleteItem(722731); _client.CreateItem(722727); } else { AddText("You either do not have enough required material or inventory space!"); 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("You can exchange 1 VigorFragment for 3 ImmortalStones or 1 ImpureVigor for 3 VigorFragments"); AddOption("VigorFragments", 1); AddOption("ImpureVigor", 2); AddOption("I will not trade anything.", 255); break; } case 1: { if (_client.Inventory.Count <= 39 && _client.HasItem(722728, 3)) { _client.DeleteItem(722728); _client.CreateItem(722729); } else { AddText("Seems that you don't have enough space in inventory or you dont have required materials!"); AddOption("I see..", 255); } break; } case 2: { if (_client.Inventory.Count <= 39 && _client.HasItem(722729, 3)) { _client.DeleteItem(722728); _client.CreateItem(722730); _client.Save(); } else { AddText("You don't have enough space in inventory or you dont have required materials!"); 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("I am so sorry to tell you that you are in the Death Tatic. There is no way to leave this place besides death."); AddOption("Oh my", 255); break; } AddFinish(); Send(); }
public override void Run(Game_Server.Player _client, ushort _linkback) { Responses = new List <NpcDialogPacket>(); AddAvatar(); switch (_linkback) { case 0: AddText("I am so sorry but I cannot help you. You must die like i did in this tatic."); AddOption("Oh my", 255); break; } AddFinish(); Send(); }
public override void Run(Game_Server.Player _client, ushort _linkback) { Responses = new List <NpcDialogPacket>(); AddAvatar(); switch (_linkback) { case 0: AddText("Hello, are you satisfield with your stature? I can change your body size for 1 DragonBall."); AddText("Would you like to change it?"); AddOption("Yeah.", 1); AddOption("No.", 255); break; case 1: AddText("Are you sure you want to do this?"); AddOption("Yes.", 2); AddOption("I changed my mind.", 255); break; case 2: if (_client.HasItem(1088000)) { _client.DeleteItem(1088000); if (_client.Lookface % 2 == 0) { _client.Lookface--; } else { _client.Lookface++; } _client.Character.Lookface = _client.Lookface; _client.Save(); AddText("There you go. I hope you are satisfied now!"); AddOption("Thanks!", 255); _client.Save(); } else { AddText("You don't have 1 DragonBall."); 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: AddText("Welcome to the Redux public beta! Commands are enabled for all players to test content. "); AddText("Please use the /report command to log bugs or missing features so we can finish the server quickly!"); AddOption("Thanks", 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 have entered the Deserted Tatic. If you have not already, kill the monsters until you get a CommandToken. That is the "); AddText("only way you can leave this awful place. Good luck adventurer."); AddOption("Thanks", 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(721000)) { AddText("My sister is in Bird Island. She fell in love with Joe there. Since Joe left her with no news, she stays there to wait for him."); AddOption("I see.", 255); } else { AddText("I cannot get near you now. You have got me going crazy. Wherever you go, whatever you do, I will be right here waiting for you."); AddOption("Why are you so sad?", 1); AddOption("I got to go.", 255); } break; case 1: AddText("My sister taught me that song, Her lover, Joe, is a brave and kind man. All said they make a good couple, but he left her."); AddOption("What a pity.", 2); AddOption("Another old love story.", 255); break; case 2: AddText("My sister believes that Joe still loves her. She stays in Bird Island waiting for him. Can you take my letter to her?"); AddOption("OK. I shall visit her.", 3); AddOption("Just passing by.", 255); break; case 3: if (_client.Inventory.Count < 40) { _client.CreateItem(721000); } else { AddText("Your inventory is full, please leave a slot to take this letter."); AddOption("Ok.", 255); break; } break; } AddFinish(); Send(); }
public override void Run(Game_Server.Player _client, ushort _linkback) { Responses = new List <NpcDialogPacket>(); AddAvatar(); switch (_linkback) { case 0: AddText("Welcome to the 'LostConquerRedux' test server! Commands are enabled for all players to test content. "); AddText("Please use the /report command to log bugs or missing features so we can finish the server "); AddText("and ensure that we have the most complete and immersive experience possible."); AddOption("Thanks", 255); break; } AddFinish(); Send(); }
public override void Run(Game_Server.Player _client, ushort _linkback) { /* * Responses = new List<NpcDialogPacket>(); * AddAvatar(); * switch (_linkback) * { * case 0: * AddText("I can help you turn DragonBalls into CP."); * AddOption("DragonBall (4.000 CP)", 1); * AddOption("DBScroll (40.000 CP)", 2); * AddOption("No thank you.", 255); * break; * case 1: * if (_client.HasItem(1088000)) * { * _client.DeleteItem(1088000); * _client.CP += 4000; * AddText("It is finished. Enjoy your Conquer Points."); * AddOption("Thanks.", 255); * } * else * { * AddText("I will not be so easily fooled. You do not have a DragonBall to trade!"); * AddOption("Sorry.", 255); * } * break; * case 2: * if (_client.HasItem(720028)) * { * _client.DeleteItem(720028); * _client.CP += 40000; * AddText("It is finished. Enjoy your Conquer Points."); * AddOption("Thanks.", 255); * } * else * { * AddText("I will not be so easily fooled. You do not have a DBScroll to trade!"); * AddOption("Sorry.", 255); * } * break; * } * AddFinish(); * Send(); */ }