SHOW:
|
|
- or go back to the newest paste.
| 1 | program ArmouredZombieKiller; //By ~GGzz~ | |
| 2 | {$define SMART}
| |
| 3 | {$define CrashSmart}
| |
| 4 | {$i srl/srl.simba}
| |
| 5 | {$i srl/srl/skill/fighting.simba}
| |
| 6 | {$i SRL/SRL/misc/paintsmart.simba}
| |
| 7 | //{$I srl/srl/misc/debug.simba}
| |
| 8 | ||
| 9 | var | |
| 10 | Food: TStringArray; | |
| 11 | WhichFamiliar, WTP, WTE, WTD, WaitFight_Shield, WaitFight_Damage: Integer; | |
| 12 | Potion, SStatus: String; | |
| 13 | NoSS, Debugs, Paint, Closed, Permanent: boolean; | |
| 14 | SaveMe: Boolean; | |
| 15 | StartExperience: Int64; | |
| 16 | ItemCheckList: TStringArray; | |
| 17 | ||
| 18 | const | |
| 19 | ||
| 20 | PickItems = False; //Set to true if you'd like to SEE/TRY picking up Items.. It is in BETA but will do you NO harm. | |
| 21 | ||
| 22 | //Fill in your username, etc.. | |
| 23 | Procedure DeclarePlayers; | |
| 24 | begin | |
| 25 | HowManyPlayers := 1; | |
| 26 | NumberOfPlayers(HowManyPlayers); | |
| 27 | CurrentPlayer := 0; | |
| 28 | with Players[0] do | |
| 29 | begin | |
| 30 | Name := ''; | |
| 31 | Pass := ''; | |
| 32 | Pin := ''; | |
| 33 | WorldInfo := [27, 42, 45, 46, 48, 52, 59, 70, 72, 78, 79, 87, 104, 115, 117]; | |
| 34 | BoxRewards := ['XP','xp','lamp']; | |
| 35 | LampSkill := Skill_Slayer; | |
| 36 | Active := True; | |
| 37 | Strings := ['ffigy', 'harm', 'eath rune', 'lood rune', 'oul rune', 'rune', 'essence', 'ak plank', 'eak plank']; //Items to pickUp. DOES NOT WORK PERFECTLY.. Needs work badly!!! | |
| 38 | ItemCheckList := ['bones', 'gp']; //Items to right click to check for the above.. DO NOT TOUCH! | |
| 39 | end; | |
| 40 | end; | |
| 41 | ||
| 42 | ||
| 43 | ||
| 44 | ||
| 45 | ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | |
| 46 | ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | |
| 47 | /// /// | |
| 48 | /// By: ~GGzz~ /// | |
| 49 | /// /// | |
| 50 | /// ALL CODE STARTS HERE!! DO NOT TOUCH IF IN-EXPERIENCED! /// | |
| 51 | /// /// | |
| 52 | ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | |
| 53 | ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | |
| 54 | ||
| 55 | const | |
| 56 | Version = '1.93'; | |
| 57 | Colour = CLBlue; | |
| 58 | Shaddow = False; | |
| 59 | Font = 'StatChars'; | |
| 60 | VersionChars = 'UpChars'; | |
| 61 | ||
| 62 | type | |
| 63 | Skill = record | |
| 64 | ModAtk: Integer; | |
| 65 | ModStr: Integer; | |
| 66 | ModDef: Integer; | |
| 67 | ||
| 68 | Atk: Integer; | |
| 69 | Str: Integer; | |
| 70 | Def: Integer; | |
| 71 | end; | |
| 72 | ||
| 73 | type | |
| 74 | FoodStruct = record | |
| 75 | Item: Integer; | |
| 76 | Uptext: TStringArray; | |
| 77 | end; | |
| 78 | ||
| 79 | type | |
| 80 | ItemPickup = record | |
| 81 | Color: Integer; | |
| 82 | Tolerance: Integer; | |
| 83 | Speed: TExtendedArray; | |
| 84 | end; | |
| 85 | ||
| 86 | var | |
| 87 | SK: Skill; | |
| 88 | LProc, FFinder: String; | |
| 89 | UpTextF: TStringArray; | |
| 90 | PLevel, TimeToDrink, RCTS: Integer; | |
| 91 | ||
| 92 | const | |
| 93 | LadderColour = 536409; | |
| 94 | LTol = 4; | |
| 95 | FFS = True; //FlagFailSafe. | |
| 96 | ||
| 97 | var | |
| 98 | QP: Boolean; //QuickPrayer.. | |
| 99 | ||
| 100 | ||
| 101 | Procedure DebugTPA(TPA: TPointArray; BitmapName: string); | |
| 102 | begin | |
| 103 | Smart_DrawDotsEx(True, TPA, CLBlue); | |
| 104 | end; | |
| 105 | ||
| 106 | Procedure LastRun; | |
| 107 | begin | |
| 108 | writeln('~ Last Run Proc ~');
| |
| 109 | writeln('Last Proc: ' + LProc);
| |
| 110 | writeln('FFinder: ' + FFinder);
| |
| 111 | Writeln('Prayer Level: ' + ToStr(PLevel));
| |
| 112 | writeln('Uptext: ' + ToStr(UpTextF));
| |
| 113 | SStatus:= 'Not Running'; | |
| 114 | end; | |
| 115 | ||
| 116 | var | |
| 117 | AZK : TForm; | |
| 118 | ZombieKillerLabel : TLabel; | |
| 119 | Panel : TPanel; | |
| 120 | Bevel1 : TBevel; | |
| 121 | Familiars : TLabel; | |
| 122 | DPotions : TLabel; | |
| 123 | UseSS : TLabel; | |
| 124 | WTDPots : TLabel; | |
| 125 | WTRP : TLabel; | |
| 126 | WTEF : TLabel; | |
| 127 | Bevel2 : TBevel; | |
| 128 | Developer : TLabel; | |
| 129 | PSmartLabel : TLabel; | |
| 130 | Label1 : TLabel; | |
| 131 | Label2 : TLabel; | |
| 132 | Familiar : TComboBox; | |
| 133 | Potions : TComboBox; | |
| 134 | WhenToDrink : TEdit; | |
| 135 | SoulSplit : TComboBox; | |
| 136 | WhenToPray : TEdit; | |
| 137 | WhenToEat : TEdit; | |
| 138 | PaintOnSmartX : TComboBox; | |
| 139 | Debug : TComboBox; | |
| 140 | FoodBox : TListBox; | |
| 141 | Save : TButton; | |
| 142 | Start : TButton; | |
| 143 | Timer1 : TTimer; | |
| 144 | SaveDialog1 : TSaveDialog; | |
| 145 | ||
| 146 | Procedure InitializeVariables; | |
| 147 | begin | |
| 148 | if (Length(Food) = 0) then | |
| 149 | begin | |
| 150 | SetLength(Food, 1); | |
| 151 | Food[0]:= 'none'; | |
| 152 | end; | |
| 153 | ||
| 154 | if (Potion = '') then | |
| 155 | Potion:= 'none'; | |
| 156 | ||
| 157 | if (Closed = False) then | |
| 158 | TerminateScript; | |
| 159 | end; | |
| 160 | ||
| 161 | Procedure SaveInfo; | |
| 162 | var | |
| 163 | I: Integer; | |
| 164 | begin | |
| 165 | WriteINI('Familiar', 'Key', ToStr(WhichFamiliar) , ScriptPath + 'AZKInfo.INI');
| |
| 166 | if (Length(Food) <> 0) then | |
| 167 | For I:= 0 To High(Food) do | |
| 168 | WriteINI('Food', 'Key[' + ToStr(I) + ']', Food[I], ScriptPath + 'AZKInfo.INI')
| |
| 169 | else | |
| 170 | WriteINI('Food', 'Key[0]', 'None', ScriptPath + 'AZKInfo.INI');
| |
| 171 | WriteINI('WTP', 'Key', ToStr(WTP), ScriptPath + 'AZKInfo.INI');
| |
| 172 | WriteINI('WTE', 'Key', ToStr(WTE), ScriptPath + 'AZKInfo.INI');
| |
| 173 | WriteINI('WTD', 'Key', ToStr(WTD), ScriptPath + 'AZKInfo.INI');
| |
| 174 | WriteINI('Potion', 'Key', ToStr(Potion), ScriptPath + 'AZKInfo.INI');
| |
| 175 | WriteINI('NoSS', 'Key', ToStr(NoSS), ScriptPath + 'AZKInfo.INI');
| |
| 176 | WriteINI('QP', 'Key', ToStr(QP), ScriptPath + 'AZKInfo.INI');
| |
| 177 | if (Debugs = True) then | |
| 178 | WriteINI('Debugs', 'Key', '1', ScriptPath + 'AZKInfo.INI')
| |
| 179 | else | |
| 180 | WriteINI('Debugs', 'Key', '0', ScriptPath + 'AZKInfo.INI');
| |
| 181 | if (Paint = True) then | |
| 182 | WriteINI('Paint', 'Key', '1', ScriptPath + 'AZKInfo.INI')
| |
| 183 | else | |
| 184 | WriteINI('Paint', 'Key', '0', ScriptPath + 'AZKInfo.INI');
| |
| 185 | if Permanent then | |
| 186 | WriteINI('Permanent', 'Key', 'True', ScriptPath + 'AZKInfo.INI');
| |
| 187 | end; | |
| 188 | ||
| 189 | Procedure LoadInfo; | |
| 190 | var | |
| 191 | I, J: Integer; | |
| 192 | Temp: String; | |
| 193 | begin | |
| 194 | WhichFamiliar:= StrToIntDef(ReadINI('Familiar', 'Key', ScriptPath + 'AZKInfo.INI'), 0);
| |
| 195 | SetLength(Food, 12); | |
| 196 | For I:= 0 To 11 do | |
| 197 | begin | |
| 198 | Food[I]:= ReadINI('Food', 'Key[' + ToStr(I) + ']', ScriptPath + 'AZKInfo.INI');
| |
| 199 | end; | |
| 200 | For I:= 0 To High(Food) do | |
| 201 | begin | |
| 202 | if (Food[I] <> '') then | |
| 203 | J:= J + 1; | |
| 204 | end; | |
| 205 | SetLength(Food, J); | |
| 206 | WTP:= StrToIntDef(ReadINI('WTP', 'Key', ScriptPath + 'AZKInfo.INI'), 50);
| |
| 207 | WTE:= StrToIntDef(ReadINI('WTE', 'Key', ScriptPath + 'AZKInfo.INI'), 500);
| |
| 208 | WTD:= StrToIntDef(ReadINI('WTD', 'Key', ScriptPath + 'AZKInfo.INI'), 0);
| |
| 209 | Potion:= ReadINI('Potion', 'Key', ScriptPath + 'AZKInfo.INI');
| |
| 210 | NoSS:= StrToBoolDef(ReadINI('NoSS', 'Key', ScriptPath + 'AZKInfo.INI'), True);
| |
| 211 | QP:= StrToBoolDef(ReadINI('QP', 'Key', ScriptPath + 'AZKInfo.INI'), True);
| |
| 212 | Temp:= ReadINI('Debugs', 'Key', ScriptPath + 'AZKInfo.INI');
| |
| 213 | if (Temp = '1') then | |
| 214 | Debugs:= True | |
| 215 | else | |
| 216 | Debugs:= False; | |
| 217 | Temp:= ReadINI('Paint', 'Key', ScriptPath + 'AZKInfo.INI');
| |
| 218 | if (Temp = '1') then | |
| 219 | Paint:= True | |
| 220 | else | |
| 221 | Paint:= False; | |
| 222 | Permanent:= StrToBoolDef(ReadINI('Permanent', 'Key', ScriptPath + 'AZKInfo.INI'), False);
| |
| 223 | if Permanent then | |
| 224 | Closed:= True; | |
| 225 | end; | |
| 226 | ||
| 227 | Procedure GetInfo(Sender: TObject); | |
| 228 | var | |
| 229 | I, J, K: Integer; | |
| 230 | Error: Boolean; | |
| 231 | Begin | |
| 232 | Error:= False; | |
| 233 | Case Sender Of | |
| 234 | Familiar: | |
| 235 | WhichFamiliar:= Familiar.ITEMS.IndexOf(Familiar.TEXT); | |
| 236 | ||
| 237 | Potions: | |
| 238 | Case LowerCase(Potions.TEXT) of | |
| 239 | 'none': | |
| 240 | Potion:= 'none'; | |
| 241 | 'superset': | |
| 242 | Potion:= 'ss'; | |
| 243 | ||
| 244 | 'superattack': | |
| 245 | Potion:= 'attack'; | |
| 246 | ||
| 247 | 'superstrength': | |
| 248 | Potion:= 'strength'; | |
| 249 | ||
| 250 | 'superdefence': | |
| 251 | Potion:= 'defence'; | |
| 252 | ||
| 253 | 'overload': | |
| 254 | Potion:= 'ovl'; | |
| 255 | ||
| 256 | 'atkstr pure': | |
| 257 | Potion:= 'atkstr'; | |
| 258 | ||
| 259 | 'atkdef pure': | |
| 260 | Potion:= 'atkdef'; | |
| 261 | ||
| 262 | 'strdef pure': | |
| 263 | Potion:= 'strdef'; | |
| 264 | ||
| 265 | end; | |
| 266 | ||
| 267 | PaintOnSmartX: | |
| 268 | Paint:= StrToBool(PaintOnSmartX.TEXT); | |
| 269 | ||
| 270 | Debug: | |
| 271 | Debugs:= StrToBool(Debug.TEXT); | |
| 272 | ||
| 273 | FoodBox: | |
| 274 | begin | |
| 275 | SetLength(Food, FoodBox.Items.Count); | |
| 276 | K:= 0; | |
| 277 | For I := FoodBox.Items.Count - 1 downto 0 do | |
| 278 | begin | |
| 279 | if FoodBox.Selected[I] then | |
| 280 | For J:= 0 To High(Food) do | |
| 281 | if (Food[J] = '') then | |
| 282 | begin | |
| 283 | if (InStrArrEx(FoodBox.ITEMS.Strings[I], Food, K) = False) then | |
| 284 | Food[J]:= FoodBox.ITEMS.Strings[I] | |
| 285 | else | |
| 286 | DeleteValueInStrArray(Food, K); | |
| 287 | break; | |
| 288 | end; | |
| 289 | end; | |
| 290 | ||
| 291 | K:= 0; | |
| 292 | For I:= 0 To High(Food) do | |
| 293 | if (Food[I] <> '') then | |
| 294 | K:= K + 1; | |
| 295 | SetLength(Food, K); | |
| 296 | ||
| 297 | K:= 0; | |
| 298 | For I:= 0 To High(Food) do | |
| 299 | if (Food[I] <> 'None') then | |
| 300 | if InStrArrEx('None', Food, K) then
| |
| 301 | DeleteValueInStrArray(Food, K); | |
| 302 | writeln(Food); | |
| 303 | end; | |
| 304 | ||
| 305 | WhenToPray: | |
| 306 | begin | |
| 307 | if WhenToPray.TEXT = '' then | |
| 308 | exit; | |
| 309 | ||
| 310 | if ExecRegExpr('^[0-9]*$', WhenToPray.TEXT) then
| |
| 311 | WTP:= StrToIntDef(WhenToPray.TEXT, 50) | |
| 312 | else | |
| 313 | begin | |
| 314 | ShowMessage('You must only enter digits!');
| |
| 315 | WhenToPray.TEXT:= '50'; | |
| 316 | WTP:= 50; | |
| 317 | end; | |
| 318 | end; | |
| 319 | ||
| 320 | WhenToEat: | |
| 321 | begin | |
| 322 | if WhenToEat.TEXT = '' then | |
| 323 | exit; | |
| 324 | ||
| 325 | if ExecRegExpr('^[0-9]*$', WhenToEat.TEXT) then
| |
| 326 | WTE:= StrToIntDef(WhenToEat.TEXT, 500) | |
| 327 | else | |
| 328 | begin | |
| 329 | ShowMessage('You must only enter digits!');
| |
| 330 | WhenToEat.TEXT:= '500'; | |
| 331 | WTE:= 500; | |
| 332 | end; | |
| 333 | end; | |
| 334 | ||
| 335 | WhenToDrink: | |
| 336 | begin | |
| 337 | if WhenToDrink.TEXT = '' then | |
| 338 | exit; | |
| 339 | ||
| 340 | if ExecRegExpr('^[0-9]*$', WhenToDrink.TEXT) then
| |
| 341 | WTD:= StrToIntDef(WhenToDrink.TEXT, 0) | |
| 342 | else | |
| 343 | begin | |
| 344 | ShowMessage('You must only enter digits!');
| |
| 345 | WhenToDrink.TEXT:= '0'; | |
| 346 | WTD:= 0; | |
| 347 | end; | |
| 348 | ||
| 349 | if (WTD > 10) then | |
| 350 | ShowMessage('WhenToDrink is 10+.. Pots will be drank when "[SkillLevel < (SkillLevel + WhenToDrink)]"');
| |
| 351 | end; | |
| 352 | ||
| 353 | SoulSplit: | |
| 354 | begin | |
| 355 | QP:= StrToBool(SoulSplit.TEXT); | |
| 356 | NoSS:= Not StrToBool(SoulSplit.TEXT); | |
| 357 | end; | |
| 358 | ||
| 359 | Start: | |
| 360 | begin | |
| 361 | if WhenToPray.TEXT = '' then | |
| 362 | begin | |
| 363 | ShowMessage('When To Pray is Blank! Please Fix it. If you don''t want to pray, Set the value really high.');
| |
| 364 | Error:= True; | |
| 365 | end | |
| 366 | else | |
| 367 | if (ExecRegExpr('^[0-9]*$', WhenToPray.TEXT) = False) then
| |
| 368 | begin | |
| 369 | ShowMessage('You Must Enter A Value for When to Pray!');
| |
| 370 | Error:= True; | |
| 371 | end; | |
| 372 | ||
| 373 | if WhenToEat.TEXT = '' then | |
| 374 | begin | |
| 375 | ShowMessage('When To Eat is Blank! Please Fix it. If you don''t want to Eat, Set the value really high.');
| |
| 376 | Error:= True; | |
| 377 | end | |
| 378 | else | |
| 379 | if (ExecRegExpr('^[0-9]*$', WhenToEat.TEXT) = False) then
| |
| 380 | begin | |
| 381 | ShowMessage('You Must Enter A Value for When to Eat!');
| |
| 382 | Error:= True; | |
| 383 | end; | |
| 384 | ||
| 385 | if WhenToDrink.TEXT = '' then | |
| 386 | begin | |
| 387 | ShowMessage('When To Drink is Blank! Please Fix it. If you don''t want to Drink Potions, Set the value really high.');
| |
| 388 | Error:= True; | |
| 389 | end | |
| 390 | else | |
| 391 | if ExecRegExpr('^[0-9]*$', WhenToDrink.TEXT) then
| |
| 392 | begin | |
| 393 | WTD:= StrToInt(WhenToDrink.TEXT); | |
| 394 | if (WTD >= 10) then | |
| 395 | begin | |
| 396 | ShowMessage('WhenToDrink must be < 10.. Pots will be drank when "[SkillLevel < (SkillLevel + WhenToDrink)]"');
| |
| 397 | Error:= True; | |
| 398 | end; | |
| 399 | end | |
| 400 | else | |
| 401 | if (ExecRegExpr('^[0-9]*$', WhenToDrink.TEXT) = False) then
| |
| 402 | begin | |
| 403 | ShowMessage('You Must Enter A Value for When to Drink Potion!');
| |
| 404 | Error:= True; | |
| 405 | end; | |
| 406 | ||
| 407 | if (Error = False) then | |
| 408 | begin | |
| 409 | Closed:= True; | |
| 410 | AZK.CLOSE; | |
| 411 | end; | |
| 412 | end; | |
| 413 | ||
| 414 | ZombieKillerLabel: | |
| 415 | begin | |
| 416 | Permanent:= True; | |
| 417 | SaveInfo; | |
| 418 | end; | |
| 419 | ||
| 420 | Save: | |
| 421 | SaveInfo; | |
| 422 | End; | |
| 423 | End; | |
| 424 | ||
| 425 | ||
| 426 | procedure InitForm; | |
| 427 | begin | |
| 428 | AZK := TForm.Create(nil); | |
| 429 | with AZK do | |
| 430 | begin | |
| 431 | AZK.Left := 371; | |
| 432 | AZK.Top := 56; | |
| 433 | AZK.BorderStyle := bsToolWindow; | |
| 434 | AZK.Caption := '~AZK~ Armoured Zombies Killer'; | |
| 435 | AZK.ClientHeight := 436; | |
| 436 | AZK.ClientWidth := 386; | |
| 437 | AZK.Color := clGray; | |
| 438 | AZK.Font.Color := clTeal; | |
| 439 | AZK.Font.Height := -11; | |
| 440 | AZK.Font.Name := 'Courier'; | |
| 441 | AZK.Font.Style := []; | |
| 442 | AZK.Visible := False; | |
| 443 | AZK.PixelsPerInch := 96; | |
| 444 | end; | |
| 445 | ||
| 446 | ZombieKillerLabel := TLabel.Create(AZK); | |
| 447 | with ZombieKillerLabel do | |
| 448 | begin | |
| 449 | ZombieKillerLabel := TLabel.Create(AZK); | |
| 450 | ZombieKillerLabel.Parent := AZK; | |
| 451 | ZombieKillerLabel.Left := 112; | |
| 452 | ZombieKillerLabel.Top := 8; | |
| 453 | ZombieKillerLabel.Width := 165; | |
| 454 | ZombieKillerLabel.Height := 19; | |
| 455 | ZombieKillerLabel.Alignment := taCenter; | |
| 456 | ZombieKillerLabel.Caption := 'Armouzed Zombies Killer'; | |
| 457 | ZombieKillerLabel.Color := clBackground; | |
| 458 | ZombieKillerLabel.Font.Color := clTeal; | |
| 459 | ZombieKillerLabel.Font.Height := -16; | |
| 460 | ZombieKillerLabel.Font.Name := 'Calibri'; | |
| 461 | ZombieKillerLabel.Font.Style := [fsBold, fsItalic]; | |
| 462 | ZombieKillerLabel.ParentColor := False; | |
| 463 | ZombieKillerLabel.ParentFont := False; | |
| 464 | ZombieKillerLabel.Transparent := True; | |
| 465 | ZombieKillerLabel.Layout := tlCenter; | |
| 466 | ZombieKillerLabel.ONDBLCLICK:= @GetInfo; | |
| 467 | end; | |
| 468 | ||
| 469 | Panel := TPanel.Create(AZK); | |
| 470 | with Panel do | |
| 471 | begin | |
| 472 | Panel.Parent := AZK; | |
| 473 | Panel.Left := 8; | |
| 474 | Panel.Top := 32; | |
| 475 | Panel.Width := 369; | |
| 476 | Panel.Height := 393; | |
| 477 | Panel.BevelInner := bvRaised; | |
| 478 | Panel.Font.Color := clTeal; | |
| 479 | Panel.Font.Height := -11; | |
| 480 | Panel.Font.Name := 'Courier'; | |
| 481 | Panel.Font.Style := []; | |
| 482 | Panel.ParentFont := False; | |
| 483 | Panel.TabOrder := 0; | |
| 484 | end; | |
| 485 | ||
| 486 | Bevel1 := TBevel.Create(Panel); | |
| 487 | with Bevel1 do | |
| 488 | begin | |
| 489 | Bevel1.Parent := Panel; | |
| 490 | Bevel1.Left := 192; | |
| 491 | Bevel1.Top := 8; | |
| 492 | Bevel1.Width := 169; | |
| 493 | Bevel1.Height := 233; | |
| 494 | Bevel1.Style := bsRaised; | |
| 495 | end; | |
| 496 | ||
| 497 | Familiars := TLabel.Create(Panel); | |
| 498 | with Familiars do | |
| 499 | begin | |
| 500 | Familiars.Parent := Panel; | |
| 501 | Familiars.Left := 24; | |
| 502 | Familiars.Top := 16; | |
| 503 | Familiars.Width := 88; | |
| 504 | Familiars.Height := 19; | |
| 505 | Familiars.Caption := 'Use Familiars'; | |
| 506 | Familiars.Font.Color := clBlue; | |
| 507 | Familiars.Font.Height := -16; | |
| 508 | Familiars.Font.Name := 'Calibri'; | |
| 509 | Familiars.Font.Style := [fsBold, fsItalic]; | |
| 510 | Familiars.ParentFont := False; | |
| 511 | end; | |
| 512 | ||
| 513 | DPotions := TLabel.Create(Panel); | |
| 514 | with DPotions do | |
| 515 | begin | |
| 516 | DPotions.Parent := Panel; | |
| 517 | DPotions.Left := 24; | |
| 518 | DPotions.Top := 48; | |
| 519 | DPotions.Width := 88; | |
| 520 | DPotions.Height := 19; | |
| 521 | DPotions.Caption := 'Drink Potions'; | |
| 522 | DPotions.Font.Color := clBlue; | |
| 523 | DPotions.Font.Height := -16; | |
| 524 | DPotions.Font.Name := 'Calibri'; | |
| 525 | DPotions.Font.Style := [fsBold, fsItalic]; | |
| 526 | DPotions.ParentFont := False; | |
| 527 | end; | |
| 528 | ||
| 529 | UseSS := TLabel.Create(Panel); | |
| 530 | with UseSS do | |
| 531 | begin | |
| 532 | UseSS.Parent := Panel; | |
| 533 | UseSS.Left := 24; | |
| 534 | UseSS.Top := 80; | |
| 535 | UseSS.Width := 84; | |
| 536 | UseSS.Height := 19; | |
| 537 | UseSS.Caption := 'Use Prayer'; | |
| 538 | UseSS.Font.Color := clBlue; | |
| 539 | UseSS.Font.Height := -16; | |
| 540 | UseSS.Font.Name := 'Calibri'; | |
| 541 | UseSS.Font.Style := [fsBold, fsItalic]; | |
| 542 | UseSS.ParentFont := False; | |
| 543 | end; | |
| 544 | ||
| 545 | WTDPots := TLabel.Create(Panel); | |
| 546 | with WTDPots do | |
| 547 | begin | |
| 548 | WTDPots.Parent := Panel; | |
| 549 | WTDPots.Left := 24; | |
| 550 | WTDPots.Top := 112; | |
| 551 | WTDPots.Width := 131; | |
| 552 | WTDPots.Height := 19; | |
| 553 | WTDPots.Caption := 'When To Drink Pots'; | |
| 554 | WTDPots.Font.Color := clBlue; | |
| 555 | WTDPots.Font.Height := -16; | |
| 556 | WTDPots.Font.Name := 'Calibri'; | |
| 557 | WTDPots.Font.Style := [fsBold, fsItalic]; | |
| 558 | WTDPots.ParentFont := False; | |
| 559 | end; | |
| 560 | ||
| 561 | WTRP := TLabel.Create(Panel); | |
| 562 | with WTRP do | |
| 563 | begin | |
| 564 | WTRP.Parent := Panel; | |
| 565 | WTRP.Left := 24; | |
| 566 | WTRP.Top := 144; | |
| 567 | WTRP.Width := 137; | |
| 568 | WTRP.Height := 19; | |
| 569 | WTRP.Caption := 'When To Renew Prayer'; | |
| 570 | WTRP.Font.Color := clBlue; | |
| 571 | WTRP.Font.Height := -16; | |
| 572 | WTRP.Font.Name := 'Calibri'; | |
| 573 | WTRP.Font.Style := [fsBold, fsItalic]; | |
| 574 | WTRP.ParentFont := False; | |
| 575 | end; | |
| 576 | ||
| 577 | WTEF := TLabel.Create(Panel); | |
| 578 | with WTEF do | |
| 579 | begin | |
| 580 | WTEF.Parent := Panel; | |
| 581 | WTEF.Left := 24; | |
| 582 | WTEF.Top := 176; | |
| 583 | WTEF.Width := 119; | |
| 584 | WTEF.Height := 19; | |
| 585 | WTEF.Caption := 'When To Eat Food'; | |
| 586 | WTEF.Font.Color := clBlue; | |
| 587 | WTEF.Font.Height := -16; | |
| 588 | WTEF.Font.Name := 'Calibri'; | |
| 589 | WTEF.Font.Style := [fsBold, fsItalic]; | |
| 590 | WTEF.ParentFont := False; | |
| 591 | end; | |
| 592 | ||
| 593 | Bevel2 := TBevel.Create(Panel); | |
| 594 | with Bevel2 do | |
| 595 | begin | |
| 596 | Bevel2.Parent := Panel; | |
| 597 | Bevel2.Left := 192; | |
| 598 | Bevel2.Top := 288; | |
| 599 | Bevel2.Width := 168; | |
| 600 | Bevel2.Height := 68; | |
| 601 | Bevel2.Style := bsRaised; | |
| 602 | end; | |
| 603 | ||
| 604 | Developer := TLabel.Create(Panel); | |
| 605 | with Developer do | |
| 606 | begin | |
| 607 | Developer.Parent := Panel; | |
| 608 | Developer.Left := 112; | |
| 609 | Developer.Top := 256; | |
| 610 | Developer.Width := 122; | |
| 611 | Developer.Height := 19; | |
| 612 | Developer.Caption := 'Developer Options'; | |
| 613 | Developer.Font.Color := clRed; | |
| 614 | Developer.Font.Height := -16; | |
| 615 | Developer.Font.Name := 'Calibri'; | |
| 616 | Developer.Font.Style := [fsBold, fsItalic]; | |
| 617 | Developer.ParentFont := False; | |
| 618 | end; | |
| 619 | ||
| 620 | PSmartLabel := TLabel.Create(Panel); | |
| 621 | with PSmartLabel do | |
| 622 | begin | |
| 623 | PSmartLabel.Parent := Panel; | |
| 624 | PSmartLabel.Left := 24; | |
| 625 | PSmartLabel.Top := 296; | |
| 626 | PSmartLabel.Width := 102; | |
| 627 | PSmartLabel.Height := 19; | |
| 628 | PSmartLabel.Caption := 'Paint On Smart'; | |
| 629 | PSmartLabel.Font.Color := clYellow; | |
| 630 | PSmartLabel.Font.Height := -16; | |
| 631 | PSmartLabel.Font.Name := 'Calibri'; | |
| 632 | PSmartLabel.Font.Style := [fsBold, fsItalic]; | |
| 633 | PSmartLabel.ParentFont := False; | |
| 634 | end; | |
| 635 | ||
| 636 | Label1 := TLabel.Create(Panel); | |
| 637 | with Label1 do | |
| 638 | begin | |
| 639 | Label1.Parent := Panel; | |
| 640 | Label1.Left := 24; | |
| 641 | Label1.Top := 328; | |
| 642 | Label1.Width := 42; | |
| 643 | Label1.Height := 19; | |
| 644 | Label1.Caption := 'Debug'; | |
| 645 | Label1.Font.Color := clYellow; | |
| 646 | Label1.Font.Height := -16; | |
| 647 | Label1.Font.Name := 'Calibri'; | |
| 648 | Label1.Font.Style := [fsBold, fsItalic]; | |
| 649 | Label1.ParentFont := False; | |
| 650 | end; | |
| 651 | ||
| 652 | Label2 := TLabel.Create(Panel); | |
| 653 | with Label2 do | |
| 654 | begin | |
| 655 | Label2.Parent := Panel; | |
| 656 | Label2.Left := 24; | |
| 657 | Label2.Top := 208; | |
| 658 | Label2.Width := 84; | |
| 659 | Label2.Height := 19; | |
| 660 | Label2.Caption := 'List Of Foods'; | |
| 661 | Label2.Font.Color := clBlue; | |
| 662 | Label2.Font.Height := -16; | |
| 663 | Label2.Font.Name := 'Calibri'; | |
| 664 | Label2.Font.Style := [fsBold, fsItalic]; | |
| 665 | Label2.ParentFont := False; | |
| 666 | end; | |
| 667 | ||
| 668 | Familiar := TComboBox.Create(Panel); | |
| 669 | with Familiar do | |
| 670 | begin | |
| 671 | Familiar.Parent := Panel; | |
| 672 | Familiar.Left := 200; | |
| 673 | Familiar.Top := 16; | |
| 674 | Familiar.Width := 152; | |
| 675 | Familiar.Height := 21; | |
| 676 | Familiar.Style := csDropDownList; | |
| 677 | Familiar.ItemHeight := 13; | |
| 678 | Familiar.TabOrder := 0; | |
| 679 | Familiar.ITEMS.Add('None');
| |
| 680 | Familiar.Items.Add('Bunyip');
| |
| 681 | Familiar.Items.Add('Unicorn');
| |
| 682 | Familiar.ITEMINDEX:= 0; | |
| 683 | Familiar.ONCHANGE:= @GetInfo; | |
| 684 | end; | |
| 685 | ||
| 686 | Potions := TComboBox.Create(Panel); | |
| 687 | with Potions do | |
| 688 | begin | |
| 689 | Potions.Parent := Panel; | |
| 690 | Potions.Left := 200; | |
| 691 | Potions.Top := 48; | |
| 692 | Potions.Width := 153; | |
| 693 | Potions.Height := 21; | |
| 694 | Potions.Style := csDropDownList; | |
| 695 | Potions.ItemHeight := 13; | |
| 696 | Potions.TabOrder := 1; | |
| 697 | Potions.ITEMS.Add('None');
| |
| 698 | Potions.ITEMS.Add('SuperSet');
| |
| 699 | Potions.Items.Add('SuperAttack');
| |
| 700 | Potions.Items.Add('SuperStrength');
| |
| 701 | Potions.Items.Add('SuperDefence');
| |
| 702 | Potions.Items.Add('OverLoad');
| |
| 703 | Potions.Items.Add('AtkStr Pure');
| |
| 704 | Potions.Items.Add('AtkDef Pure');
| |
| 705 | Potions.Items.Add('StrDef Pure');
| |
| 706 | Potions.ITEMINDEX:= 0; | |
| 707 | Potions.ONCHANGE:= @GetInfo; | |
| 708 | end; | |
| 709 | ||
| 710 | WhenToDrink := TEdit.Create(Panel); | |
| 711 | with WhenToDrink do | |
| 712 | begin | |
| 713 | WhenToDrink.Parent := Panel; | |
| 714 | WhenToDrink.Left := 200; | |
| 715 | WhenToDrink.Top := 112; | |
| 716 | WhenToDrink.Width := 153; | |
| 717 | WhenToDrink.Height := 21; | |
| 718 | WhenToDrink.Font.Color := clTeal; | |
| 719 | WhenToDrink.Font.Height := -13; | |
| 720 | WhenToDrink.Font.Name := 'Courier New'; | |
| 721 | WhenToDrink.Font.Style := []; | |
| 722 | WhenToDrink.MaxLength := 0; | |
| 723 | WhenToDrink.ParentFont := False; | |
| 724 | WhenToDrink.TabOrder := 2; | |
| 725 | WhenToDrink.Text := ToStr(WTD); | |
| 726 | WhenToDrink.ONCLICK:= @GetInfo; | |
| 727 | WhenToDrink.ONCHANGE:= @GetInfo; | |
| 728 | end; | |
| 729 | ||
| 730 | SoulSplit := TComboBox.Create(Panel); | |
| 731 | with SoulSplit do | |
| 732 | begin | |
| 733 | SoulSplit.Parent := Panel; | |
| 734 | SoulSplit.Left := 200; | |
| 735 | SoulSplit.Top := 80; | |
| 736 | SoulSplit.Width := 153; | |
| 737 | SoulSplit.Height := 21; | |
| 738 | SoulSplit.Style := csDropDownList; | |
| 739 | SoulSplit.ItemHeight := 13; | |
| 740 | SoulSplit.TabOrder := 3; | |
| 741 | SoulSplit.Items.Add('True');
| |
| 742 | SoulSplit.Items.Add('False');
| |
| 743 | if QP then | |
| 744 | SoulSplit.ITEMINDEX:= 0 | |
| 745 | else | |
| 746 | SoulSplit.ITEMINDEX:= 1; | |
| 747 | SoulSplit.ONCHANGE:= @GetInfo; | |
| 748 | end; | |
| 749 | ||
| 750 | WhenToPray := TEdit.Create(Panel); | |
| 751 | with WhenToPray do | |
| 752 | begin | |
| 753 | WhenToPray.Parent := Panel; | |
| 754 | WhenToPray.Left := 200; | |
| 755 | WhenToPray.Top := 144; | |
| 756 | WhenToPray.Width := 153; | |
| 757 | WhenToPray.Height := 21; | |
| 758 | WhenToPray.Font.Color := clTeal; | |
| 759 | WhenToPray.Font.Height := -13; | |
| 760 | WhenToPray.Font.Name := 'Courier New'; | |
| 761 | WhenToPray.Font.Style := []; | |
| 762 | WhenToPray.MaxLength := 0; | |
| 763 | WhenToPray.ParentFont := False; | |
| 764 | WhenToPray.TabOrder := 4; | |
| 765 | WhenToPray.Text := ToStr(WTP); | |
| 766 | WhenToPray.ONCHANGE:= @GetInfo; | |
| 767 | WhenToPray.ONCLICK:= @GetInfo; | |
| 768 | end; | |
| 769 | ||
| 770 | WhenToEat := TEdit.Create(Panel); | |
| 771 | with WhenToEat do | |
| 772 | begin | |
| 773 | WhenToEat.Parent := Panel; | |
| 774 | WhenToEat.Left := 200; | |
| 775 | WhenToEat.Top := 176; | |
| 776 | WhenToEat.Width := 153; | |
| 777 | WhenToEat.Height := 21; | |
| 778 | WhenToEat.Font.Color := clTeal; | |
| 779 | WhenToEat.Font.Height := -13; | |
| 780 | WhenToEat.Font.Name := 'Courier New'; | |
| 781 | WhenToEat.Font.Style := []; | |
| 782 | WhenToEat.MaxLength := 0; | |
| 783 | WhenToEat.ParentFont := False; | |
| 784 | WhenToEat.TabOrder := 5; | |
| 785 | WhenToEat.Text := ToStr(WTE); | |
| 786 | WhenToEat.ONCHANGE:= @GetInfo; | |
| 787 | WhenToEat.ONCLICK:= @GetInfo; | |
| 788 | end; | |
| 789 | ||
| 790 | PaintOnSmartX := TComboBox.Create(Panel); | |
| 791 | with PaintOnSmartX do | |
| 792 | begin | |
| 793 | PaintOnSmartX.Parent := Panel; | |
| 794 | PaintOnSmartX.Left := 200; | |
| 795 | PaintOnSmartX.Top := 296; | |
| 796 | PaintOnSmartX.Width := 153; | |
| 797 | PaintOnSmartX.Height := 21; | |
| 798 | PaintOnSmartX.Style := csDropDownList; | |
| 799 | PaintOnSmartX.ItemHeight := 13; | |
| 800 | PaintOnSmartX.TabOrder := 6; | |
| 801 | PaintOnSmartX.ITEMS.Add('True');
| |
| 802 | PaintOnSmartX.ITEMS.Add('False');
| |
| 803 | if (Paint = True) then | |
| 804 | PaintOnSmartX.ITEMINDEX:= 0 | |
| 805 | else | |
| 806 | PaintOnSmartX.ITEMINDEX:= 1; | |
| 807 | PaintOnSmartX.ONCHANGE:= @GetInfo; | |
| 808 | end; | |
| 809 | ||
| 810 | Debug := TComboBox.Create(Panel); | |
| 811 | with Debug do | |
| 812 | begin | |
| 813 | Debug.Parent := Panel; | |
| 814 | Debug.Left := 200; | |
| 815 | Debug.Top := 328; | |
| 816 | Debug.Width := 153; | |
| 817 | Debug.Height := 21; | |
| 818 | Debug.Style := csDropDownList; | |
| 819 | Debug.ItemHeight := 13; | |
| 820 | Debug.TabOrder := 7; | |
| 821 | Debug.ITEMS.Add('True');
| |
| 822 | Debug.ITEMS.Add('False');
| |
| 823 | if (Debugs = True) then | |
| 824 | Debug.ITEMINDEX:= 0 | |
| 825 | else | |
| 826 | Debug.ITEMINDEX:= 1; | |
| 827 | Debug.ONCHANGE:= @GetInfo; | |
| 828 | end; | |
| 829 | ||
| 830 | FoodBox := TListBox.Create(Panel); | |
| 831 | with FoodBox do | |
| 832 | begin | |
| 833 | FoodBox.Parent := Panel; | |
| 834 | FoodBox.Left := 200; | |
| 835 | FoodBox.Top := 208; | |
| 836 | FoodBox.Width := 153; | |
| 837 | FoodBox.Height := 25; | |
| 838 | FoodBox.Font.Color := clTeal; | |
| 839 | FoodBox.Font.Height := -16; | |
| 840 | FoodBox.Font.Name := 'Calibri'; | |
| 841 | FoodBox.Font.Style := []; | |
| 842 | FoodBox.ItemHeight := 19; | |
| 843 | FoodBox.ITEMS.Add('None');
| |
| 844 | FoodBox.ITEMS.Add('Raw Lobster');
| |
| 845 | FoodBox.ITEMS.Add('Raw Shark');
| |
| 846 | FoodBox.Items.Add('Shark');
| |
| 847 | FoodBox.Items.Add('Lobster');
| |
| 848 | FoodBox.Items.Add('Tuna');
| |
| 849 | FoodBox.Items.Add('Sardine');
| |
| 850 | FoodBox.Items.Add('Rocktail');
| |
| 851 | FoodBox.Items.Add('Bass');
| |
| 852 | FoodBox.Items.Add('SwordFish');
| |
| 853 | FoodBox.Items.Add('MonkFish');
| |
| 854 | FoodBox.Items.Add('CaveFish');
| |
| 855 | FoodBox.Items.Add('Turtle');
| |
| 856 | FoodBox.Items.Add('MantaRay');
| |
| 857 | FoodBox.MultiSelect := True; | |
| 858 | FoodBox.ParentFont := False; | |
| 859 | FoodBox.TabOrder := 8; | |
| 860 | FoodBox.ONCLICK := @GetInfo; | |
| 861 | end; | |
| 862 | ||
| 863 | Save := TButton.Create(Panel); | |
| 864 | with Save do | |
| 865 | begin | |
| 866 | Save.Parent := Panel; | |
| 867 | Save.Left := 200; | |
| 868 | Save.Top := 368; | |
| 869 | Save.Width := 57; | |
| 870 | Save.Height := 20; | |
| 871 | Save.Caption := 'Save'; | |
| 872 | Save.Font.Color := clBlue; | |
| 873 | Save.Font.Height := -11; | |
| 874 | Save.Font.Name := 'Courier'; | |
| 875 | Save.Font.Style := [fsBold]; | |
| 876 | Save.ParentFont := False; | |
| 877 | Save.TabOrder := 9; | |
| 878 | Save.ONCLICK:= @GetInfo; | |
| 879 | end; | |
| 880 | ||
| 881 | Start := TButton.Create(AZK); | |
| 882 | with Start do | |
| 883 | begin | |
| 884 | Start.Parent := AZK; | |
| 885 | Start.Left := 96; | |
| 886 | Start.Top := 400; | |
| 887 | Start.Width := 57; | |
| 888 | Start.Height := 20; | |
| 889 | Start.Caption := 'Start'; | |
| 890 | Start.Font.Color := clBlue; | |
| 891 | Start.Font.Height := -11; | |
| 892 | Start.Font.Name := 'Courier'; | |
| 893 | Start.Font.Style := [fsBold]; | |
| 894 | Start.ParentFont := False; | |
| 895 | Start.MODALRESULT:= mrNone; | |
| 896 | Start.TabOrder := 1; | |
| 897 | Start.ONCLICK:= @GetInfo; | |
| 898 | end; | |
| 899 | ||
| 900 | Timer1 := TTimer.Create(AZK); | |
| 901 | with Timer1 do | |
| 902 | begin | |
| 903 | Timer1.INTERVAL:= 1000; | |
| 904 | Timer1.ENABLED:= true; | |
| 905 | end; | |
| 906 | ||
| 907 | SaveDialog1 := TSaveDialog.Create(AZK); | |
| 908 | with SaveDialog1 do | |
| 909 | begin | |
| 910 | end; | |
| 911 | end; | |
| 912 | ||
| 913 | procedure SafeInitForm; | |
| 914 | var | |
| 915 | v: TVariantArray; | |
| 916 | begin | |
| 917 | Closed:= False; | |
| 918 | setarraylength(V, 0); | |
| 919 | ThreadSafeCall('InitForm', v);
| |
| 920 | end; | |
| 921 | ||
| 922 | procedure ShowFormModal; | |
| 923 | begin | |
| 924 | AZK.ShowModal; | |
| 925 | end; | |
| 926 | ||
| 927 | procedure SafeShowFormModal; | |
| 928 | var | |
| 929 | v: TVariantArray; | |
| 930 | begin | |
| 931 | setarraylength(V, 0); | |
| 932 | ThreadSafeCall('ShowFormModal', v);
| |
| 933 | end; | |
| 934 | ||
| 935 | Procedure LoadDTMs; | |
| 936 | begin | |
| 937 | WaitFight_Shield := DTMFromString('mrAAAAHic42BgYOAFYgEg5gdiHiBmB2I+IGaBijECMRMQs0LlQOJcUBqkl9XUCS8mBBgJYBgAAK0nBH8=');
| |
| 938 | WaitFight_Damage := DTMFromString('mbQAAAHicY2VgYNBmhGAdINYDYn0glgZiBSBWBmI5IJYA4nQ2NoYEPj4wns3DA6a5gPrRMSMWDAYAIPEEVA==');
| |
| 939 | end; | |
| 940 | ||
| 941 | Procedure FreeLoadedDTMs; | |
| 942 | begin | |
| 943 | FreeDTM(WaitFight_Shield); | |
| 944 | FreeDTM(WaitFight_Damage); | |
| 945 | end; | |
| 946 | ||
| 947 | Function FindObjectMM(Colors: TIntegerArray; var Dist: Integer; Width, Height, tol: integer; Click: Boolean; Speed: TExtendedArray): Boolean; | |
| 948 | var | |
| 949 | I, CTS, X, Y: integer; | |
| 950 | TPA: TPointArray; | |
| 951 | ATPA: T2DPointArray; | |
| 952 | ||
| 953 | begin | |
| 954 | SetLength(TPA, Length(Colors)); | |
| 955 | CTS:= GetToleranceSpeed; | |
| 956 | SetColorToleranceSpeed(2); | |
| 957 | SetToleranceSpeed2Modifiers(Speed[0], Speed[1]); | |
| 958 | ||
| 959 | For I:= 0 To High(Colors) do | |
| 960 | FindColorsSpiralTolerance(MSCX, MSCY, TPA, Colors[i], MMX1, MMY1, MMX2, MMY2, tol); //Find colours starting from the middle outwards.. | |
| 961 | ||
| 962 | SetToleranceSpeed2Modifiers(0.2, 0.2); | |
| 963 | SetColorToleranceSpeed(CTS); | |
| 964 | FilterPointsPie(TPA, 0.0, 360.0, 0.0, 74.0, MMCX, MMCY); //Filter them so they are on the MM itself.. | |
| 965 | ATPA:= TPAToATPAEx(TPA, Width, Height); //Group TPA into cirles by Distance.. | |
| 966 | SortATPAFromFirstPoint(ATPA, Point(MMCX, MMCY)); //Sort the colours from the closest to the center.. AKA Me.. | |
| 967 | if(Length(ATPA) < 1) then | |
| 968 | Exit; | |
| 969 | ||
| 970 | MiddleTPAEx(ATPA[0], X, Y); //In that 2D Array, Pick out the closest to the middle a.k.a. the first one.. | |
| 971 | if Click then | |
| 972 | MMouse(X, Y, 5, 5); //Move the mouse to the colours found.. | |
| 973 | ||
| 974 | Wait(randomrange(200, 500)); | |
| 975 | begin | |
| 976 | if Click then | |
| 977 | ClickMouse2(True); | |
| 978 | Dist:= Distance(X, Y, MMCX, MMCY); | |
| 979 | Result:= ((X <> 0) AND (Y <> 0)); | |
| 980 | end; | |
| 981 | if Debugs then | |
| 982 | DebugTPA(ATPA[0], ''); | |
| 983 | ||
| 984 | FFinder:= 'FindObjMM'; | |
| 985 | end; | |
| 986 | ||
| 987 | Function FindObjectFX(Colors: TIntegerArray; Uptext: TStringArray; X1, Y1, X2, Y2, Width, Height, tol: integer; Click: Boolean): Boolean; | |
| 988 | var | |
| 989 | X, Y, I: integer; | |
| 990 | TPA: TPointArray; | |
| 991 | ATPA: T2DPointArray; | |
| 992 | ||
| 993 | begin | |
| 994 | SetLength(TPA, Length(Colors)); | |
| 995 | ||
| 996 | For I:= 0 To High(Colors) do | |
| 997 | FindColorsSpiralTolerance(MSCX, MSCY, TPA, Colors[i], X1, Y1, X2, Y2, tol); //Find colours starting from the middle outwards.. | |
| 998 | ||
| 999 | ATPA:= TPAToATPAEx(TPA, Width, Height); //Group TPA into cirles by Distance.. | |
| 1000 | SortATPAFromFirstPoint(ATPA, Point(MSCX, MSCY)); //Sort the colours from the closest to the center.. | |
| 1001 | if(Length(ATPA) = 0) then | |
| 1002 | Exit; | |
| 1003 | ||
| 1004 | MiddleTPAEx(ATPA[0], X, Y); //In that 2D Array, Pick out the closest to the middle a.k.a. the first one.. | |
| 1005 | MMouse(x, y, 5, 5); //Move the mouse to the colours found.. | |
| 1006 | ||
| 1007 | if Debugs then | |
| 1008 | DebugTPA(ATPA[0], ''); | |
| 1009 | ||
| 1010 | Wait(randomrange(200, 500)); //Wait for the uptext to show.. | |
| 1011 | If(IsUpTextMultiCustom(UpText)) then | |
| 1012 | begin | |
| 1013 | if Click then | |
| 1014 | begin | |
| 1015 | ClickMouse2(False); //If it finds it, click the object/item.. | |
| 1016 | wait(500); | |
| 1017 | if ChooseOptionMulti(UpText) then | |
| 1018 | begin | |
| 1019 | Result := True; //If it clicks the object, return true.. | |
| 1020 | Exit; | |
| 1021 | end; | |
| 1022 | end else | |
| 1023 | Result := True | |
| 1024 | end else | |
| 1025 | Result:= (((X <> 0) and (Y <> 0)) and (Click = False)) ; | |
| 1026 | ||
| 1027 | FFinder:= 'FindObjectFX'; | |
| 1028 | UptextF:= Uptext; | |
| 1029 | end; | |
| 1030 | ||
| 1031 | function AutoColourLadder: Boolean; | |
| 1032 | var | |
| 1033 | arP, arAP: TPointArray; | |
| 1034 | arC, arUC: TIntegerArray; | |
| 1035 | ararP: T2DPointArray; | |
| 1036 | tmpCTS, i, j, arL, arL2: Integer; | |
| 1037 | P: TPoint; | |
| 1038 | R, G, B, fx, fy: Integer; | |
| 1039 | X, Y, Z: Extended; | |
| 1040 | begin | |
| 1041 | tmpCTS := GetColorToleranceSpeed; | |
| 1042 | ColorToleranceSpeed(2); | |
| 1043 | SetColorSpeed2Modifiers(0.09, 0.26); | |
| 1044 | ||
| 1045 | if not(FindColorsTolerance(arP, 2509141, MSX1, MSY1, MSX2, MSY2, 5)) then | |
| 1046 | begin | |
| 1047 | ColorToleranceSpeed(tmpCTS); | |
| 1048 | SetColorSpeed2Modifiers(0.2, 0.2); | |
| 1049 | Exit; | |
| 1050 | end; | |
| 1051 | ||
| 1052 | arC := GetColors(arP); | |
| 1053 | arUC := arC; | |
| 1054 | ClearSameIntegers(arUC); | |
| 1055 | arL := High(arUC); | |
| 1056 | arL2 := High(arC); | |
| 1057 | ||
| 1058 | for i := 0 to arL do | |
| 1059 | begin | |
| 1060 | ColorToRGB(arC[i], R, G, B); | |
| 1061 | ||
| 1062 | if (R >= 68) and (R <= 103) and (G >= 57) and (G <= 88) and (B >= 29) and (B <= 46) then | |
| 1063 | begin | |
| 1064 | ColorToXYZ(arC[i], X, Y, Z); | |
| 1065 | ||
| 1066 | if (X >= 4.18) and (X <= 9.38) and (Y >= 4.37) and (Y <= 9.85) and (Z >= 1.83) and (Z <= 3.91) then | |
| 1067 | begin | |
| 1068 | for j := 0 to arL2 do | |
| 1069 | begin | |
| 1070 | if (arUC[i] = arC[j]) then | |
| 1071 | begin | |
| 1072 | SetLength(arAP, Length(arAP) + 1); | |
| 1073 | arAP[High(arAP)] := arP[j]; | |
| 1074 | end; | |
| 1075 | end; | |
| 1076 | end; | |
| 1077 | end; | |
| 1078 | end; | |
| 1079 | ||
| 1080 | SortTPAFrom(arAP, Point(MSCX, MSCY)); | |
| 1081 | ararP := SplitTPAEx(arAP, 20, 20); | |
| 1082 | arL := High(ararP); | |
| 1083 | ||
| 1084 | for i := 0 to arL do | |
| 1085 | begin | |
| 1086 | if (Length(ararP[i]) < 10) then Continue; | |
| 1087 | P := MiddleTPA(ararP[i]); | |
| 1088 | MMouse(P.x, P.y, 5, 5); | |
| 1089 | Wait(100 + Random(100)); | |
| 1090 | if (IsUpTextMultiCustom(['adder', 'up Lad', 'limb-up'])) then | |
| 1091 | begin; | |
| 1092 | Result := True; | |
| 1093 | Break; | |
| 1094 | end; | |
| 1095 | end; | |
| 1096 | ||
| 1097 | ColorToleranceSpeed(tmpCTS); | |
| 1098 | SetColorSpeed2Modifiers(0.2, 0.2); | |
| 1099 | ||
| 1100 | if (i = arL + 1) then | |
| 1101 | begin | |
| 1102 | Writeln('Failed To Find Ladder.');
| |
| 1103 | Exit; | |
| 1104 | end; | |
| 1105 | ||
| 1106 | GetMousePos(fx, fy); | |
| 1107 | if Result then | |
| 1108 | begin | |
| 1109 | ClickMouse2(MOUSE_RIGHT); | |
| 1110 | WaitOptionMulti(['adder', 'up Lad', 'limb-up'], 600); | |
| 1111 | end; | |
| 1112 | end; | |
| 1113 | ||
| 1114 | function AutoColourAltar: Boolean; | |
| 1115 | var | |
| 1116 | arP, arAP: TPointArray; | |
| 1117 | arC, arUC: TIntegerArray; | |
| 1118 | ararP: T2DPointArray; | |
| 1119 | tmpCTS, i, j, arL, arL2: Integer; | |
| 1120 | P: TPoint; | |
| 1121 | R, G, B, fx, fy: Integer; | |
| 1122 | X, Y, Z: Extended; | |
| 1123 | begin | |
| 1124 | tmpCTS := GetColorToleranceSpeed; | |
| 1125 | ColorToleranceSpeed(2); | |
| 1126 | SetColorSpeed2Modifiers(0.10, 0.45); | |
| 1127 | ||
| 1128 | if not(FindColorsTolerance(arP, 2895164, MSX1, MSY1, MSX2, MSY2, 11)) then | |
| 1129 | begin | |
| 1130 | ColorToleranceSpeed(tmpCTS); | |
| 1131 | SetColorSpeed2Modifiers(0.2, 0.2); | |
| 1132 | Exit; | |
| 1133 | end; | |
| 1134 | ||
| 1135 | arC := GetColors(arP); | |
| 1136 | arUC := arC; | |
| 1137 | ClearSameIntegers(arUC); | |
| 1138 | arL := High(arUC); | |
| 1139 | arL2 := High(arC); | |
| 1140 | ||
| 1141 | for i := 0 to arL do | |
| 1142 | begin | |
| 1143 | ColorToRGB(arC[i], R, G, B); | |
| 1144 | ||
| 1145 | if (R >= 28) and (R <= 95) and (G >= 21) and (G <= 66) and (B >= 21) and (B <= 64) then | |
| 1146 | begin | |
| 1147 | ColorToXYZ(arC[i], X, Y, Z); | |
| 1148 | ||
| 1149 | if (X >= 0.92) and (X <= 7.42) and (Y >= 0.87) and (Y <= 6.54) and (Z >= 0.86) and (Z <= 5.59) then | |
| 1150 | begin | |
| 1151 | for j := 0 to arL2 do | |
| 1152 | begin | |
| 1153 | if (arUC[i] = arC[j]) then | |
| 1154 | begin | |
| 1155 | SetLength(arAP, Length(arAP) + 1); | |
| 1156 | arAP[High(arAP)] := arP[j]; | |
| 1157 | end; | |
| 1158 | end; | |
| 1159 | end; | |
| 1160 | end; | |
| 1161 | end; | |
| 1162 | ||
| 1163 | SortTPAFrom(arAP, Point(MSCX, MSCY)); | |
| 1164 | ararP := SplitTPAEx(arAP, 20, 20); | |
| 1165 | arL := High(ararP); | |
| 1166 | ||
| 1167 | for i := 0 to arL do | |
| 1168 | begin | |
| 1169 | if (Length(ararP[i]) < 10) then Continue; | |
| 1170 | P := MiddleTPA(ararP[i]); | |
| 1171 | MMouse(P.x, P.y, 5, 5); | |
| 1172 | Wait(100 + Random(100)); | |
| 1173 | if (IsUpTextMultiCustom(['ray-at', 'haos altar', 'altar'])) then | |
| 1174 | begin; | |
| 1175 | Result := True; | |
| 1176 | Break; | |
| 1177 | end; | |
| 1178 | end; | |
| 1179 | ||
| 1180 | ColorToleranceSpeed(tmpCTS); | |
| 1181 | SetColorSpeed2Modifiers(0.2, 0.2); | |
| 1182 | ||
| 1183 | if (i = arL + 1) then | |
| 1184 | begin | |
| 1185 | Writeln('Failed To Find Altar.');
| |
| 1186 | Exit; | |
| 1187 | end; | |
| 1188 | ||
| 1189 | GetMousePos(fx, fy); | |
| 1190 | if Result then | |
| 1191 | begin | |
| 1192 | ClickMouse2(MOUSE_RIGHT); | |
| 1193 | WaitOptionMulti(['ray-at', 'haos altar', 'altar'], 600); | |
| 1194 | end; | |
| 1195 | end; | |
| 1196 | ||
| 1197 | //Written By Flight.. | |
| 1198 | Function FoundSymbol(Ident: Integer; var X, Y, Dist: Integer): Boolean; | |
| 1199 | var | |
| 1200 | B: TBox; | |
| 1201 | TPA: TPointArray; | |
| 1202 | L,i,CTS: Integer; | |
| 1203 | ATPA,ATPA2: T2DPointArray; | |
| 1204 | begin | |
| 1205 | FFinder:= 'FoundSymbol'; | |
| 1206 | CTS := GetColorToleranceSpeed; | |
| 1207 | ColorToleranceSpeed(2); | |
| 1208 | FindColorsTolerance(TPA, 12632256, MMX1, MMY1, MMX2, MMY2, 5); | |
| 1209 | ColorToleranceSpeed(CTS); | |
| 1210 | if Length(TPA) < 1 then | |
| 1211 | Exit; | |
| 1212 | ATPA := TPAtoATPAEx(TPA, 8, 8); | |
| 1213 | L := High(ATPA); | |
| 1214 | SetArrayLength(ATPA2, L+1); | |
| 1215 | for i := 0 to L do | |
| 1216 | begin | |
| 1217 | B := GetTPABounds(ATPA[i]); | |
| 1218 | with B do | |
| 1219 | begin | |
| 1220 | if (Ident = 1) then | |
| 1221 | FindColorsTolerance(ATPA2[i], 16514299, B.X1-8, B.Y1-8, B.X2+8, B.Y2+8, 5) //Prayer Altar White Symbol.. | |
| 1222 | else if (Ident = 2) then | |
| 1223 | FindColorsTolerance(ATPA2[I], 1244922, B.X1-8, B.Y1-8, B.X2+8, B.Y2+8, 5); //Prayer Altar Yellow Symbol.. | |
| 1224 | ||
| 1225 | Result := (Length(ATPA2[i]) > 0); | |
| 1226 | if Result then | |
| 1227 | begin | |
| 1228 | MiddleTPAEx(ATPA2[i], X, Y); | |
| 1229 | Dist := Distance(MMCX, MMCY, X, Y); | |
| 1230 | LProc:= 'FoundSymbol'; | |
| 1231 | if Debugs then | |
| 1232 | writeln('FoundSymbol: True');
| |
| 1233 | Exit; | |
| 1234 | end; | |
| 1235 | end; | |
| 1236 | end; | |
| 1237 | end; | |
| 1238 | ||
| 1239 | function round2(Number: extended;Places: longint): extended; | |
| 1240 | begin | |
| 1241 | result := round((Number*pow(10, places))/(pow(10, places))); | |
| 1242 | end; | |
| 1243 | ||
| 1244 | Procedure ResetEverything; | |
| 1245 | begin | |
| 1246 | ColorToleranceSpeed(RCTS); | |
| 1247 | SetColorSpeed2Modifiers(0.2, 0.2); | |
| 1248 | end; | |
| 1249 | ||
| 1250 | procedure PrintOnSmart(TP: TStringArray; Placement: TPoint; Colours: TIntegerArray); | |
| 1251 | var | |
| 1252 | x, y, bmp, I, B, H: Integer; | |
| 1253 | ATPA: T2DPointArray; | |
| 1254 | Canvas: TCanvas; | |
| 1255 | Colors: TIntegerArray; | |
| 1256 | begin | |
| 1257 | GetClientDimensions(x, y); | |
| 1258 | ||
| 1259 | Bmp := BitmapFromString(507, 163, 'meJzsvXdwG9e352n7JwJoMCfJ' + | |
| 1260 | 'UbZly5KVmUlkgMhEJHIgco4Ec85BFDMUqJxlZVGS87NkW372++Xw0' + | |
| 1261 | 'syb92Z239TW1Gzt7rya2trZ3dq/9oLXbLfAIJKWTIU+9S0W2Gjcvt' + | |
| 1262 | '1ofPrcc+8996WXcMMNN9xwww033HDDDTfccMMNN9xwww033HDDDTf' + | |
| 1263 | 'ccMMNN9xwww033HDDDbdkk1WJBxoDQ221dBqFQCCsd3Vwww033HB7' + | |
| 1264 | 'IiYS8j850v35sb7PjvXPHuySigTrXSPccMMNN9wes5HJZJFIdGio4' + | |
| 1265 | '+qhwZP9sWN9dWcG67Zu3bre9cINN9xww+1xWn5+frShaWKg80h/01' + | |
| 1266 | 'h7NObQdbU1dTRE1rteuOGGG264PWZTabVtbS1TnbXDTcHBOldLrb+' + | |
| 1267 | 'hqy/S2JyamrreVcMNN9xww+2xGYNBb64Lt/hrDjQH++o8DS5dsLY2' + | |
| 1268 | '1NAUa20rKSlZ79rhhtvzYAQCQSCys9hV610R3F5o27ZtW0+tpztk8' + | |
| 1269 | '1Zz6s3SgE5ktxj0dpfN44s0tag0mvWuIG64PfOWnp7OYEdffbNx05' + | |
| 1270 | 'tRvsBBIpHWu0a4vaBW43XZYk6LTlbNKq5mFRlF9JDHZrE77P6Qv7b' + | |
| 1271 | 'eYrOvdwVxw+2ZN57Es+mN2MY3AvmvufNf81bQI6+//sZ6Vwq3F86A' + | |
| 1272 | '42FvbpR5OpgyM3PfB+U73pUwyjqD1qhd57YaXT6/3eVe7zrihtuzb' + | |
| 1273 | 'Uxm5aY3InmvufJeteVsNOZuMm583VdG8eN+Pm6/sFVyuaGxYZV9gC' + | |
| 1274 | 'NsoDPLCyiFFXyWXMz26WVDMVcs5LW5XOtdR9xwe4btPWDb6/Nf9+W' + | |
| 1275 | '+agGoz85XZedV526qyX89IBCa17t2uL1AtmHDBqPNHhjtH5g90XL+' + | |
| 1276 | 'sHe0U9XkpVRZK0RmpcNUF7IHfC6L3bHe1cQNt2fVCAQCnR3Z+GZd3' + | |
| 1277 | 'qvWnHxNVp4iM0eUmSPMztcAbz93k4tCZa53HXF7UayouJirqwkMdE' + | |
| 1278 | 'SO9LdcGI8dG4qdGlY6OinURrm7PdhXb7GYFdXV611N3HB7Vk0oNr+' + | |
| 1279 | '6uT3/dVdOvhpwPj2LnZpRkZZBycwV52zU52607SoIvrV583pXE7cX' + | |
| 1280 | 'wjIzM8srKrqOT/lGO7vOHGo7MT14/dTgzVO1U5O18bG65pBCqSwuL' + | |
| 1281 | 'l7vauKG2zNpZeW0Vzd35L3mS8tWkdJ5xFQagVyaQtpDIO0mpVWkZw' + | |
| 1282 | 'tzNhmy86x8UQC0tde7sri9EAbutO4ThzrPHew4PR3c3+PqbnF0Nnj' + | |
| 1283 | 'H2tpPjjvt5hqTAU+ehhtuazOe0LfxzVjOphpypjSFzP4VqexXxL2/' + | |
| 1284 | 'Iu76FWFnCqkoNZOdmSvN2WjK22R5550t611Z3F4IS8/IqBucVNsaH' + | |
| 1285 | 'N3N/okOV3+zsSGsawrVDbZZddV6rWq9K4gbbs+kpaenf7gnmveqI2' + | |
| 1286 | 'eTPiuvKjWDQSAXphC3AxGRneT0koxsTkY2LytXlp1noNE4611f3F4' + | |
| 1287 | 'IA8DvO3nE4G6XaWP+4f7waK+nv8M90OHzWa169dt4dBE33NZkO3ft' + | |
| 1288 | 'zn/NnbNRn7NRnZUrychmp2VSyGn7EkovTMuomAM+EDczWyaW4kMjc' + | |
| 1289 | 'PslDPghHQcnAoOd7t62yOiQr6/T1dOqrwtwOLjLgRtuazcevzp3kz' + | |
| 1290 | 'V3kwF4+Nn51Vm5VRk5/LQsZloWIz2LlZFdCf5NKJubniWgMvHBz7j' + | |
| 1291 | '9Epaamto4Mhgc6HV1Nde01OoaAqbmiNmN+xu44fazjMpwzA28NOcA' + | |
| 1292 | '5m/UZOXJM3NFAO8J5fAycgRzEs4N3RFu2WrIz89f7yrj9vzbhg0b2' + | |
| 1293 | 'iZH5F6r3GMVeUwin9HZ01yt0653vXDD7Rkw8PMpKCjJzs5J2p6Tk/' + | |
| 1294 | 'PeB/a8V+25m0w5G7UJDz9PAvz59Cw2EAzmpAMnP5uXkQ38fEF6loT' + | |
| 1295 | 'OrFxYfnZ2Nj6AB7fV2iuvvLJwI7iRcnNzwR119ft79o46a0ddZKK/' + | |
| 1296 | '4fBI95nDBz++FmyIbdq0qbyCQqPTyWTyL19n3HB7yo1AIFQp3Pln/' + | |
| 1297 | '7z9/t9WDk2WMtkonDdu3PjuVl/eq3MhnY3q7DzFXEiHl57FmhN77i' + | |
| 1298 | '8Tvs7I4qRlCmn0n4Ko77z3Hs/ro3w0+0HbZaFItk7nh9szaenp6bU' + | |
| 1299 | 'NDY2trXQGA70h+SJxQ3PLmS++aekZ2H905vT9T498NXvw8+vxz6+d' + | |
| 1300 | '+e6LSz/cm756yR+ubdo/MXhwpmNgGMB/fc8CN9yeNktNTVVU6V7Vx' + | |
| 1301 | '7P/+N/z/+H/zPvd/0YdOPXa66+/NPej27mvNjG7FgI/fyHwmT8qkw' + | |
| 1302 | 'GUncfbtv3Dl+YGUYgPzGz+0/+88T//P1n3/8sWTr1Ga1zvE8XtWTJ' + | |
| 1303 | 'fJNp28PjQxGTvyIHuwWGTuWbz5s37T5xt6+qZvDLbMDim19d4I7GO' + | |
| 1304 | 'qTHg2J/67rNjn8829w/UWF1Gg6VtLN47ebC9f7BjdKKgsHC9TwU33' + | |
| 1305 | 'J4uq+RyKcW8PFZn5kd/yvvyX3Mv/dfC+P3X30ikwSypaM19tSZnky' + | |
| 1306 | '47X5mVJ8nMFSbCOFn0OTHSMmlzYiSUQU/PZr275T1Ae+7MJ3nf/o+' + | |
| 1307 | 'N//x/ZU7/8Fahg1JUXlBYtN5nidszY2aLhSFV+adPtQ4Odw4M9o+O' + | |
| 1308 | 'Hzl9ZjB+pP/Y2aa2jpaRiY4jZ4xmm85o0elrHP5QbV93jdtjMNgcL' + | |
| 1309 | 'r/F4mibmqnrGXD7gwMnzl9+8M3EyWNShRxP8Ycbbqjx+fzyAlbmZk' + | |
| 1310 | 't63d3c0/8u78L/Unb+j//pv/wfVdKB7HxNVsK3l2TmCOdG4zDTMql' + | |
| 1311 | 'zoqRmVMAcCz+Sn1xx/zf/zvPr/5rz5f+bP/tvafpjb77Bq2SxCwoK' + | |
| 1312 | '1vv8cHtmTK3VllZQduzZKwk1BftHW7q6+8cm+kYOeBo6embO1DY0h' + | |
| 1313 | 'eqbes9ft7gDaq3JbHU5vcGewf2NbV0Gs91sAciP9Jy95gpHTVZb/e' + | |
| 1314 | 'BY28TBL/7+T1/++z+fun3dHQy8/fbb631+uOH2VBiVSi0vZma9pkt' + | |
| 1315 | 'v/Dz32F9yz/9r0ZX/tJfXnpVVlZUnm3PvRRk5APisObyjwC+fU0Vq' + | |
| 1316 | 'aln2u5IPL/9L7pf/d/6t/57KnXg9q1CpkL8+Fx3CDbdHWmZmpkano' + | |
| 1317 | 'zBZFQwmlcHYQ2Go6zqdwcjA2HhzZ5fRE+48dMIbCttcHm97n7u1V6' + | |
| 1318 | '0xekO1zV3dFk+kb2x6cuaY2xfyd/QHBsYUKvCmKdJ/QO8MDhw++Nn' + | |
| 1319 | 'f//Gzf/jDV//0d5e/+iItLW29TxQ33J4K27VrF51SmbfFmt76V7ln' + | |
| 1320 | '/ynvzH/KKohlZYiy8uRZedLMXHFiKGYWKz2TPg/8chT4yIY9mfL+j' + | |
| 1321 | 'ff/v7zr/y1TPPnOa4UarQZPaYLbCu2DbduUGg2bL2Tx+IxKrt3rp7' + | |
| 1322 | 'HYRSKlMRDpGd5fY3dXyTUN0yd0Fpu8WqUwWr2Dk50Dw8fOn2/o7Of' + | |
| 1323 | 'KLBprePrEqeljxzsPHjM1dnFEEqFI7OoarjY6lCrdyc/u3P3z7z7+' + | |
| 1324 | '+9998re/LyzCo4u44fajlZSWFu0peX23O6P/h7yz/5K6t5WQQiOmc' + | |
| 1325 | 'UhplaQ0NjGNTkytIKaWE1NLCeSSFHJxClI497co5VfF2c1f5t79H3' + | |
| 1326 | 'nVh95/c49KheczwW2lBnx7pVYLUC9WKLmiKpXB6IvWGm32HYXFVRa' + | |
| 1327 | 'n3eMTVSmEIqm7Z0Tt8osMVkfPgfjZ89PHj48fnnGF63jyGrne0zE4' + | |
| 1328 | '3NY3ODI9PXD4mKvngNBoMzX3CmWqigq6p6H+xu++v/Hbv57921/Xu' + | |
| 1329 | 'PD5Wbjh9pNVSSQle4s2l/myjv5ThvX6yy9JXiZUvkxgv0xgvJRCfZ' + | |
| 1330 | 'lA+xWJ+TKB+lJKxUspZS/9qvilDSUvv8wkF3fnXP1vr2snd7y3t6q' + | |
| 1331 | 'qCu8jw23l9sorr2j1+kqBqEpZbbI73aFwsK7eaHOwuLwCFq9SKGVX' + | |
| 1332 | 'CgSCKpXdZ+mbtLYPdB0YG5qYdoWbqjT2Gk9EqnVJ1Tart5Yj1lepz' + | |
| 1333 | 'P5Y44EjRwNDU8pwM4XKLC2llFPpM5/euvLbB+f/5stYd9t6ny5uuD' + | |
| 1334 | '1FBtwttUZTVlD8Hr82s6SvrNzN4noqaCZWpZlCr3n7fX32RvW7W3V' + | |
| 1335 | 'lFCOVoS+jGsoojj173FmUyXetU8W7izhs1ltvvbXeJ4HbM2YEAqG5' + | |
| 1336 | 'rb3G6a5r6/BFY55I1BkI6i3WIhqjkMah0Vh0Bocnlgd6huvb2w02u' + | |
| 1337 | '87qqzZ5RdXWSqlZVG1j8KoZXJXK5DW7w9HW7oHxyeGpaW+ssbikoq' + | |
| 1338 | 'CwZF9RSc/Jw+d++KuDX16z+laUAOSNHQW4cL0IemsXaEdHyopKK4r' + | |
| 1339 | 'LS4q4dofb5fY7XX6Hywf+2h1+jc5prnFZrE6jyeZw+tzeIFBZmbyi' + | |
| 1340 | 'mFq0dx9XZX+/mL7uZ4Hr2dKbOwvYVVKnPwjce0846gqGrR6fzevji' + | |
| 1341 | 'sTbCoqpdHYFlSlTajoGBpu7e0wOZ/fw/sHxyd6RUeDYcyVGKkdudg' + | |
| 1342 | 'bb+wfaBwf7xsb7Rsebe3pjLa1cgXgfwH0FpX5i/8zntyZmLxXyBCu' + | |
| 1343 | 'sUvzud7hwPd+a/vi3x7/5Xyc+/tcyk7+CxuRweFy+RCiSicQKoUhe' + | |
| 1344 | 'JVHJFVqFUieVqflCGZPFr+SKhEI5aIrz+UIqlb6XJTA3xYcv/2n85' + | |
| 1345 | 'm/jd9b/dHA9K4r1j4rkCrXBpDaZTHYn8OFVRpPOYmPxBXvKqHRmJU' + | |
| 1346 | '9QVdfWHmtrByRv7Oxq6emrb+/sOzDmjdTtLWZ+uLvM7PT1jBxo7Op' + | |
| 1347 | 'u6x/oGtoPdgvXN4ImQ3FJeUFpWd3EyOjV8+M3L8fvPnhkZXDg43oR' + | |
| 1348 | 'NHn7+5l7/zb98X9uOXo/tzP+Tk0dO9GUrmQwuSw2H7yg0TkUKgv8p' + | |
| 1349 | 'dLYFRRGRQWjrJwG/mWyeCwaa4spnONrkzlaW2e+7jn725Grf8GZj2' + | |
| 1350 | 'slah4/ojKaq5TVLB6fzRPINVq10SRWKA1Wm1hjKKJzSsuowO3vGBq' + | |
| 1351 | 'ONLVEm1sCdfXR5tb2vsGO/qFgbb3W5tF5It5IrLGjs6W3DzwLEo+D' + | |
| 1352 | 'to5IYzN4oTXWFLPonScPDV45eeD65ZXUBwc+rude03ceTH3yH0Zv/' + | |
| 1353 | 'vPQxT9ZBi6Qm0fTQvECprissKS4pAKAvaSUWlJKAX/LyungB1hcAl' + | |
| 1354 | '5TCovKCgpLSwuKdjEkqZHpDH8bU+WOjtxoOvhl1+nfjF77m3U/L1x' + | |
| 1355 | 'PuToOn1WJq6plMoVGJ1VpSsope4uKKwUisVwplsmFRpvGHWRy+L2j' + | |
| 1356 | 'Y+39g42d3UA2r98TCseaW1r6BgdOXdo/e6/n2ue952+0jk4BzoPt4' + | |
| 1357 | 'KEQa2mra21v7uq1ury6qLft1HTnxUMjV6+tpEo48HE99xq5en/89v' + | |
| 1358 | '/Uc/Y3zVOfVHUeRdrjqaEj+b7ufTRWSVFJUVFxYWHx7j0Fu3cX7Nl' + | |
| 1359 | 'buGv33j17wYt9e/cVgDf2sbi5zl5yMJ4W7CyRmO0tRyIj1xumP+s6' + | |
| 1360 | '+ddTt9f/1HA9zXK5/EoaTVBSwikrE/AELB6vuKxi245dAoXG29pnb' + | |
| 1361 | 'e6ZuHnP4g/VtrQ1dHQBeaMxfU2NN1rXeejE6N37nVc+U0dbKWKFsW' + | |
| 1362 | '2w+eyt1mPnoz2D7mDYG44EYnUWj1cglVuiodrDg10XDh24cmclVcK' + | |
| 1363 | 'Bj+v51tTtb4eu/H7g0p/rpz7xtB5ltMVJzdPpvnhq1+FMjndjLuvN' + | |
| 1364 | 'dzhbt9F37irbtXvfjp27d+7a9+GOkg8+pL2zhfX6q+wsY2Nq08E07' + | |
| 1365 | 'yQ5NlBuCKk9PbaWI6GhK/WTnwxceHTIFNcLq97D56QUmqCsrLK4mL' + | |
| 1366 | '5nT+n27bTS0nIao5RROXj+zsjlz4Yufdx38rLV6zM73TUuT43T5Q5' + | |
| 1367 | 'FLNHGzguz/bNfu4fjxczKLe9v3fLee+9sea+YIzC2D8WOX4lOnbCF' + | |
| 1368 | 'YyKJVFKtYvEFBp8nfLCv59zRydn7K6kVDnxcz7emb383cu0fWo7cA' + | |
| 1369 | '6C21k3sbZkgRSfSPRNprePED0wpBNGGVFlKqpSUzs/IYWTnMzJy+E' + | |
| 1370 | 'iGhJAqSSFXbUiRINL6tKaJNOcBJDZc4e1QuTqUnu6axnhg8HLTwU+' + | |
| 1371 | 'm8Ug+rsU0evlTvVTB3LuPuW8fq6CAumcPZfeuirJyucUFUJ/Y507C' + | |
| 1372 | 'W+g7eUWh0ykNBqVeL1Fr6+IngVfvHJgsF0g3b3lv1569NDZbIJHRW' + | |
| 1373 | 'JwPtn+4ZesHJVyRur7TP3lSbKgpraAUl1P0YW/s6PDAxbMrrBgOfF' + | |
| 1374 | 'zPtwCTu09+7eo8pQ0N6cPDm1vGyJGp9OBkWmyYmK8gkoXEdAlQSqp' + | |
| 1375 | 'gA5mzAeESUsWENCkxTUxMExEJInJlJK19Ks09SWqY2BfuVTs7ZI42' + | |
| 1376 | 'pafLXD9VN34dBz6uhZq6dd+oUDN276YXFtD37gXM5xQUCJjMcN/Yw' + | |
| 1377 | 'p2toZhIruCLq2ztA4DkIrPjw92gmbmrjELliaukKjVfIhUrqhmV3H' + | |
| 1378 | '3FxVvee//d97cyqw2mzhGeUlNUWqauc9Ud3b//2kcrrBsOfFzPvRq' + | |
| 1379 | 'nrukiIwpnu9TXk1M3kOranx4eS3V2EtPFxNQfgU9IExBS2YTUSgLg' + | |
| 1380 | 'fFoVAD4hTUgkipACZ1rbeJpjPym0f1uou9reKrE2yxytgPmB/hPrf' + | |
| 1381 | 'mq4nkL1zsy09Hb0Hp4cvnTSEw3w9u5R8gX1Y0cX3bl1+iSdzVZ4I8' + | |
| 1382 | 'aO/eVs7i7wmGBxBFXSBO2r1RpTjaRaJVYoeVUSjkBIYTD3FZe8v/W' + | |
| 1383 | 'DMn6V2FPLlMqMHcHYzNDQlQsrrBsOfFzPvXpOfqGLHKgyxRjuttTY' + | |
| 1384 | 'EKB3WmyUrKojEPkJqv8IfP488IUA+AD74BFAJIlIW4xpzaNprhFSY' + | |
| 1385 | 'OTdSI/c0iSuqa+qaVC4uhsnzq/7qeF62nTg8u1bf/ebG3/4m8u//v' + | |
| 1386 | 'boF3e6jsYlArHS2yyI9LcfX2QgzejVz8UWlyzcUsbh7dq9p7CkjC+' + | |
| 1387 | 'WCCWJgT0qg1FtNAHmqw2mar0BePtCmZzF5e3eV/De+1v3UDmVNod3' + | |
| 1388 | 'oq3x6IGh6xdXWD0c+Liec91+0Hfhj5bmw2J9pNDRRAr0ptX0p9XvR' + | |
| 1389 | '6guAoGboPpPwGcRUjkA+IQ08a8QQeItsoiYX50W6U91DSGuwTdrB4' + | |
| 1390 | 'zR0Wp3t9zRbmk81Dh5ffr2t+t/grieGoH74cjd2U/+9veXvr138ou' + | |
| 1391 | 'PR69e6DgZZzhD+9Q+obt5arG7ZfrOA6EtUFBB27l7T0kFpYJGrxSI' + | |
| 1392 | 'RDKFQCKrFImYPH4plV5YWkZhsRlcHosnYHC4ZVTa9p07d+zbK7AbI' + | |
| 1393 | 'zMDbacmO88dm7h5byU1xIGP6/nW5OzvO0/92tJ0UGqKfehqIrq7Uk' + | |
| 1394 | '3daXVDpG16AhED/NSfgP8KSfjeNsV7H4h+RUr4/6nOjlRXP2Lpzov' + | |
| 1395 | '2WTuO60PDSne3veVoaOTmyOWv1v0Ecf1iGjh5ef/5W8tPaL3+629v' + | |
| 1396 | '/eavz9z/LH7nWvfpI9HRfpbJvI1T3Xv21lIfqR2Om8ONEq2JymQXF' + | |
| 1397 | 'JfuKy4BhAd/d+7bt3X7h2+9/e7rb771/rbtH+7evXXHjq0ffvjhrt' + | |
| 1398 | '1FZeUSncbRVecf7+g4N11TF3KE66bv4DNtcb3g+uuxm/+u5cj9moa' + | |
| 1399 | '43Nq02dtKsnekmrpSve3E1xUEpBJwnphehQX+y0T+O++rzGbrB9u5' + | |
| 1400 | 'gPwEkpCsrkt195JNXemhLnXbYRNw8r099tZjkQM3e8+saCwcrudDH' + | |
| 1401 | 'dPHqvkUnUrs8nliXb09R86MXfkUfXfgwsfu3ritJx6ZONR+fKbz5K' + | |
| 1402 | 'HgQLcm7FWEnKa2xv4LV5cvPLb/4M69+wDYN7/9zrvvvQe0+e13Ae2' + | |
| 1403 | '3bP3g9bfeAsx/c/Pbib9vv/3aG2/yJVJPKGL3+u2BoL02XNvS1jY4' + | |
| 1404 | 'Mn3n0e1NHPi4nmt9P3z5L3UTn5hiExJHa56niWRsTjW0kK0xQm7VH' + | |
| 1405 | 'PB5hETEXpJ4QaBtSKED8uuNIb1ev3Ub7xWSgEASIGI/2dmeqmsluZ' + | |
| 1406 | 'slLXFr/aTK3+9oPRYautp65POVuFW4nhvFuvuUlUVi+l4hdRefskv' + | |
| 1407 | 'MKdOqZd66Rmf7fk3rtKrzuCA4TDHUlcidNLWNUa2tchtrumtdQ83D' + | |
| 1408 | 'V+4uX3Lz5LF333sf4H3bnt1llSymTFxpUEh8ZkXYXuUxcvQKqkxQX' + | |
| 1409 | 'Mmg8sRsqcoRa27o6GrtHWjs6I42tfSPjieAf/ubR9Z/5cDXev+4UL' + | |
| 1410 | 'XDvwFvyWr+DPQzryQoKqnwlvivH9fXBIoqpv/DYywQ1zOh6Ts/9J7' + | |
| 1411 | '7XXj/dV1gqNLSkO6sR3SNZEMT2RAhZAoJCCfBebKIQBCAF6Qdpld2' + | |
| 1412 | 'Wcvo9lAoxuWKcjdxNyB8ApGH8N1kZ1uqpoXgbOQ2Ttgapqu9vTX10' + | |
| 1413 | '+7uM7GxW5OzeBj/xZIv6JHS94oZhSIg2m4BbTevfAd93zscPlfZfF' + | |
| 1414 | 'AYGqKbYsUyx9ulwt18vr7Vb+gMWbqaHlnsxM17nTOXOo6cN9aFPIM' + | |
| 1415 | 'd1p6Gmr4672RXZHKwdmrY3tVgaA55BrrhzsMX7vhidXXtHc3dPR2D' + | |
| 1416 | 'w937D7T0Dz1e4O8q/MeRy98DLOfk/DOAJ9hirfsDwHKikLf+CejnX' + | |
| 1417 | '0lQLCgcPkRAyeD1z3+OQMHSYG1xvTgav/FtY/wLZ8cJpaO9Qhci22' + | |
| 1418 | 'rJqhhZX4co/XOoZxMITEKWFCn0pmp6U8OHN4bi3tp2vdawdxfrV69' + | |
| 1419 | 'QCQiXQOCS2HayvYlc3ZBijdFi+611EzJHuz48YmuZ8fdfHL2Kh/Ff' + | |
| 1420 | 'LPWfuuI7cMzQHRe66vm0AjFtF7diF714W8XuzQy+qNLTU6b2v10uf' + | |
| 1421 | 'JfGVTe5Na1eccBYN3VohYVP3rrfOjPVcnwqPD3QdjLec/5oy4mpup' + | |
| 1422 | 'mR6ORgeLS/6XAc7gbalXqjxWCxOoIhb22spW+ga2RsavZxAh9yGAt' + | |
| 1423 | '8dGPvqR+Afv6VxAIfCLwGelxfE1osrhdHB67c8w98VNMwLTU3FGj9' + | |
| 1424 | 'JEuErIiSDTFE7CKQKlNIDKTEl+6cyogdTw8dIvoOMiNDAXewks17X' + | |
| 1425 | 'dtO4rcTs8SEDWwSrYZsayArYinmSHGk31I7XmVpVDg71f4BU93E8K' + | |
| 1426 | 'Uv1v00cf2S6jhxrf3TP0cv3lf0HKVW1wiou3kVOxkl2ygF71P3vUf' + | |
| 1427 | 'nV21myl8rE9CMWnWTS+jT8+yaA9c+X0nJXf1dvW2+sZsXBq6dHr56' + | |
| 1428 | '9vAnt6Zmr3afnen76Pj+j851njnSOXN4+My18Ssfx+880OlM/LIyt' + | |
| 1429 | 'UTi9vk9Lrff438SnbZJwAcCbj+MwIDX3s7fgRfgL6/6LzCEAv4FL0' + | |
| 1430 | 'BbAN0fvAv8drrg7xY+I7DAB++C1+9t+/fxuYAMKAcUgj0W+hrsDz6' + | |
| 1431 | 'ItgXQjeAQQGA3tGJo22HhDuAvqDMoBPyFx4o/plAVrnXU+LX7LTPf' + | |
| 1432 | 'uLtOK6wtO8xRgjlMloXJxijCsaVsYBLyRRmR4xm1x9P9B8m+6U3Bu' + | |
| 1433 | 'DvUbKjWFsqtGV23Mgc/RXbaU16iksoMZFs9WV6bYojwuif8Pccg7c' + | |
| 1434 | '11k7aWw7iH/0JpAnjg1x80XPk2eOpTVrh/u9JTyOIxi7cKGPsUQpp' + | |
| 1435 | 'SQFcJaRXianfvRPepS/7hIUNDbWzi4AoLHzh+fqhBe/jM+Omvvzj6' + | |
| 1436 | '1Senvvrs8Me3Rj46d+Da+QM3L/Rcmum6eLRrf31nsHr8yieBhg4pl' + | |
| 1437 | 'VrNYOi4XCOXG3J5V3KInw/8+Dyo0XchRcELGAUCf9GAD9wBwByAFM' + | |
| 1438 | 'J8YTkQueBdbNQdPSh6rDjmAQFKAy/gzmj0BkAeDePA48LXi+4AKgk' + | |
| 1439 | 'Un4M8qC18NDyuUBWu9dLEjb/pOPG9s/24yt21xVpLMAQQSZBsDJMo' + | |
| 1440 | 'ppSXKKTd1ozGsxnhoxmhGVLoKNXb7ahxCCqFb4am09pvZrRfIVc2p' + | |
| 1441 | 'bxUQSpQk60xsixC0odonaP105dNteO68H5355nQ8LXRKzjwXyC1Hr' + | |
| 1442 | 'sSu/Kt8+B14/6zu1Xut9iqD2mV1IL3uJTdWnmlVgrEMWhkPTPn1lD' + | |
| 1443 | '4gSuf2+3awYh8aqT+2N0rhz+/c+jjm+M3Lg1eOtV74WjnuUOxI6O9' + | |
| 1444 | '4y09Ue3YtS+6Dp+rolCqWSwjn++Wyeqi9Ss5xJMAPkTooogGzwKIa' + | |
| 1445 | 'EB1FNFJ5YB3AXuTAvjLAD8+z3Bs8B+8xlZmIfCTdgBgh+Vji3pcoS' + | |
| 1446 | 'pc6yPQwv3kP7af+MHeekwX3P+GvY6gCyBVAbIpTCrUp7xMIQubM5r' + | |
| 1447 | 'OZ8ROpcbObIoetTjDKqlyr8ya3nAho+FcRvOFNFV/ystU4k4F2VpL' + | |
| 1448 | 'loYRbejDWFfdoavu9uOmuglPz7ng8I3h85+t/5ni+kU0dvPr+isPH' + | |
| 1449 | 'Aevq3uO0BxNbzHkmyuE4soKVsn2kt3vVFWWaWWV6iqWSsxUiZieSH' + | |
| 1450 | 'T82perKn9i9huZv7HWJhiIKkdaaw6cGO+/fKbtxMHIoUHvaHvT8Ym' + | |
| 1451 | 'OEwdHOuwuh3b/lS8mbt4T0RmiigoNh+OUShsbWlZyiF8Y+CjSoWA4' + | |
| 1452 | 'JakcsB1gFhAYvAZOOHzrSQPfWvcH0KYAhwPPmqSzw/Wsavab/nMPA' + | |
| 1453 | 'j2HTOEeTaA73xohav2I2I8Yg8QPq1MQVrpzMqPpQkbTJaThIqd2JO' + | |
| 1454 | 'AKcli8Tc6htLqzGdETGXWn093xlFQOYWsV2RIFwCdrQ6/5GmsPXw8' + | |
| 1455 | 'NXLY2H3Z3nQkOX+859dVKlpbD9Rxo/Ob9lpmPzANHqhpGtouN23ga' + | |
| 1456 | 'Np+nE5YI6HspBe+zy3dVi5kKIUMupMsENBmfqlHJmkemVz5wd/rOt' + | |
| 1457 | '9WhZqtB4tOxWr3Sibaa8YNdDTMj/pne0OGB9ovHDpyeGG3U8lW64Q' + | |
| 1458 | 'uJ7PcanZlbUiKj0cx8fkNL10oO8QsDH8ZeIMYB7ZP8Z2wMHxAYvAb' + | |
| 1459 | 'Yhw+FJw180NYAdQNbsI0OPIb/TKvj4Gl3y4Ap1Ki0eMRmV1ZNgKQN' + | |
| 1460 | 'zgE/RNyqSCHQ06zjma0fpdefy4mdDDb124zWfQJNWvREevhoIrZff' + | |
| 1461 | 'ybNNpFCYhDe4pNrwmRpiKwOZTpqPWMnfe2T5mivMdxlCLb5emambu' + | |
| 1462 | 'HTr14gjV37svHIR7HJM2PXv6rrH5GyCqScIl7FLnrRB2J2qVzIqOJ' + | |
| 1463 | 'RJFyKXEiT8qkidnm4bUUoBmoZHDaYlGq7M2zmRWt49VZ+h4Pf3lJT' + | |
| 1464 | 'N9HUNFzb3hvobTRF7DKqRNU2PAz2D7cP0nfuEpWW6jic5u79KznEq' + | |
| 1465 | 'oAP+AxpCZxhdNALADL4F8Zn4Lt0wd+B13A38BH0XVgC+BdgHO17RQ' + | |
| 1466 | 'UKhHuC7fBBAOM/sEcAsB18CjwFYLQHlIY9LtwTFoi+RisTn4c8fL3' + | |
| 1467 | 'oDrB88BeIV/0XWFs8hv9MK9I3rvPGNO6oRGfjaq0Z1giij5AlIXJN' + | |
| 1468 | 'lPi+csNLZalV7ZnNF5C6swXR8fpos6JK/p6xMTV2JqP2ZMLDbziTK' + | |
| 1469 | 'mnf8Eo5YSOHXBMhK2vJmlqivdbYN24LN6pdQYXVI7d4K+W69umT63' + | |
| 1470 | '6yuNZFkzfvSUUcCbNAyipkl3xAL9oq4VGE7HIuvURcWQGAX8WtkIn' + | |
| 1471 | 'YY1cfMUpn+va3HdPHau1VfmMlpybAtUVkRpPDbfA3+v2tUVedz1kf' + | |
| 1472 | 'UBjVTL6gRKzhiQVObeXU7NcD5657o0F9tdxUJeqcOLySCq/LTNskR' + | |
| 1473 | '3rln0oKAT1GAU8eBnOAwHMEPgXwGP4zrdqhuDHYJDO7hSojS2NJty' + | |
| 1474 | 'aC8GRJkGwOE9+Vb3ipFCn1ZTSdT4sc14Q6/U4/U6jMCR1Jrz+bUT/' + | |
| 1475 | 'Xk1t3CqEGN7xSlpJJJ+v95OooWRUhWCPVnSO2cFO1PSA1uSRGZwVH' + | |
| 1476 | '5GzoXPeTxbVeivYM88o/rPfa2qNBo4wr41GAV8+iFHJoxQJWmYhTz' + | |
| 1477 | 'meWhFoecYcMXbyrNGobnFVBA1upVRYYanfJXMKuMd3MeYq7udgUFn' + | |
| 1478 | 'aP8zpHtrBU23kag4LpUlL6jp+f/PTTCz/cP/Pd50c/v37m3l/F8Vw' + | |
| 1479 | '6KxYcogMFHit4JOc5UFv8jM5bJ9JaRSoT0+BIddYhhhhZHiXbYsR3' + | |
| 1480 | 'APDLkDJHatP5beHpaLhJLa3eVe1JrT+fETudET2eHjmaETtBfE+dk' + | |
| 1481 | 'lKRkkpFtH6yvp6srkux11XUdjiirQD4Yr1dqKkRqM16f926nyyu9d' + | |
| 1482 | 'Lwhdusku3NIc/5mWPHxidaa6OqKj6bWkQp2c2sKKikFVXSiwSV9LE' + | |
| 1483 | 'ry3Xuj1yY5Wl1DqO4zi706ColiioKv4rhDCiHxpjOENMRkLZ2iSL1' + | |
| 1484 | 'hUwuX8xzqhkeLTMYtAxdPzfz5ez5b768+psHt/74Q/zOoweM4cCHg' + | |
| 1485 | 'gP1Ua17fXD9fA2cuWEINIh0VonWQje6EGuErI2S5WGyJUJ4vYrwmj' + | |
| 1486 | 'jjyDHy0XN7DxzxOfyVNPZr9r5U4NhHj2XUHktVdZE+0KWQmSkIPYV' + | |
| 1487 | 'UjsgcZH0tWRFNqYlWNPT5Wvq0nqjE6EgUbnJZ6zrW/WRxraMM1pqI' + | |
| 1488 | 'w3jm0OH+lpaA3e4wGrUyKY9BSTC/vJBVUVLF5dS29y1Twv6Tl+p7+' + | |
| 1489 | 'oRSQcwqDJp4bg3DIqvQS6k2Pc9hErhMAquGUyOnW+QUq4JiVzGcKk' + | |
| 1490 | 'bQId1/6dShz26c+uqTC3/1xY1ffzc1+1ePrCoOfFzPq0avfGaOtFb' + | |
| 1491 | 'p7SKVsUxnJ9miZG2MXF0LPHzCG5KUDA7Z3Jh+6mTqiePvt7TtVpgz' + | |
| 1492 | '3JPp4cNp2j7SDkMKUpGSUp4APpmeQihFhFayGbQOagnm2rK24VDfu' + | |
| 1493 | 'CnYoLB4q4yOKqPT1zm87ieLax3Ve/wjt1F5aGQk5HS6zWabXq+Vyf' + | |
| 1494 | 'QKhaiSTS0t4VBpYItGpVkm9cHAoeOTR4/rrXaLqjJk5tlVTGs13a1' + | |
| 1495 | 'luTRMIIucWiOj2qsZZjnVIKkwySgOFT1iE/eenNp//ez47PmRy2f6' + | |
| 1496 | 'zp5LKn/08iftkzMHLt7BbsSBj+t51dSt++7WAYnRKVTqCzQ2IvDw1' + | |
| 1497 | 'dFEKN5aS3xTmpJC2/AyhVysz+roIh2cTps6hNC9xG3GlDR2yoayBP' + | |
| 1498 | 'DJjB+Bn1JKouvINYmRmSRDZHusJ3LgiCnQILd4xTqrSGdrGF189bq' + | |
| 1499 | 'VCPYT4Y3KZ12RhsaB1la/3Q7YbtFqNTKZWiJRCIWUkhIJn2/R6QRs' + | |
| 1500 | 'dsdSnft3HgwdnBmJH1KZLEqF0G/kONQMW3VCNQqaRlSq4BWpBSVaU' + | |
| 1501 | 'ZmSV6zkFRkk5WCHWps4tr/NM9Ju6W0TBVqqIsOd8ytqtU4csTltMj' + | |
| 1502 | '7FoJGOX3so9QcOfFzPre48aBg5rLD5pVrLXp2DYAqQlaGEasLE16p' + | |
| 1503 | 'SiIwNL1Nff5OxjSXK17nTTp5Oax7e8FJ5CgIgT00hU34C/oYSYoGc' + | |
| 1504 | 'bAmTJUFEG3zV19R+4oo11Cw1uwRqM3ig9J54RKrzZQQHKhfT/wFg/' + | |
| 1505 | '8mNScD1pDVy6W57W2etx+symWo0Gp1CoRSJZAJBJZ1uUquVYjGXwd' + | |
| 1506 | 'DojIuOyZ+48VVLb39rX3+VWiORSm1SroZPkVcWyTgFQvpudtmHtMK' + | |
| 1507 | 'tjOIP2GXbBbRdEvY+najMo2OHzbzGoRa+w1uhCVW6e6rbjtgnb/We' + | |
| 1508 | 'vOoJegWUXWL6Xhm7oH0iOWkbDnxcz7Faps5qvHWVEs07EgPRHCQrQ' + | |
| 1509 | 'uTqMNkcIm4SbyDSEUnonbr2XRx5ZiabsENHojvAUyCFzJoDPnUe+D' + | |
| 1510 | 'QAfMI2EVITQiQBRB1MtYa7z98JtQ/KzG4A/GpbYP+lj9dWPUB4OME' + | |
| 1511 | 'Q5htZ98v1dAom6cXqF8hzDg4KBA6Ezv18pECLsmP/ZMjlthsMOrlc' + | |
| 1512 | 'LhSKuVyL2eKz2YB7z6JQvHWti65RMnjmevvAoCccZQlF1UKRRSDUc' + | |
| 1513 | 'ipFFWWMwt3le7aJZRKRVEQr/kDM3FvNL9ZXlZnlVL+RGzJWNvRG6U' + | |
| 1514 | 'Yb29aubJo2D1001nZK+RQRbXcVY4+Uuc+klSwMIq0Q+LDVuVDQLaE' + | |
| 1515 | 'L/g6bHm0NWmH56EY0nRq2ELjxMebSRw/3pO8uXE9CEzfvq0I9PGNo' + | |
| 1516 | 'RxE9nysnGvyIxIco/IjeR8gVEDI56VOHs+5/mWdpIvyKSSCwCBtoK' + | |
| 1517 | 'WT2IsBPKSG8xUWMPqTKiyh8Gwye9nOz3pZ+4NuLdVZTuHns+qM7yx' + | |
| 1518 | 'YVnAkC9TN/Qc+EYE6VRRMnLhTMjog+EJP0pJPfwomfSTnV4dwfiKO' + | |
| 1519 | 'lmmMjF25HGtvdLq9BoxVxOP6G9lhLl0yhaps8vtSxug+f6T0wqrfa' + | |
| 1520 | '2VyeVSw28flqNltcQaHt3SeRKMEOw+dnBYwE7U2yCquSmnDvawTRG' + | |
| 1521 | 'l6s1S322LjOJkXzYW39EK90O5+yU84plAvpSl5Zy8j4wmOtEPjwm4' + | |
| 1522 | 'o/nFgebIFPW3T60s+8Ex5ZPnZG7cIJv/HHnfceezhcz5xA87lx4ix' + | |
| 1523 | 'L5flgb/kmsY5oAMT2Ico54OcJCa9Qyepg+tEZItOdAH5qJSGBdxYG' + | |
| 1524 | '+MwfgU8oJbzKRvQeROoFSjF4XRMn+RpXGV/FUpjlrobxNQEfzR8Ch' + | |
| 1525 | 'Y4EfhocjCdUBzi9cYW/KTgRfinBSZ1P7gqgz2Ls1EsYf1tRi+zOg/' + | |
| 1526 | 'FrXw6cvDp4+sbEja8mby43F7t1NN45OCxSqkSV3Bo+38jnyxkMfll' + | |
| 1527 | 'Z2c6dDYPT8bmUC+pqkZJXZJZTAPBdGlbUKqyzCZrbPIMXbg+cv8MP' + | |
| 1528 | 'DfJkKk7x1irGXmllqaxuwD99YeTyIgNBVwh8OLM1/jBRYZMH++6at' + | |
| 1529 | 'cLyceDjWpUGz3/q7DjJrfa+XxNNUTkQsQdReBGNh5AjIJCYhGwu8T' + | |
| 1530 | 'VRYuHyVG7i71LAJ5am5NIR8HGZCxG5U7RuWqSTKtTuY0qLKpUVEvP' + | |
| 1531 | 'aQjowfyAq9KZ9GoC/2p8z+I2spIUCaY/mS1leWLouqqTJMo+3BwQF' + | |
| 1532 | 'PtaVhblclj8F2DBZ1ZfYOjza0NHFEYqqORxAex2Xq2Aw2EVFPAZ7c' + | |
| 1533 | 'j5rR6S50aKg2lR0WzXNqWEC4De4qjrrTWNXEvde7MAMn1HEq9gpY+' + | |
| 1534 | '4WqLSW6Wttd3/XOfvD2M2vk7+CVcbwFxIVG12BMRBv5+9gqnlw1mh' + | |
| 1535 | 'ifPRqoDnn11b+moGPzcOPLqcIQ0ZoqnyYUQfsk5SWJ44vkvhsqvf0' + | |
| 1536 | '3fD+6/bmw+/URFKUNoBrROFB1C5CNp9AZhEQNoHEIpA5Cfc+lZPyI' + | |
| 1537 | '/CZScDfQCpLyaAiChuicCNC1waVY0ew29YcLxfqdlF4xljPGpa1BT' + | |
| 1538 | 'cSpB9MD4LNE4iSBN6Z8F8YxnxksWBnuA5dEnNg3qqF0e9HBqgfWQf' + | |
| 1539 | '4G0e9blDgUiSEHjs4a9iWX4lgHhWYKR3OlIFblvLwlzrN1V6u+HwC' + | |
| 1540 | 'liSYwBSLy8Tf0B3g82gl1Zia/bq+o9vmD/J4fAOPZ+DzlUymoLycU' + | |
| 1541 | '1Tkr2//6TofPhkwcb0GjlVJ9+jYUZuoI1jdV6sZnjk+NfuNx+u0ao' + | |
| 1542 | 'RqEVVI27NbbODVjQRPfxo6+3nTR/cOXL+HPdzPB34cw96kVPPgm4W' + | |
| 1543 | 'J8dGnJMxUAzcuetFWUv4agL8wDz/8XuDNCe9A2IMGagUrjyYOwsIf' + | |
| 1544 | 'Hz73bKlz5npg4LKn6/TmBPCtiNCNKD2I0knInAN+wreHAsBnPwx82' + | |
| 1545 | 'kPAJ5eTRGak2oXwXRsU9i2+toFLf/T2nmUonE3TF9ZQMRSS6AtsQx' + | |
| 1546 | 'LCDdyiEGtoKBudDw53RtEKwALuWyxtIFrRBjI2GA5+AhBu4NAwqxV' + | |
| 1547 | '6XLRNvZI6xOejUtiDLvqrhIKlraq3IqnhABdFWtS9X+Y0V3u5oOCT' + | |
| 1548 | 'ZSlPftGNsEmSdDUeGR8YvfKZrzYmrlbzGAw1k1nNZEkoNF5JmYhKH' + | |
| 1549 | '8G0HEcvf+q3iADzAe29ek6jW9oZqh5q0Pf0toQbGywakV0v0VbRK8' + | |
| 1550 | 's/LKDS36LLK8N9+uHT1omLA1ceStH8JICflIgSfRdG42Fkfqmw/xM' + | |
| 1551 | 'C/sI8/LBTBj7Zsc0HNKka+gL9yvDYzjOnpqkL2uCwzNa2SechKO2I' + | |
| 1552 | 'wIUo3YjMTsjgYYDPhn/nCb8A+EjZBmIpiaMHTQOE7yQoHK/aYy3Hv' + | |
| 1553 | '66buG1tPtI4fna1tULde3BbooEL7A7Y0TvgrkNfw3gyuGMBjmDX4T' + | |
| 1554 | 'LdmuhPbGFsBJaDBljQNizYH5QMObl8HaDA/oBvqNeNalEfHi6ElPM' + | |
| 1555 | 'zxiOhXveihSx1mqu9XFALt6CCPRFJkEG7GhfWYXk/f+TSHZ3VVkKh' + | |
| 1556 | 'CSoocjpVVUk3iZl6Ec1qUmN3Aw2BsEcTsfBDZn7AyG0LKPtqtb1Rj' + | |
| 1557 | 'cco0su5pmqBRS0UMvaxy7bL2QVVGq3Y26huGR38KDlp2y8JfLgRAn' + | |
| 1558 | '+pZtdjBz6E+cI8/PB+BrcrujP6WbhPkoeP61nU0IVPIkPHdcGOfLW' + | |
| 1559 | 'DqHQkgK9yIxI7IX1uBfNk4MNhOYyHgU9NAD+lhFShTvTbCl1EhSur' + | |
| 1560 | 'JhieutsU/9zWdjy6f9WpMtH4MFydM2d+bTg0chLHhItRhkC0xjGe5' + | |
| 1561 | 'DLsQj8CQZQzH51A/U90FAooE97hsGGbM78gxfJ1iM8jDhYI/sLs4v' + | |
| 1562 | 'BfLOXQ1UVh7tmF69ytUNg+3EXd+6VOc1WXK+lYWDigz0G0ZGwF4LM' + | |
| 1563 | 'Pfd6h7uJSjz9UfScvl3O4DGqZll9hkFQ4VPSAqdKhprscmqQ9IzF/' + | |
| 1564 | '0FTpN3Lr7KLuiKY7rLZqeFI+XSVm6WVcjYTFKv2QT90lou9pHJ5c6' + | |
| 1565 | 'nC/JPDRdQ/R72jN5cdXBnyYVzm+RB5+uBH94uANj95LaLZnPIb/zO' + | |
| 1566 | 'vOg23eOoJ8zsNXe0hiGyGNiwE+a475rDnUMxYAf87DTykm7pMhhgT' + | |
| 1567 | 'wSTI3oncrG6dsjYcllsbYgVUDH/IT3pmQElgm7C7+R5gGHAsoGFvA' + | |
| 1568 | 'Dl1At8POKRRZ4N7G+pnozuBwWKcd3Y6mOke3aOfXoV6mDvH5iBDKN' + | |
| 1569 | '5hvFntc8GNJcv7hc2EN3yC25qCQhRGVpU4T/RWv8HIlXWFQGmwaoA' + | |
| 1570 | 'F59FmA9QNhrAkUDs4Xoh58ClvhZRo1jWMzJRS6VkJ1qGlmWYVdRbd' + | |
| 1571 | 'X02vkFLc9GfhNgyNhMzdo4voMnHqnOGIVizgVcgFdIWQA5iv4FE7p' + | |
| 1572 | 'diF1F5e6d/+F20sdblXARzPPw4z36Eb0W1iYah77LnolwXbtYkPlV' + | |
| 1573 | '15+UrFJH0cvO7p81aJ5+OFGbAWgSwO+XNhRhU2zj8fwn11Nzn7zrj' + | |
| 1574 | 'NKhMDXeEhCa2JYzmqBv02MmH2IxIvIfASjl+tti/YdGrqw6vE5SS4' + | |
| 1575 | 'iRCLWXQS3Mby90ZAL2Af7Y1noOqLuOiwHG9zAhmXQQ8PbHmUaLATb' + | |
| 1576 | 'm/DIOqDhdLQVgBX08JOGISX5zKsSlsmLdjSjOyw8zVVdLojxhZEZ9' + | |
| 1577 | 'DmFloa9GuiZLno1ln/GTc1+0zZ90qxk1CgoRmmFrZpmllOMknKXQ5' + | |
| 1578 | 'e059DZGw4V061NZNeptQnNSraAXS7hUsWcCoWQyaPulbKLrSphdbV' + | |
| 1579 | '0mcP98jNtYTf6uswiXxhHWlgNsMNSMRw8tvOM6sDNexutIUTpQkRe' + | |
| 1580 | 'xOAnCW0EcuV8JCcxGjPBfJhFYRHgz4V0CCWEzTzE6EGkHsB8osHrn' + | |
| 1581 | 'l516B4KEgN6y+hQfIhBNLsCbGwCxsK+xaSbFpYAo0DYLTnzkW2UV9' + | |
| 1582 | 'BBha/R7Wi8BR0mBAtBYYWN8CxVBxRxYHtSNyUsH3wE+wRJKnwNV2x' + | |
| 1583 | '5eC5zmqu6XHCHhcEfsAXujH4WPTT67IMtnaQPrnBIUl1rg1FaDoBv' + | |
| 1584 | 'VdLAC62wxG5N9vCnb39jNynM0nLwUAgYK+V8Cp9ZxqOXcmnFMj7Fp' + | |
| 1585 | 'pFMDw72Nzd4YsutZo6nVsD13OvAja/yLAGS3JkYpWPwkXgWAgmG7u' + | |
| 1586 | 'ewD4BPRoEP9RDwU+aAn/IaBzH5kOoAIg2STUHlgbUkTEOXaYONUKw' + | |
| 1587 | 'PDLbAjfH55XiWGiICqYIlCVoO/Bc7UgUbncC6tfGHveL4AuAvUwd4' + | |
| 1588 | 'FmjHJWxZw2Y7ynN0DAx6RjkPr5S3QmEbGsssNr3Maa7qcsUxIQVYA' + | |
| 1589 | 'torgb1K2J5rWD7MhgT/Ba9BUeDjK++eHvvojtcstFbT7Gq6QVKuFh' + | |
| 1590 | 'TbrNqFuwViETW/yCAusyhoPHoxo2wvtWQPl17aGPQeHhk5Oj4x1N7' + | |
| 1591 | 'aET+xzIFw4ON67tV/5YvMmkBiBH6Vj1wTInGtc8DnLAA+bTHg0xLA' + | |
| 1592 | 'Jxan5LMSnbYqP1IVQAwBQd/0GmqCBhMWCo4fgFSB8/eXmr0OeYWNj' + | |
| 1593 | 'WAHTKJ9rzD6kTRfFesho3uCw4EyUUf9kXWAZwHHxi91pkmxbpSTK0' + | |
| 1594 | '9NAwU7Q2GHLzydRR8Zy5zmqi5XHNMiwH48Zz6GA08E++iB1+3nL5n' + | |
| 1595 | 'U2OBLZEJWUnXiMrUAePiLAL95eFRE3y1j7zPIGBatupJeXlaw067X' + | |
| 1596 | 'djcmcnWOdHUNtXcMn72xzFFw4ON67tV18ZN0ox+RJ4CP1ARJrBoCE' + | |
| 1597 | 'Qt8xhzzGXOQp80Dnz4/Jn8e+DmMRDodXZgsi5DNEXrXIolKHqmkGC' + | |
| 1598 | '/ap4md+INN2LJoIfBTWF8aLST+8DMFHVgCu64WonLRMDu6YPRSdUB' + | |
| 1599 | '7ypYJzKIDIGEJ8EBwnsvKLxeWxgtjLEldgUud5movFxbpaHgfbSDA' + | |
| 1600 | 'd+HwJ7RZAQ7x84EfizqAh2+SVWjFZQpuodNlWbhP37HzAtpuMWuPu' + | |
| 1601 | 'oruMtdYtFqVpMqu1wcdjqZQqKOubqCnb/r2kln34zjwcb0A6rjwca' + | |
| 1602 | 'rJjyh8iWiMLTIHfPaywKctAH5JShYd0XkTq+JKQ4ghWNg0uNpqYDs' + | |
| 1603 | 'TAcogXrBuMBSMfi8z5ScHM54kPo9WdAgZCsllAiBYwdHp8C8a6Fi+' + | |
| 1604 | 'DhB6aDwHRS46nhPWCo2lgyqhT5YVghEcd9GH0aJapszVXi50fzglI' + | |
| 1605 | 'Wc+Mo8dm4TuAJ9fsAIwnRraOwl7Kld+b0xc+9yhqzRJE7RX8UtklQ' + | |
| 1606 | 'XB+sXXzfTVRhWVe+U8ik6h1EilqqoqrUzmMBoDdntDY/P45U+WPxA' + | |
| 1607 | 'OfFzPvRrPziLmAKIMkKVBBACfbp4HPkyhgwKfuiTwSSUp6dTEGH59' + | |
| 1608 | 'iCxJAH9HrHu11Vg0ASM2mAAFA+9LhT7QySxYFGN3RvsQV5t+E6IPH' + | |
| 1609 | 'bi4TB1QHxjsBrVoW2DRWU4r7MRcOJkLUhpq4btYJv+cy4WdnqBdLC' + | |
| 1610 | 'UO+Cx6UugcUhgTgy0O8AJotZPL+g4d04tLVYISeWWhgL6bR9nZPLx' + | |
| 1611 | '4E3Lixld6tVghYilEIgD8Kh5PLhQC5vujjVOzyZlzFgoHPq7nXnWn' + | |
| 1612 | 'biSiMXIfIvGTLSESxTAH/MqHgU9/GPiMZOCnURC5E6CeXBVAtP6t4' + | |
| 1613 | 'bbVVgOdl4T1/RY+AmB2mmWiJdgECIu+C6i1hoFwcNIKnGm7fB2ws5' + | |
| 1614 | 'xg5+Yyx0JzYcEu4JW0O5JGzi9VPpoUC059XerxtPLLBQQrufyzEn0' + | |
| 1615 | 'gwn+xYzjBRVvbVJ1QLCRh7ali7xMzdwloOznlO/qPX1r8eh48LdTo' + | |
| 1616 | 'BGqNQCqVi8VsOl2rM7ZPHFvhgVYFfO18tnl4bdEk9it/nMHkBnCaB' + | |
| 1617 | 'ixnmesDnYc1XD00mreGz+J6/lR78jpiDiKKuQE2tjCpAgt8NkD9HP' + | |
| 1618 | 'OxwIfjM9lY4G9AKkhiK2IMIFV+RON/x980tcqcaXDEb5KLC+GWlDF' + | |
| 1619 | 'mvS5U0mzf5c8FjkJZOd+wWQqXF7anY4WdvKBwNEr2cwSqt9puZXho' + | |
| 1620 | 'ePQ1jzZ3euwC6g4xY5ehmivjlghZRRM3Fsu5feeByhOoVCglRlO11' + | |
| 1621 | 'abUGwRSma9rFUsqrwr46LBh7MiulX/jaB4b9Nqig50Wr9tc1/zaLi' + | |
| 1622 | 'C8Z9b8veN6nuQ+fDHh4ct8iQVQagKkEh2BwEkCfspC4KfCxVDmgI+' + | |
| 1623 | 'UbCCVkwQWxBRMjNJR+9/w1I+voAW9UIvOEl33S/SLaSVIhMEl8BN+' + | |
| 1624 | 'cWa+TN74ymxU1tWFpk+cauvtcXmd8cXcifEbX9HlCmcgFGlo8kZqb' + | |
| 1625 | 'f6A1mYXWxwrP9BqQzowxgV7cxZOx3jkB5PcG9iYWuojsGm5tguIAx' + | |
| 1626 | '8XKuehC4gpgMiBh+9HrCFSMQA+e472vLkUOnTCj2EcLPCZKPATE6+' + | |
| 1627 | 'Q0hRCOYljSrQUgIdf7c93RA8su6oFrp+jp2FRgF9SI+dvjR45uj9+' + | |
| 1628 | 'aHBiqmv4QFN3X/f04lEaX88IAH6spc0ZDJldHoPDRZfKV36gNcTw0' + | |
| 1629 | 'Uwg2LYPGqmDIbWFTsvCKeQ/nun8Ex9+FhSOZrxBwzIw/xIMnWET2i' + | |
| 1630 | 'Slr4d7wpARPBzcuObQEK7nQ46p0ySDL7FeFfDwLQFSoWYO+Lw5cQg' + | |
| 1631 | '/Eh4LfMZiwC8jMQxkS4gsCSDVgWxbePDql0+65k+Dpm4/aJz+WB8d' + | |
| 1632 | 'XfeaPK+avvNgYOrQ1NETjZ1dsbb2xs5uRyAYbGxedJ0ssHOwrRu49' + | |
| 1633 | 'zqLVWO2KI2mEgarZfTgCo+1BuCjuYmSgl058xOQF4Yl44sNP8MK7I' + | |
| 1634 | 'z9LHaOQ3y+qx2mRcqZz1m6MH093A0dRZyDmUm35tAQrudA6pFjiZC' + | |
| 1635 | 'OdE7WIKlAjQX+/GhMagpCne+uneuxTQJ+ShmxXINYgomlzJX+tJpA' + | |
| 1636 | '56VHDIF71jV957ueU99UmSby87ix+Jl1r8/zqunb3/aOT/WPTbT29' + | |
| 1637 | 'ocbm2w+v83rdwbD/aeuLrr/1OzXRn9IbTQptVpKZSVfJtfV2AJtfS' + | |
| 1638 | 's51tpG6aDTKLAROezQ35wFqaSTgA+ddi1mUXLouqOJ6+MLgJ+UexP' + | |
| 1639 | 'NZoa+gJ+F5WNDOj8nNITrOZBmZIaoT+TASXj41iBxHwp8/sPAp2DS' + | |
| 1640 | '6UDgMx8CflF1AvjSQKL/1+RvPDO77qf25NR2+q4pdv79D2wZZArbG' + | |
| 1641 | 'npCR8EO439hBYDfOrg/1NDY2NFlcjhVRpOmxmK0OzoPL5mvafLmPb' + | |
| 1642 | 'FGT2Gz95SVAz9fb7Vra6yx3v2PPNYagI/NJJm0ZAAW+Enjr7CZJ6F' + | |
| 1643 | 'g1AVtJsChO3Bq26qAj6avx0Iej+HjQqXbf5igcyNVgPmeBPD3qhOd' + | |
| 1644 | 'tmn8hBJUTwI+88elr5KBX07cq0Ascx0BMj9oMoSPL+6APROavP1gY' + | |
| 1645 | 'olO596LX0aHv6XSB3JzeZlZ1FffZXdfuvVzjrXoWoRo5BY7XevF1N' + | |
| 1646 | 'TsN9HWdovL4/AHtDUWoUzGEQqVNbblx9X3n7ryQUEhgycwO91yrd7' + | |
| 1647 | 'kcDkC4f6Tl5c/1mqBjw6kXBjYSZqtlhQ2h6v8YJ8C6KIk8fkpzDBu' + | |
| 1648 | 'v0LgL0xfDwuBNw8ew8eFit8zgeg8PwLfEiTuUS0A/hztEerSwC9LA' + | |
| 1649 | 'H+XDKnx/xgaMvpch9ayuOFTouZjv97Dnxi++gW6ZfrOg44Tf2Pv/J' + | |
| 1650 | 'NS+9WWLab0LGruRm5uDouq866hfPAzhKwAfxeOt4E/Upi9dl0S5z5' + | |
| 1651 | 'Vmrhxjy2qorEr5WoNXyIpLC0rY7CHL9555Afb4idlaq0x0SgwW71+' + | |
| 1652 | 's9Ojc3qnHlNqBUhjOCsc/otOnUZXJAGYRZfCXPjUhnEb2McKdoOr5' + | |
| 1653 | '2AzlEInH2IcjcOjOSsWZtdPSl8PR43CvBboZ+N4DP+Fl6R3kqh1IW' + | |
| 1654 | 'IXUuUGxCburn4Y+FQM8BnzK9uy5sfhU4F7nwA+oZy4XZIAPhzeafA' + | |
| 1655 | 'Zxle99MnTI9fA3+dsnt3Bbdt/7d7gRw8a43821f4zlfvbVzcfJmW4' + | |
| 1656 | 'Aeo3vibO38TPyWGoYz1rKB+b+Xkh0uHPH06bfcHd+3iiW/wbpbKqq' + | |
| 1657 | 'Li4Uiguo9K2bv+w7eBKe0xiA6MiudLi8Vl9AalaS2Wxu48v5+Q/xp' + | |
| 1658 | 'm2aL/q8qNnYe/qwpmA6JZVTRJMSl+PprPA3kV4DP8Fl7R3gqABwHc' + | |
| 1659 | 'jEjdiCRB3KueAL0joR+BTUOATfqI9BD4lEc9BylMIFYT3RYk1UOaB' + | |
| 1660 | 'rxg+su6ntmbZOv9j7vt3SRmxLaW3txTef/ODKxvfmiBm1BIzY2m59' + | |
| 1661 | 'fmvSvNfFeRurMzOoQdHVjqLEys07VhSXx42SQ5MWS/S/gU6aUnBfJ' + | |
| 1662 | 'jPB/vrhr7fCpMzPFuKBmu49KLC0ortu3ZTmYyVf3Dy1tdmb8DuD8q' + | |
| 1663 | '1unI6s5hW0TB2aJn9Hzvw1/3S4cKVJEbrMAkAXwQ8fCcgNnGHIpEt' + | |
| 1664 | 'Mxn4FXMvGHOpklHgMx4C/hZhIoav8Cf6bY1+Yf9aMiQ/JdI3/Wv2O' + | |
| 1665 | '1eQ7EYks56YESFmRpGs+tScptTc1tTc5rxNiryNlTl5zM1bhSNX1j' + | |
| 1666 | 'L6FE22nJSQGbtaCnhdU/sHNDFOEskXZgSCLf2Vr4r7DLl5TQ0+vaR' + | |
| 1667 | '8x66dm995R6NXreqz/acuq2ssuwuLdpcWCrUyf+tyWZ4eF/DRcA0e' + | |
| 1668 | 'kcP1tInTNkxQO+eA70qEdD6UJwMfgcCnzSXVYRN+pD0LA/yKBPA38' + | |
| 1669 | 'xMevsKXmHtl8HN7Jtb91NamsRs/7BH+W/qrE6m5HUDknBag1FygNn' + | |
| 1670 | 'JuZ9ZGZ/6rvNyN7Owcmj42sIbysWmN0S4/7EqCOfPZlbF57LEjOmB' + | |
| 1671 | 'in6SNSfNrFgqUhn1APEMs6uyqs6toFUXb9+7c4g+tutPEFgrTBRyu' + | |
| 1672 | 'TKS3WN2R2slbS04JxJOn4XruxW4dJGjciMiNSOaAv20h8CsWAJ/1I' + | |
| 1673 | '/CReeATKYQ3eEhNkKyey5BsDNI6Dqz7qa1NNR3/kr/te3J2S2pe9x' + | |
| 1674 | 'zz2+bUTs5pz8gLzAVzODk59PeLZWM3762hfJTtcBkRNGscNskYujM' + | |
| 1675 | 'Ee1J2/UXHAcJJnTkPrycLBbO9oQ0H8MRZGDFGh5esNlvOk9botc97' + | |
| 1676 | 'B+t8OqaAtkteWVDfvbpErP2nrrqCYYPNJlWqnP6ALxrrO/HRUjvjw' + | |
| 1677 | 'Mf13KukrpukdiWAL52L4f8EfP4KgF/xE/A3chCDD1EFEul0dP7S5l' + | |
| 1678 | 'WnxH8a1Hvhhy20f0vbOELObk3N7ZwHfjs5tys9N5S3SQhon53LePW' + | |
| 1679 | 'tyraZK2s7BIp3dBgGVovmDlrojS9c1hDNorlwzA/YOemZgl2cHdQB' + | |
| 1680 | '7AD+gj3RCNLTg/3Ww8eGxlsiZo5WVOpUMwdPPWJoZZL6jl3wRWpND' + | |
| 1681 | 'me0vS3c0BiIxhoGl1ydBwc+rudetJaBFI0HEfsQmTcxLPMD2cPApy' + | |
| 1682 | '0NfPo88CkpJCohl4WYAmRdOJESXxfYU9+77qe2WnWcv79X8S/Zm2+' + | |
| 1683 | 'Ss5vnUN8197eTnNOWkefPf7UqEbrPZ+dtZLk7VjpbP0lJqw0mhXEW' + | |
| 1684 | 'nWYF8ygmDaWDAMd6+Giy+qRC4DKIC5Pkw3YE+piA+erR/uKnJGfd6' + | |
| 1685 | 'NUv2k/He3oD0Rqu31jpsyunlg7ILKr9F257Q9G6vq7Lf/7m0MdXBw' + | |
| 1686 | '8fbOwfWWpnHPi4nnuV1XenqICH70FknoSHvxUAv3IunrMQ+CwCmTM' + | |
| 1687 | 'P/LllzZHyBPDJCeCnZNIRjRtRBxCRj6T2bgutOiX++qpu5q+3sv73' + | |
| 1688 | 'rDcukrNic1595xzwwd/uzPxA3iZB7kZ2TjZr8xZhcGgtI3OgsNnsU' + | |
| 1689 | 'S0PWHSJc+xGCHDsp9CuAexu6FBt+BcUhUaQ4Cgg9AGETVyPDi9fd/' + | |
| 1690 | 'UeOxvyKiM13Fq70Kdn1/esxYtoHYt/9P292b//zeXffnPj998PnVt' + | |
| 1691 | 'ySuBqx+FDwScsXH1g+eUPkgSHWqH58Je5B2AQb7Wr9vx4Dedy8iz6' + | |
| 1692 | 'WRjKQxM7wCzW2H+foY4eXCvUjkg7SedPLFyi9JNtIeL70nng8+bSI' + | |
| 1693 | '9PmO23piwG/7EfgI9SUdBpS7STrgog4QFL53vU3Td7+dt3PbinJw5' + | |
| 1694 | 'fs/Vem57Lsjs9+q+78+vU9f87YNE3OrkvNaU049jnt5NxEDD8r35H' + | |
| 1695 | '/mjA3n5OTxdzNMnSduflzjotdqBe7ONQyH1m4Mnj84YUUoVB0Y3eD' + | |
| 1696 | 'SzHmzK9FCMCS5OqjK3lhY0pPz8+8/cCYTUm1qxhuHcukZI1e+WwNh' + | |
| 1697 | 'QyeuXj3H39/8qu78Y8vX/jtV4c+/WKpPVfl4aNPWHS80/ILGWMFV5' + | |
| 1698 | 'NB50zF5z2BpfaHD+6kQbwr11JjRNHVx5LunIU3Eq7nQ4B4u8OtBJU' + | |
| 1699 | 'HuOWJdcxr/MQtkoeBT38I+KlY4NPmgQ9Tq1FIUiui9SMiL6L0bHRE' + | |
| 1700 | 'ntoMyd1nf531xlkkzV+oHnRN3N4j+nPma+eRrEZydsMc7TvJOV1pu' + | |
| 1701 | 'Y2Z+a6cfEleHiMnh/7m+3yhr3Hs1lp6abFCuRp/eInwZZw3SGPsjx' + | |
| 1702 | '2dd4n1wyExYEcwFLpAYdLq8NiDwgA+yvynJJKDqn1s2iStMEor9OJ' + | |
| 1703 | 'Sf0PjGkqYvHXv7NdfXv/9X898fHP0xtnj3989du+T6TuLuyKrDenA' + | |
| 1704 | 'rnA0m83KH5Twg0lf+vLP/Z8z7Xop4KN3Cw78F0RTt7/ZFmwhaObGU' + | |
| 1705 | 'ir9iZDOuysBPjMFLmsO8ypA4JMqSGIL2QA8fFCUL8safDozJI/eeF' + | |
| 1706 | 'Ag/zYtb5ic3UzOaE7Pm0zN6USyahP/5gDHvjMtN5aVX5O7kZ+bS8v' + | |
| 1707 | 'OKfuwQqVr6h+88hiSf6Ij7VF6o6uBwwDLop9a2JmLpsZKWt496XeN' + | |
| 1708 | 'jswBJSd12qKHA0eHruYaVrN60ho8P2vy2BTsfVphiZS9zxqNrmRd2' + | |
| 1709 | 'iSNXJk9//1fAcU/uTo6e/7wvVszX82OXLm76M6rBT765E1avTEpZX' + | |
| 1710 | '1SNzq6FnzSVAiU53A5FZjxEhaLJtiPzy+tCMoE72KH+sPDgS1osbB' + | |
| 1711 | 'Nt/DGgAIloNNAlgc+zKsPdl6YnB+7qiP6GtYc3pP4ZISnSuO3vn7T' + | |
| 1712 | 'FSOpPQm3HHj4Zh/x7SoCaSngs5cDPqGcxDMhhkCi/1fhTTN5uy99u' + | |
| 1713 | 'u4nmKT+C78plv4pLbeHnN04N8C+FUm8SAywT82pz8jzZW/U5Oaxc3' + | |
| 1714 | 'LKN73JpGk8ocljU48vMAV/oeiqFnFMkqscTFIUrNBATdI4fLgRuz+' + | |
| 1715 | 'adwXdBxSI9g7AXLuwZxblDywHrre+7l/NQtnq6iVmhVTKlHIKJQqu' + | |
| 1716 | 'Iegdv/HVaguZ/vje+Ozlw5/dGLp6YvDaibFPLvZfOT5w4dqiO6+h0' + | |
| 1717 | 'xZ+QTB9fdJGmFoBdo4sfHcZFxrQFfrecD1iuDFnQWJMGFOC3y8sEx' + | |
| 1718 | 'wFZs6Bu8HPwnDQQuBjp2+j9xiaYBmtHloybDAmZXLDpneDr+FDBx4' + | |
| 1719 | 'anjue8fXp0dj1rzZaw0S1d47SPsTsJ24WJ4CfKphf4pCxBPDnFj1M' + | |
| 1720 | 'DNFBgV9G4hjJprlFr0BRJl/T2acoQ/LU7e+svV+/seNsanbrHOoTc' + | |
| 1721 | 'ZvUnJb03NqMPEd2vjonn5ebR33tLVZhpVkV6e46e+Ox1wH+GJMisb' + | |
| 1722 | 'DnLgcz3wr7LgoHrJcIf1lwaXLYswandkJXE6ZlQ/26Zfx2sA8cwPN' + | |
| 1723 | '0/iQb9sflOq3RY6/x2XT2msYVr2OSpMnb98ZuXR2ZPbP/9pnhW6eb' + | |
| 1724 | 'T0yM3Vi87bkG4KOtLSxRsQktsa+TvlP4L+rPo32+0DEGJWMXLkkCP' + | |
| 1725 | 'szAg5aMZs5Hl8rFZuNcFPjY6N8yHj42rz7aOF0G+EmT+57OW+uF1d' + | |
| 1726 | 'Clz9L1XpLKiwiBh+9FjF7imwD43LkhOtw5vDPngE+ZW8p8bnHzH5M' + | |
| 1727 | 'qYIFPSwA/pYzE0CMQ+DIfyehtOPX4mbkGTdz8Jjrx+d7KM+TMRiSr' + | |
| 1728 | 'AdA+LbcpPdeblWfMya/KzWfm5JVtfo/HkPvsnRN95x6dhnHNgg38h' + | |
| 1729 | 'eF6sAUNsyc9DlA4gH0gB5JG78OfLerzo12x8He6fDcizL2z8mwMv7' + | |
| 1730 | 'A6D51WG80coVBns6iNpnDnWuY1Q03f+XZ09sb+65eHPro+cWvJZsI' + | |
| 1731 | 'aQjowdA/JjFJ9eeDH5/tlUBgmNdlgSiV0Jh3cZ3ngoyE+NBVbzrIJ' + | |
| 1732 | '+eFcPPTfZYC/aB2WAf6Ls9Tys6juk7OIxoVUexChJxHSAcB/YwHw5' + | |
| 1733 | '7IrYIDP+hH4iQfBXCIdZC79QkoZkaJJLI9blUihRjT6QkdXN0dmVR' + | |
| 1734 | 'q7da/l4u2OU4u3zYF6zt6taTtEUbS+ttWaQpYT0wxpOf7M3JrsbFl' + | |
| 1735 | 'uDi83l7rxDdquMo3E0hzef2LkypIjNx6XYBgWG1HBCjtoBxtgQTte' + | |
| 1736 | 'Yf5MmHEXS3tsExttmCflXsAupIIm2AdbwE8ePkHW/T5cqOnb3wab2' + | |
| 1737 | 'mpcHpFMpjGZzU6Xr755+gmP+1ot8NGO2qTADhbF8PtKamfB9hf2ym' + | |
| 1738 | 'MZCztW4kvAdlHgQx8AjbHDOXTwUZ4Ef7Tm2CotA3zs8KGk50v8UcD' + | |
| 1739 | 'HY/hPm1qPXCWonEi1ew74bkTvIb4umgM+L8H2BPBZDwGfDLfMrXK7' + | |
| 1740 | 'EPhlasQ8B3ypl6T3eg8/qZT4g9c/7bx9v/7Mx76JGbhl+s6Dzos3R' + | |
| 1741 | 'q59GRs7L7b3f1DmTcvTEFK1xDQtOVORliPMyKHlbqS+vUe0T2qoCj' + | |
| 1742 | 'd5x450n70Fh2X+YkJzlS98Czp1KPOxrQDwy0UH0qChG9gWAJ+Cq6X' + | |
| 1743 | 'AHcAPHB0HjsYZ4IIXMLKa1NwGW57a7JoDZ24E6urtHp9Cp3dHo65g' + | |
| 1744 | 'xB2KDCyxrOHj0sqBD4gKrh66hjgafoE57SGKYXgN7rawBNiDDx0Ay' + | |
| 1745 | 'H+0cQfn2aHtPhijy5nv5UGz5aOJ8dEKwC4b7IMGvIvO48DeeGg8B9' + | |
| 1746 | '4/aMMQjsNH/4U3GNgZFos2GNF+BBhBwoaVsE8xPIb/tKl+8iJB5UA' + | |
| 1747 | 'ULoTvQuQuROsivipcHvgpPwGf+hDwN5QSi5SJ/GlVXkTiJeg9nkPn' + | |
| 1748 | 'nkSdO6/cHPruD63Xvo6euBU7kXimtJ76yDYw6Z0+6z300evbjS9vE' + | |
| 1749 | 'BLTJEiGIC2TlZlVkZVdkpVdnJlVlJFdaO1cz9XG4bynpd7F5kaGuI' + | |
| 1750 | 'A/LvAbhJ4Syhb4A8QGBOCPMSlbMloU9kGAPRwME63jBVlGXYdOOX0' + | |
| 1751 | 'BezAwcev84dmr3nCtNxJtXTa58c/X45ppi/recIHaZfaEc98WDuOB' + | |
| 1752 | 'Wx6ZTn/hcbGHg4+e+GKZUVcL4YWVBCU8MuEqHsN/2hQeOZOisiNyJ' + | |
| 1753 | 'yKYA77GRdwkJCCPBD4tGfik8pSXion7FEhNILE8bpWXqPeaxk88iT' + | |
| 1754 | 'oPXL4bPnap+5Pf1F/8LHz8in182tAz7hw75Tt4semjz+ovfJGdTyM' + | |
| 1755 | 'Rd+S9XvpBcdXeSm2puIap8ghMEZmj0d584DGOulmtVnLzw6A6Gpz5' + | |
| 1756 | 'mYcDPF+GOU9zhuTugyc7xg8c//rOxd/du/bb73qmJl2B0NPj4S+vR' + | |
| 1757 | 'eP2uHCtuzz9xzcA4MscCN+JyJyI2kHIR4HPmQf+XPTmJ+Azk4GfUp' + | |
| 1758 | 'FCriBuFyHVTsTgheuhE/Q+3YGZJ1TtA9e+tHSPAea33fwGuPojX/9' + | |
| 1759 | 'l5P7vvAfPuyZOh45eNveMRadPDly8O7XE/JqnXOg61E8zkJ+0Bs9c' + | |
| 1760 | 'vfbbB3f//nfX//jd7T/9+thnt4ItHU/6oI8L+DAa83QOdsX1IsvUf' + | |
| 1761 | 'jABfOkc8IGHr3YS8gRzwOf+CPwf0+lggc/4CfgpxSnEMsI7ApK4Br' + | |
| 1762 | 'EGydYwYvQlFjGv8gPgi/qnHnuFu05fk7jCTJll89t76HJb85V7nbP' + | |
| 1763 | 'f11/4dPjeb9tvP5BG2qsCzZ0Xn6LhoGsT3s81eO7S7b/7zfXffzfz' + | |
| 1764 | '+Y1T339y4Tdftc+sPYXRCoUnT8P1fEs2epKgcSBS5xzwnUi1nZDJJ' + | |
| 1765 | 'fyKnUiYibAfBj79J+AjtBQioH05YROTxNYhZj9iDZMddWRXQyJDst' + | |
| 1766 | 'xPlgQIej+3Z8k8tKtVz7mbjt5RsbOWLrIXl1YXlSjLqfo339jFVJg' + | |
| 1767 | 'tI/HIqVue6fPR07fDJ2/6x4+OXHsaZ/jiWpUmb9y49ae/ufDgy6kb' + | |
| 1768 | 'F48+uHXp9/eHP3pSYwBQ4cDH9XzLdOh8itqOSOY9fIOHLA+SikzEt' + | |
| 1769 | '2SELC6ByCIQGAm2k9DkaewUEj1lQ3lKDotUrkaMXrI9QnbWp/paUq' + | |
| 1770 | 'M9pEhPYg0URRAAf4PGW9bU9zOrN3bzXuzIKVWoaVcBd9++KhrdyuA' + | |
| 1771 | '4KhX+6kCLs3us69R1sE/n2WvG7glAe/fkWaCeK0/d9F5cq9X0nW+P' + | |
| 1772 | 'fn7n2h++O/fgi6nbH818fevsD19M372+VA6cxyUc+Lieb6kPXiTpX' + | |
| 1773 | 'ImlTwTuOeB7///2zvwriiuL47+MidAmc45zzpyZH7InZuISt8QYR8' + | |
| 1774 | 'clcV8hooCAoCAKcYsaiTskGgyNNIUxi4NxN7J1o2RTo0InOQKN4jm' + | |
| 1775 | 'T/2du1Ze+PqoXuqq7oWnuOZ/Tp3j16tVGfevWfe/e59h5xLHjMAl4' + | |
| 1776 | '6oadKYs3j5609ql/Lhr1zOxRT80i8X9q1H9GPTP36alrUjK3pm75K' + | |
| 1777 | 'HXLPkfJAcf2o6k7Kv623zm/8uu/5pbog/CXFI/dsH371yGnFhqQw2' + | |
| 1778 | 'e/X7a5dPaynJlzsubMy589J2/Gooz00o/31Jz7orGfAV9QcTLv+Je' + | |
| 1779 | '7L9zcWe8+2tr+WaOY98Mel+fXb+60nu/4SWu7Xtl0TrvVoP143dl8' + | |
| 1780 | 'yeWObzo+e4FXCIVD1LPWP70Mg/G0CIgwZcUx1eSoW5XIB1PxjmycP' + | |
| 1781 | 'jI8S+RUEpNx5lpKxiZ9+nIS/DVFKTklY3Z/6thV7thxxLH9IJFauj' + | |
| 1782 | '+1cE9KZsno+XlPv7bm6VfXpKzZmlqwL3VjmWPjwdT8Iyn55f/Y9sW' + | |
| 1783 | 'SE+crrt+ubLw9JmfbX1ZseWtrefnVCCztVrLlnizTr8t9r/ioc2nm' + | |
| 1784 | 'thmz106bvmry1GWTpy2fu7xg01FnZcNPgS18esmTX1G1te7yweb2Q' + | |
| 1785 | '56OI60dVRYnyBASEJfnTrX7ct3NhirPxcqW71w/X/u88VxVUxyDoI' + | |
| 1786 | 'GNbJksxYiN1UIEnPLAdS1YCJVak8ffcvQT8iBFeEjqjqwig4uSnoI' + | |
| 1787 | 'vL4/OLiabXE+PnF6ckluasv9k6r5Kx+7jY7ZXOEqOOQoPOwoOOXIP' + | |
| 1788 | 'OnIOpGaVpWbud2QdcKyn5SOpORXPl9Z84Lz6eWNf0uCTDb+ML91fq' + | |
| 1789 | 'l0Mtbsn8o4/PR01LV4UOt13yq42lXx1fm7G5hnvZ0ydtXr6zLR352' + | |
| 1790 | 'Tnf/S5sylkUuKyc9e2f3Ou7ELDgfMNhy80Hxd/zjChtrU9TNRbTcu' + | |
| 1791 | 'vR89/5XRfqv7hsrPt8vHv6082egbhqKwKviksmu32oBkGuCS84KvV' + | |
| 1792 | 'xioZzCI/Ktsmugh+0pPpPPv0+qKU5YUpS7aMTisau2nX1CNfPbfL9' + | |
| 1793 | 'WzRyZT8E6PzjqfkVBCpG445so86sg87sg6l5hxz5J8Yt+fLvNNNVS' + | |
| 1794 | '331NZcrfdr3PdC7YuE3eXuqPP/WXezndSePopdHv3PssstO79t2vT' + | |
| 1795 | 'Ft0XVZzdW1qXvPbowr2RzhZ1uX9pRHd4sN/V3Sp31FoQ4UXtD1/na' + | |
| 1796 | 'gQRf0+cubztx9fuKa+dONFx0tgT5uIsHVgUfEROmDHUs43D44C2Ah' + | |
| 1797 | 'MmQ4vCCz5jSHWjB8g9jmV46HKbHO2J3Ey2bxogiQpZKTKl71K+DaF' + | |
| 1798 | 'xDQsJSfqVtxr6KZ9NKRy/ZOipty/jtn7g896vd9z67fuuTi22bzjQ' + | |
| 1799 | 'v/vzy9EP1r+498/cPa8cUOccUVU365GzJ2dYaj+WkBDXujlPN3tNt' + | |
| 1800 | '7XU36c/2Mz+0a63eY/V/VDd5ae2Bazd2fNVcUte841v3ngutey/c/' + | |
| 1801 | 'PjKj3uuerae+25LzZm9py/QgeGVofnfHX1eIE8HXhkor9PtQ2/dDS' + | |
| 1802 | '/vl3ZX16ZXrmkxf2II8UVR9Vr/L5kExCAntYgQq4KPpJSc1wjyqAo' + | |
| 1803 | '+67BqPEcj+GP75x/GtJWakscyaEY1ZFfgw0OOHTpgJNagathWFfxo' + | |
| 1804 | 'XENCglN+5Ye8yvq3d5a/vTf4nKEk75VNd8su/1J2yWaSMVLa6mYvo' + | |
| 1805 | 'cuvwem2jjM/dhz79o/PzutPBIlA+ZVfPqz7eec3bfvqb+z9b9v+73' + | |
| 1806 | '4+coW4dejCrYPnb5zy3Ktubq9u0puqcXvpNeFy66pONjwtE6davLr' + | |
| 1807 | 'Uk6S3eg09USVFf8sYVmVH/3Ih/hjazlY9vbiTRvA1f9pJyL4pX72a' + | |
| 1808 | 'dzqGgq924CI7E6ff14IJvmlHdKjIwoEcTUjBETSxp/TeCrHBL/jEl' + | |
| 1809 | 'z/ov9rNvlWnWvSvAA3ufXeflU7icMp9r1q3DO+7PO1BrXT6fKiFnS' + | |
| 1810 | '82fAJjCP4AzpwhxKrgs/Yiw5iqrursh1pMBd+UMYmMc0uCz0lWmVC' + | |
| 1811 | 'CLwixBab+gNVchlnoMuzD2lZxywzsAI+khUHYS1CqGn45finu423s' + | |
| 1812 | 'YcOHzzHRpJY81dRYZS6SQC2NleDTxwWZ6OzSiVDw8WLCYWOeXLyeN' + | |
| 1813 | 'H+CTfHhC7bRhdp9TxsUi84Vur84Eqqb7lQ3Wp5Bb0hIWAs5Emrcd2' + | |
| 1814 | '3MVDg42BB8TFiJGWYhj5wlGN4S0mSMb4ebPWiiY1OzppTF/E4x1Ud' + | |
| 1815 | 'TmCKB9kJtYpA/p85GnzK+AnhDVEbCVfQ18+SYqBbozxeEAXE23jrV' + | |
| 1816 | '/Gtt6/1BU6cod+TSHcvDMtna8ML4cDBf5yhf1rHCRuCVFix18KDBq' + | |
| 1817 | 'VAHzMNsOmyeBwcgIgzZ77lQfPhChJCpPIRZiAXBHpJaQRCsUuu5Xx' + | |
| 1818 | '06VMpCO8PZcSEMR0TwBcEqpPZi3gvDERF8QbBKddPtkWycj+Rzj+T' + | |
| 1819 | 'iJPL1EcEXBKs4G24NOws/aE+i7abif6iJq5nhMcKlE/d/QwRfEKxC' + | |
| 1820 | 'D3VVFFOQRDhEfIA6FiXRiPe/a+9gkEBAjx41XnPxHnNY0/Kr6X1a2' + | |
| 1821 | 'xeh0K6WRHmpscrUZvhmA9c+yauASArPfWfjrQQZkBMUG4K/8SPfqt' + | |
| 1822 | 'xHRCLPCC8IccXZeJse7ZqWuzaUp08c/NH3/Vrg5aDaouievqCroqJ' + | |
| 1823 | 'R/TfhvUA8Pz3fMuQXbfja7UmDjUhbhCxp/nlseZWaTi0QS6MoBUFI' + | |
| 1824 | 'PhLZ9I0fod7IQ4JVwSeFJ3jsemBu/KAgD4OMcheSHsmKMBIxPr6wj' + | |
| 1825 | 'EA8w72jf8EZX1j38Kbj9536cVc7uJ1BNiZAQdgsST3LPmfRgf4jzJ' + | |
| 1826 | 'ZfAZx1h0poFU+AxdmMNX++YniK0CZVQPDs0N9NQYgcfyYcTH0iic5' + | |
| 1827 | 'GCBB5TRfzu9BwPSFesz43GX6Nhb7Yjb50HEPRPW0j0hbqjRQKcOOo' + | |
| 1828 | '2WzK639HegS10JQSh9PgqKlvOPcC6iDpgXiBhPjxxnOPLfD84/EvP' + | |
| 1829 | 'J7w0uPJ43qnT+ydOe3RnFkP31vQs3hJz/KVvtUf+NLWdaev787Y0J' + | |
| 1830 | '2R270+j+hal9udmd+VXdC1fqMOrVqbpddJN2rqZHZ/kNmdkdO9ztg' + | |
| 1831 | 'kq6Arp7Arp6grZ0tX3jaiM7e4c+O2zvzSzo0l+u+mHX0UbDf4UF/e' + | |
| 1832 | 'TOwkHhTuerB5V2fhbvp9UFDambu1a0NhV0ZOFx3YytW+ZcuJHvpdv' + | |
| 1833 | 'sq3co1vzVofjqHvkNZ3p2V0r8nophNZleaj+kuX+xYv7Xn//Z558x' + | |
| 1834 | '4umNszf97D+XPpfB8uXmycb3p32nr9jNbl6MdPC+nrqdC3bKV+Qd5' + | |
| 1835 | '7r2fBgocLF/UsXUp77EnP8FGdrE1d2Zu7sgq6M7K7V6/1LVrSM3f2' + | |
| 1836 | 'w1nvPHpn2qOZ03vffVu/ngvm9yxa5KP2V6XpV+aDLP03jQ4vi7bqy' + | |
| 1837 | 'iygM9IvReGuzuK9ncX7Hmz9+EHx3gdFH+nnTheEVtFFo7OmHem3wL' + | |
| 1838 | 'jm1EiacV50UitW+ej4Fy7Wz4v2NY/OaL6+vHBhz7IV+mXR72OGfjr' + | |
| 1839 | 'rcqmFLrp9dFPol6ASQr+/G7rWZusHtpZuKB1VXlf2ps6cLQ/yS/8w' + | |
| 1840 | 'bsFv28r0o9q2/0HRng46yMLd+i9Bq+hO5RV3Umsr0zvpTOfM6pkx9' + | |
| 1841 | 'dGUcb0TX9b/u+h/zNr/ZDDC/8/b6LSFZY6sNaT5yFrA2g7RxqQkkQ' + | |
| 1842 | 's+2fP4cOA61I6ovRA/Bnw0BMEGLs+TfgpMjsZTpKmr+mz7OJj34f+' + | |
| 1843 | 'xbadH1vyeHFPCYc3ovSXNh4ZHKPhcJ0wuTUGIFaL2QpzoPxzL8M8r' + | |
| 1844 | 'A6sG5xjC/Hvb6LRVDW/S5/L631XBR9JLqy4duIYwnRY2ER++ED9E8' + | |
| 1845 | 'IUkJoaCTyKMzllMIwiDH2nqJ077k/7kZMWw8DGkB28BTFyiGTpP9a' + | |
| 1846 | 'kCugPQjYu1VIKcluLDF+KHCL6QxMRQ8HkaEcxgy+XqMHtagGjzgml' + | |
| 1847 | 'ZM/p51c2RplgtFB++ED9E8IcLkIVo3LxklwYqiSXXAR9DhFvB6aGi' + | |
| 1848 | 'ymDQczElbzepHxK5R37AMRR8QUgCbAg+nuIojRA87+qjHb48OXB5O' + | |
| 1849 | 'qque50NXjVIQZ+ovcUbZisM1X5rzv/o818dsG0VasGksXSdMVVf5C' + | |
| 1850 | '1gkDltFckESRiXzqNWMAc33eKJ0/7E4HMMa0dlODqojhrfRPXVmNb' + | |
| 1851 | 'AUwiPCL4gqFgVfPgneTSyVdmHdtGG3Ag6rUKVJxnVTV7SdpdbV34u' + | |
| 1852 | '1JfDBinARRz93q2qZZgW6H7RzYp8Q3XCVkzPh2XMzYf3OwY6mjYUw' + | |
| 1853 | 'ReEGGJV8GGtwW/JQw4iB31VZNrhGWdVD1WeZJDU99n2EYehoTsvaD' + | |
| 1854 | 'ldLpj9GA1I1dj4hzltKoR9jkJ13AhvguwBMN3ROEcDcQvYEFa61v9' + | |
| 1855 | 'lhBlXMYOe6Wh5L1TB9D+DzxbNeBEE3ncRfEGIIVYFn4eTQfDpUcU4' + | |
| 1856 | 'BKgEBiEgAoUWTJ4ZHrFgajNUOY9PBohkZDiTVXLDMfia4hLXDCXkL' + | |
| 1857 | 'yx15mvIL8dvopDvDhZoW/bk8OBA1ZHCeh5496kcdxk3F2MINf94Fc' + | |
| 1858 | '14UwQ6ndTXiskXxJKOoYnUmqmLUwRfEGKFVcEnoaCnEo88JAI6TE8' + | |
| 1859 | 'xL2jG53mg4CNcBRqFYWzYKlQ5/PlYS7/oMSRpQuMjZCQDG8Ca3yUO' + | |
| 1860 | '8VSVEBGgJJXsWld1lWpCk1W1ZAXGAl1e1bpGGgEqNN1BboFuE14Z8' + | |
| 1861 | 'O3gAMJ0LkQi+JoSysr7FcEXhBhiVfDhxsFTyZJOy1RIzzu7Yak8sO' + | |
| 1862 | 'NVjS7EJwD+DFWu+bsM2PjnfCYjRO21/tY43wKtvxLChldTclkVfOQ' + | |
| 1863 | 'EUPeC1kx+dbUFXkY3Lt2XMDeFd0d1TKcTmG2S/pHUgxfBF4RYYUnw' + | |
| 1864 | '1RBCdRkxKRwqqBmCH7g5Ikp4FT348BuEKsc3Pi2bkhMm2dwTA6YVV' + | |
| 1865 | 'f3wWjDBpxKT9wYOeb7suGJhBB8J3tWh4LxrVcZVHz6/C6Dh7AIK78' + | |
| 1866 | 'PXFM+S5n+dsZHAB8xvH/XDgb8mIr+2IviCoGJJ8DlJCD2PsLTx+MP' + | |
| 1867 | 'PwA8jPaFBZRm+enTzYRl++KDl8AkjLSEGaqJZZJpN2KwjunpH0CHr' + | |
| 1868 | 'cj9ZrjF6cms9/YbuqPCwTPSiwlxXBR8GNpWzbQwPT2CnbSjB50agx' + | |
| 1869 | 'mgcX23qkbAPn1C/CNTRleF9+Hw61A6OmbshcLSBvcYYio+dWn3Xi+' + | |
| 1870 | 'ALgooNwYe2q4+82m+rGY8qVQiqybAkoeRqC4HlMOYZdTiojdFBgwP' + | |
| 1871 | 'p9qkWb/hB9UTlld9ONT+p42z0El987w1u6htZpuldEHTtk8LWfhUC' + | |
| 1872 | 'XeXxA9b+kF/8oIjgC4JK9JG2GC6iOl5GMk8GXg4pgyb46ENP2GG0I' + | |
| 1873 | 'viCoBKl4GNkzsgZMzNcGDSvV/Qx13FFBF8QVKK38DE+ZMhPRBACEc' + | |
| 1874 | 'EXBBVJniYkMTERfPqMhYuM4M8ZzGxl7zMqmoRIghAlovlCUhLDGa8' + | |
| 1875 | '4171aaHvkAAYnDPn1EUYs0c8fmvSMf/Hx+JceT3r58ZuvPp76r97p' + | |
| 1876 | 'k3pnTHn07xkP587WZ4NdtKhnyVLfshW+5Sv0OXMXL/G9v1Cf/XbOz' + | |
| 1877 | 'Icz33r09qRH0yb0Tn69981X9BYmvGi09oKf53X6Zgp+QV878SWdSa' + | |
| 1878 | '/0gsmv9U4Z5+f13qlv9NIBEFMM1OXJ43rffFXfhDandia84G/Z+O1' + | |
| 1879 | 'jqK/koBH+f96S4CMEQI0WQdYge49b0LBEQRAEIU5Y9eFjnLCano5X' + | |
| 1880 | '0TKyPWM2Ezh/EG7AC+zGUQOiNePFgbWcNpbzSKtxEIhESOT+cUEQh' + | |
| 1881 | 'ITFquDzgDTTTDRIM6IZUckIJESqEI6G40R27BHiXCIIV4fBz2GMWI' + | |
| 1882 | 'tsqJxFhOcUGPLrJgiCMOywMUqHlVwVXgShIIs1PPOoxk4bxAyS5qt' + | |
| 1883 | 'piDiFkRryzCmPUGiaAD1ho8sFQRASHBuCj4hyNY+EZgg1BJ/NfjUZ' + | |
| 1884 | 'IOBE36YKak2OHw8l+IIgCII97I3DR5JYtQRJpTiPnBYg+HDOIwEFT' + | |
| 1885 | '0ygSjqqqZNKBAq++PAFQRBsY0/wMV+DWoLkEpiNl5YxaaOawRuJ7O' + | |
| 1886 | 'DzKa//Xa2AdN/wESE5iboWDh/Ohic+fEEQBHvYE3xocmAhErqG2YQ' + | |
| 1887 | 'qhApIjzAPhvh2BEEQ7CGpFQRBEEYIIviCIAgjBBF8QRCEEQIEXxAE' + | |
| 1888 | 'QRgJ/B+oERdN'); | |
| 1889 | ||
| 1890 | SetArrayLength(ATPA, Length(TP)); | |
| 1891 | for I := 0 to High(ATPA) do | |
| 1892 | begin | |
| 1893 | ATPA[i] := LoadTextTPA(TP[i], UpChars, H); | |
| 1894 | for B := 0 to High(ATPA[i]) do | |
| 1895 | ATPA[i][B].y := ATPA[i][B].y + i*(H); | |
| 1896 | end; | |
| 1897 | if Length(Colours) = 4 then | |
| 1898 | begin | |
| 1899 | SetArrayLength(Colors, Length(TP)); | |
| 1900 | for i := 0 to High(Colors) do | |
| 1901 | Colors[i] := Colours[1]; | |
| 1902 | end else | |
| 1903 | Colors := Colours; | |
| 1904 | DrawATPABitmapEx(bmp, ATPA, Colors); | |
| 1905 | Canvas := TCANVAS.Create; | |
| 1906 | Canvas.Handle := SmartGetDebugDC; | |
| 1907 | DrawBitmap(bmp, Canvas, Placement.x, Placement.y); | |
| 1908 | FreeBitmap(bmp); | |
| 1909 | end; | |
| 1910 | ||
| 1911 | procedure PrintOnSmart2(TP: TStringArray; Placement: TPoint; Colours: TIntegerArray); | |
| 1912 | var | |
| 1913 | x, y, bmp, I, B, H: Integer; | |
| 1914 | ATPA: T2DPointArray; | |
| 1915 | Canvas: TCanvas; | |
| 1916 | Colors: TIntegerArray; | |
| 1917 | begin | |
| 1918 | GetClientDimensions(x, y); | |
| 1919 | bmp := BitmapFromString(x, y, ''); | |
| 1920 | SetArrayLength(ATPA, Length(TP)); | |
| 1921 | for I := 0 to High(ATPA) do | |
| 1922 | begin | |
| 1923 | ATPA[i] := LoadTextTPA(TP[i], UpChars, H); | |
| 1924 | for B := 0 to High(ATPA[i]) do | |
| 1925 | ATPA[i][B].y := ATPA[i][B].y + i*(H); | |
| 1926 | end; | |
| 1927 | if Length(Colours) = 4 then | |
| 1928 | begin | |
| 1929 | SetArrayLength(Colors, Length(TP)); | |
| 1930 | for i := 0 to High(Colors) do | |
| 1931 | Colors[i] := Colours[0]; | |
| 1932 | end else | |
| 1933 | Colors := Colours; | |
| 1934 | DrawATPABitmapEx(bmp, ATPA, Colors); | |
| 1935 | SMART_ClearCanvas; | |
| 1936 | Canvas := TCANVAS.Create; | |
| 1937 | Canvas.Handle := SmartGetDebugDC; | |
| 1938 | DrawBitmap(bmp, Canvas, Placement.x, Placement.y); | |
| 1939 | FreeBitmap(bmp); | |
| 1940 | end; | |
| 1941 | ||
| 1942 | procedure paintReport; | |
| 1943 | var Exp: int64; | |
| 1944 | begin | |
| 1945 | Exp := GetXPBarTotal - StartExperience; | |
| 1946 | ||
| 1947 | //PrintOnSmart([''], Point(4, 265), [clRed, clBlack, 1107712, Colour]); Sin's Paint Co-orindates.. | |
| 1948 | PrintOnSmart([''], Point(6, 310), [clRed, clBlack, 1107712, Colour]); | |
| 1949 | Smart_DrawTextMulti(False, Shaddow, [MsToTime(GetTimeRunning, Time_Short)], Point(127, 357), Font, Colour); | |
| 1950 | Smart_DrawTextMulti(False, Shaddow, ['N/A'], Point(127, 373), Font, Colour); | |
| 1951 | Smart_DrawTextMulti(False, Shaddow, [ToStr(Exp)], Point(127, 387), Font, Colour); | |
| 1952 | Smart_DrawTextMulti(False, Shaddow, [ToStr(Round2((Exp * 3600) / (GetTimeRunning / 1000),2))], Point(127, 404), Font, Colour); | |
| 1953 | Smart_DrawTextMulti(False, Shaddow, ['N/A'], Point(127, 420), Font, Colour); | |
| 1954 | Smart_DrawTextMulti(False, Shaddow, [SStatus], Point(127, 433), Font, Colour); | |
| 1955 | Smart_DrawTextMulti(False, Shaddow, [Version], Point(127, 455), VersionChars, Colour); | |
| 1956 | end; | |
| 1957 | ||
| 1958 | procedure printReport; | |
| 1959 | var Exp: integer; | |
| 1960 | begin | |
| 1961 | Exp := GetXPBarTotal - StartExperience; | |
| 1962 | ||
| 1963 | ClearDebug; | |
| 1964 | writeln('[--------------------------------------------]');
| |
| 1965 | writeln('[' +padr('',17) + '~AZK~ ' + Version + padr('',17) + ']');
| |
| 1966 | writeln('[' + padr('',16) + ' ~ By GGzz' + padr('',18) + ']');
| |
| 1967 | writeln('[--------------------------------------------]');
| |
| 1968 | writeln('[ Running for: ' + Padr(MsToTime(GetTimeRunning, Time_Short), 27) + ']');
| |
| 1969 | writeln('[ Experience: ' + Padr(ToStr(Exp),28) + ']');
| |
| 1970 | writeln('[ Exp/hour: ' + Padr(ToStr(Round2((Exp * 3600) / (GetTimeRunning / 1000),2)), 30) + ']');
| |
| 1971 | writeln('[--------------------------------------------]');
| |
| 1972 | end; | |
| 1973 | ||
| 1974 | Function AtHartwin: Boolean; | |
| 1975 | var | |
| 1976 | TPA: TPointArray; | |
| 1977 | ATPA, ATPA2: T2DPointArray; | |
| 1978 | CTS, L, I: Integer; | |
| 1979 | B: TBox; | |
| 1980 | begin | |
| 1981 | CTS:= GetColorToleranceSpeed; | |
| 1982 | ColorToleranceSpeed(2); | |
| 1983 | SetColorSpeed2Modifiers(0.02, 1.48); | |
| 1984 | if FindColorsTolerance(TPA, 1358059, MSX1, MSY1, MSX2, MSY2, 7) then | |
| 1985 | if Length(TPA) < 1 then | |
| 1986 | begin | |
| 1987 | ColorToleranceSpeed(CTS); | |
| 1988 | SetColorSpeed2Modifiers(0.02, 0.02); | |
| 1989 | exit; | |
| 1990 | end; | |
| 1991 | ||
| 1992 | ColorToleranceSpeed(CTS); | |
| 1993 | SetColorSpeed2Modifiers(0.02, 0.02); | |
| 1994 | ATPA:= TPAToATPAEx(TPA, 10, 10); | |
| 1995 | if Length(ATPA) < 1 then | |
| 1996 | exit; | |
| 1997 | ||
| 1998 | L := High(ATPA); | |
| 1999 | SetArrayLength(ATPA2, L+1); | |
| 2000 | ||
| 2001 | For I:= 0 To High(ATPA) do | |
| 2002 | begin | |
| 2003 | B:= GetATPABounds(ATPA); | |
| 2004 | With B do | |
| 2005 | begin | |
| 2006 | ColorToleranceSpeed(2); | |
| 2007 | SetColorSpeed2Modifiers(0.00, 0.23); | |
| 2008 | Result:= FindColorsTolerance(ATPA2[I], 5066065, B.X1 - 10, B.Y1 - 10, B.X2 + 10, B.Y2 + 10, 5); | |
| 2009 | ColorToleranceSpeed(CTS); | |
| 2010 | SetColorSpeed2Modifiers(0.02, 0.02); | |
| 2011 | end; | |
| 2012 | end; | |
| 2013 | ColorToleranceSpeed(CTS); | |
| 2014 | SetColorSpeed2Modifiers(0.02, 0.02); | |
| 2015 | end; | |
| 2016 | ||
| 2017 | //By sir eska eau | |
| 2018 | Function UnderAttack: Boolean; | |
| 2019 | Var | |
| 2020 | Time, x, y: integer; | |
| 2021 | begin | |
| 2022 | if InFight then | |
| 2023 | begin | |
| 2024 | MarkTime(Time); | |
| 2025 | ||
| 2026 | repeat | |
| 2027 | Wait(50+Random(50)); | |
| 2028 | if(FindDTM(WaitFight_Shield, x, y, MSCX - 60, MSCY - 70, MSCX + 60, MSCY + 70)) or (FindDTM(WaitFight_Damage, x, y, MSCX - 60, MSCY - 70, MSCX + 60, MSCY + 70)) then | |
| 2029 | begin | |
| 2030 | Result:= True; | |
| 2031 | Break; | |
| 2032 | end; | |
| 2033 | until(TimeFromMark(Time) > 2500); | |
| 2034 | end; | |
| 2035 | end; | |
| 2036 | ||
| 2037 | function AttackZombies: Boolean; | |
| 2038 | var | |
| 2039 | CTS, I, L: Integer; | |
| 2040 | TPA: TPointArray; | |
| 2041 | ATPA: T2DPointArray; | |
| 2042 | P: TPoint; | |
| 2043 | begin | |
| 2044 | Result := False; | |
| 2045 | LProc:= 'AttackZombies'; | |
| 2046 | if AtHartwin then | |
| 2047 | exit; | |
| 2048 | if (not LoggedIn) or (FindDead) or (InFight) then exit; | |
| 2049 | ||
| 2050 | CTS:= GetColorToleranceSpeed; | |
| 2051 | ColorToleranceSpeed(2); | |
| 2052 | SetColorSpeed2Modifiers(0.10, 0.45); | |
| 2053 | FindColorsTolerance(TPA, 7168593, MSX1, MSY1, MSX2, MSY2, 17); | |
| 2054 | ColorToleranceSpeed(2); | |
| 2055 | SetColorSpeed2Modifiers(0.2, 0.2); | |
| 2056 | ||
| 2057 | if (Length(TPA) < 1) then | |
| 2058 | Exit; | |
| 2059 | ||
| 2060 | ATPA:= TPAToATPAEx(TPA, 50, 50); | |
| 2061 | if (Length(ATPA) < 1) then | |
| 2062 | Exit; | |
| 2063 | SortATPAFromFirstPoint(ATPA, Point(MSCX, MSCY)); | |
| 2064 | L:= High(ATPA); | |
| 2065 | ||
| 2066 | For I:= 0 To L do | |
| 2067 | begin | |
| 2068 | P:= MiddleTPA(ATPA[I]); | |
| 2069 | MMouse(P.X, P.Y, 0, 0); | |
| 2070 | if (WaitUptextMulti(['ttack', 'zombie', 'rmoured'], 600)) then | |
| 2071 | if ((Not IsFightAt(P.X, P.Y)) and (Not UnderAttack)) then | |
| 2072 | begin | |
| 2073 | ClickMouse2(MOUSE_LEFT); | |
| 2074 | break; | |
| 2075 | end; | |
| 2076 | end; | |
| 2077 | Result:= InFight; | |
| 2078 | end; | |
| 2079 | ||
| 2080 | Function SummonPoints: Integer; | |
| 2081 | var | |
| 2082 | ColourString: String; | |
| 2083 | begin | |
| 2084 | LProc:= 'SummonPoints'; | |
| 2085 | Result:= GetMMLevels('summon', ColourString);
| |
| 2086 | ||
| 2087 | if Debugs then | |
| 2088 | writeln('Summoning Points: ' + ToStr(Result));
| |
| 2089 | end; | |
| 2090 | ||
| 2091 | Function UsingFamiliar: Boolean; | |
| 2092 | var | |
| 2093 | CTS: Integer; | |
| 2094 | TPA: TPointArray; | |
| 2095 | begin | |
| 2096 | LProc:= 'UsingFamiliar'; | |
| 2097 | CTS:= GetColorToleranceSpeed; | |
| 2098 | ColorToleranceSpeed(2); | |
| 2099 | SetColorSpeed2Modifiers(0.21, 0.80); | |
| 2100 | ||
| 2101 | Result:= FindColorsSpiralTolerance(707, 143, TPA, 7975758, 691, 133, 720, 157, 24); | |
| 2102 | if Debugs then | |
| 2103 | writeln('Using Familiar: ' + ToStr(Result));
| |
| 2104 | ||
| 2105 | SetColorSpeed2Modifiers(0.2, 0.2); | |
| 2106 | ColorToleranceSpeed(CTS); | |
| 2107 | end; | |
| 2108 | ||
| 2109 | Function InteractFamiliar(Option: TStringArray): Boolean; //By Flight.. Modified.. | |
| 2110 | begin | |
| 2111 | if (not LoggedIn) then exit; | |
| 2112 | if UsingFamiliar then | |
| 2113 | begin | |
| 2114 | if (Option[0] = '') then | |
| 2115 | begin | |
| 2116 | MouseBox(695,140,740,155,1); | |
| 2117 | Result := True; | |
| 2118 | end else | |
| 2119 | begin | |
| 2120 | MouseBox(695,140,740,155, MOUSE_RIGHT); | |
| 2121 | wait(500); | |
| 2122 | if ChooseOptionMulti(Option) then | |
| 2123 | Result := True | |
| 2124 | else | |
| 2125 | srl_Warn('InteractFamiliar', 'Incorrect option', warn_AllVersions);
| |
| 2126 | end; | |
| 2127 | end else | |
| 2128 | srl_Warn('InteractFamiliar', 'No familiar present!', warn_AllVersions);
| |
| 2129 | ||
| 2130 | Wait(100 + Random(50)); | |
| 2131 | end; | |
| 2132 | ||
| 2133 | Function SummoningRenew(PouchToSummon: integer): Boolean; | |
| 2134 | var | |
| 2135 | Pouch, X, Y, tries, Summoning: Integer; | |
| 2136 | begin | |
| 2137 | LProc:= 'SummoningRenew'; | |
| 2138 | Case PouchToSummon of | |
| 2139 | 0: | |
| 2140 | exit; | |
| 2141 | 1: | |
| 2142 | Pouch := DTMFromString('m1gAAAHic42JgYDjIxMBwjAlC70PCIP4RKD4JxJyMDAxcQMwLxSA+GxIGiXEAcWFJPENxeSKDv78tGOcXxzIUlMQxFJUlMGSkhYDFyqqSGbiAdhODGYnECAAAECwT5g=='); //Bunyip
| |
| 2143 | ||
| 2144 | 2: | |
| 2145 | Pouch := DTMFromString('mbQAAAHicY2VgYDjEBMH7gPgAEJ8H4gpGBoYSIC4D4hogrgTilopUhqbyFIbiVF8wZmBgYuACkuiYEQsGAwBb6Qt+'); //Unicorn
| |
| 2146 | end; | |
| 2147 | ||
| 2148 | Summoning := DTMFromString('mWAAAAHicY2FgYHBigmBXIPYEYn1GBgYrILaE4vz8Ega5a3cZZC/dBKpmYkgBkuxImBENgwAAgewHaA=='); //Potion to drink.
| |
| 2149 | //UniScroll := DTMFromString('mwQAAAHic42RgYDjIxMCwjwlCHwbiY0B8FIh3Q8WPALEeIwODFhCrQ2kYWxuI9aG4vjiRoaM8iiEicj4YR0YtBGOQGEhuWm8TAxfQPkKYkQgMBwBcExUb');
| |
| 2150 | ||
| 2151 | ||
| 2152 | Gametab(Tab_Inv); | |
| 2153 | if(FindDTM(Pouch, x, y, MIX1, MIY1, MIX2, MIY2) and FindDTM(Summoning, x, y, MIX1, MIY1, MIX2, MIY2)) then | |
| 2154 | if(SummonPoints < 20) then | |
| 2155 | begin | |
| 2156 | writeln('Need to Refill Summoning Points.');
| |
| 2157 | if(FindDTM(Summoning, X, Y, MIX1, MIY1, MIX2, MIY2)) then | |
| 2158 | begin | |
| 2159 | MMouse(X, Y + 5, 0, 0); | |
| 2160 | if(WaitUptextMulti(['ummoning', 'potion'], 500)) then | |
| 2161 | begin | |
| 2162 | ClickMouse2(False); | |
| 2163 | ChooseOptionMulti(['rink', 'Drink', 'rink Summoning', 'Drink Summoning']); | |
| 2164 | wait(2000); | |
| 2165 | end; | |
| 2166 | end; | |
| 2167 | end; | |
| 2168 | ||
| 2169 | if (SummonPoints < 20) then | |
| 2170 | begin | |
| 2171 | FreeDTM(Pouch); | |
| 2172 | FreeDTM(Summoning); | |
| 2173 | exit; | |
| 2174 | end; | |
| 2175 | ||
| 2176 | tries := 0; | |
| 2177 | if(FindDtm(Pouch, x, y, MIX1, MIY1, MIX2, MIY2) and (SummonPoints >= 20)) then | |
| 2178 | Repeat | |
| 2179 | if(not Loggedin) then | |
| 2180 | LoginPlayer; | |
| 2181 | if UsingFamiliar then | |
| 2182 | break; | |
| 2183 | FindNormalRandoms; | |
| 2184 | MMouse(x, y, 5, 5); | |
| 2185 | wait(500); | |
| 2186 | ClickMouse2(false); | |
| 2187 | wait(500); | |
| 2188 | ChooseOption('Summon');
| |
| 2189 | if(FindBlackChatMessage('follower')) then
| |
| 2190 | break; | |
| 2191 | tries:= tries + 1; | |
| 2192 | if(tries > 10) then | |
| 2193 | begin | |
| 2194 | FreeDTM(Pouch); | |
| 2195 | FreeDTM(Summoning); | |
| 2196 | exit; | |
| 2197 | end; | |
| 2198 | Until(UsingFamiliar = true); | |
| 2199 | ||
| 2200 | wait(1500); | |
| 2201 | ||
| 2202 | Result:= UsingFamiliar; | |
| 2203 | ||
| 2204 | FreeDTM(Pouch); | |
| 2205 | FreeDTM(Summoning); | |
| 2206 | end; | |
| 2207 | ||
| 2208 | Function HPLevel: Integer; | |
| 2209 | var | |
| 2210 | ColourString: String; | |
| 2211 | begin | |
| 2212 | LProc:= 'HPLevel'; | |
| 2213 | Result:= GetMMLevels('HP', ColourString);
| |
| 2214 | if debugs then | |
| 2215 | writeln('HP: ' + ToStr(Result));
| |
| 2216 | end; | |
| 2217 | ||
| 2218 | Function MousePotions(DTM: Integer; Uptext: TStringArray; Area: TBox; WithDraw, Drink: Boolean): Boolean; | |
| 2219 | var | |
| 2220 | X, Y, T, Tries, Count, NOC: Integer; | |
| 2221 | TPA: TPointArray; | |
| 2222 | ATPA: T2DPointArray; | |
| 2223 | begin | |
| 2224 | if (Not Withdraw) then | |
| 2225 | begin | |
| 2226 | If (FindDTMs(DTM, TPA, Area.X1, Area.Y1, Area.X2, Area.Y2)) then | |
| 2227 | begin | |
| 2228 | ATPA:= TPAToATPAEx(TPA, 24, 35); | |
| 2229 | SortATPASize(ATPA, False); | |
| 2230 | if (Length(ATPA) < 1) then | |
| 2231 | exit; | |
| 2232 | MiddleTPAEx(ATPA[0], X, Y); | |
| 2233 | MMouse(X, Y, 0, 0); | |
| 2234 | if (WaitUptextMulti(Uptext, 600)) then | |
| 2235 | begin | |
| 2236 | if (Drink) then | |
| 2237 | ClickMouse2(MOUSE_LEFT); | |
| 2238 | Result:= True; | |
| 2239 | Wait(1000); | |
| 2240 | end; | |
| 2241 | end; | |
| 2242 | end else | |
| 2243 | begin | |
| 2244 | Count:= ItemAmount('inv', 'dtm', DTM, []);
| |
| 2245 | If (NOC <> 0) then | |
| 2246 | If FindDTM(DTM, X, Y, Area.X1, Area.Y1, Area.X2, Area.Y2) then | |
| 2247 | While ((Not FindDTM(DTM, X, Y, MIX1, MIY1, MIX2, MIY2)) and (Tries < 5)) do | |
| 2248 | begin | |
| 2249 | FindDTM(DTM, X, Y, Area.X1, Area.Y1, Area.X2, Area.Y2); | |
| 2250 | MMouse(X, Y, 0, 0); | |
| 2251 | if Debugs then | |
| 2252 | writeln(GetUptext); | |
| 2253 | If (WaitUptextMulti(Uptext, 500)) then | |
| 2254 | begin | |
| 2255 | ClickMouse2(MOUSE_RIGHT); | |
| 2256 | if WaitOptionMulti(['w-X', 'draw-X'], 600) then | |
| 2257 | begin | |
| 2258 | Wait(1000); | |
| 2259 | if (Not BankScreen) then | |
| 2260 | exit; | |
| 2261 | T:= GetSystemTime + 10000; | |
| 2262 | while (T >= GetSystemTime) and (not (InRange(CountColor(0, 250, 396, 307, 410), 155, 165))) do | |
| 2263 | Wait(50); | |
| 2264 | TypeSend(ToStr(NOC - Count)); | |
| 2265 | break; | |
| 2266 | end; | |
| 2267 | end; | |
| 2268 | Inc(Tries); | |
| 2269 | if Tries > 5 then | |
| 2270 | Writeln('Cannot Withdraw Combat Potions');
| |
| 2271 | end; | |
| 2272 | Tries:= 0; WaitFindDTM(X, Y, DTM, 2500); | |
| 2273 | Result:= (ItemAmount('inv', 'dtm', DTM, []) = NOC);
| |
| 2274 | end; | |
| 2275 | end; | |
| 2276 | ||
| 2277 | Function HasPotion(Potion: String; Drink: Boolean): Boolean; | |
| 2278 | var | |
| 2279 | DTM: Integer; | |
| 2280 | UpText: TStringArray; | |
| 2281 | begin | |
| 2282 | LProc:= 'HasPotion'; | |
| 2283 | Uptext:= [Potion]; | |
| 2284 | if (GetCurrentTab <> Tab_Inv) then | |
| 2285 | GameTab(Tab_Inv); | |
| 2286 | Case LowerCase(Potion) of | |
| 2287 | 'none', '0', 'nothing': | |
| 2288 | exit; | |
| 2289 | ||
| 2290 | 'ovl', 'overload': | |
| 2291 | begin | |
| 2292 | DTM := DTMFromString('mlwAAAHicY2dgYPBigmB3IHYG4kAgDgDiYCBmYmRg4AViHijmBmJGIGYHsbm4gLqZ4DQyngYk+XFgRjwYCgCMngOo');
| |
| 2293 | UpText:= ['load', 'Over', 'Overload']; | |
| 2294 | end; | |
| 2295 | ||
| 2296 | 'def', 'defence': | |
| 2297 | begin | |
| 2298 | DTM := DTMFromString('mbQAAAHicY2VgYBBkZGAQAGIeIBYHYgkgng0UXwrFSxgg/K1TzBn2z7UCspjgeBqQ5EfDjFgwGAAA/SEHfg==');
| |
| 2299 | UpText:= ['uper defence', 'defence', 'uper def', 'Super defence']; | |
| 2300 | end; | |
| 2301 | ||
| 2302 | 'atk', 'attack': | |
| 2303 | begin | |
| 2304 | DTM := DTMFromString('mbQAAAHicY2VgYMhkhOBcIE4C4gIgngUUX4qE5wCxhdU2BkubfUAWExxPA5L8aJgRCwYDAHP8CHk=');
| |
| 2305 | UpText:= ['uper attack', 'attack', 'uper att', 'Super attack']; | |
| 2306 | end; | |
| 2307 | ||
| 2308 | 'str', 'strength', 'es', 'extrstr': | |
| 2309 | begin | |
| 2310 | DTM := DTMFromString('mrAAAAHic42BgYGBlgAAQzQvEXEDMCRVjAWImqDgfELNBxbmQcERkDFQVAi+ct4Bh88YtDBvWbWSYBhQRwYMZCWAYAADUbgi9');
| |
| 2311 | UpText:= ['uper strength', 'strength', 'uper str', 'Super strength', 'me str']; | |
| 2312 | end; | |
| 2313 | ||
| 2314 | 'ed', 'extrdef': | |
| 2315 | begin | |
| 2316 | DTM := DTMFromString('mbQAAAHicY2VgYEgE4gQgTgXiGCh/DhAvA+KFQLwIiCcA8ZUjskCSieHIVmmGu2fkGKKi4hjygCJcaJgRCwYDABivC70=');
| |
| 2317 | Uptext:= ['eme def', 'me def', 'Extreme defence']; | |
| 2318 | end; | |
| 2319 | ||
| 2320 | 'ea', 'extratk': | |
| 2321 | begin | |
| 2322 | DTM := DTMFromString('mbQAAAHicY2VgYDABYmMgNgdiayDWA+K5QLwUiJcB8Swou3DFaoaSteuBLCY4ngYk+dEwIxYMBgBabgil');
| |
| 2323 | Uptext:= ['me att', 'eme att', 'Extreme attack']; | |
| 2324 | end; | |
| 2325 | end; | |
| 2326 | Result:= MousePotions(DTM, Uptext, MIBox, False, Drink); | |
| 2327 | FreeDTM(DTM); | |
| 2328 | end; | |
| 2329 | ||
| 2330 | ||
| 2331 | Procedure PotSkills; | |
| 2332 | begin | |
| 2333 | LProc:= 'PotSkills'; | |
| 2334 | Sk.ModAtk:= GetSkillInfo(Skill_Attack, True); | |
| 2335 | Sk.ModStr:= GetSkillInfo(Skill_Strength, True); | |
| 2336 | Sk.ModDef:= GetSkillInfo(Skill_Defence, True); | |
| 2337 | end; | |
| 2338 | ||
| 2339 | Procedure InitialSkills; | |
| 2340 | begin | |
| 2341 | LProc:= 'InitialSkills'; | |
| 2342 | Sk.Atk:= GetSkillLevel(Skill_Attack); | |
| 2343 | Sk.Str:= GetSkillLevel(Skill_Strength); | |
| 2344 | Sk.Def:= GetSkillLevel(Skill_Defence); | |
| 2345 | end; | |
| 2346 | ||
| 2347 | function RPDist(TPA: TPointArray; MaxDist: Integer): TPoint; //By MormonMan | |
| 2348 | var | |
| 2349 | MP, P: TPoint; | |
| 2350 | begin | |
| 2351 | if not LoggedIn then Exit; | |
| 2352 | P := Point(-1, -1); | |
| 2353 | MP := MiddleTPA(TPA); | |
| 2354 | while (Distance(MP.x, MP.y, P.x, P.y) > MaxDist) do | |
| 2355 | P := TPA[Random(Length(TPA) - 1)]; | |
| 2356 | Result := P; | |
| 2357 | end; | |
| 2358 | ||
| 2359 | Function FindHDTM: Boolean; | |
| 2360 | var | |
| 2361 | DTM, X, Y, Dist: Integer; | |
| 2362 | TPA, NPCs: TPointArray; | |
| 2363 | begin | |
| 2364 | NPCs:= GetMiniMapDots('NPC');
| |
| 2365 | SortTPAByY(NPCs, True); | |
| 2366 | Dist:= Distance(NPCs[0].X, NPCs[0].Y, MMCX, MMCY); | |
| 2367 | ||
| 2368 | if (Dist > 20) then | |
| 2369 | begin | |
| 2370 | MMouse(NPCs[0].X, NPCs[0].Y, 0, 0); | |
| 2371 | wait(100); | |
| 2372 | ClickMouse2(MOUSE_LEFT); | |
| 2373 | if (Not IsMoving) then | |
| 2374 | wait(1000); | |
| 2375 | while isMoving do | |
| 2376 | wait(500); | |
| 2377 | end; | |
| 2378 | ||
| 2379 | DTM := DTMFromString('mQwAAAHicY2ZgYNBlZGDwAWIuIJ4F5E8E4klAnJuTwXBvozzDucWyDFxAPgwzImEgAAAOBwbl');
| |
| 2380 | Result:= FindDTMs(DTM, TPA, MSX1, MSY1, MSX2, MSY2); | |
| 2381 | if Result then | |
| 2382 | begin | |
| 2383 | if Debugs then | |
| 2384 | DebugTPA(TPA, ''); | |
| 2385 | MiddleTPAEx(TPA, X, Y); | |
| 2386 | MMouse(X, Y, 0, 0); | |
| 2387 | end; | |
| 2388 | FreeDTM(DTM); | |
| 2389 | end; | |
| 2390 | ||
| 2391 | Procedure TalkHartwin; | |
| 2392 | var | |
| 2393 | NPCs, Cols: TPointArray; | |
| 2394 | HP: TPoint; | |
| 2395 | B: TBox; | |
| 2396 | Found: Boolean; | |
| 2397 | Color: TIntegerArray; | |
| 2398 | I, X, Y, Dist, Tries: Integer; | |
| 2399 | begin | |
| 2400 | LProc:= 'TalkHartwin'; | |
| 2401 | Tries:= 0; | |
| 2402 | Found:= False; | |
| 2403 | if (Not AtHartwin) then | |
| 2404 | exit; | |
| 2405 | FindHDTM; | |
| 2406 | NPCs:= GetMMDotsOnMS('NPC');
| |
| 2407 | SortTPAByY(NPCs, True); | |
| 2408 | HP:= RPDist(NPCs, 20); | |
| 2409 | HP:= MMToMS(HP); | |
| 2410 | B:= IntToBox(HP.X - 20, HP.Y - 20, HP.X + 20, HP.Y + 20); | |
| 2411 | Color:= [5271929, 5931912, 4020572, 5927541, 6981257]; | |
| 2412 | For I:= 0 To High(Color) do | |
| 2413 | FindColorsSpiralTolerance(HP.X, HP.Y, Cols, Color[I], B.X1, B.Y1, B.X2, B.Y2, 10); | |
| 2414 | ||
| 2415 | if (Length(Cols) > 0) then | |
| 2416 | begin | |
| 2417 | MiddleTPAEx(Cols, HP.X, HP.Y); | |
| 2418 | MMouse(HP.X,HP.Y, 0, 0); | |
| 2419 | ||
| 2420 | DebugTPA(Cols, ''); | |
| 2421 | Found:= True; | |
| 2422 | end else | |
| 2423 | if FindHDTM then | |
| 2424 | Found:= True; | |
| 2425 | ||
| 2426 | if Found then | |
| 2427 | if (WaitUptextMulti(['alk-to Hart', 'Hartwin', 'artwin', 'o Hartwin', 'win', 'to Har'], 600)) then | |
| 2428 | begin | |
| 2429 | ClickMouse2(MOUSE_LEFT); | |
| 2430 | MakeCompass('N');
| |
| 2431 | Repeat | |
| 2432 | repeat | |
| 2433 | ClickToContinue; | |
| 2434 | until(ClickToContinue = False); | |
| 2435 | wait(500); | |
| 2436 | FindNPCChatText('es', ClickLeft);
| |
| 2437 | wait(2000); | |
| 2438 | Inc(Tries); | |
| 2439 | Until(FoundSymbol(1, X, Y, Dist) or FoundSymbol(2, X, Y, Dist) or (Tries > 7)); | |
| 2440 | end; | |
| 2441 | end; | |
| 2442 | ||
| 2443 | Function DrinkPotion(Potion: string): Boolean; | |
| 2444 | begin | |
| 2445 | LProc:= 'DrinkPotion'; | |
| 2446 | UptextF:= [Potion]; | |
| 2447 | Case LowerCase(Potion) of | |
| 2448 | 'none', '0', 'nothing': | |
| 2449 | exit; | |
| 2450 | ||
| 2451 | 'asd', 'ss', 'superset', 'super set': | |
| 2452 | begin | |
| 2453 | PotSkills; | |
| 2454 | begin | |
| 2455 | if (HasPotion('atk', False)) then
| |
| 2456 | if (Sk.ModAtk < (Sk.Atk + WTD)) then | |
| 2457 | begin | |
| 2458 | HasPotion('atk', True);
| |
| 2459 | wait(1000); | |
| 2460 | end; | |
| 2461 | ||
| 2462 | if (HasPotion('str', False)) then
| |
| 2463 | if (Sk.ModStr < (Sk.Str + WTD)) then | |
| 2464 | begin | |
| 2465 | HasPotion('str', True);
| |
| 2466 | wait(1000); | |
| 2467 | end; | |
| 2468 | ||
| 2469 | if (HasPotion('def', False)) then
| |
| 2470 | if (Sk.ModDef < (Sk.Def + WTD)) then | |
| 2471 | begin | |
| 2472 | HasPotion('def', True);
| |
| 2473 | wait(1000); | |
| 2474 | end; | |
| 2475 | end; | |
| 2476 | wait(1000); | |
| 2477 | PotSkills; | |
| 2478 | Result:= ((Sk.ModAtk > (Sk.Atk + WTD)) and (Sk.ModStr > (Sk.Str + WTD)) and (Sk.ModDef > (Sk.Def + WTD))); | |
| 2479 | end; | |
| 2480 | ||
| 2481 | 'atk str', 'as', 'atkstr', 'aspure': | |
| 2482 | begin | |
| 2483 | PotSkills; | |
| 2484 | begin | |
| 2485 | if (HasPotion('atk', False)) then
| |
| 2486 | if (Sk.ModAtk < (Sk.Atk + WTD)) then | |
| 2487 | begin | |
| 2488 | HasPotion('atk', True);
| |
| 2489 | wait(1000); | |
| 2490 | end; | |
| 2491 | ||
| 2492 | if (HasPotion('str', False)) then
| |
| 2493 | if (Sk.ModStr < (Sk.Str + WTD)) then | |
| 2494 | begin | |
| 2495 | HasPotion('str', True);
| |
| 2496 | wait(1000); | |
| 2497 | end; | |
| 2498 | end; | |
| 2499 | wait(1000); | |
| 2500 | PotSkills; | |
| 2501 | Result:= ((Sk.ModAtk > (Sk.Atk + WTD)) and (Sk.ModStr > (Sk.Str + WTD))); | |
| 2502 | end; | |
| 2503 | ||
| 2504 | 'str def', 'sd', 'strdef', 'sdpure': | |
| 2505 | begin | |
| 2506 | PotSkills; | |
| 2507 | begin | |
| 2508 | if (HasPotion('str', False)) then
| |
| 2509 | if (Sk.ModStr < (Sk.Str + WTD)) then | |
| 2510 | begin | |
| 2511 | HasPotion('str', True);
| |
| 2512 | wait(1000); | |
| 2513 | end; | |
| 2514 | ||
| 2515 | if (HasPotion('def', False)) then
| |
| 2516 | if (Sk.ModDef < (Sk.Def + WTD)) then | |
| 2517 | begin | |
| 2518 | HasPotion('def', True);
| |
| 2519 | wait(1000); | |
| 2520 | end; | |
| 2521 | end; | |
| 2522 | wait(1000); | |
| 2523 | PotSkills; | |
| 2524 | Result:= ((Sk.ModStr > (Sk.Str + WTD)) and (Sk.ModDef > (Sk.Def + WTD))); | |
| 2525 | end; | |
| 2526 | ||
| 2527 | 'atk def', 'ad', 'atkdef', 'adpure': | |
| 2528 | begin | |
| 2529 | PotSkills; | |
| 2530 | begin | |
| 2531 | if (HasPotion('atk', False)) then
| |
| 2532 | if (Sk.ModAtk < (Sk.Atk + WTD)) then | |
| 2533 | begin | |
| 2534 | HasPotion('atk', True);
| |
| 2535 | wait(1000); | |
| 2536 | end; | |
| 2537 | ||
| 2538 | if (HasPotion('def', False)) then
| |
| 2539 | if (Sk.ModDef < (Sk.Def + WTD)) then | |
| 2540 | begin | |
| 2541 | HasPotion('def', True);
| |
| 2542 | wait(1000); | |
| 2543 | end; | |
| 2544 | end; | |
| 2545 | wait(1000); | |
| 2546 | PotSkills; | |
| 2547 | Result:= ((Sk.ModAtk > (Sk.Atk + WTD)) and (Sk.ModDef > (Sk.Def + WTD))); | |
| 2548 | end; | |
| 2549 | ||
| 2550 | 'atk', 'attack': | |
| 2551 | if (HasPotion(Potion, False)) then | |
| 2552 | begin | |
| 2553 | PotSkills; | |
| 2554 | if (Sk.ModAtk < (Sk.Atk + WTD)) then | |
| 2555 | begin | |
| 2556 | HasPotion(Potion, True); | |
| 2557 | wait(2000); | |
| 2558 | PotSkills; | |
| 2559 | Result:= (Sk.ModAtk > (Sk.Atk + WTD)); | |
| 2560 | end; | |
| 2561 | end; | |
| 2562 | ||
| 2563 | 'str', 'strength': | |
| 2564 | if (HasPotion(Potion, False)) then | |
| 2565 | begin | |
| 2566 | PotSkills; | |
| 2567 | if (Sk.ModStr < (Sk.Str + WTD)) then | |
| 2568 | begin | |
| 2569 | HasPotion(Potion, True); | |
| 2570 | wait(2000); | |
| 2571 | PotSkills; | |
| 2572 | Result:= (Sk.ModStr > (Sk.Str + WTD)); | |
| 2573 | end; | |
| 2574 | end; | |
| 2575 | ||
| 2576 | 'def', 'defence': | |
| 2577 | if (HasPotion(Potion, False)) then | |
| 2578 | begin | |
| 2579 | PotSkills; | |
| 2580 | if (Sk.ModDef < (Sk.Def + WTD)) then | |
| 2581 | begin | |
| 2582 | HasPotion(Potion, True); | |
| 2583 | wait(2000); | |
| 2584 | PotSkills; | |
| 2585 | Result:= (Sk.ModDef > (Sk.Def + WTD)); | |
| 2586 | end; | |
| 2587 | end; | |
| 2588 | ||
| 2589 | 'ovl', 'overload': | |
| 2590 | if (HPLevel > 600) then | |
| 2591 | if (HasPotion(Potion, False)) then | |
| 2592 | begin | |
| 2593 | PotSkills; | |
| 2594 | if ((Sk.ModAtk < (Sk.Atk + WTD)) or (Sk.ModStr < (Sk.Str + WTD)) or (Sk.ModDef < (Sk.Def + WTD))) then | |
| 2595 | begin | |
| 2596 | HasPotion(Potion, True); | |
| 2597 | wait(2000); | |
| 2598 | PotSkills; | |
| 2599 | Result:= ((Sk.ModAtk + Sk.ModDef + Sk.ModStr) > ((Sk.Atk + Sk.Def + Sk.Str) + WTD)); | |
| 2600 | end; | |
| 2601 | end; | |
| 2602 | end; | |
| 2603 | end; | |
| 2604 | ||
| 2605 | Function FindLadder: Boolean; | |
| 2606 | var | |
| 2607 | Dist: Integer; | |
| 2608 | begin | |
| 2609 | LProc:= 'FindLadder'; | |
| 2610 | if AtHartwin then | |
| 2611 | exit; | |
| 2612 | Result:= FindObjectMM([LadderColour], Dist, 10, 10, LTol, False, [0.58, 4.00]); | |
| 2613 | ||
| 2614 | if debugs then | |
| 2615 | writeln('FindLadder: ' + ToStr(Result));
| |
| 2616 | end; | |
| 2617 | ||
| 2618 | Function DownTheHall: Boolean; Forward; | |
| 2619 | Function PrayAltar: Boolean; | |
| 2620 | var | |
| 2621 | CTS: Integer; | |
| 2622 | begin | |
| 2623 | LProc:= 'PrayAltar'; | |
| 2624 | if AtHartwin then | |
| 2625 | exit; | |
| 2626 | ||
| 2627 | CTS := GetColorToleranceSpeed; | |
| 2628 | ColorToleranceSpeed(2); | |
| 2629 | SetColorSpeed2Modifiers(0.11, 0.38); | |
| 2630 | ||
| 2631 | Result:= FindObjectFX([2960958], ['ray-at', 'haos altar', 'altar'], MSX1, MSY1, MSX2, MSY2, 20, 20, 11, True); | |
| 2632 | if (Not Result) then | |
| 2633 | if (Not AutoColourAltar) then | |
| 2634 | if (Not FindLadder) then | |
| 2635 | DownTheHall; | |
| 2636 | ||
| 2637 | if Debugs then | |
| 2638 | writeln('PrayAltar: ' + ToStr(Result));
| |
| 2639 | ||
| 2640 | ColorToleranceSpeed(CTS); | |
| 2641 | SetColorSpeed2Modifiers(0.2, 0.2); | |
| 2642 | end; | |
| 2643 | ||
| 2644 | Function PrayerLevel: Integer; | |
| 2645 | var | |
| 2646 | ColourString: String; | |
| 2647 | begin | |
| 2648 | LProc:= 'PrayerLevel'; | |
| 2649 | Result:= GetMMLevels('Prayer', ColourString);
| |
| 2650 | ||
| 2651 | if debugs then | |
| 2652 | writeln('Prayer: ' + ToStr(Result));
| |
| 2653 | end; | |
| 2654 | ||
| 2655 | Function IsPrayerOn: Boolean; | |
| 2656 | var | |
| 2657 | TPA: TPointArray; | |
| 2658 | CTS: Integer; | |
| 2659 | begin | |
| 2660 | LProc:= 'IsPrayerOn'; | |
| 2661 | if (PrayerLevel < 2) then | |
| 2662 | Result:= False | |
| 2663 | else | |
| 2664 | begin | |
| 2665 | CTS:= GetColorToleranceSpeed; | |
| 2666 | ColorToleranceSpeed(2); | |
| 2667 | SetToleranceSpeed2Modifiers(0.11, 1.02); | |
| 2668 | Result:= FindColorsSpiralTolerance(723, 70, TPA, 8767378, 708, 53, 737, 85, 27); | |
| 2669 | SetToleranceSpeed2Modifiers(0.2, 0.2); | |
| 2670 | ColorToleranceSpeed(CTS); | |
| 2671 | end; | |
| 2672 | ||
| 2673 | if Debugs then | |
| 2674 | writeln('Prayer On: ' + ToStr(Result));
| |
| 2675 | end; | |
| 2676 | ||
| 2677 | Function OutOfPrayer: Boolean; | |
| 2678 | var | |
| 2679 | TPA: TPointArray; | |
| 2680 | CTS: Integer; | |
| 2681 | begin | |
| 2682 | LProc:= 'OutOfPrayer'; | |
| 2683 | CTS:= GetColorToleranceSpeed; | |
| 2684 | ColorToleranceSpeed(2); | |
| 2685 | ||
| 2686 | if (PrayerLevel = 0) then | |
| 2687 | Result:= True | |
| 2688 | else | |
| 2689 | Result:= Not(FindColorsSpiralTolerance(723, 70, TPA, 6236988, 706, 55, 739, 81, 26) or IsPrayerOn); | |
| 2690 | ||
| 2691 | if Debugs then | |
| 2692 | writeln('Out of Prayer: ' + ToStr(Result));
| |
| 2693 | ColorToleranceSpeed(CTS); | |
| 2694 | end; | |
| 2695 | ||
| 2696 | Procedure TurnPrayerOff; | |
| 2697 | begin | |
| 2698 | LProc:= 'TurnPrayerOff'; | |
| 2699 | if (GetCurrentTab <> Tab_Inv) then | |
| 2700 | GameTab(Tab_Inv); | |
| 2701 | wait(1000); | |
| 2702 | begin | |
| 2703 | if (Not IsPrayerOn) then | |
| 2704 | exit; | |
| 2705 | repeat | |
| 2706 | if OutOfPrayer Then | |
| 2707 | break; | |
| 2708 | if PrayerLevel < 3 then | |
| 2709 | break; | |
| 2710 | MouseBox(706, 55, 739, 87, MOUSE_LEFT); | |
| 2711 | wait(1500); | |
| 2712 | Until(Not IsPrayerOn); | |
| 2713 | end; | |
| 2714 | MouseBox(MSX1, MSY1, MSX2, MSY2, 3); | |
| 2715 | end; | |
| 2716 | ||
| 2717 | Procedure TurnPrayerOn(QuickPrayer: Boolean); | |
| 2718 | begin | |
| 2719 | LProc:= 'TurnPrayerOn'; | |
| 2720 | if (GetCurrentTab <> Tab_Inv) then | |
| 2721 | GameTab(Tab_Inv); | |
| 2722 | wait(1000); | |
| 2723 | ||
| 2724 | if IsPrayerOn then | |
| 2725 | exit; | |
| 2726 | if (QuickPrayer = True) then | |
| 2727 | repeat | |
| 2728 | if OutOfPrayer Then | |
| 2729 | break; | |
| 2730 | if PrayerLevel < 3 then | |
| 2731 | break; | |
| 2732 | MouseBox(706, 55, 739, 87, 1); | |
| 2733 | wait(1500); | |
| 2734 | Until(IsPrayerOn); | |
| 2735 | if (QuickPrayer) then | |
| 2736 | MouseBox(MSX1, MSY1, MSX2, MSY2, 3); | |
| 2737 | end; | |
| 2738 | ||
| 2739 | ||
| 2740 | ||
| 2741 | Function WalkToLadder: Boolean; | |
| 2742 | var | |
| 2743 | Dist: Integer; | |
| 2744 | begin | |
| 2745 | LProc:= 'WalkToLadder'; | |
| 2746 | if AtHartwin then | |
| 2747 | exit; | |
| 2748 | FindObjectMM([LadderColour], Dist, 10, 10, LTol, True, [0.58, 4.00]); | |
| 2749 | ||
| 2750 | if ((Dist >= 25) or (PrayerLevel <= WTP)) then | |
| 2751 | begin | |
| 2752 | FindObjectMM([LadderColour], Dist, 10, 10, LTol, True, [0.58, 4.00]); | |
| 2753 | MMouse(Random(MSCX), Random(MSCY), 5, 5); | |
| 2754 | wait(500); | |
| 2755 | while isMoving do | |
| 2756 | wait(50); | |
| 2757 | wait(1000); | |
| 2758 | Result:= (Dist < 15); | |
| 2759 | end; | |
| 2760 | end; | |
| 2761 | ||
| 2762 | Function UpLadder: Boolean; | |
| 2763 | var | |
| 2764 | Dist, X, Y, tries, CTS: Integer; | |
| 2765 | Ladder: TPoint; | |
| 2766 | begin | |
| 2767 | LProc:= 'UpLadder'; | |
| 2768 | if AtHartwin then | |
| 2769 | exit; | |
| 2770 | tries:= 0; | |
| 2771 | CTS:= GetColorToleranceSpeed; | |
| 2772 | ||
| 2773 | Repeat | |
| 2774 | FindObjectMM([LadderColour], Dist, 10, 10, LTol, False, [0.58, 4.00]); | |
| 2775 | ||
| 2776 | if ((FoundSymbol(1, X, Y, Dist) = False) or (FoundSymbol(2, X, Y, Dist) = False)) then | |
| 2777 | begin | |
| 2778 | if ((Dist <= 23) and (PrayerLevel <= WTP)) then | |
| 2779 | begin | |
| 2780 | Ladder:= MMToMS(Point(X, Y)); | |
| 2781 | SetColorSpeed2Modifiers(0.09, 0.26); //EDITED!! Ladder.X-50 | |
| 2782 | if (Not FindObjectFX([2509141], ['adder', 'up Lad', 'limb-up'], MSX1, MSY1, Ladder.X + 50, Ladder.Y + 50, 10, 10, 5, True)) then | |
| 2783 | begin | |
| 2784 | SetColorSpeed2Modifiers(0.2, 0.2); | |
| 2785 | ColorToleranceSpeed(CTS); | |
| 2786 | if (Not AutoColourLadder) then | |
| 2787 | if (Not FindLadder) then | |
| 2788 | DownTheHall; | |
| 2789 | end; | |
| 2790 | SetColorSpeed2Modifiers(0.2, 0.2); | |
| 2791 | if DidRedClick then | |
| 2792 | begin | |
| 2793 | wait(2000); | |
| 2794 | if Debugs then | |
| 2795 | writeln('UpLadder: True');
| |
| 2796 | end; | |
| 2797 | end else | |
| 2798 | if (Dist > 23) then | |
| 2799 | WalkToLadder; | |
| 2800 | ||
| 2801 | Inc(Tries); | |
| 2802 | end; | |
| 2803 | if (tries > 5) then | |
| 2804 | break; | |
| 2805 | Until(FoundSymbol(1, X, Y, Dist) or FoundSymbol(2, X, Y, Dist) or (Tries > 5)); | |
| 2806 | ||
| 2807 | SetColorSpeed2Modifiers(0.2, 0.2); | |
| 2808 | ColorToleranceSpeed(CTS); | |
| 2809 | ||
| 2810 | Result:= (FoundSymbol(1, X, Y, Dist) or FoundSymbol(2, X, Y, Dist) or (FindLadder = False)); | |
| 2811 | if Debugs then | |
| 2812 | writeln('UpLadder: ' + ToStr(Result));
| |
| 2813 | wait(1000); | |
| 2814 | end; | |
| 2815 | ||
| 2816 | Function FindTrapDoor: Boolean; | |
| 2817 | var | |
| 2818 | I, X, Y, TrapDoorDTM: Integer; | |
| 2819 | Found: Extended; | |
| 2820 | Colors: TIntegerArray; | |
| 2821 | TPA: TPointArray; | |
| 2822 | ATPA: T2DPointArray; | |
| 2823 | begin | |
| 2824 | if AtHartwin then | |
| 2825 | exit; | |
| 2826 | Colors:= [6579305, 6382182, 6447719]; | |
| 2827 | For I:= 0 To High(Colors) do | |
| 2828 | FindColorsSpiralTolerance(MSCX, MSCY, TPA, Colors[I], MSCX - 50, MSCY - 50, MSCX + 50, MSCY + 50, 10); | |
| 2829 | if (Length(TPA) < 1) then | |
| 2830 | exit; | |
| 2831 | ||
| 2832 | ATPA:= TPAToATPAEx(TPA, 30, 30); | |
| 2833 | if (Length(ATPA) < 1) then | |
| 2834 | exit; | |
| 2835 | ||
| 2836 | if debugs then | |
| 2837 | DebugTPA(ATPA[0], ''); | |
| 2838 | ||
| 2839 | MiddleTPAEx(ATPA[0], X, Y); | |
| 2840 | MMouse(X, Y, 0, 0); | |
| 2841 | Result := WaitUptextMulti(['rapdoor', 'uny', 'unyip'], 600); | |
| 2842 | if Result then | |
| 2843 | begin | |
| 2844 | ClickMouse2(MOUSE_RIGHT); | |
| 2845 | WaitOption('rapdoor', 600);
| |
| 2846 | end else | |
| 2847 | begin | |
| 2848 | TrapDoorDTM := DTMFromString('mQwAAAHicY2ZgYJBmZGCQA2IJIJ4D5B+F4gBfX4ZNy2cxrF8yg4ELyIdhRiQMBAAaZwdn');
| |
| 2849 | if FindDTMRotatedAlternating(TrapDoorDTM, X, Y, MSX1, MSY1, MSX2, MSY2, 0, 359, 1, Found) then | |
| 2850 | begin | |
| 2851 | MMouse(X, Y, 0, 0); | |
| 2852 | Result := WaitUptextMulti(['rapdoor', 'uny', 'unyip'], 600); | |
| 2853 | ClickMouse2(MOUSE_RIGHT); | |
| 2854 | WaitOption('rapdoor', 600);
| |
| 2855 | end; | |
| 2856 | FreeDTM(TrapDoorDTM); | |
| 2857 | end; | |
| 2858 | end; | |
| 2859 | ||
| 2860 | Function DownLadder: Boolean; | |
| 2861 | var | |
| 2862 | X, Y, Dist, tries, CTS: Integer; | |
| 2863 | begin | |
| 2864 | LProc:= 'DownLadder'; | |
| 2865 | if AtHartwin then | |
| 2866 | exit; | |
| 2867 | ||
| 2868 | MakeCompass('S');
| |
| 2869 | CTS:= GetColorToleranceSpeed; | |
| 2870 | wait(1000); | |
| 2871 | tries:= 0; | |
| 2872 | ||
| 2873 | repeat | |
| 2874 | ColorToleranceSpeed(2); | |
| 2875 | if FindObjectFx([4473927, 6118754, 6382182, 6579304], ['rapdoor', 'door'], MSX1, MSY1, MSX2, MSY2, 10, 10, 5, True) then | |
| 2876 | begin | |
| 2877 | ColorToleranceSpeed(CTS); | |
| 2878 | MMouse(X, Y, 0, 0); | |
| 2879 | wait(500); | |
| 2880 | ClickMouse2(True); | |
| 2881 | if Debugs then | |
| 2882 | writeln('DownLadder: True');
| |
| 2883 | if(DidRedClick) then | |
| 2884 | break; | |
| 2885 | end else | |
| 2886 | begin | |
| 2887 | ColorToleranceSpeed(CTS); | |
| 2888 | if (FoundSymbol(1, X, Y, Dist) = False) or (FoundSymbol(2, X, Y, Dist) = False) or (FindLadder = False) then | |
| 2889 | FindTrapDoor; | |
| 2890 | end; | |
| 2891 | ColorToleranceSpeed(CTS); | |
| 2892 | ||
| 2893 | Inc(Tries); | |
| 2894 | if (Tries > 4) then | |
| 2895 | break; | |
| 2896 | until((FoundSymbol(1, X, Y, Dist) = False) or (FoundSymbol(2, X, Y, Dist) = False) or (FindLadder = True) or (tries > 10)); | |
| 2897 | ||
| 2898 | MakeCompass('W');
| |
| 2899 | Result:= ((FoundSymbol(1, X, Y, Dist) = False) or (FoundSymbol(2, X, Y, Dist) = False) or (FindLadder = True)); | |
| 2900 | if Debugs then | |
| 2901 | writeln('DownLadder: ' + ToStr(Result));
| |
| 2902 | end; | |
| 2903 | ||
| 2904 | Procedure PickUpItems(ItemList: TStringArray); | |
| 2905 | var | |
| 2906 | Items, TPA: TPointArray; | |
| 2907 | ATPA: T2DPointArray; | |
| 2908 | Item: TPoint; | |
| 2909 | ItemArray: Array of ItemPickup; | |
| 2910 | I, CTS: Integer; | |
| 2911 | begin | |
| 2912 | LProc:= 'PickUpItems'; | |
| 2913 | SetLength(ItemArray, Length(ItemCheckList) + 1); | |
| 2914 | For I:= 0 To High(ItemCheckList) do | |
| 2915 | Case lowercase(ItemCheckList[I]) of | |
| 2916 | 'noted': | |
| 2917 | begin | |
| 2918 | ItemArray[I].Color := 8767731; //Noted Items. | |
| 2919 | ItemArray[I].Speed := [0.64, 1.34]; | |
| 2920 | ItemArray[I].Tolerance := 10; | |
| 2921 | end; | |
| 2922 | 'bones', 'bone': | |
| 2923 | begin | |
| 2924 | ItemArray[I].Color := 13423589; //Bones Items. | |
| 2925 | ItemArray[I].Speed := [0.39, 2.16]; | |
| 2926 | ItemArray[I].Tolerance := 11; | |
| 2927 | end; | |
| 2928 | 'bluecharm', 'blue charm', 'bluecharms': | |
| 2929 | begin | |
| 2930 | ItemArray[I].Color := 10725730; //BlueCharm Items. | |
| 2931 | ItemArray[I].Speed := [0.11, 0.44]; | |
| 2932 | ItemArray[I].Tolerance := 22; | |
| 2933 | end; | |
| 2934 | 'coins', 'gold', 'gp': | |
| 2935 | begin | |
| 2936 | ItemArray[I].Color := 4641005; //Coins Items. | |
| 2937 | ItemArray[I].Speed := [0.29, 3.33]; | |
| 2938 | ItemArray[I].Tolerance := 5; | |
| 2939 | end; | |
| 2940 | end; | |
| 2941 | ||
| 2942 | CTS:= GetColorToleranceSpeed; | |
| 2943 | Items:= GetMMDotsOnMS('item');
| |
| 2944 | if (Length(Items) > 0) then | |
| 2945 | begin | |
| 2946 | Item:= MMToMS(Items[0]); | |
| 2947 | ||
| 2948 | if ((Item.X <> 0) AND (Item.Y <> 0) AND (InvFull = False)) then | |
| 2949 | begin | |
| 2950 | For I:= 0 To High(ItemArray) - 1 do | |
| 2951 | begin | |
| 2952 | ColorToleranceSpeed(2); | |
| 2953 | SetColorSpeed2Modifiers(ItemArray[I].Speed[0], ItemArray[I].Speed[1]); | |
| 2954 | FindColorsTolerance(TPA, ItemArray[I].Color, MSX1, MSY1, MSX2, MSY2, ItemArray[I].Tolerance); | |
| 2955 | ATPA:= TPAToATPAEx(TPA, 10, 10); | |
| 2956 | ColorToleranceSpeed(CTS); | |
| 2957 | SetColorSpeed2Modifiers(0.02, 0.02); | |
| 2958 | ||
| 2959 | if (Length(ATPA) < 1) then | |
| 2960 | exit; | |
| 2961 | ||
| 2962 | Item.x:= MSCX; Item.y:= MSCY; | |
| 2963 | SortATPAFromFirstPoint(ATPA, Item); | |
| 2964 | MiddleTPAEx(ATPA[0], Item.X, Item.Y); | |
| 2965 | ||
| 2966 | MMouse(Item.X, Item.Y, 0, 0); | |
| 2967 | wait(200); | |
| 2968 | if (isUptextMultiCustom(ItemList) or IsUptextMultiCustom(['ake', 'nteract', 'ttack'])) then | |
| 2969 | begin | |
| 2970 | ClickMouse2(False); | |
| 2971 | WaitOptionMulti(ItemList, 300); | |
| 2972 | wait(200); | |
| 2973 | while isMoving do | |
| 2974 | wait(1); | |
| 2975 | end; | |
| 2976 | end; | |
| 2977 | end; | |
| 2978 | ColorToleranceSpeed(CTS); | |
| 2979 | SetColorSpeed2Modifiers(0.02, 0.02); | |
| 2980 | end; | |
| 2981 | end; | |
| 2982 | ||
| 2983 | Procedure CheckList; | |
| 2984 | begin | |
| 2985 | FindNormalRandoms; | |
| 2986 | If (Not LoggedIn) then | |
| 2987 | LoginPlayer; | |
| 2988 | end; | |
| 2989 | ||
| 2990 | Procedure SaveUsNRun; | |
| 2991 | var | |
| 2992 | X, Y, Dist, Tries: Integer; | |
| 2993 | begin | |
| 2994 | Tries:= 0; | |
| 2995 | LProc:= 'RunAway'; | |
| 2996 | if ((PrayerLevel <= WTP) or OutOfPrayer) then | |
| 2997 | begin | |
| 2998 | UpLadder; | |
| 2999 | while((FoundSymbol(1, X, Y, Dist) = False) or (FoundSymbol(2, X, Y, Dist) = False) or (Tries < 10)) do | |
| 3000 | begin | |
| 3001 | UpLadder; | |
| 3002 | Inc(Tries); | |
| 3003 | wait(100); | |
| 3004 | if (tries >= 10) then | |
| 3005 | break; | |
| 3006 | writeln('RunAway: SymbolFinding');
| |
| 3007 | end; | |
| 3008 | ||
| 3009 | Tries:= 0; | |
| 3010 | if (FindObjectMM([LadderColour], Dist, 10, 10, LTol, False, [0.58, 4.00]) = False) then | |
| 3011 | begin | |
| 3012 | repeat | |
| 3013 | PrayAltar; | |
| 3014 | while IsMoving do | |
| 3015 | wait(100); | |
| 3016 | Inc(Tries); | |
| 3017 | if (tries > 5) then | |
| 3018 | break; | |
| 3019 | Until((PrayerLevel > WTP) or (Tries > 5)); | |
| 3020 | end; | |
| 3021 | end; | |
| 3022 | end; | |
| 3023 | ||
| 3024 | Procedure SOS; | |
| 3025 | var | |
| 3026 | X, Y, Dist: Integer; | |
| 3027 | begin | |
| 3028 | CheckList; | |
| 3029 | ||
| 3030 | if ((SaveMe = True) And (NoSS = True)) then | |
| 3031 | begin | |
| 3032 | LProc:= 'SOS'; | |
| 3033 | repeat | |
| 3034 | if (HPLevel > WTE) then | |
| 3035 | SaveMe:= False; | |
| 3036 | SaveUsNRun; | |
| 3037 | MakeCompass('W');
| |
| 3038 | writeln('~SOS~ Out of food AND not using SoulSplit.. Running Away..');
| |
| 3039 | SaveUsNRun; | |
| 3040 | until(FoundSymbol(1, X, Y, Dist) or FoundSymbol(2, X, Y, Dist) or (FindLadder = False) or (SaveMe = False)); | |
| 3041 | ||
| 3042 | repeat | |
| 3043 | Logout; | |
| 3044 | until(Not LoggedIn); | |
| 3045 | writeln('~SOS~ Successfully Ran Away..');
| |
| 3046 | TerminateScript; | |
| 3047 | end; | |
| 3048 | end; | |
| 3049 | ||
| 3050 | Procedure RefillPrayer; | |
| 3051 | var | |
| 3052 | X, Y, Dist, Tries: Integer; | |
| 3053 | begin | |
| 3054 | Tries:= 0; | |
| 3055 | LProc:= 'RefillPrayer'; | |
| 3056 | if AtHartwin then | |
| 3057 | exit; | |
| 3058 | ||
| 3059 | if ((PrayerLevel <= WTP) or OutOfPrayer) then | |
| 3060 | begin | |
| 3061 | UpLadder; | |
| 3062 | while((FoundSymbol(1, X, Y, Dist) = False) or (FoundSymbol(2, X, Y, Dist) = False) or (Tries < 10)) do | |
| 3063 | begin | |
| 3064 | Inc(Tries); | |
| 3065 | wait(100); | |
| 3066 | if (tries >= 10) then | |
| 3067 | break; | |
| 3068 | if Debugs then | |
| 3069 | writeln('RefillPrayer: SymbolFinding');
| |
| 3070 | end; | |
| 3071 | ||
| 3072 | Tries:= 0; | |
| 3073 | if (FindObjectMM([LadderColour], Dist, 10, 10, LTol, True, [0.58, 4.00]) = False) then | |
| 3074 | begin | |
| 3075 | repeat | |
| 3076 | PrayAltar; | |
| 3077 | while IsMoving do | |
| 3078 | wait(100); | |
| 3079 | Inc(Tries); | |
| 3080 | if (tries > 5) then | |
| 3081 | break; | |
| 3082 | Until((PrayerLevel > WTP) or (Tries > 5)); | |
| 3083 | end; | |
| 3084 | ||
| 3085 | if(FoundSymbol(1, X, Y, Dist) or FoundSymbol(2, X, Y, Dist) or (FindLadder = False) or (PrayerLevel > WTP)) then | |
| 3086 | DownLadder; | |
| 3087 | if (IsPrayerOn = False) then | |
| 3088 | TurnPrayerOn(QP); | |
| 3089 | end; | |
| 3090 | end; | |
| 3091 | ||
| 3092 | Function ReturnFoodInfo(Food: String): FoodStruct; | |
| 3093 | begin | |
| 3094 | ResetEverything; | |
| 3095 | Case LowerCase(Food) of | |
| 3096 | 'shark': | |
| 3097 | begin | |
| 3098 | Result.Item:= DTMFromString('mlwAAAHicY2dgYChkYmAoB+IqIK4B4gYoOxOIZRkZGKSBWB6IlYBYG4h1gFgNiEMdDRimVacy9JcmMHQXxTG4m2kwxHmYMvDx8TFwAc3FhRnxYCgAAFFKC0Y=');
| |
| 3099 | Result.Uptext:= ['Shark', 'hark', 'ark']; | |
| 3100 | end; | |
| 3101 | ||
| 3102 | 'raw shark', 'summoning shark', 'bunyip shark': | |
| 3103 | begin | |
| 3104 | Result.Item:= DTMFromString('mWAAAAHicY2FgYDABYj0gtgZiOyCWYGRgkAFiKSBWAOLGmmqGxNhYhpL8fIa8zEwGLqAaZMyIhkEAAEz2BqM=');
| |
| 3105 | Result.Uptext:= ['Raw shark', 'hark', 'ark', 'aw sha']; | |
| 3106 | end; | |
| 3107 | ||
| 3108 | 'lob', 'lobs', 'lobster', 'lobby', 'lobbies': | |
| 3109 | begin | |
| 3110 | Result.Item:= DTMFromString('mlwAAAHicY2dgYJjPxMCwGIoXAvFMIF4AxEuAuJ8RgicB8XQg7oLiDiDm4+NjKLcRZJjtJ86wJVqaYV2EFMP8AHGGbTHSDFxAc3FhRjwYCgD3pg8b');
| |
| 3111 | Result.Uptext:= ['Lob', 'obster', 'bster']; | |
| 3112 | end; | |
| 3113 | ||
| 3114 | 'raw lobster', 'raw lob', 'summoning lob', | |
| 3115 | 'summoning lobster', 'bunyip lobster', 'bunyip lob': | |
| 3116 | begin | |
| 3117 | Result.Item:= DTMFromString('mQwAAAHicY2ZgYEgG4jQgjgfibCAuBOI8IE40lwXjYkdlBnYgH4YZkTAQAADQ1ATP');
| |
| 3118 | Result.Uptext:= ['Raw lobster', 'aw lob', 'lobster', 'obste']; | |
| 3119 | end; | |
| 3120 | 'tuna': | |
| 3121 | begin | |
| 3122 | Result.Item:= DTMFromString('mggAAAHicY2NgYPBkYmDwA+JgKO0OxVsYGRg2QvFWIN4JZadGhjPEBAUwRPj5MOQmxDHw8fGB+VxAs7BhRhwYAgDSsAuu');
| |
| 3123 | Result.Uptext:= ['Tuna', 'una']; | |
| 3124 | end; | |
| 3125 | 'sardine': | |
| 3126 | begin | |
| 3127 | Result.Item:= DTMFromString('mWAAAAHicY2FgYDjOxMBwBIhPAvEZIFZmZGBQBWJ5IJYD4urcLIYFfd0MqZHhDNnxsQxcQD3ImBENgwAADhkJKQ==');
| |
| 3128 | Result.Uptext:= ['ardine', 'Sardine', 'dine']; | |
| 3129 | end; | |
| 3130 | 'rocktail', 'rock', 'tail': | |
| 3131 | begin | |
| 3132 | Result.Item:= DTMFromString('mWAAAAHicY2FgYHBkZGBwB2J7ILYF4mMMEHweiI8AcUdpGZBkAmMdITYGdiALGTOiYRAAAGyEBgc=');
| |
| 3133 | Result.Uptext:= ['ocktail', 'tail', 'ockta', 'Rocktail']; | |
| 3134 | end; | |
| 3135 | 'cake': | |
| 3136 | begin | |
| 3137 | Result.Item:= DTMFromString('mrAAAAHic42BgYChhYmAoAOIqKC4G4gYmiHg1ELswQrAjELsCsR0QuwGxFxTv376d4czhwwwTu7sZ5s+YwbB+xQoGNTlWhsIoAYYYYV4GLqAd+DAjAQwDAJ8PEe0=');
| |
| 3138 | Result.Uptext:= ['ake', 'Cake']; | |
| 3139 | end; | |
| 3140 | 'bass': | |
| 3141 | begin | |
| 3142 | Result.Item:= DTMFromString('mggAAAHicY2NgYJjFxMAwD4pnAvF8IF4MxD6MEOwBxO5A7ArFfHx8DGed5BjKvZ0ZNltJMcw3FgdjLqBZ2DAjDgwBALd+CvI=');
| |
| 3143 | Result.Uptext:= ['ass', 'Bass']; | |
| 3144 | end; | |
| 3145 | 'sword', 'swordy', 'swordfish', 'swords', | |
| 3146 | 'swordies', 'sword fish': | |
| 3147 | begin | |
| 3148 | Result.Item:= DTMFromString('mbQAAAHicY2VgYMhjYmDIAOIsIC4G4kIg9mZkYPAHYi8g9gViTyDuTJzIUBXWyFAUWAmmc32LGbiA+tExIxYMBgDAPgpw');
| |
| 3149 | Result.Uptext:= ['Swordfis', 'wordfis', 'ordfis', 'Swordfish']; | |
| 3150 | end; | |
| 3151 | 'monk', 'monkfish', 'monk fish', 'monks': | |
| 3152 | begin | |
| 3153 | Result.Item:= DTMFromString('mlwAAAHicY2dgYDjIxMCwB4h3AfFOID4AxEeheBYjBE8H4nlAPA2IZwDxHCAWEuJgiApwZQjxcmDI9nRncDTVZtBWVWRwtDBi4AKaiwsz4sFQAAANlg6I');
| |
| 3154 | Result.Uptext:= ['Monkfi', 'onkfish', 'onkfis', 'Monkfish']; | |
| 3155 | end; | |
| 3156 | 'cave', 'cavefish', 'cave fish': | |
| 3157 | begin | |
| 3158 | Result.Item:= DTMFromString('mlwAAAHicY2dgYJjCxMAwGYinAfEMKLsfiCcAMTcjAwMHELNCaRYozQvEpX4RDAuz8xhmpWcyrC4qZTDQ02NYlJPPcKChmYELaC4uzIgHQwEALJsOBw==');
| |
| 3159 | Result.Uptext:= ['avefi', 'Cavefish', 'avefish', 'avefish']; | |
| 3160 | end; | |
| 3161 | 'pizza', 'meat pizza': | |
| 3162 | begin | |
| 3163 | Result.Item:= DTMFromString('m1gAAAHic42JgYChhYmCoA+JKIC4F4kImiFg+VLwJiKuBuIeRgaEPiDuAuBOK+4F4EhBPBeJeIG4F4uVLJRnKJQXBGMYG0f1xokDbmOCYC0gSgxmJxAgAAEAWEdw=');
| |
| 3164 | Result.Uptext:= ['Pizza', 'eatpiz']; | |
| 3165 | end; | |
| 3166 | 'turtle', 'sea', 'sea turtle', 'squirtle': | |
| 3167 | begin | |
| 3168 | Result.Item:= DTMFromString('mlwAAAHicY2dgYJjCxMAwEYhnAPEsIJ4KxHOAuB+IpzMCxYB4BhBPhuKFQDwfiH09nBj8vVzA2NXRhsHD2Y4h15+fIdGNj4ELaC4uzIgHQwEAvecOTA==');
| |
| 3169 | Result.Uptext:= ['turtle', 'Seaturtle', 'Sea-turtle', 'urtle', 'ea-tur', 'eaturle']; | |
| 3170 | end; | |
| 3171 | 'manta', 'ray', 'manta ray', 'mantaray': | |
| 3172 | begin | |
| 3173 | Result.Item:= DTMFromString('mggAAAHicY2NgYMhlYmAoBOIcIM4E4mIgzgDi3YwMDDuBeBsQ7wPivVB+hLMhg5eFJkOUixEYg9jJ3uYMXECzsGFGHBgCAAfwC+4=');
| |
| 3174 | Result.Uptext:= ['manta', 'Manta', 'antaray', 'MantaRay', 'Manta-ray', 'ntara']; | |
| 3175 | end; | |
| 3176 | end; | |
| 3177 | end; | |
| 3178 | ||
| 3179 | Procedure HealPlayer(Food: TStringArray); | |
| 3180 | var | |
| 3181 | I, X, Y, Scrolls: Integer; | |
| 3182 | TPA: TPointArray; | |
| 3183 | FS: FoodStruct; | |
| 3184 | begin | |
| 3185 | LProc:= 'HealPlayer'; | |
| 3186 | ResetEverything; | |
| 3187 | if (HPLevel <= WTE) then | |
| 3188 | begin | |
| 3189 | if (GetCurrentTab <> Tab_Inv) then | |
| 3190 | GameTab(Tab_Inv); | |
| 3191 | wait(1000); | |
| 3192 | For I:= 0 To High(Food) do | |
| 3193 | begin | |
| 3194 | FS:= ReturnFoodInfo(Food[I]); | |
| 3195 | ||
| 3196 | if (GetCurrentTab <> Tab_Inv) then | |
| 3197 | GameTab(Tab_Inv); | |
| 3198 | wait(500); | |
| 3199 | SetLength(TPA, 200); | |
| 3200 | Case LowerCase(Food[I]) of | |
| 3201 | 'raw shark', 'summoning shark', 'bunyip shark', | |
| 3202 | 'raw lobster', 'raw lob', 'summoning lob', | |
| 3203 | 'summoning lobster', 'bunyip lobster', 'bunyip lob': | |
| 3204 | begin | |
| 3205 | Scrolls := DTMFromString('mbQAAAHicY2VgYJjGxMAwC4jnAfFcKC5iZGAoBOIcIC4G4log9vE2ZggJiWKIiVvMkJCWzuDmMZeBC6gfHTNiwWAAABHPCxQ=');
| |
| 3206 | If (FindDTM(Scrolls, X, Y, MIX1, MIY1, MIX2, MIY2) and FindDTM(FS.Item, X, Y, MIX1, MIY1, MIX2, MIY2)) then | |
| 3207 | repeat | |
| 3208 | if SummoningRenew(WhichFamiliar) then | |
| 3209 | begin | |
| 3210 | if InteractFamiliar(['ast', 'Cast', 'allow Wh', 'Whole', 'hole', 'ole', 'allow', 'wall']) then | |
| 3211 | begin | |
| 3212 | SummoningRenew(WhichFamiliar); | |
| 3213 | FindDTM(FS.Item, X, Y, MIX1, MIY1, MIX2, MIY2); | |
| 3214 | MMouse(X, Y, 0, 0); | |
| 3215 | if WaitUptextMulti(FS.Uptext, 500) then | |
| 3216 | begin | |
| 3217 | ClickMouse2(MOUSE_LEFT); | |
| 3218 | Wait(500); | |
| 3219 | FreeDTM(Scrolls); | |
| 3220 | FreeDTM(FS.Item); | |
| 3221 | Exit; | |
| 3222 | end; | |
| 3223 | end; | |
| 3224 | end else | |
| 3225 | break; | |
| 3226 | if ((Not FindDTM(FS.Item, X, Y, MIX1, MIY1, MIX2, MIY2)) or (Not FindDTM(Scrolls, X, Y, MIX1, MIY1, MIX2, MIY2))) then | |
| 3227 | begin | |
| 3228 | MMouse(660, 188, 10, 10); | |
| 3229 | ClickMouse2(MOUSE_LEFT); | |
| 3230 | Break; | |
| 3231 | end; | |
| 3232 | Until((HPLevel > WTE) or (FindDTMs(FS.Item, TPA, MIX1, MIY1, MIX2, MIY2) = False) or (FindDTM(FS.Item, X, Y, MIX1, MIY1, MIX2, MIY2) = False)); | |
| 3233 | FreeDTM(Scrolls); | |
| 3234 | end; | |
| 3235 | else | |
| 3236 | try | |
| 3237 | if FindDTM(FS.Item, X, Y, MIX1, MIY1, MIX2, MIY2) then | |
| 3238 | repeat | |
| 3239 | FindDTM(FS.Item, X, Y, MIX1, MIY1, MIX2, MIY2); | |
| 3240 | FindDTMs(FS.Item, TPA, MIX1, MIY1, MIX2, MIY2); | |
| 3241 | MMouse(X, Y, 5, 5); | |
| 3242 | WaitUptextMulti(['at', 'eat', 'Eat'], 500); | |
| 3243 | ClickMouse2(true); | |
| 3244 | wait(1000); | |
| 3245 | Until((HPLevel > WTE) or (FindDTMs(FS.Item, TPA, MIX1, MIY1, MIX2, MIY2) = False) or (FindDTM(FS.Item, X, Y, MIX1, MIY1, MIX2, MIY2) = False)); | |
| 3246 | except | |
| 3247 | SaveMe:= True; | |
| 3248 | end; | |
| 3249 | end; | |
| 3250 | ||
| 3251 | if (GetCurrentTab <> Tab_Inv) then | |
| 3252 | GameTab(Tab_Inv); | |
| 3253 | try | |
| 3254 | if((HPLevel <= WTE) and (Not FindDTM(FS.Item, X, Y, MIX1, MIY1, MIX2, MIY2)) and (QP = False)) then | |
| 3255 | begin | |
| 3256 | writeln('~HealPlayer~ HPLevel: ' + ToStr(HPLevel));
| |
| 3257 | end else | |
| 3258 | if (HPLevel < 400) then | |
| 3259 | begin | |
| 3260 | writeln('~EMERGENCY~ HPLevel: ' + ToStr(HPLevel) + ' Is Too Low');
| |
| 3261 | SaveMe:= True; | |
| 3262 | end; | |
| 3263 | ||
| 3264 | FreeDTM(FS.Item); | |
| 3265 | except | |
| 3266 | SaveMe:= True; | |
| 3267 | end; | |
| 3268 | end; | |
| 3269 | end; | |
| 3270 | end; | |
| 3271 | ||
| 3272 | Procedure FightZombies; | |
| 3273 | begin | |
| 3274 | LProc:= 'FightZombies'; | |
| 3275 | if AtHartwin then | |
| 3276 | exit; | |
| 3277 | ||
| 3278 | GameTab(Tab_Inv); | |
| 3279 | while (InFight) do | |
| 3280 | begin | |
| 3281 | wait(50); | |
| 3282 | if PickItems then | |
| 3283 | PickUpItems(Players[CurrentPlayer].Strings); | |
| 3284 | RefillPrayer; | |
| 3285 | HealPlayer(Food); | |
| 3286 | ||
| 3287 | if ((IsPrayerOn = False) and (PrayerLevel > WTP)) then | |
| 3288 | TurnPrayerOn(QP); | |
| 3289 | end; | |
| 3290 | ||
| 3291 | if (not InFight) then | |
| 3292 | begin | |
| 3293 | if PickItems then | |
| 3294 | PickUpItems(Players[CurrentPlayer].Strings); | |
| 3295 | RefillPrayer; | |
| 3296 | HealPlayer(Food); | |
| 3297 | ||
| 3298 | if ((IsPrayerOn = False) and (PrayerLevel > WTP)) then | |
| 3299 | TurnPrayerOn(QP); | |
| 3300 | AttackZombies; | |
| 3301 | end; | |
| 3302 | end; | |
| 3303 | ||
| 3304 | procedure RunAwayEx(dir: variant; RunFar: Boolean; Action, WaitTime: Integer); | |
| 3305 | var | |
| 3306 | Rad, T: Integer; | |
| 3307 | Deg: extended; | |
| 3308 | begin | |
| 3309 | if (not LoggedIn) then exit; | |
| 3310 | ||
| 3311 | if RunFar then | |
| 3312 | Rad := 63 | |
| 3313 | else | |
| 3314 | Rad := 30; | |
| 3315 | Deg := variantToDirection(dir); | |
| 3316 | ||
| 3317 | if (Action < 3) then | |
| 3318 | begin | |
| 3319 | //SetRun(True); | |
| 3320 | MFNF(Trunc(Rad * Sin(Radians(FixD(Rs_GetCompassAngleDegrees + Deg))) + MMCX + Random(5)), | |
| 3321 | Trunc(-Rad * Cos(Radians(FixD(Rs_GetCompassAngleDegrees + Deg))) + MMCY + Random(5)), 1, 1); | |
| 3322 | FFlag(0); | |
| 3323 | Wait(500 + Random(1500)); | |
| 3324 | t := GetSystemTime; | |
| 3325 | while ((GetSystemTime - t) < WaitTime) and (LoggedIn) do | |
| 3326 | if (Random(5) = 0) then | |
| 3327 | IdleTime(2000, 500, 1.0) | |
| 3328 | else | |
| 3329 | Wait((WaitTime - (GetSystemTime - t)) div 5); | |
| 3330 | end; | |
| 3331 | ||
| 3332 | if (Action = 1) or (Action = 3) then | |
| 3333 | begin | |
| 3334 | MFNF(Trunc(Rad * Sin(Radians(FixD(Rs_GetCompassAngleDegrees + (Deg + 180)))) + MMCX - Random(5)), | |
| 3335 | Trunc(-Rad * Cos(Radians(FixD(Rs_GetCompassAngleDegrees + (Deg + 180)))) + MMCY - Random(5)), 1, 1); | |
| 3336 | FFlag(0); | |
| 3337 | Wait(500 + Random(1500)); | |
| 3338 | end; | |
| 3339 | ||
| 3340 | //SetRun(False); | |
| 3341 | end; | |
| 3342 | ||
| 3343 | Function DownTheHall: Boolean; | |
| 3344 | var | |
| 3345 | X, Y, Dist: Integer; | |
| 3346 | begin | |
| 3347 | LProc:= 'DownTheHall'; | |
| 3348 | if (FoundSymbol(1, X, Y, Dist) or FoundSymbol(2, X, Y, Dist) or AtHartwin or FindLadder) then | |
| 3349 | exit | |
| 3350 | else | |
| 3351 | begin | |
| 3352 | ClickNorth(SRL_ANGLE_HIGH); | |
| 3353 | RunAwayEx('E', True, 2, 5000);
| |
| 3354 | RunAwayEx('S', True, 2, 5000);
| |
| 3355 | Wait(1000); | |
| 3356 | MakeCompass('W');
| |
| 3357 | end; | |
| 3358 | ||
| 3359 | Result:= FoundSymbol(1, X, Y, Dist) or FoundSymbol(2, X, Y, Dist) or AtHartwin or FindLadder; | |
| 3360 | SOS; | |
| 3361 | end; | |
| 3362 | ||
| 3363 | Procedure MainLoop; | |
| 3364 | var | |
| 3365 | X, Y, Dist: Integer; | |
| 3366 | begin | |
| 3367 | SOS; | |
| 3368 | TalkHartwin; | |
| 3369 | SOS; | |
| 3370 | FightZombies; | |
| 3371 | if (Not FindLadder) then | |
| 3372 | DownTheHall; | |
| 3373 | RefillPrayer; | |
| 3374 | if Paint then | |
| 3375 | paintReport; | |
| 3376 | printReport; | |
| 3377 | SOS; | |
| 3378 | if((IsPrayerOn = False) and (PrayerLevel > WTP)) then | |
| 3379 | TurnPrayerOn(QP); | |
| 3380 | FightZombies; | |
| 3381 | SOS; | |
| 3382 | HealPlayer(Food); | |
| 3383 | if (Not FindLadder) then | |
| 3384 | DownTheHall; | |
| 3385 | FightZombies; | |
| 3386 | if Paint then | |
| 3387 | paintReport; | |
| 3388 | printReport; | |
| 3389 | SOS; | |
| 3390 | if(FoundSymbol(1, X, Y, Dist) and (PrayerLevel > WTP)) then | |
| 3391 | DownLadder; | |
| 3392 | SOS; | |
| 3393 | FightZombies; | |
| 3394 | if (Not FindLadder) then | |
| 3395 | DownTheHall; | |
| 3396 | if ((TimeFromMark(TimeToDrink) > 60000) or (TimeFromMark(TimeToDrink) < 1)) then | |
| 3397 | begin | |
| 3398 | DrinkPotion(Potion); | |
| 3399 | TimeToDrink:= 0; | |
| 3400 | MarkTime(TimeToDrink); | |
| 3401 | end; | |
| 3402 | if Paint then | |
| 3403 | paintReport; | |
| 3404 | printReport; | |
| 3405 | SummoningRenew(WhichFamiliar); | |
| 3406 | end; | |
| 3407 | ||
| 3408 | begin | |
| 3409 | LoadInfo; | |
| 3410 | if (Permanent = False) then | |
| 3411 | begin | |
| 3412 | SafeInitForm; | |
| 3413 | SafeShowFormModal; | |
| 3414 | end; | |
| 3415 | InitializeVariables; | |
| 3416 | Smart_Server := 72; | |
| 3417 | Smart_Members := True; | |
| 3418 | Smart_Signed := True; | |
| 3419 | Smart_SuperDetail := False; | |
| 3420 | ||
| 3421 | SetupSRL; | |
| 3422 | DeclarePlayers; | |
| 3423 | LoginPlayer; | |
| 3424 | cleardebug; | |
| 3425 | SetAngle(SRL_ANGLE_HIGH); | |
| 3426 | AddOnTerminate('LastRun');
| |
| 3427 | ||
| 3428 | SStatus:= 'Running'; | |
| 3429 | StartExperience:= 0; | |
| 3430 | RCTS:= GetColorToleranceSpeed; | |
| 3431 | ToggleXPBar(True); | |
| 3432 | StartExperience:= GetXPBarTotal; | |
| 3433 | SmartSetDebug(Paint); | |
| 3434 | Smart_ClearCanvas; | |
| 3435 | ||
| 3436 | MouseBox(MSX1, MSY1, MSX2, MSY2, 3); | |
| 3437 | InitialSkills; | |
| 3438 | PotSkills; | |
| 3439 | DrinkPotion(Potion); | |
| 3440 | HealPlayer(Food); | |
| 3441 | LoadDTMs; | |
| 3442 | AddOnTerminate('FreeLoadedDTMs');
| |
| 3443 | ||
| 3444 | repeat | |
| 3445 | MainLoop; | |
| 3446 | if ((Not LoggedIn) and (Not SaveMe)) then | |
| 3447 | LoginPlayer; | |
| 3448 | until(false); | |
| 3449 | end. |