public double MPLoad()
{
int mp = 0;
double multiplicator = 1.0;
if (UseSp)
{
SpecialistInstance specialist = Inventory?.LoadBySlotAndType<SpecialistInstance>((byte)EquipmentType.Sp, InventoryType.Wear);
if (specialist != null)
{
int point = CharacterHelper.SlPoint(specialist.SlHP, 3);
if (point <= 50)
{
multiplicator += point / 100.0;
}
else
{
multiplicator += 0.5 + (point - 50.00) / 50.00;
}
mp = specialist.MP + specialist.SpHP * 100;
}
}
return (int)((CharacterHelper.MPData[(byte)Class, Level] + mp) * multiplicator);
}