static void UpgradeItem(ItemUsage itemUsage, Client.GameState client)
{
Interfaces.IConquerItem item = null;
if (client.Inventory.TryGetItem(itemUsage.UID, out item))
{
if (IsArrow(item.ID))
return;
Interfaces.IConquerItem upgrade = null;
if (client.Inventory.TryGetItem(itemUsage.dwParam, out upgrade))
{
Database.ConquerItemInformation infos = new PhoenixProject.Database.ConquerItemInformation(ite m.ID, item.Plus);
switch (upgrade.ID)
{
case 1088000:
{
if (item.ID % 10 == (byte)Game.Enums.ItemQuality.Super)
break;
byte chance = (byte)(70 - ((infos.BaseInformation.Level - (infos.BaseInformation.Level > 100 ? 30 : 0)) / (10 - item.ID % 10)));
if (item.Durability < item.MaximDurability)
break;
if (ServerBase.Kernel.Rate(chance))
{
switch ((Game.Enums.ItemQuality)(item.ID % 10))
{
case Game.Enums.ItemQuality.Normal:
case Game.Enums.ItemQuality.NormalV1:
case Game.Enums.ItemQuality.NormalV2:
case Game.Enums.ItemQuality.NormalV3: item.ID = (item.ID - (item.ID % 10)) + (byte)Game.Enums.ItemQuality.Refined; break;
default: item.ID++; break;
}
Database.ConquerItemTable.UpdateItemID(item, client);
item.Mode = PhoenixProject.Game.Enums.ItemMode.Update;
item.Send(client);
}
else
{
item.Durability = (ushort)(item.Durability / 2);
Database.ConquerItemTable.UpdateDurabilityItem(ite m);
item.Mode = PhoenixProject.Game.Enums.ItemMode.Update;
item.Send(client);
}
item = ItemSocket(item, 1);
client.Inventory.Remove(upgrade, PhoenixProject.Game.Enums.ItemUse.Remove);
break;
}
When upgrading items it wont stop upgrading See image Please and Help Me fixe this thing.











