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);
}
}