with tb do begin
ID := StrToInt(sl.Strings[0]);
Name := sl.Strings[1];
JName := sl.Strings[2];
LV := StrToInt(sl.Strings[3]);
HP := StrToInt(sl.Strings[4]) * EnemyHPMultiplier div 10;
SP := StrToInt(sl.Strings[5]);
EXP := StrToInt(sl.Strings[6]);
JEXP := StrToInt(sl.Strings[7]);
Range1 := StrToInt(sl.Strings[8]);
ATK1 := StrToInt(sl.Strings[9]) * EnemyATKMultiplier div 10;
ATK2 := StrToInt(sl.Strings[10]) * EnemyATKMultiplier div 10;
DEF := StrToInt(sl.Strings[11]) + EnemyDEFAdd;
MDEF := StrToInt(sl.Strings[12]);
for j := 0 to 5 do Param[j] := StrToInt(sl.Strings[13+j]);
Param[2] := Param[2] * EnemyVitMultiplier div 10;
Range2 := StrToInt(sl.Strings[19]);
Range3 := StrToInt(sl.Strings[20]);
Scale := StrToInt(sl.Strings[21]);
Race := StrToInt(sl.Strings[22]);
Element := StrToInt(sl.Strings[23]);
Mode := StrToInt(sl.Strings[24]);
Speed := StrToInt(sl.Strings[25]) * 10 div EnemyMSpeedMultiplier;
ADelay := StrToInt(sl.Strings[26]) * 10 div EnemyASPDMultiplier;
aMotion := StrToInt(sl.Strings[27]);
dMotion := StrToInt(sl.Strings[28]);
for j := 0 to 7 do begin
Drop[j].ID := StrToInt(sl.Strings[29+j*2]);
Drop[j].Per := StrToInt(sl.Strings[30+j*2]);
k := ItemDB.IndexOf(IntToStr(Drop[j].ID));
if k <> -1 then begin
Drop[j].Data := ItemDB.Objects[k] as TItemDB;
end else begin
k := ItemDB.IndexOf('512');
Drop[j].Data := ItemDB.Objects[k] as TItemDB;
Drop[j].ID := 512;
Drop[j].Per := 0;
end;
end;
Item1 := StrToInt(sl.Strings[45]);
Item2 := StrToInt(sl.Strings[46]);
MEXP := StrToInt(sl.Strings[47]);
MEXPPer := StrToInt(sl.Strings[48]);
for j := 0 to 2 do begin
MVPItem[j].ID := StrToInt(sl.Strings[49+j*2]);
MVPItem[j].Per := StrToInt(sl.Strings[50+j*2]);
end;
if sl.IndexOfName('EnemyHPMultiplier') <> -1 then begin
EnemyHPMultiplier := StrToInt(sl.Values['EnemyHPMultiplier']);
end else begin
EnemyHPMultiplier := 10;
end;
if sl.IndexOfName('EnemyATKMultiplier') <> -1 then begin
EnemyATKMultiplier := StrToInt(sl.Values['EnemyATKMultiplier']);
end else begin
EnemyATKMultiplier := 10;
end;
if sl.IndexOfName('EnemyVitMultiplier') <> -1 then begin
EnemyVitMultiplier := StrToInt(sl.Values['EnemyVitMultiplier']);
end else begin
EnemyVitMultiplier := 10;
end;
if sl.IndexOfName('EnemyMSpeedMultiplier') <> -1 then begin
EnemyMSpeedMultiplier := StrToInt(sl.Values['EnemyMSpeedMultiplier']);
end else begin
EnemyMSpeedMultiplier := 10;
end;
if sl.IndexOfName('EnemyASPDMultiplier') <> -1 then begin
EnemyASPDMultiplier := StrToInt(sl.Values['EnemyASPDMultiplier']);
end else begin
EnemyASPDMultiplier := 10;
end;
if sl.IndexOfName('EnemyDEFAdd') <> -1 then begin
EnemyDEFAdd := StrToInt(sl.Values['EnemyDEFAdd']);
end else begin
EnemyDEFAdd := 0;
end;
if sl.IndexOfName('EnemyHitAdd') <> -1 then begin
EnemyHitAdd := StrToInt(sl.Values['EnemyHitAdd']);
end else begin
EnemyHitAdd := 0;
end;
if sl.IndexOfName('EnemyFleeAdd') <> -1 then begin
EnemyFleeAdd := StrToInt(sl.Values['EnemyFleeAdd']);
end else begin
EnemyFleeAdd := 0;
end;
↑Mainのini読んでるところ
にそれぞれ書き換えor追記してください
Multi〜は10がデフォ値 Addは0がデフォ値、マイナス値書いたときのでのエラーはしるか('A`)
Vitはオークロードのせいかちょっと増やすだけですぐエラりますが、仕様です(´ヮ`;)