>>521
回復速度について
CalcAbility()
〜省略〜
if td.HP2 <> 0 then begin //HP回復速度%
HPDelayFix := HPDelayFix + 100 - td.HP2;
end;
if td.SP2 <> 0 then begin //SP回復速度%
SPDelayFix := SPDelayFix + 100 - td.SP2;
end;
CalcStat()
〜省略〜
for i := 0 to 3 do begin
HPDelayFix := 0;
SPDelayFix := 0;
end;
〜省略〜
j := 100 - HPDelayFix;
if j < 0 then j := 0;
k := 100 - SPDelayFix;
if k < 0 then k := 0;
for i:=0 to 3 do begin
HPDelay[i] := HPDelay[i] * Cardinal(j) div 100;
if HPDelay[i] < 150 then HPDelay[i] := 150;
SPDelay[i] := SPDelay[i] * Cardinal(k) div 100;
if SPDelay[i] < 150 then SPDelay[i] := 150;
end;
該当個所は解ると思うのでこれに差し替えてください…。
PT分配エラーについては
if tpa.Member[i].Map = Map then Inc(m);
を
tc1 := tpa.Member[i];
if tc1 <> nil then begin
if tc1.Map = Map then Inc(m);
にして、同様に
if tpa.Member[i].Map = Map then CalcLvUP(tpa.Member[i],l,w);
を
tc1 := tpa.Member[i];
if tc1 <> nil then begin
if tc1.Map = Map then CalcLvUP(tc1,l,w);
に換えてください。
リミットについては
MonsterDie()内の
if DisableLevelLimit or (tc1.BaseLV < 99) then
と
if DisableLevelLimit or ((tc1.Job = 0) and (tc1.JobLV < 10)) or ((tc1.Job <> 0) and (tc1.JobLV < 50)) then
の条件分岐を外して、
CalcLvUP()内の
tc1.BaseEXP := tc1.BaseEXP + EXP;
を
if DisableLevelLimit or (tc1.BaseLV < 99) then
tc1.BaseEXP := tc1.BaseEXP + EXP;
に、
tc1.JobEXP := tc1.JobEXP + JEXP;
を
if DisableLevelLimit or ((tc1.Job = 0) and (tc1.JobLV < 10)) or ((tc1.Job <> 0) and (tc1.JobLV < 50)) then
tc1.JobEXP := tc1.JobEXP + JEXP;
にしてください。