ダブルアタックはクリティカルより優先。
クリティカルはヒットより優先。
ってことで修正案作って見ました。
〜省略〜
if Random(100) < k then begin
miss := False; //命中
end else begin
miss := True; //ミス
end;
if (SkillPer = 0) and ( Random(100) < Critical ) then begin
crt := True;
end else begin
crt := False;
end;
if (SkillPer = 0) and ( Random(100) < DAPer ) then begin
//ダブルアタック
if miss = False then begin
//命中したのなら
dmg[4] := 2;
dmg[5] := 8;
end else begin
//ミス
if crt = True then begin
//クリティカル
miss := False;
dmg[4] := 1;
dmg[5] := 10;
end;
end;
end else begin
//通常攻撃
dmg[4] := 1;
if crt = True then begin
//クリティカル
miss := False;
dmg[5] := 10;
end else begin
//通常攻撃
dmg[5] := 0;
end;
end;
if miss = False then begin
〜省略〜