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

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

public ChangeMaxMP_mpi ( Systems Target, int slot, bool delete, bool UpdatePacket ) : void
Target Systems
slot int
delete bool
UpdatePacket bool
Результат void
        public void ChangeMaxMP_mpi(Systems Target, int slot, bool delete, bool UpdatePacket)
        {
            try
            {
                if (!delete)
                {
                    if (Data.SkillBase[Target.Character.Action.Buff.SkillID[slot]].Properties1["mpi"] != 0) // point inc
                    {
                        int amount = Data.SkillBase[Target.Character.Action.Buff.SkillID[slot]].Properties1["mpi"];
                        Target.Character.Action.Buff.UpdatedStats[slot].Mp = amount;
                    }
                    if (Data.SkillBase[Target.Character.Action.Buff.SkillID[slot]].Properties2["mpi"] != 0) // %inc
                    {
                        int amount = Data.SkillBase[Target.Character.Action.Buff.SkillID[slot]].Properties2["mpi"];
                        Target.Character.Action.Buff.UpdatedStats[slot].Mp = (Target.Character.Stat.Hp / 100) * (amount);
                    }

                    Target.Character.Stat.Mp += Target.Character.Action.Buff.UpdatedStats[slot].Mp;
                    Target.Character.Stat.SecondMP += Target.Character.Action.Buff.UpdatedStats[slot].Mp;

                    if ((Target.Character.Stat.SecondMP + Target.Character.Action.Buff.UpdatedStats[slot].Mp) > Target.Character.Stat.Mp)
                    {
                        Target.Character.Stat.SecondMP = Target.Character.Stat.Mp;
                    }
                    else
                    {
                        Target.Character.Stat.SecondMP += Target.Character.Action.Buff.UpdatedStats[slot].Mp;
                    }
                }
                else
                {
                    // sub it
                    Target.Character.Stat.Mp -= Target.Character.Action.Buff.UpdatedStats[slot].Mp;

                    // dont want negative mana
                    if (Target.Character.Stat.SecondMP - Target.Character.Action.Buff.UpdatedStats[slot].Mp < 1)
                    {
                        Target.Character.Stat.SecondMP = 1;
                    }
                    else
                    {
                        Target.Character.Stat.SecondMP -= Target.Character.Action.Buff.UpdatedStats[slot].Mp;
                    }

                    Target.Character.Action.Buff.UpdatedStats[slot].Mp = 0;
                }

                if (UpdatePacket) Target.client.Send(Packet.PlayerStat(Target.Character));
            }
            catch (Exception ex)
            {
               Systems.Debugger.Write(ex);
            }
        }
Systems