public void ItemEquiped(Global.slotItem item, byte slot)
{
#region Equiped items
try
{
if (Character.Information.Level >= Data.ItemBase[item.ID].Level)
{
if (slot <= 5)
{
Character.Stat.MagDef += Data.ItemBase[item.ID].Defans.MinMagDef + (item.PlusValue * (double)Data.ItemBase[item.ID].Defans.MagDefINC);
Character.Stat.PhyDef += Data.ItemBase[item.ID].Defans.MinPhyDef + (item.PlusValue * (double)Data.ItemBase[item.ID].Defans.PhyDefINC);
Character.Stat.Parry += Data.ItemBase[item.ID].Defans.Parry;
if (Data.ItemBlue[item.dbID].totalblue != 0) AddRemoveBlues(this, item, true);
client.Send(Packet.PlayerStat(Character));
}
if (slot == 6)
{
Character.Stat.MinPhyAttack += Data.ItemBase[item.ID].Attack.Min_LPhyAttack + (item.PlusValue * (double)Data.ItemBase[item.ID].Attack.PhyAttackInc);
Character.Stat.MaxPhyAttack += Data.ItemBase[item.ID].Attack.Min_HPhyAttack + (item.PlusValue * (double)Data.ItemBase[item.ID].Attack.PhyAttackInc);
Character.Stat.MinMagAttack += Data.ItemBase[item.ID].Attack.Min_LMagAttack + (item.PlusValue * (double)Data.ItemBase[item.ID].Attack.MagAttackINC);
Character.Stat.MaxMagAttack += Data.ItemBase[item.ID].Attack.Min_HMagAttack + (item.PlusValue * (double)Data.ItemBase[item.ID].Attack.MagAttackINC);
Character.Stat.Hit += Data.ItemBase[item.ID].Attack.MinAttackRating;
Character.Information.Item.wID = item.ID;
if (Data.ItemBlue[item.dbID].totalblue != 0) AddRemoveBlues(this, item, true);
client.Send(Packet.PlayerStat(Character));
}
if (slot == 7)
{
if (Data.ItemBase[item.ID].Itemtype == Global.item_database.ItemType.CH_SHIELD || Data.ItemBase[item.ID].Itemtype == Global.item_database.ItemType.EU_SHIELD)
{
Character.Stat.MagDef += Data.ItemBase[item.ID].Defans.MinMagDef + (item.PlusValue * (double)Data.ItemBase[item.ID].Defans.MagDefINC);
Character.Stat.PhyDef += Data.ItemBase[item.ID].Defans.MinPhyDef + (item.PlusValue * (double)Data.ItemBase[item.ID].Defans.PhyDefINC);
if (Data.ItemBlue[item.dbID].totalblue != 0) AddRemoveBlues(this, item, true);
}
Character.Information.Item.sAmount = item.Amount;
Character.Information.Item.sID = item.ID;
client.Send(Packet.PlayerStat(Character));
}
if (slot == 8)
{
//Teleport user back to binded location
Send(Packet.StatePack(Character.Information.UniqueID, 0x0B, 0x01, false));
Character.Information.Scroll = true;
StartScrollTimer(0);//Set to job time info
MsSQL.UpdateData("UPDATE character_jobs SET job_state='1' WHERE character_name='" + Character.Information.Name + "'");
Character.Job.state = 1;
SavePlayerReturn();
}
if (slot >= 9 && slot <= 12)
{
Character.Stat.MagDef += (short)(Data.ItemBase[item.ID].Defans.MagAbsorb + (item.PlusValue * (double)Data.ItemBase[item.ID].Defans.AbsorbINC) * 10);
Character.Stat.PhyDef += (short)(Data.ItemBase[item.ID].Defans.PhyAbsorb + (item.PlusValue * (double)Data.ItemBase[item.ID].Defans.AbsorbINC) * 10);
client.Send(Packet.PlayerStat(Character));
if (Data.ItemBlue[item.dbID].totalblue != 0) AddRemoveBlues(this, item, true);
}
Send(Packet.MoveItemEnquipEffect(Character.Information.UniqueID, item.Slot, item.ID, item.PlusValue));
SavePlayerInfo();
}
else
return;
}
catch (Exception ex)
{
Console.WriteLine("Item equip error: {0}", ex);
}
#endregion
}