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;