回復速度に関してですが、計算式とデータテーブルを勘違いしてました…。
遅くしてどうするんだ…。
if td.HP2 <> 0 then begin //HP回復速度%
HPDelayFix := HPDelayFix + td.HP2 - 100;
end;
if td.SP2 <> 0 then begin //SP回復速度%
SPDelayFix := SPDelayFix + td.SP2 - 100;
end;
〜略〜
{追加}
for i:=0 to 3 do begin
HPDelay[i] := HPDelay[i] * HPDelayFix div 100;
if HPDelay[i] < 150 then HPDelay[i] := 150;
SPDelay[i] := SPDelay[i] * SPDelayFix div 100;
if SPDelay[i] < 150 then SPDelay[i] := 150;
end;
{追加ココまで}
こんな感じにしておけばいいかと。
これでもダメそうな気がするけど…。