so as we know the quality system works with dragon ball, you give 1 db it will make it refine you give 2 it will make it unique etc etc
but i wane make this new system that lets say your item in normal you use this item (121213) to upgrade your normal to refine,
but then to make the refine to unique you use different stone (43343)
but i am having trouble thinking how to make this. anyone can give me idea?
also here is my quality upgrader if need by any chance.
#region Magic Artisan
case 9071:
{
switch (Request.LinkID)
{
case 0:
{
dialog.Text("Hello! I can always succeed in upgrading item quality as i´ve penetrated the mystery of their powers.");
dialog.Text("But I`II ask for a few more dragon balls tha Artisan Wind.");
dialog.Text("I can also upgrade or lower item levels. How can I help you?");
dialog.Link("Upgrade The Quality.", 1);
dialog.Link("Lower Equipment Level.", 2);
dialog.Send();
break;
}
case 2:
{
Network.GamePackets.Data Data = new Network.GamePackets.Data(true);
Data.UID = client.Entity.UID;
Data.ID = 126;
Data.dwParam = 506;
Data.wParam1 = client.Entity.X;
Data.wParam2 = client.Entity.Y;
client.Send(Data);
break;
}
case 1:
{
int aut = Request.LinkID * 10;
dialog.Text("Select which item's details you want to change?");
dialog.Link("Headgear.", (byte)(aut + 1));
dialog.Link("Necklace/Bag.", (byte)(aut + 2));
dialog.Link("Armor.", (byte)(aut + 3));
dialog.Link("Main Weapon.", (byte)(aut + 4));
dialog.Link("Left Weapon/Shield.", (byte)(aut + 5));
dialog.Link("Heavy Ring, Ring, Bracelet.", (byte)(aut + 6));
dialog.Link("Boots.", (byte)(aut + 8));
dialog.Link("No need thanks", 255);
dialog.Send();
break;
}
case 100:
{
if (client.SelectedItem == 0)
return;
var item = client.Equipment.TryGetItem(client.SelectedItem);
var itemdetail = Rise_Of_Medusa.Database.ConquerItemInformation.Bas eInformations[item.ID];
Rise_Of_Medusa.Database.ConquerItemInformation infos = new Rise_Of_Medusa.Database.ConquerItemInformation(ite m.ID, item.Plus);
switch (client.UpdateType)
{
case 1:
{
if (item.ID == 500301 || item.ID == 410301 || item.ID == 421301)
{
dialog.Text("This item's level cannot be upgraded anymore.");
dialog.Link("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.DeleteItem(id, cost))
{
client.Inventory.DeleteItem(id, cost);
if (item.ID % 10 < 5)
item.ID += 5 - item.ID % 10;
item.ID++;
Rise_Of_Medusa.Database.ConquerItemTable.UpdateIte mID(item, client);
item.Mode = Rise_Of_Medusa.Game.Enums.ItemMode.Update;
_String str = new _String(true);
str.UID = client.Entity.UID;
str.TextsCount = 1;
str.Type = _String.Effect;
str.Texts.Add("perfect");
client.SendScreen(str, true);
item.Send(client);
client.LoadItemStats(item);
client.Equipment.UpdateEntityPacket();
}
break;
}
}
break;
}
default:
{
if (Request.LinkID == 255)
break;
client.SelectedItem = (byte)(Request.LinkID % 10);
client.UpdateType = (byte)(Request.LinkID / 10);
if (client.Equipment.Free(client.SelectedItem))
{
dialog.Text("You have to be wearing the selected item.");
dialog.Link("I'll just leave", 255);
dialog.Send();
return;
}
var item = client.Equipment.TryGetItem(client.SelectedItem);
var itemdetail = Rise_Of_Medusa.Database.ConquerItemInformation.Bas eInformations[item.ID];
if (itemdetail == null)
{
dialog.Text("An error occured. Please relogin and try again.");
dialog.Link("Ok.", 255);
dialog.Send();
return;
}
switch (client.UpdateType)
{
case 1:
{
if (item.ID % 10 == 9)
{
dialog.Text("This item's quality cannot be upgraded anymore.");
dialog.Link("Ahh sorry.", 255);
dialog.Send();
client.SelectedItem = 0;
client.UpdateType = 0;
return;
}
byte cost = (byte)(itemdetail.Level / 30);
cost += (byte)((item.ID % 10) / 2);
dialog.Text("It will cost you " + cost + " dragonballs. Do you accept?");
dialog.Link("Yes.", 100);
dialog.Link("No thank you.", 255);
dialog.Send();
break;
}
}
break;
}
}
break;
}
#endregion
case 9071:
{
switch (Request.LinkID)
{
case 0:
{
dialog.Text("Hello! I can always succeed in upgrading item quality as i´ve penetrated the mystery of their powers.");
dialog.Text("But I`II ask for a few more dragon balls tha Artisan Wind.");
dialog.Text("I can also upgrade or lower item levels. How can I help you?");
dialog.Link("Upgrade The Quality.", 1);
dialog.Link("Lower Equipment Level.", 2);
dialog.Send();
break;
}
case 2:
{
Network.GamePackets.Data Data = new Network.GamePackets.Data(true);
Data.UID = client.Entity.UID;
Data.ID = 126;
Data.dwParam = 506;
Data.wParam1 = client.Entity.X;
Data.wParam2 = client.Entity.Y;
client.Send(Data);
break;
}
case 1:
{
int aut = Request.LinkID * 10;
dialog.Text("Select which item's details you want to change?");
dialog.Link("Headgear.", (byte)(aut + 1));
dialog.Link("Necklace/Bag.", (byte)(aut + 2));
dialog.Link("Armor.", (byte)(aut + 3));
dialog.Link("Main Weapon.", (byte)(aut + 4));
dialog.Link("Left Weapon/Shield.", (byte)(aut + 5));
dialog.Link("Heavy Ring, Ring, Bracelet.", (byte)(aut + 6));
dialog.Link("Boots.", (byte)(aut + 8));
dialog.Link("No need thanks", 255);
dialog.Send();
break;
}
case 100:
{
if (client.SelectedItem == 0)
return;
var item = client.Equipment.TryGetItem(client.SelectedItem);
var itemdetail = Rise_Of_Medusa.Database.ConquerItemInformation.Bas eInformations[item.ID];
Rise_Of_Medusa.Database.ConquerItemInformation infos = new Rise_Of_Medusa.Database.ConquerItemInformation(ite m.ID, item.Plus);
switch (client.UpdateType)
{
case 1:
{
if (item.ID == 500301 || item.ID == 410301 || item.ID == 421301)
{
dialog.Text("This item's level cannot be upgraded anymore.");
dialog.Link("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.DeleteItem(id, cost))
{
client.Inventory.DeleteItem(id, cost);
if (item.ID % 10 < 5)
item.ID += 5 - item.ID % 10;
item.ID++;
Rise_Of_Medusa.Database.ConquerItemTable.UpdateIte mID(item, client);
item.Mode = Rise_Of_Medusa.Game.Enums.ItemMode.Update;
_String str = new _String(true);
str.UID = client.Entity.UID;
str.TextsCount = 1;
str.Type = _String.Effect;
str.Texts.Add("perfect");
client.SendScreen(str, true);
item.Send(client);
client.LoadItemStats(item);
client.Equipment.UpdateEntityPacket();
}
break;
}
}
break;
}
default:
{
if (Request.LinkID == 255)
break;
client.SelectedItem = (byte)(Request.LinkID % 10);
client.UpdateType = (byte)(Request.LinkID / 10);
if (client.Equipment.Free(client.SelectedItem))
{
dialog.Text("You have to be wearing the selected item.");
dialog.Link("I'll just leave", 255);
dialog.Send();
return;
}
var item = client.Equipment.TryGetItem(client.SelectedItem);
var itemdetail = Rise_Of_Medusa.Database.ConquerItemInformation.Bas eInformations[item.ID];
if (itemdetail == null)
{
dialog.Text("An error occured. Please relogin and try again.");
dialog.Link("Ok.", 255);
dialog.Send();
return;
}
switch (client.UpdateType)
{
case 1:
{
if (item.ID % 10 == 9)
{
dialog.Text("This item's quality cannot be upgraded anymore.");
dialog.Link("Ahh sorry.", 255);
dialog.Send();
client.SelectedItem = 0;
client.UpdateType = 0;
return;
}
byte cost = (byte)(itemdetail.Level / 30);
cost += (byte)((item.ID % 10) / 2);
dialog.Text("It will cost you " + cost + " dragonballs. Do you accept?");
dialog.Link("Yes.", 100);
dialog.Link("No thank you.", 255);
dialog.Send();
break;
}
}
break;
}
}
break;
}
#endregion






