can someone check this out please?
PHP Code:
case 7050:
{
switch (npcRequest.OptionID)
{
case 0:
{
dialog.Text("My brothers, Magic Artisan and Artisan Wind, both need meteors to upgrade, but I need only dragonballs.");
dialog.Text("I upgrade item's level only and I want only one dragonball for my service.");
dialog.Option("Upgrade level.", 1);
dialog.Option("I'll just leave", 255);
dialog.Send();
break;
}
case 1:
{
int aut = npcRequest.OptionID * 10;
dialog.Text("Select which item's details you want to change?");
dialog.Option("Headgear.", (byte)(aut + 1));
dialog.Option("Necklace.", (byte)(aut + 2));
dialog.Option("Armor.", (byte)(aut + 3));
dialog.Option("Main Weapon.", (byte)(aut + 4));
dialog.Option("Left Weapon/Shield.", (byte)(aut + 5));
dialog.Option("Ring.", (byte)(aut + 6));
dialog.Option("Boots.", (byte)(aut + 8));
dialog.Option("I'll just leave", 255);
dialog.Send();
break;
}
case 100:
{
if (client.SelectedItem == 0)
return;
var item = client.Equipment.TryGetItem(client.SelectedItem);
var itemdetail = Conquer_Online_Server.Database.ConquerItemInformation.BaseInformations[item.ID];
Conquer_Online_Server.Database.ConquerItemInformation infos = new Conquer_Online_Server.Database.ConquerItemInformation(item.ID, item.Plus);
if (!item.ID.ToString().EndsWith("9"))
{
dialog.Text("Sorry you can only levelup Super Items.");
dialog.Option("Ahh sorry.", 255);
dialog.Send();
client.SelectedItem = 0;
client.UpdateType = 0;
return;
}
if (item.ID == 120269 || item.ID == 121269 || item.ID == 150269 || item.ID == 160249 || item.ID == 151269 || item.ID == 152279)
{
dialog.Text("This item's level cannot be upgraded anymore.");
dialog.Option("Ahh sorry.", 255);
dialog.Send();
client.SelectedItem = 0;
client.UpdateType = 0;
return;
}
if (item.ID == 117309 || item.ID == 118309 || item.ID == 111309 || item.ID == 114309 || item.ID == 112309 || item.ID == 152279)
{
dialog.Text("This item's level cannot be upgraded anymore.");
dialog.Option("Ahh sorry.", 255);
dialog.Send();
client.SelectedItem = 0;
client.UpdateType = 0;
return;
}
if (item.ID == 120268 || item.ID == 121268 || item.ID == 150268 || item.ID == 160248 || item.ID == 151268 || item.ID == 152278)
{
dialog.Text("This item's level cannot be upgraded anymore.");
dialog.Option("Ahh sorry.", 255);
dialog.Send();
client.SelectedItem = 0;
client.UpdateType = 0;
return;
}
if (item.ID == 117308 || item.ID == 118308 || item.ID == 111308 || item.ID == 114308 || item.ID == 112308 || item.ID == 152278)
{
dialog.Text("This item's level cannot be upgraded anymore.");
dialog.Option("Ahh sorry.", 255);
dialog.Send();
client.SelectedItem = 0;
client.UpdateType = 0;
return;
}
if (item.ID == 120267 || item.ID == 121267 || item.ID == 150267 || item.ID == 160247 || item.ID == 151267 || item.ID == 152277)
{
dialog.Text("This item's level cannot be upgraded anymore.");
dialog.Option("Ahh sorry.", 255);
dialog.Send();
client.SelectedItem = 0;
client.UpdateType = 0;
return;
}
if (item.ID == 117307 || item.ID == 118307 || item.ID == 111307 || item.ID == 114307 || item.ID == 112307 || item.ID == 152277)
{
dialog.Text("This item's level cannot be upgraded anymore.");
dialog.Option("Ahh sorry.", 255);
dialog.Send();
client.SelectedItem = 0;
client.UpdateType = 0;
return;
}
if (item.ID == 120265 || item.ID == 121265 || item.ID == 150265 || item.ID == 160245 || item.ID == 151265 || item.ID == 152275)
{
dialog.Text("This item's level cannot be upgraded anymore.");
dialog.Option("Ahh sorry.", 255);
dialog.Send();
client.SelectedItem = 0;
client.UpdateType = 0;
return;
}
if (item.ID == 117305 || item.ID == 118305 || item.ID == 111305 || item.ID == 114305 || item.ID == 112305 || item.ID == 152275)
{
dialog.Text("This item's level cannot be upgraded anymore.");
dialog.Option("Ahh sorry.", 255);
dialog.Send();
client.SelectedItem = 0;
client.UpdateType = 0;
return;
}
switch (client.UpdateType)
{
case 1:
case 2:
{
if (!item.ID.ToString().EndsWith("9"))
{
dialog.Text("Sorry you can only levelup Super Items.");
dialog.Option("Ahh sorry.", 255);
dialog.Send();
client.SelectedItem = 0;
client.UpdateType = 0;
return;
}
if (item.ID == 120269 || item.ID == 121269 || item.ID == 150269 || item.ID == 160249 || item.ID == 151269 || item.ID == 152279)
{
dialog.Text("This item's level cannot be upgraded anymore.");
dialog.Option("Ahh sorry.", 255);
dialog.Send();
client.SelectedItem = 0;
client.UpdateType = 0;
return;
}
if (item.ID == 117309 || item.ID == 118309 || item.ID == 111309 || item.ID == 114309 || item.ID == 112309 || item.ID == 152279)
{
dialog.Text("This item's level cannot be upgraded anymore.");
dialog.Option("Ahh sorry.", 255);
dialog.Send();
client.SelectedItem = 0;
client.UpdateType = 0;
return;
}
if (item.ID == 120268 || item.ID == 121268 || item.ID == 150268 || item.ID == 160248 || item.ID == 151268 || item.ID == 152278)
{
dialog.Text("This item's level cannot be upgraded anymore.");
dialog.Option("Ahh sorry.", 255);
dialog.Send();
client.SelectedItem = 0;
client.UpdateType = 0;
return;
}
if (item.ID == 117308 || item.ID == 118308 || item.ID == 111308 || item.ID == 114308 || item.ID == 112308 || item.ID == 152278)
{
dialog.Text("This item's level cannot be upgraded anymore.");
dialog.Option("Ahh sorry.", 255);
dialog.Send();
client.SelectedItem = 0;
client.UpdateType = 0;
return;
}
if (item.ID == 120267 || item.ID == 121267 || item.ID == 150267 || item.ID == 160247 || item.ID == 151267 || item.ID == 152277)
{
dialog.Text("This item's level cannot be upgraded anymore.");
dialog.Option("Ahh sorry.", 255);
dialog.Send();
client.SelectedItem = 0;
client.UpdateType = 0;
return;
}
if (item.ID == 117307 || item.ID == 118307 || item.ID == 111307 || item.ID == 114307 || item.ID == 112307 || item.ID == 152277)
{
dialog.Text("This item's level cannot be upgraded anymore.");
dialog.Option("Ahh sorry.", 255);
dialog.Send();
client.SelectedItem = 0;
client.UpdateType = 0;
return;
}
if (item.ID == 120265 || item.ID == 121265 || item.ID == 150265 || item.ID == 160245 || item.ID == 151265 || item.ID == 152275)
{
dialog.Text("This item's level cannot be upgraded anymore.");
dialog.Option("Ahh sorry.", 255);
dialog.Send();
client.SelectedItem = 0;
client.UpdateType = 0;
return;
}
if (item.ID == 117305 || item.ID == 118305 || item.ID == 111305 || item.ID == 114305 || item.ID == 112305 || item.ID == 152275)
{
dialog.Text("This item's level cannot be upgraded anymore.");
dialog.Option("Ahh sorry.", 255);
dialog.Send();
client.SelectedItem = 0;
client.UpdateType = 0;
return;
}
byte cost = (byte)(itemdetail.Level / 6);
cost += (byte)((item.ID % 10) / 3);
uint id = 1088001;
if (client.UpdateType == 2)
id++;
if (client.Inventory.Contains(id, cost))
{
client.Inventory.Remove(id, cost);
// client.UnloadItemStats(item, false);
if (client.UpdateType == 1)
item.ID = infos.CalculateUplevel();
else
item.ID = infos.CalculateDownlevel();
if (infos.BaseInformation.ID == item.ID)
return;
Conquer_Online_Server.Database.ConquerItemTable.UpdateItemID(item, client);
item.Mode = Conquer_Online_Server.Game.Enums.ItemMode.Update;
item.Send(client);
client.LoadItemStats(item);
client.Equipment.UpdateEntityPacket();
perfectEffect(client);
client.CalculateStatBonus();
client.CalculateHPBonus();
ClientEquip equips = new ClientEquip();
equips.DoEquips(client);
client.Send(equips);
client.Send(Conquer_Online_Server.Network.PacketHandler.WindowStats(client));
}
break;
}
case 3:
{
if (!item.ID.ToString().EndsWith("9"))
{
dialog.Text("Sorry you can only levelup Super Items.");
dialog.Option("Ahh sorry.", 255);
dialog.Send();
client.SelectedItem = 0;
client.UpdateType = 0;
return;
}
if (item.ID == 120269 || item.ID == 121269 || item.ID == 150269 || item.ID == 160249 || item.ID == 151269 || item.ID == 152279)
{
dialog.Text("This item's level cannot be upgraded anymore.");
dialog.Option("Ahh sorry.", 255);
dialog.Send();
client.SelectedItem = 0;
client.UpdateType = 0;
return;
}
if (item.ID == 117309 || item.ID == 118309 || item.ID == 111309 || item.ID == 114309 || item.ID == 112309 || item.ID == 152279)
{
dialog.Text("This item's level cannot be upgraded anymore.");
dialog.Option("Ahh sorry.", 255);
dialog.Send();
client.SelectedItem = 0;
client.UpdateType = 0;
return;
}
if (item.ID == 120268 || item.ID == 121268 || item.ID == 150268 || item.ID == 160248 || item.ID == 151268 || item.ID == 152278)
{
dialog.Text("This item's level cannot be upgraded anymore.");
dialog.Option("Ahh sorry.", 255);
dialog.Send();
client.SelectedItem = 0;
client.UpdateType = 0;
return;
}
if (item.ID == 117308 || item.ID == 118308 || item.ID == 111308 || item.ID == 114308 || item.ID == 112308 || item.ID == 152278)
{
dialog.Text("This item's level cannot be upgraded anymore.");
dialog.Option("Ahh sorry.", 255);
dialog.Send();
client.SelectedItem = 0;
client.UpdateType = 0;
return;
}
if (item.ID == 120267 || item.ID == 121267 || item.ID == 150267 || item.ID == 160247 || item.ID == 151267 || item.ID == 152277)
{
dialog.Text("This item's level cannot be upgraded anymore.");
dialog.Option("Ahh sorry.", 255);
dialog.Send();
client.SelectedItem = 0;
client.UpdateType = 0;
return;
}
if (item.ID == 117307 || item.ID == 118307 || item.ID == 111307 || item.ID == 114307 || item.ID == 112307 || item.ID == 152277)
{
dialog.Text("This item's level cannot be upgraded anymore.");
dialog.Option("Ahh sorry.", 255);
dialog.Send();
client.SelectedItem = 0;
client.UpdateType = 0;
return;
}
if (item.ID == 120265 || item.ID == 121265 || item.ID == 150265 || item.ID == 160245 || item.ID == 151265 || item.ID == 152275)
{
dialog.Text("This item's level cannot be upgraded anymore.");
dialog.Option("Ahh sorry.", 255);
dialog.Send();
client.SelectedItem = 0;
client.UpdateType = 0;
return;
}
if (item.ID == 117305 || item.ID == 118305 || item.ID == 111305 || item.ID == 114305 || item.ID == 112305 || item.ID == 152275)
{
dialog.Text("This item's level cannot be upgraded anymore.");
dialog.Option("Ahh sorry.", 255);
dialog.Send();
client.SelectedItem = 0;
client.UpdateType = 0;
return;
}
byte cost = (byte)(itemdetail.Level / 30);
cost += (byte)((item.ID % 10) / 2);
uint id = 1088000;
if (client.Inventory.Contains(id, cost))
{
client.Inventory.Remove(id, cost);
// client.UnloadItemStats(item, false);
item.ID++;
Conquer_Online_Server.Database.ConquerItemTable.UpdateItemID(item, client);
item.Mode = Conquer_Online_Server.Game.Enums.ItemMode.Update;
item.Send(client);
client.LoadItemStats(item);
client.Equipment.UpdateEntityPacket();
perfectEffect(client);
client.CalculateStatBonus();
client.CalculateHPBonus();
ClientEquip equips = new ClientEquip();
equips.DoEquips(client);
client.Send(equips);
client.Send(Conquer_Online_Server.Network.PacketHandler.WindowStats(client));
}
break;
}
}
break;
}
default:
{
if (npcRequest.OptionID == 255)
break;
byte SelectedItem = (byte)(npcRequest.OptionID % 10);
byte NowType = (byte)(npcRequest.OptionID / 10);
if (client.Equipment.Free(SelectedItem))
{
dialog.Text("You have to be wearing the selected item.");
dialog.Option("I'll just leave", 255);
dialog.Send();
return;
}
var item = client.Equipment.TryGetItem(SelectedItem);
var itemdetail = Conquer_Online_Server.Database.ConquerItemInformation.BaseInformations[item.ID];
if (!item.ID.ToString().EndsWith("9"))
{
dialog.Text("Sorry you can only levelup Super Items.");
dialog.Option("Ahh sorry.", 255);
dialog.Send();
client.SelectedItem = 0;
client.UpdateType = 0;
return;
}
if (item.ID == 120269 || item.ID == 121269 || item.ID == 150269 || item.ID == 160249 || item.ID == 151269 || item.ID == 152279)
{
dialog.Text("This item's level cannot be upgraded anymore.");
dialog.Option("Ahh sorry.", 255);
dialog.Send();
client.SelectedItem = 0;
client.UpdateType = 0;
return;
}
if (item.ID == 117309 || item.ID == 118309 || item.ID == 111309 || item.ID == 114309 || item.ID == 112309 || item.ID == 152279)
{
dialog.Text("This item's level cannot be upgraded anymore.");
dialog.Option("Ahh sorry.", 255);
dialog.Send();
client.SelectedItem = 0;
client.UpdateType = 0;
return;
}
if (item.ID == 120268 || item.ID == 121268 || item.ID == 150268 || item.ID == 160248 || item.ID == 151268 || item.ID == 152278)
{
dialog.Text("This item's level cannot be upgraded anymore.");
dialog.Option("Ahh sorry.", 255);
dialog.Send();
client.SelectedItem = 0;
client.UpdateType = 0;
return;
}
if (item.ID == 117308 || item.ID == 118308 || item.ID == 111308 || item.ID == 114308 || item.ID == 112308 || item.ID == 152278)
{
dialog.Text("This item's level cannot be upgraded anymore.");
dialog.Option("Ahh sorry.", 255);
dialog.Send();
client.SelectedItem = 0;
client.UpdateType = 0;
return;
}
if (item.ID == 120267 || item.ID == 121267 || item.ID == 150267 || item.ID == 160247 || item.ID == 151267 || item.ID == 152277)
{
dialog.Text("This item's level cannot be upgraded anymore.");
dialog.Option("Ahh sorry.", 255);
dialog.Send();
client.SelectedItem = 0;
client.UpdateType = 0;
return;
}
if (item.ID == 117307 || item.ID == 118307 || item.ID == 111307 || item.ID == 114307 || item.ID == 112307 || item.ID == 152277)
{
dialog.Text("This item's level cannot be upgraded anymore.");
dialog.Option("Ahh sorry.", 255);
dialog.Send();
client.SelectedItem = 0;
client.UpdateType = 0;
return;
}
if (item.ID == 120265 || item.ID == 121265 || item.ID == 150265 || item.ID == 160245 || item.ID == 151265 || item.ID == 152275)
{
dialog.Text("This item's level cannot be upgraded anymore.");
dialog.Option("Ahh sorry.", 255);
dialog.Send();
client.SelectedItem = 0;
client.UpdateType = 0;
return;
}
if (item.ID == 117305 || item.ID == 118305 || item.ID == 111305 || item.ID == 114305 || item.ID == 112305 || item.ID == 152275)
{
dialog.Text("This item's level cannot be upgraded anymore.");
dialog.Option("Ahh sorry.", 255);
dialog.Send();
client.SelectedItem = 0;
client.UpdateType = 0;
return;
}
if (NowType == 1)
{
dialog.Text("It will cost you one dragonball. Do you accept the Amount?");
dialog.Option("Yes.", (byte)(20 + SelectedItem));
dialog.Option("No thank you.", 255);
dialog.Send();
}
else
{
Conquer_Online_Server.Database.ConquerItemInformation infos = new Conquer_Online_Server.Database.ConquerItemInformation(item.ID, item.Plus);
Conquer_Online_Server.Database.ConquerItemInformation infos2 = new Conquer_Online_Server.Database.ConquerItemInformation(infos.CalculateUplevel(), item.Plus);
if (client.Entity.Level < infos2.BaseInformation.Level)
{
dialog.Text("You need level " + infos2.BaseInformation.Level + " first.");
dialog.Option("Ahh sorry.", 255);
dialog.Send();
client.SelectedItem = 0;
client.UpdateType = 0;
return;
}
if (client.Inventory.Contains(1088000, 1))
{
client.Inventory.Remove(1088000, 1);
// client.UnloadItemStats(item, false);
item.ID = infos.CalculateUplevel();
Conquer_Online_Server.Database.ConquerItemTable.UpdateItemID(item, client);
item.Mode = Conquer_Online_Server.Game.Enums.ItemMode.Update;
item.Send(client);
client.LoadItemStats(item);
client.Equipment.UpdateEntityPacket();
perfectEffect(client);
client.CalculateStatBonus();
client.CalculateHPBonus();
ClientEquip equips = new ClientEquip();
equips.DoEquips(client);
client.Send(equips);
client.Send(Conquer_Online_Server.Network.PacketHandler.WindowStats(client));
}
}
}
break;
}
break;
}