(meteor upgrade)Go to PacketHandling--->ItemPacket--->MeteorUpgrade.cs and replace all with this:
Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace NewestCOServer.PacketHandling.ItemPacket
{
public class MeteorUpgrade
{
public static void Handle(Main.GameClient GC, byte[] Data)
{
uint EquipUID = BitConverter.ToUInt32(Data, 4);
uint MeteorUID = BitConverter.ToUInt32(Data, 8);
Game.Item Equip = GC.MyChar.FindInvItem(EquipUID);
Game.Item Meteor = GC.MyChar.FindInvItem(MeteorUID);
if (Meteor.ID == 1088001)
{
Game.ItemIDManipulation E = new Game.ItemIDManipulation(Equip.ID);
sbyte Chance = (sbyte)(100 - (Equip.DBInfo.LevReq / 1.3));
byte Quality = (byte)E.Quality;
if (Quality < 6)
Chance += 10;
E.IncreaseLevel();
DatabaseItem Di = (DatabaseItem)Database.DatabaseItems[E.ToID()];
byte NewLevel = Di.LevReq;
if (NewLevel > Equip.DBInfo.LevReq)
{
if (MyMath.ChanceSuccess(Chance))
{
if (Equip.Soc1 == Game.Item.Gem.NoSocket)
{
if (MyMath.ChanceSuccess(0.1))//change this to the rate for 1st sock
{
Equip.Soc1 = Game.Item.Gem.EmptySocket;
Game.World.SendMsgToAll("SYSTEM", GC.MyChar.Name + " has got 1 socket into his/her item", 2011, 0);
}
}
else if (Equip.Soc2 == Game.Item.Gem.NoSocket)
if (MyMath.ChanceSuccess(0.05))//change this for the 2nd sock rate
{
Equip.Soc2 = Game.Item.Gem.EmptySocket;
Game.World.SendMsgToAll("SYSTEM", GC.MyChar.Name + " has got second socket into his/her item", 2011, 0);
}
GC.MyChar.RemoveItem(Equip);
Equip.ID = E.ToID();
GC.MyChar.AddItem(Equip);
GC.LocalMessage(2005, "Item level improved.");
}
else
GC.LocalMessage(2005, "Item upgrade failed.");
if (!Chance.ToString().Contains('-'))
{
GC.MyChar.RemoveItem(Meteor);
}
}
}
if (Meteor.ID == 1088002)
{
Game.ItemIDManipulation E = new Game.ItemIDManipulation(Equip.ID);
sbyte Chance = (sbyte)(100 - (Equip.DBInfo.LevReq / 1.3));
byte Quality = (byte)E.Quality;
if (Quality < 6)
Chance += 10;
if (Quality == 7)
Chance -= 5;
if (Quality == 8)
Chance -= 20;
if (Quality == 9)
Chance -= 30;
E.IncreaseLevel();
DatabaseItem Di = (DatabaseItem)Database.DatabaseItems[E.ToID()];
byte NewLevel = Di.LevReq;
if (NewLevel > Equip.DBInfo.LevReq)
{
if (Equip.Soc1 == Game.Item.Gem.NoSocket)
{
if (MyMath.ChanceSuccess(0.1))//change this for 1st sock rate
{
Equip.Soc1 = Game.Item.Gem.EmptySocket;
Game.World.SendMsgToAll("SYSTEM", GC.MyChar.Name + " has got 1 socket into his/her item", 2011, 0);
}
}
else if (Equip.Soc2 == Game.Item.Gem.NoSocket)
if (MyMath.ChanceSuccess(0.05))//2nd sock rate
{
Equip.Soc2 = Game.Item.Gem.EmptySocket;
Game.World.SendMsgToAll("SYSTEM", GC.MyChar.Name + " has got second socket into his/her item", 2011, 0);
}
if (MyMath.ChanceSuccess(Chance))
{
GC.MyChar.RemoveItem(Equip);
Equip.ID = E.ToID();
GC.MyChar.AddItem(Equip);
GC.LocalMessage(2005, "Item level improved.");
}
else
GC.LocalMessage(2005, "Item upgrade failed.");
if (!Chance.ToString().Contains('-'))
GC.MyChar.RemoveItem(Meteor);
}
}
}
}
}
Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace NewestCOServer.PacketHandling.ItemPacket
{
public class DBUpgrade
{
public static void Handle(Main.GameClient GC, byte[] Data)
{
uint EquipUID = BitConverter.ToUInt32(Data, 4);
uint MeteorUID = BitConverter.ToUInt32(Data, 8);
Game.Item Equip = GC.MyChar.FindInvItem(EquipUID);
Game.Item DragonBall = GC.MyChar.FindInvItem(MeteorUID);
if (DragonBall.ID == 1088000)
{
Game.ItemIDManipulation E = new Game.ItemIDManipulation(Equip.ID);
sbyte Chance = (sbyte)(100 - (Equip.DBInfo.LevReq / 3));
byte Quality = (byte)E.Quality;
if (Quality == 6)
Chance -= 25;
else if (Quality == 7)
Chance -= 40;
else if (Quality == 8)
Chance -= 70;
if (Quality < 9)
{
if (Quality < 5) Quality = 5;
E.QualityChange((Game.Item.ItemQuality)(Quality + 1));
Chance += 16;
if (MyMath.ChanceSuccess(Chance))
{
if (Equip.Soc1 == Game.Item.Gem.NoSocket)
{
if (MyMath.ChanceSuccess(1.2))//change this for 1st sock rate
{
Equip.Soc1 = Game.Item.Gem.EmptySocket;
Game.World.SendMsgToAll("SYSTEM", GC.MyChar.Name + " has got 1 socket into his/her item", 2011, 0);
}
}
else if (Equip.Soc2 == Game.Item.Gem.NoSocket)
if (MyMath.ChanceSuccess(0.3))//2nd sock rate
{
Equip.Soc2 = Game.Item.Gem.EmptySocket;
Game.World.SendMsgToAll("SYSTEM", GC.MyChar.Name + " has got second socket into his/her item", 2011, 0);
}
GC.MyChar.RemoveItem(Equip);
Equip.ID = E.ToID();
GC.MyChar.AddItem(Equip);
GC.LocalMessage(2005, "Item quality improved.");
}
else
GC.LocalMessage(2005, "Item upgrade failed.");
GC.MyChar.RemoveItem(DragonBall);
}
}
}
}
}






