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

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

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

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

                    // dont kill him :)
                    if (Target.Character.Stat.SecondHp - Target.Character.Action.Buff.UpdatedStats[slot].Hp < 1)
                    {
                        Target.Character.Stat.SecondHp = 1;
                    }
                    else
                    {
                        Target.Character.Stat.SecondHp -= Target.Character.Action.Buff.UpdatedStats[slot].Hp;
                    }

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

                }

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