Simba Code:
program ChaosDwarfKillerPublicReleaseV1;
{$include srl/srl.simba}
procedure AntiBan;
begin
if (not(LoggedIn)) then
Exit;
Case Random (500) of
0..15: BoredHuman;
50..65: PickUpMouse;
90..105: RandomRClick;
115..120: RandomMovement;
160..180: ExamineInv;
230..250:
begin
HoverSkill('random', false);
sleepandmovemouse(276 + Random(100));
PickUpMouse;
ChooseOption('Cancel');
SetAngle(SRL_ANGLE_HIGH);
end;
300..320: BoredHuman;
350..390: PickUpMouse;
420..450: RandomRClick;
280..299: RandomMovement;
460..480: SleepAndMoveMouse(3000 + Random(500));
end;
end;
function MonsterColor: Integer;
var
arP: TPointArray;
arC: TIntegerArray;
tmpCTS, i, arL: Integer;
R, G, B: Integer;
X, Y, Z: Extended;
begin
tmpCTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.07, 0.22);
if not (FindColorsTolerance(arP, 11389410, MSX1, MSY1, MSX2, MSY2, 5)) then
begin
Writeln('Failed to find the color, no result.');
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);
Exit;
end;
arC := GetColors(arP);
ClearSameIntegers(arC);
arL := High(arC);
for i := 0 to arL do
begin
ColorToRGB(arC[i], R, G, B);
if (R >= 219) and (R <= 232) and (G >= 191) and (G <= 212) and (B >= 157) and (B <= 190) then
begin
ColorToXYZ(arC[i], X, Y, Z);
if (X >= 54.52) and (X <= 65.45) and (Y >= 55.37) and (Y <= 67.27) and (Z >= 40.14) and (Z <= 57.68) then
begin
Result := arC[i];
Writeln('AutoColor = ' + IntToStr(arC[i]));
Break;
end;
end;
end;
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);
if (i = arL + 1) then
Writeln('AutoColor failed in finding the color.');
end;
function MithSqColor: Integer;
var
arP: TPointArray;
arC: TIntegerArray;
tmpCTS, i, arL: Integer;
H, S, L: Extended;
X, Y, Z: Extended;
begin
tmpCTS := GetColorToleranceSpeed;
ColorToleranceSpeed(1);
FindColorsSpiralTolerance(MSCX, MSCY, arP, 6242625, MSX1, MSY1, MSX2, MSY2, 23);
if (Length(arP) = 0) then
begin
Writeln('Failed to find the color, no result.');
ColorToleranceSpeed(tmpCTS);
Exit;
end;
arC := GetColors(arP);
ClearSameIntegers(arC);
arL := High(arC);
for i := 0 to arL do
begin
ColorToHSL(arC[i], H, S, L);
if (H >= 66.65) and (H <= 66.69) and (S >= 18.78) and (S <= 19.37) and (L >= 26.06) and (L <= 36.49) then
begin
ColorToXYZ(arC[i], X, Y, Z);
if (X >= 4.23) and (X <= 8.31) and (Y >= 3.97) and (Y <= 7.70) and (Z >= 7.92) and (Z <= 16.10) then
begin
Result := arC[i];
Writeln('AutoColor = ' + IntToStr(arC[i]));
Break;
end;
end;
end;
ColorToleranceSpeed(tmpCTS);
if (i = arL + 1) then
Writeln('AutoColor failed in finding the color.');
end;
function WaterRuneColor: Integer;
var
arP: TPointArray;
arC: TIntegerArray;
tmpCTS, i, arL: Integer;
H, S, L: Extended;
X, Y, Z: Extended;
begin
tmpCTS := GetColorToleranceSpeed;
ColorToleranceSpeed(1);
FindColorsSpiralTolerance(MSCX, MSCY, arP, 11016981, MSX1, MSY1, MSX2, MSY2, 0);
if (Length(arP) = 0) then
begin
Writeln('Failed to find the color, no result.');
ColorToleranceSpeed(tmpCTS);
Exit;
end;
arC := GetColors(arP);
ClearSameIntegers(arC);
arL := High(arC);
for i := 0 to arL do
begin
ColorToHSL(arC[i], H, S, L);
if (H >= 65.97) and (H <= 66.01) and (S >= 77.76) and (S <= 77.80) and (L >= 37.04) and (L <= 37.08) then
begin
ColorToXYZ(arC[i], X, Y, Z);
if (X >= 7.75) and (X <= 7.79) and (Y >= 3.75) and (Y <= 3.79) and (Z >= 37.33) and (Z <= 37.37) then
begin
Result := arC[i];
Writeln('AutoColor = ' + IntToStr(arC[i]));
Break;
end;
end;
end;
ColorToleranceSpeed(tmpCTS);
if (i = arL + 1) then
Writeln('AutoColor failed in finding the color.');
end;
function GoldCharmColor: Integer;
var
arP: TPointArray;
arC: TIntegerArray;
tmpCTS, i, arL: Integer;
H, S, L: Extended;
X, Y, Z: Extended;
begin
tmpCTS := GetColorToleranceSpeed;
ColorToleranceSpeed(1);
FindColorsSpiralTolerance(MSCX, MSCY, arP, 4878211, MSX1, MSY1, MSX2, MSY2, 0);
if (Length(arP) = 0) then
begin
Writeln('Failed to find the color, no result.');
ColorToleranceSpeed(tmpCTS);
Exit;
end;
arC := GetColors(arP);
ClearSameIntegers(arC);
arL := High(arC);
for i := 0 to arL do
begin
ColorToHSL(arC[i], H, S, L);
if (H >= 10.80) and (H <= 10.84) and (S >= 27.78) and (S <= 27.82) and (L >= 40.18) and (L <= 40.22) then
begin
ColorToXYZ(arC[i], X, Y, Z);
if (X >= 16.26) and (X <= 16.30) and (Y >= 16.67) and (Y <= 16.71) and (Z >= 8.82) and (Z <= 8.86) then
begin
Result := arC[i];
Writeln('AutoColor = ' + IntToStr(arC[i]));
Break;
end;
end;
end;
ColorToleranceSpeed(tmpCTS);
if (i = arL + 1) then
Writeln('AutoColor failed in finding the color.');
end;
function CrimsonCharmColor: Integer;
var
arP: TPointArray;
arC: TIntegerArray;
tmpCTS, i, arL: Integer;
H, S, L: Extended;
X, Y, Z: Extended;
begin
tmpCTS := GetColorToleranceSpeed;
ColorToleranceSpeed(1);
FindColorsSpiralTolerance(MSCX, MSCY, arP, 3158886, MSX1, MSY1, MSX2, MSY2, 13);
if (Length(arP) = 0) then
begin
Writeln('Failed to find the color, no result.');
ColorToleranceSpeed(tmpCTS);
Exit;
end;
arC := GetColors(arP);
ClearSameIntegers(arC);
arL := High(arC);
for i := 0 to arL do
begin
ColorToHSL(arC[i], H, S, L);
if (H >= 0.81) and (H <= 1.00) and (S >= 26.65) and (S <= 45.97) and (L >= 29.00) and (L <= 29.43) then
begin
ColorToXYZ(arC[i], X, Y, Z);
if (X >= 6.85) and (X <= 7.49) and (Y >= 5.12) and (Y <= 5.66) and (Z >= 2.59) and (Z <= 4.36) then
begin
Result := arC[i];
Writeln('AutoColor = ' + IntToStr(arC[i]));
Break;
end;
end;
end;
ColorToleranceSpeed(tmpCTS);
if (i = arL + 1) then
Writeln('AutoColor failed in finding the color.');
end;
function Click(): boolean;
var
x, y, w, h: integer;
B: TBox;
begin
GetMousePos(x, y);
w := 525;
h := 338;
GetClientDimensions(w, h);
B := IntToBox(x - 15, y - 15, x + 15, y + 15);
if B.x1 < 0 then B.x1 := 0;
if B.y1 < 0 then B.y1 := 0;
if B.x2 > w then B.x2 := w;
if B.y2 > h then B.y2 := h;
begin
if findColorTolerance(x, y, 62713, B.x1, B.y1, B.x2, B.y2, 20) then
begin
Result := True
Exit;
end;
end;
end;
Function YellowClick: Boolean;
begin
Result := Click;
end;
Function RedClick: Boolean;
begin
Result := Not Click;
end;
function FindRedBar : Boolean; //returns True if a full red hp bar is found
var
RedBarDTM1, RedBarDTM2,x,y : Integer;
begin
Result := False;
RedBarDTM1 := DTMFromString('mVAEAAHicE2BgYGBkZGCQhmJOIP4BFHsFxM+A+CUDhM8CFOdlhKj9AuT/Z4CoBbFdgLQTELsBsTsShonDMLKcIxSDxHewcjN4A80JZmZg8OJgYPBjZ2CwBNJxQH4ekyBDE5Dfys/NEMDDwODLy8DgycbAEMTEwOANxA1AOUoBI4UYHQAAHuAS8A=='); //two DTMs just in case
RedBarDTM2 := DTMFromString('mwQAAAHic42RgYGBnZGB4B6SVgLQ0EH8Csn8DMTeQzQLEnED8jQmCvwLxDyj+AsUg9k8g3sTKyNAA1FcvJszQzMDKkMPKwNDExcnQxsfL0AqU92EgDjASgeEAAOCeEO4=');
if FindDTM(RedBarDTM1,x,y,MSX1,MSY1,MSX2,MSY2) or
FindDTM(RedBarDTM2,x,y,MSX1,MSY1,MSX2,MSY2) then
begin
Result := True;
end;
FreeDTM(RedBarDTM1);
FreeDTM(RedBarDTM2);
end;
Function Moving: Boolean;
var
MovingBox: Tbox;
begin
MovingBox := IntToBox(259, 133, 272, 151);
Result := (AveragePixelShift(MovingBox, 500, 300) > 80);
end;
Function InFight: Boolean;
var
InFightBox: Tbox;
begin
InFightBox := IntToBox(260, 137, 277, 185);
Result := (AveragePixelShift(InFightBox, 500, 300) > 100);
end;
procedure MarkTimer;
var TimeMarker: Integer;
begin
TimeMarker := GetSystemTime;
end;
function TimeFromMarker(TimeMarker: Integer): Integer;
begin
Result := GetSystemTime - TimeMarker;
end;
procedure TimeFailsafe;
var i: Integer;
begin
MarkTime(i);
wait(100);
end;
Procedure Looting;
var x,y,GoldCharmDTM1,GoldCharmDTM2,GoldCharmDTM3: Integer;
begin
GoldCharmDTM1 := DTMFromString('m5wEAAHicE2dgYFjDyMCwAogXAPE8IJ4IxH1APAHKngGVWwbEK4F4HRBvAeJdQLwXiA8D8QkkfACItwLxBiBeAsSLgHgh1GwYXgw1bzkUL0OikfEKqPgSJPfBsLa6DAo+tmMqHIMAMhum5v8EBzAfRMP4yBimjpaAkYYYBwAAcqY3kA==');
GoldCharmDTM2 := DTMFromString('m/AEAAHictcw9CoNAEAXg2VtY2KfwEt7QCNEum5gf3dLCQizEIgTJpeIbeMpiSLkPPnbhzUwkIoMR6aAFB3e4goUznCCjHEp2NXd0f4QXzPDxTPDgvLpRxduXXffkXdXsOKo5a7mv+R5TSQ7xj3dfbK/ys3a6q9G/H78LGRPYvyxb1DFs');
GoldCharmDTM3 := DTMFromString('muQIAAHiczc4tCwJBEMbx2e9hMRn8En5C8QWTcr6gdxcNCgaDXDjEZhGLBpPBIGLX/547sCwcRh34wcyy8+xWRWRtRJaYI8EUEQbooOm00UUfI6RYmM9+hi32OOCEC66444kHbjjjiB1ybLw3rYkTBezZDLH7Z1oiKRF72WOXOfTyX62G1GuVQr7qFfxeZ1t6T+ewNEv7kO7aXvO0/3WZP/C13kmfTV4=');
If FindColor(x,y,GoldCharmColor,MSX1,MSY1,MSX2,MSY2) or
FindColor(x,y,MithSqColor,MSX1,MSY1,MSX2,MSY2) or
FindColor(x,y,WaterRuneColor,MSX1,MSY1,MSX2,MSY2) or
FindColor(x,y,CrimsonCharmColor,MSX1,MSY1,MSX2,MSY2) then
begin
Writeln('Found Charm');
MMouse(x,y,5,5)
Wait(50 + Random(50));
Mouse(x,y,5,5,false);
If FindDTM(GoldCharmDTM1,x,y,MSX1,MSY1,MSX2,MSY2) or
FindDTM(GoldCharmDTM2,x,y,MSX1,MSY1,MSX2,MSY2) or
FindDTM(GoldCharmDTM3,x,y,MSX1,MSY1,MSX2,MSY2) then
begin
Wait(100 + Random(50));
MMouse(x,y,5,5);
Mouse(x,y,5,5,true);
Wait(100 + Random(50));
end;
end;
FreeDTM(GoldCharmDTM1);
FreeDTM(GoldCharmDTM2);
FreeDTM(GoldCharmDTM3);
end;
procedure FailsafeFight;
var x,y,i,r,ChaosDwarfOptionDTM1,ChaosDwarfOptionDTM2,ChaosDwarfOptionDTM3: Integer;
ChaosDwarf: Array [0..8] of Integer;
aFound: Extended;
begin
SetAngle(SRL_ANGLE_HIGH);
ClearDebug;
AntiBan;
ChaosDwarf[0] := DTMFromString('mQwAAAHicY2ZgYPgExF+A+CsQFwBxDhDnA3FhVhZDV2MDmEYGjEgYCABxVAhC');
ChaosDwarf[1] := DTMFromString('mQwAAAHicY2ZgYPgGxF+A+DsQlwBxERAXALGvvjJDRUE+Q0d9HQMyYETCQAAAXOgHuQ==');
ChaosDwarf[2] := DTMFromString('mQwAAAHicY2ZgYHgDxe+AOBuIM4E4B4jDAwMZkqKjGYK8vRmQASMSBgIARPwHBg==');
ChaosDwarf[3] := DTMFromString('mQwAAAHicY2ZgYPgCxB+gdCIUpwBxa3U1Q0N5OUNuaioDMmBEwkAAAGxdCCU=');
ChaosDwarf[4] := DTMFromString('mQwAAAHicY2ZgYLjGyMBwhRFCbwbytwDxNiDOTk5myExMZEhLiGNABoxIGAgAb/0IJw==');
ChaosDwarf[5] := DTMFromString('mQwAAAHicY2ZgYGBiAhEMDCxAbAFkWgKxFRDXqMuBcb26AgMyYETCQAAAcdcDBg==');
ChaosDwarf[6] := DTMFromString('mQwAAAHicY2ZgYFjIyMAwD4gXAXEOAwTnAXFHfR1DT3MTw5TOTgZkwIiEgQAATSYH7Q==');
ChaosDwarf[7] := DTMFromString('mQwAAAHicY2ZgYPjACMGfgVgLyFdjgNCBVqoM/l6eDDHO2gzIgBEJAwEADxgFsw==');
ChaosDwarf[8] := DTMFromString('mQwAAAHicY2ZgYPjCyMDwCYqlGCBYBojbNJUZ6tUVGJo1FRiQASMSBgIACucFlg==');
ChaosDwarfOptionDTM1 := DTMFromString('mFQEAAHic42VgYGBjZGBgAuI/QPZXIP4ExF+AmAEoxgrEXEAsDMRSQCwNxBJAXALEBUgYxC8H4gosGCSXD8Ta6jIMx3ZMBWMQgNEgcWQ5ZHFyACMZGAUAAAjEGJM=');
ChaosDwarfOptionDTM2 := DTMFromString('mUAIAAHicvcwxCsJAEIXhCUoqsUihQdJFCEQ7GysLCTlP1Jh4Ee/iCTyQaKfEf3Ajg4WkyoOPXd7sTiQiU08kRIARfAzwZPbADXfnhSGzMSaYYY4lVlhjgy1yZK7TeYoYJQocjMLY44jaOHWgeyv3f2f2XS9n0ei5SKIv29vYuWqaT9eeGr3/vtfO9n3F69m/vAHyYTBF');
ChaosDwarfOptionDTM3 := DTMFromString('mYQMAAHic1c09CsJAEIbhDYiNIIKNiJWFv4WNhYVYeAPFRhArsdPIGkQP4l08gQcSC8EivqOzuISAtvngYchkZ6ZtjOkHHz100EIdVVRQRhEF5JGDwZPywF3dlLwp6XxD9w4wwhhTzLHEGhtsscICM0z07VBnD4hUiJ2KvCr2ynpvHKt7TimOP7j71hMmbrp0mzUTx9/qR3rXy/ldHfctVZL8L/x5iex1N9ydZC+tn4UEGfB3XvjURAY=');
If not InFight then
begin
for r:= 0 to 8 do
If FindDTMRotated(ChaosDwarf[r],x,y,MSX1,MSY1,MSX2,MSY2, -Pi/4, Pi/4, Pi/60, aFound) then
Writeln('Found Monster');
MMouse(x,y,0,0);
case Random(2) of
0:
begin
Mouse(x,y,0,0,false);
Wait(100 + Random(50));
If FindDTM(ChaosDwarfOptionDTM1,x,y,MSX1,MSY1,MSX2,MSY2) or
FindDTM(ChaosDwarfOptionDTM2,x,y,MSX1,MSY1,MSX2,MSY2) or
FindDTM(ChaosDwarfOptionDTM3,x,y,MSX1,MSY1,MSX2,MSY2) then
begin
Wait(50 + Random(50));
MMouse(x,y,5,5);
Mouse(x,y,5,5,true);
Wait(50 + Random(50));
Writeln('Fucking it hard');
end;
If not(FindDTM(ChaosDwarfOptionDTM1,x,y,MSX1,MSY1,MSX2,MSY2)) or
not(FindDTM(ChaosDwarfOptionDTM2,x,y,MSX1,MSY1,MSX2,MSY2)) or
not(FindDTM(ChaosDwarfOptionDTM3,x,y,MSX1,MSY1,MSX2,MSY2)) then
begin
FailsafeFight;
end;
end;
1:
begin
Mouse(x,y,0,0,false);
Wait(100 + Random(50));
If FindDTM(ChaosDwarfOptionDTM1,x,y,MSX1,MSY1,MSX2,MSY2) or
FindDTM(ChaosDwarfOptionDTM2,x,y,MSX1,MSY1,MSX2,MSY2) or
FindDTM(ChaosDwarfOptionDTM3,x,y,MSX1,MSY1,MSX2,MSY2) then
begin
Wait(50 + Random(50));
MMouse(x,y,5,5);
Mouse(x,y,5,5,true);
Wait(50 + Random(50));
Writeln('Fucking it hard');
end;
If not(FindDTM(ChaosDwarfOptionDTM1,x,y,MSX1,MSY1,MSX2,MSY2)) or
not(FindDTM(ChaosDwarfOptionDTM2,x,y,MSX1,MSY1,MSX2,MSY2)) or
not(FindDTM(ChaosDwarfOptionDTM3,x,y,MSX1,MSY1,MSX2,MSY2)) then
begin
FailsafeFight;
end;
end;
end;
end;
FreeDTM(ChaosDwarf[1]);
FreeDTM(ChaosDwarf[2]);
FreeDTM(ChaosDwarf[3]);
FreeDTM(ChaosDwarf[4]);
FreeDTM(ChaosDwarf[5]);
FreeDTM(ChaosDwarf[6]);
FreeDTM(ChaosDwarf[7]);
FreeDTM(ChaosDwarf[8]);
FreeDTM(ChaosDwarf[0]);
FreeDTM(ChaosDwarfOptionDTM1);
FreeDTM(ChaosDwarfOptionDTM2);
FreeDTM(ChaosDwarfOptionDTM3);
end;
procedure Fight;
var x,y,i,r,ChaosDwarfOptionDTM1,ChaosDwarfOptionDTM2,ChaosDwarfOptionDTM3: Integer;
ChaosDwarf: Array [0..8] of Integer;
aFound: Extended;
begin
SetAngle(SRL_ANGLE_HIGH);
ClearDebug;
AntiBan;
ChaosDwarf[0] := DTMFromString('mQwAAAHicY2ZgYPgExF+A+CsQFwBxDhDnA3FhVhZDV2MDmEYGjEgYCABxVAhC');
ChaosDwarf[1] := DTMFromString('mQwAAAHicY2ZgYPgGxF+A+DsQlwBxERAXALGvvjJDRUE+Q0d9HQMyYETCQAAAXOgHuQ==');
ChaosDwarf[2] := DTMFromString('mQwAAAHicY2ZgYHgDxe+AOBuIM4E4B4jDAwMZkqKjGYK8vRmQASMSBgIARPwHBg==');
ChaosDwarf[3] := DTMFromString('mQwAAAHicY2ZgYPgCxB+gdCIUpwBxa3U1Q0N5OUNuaioDMmBEwkAAAGxdCCU=');
ChaosDwarf[4] := DTMFromString('mQwAAAHicY2ZgYLjGyMBwhRFCbwbytwDxNiDOTk5myExMZEhLiGNABoxIGAgAb/0IJw==');
ChaosDwarf[5] := DTMFromString('mQwAAAHicY2ZgYGBiAhEMDCxAbAFkWgKxFRDXqMuBcb26AgMyYETCQAAAcdcDBg==');
ChaosDwarf[6] := DTMFromString('mQwAAAHicY2ZgYFjIyMAwD4gXAXEOAwTnAXFHfR1DT3MTw5TOTgZkwIiEgQAATSYH7Q==');
ChaosDwarf[7] := DTMFromString('mQwAAAHicY2ZgYPjACMGfgVgLyFdjgNCBVqoM/l6eDDHO2gzIgBEJAwEADxgFsw==');
ChaosDwarf[8] := DTMFromString('mQwAAAHicY2ZgYPjCyMDwCYqlGCBYBojbNJUZ6tUVGJo1FRiQASMSBgIACucFlg==');
ChaosDwarfOptionDTM1 := DTMFromString('mFQEAAHic42VgYGBjZGBgAuI/QPZXIP4ExF+AmAEoxgrEXEAsDMRSQCwNxBJAXALEBUgYxC8H4gosGCSXD8Ta6jIMx3ZMBWMQgNEgcWQ5ZHFyACMZGAUAAAjEGJM=');
ChaosDwarfOptionDTM2 := DTMFromString('mUAIAAHicvcwxCsJAEIXhCUoqsUihQdJFCEQ7GysLCTlP1Jh4Ee/iCTyQaKfEf3Ajg4WkyoOPXd7sTiQiU08kRIARfAzwZPbADXfnhSGzMSaYYY4lVlhjgy1yZK7TeYoYJQocjMLY44jaOHWgeyv3f2f2XS9n0ei5SKIv29vYuWqaT9eeGr3/vtfO9n3F69m/vAHyYTBF');
ChaosDwarfOptionDTM3 := DTMFromString('mYQMAAHic1c09CsJAEIbhDYiNIIKNiJWFv4WNhYVYeAPFRhArsdPIGkQP4l08gQcSC8EivqOzuISAtvngYchkZ6ZtjOkHHz100EIdVVRQRhEF5JGDwZPywF3dlLwp6XxD9w4wwhhTzLHEGhtsscICM0z07VBnD4hUiJ2KvCr2ynpvHKt7TimOP7j71hMmbrp0mzUTx9/qR3rXy/ldHfctVZL8L/x5iex1N9ydZC+tn4UEGfB3XvjURAY=');
If not InFight then
begin
Looting;
Wait(1900 + Random(100));
for r:= 0 to 8 do
If FindDTMRotated(ChaosDwarf[r],x,y,MSX1,MSY1,MSX2,MSY2, -Pi/4, Pi/4, Pi/60, aFound) then
Writeln('Found Monster');
MMouse(x,y,0,0);
case Random(10) of
0..4:
begin
Mouse(x,y,0,0,false);
Wait(100 + Random(50));
If FindDTM(ChaosDwarfOptionDTM1,x,y,MSX1,MSY1,MSX2,MSY2) or
FindDTM(ChaosDwarfOptionDTM2,x,y,MSX1,MSY1,MSX2,MSY2) or
FindDTM(ChaosDwarfOptionDTM3,x,y,MSX1,MSY1,MSX2,MSY2) then
begin
Wait(50 + Random(50));
MMouse(x,y,5,5);
Mouse(x,y,5,5,true);
Wait(50 + Random(50));
Writeln('Fucking it hard');
end;
If not(FindDTM(ChaosDwarfOptionDTM1,x,y,MSX1,MSY1,MSX2,MSY2)) or
not(FindDTM(ChaosDwarfOptionDTM2,x,y,MSX1,MSY1,MSX2,MSY2)) or
not(FindDTM(ChaosDwarfOptionDTM3,x,y,MSX1,MSY1,MSX2,MSY2)) then
begin
FailsafeFight;
end;
end;
5..9:
begin
Mouse(x,y,0,0,false);
Wait(100 + Random(50));
If FindDTM(ChaosDwarfOptionDTM1,x,y,MSX1,MSY1,MSX2,MSY2) or
FindDTM(ChaosDwarfOptionDTM2,x,y,MSX1,MSY1,MSX2,MSY2) or
FindDTM(ChaosDwarfOptionDTM3,x,y,MSX1,MSY1,MSX2,MSY2) then
begin
Wait(50 + Random(50));
MMouse(x,y,5,5);
Mouse(x,y,5,5,true);
Wait(50 + Random(50));
Writeln('Fucking it hard');
end;
If not(FindDTM(ChaosDwarfOptionDTM1,x,y,MSX1,MSY1,MSX2,MSY2)) or
not(FindDTM(ChaosDwarfOptionDTM2,x,y,MSX1,MSY1,MSX2,MSY2)) or
not(FindDTM(ChaosDwarfOptionDTM3,x,y,MSX1,MSY1,MSX2,MSY2)) then
begin
FailsafeFight;
end;
end;
10:
begin
Looting;
end;
end;
end;
If InFight then
begin
MarkTime(i);
Writeln('Already derpin');
repeat
Wait (2000 + Random(500));
until (not(InFight)) or (TimeFromMarker(i) >= 7000)
end;
If RedClick then
begin
Writeln('Clicked Attack');
Wait(1500 + Random(200));
end;
FreeDTM(ChaosDwarf[1]);
FreeDTM(ChaosDwarf[2]);
FreeDTM(ChaosDwarf[3]);
FreeDTM(ChaosDwarf[4]);
FreeDTM(ChaosDwarf[5]);
FreeDTM(ChaosDwarf[6]);
FreeDTM(ChaosDwarf[7]);
FreeDTM(ChaosDwarf[8]);
FreeDTM(ChaosDwarf[0]);
FreeDTM(ChaosDwarfOptionDTM1);
FreeDTM(ChaosDwarfOptionDTM2);
FreeDTM(ChaosDwarfOptionDTM3);
end;
procedure OneRun;
begin
AntiBan;
repeat
Fight;
until (InFight);
end;
begin
SetupSRL;
ClearDebug;
begin
repeat
OneRun;
until(false);
end;
end.