Code:
Procedure TalkJudge;
Var
x,y,attempts: Integer;
Check: Boolean;
positions: T2DIntegerArray;
positionsLength : Integer;
Index: Integer;
Begin
Check:=False;
positionsLength := 10;
SetLength(positions,positionsLength);
positions := [
TIntegerArray([217, 201, 228, 259]),
TIntegerArray([252, 225, 261, 284]),
TIntegerArray([233, 175, 237, 228]),
TIntegerArray([256, 189, 270, 250]),
TIntegerArray([293, 208, 301, 240]),
TIntegerArray([340, 228, 344, 291]),
TIntegerArray([335, 145, 340, 198]),
TIntegerArray([378, 225, 382, 240]),
TIntegerArray([278, 175, 282, 214]),
TIntegerArray([305, 180, 308, 229])
];
repeat begin
if not(FindColorSpiralTolerance(x, y, 10092288, 402, 163, 465, 193, 20))then
begin
//Target View Screen
Wait(563+Random(193));
if(Debug)then begin Writeln('Talking To Judge'); end;
//Reduced ifs to 10 lines
for Index := 0 to (positionsLength-1) do
begin
DragMouseSpot(positions[Index][0], positions[Index][1], positions[Index][2], positions[Index][3]);
If IsUpTextMultiCustom(['Talk-to','alk-to']) then
begin
ClickCurrent(False);
if (ChooseOptionMulti(['Compete','ompete'])) then begin Check:=True; end
else begin Exit; Break; end;
end
end;
//end of changes
end else begin CloseTVUp; end;
//Wait(563+Random(193));
...