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

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

public ItemEquiped ( System.Global item, byte slot ) : void
item System.Global
slot byte
Результат void
        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
        }
Systems