First is the SurgeonMiracle NPC to change size/gender for one dragonball.
In Dialogs.cs
Code:
#region SurgeonMiracle
case 111812:
{
switch (npcRequest.OptionID)
{
case 0:
{
dialog.Text("Do you want to have your size changed so that you can become much more");
dialog.Text(" adorable? Now here is a precious chance for you.");
dialog.Option("I want to change my size.", 1);
dialog.Option("I want to change my gender.", 2);
dialog.Option("I don't want to change.", 255);
dialog.Send();
break;
}
case 1:
{
dialog.Text("If you pay me one dragonball, I can have your size changed. You will become");
dialog.Text("more attractive and start a fresh life. By the way, to avoid some unexpected");
dialog.Text("things, make sure you are not in any disguise form.");
dialog.Option("Here is a dragonball.", 3);
dialog.Option("I have no dragonball.", 255);
dialog.Send();
break;
}
case 2:
{
dialog.Text("If you pay me one dragonball, I can have your gender changed. You will become");
dialog.Text("more attractive and start a fresh life. By the way, to avoid some unexpected");
dialog.Text("things, make sure you are not in any disguise form.");
dialog.Option("Here is a dragonball.", 4);
dialog.Option("I have no dragonball.", 255);
dialog.Send();
break;
}
case 3:
{
if (client.Inventory.Contains(1088000, 1))
{
client.Inventory.Remove(1088000, 1);
client.Equipment.Remove(9);
int Model = (int)client.Entity.Body % 10;
switch (Model)
{
case 2:
case 4:
client.Entity.Body--;
break;
case 1:
case 3:
client.Entity.Body++;
break;
}
client.Send(new Message("Your size has been changed.", System.Drawing.Color.BurlyWood, Message.TopLeft));
EntityTable.SaveEntity(client);
client.Inventory.Remove(1088000, 1);
client.Equipment.Remove(9);
break;
}
else
{
dialog.Text("Sorry, there is no dragonball in your inventory. I can't have your size changed.");
dialog.Option("Ok, Sorry.", 255);
dialog.Send();
}
break;
}
case 4:
{
if (client.Inventory.Contains(1088000, 1))
{
client.Inventory.Remove(1088000, 1);
client.Equipment.Remove(9);
int Model = (int)client.Entity.Body % 10;
switch (Model)
{
case 3:
case 4:
client.Entity.Body -= 2;
break;
case 1:
case 2:
client.Entity.Body += 2;
break;
}
client.Send(new Message("Your gender has been changed.", System.Drawing.Color.BurlyWood, Message.TopLeft));
EntityTable.SaveEntity(client);
break;
}
else
{
dialog.Text("Sorry, there is no dragonball in your inventory. I can't have your size changed.");
dialog.Option("Ok, Sorry.", 255);
dialog.Send();
}
}
break;
}
break;
}
#endregion
In Dialogs.cs
Code:
#region CPAdmin
case 111816:
{
switch (npcRequest.OptionID)
{
case 0:
{
dialog.Text("Greetings, here you can exchange either a Dragonball or a DragonScroll for cps. ");
dialog.Text("One Dragonball will get you 215 cps and a DragonScroll will get you 2150. ");
dialog.Text("What would you like to trade? Or would you rather not?");
dialog.Option("Dragonball", 1);
dialog.Option("DragonScroll", 2);
dialog.Option("I'll just leave", 255);
dialog.Send();
break;
}
case 1:
{
lock (client.Inventory)
{
if (client.Inventory.Contains(1088000, 1))
{
client.Inventory.Remove(1088000, 1);
client.Entity.ConquerPoints += 215;
}
else
{
dialog.Text("You do not have a Dragonball");
dialog.Send();
}
break;
}
}
case 2:
{
lock (client.Inventory)
{
if (client.Inventory.Contains(721511, 1))
{
client.Inventory.Remove(721511, 1);
client.Entity.ConquerPoints += 2150;
}
else
{
dialog.Text("You do not have a DragonPack");
dialog.Send();
}
break;
}
}
}
break;
}
#endregion
In Dialogs.cs
Code:
#region Tinter
case 11191:
{
switch (npcRequest.OptionID)
{
case 0:
{
dialog.Text("I can dye your armor or your headgear. Care to get started?");
dialog.Option("Armor", 1);
dialog.Option("Headgear", 2);
dialog.Option("I'll just leave", 255);
dialog.Send();
break;
}
case 1:
{
dialog.Text("What color armor would like sir?");
dialog.Option("White", 4);
dialog.Option("Purple", 5);
dialog.Option("Orange", 6);
dialog.Option("Light Blue", 7);
dialog.Option("Blue", 8);
dialog.Option("Red", 9);
dialog.Option("Yellow", 10);
dialog.Send();
break;
}
case 4:
{
IConquerItem armor = client.Equipment.TryGetItem(3);
if (armor != null && armor.ID != 0)
{
armor.Color = Conquer_Online_Server.Game.Enums.Color.White;
armor.Mode = Conquer_Online_Server.Game.Enums.ItemMode.Update;
armor.Send(client);
armor.Mode = Conquer_Online_Server.Game.Enums.ItemMode.Default;
}
else
{
dialog.Text("Your not wearing any armor right now. Therefore, I can't do anything.");
dialog.Option("Ah alright.", 255);
dialog.Send();
}
break;
}
case 5:
{
IConquerItem armor = client.Equipment.TryGetItem(3);
if (armor != null && armor.ID != 0)
{
armor.Color = Conquer_Online_Server.Game.Enums.Color.Purple;
armor.Mode = Conquer_Online_Server.Game.Enums.ItemMode.Update;
armor.Send(client);
armor.Mode = Conquer_Online_Server.Game.Enums.ItemMode.Default;
}
else
{
dialog.Text("Your not wearing any armor right now. Therefore, I can't do anything.");
dialog.Option("Ah alright.", 255);
dialog.Send();
}
break;
}
case 6:
{
IConquerItem armor = client.Equipment.TryGetItem(3);
if (armor != null && armor.ID != 0)
{
armor.Color = Conquer_Online_Server.Game.Enums.Color.Orange;
armor.Mode = Conquer_Online_Server.Game.Enums.ItemMode.Update;
armor.Send(client);
armor.Mode = Conquer_Online_Server.Game.Enums.ItemMode.Default;
}
else
{
dialog.Text("Your not wearing any armor right now. Therefore, I can't do anything.");
dialog.Option("Ah alright.", 255);
dialog.Send();
}
break;
}
case 7:
{
IConquerItem armor = client.Equipment.TryGetItem(3);
if (armor != null && armor.ID != 0)
{
armor.Color = Conquer_Online_Server.Game.Enums.Color.LightBlue;
armor.Mode = Conquer_Online_Server.Game.Enums.ItemMode.Update;
armor.Send(client);
armor.Mode = Conquer_Online_Server.Game.Enums.ItemMode.Default;
}
else
{
dialog.Text("Your not wearing any armor right now. Therefore, I can't do anything.");
dialog.Option("Ah alright.", 255);
dialog.Send();
}
break;
}
case 8:
{
IConquerItem armor = client.Equipment.TryGetItem(3);
if (armor != null && armor.ID != 0)
{
armor.Color = Conquer_Online_Server.Game.Enums.Color.Blue;
armor.Mode = Conquer_Online_Server.Game.Enums.ItemMode.Update;
armor.Send(client);
armor.Mode = Conquer_Online_Server.Game.Enums.ItemMode.Default;
}
else
{
dialog.Text("Your not wearing any armor right now. Therefore, I can't do anything.");
dialog.Option("Ah alright.", 255);
dialog.Send();
}
break;
}
case 9:
{
IConquerItem armor = client.Equipment.TryGetItem(3);
if (armor != null && armor.ID != 0)
{
armor.Color = Conquer_Online_Server.Game.Enums.Color.Red;
armor.Mode = Conquer_Online_Server.Game.Enums.ItemMode.Update;
armor.Send(client);
armor.Mode = Conquer_Online_Server.Game.Enums.ItemMode.Default;
}
else
{
dialog.Text("Your not wearing any armor right now. Therefore, I can't do anything.");
dialog.Option("Ah alright.", 255);
dialog.Send();
}
break;
}
case 10:
{
IConquerItem armor = client.Equipment.TryGetItem(3);
if (armor != null && armor.ID != 0)
{
armor.Color = Conquer_Online_Server.Game.Enums.Color.Yellow;
armor.Mode = Conquer_Online_Server.Game.Enums.ItemMode.Update;
armor.Send(client);
armor.Mode = Conquer_Online_Server.Game.Enums.ItemMode.Default;
}
else
{
dialog.Text("Your not wearing any armor right now. Therefore, I can't do anything.");
dialog.Option("Ah alright.", 255);
dialog.Send();
}
break;
}
case 2:
{
dialog.Text("What color armor would like sir?");
dialog.Option("White", 11);
dialog.Option("Purple", 12);
dialog.Option("Orange", 13);
dialog.Option("Light Blue", 14);
dialog.Option("Blue", 15);
dialog.Option("Red", 16);
dialog.Option("Yellow", 17);
dialog.Send();
break;
}
case 11:
{
IConquerItem headgear = client.Equipment.TryGetItem(1);
if (headgear != null && headgear.ID != 0)
{
headgear.Color = Conquer_Online_Server.Game.Enums.Color.White;
headgear.Mode = Conquer_Online_Server.Game.Enums.ItemMode.Update;
headgear.Send(client);
headgear.Mode = Conquer_Online_Server.Game.Enums.ItemMode.Default;
}
else
{
dialog.Text("Your not wearing any armor right now. Therefore, I can't do anything.");
dialog.Option("Ah alright.", 255);
dialog.Send();
}
break;
}
case 12:
{
IConquerItem headgear = client.Equipment.TryGetItem(1);
if (headgear != null && headgear.ID != 0)
{
headgear.Color = Conquer_Online_Server.Game.Enums.Color.Purple;
headgear.Mode = Conquer_Online_Server.Game.Enums.ItemMode.Update;
headgear.Send(client);
headgear.Mode = Conquer_Online_Server.Game.Enums.ItemMode.Default;
}
else
{
dialog.Text("Your not wearing any armor right now. Therefore, I can't do anything.");
dialog.Option("Ah alright.", 255);
dialog.Send();
}
break;
}
case 13:
{
IConquerItem headgear = client.Equipment.TryGetItem(1);
if (headgear != null && headgear.ID != 0)
{
headgear.Color = Conquer_Online_Server.Game.Enums.Color.Orange;
headgear.Mode = Conquer_Online_Server.Game.Enums.ItemMode.Update;
headgear.Send(client);
headgear.Mode = Conquer_Online_Server.Game.Enums.ItemMode.Default;
}
else
{
dialog.Text("Your not wearing any armor right now. Therefore, I can't do anything.");
dialog.Option("Ah alright.", 255);
dialog.Send();
}
break;
}
case 14:
{
IConquerItem headgear = client.Equipment.TryGetItem(1);
if (headgear != null && headgear.ID != 0)
{
headgear.Color = Conquer_Online_Server.Game.Enums.Color.LightBlue;
headgear.Mode = Conquer_Online_Server.Game.Enums.ItemMode.Update;
headgear.Send(client);
headgear.Mode = Conquer_Online_Server.Game.Enums.ItemMode.Default;
}
else
{
dialog.Text("Your not wearing any armor right now. Therefore, I can't do anything.");
dialog.Option("Ah alright.", 255);
dialog.Send();
}
break;
}
case 15:
{
IConquerItem headgear = client.Equipment.TryGetItem(1);
if (headgear != null && headgear.ID != 0)
{
headgear.Color = Conquer_Online_Server.Game.Enums.Color.Blue;
headgear.Mode = Conquer_Online_Server.Game.Enums.ItemMode.Update;
headgear.Send(client);
headgear.Mode = Conquer_Online_Server.Game.Enums.ItemMode.Default;
}
else
{
dialog.Text("Your not wearing any armor right now. Therefore, I can't do anything.");
dialog.Option("Ah alright.", 255);
dialog.Send();
}
break;
}
case 16:
{
IConquerItem headgear = client.Equipment.TryGetItem(1);
if (headgear != null && headgear.ID != 0)
{
headgear.Color = Conquer_Online_Server.Game.Enums.Color.Red;
headgear.Mode = Conquer_Online_Server.Game.Enums.ItemMode.Update;
headgear.Send(client);
headgear.Mode = Conquer_Online_Server.Game.Enums.ItemMode.Default;
}
else
{
dialog.Text("Your not wearing any armor right now. Therefore, I can't do anything.");
dialog.Option("Ah alright.", 255);
dialog.Send();
}
break;
}
case 17:
{
IConquerItem headgear = client.Equipment.TryGetItem(1);
if (headgear != null && headgear.ID != 0)
{
headgear.Color = Conquer_Online_Server.Game.Enums.Color.Yellow;
headgear.Mode = Conquer_Online_Server.Game.Enums.ItemMode.Update;
headgear.Send(client);
headgear.Mode = Conquer_Online_Server.Game.Enums.ItemMode.Default;
}
else
{
dialog.Text("Your not wearing any armor right now. Therefore, I can't do anything.");
dialog.Option("Ah alright.", 255);
dialog.Send();
}
break;
}
}
break;
}
#endregion
it uses the helpdesk npc in tc
In Dialogs.cs above
Code:
public static ISkill LearnableSpell(ushort spellid)
Code:
public static IConquerItem AwardItem(uint itemid, GameState Client)
{
IConquerItem item = new ConquerItem(true);
item.ID = itemid;
item.Bless = 7;
item.Color = (Conquer_Online_Server.Game.Enums.Color)Kernel.Random.Next(4, 8);
item.Enchant = 255;
item.UID = ConquerItem.ItemUID.Next;
item.Plus = 12;
item.SocketOne = (Enums.Gem)13;
item.SocketTwo = (Enums.Gem)13;
ConquerItemInformation iteminfos = new ConquerItemInformation(item.ID, item.Plus);
item.Durability = item.MaximDurability = iteminfos.BaseInformation.Durability;
Client.Inventory.Add(item, Enums.ItemUse.Add);
EntityTable.SaveEntity(Client);
return item;
}
Code:
#region HelpDesk
case 12111:
{
switch (npcRequest.OptionID)
{
case 0:
{
dialog.Text("What free item would you like?");
dialog.Option("BuriedBlade", 1);
dialog.Option("Blizzard", 2);
dialog.Option("Thunder", 3);
dialog.Option("MagicCoronet", 4);
dialog.Option("CrystalEarrings", 5);
dialog.Option("Tornado", 6);
dialog.Option("KingsClub", 7);
dialog.Option("KingofSword", 8);
dialog.Send();
break;
}
case 1:
{
if (client.Inventory.Count < 40)
{
AwardItem(410339, client);
break;
}
else
{
client.Send(Constants.FullInventory);
break;
}
}
case 2:
{
if (client.Inventory.Count < 40)
{
AwardItem(160249, client);
break;
}
else
{
client.Send(Constants.FullInventory);
break;
}
}
case 3:
{
if (client.Inventory.Count < 40)
{
AwardItem(150249, client);
break;
}
else
{
client.Send(Constants.FullInventory);
break;
}
}
case 4:
{
if (client.Inventory.Count < 40)
{
AwardItem(118109, client);
break;
}
else
{
client.Send(Constants.FullInventory);
break;
}
}
case 5:
{
if (client.Inventory.Count < 40)
{
AwardItem(117099, client);
break;
}
else
{
client.Send(Constants.FullInventory);
break;
}
}
case 6:
{
if (client.Inventory.Count < 40)
{
AwardItem(120249, client);
break;
}
else
{
client.Send(Constants.FullInventory);
break;
}
}
case 7:
{
if (client.Inventory.Count < 40)
{
AwardItem(480339, client);
break;
}
else
{
client.Send(Constants.FullInventory);
break;
}
}
case 8:
{
if (client.Inventory.Count < 40)
{
AwardItem(420339, client);
break;
}
else
{
client.Send(Constants.FullInventory);
break;
}
}
}
break;
}
#endregion
Code:
#region MillionaireLee
case 111811:
{
switch (npcRequest.OptionID)
{
case 0:
{
dialog.Text("Hello, I can take your meteors and dragonballs and pack them for you. ");
dialog.Text("Did I mention my services are free?");
dialog.Option("Pack my meteors.", 1);
dialog.Option("Pack my dragonballs.", 2);
dialog.Option("I'd rather leave", 255);
dialog.Send();
break;
}
case 1:
{
lock (client.Inventory)
{
if (client.Inventory.Contains(1088001, 10))
{
client.Inventory.Remove(1088001, 10);
client.Inventory.Add(720027, Enums.ItemEffect.None);
client.Send(new Message("Your meteors have successfully been packed.", System.Drawing.Color.Blue, Message.TopLeft));
}
else
{
dialog.Text("You do not have enough meteors for this.");
dialog.Option("Okay, sorry sir", 255);
dialog.Send();
}
}
break;
}
case 2:
{
lock (client.Inventory)
{
if (client.Inventory.Contains(1088000, 10))
{
client.Inventory.Remove(1088000, 10);
client.Inventory.Add(720028, Enums.ItemEffect.None);
client.Send(new Message("Your dragonballs have successfully been packed.", System.Drawing.Color.Blue, Message.TopLeft));
}
else
{
dialog.Text("You do not have enough dragonballs for this.");
dialog.Option("Okay, sorry sir", 255);
dialog.Send();
}
}
break;
}
}
break;
}
#endregion
EDIT: Added garment unequip for SurgeonMiracle and added MillionaireLee.






