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