DarkEmu_GameServer.Systems.ItemUnEquiped C# (CSharp) Метод

ItemUnEquiped() публичный Метод

public ItemUnEquiped ( System.Global item ) : void
item System.Global
Результат void
        public void ItemUnEquiped(Global.slotItem item)
        {
            #region Unequip items
            LoadBluesid(item.dbID);
            try
            {
                if (item.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, false);
                    client.Send(Packet.PlayerStat(Character));
                }
                if (item.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;
                    if (Data.ItemBlue[item.dbID].totalblue != 0) AddRemoveBlues(this, item, false);
                    client.Send(Packet.PlayerStat(Character));
                    Character.Information.Item.wID = 0;
                }
                if (item.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, false);
                    }
                    client.Send(Packet.PlayerStat(Character));
                    Character.Information.Item.sAmount = 0;
                    Character.Information.Item.sID = 0;
                }
                if (item.Slot == 8)
                {
                    if (Character.Job.Jobname != "0" && Character.Job.state == 1)
                    {
                        //Teleport user back to binded location
                        Send(Packet.StatePack(Character.Information.UniqueID, 0x0B, 0x01, false));
                        Character.Information.Scroll = true;
                        StartScrollTimer(0);
                        MsSQL.UpdateData("UPDATE character_jobs SET job_state='0' WHERE character_name='" + Character.Information.Name + "'");
                        Character.Job.state = 0;
                        SavePlayerReturn();
                    }
                }
                if (item.Slot >= 9 && item.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, false);
                }
                Send(Packet.MoveItemUnequipEffect(Character.Information.UniqueID, item.Slot, item.ID));
                SavePlayerInfo();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
            }
            #endregion
        }
Systems