;[ U L T I B O T v2.00]======================================================= ;============================================================================== ;Robot's name : Ultibot ;Author : (c) Olger Oeselg ;Author's Country : Estonia ;Author's E-mail : olger_o@hotmail.com ;Date of completion : 06/March/2001 ;Make avail. for public : ONLY LOCKed version!! ;Code : Over 300 lines! ;Class : Heavy Weight ;Tournament : Made for Heavy Weight tournaments. (No RUMBLE battls.) ;Version : v2.00 ;Comment : It is the outcome of two AT-R's: the incredible ; Spitfire and Follower, it has Follower's targeting ; system and other abilities from Spitfire. ;****************************************************************************** ;Targeting system : Good & Complex but Slow ;Firing system : Complex, also Slow ;Moving system : Look's Average, but it is Complex ;Killing ability : good enough to beat some of the best AT-R's ;Surviving ability : Not for rumble battles, too slow movement! ;****************************************************************************** ;Style: It moves around the battlefield and scans ; middle-area for enemies to shoot at. ;****************************************************************************** ;[[[ DON'T EXPECT ANY PERFECT SOLUTIONS ]]] ;****************************************************************************** ;This code is long and complex, good idea, not so good accomplishment ;****************************************************************************** ;****************************************************************************** ;[CONFIGURATION:] ;****************************************************************************** #config scanner=4 #config weapon=3 #config armor=2 #config engine=2 #config heatsinks=1 ;****************************************************************************** ;[DEFINITION:] ;****************************************************************************** #def scanrng #def scanrad #def vkaugus #def kuumus #def luger #def arc #def arcus #def ohtlik #def oht #def shootrng #def luger2 #def deviator #def agr #def agressive #def mode #def muutuja #def suund #def holdpos #def min #def max #def range #def heading #def check #def luggy ;****************************************************************************** #MSG ULTIBOT v2.00 ;****************************************************************************** ;[PROGRAM CODE:] ;****************************************************************************** ;[PRE AREA:] mov check 5 ;[how many clock-cycles before checking pos.] mov ax 1 int 3 mov min 300 mov max 700 ipo 3 ax neg ax opo 14 ax mov heading 0 mov scanrad 64 opo 17 scanrad mov scanrng 1001 mov vkaugus 120 mov luger 0 mov arc scanrad mov luggy 0 ;[PROGRAM AREA] :1200 jmp !checking :1225 opo 11 100 cmp arc 1 jbe 1250 jmp 1275 :1250 mov arc 2 :1275 shl arc 1 opo 17 arc opo 11 100 cmp arc scanrad jae 1300 jmp !scan :1300 mov arc scanrad add luger 128 and luger 255 opo 13 luger !scan inc luggy cmp luggy check opo 17 arc ipo 7 range cmp range scanrng jbe !pooramine2 jmp 1200 !checking mov luggy 0 int 2 cmp heading 0 je !check0 cmp heading 1 je !check1 cmp heading 2 je !check2 cmp heading 3 je !check3 jmp 1225 !check0 cmp fx min jbe !turn jmp 1225 !check1 cmp ex max jae !turn jmp 1225 !check2 cmp fx max jae !turn jmp 1225 !check3 cmp ex min jbe !turn jmp 1225 !turn add heading 1 opo 14 64 cmp heading 3 ja !null jmp 1225 !null mov heading 0 jmp 1225 ;new stage !scan2 inc luggy cmp luggy check opo 17 arc ipo 7 range !scan3 cmp @6 64 ja !scan31 mov muutuja @6 mov suund 1 jmp !scan4 !scan31 cmp @6 128 jbe !scan32 ja !scan33 !scan32 mov muutuja @6 sub muutuja 64 neg muutuja add muutuja 64 mov suund 1 jmp !scan4 !scan33 cmp @6 192 jbe !scan34 mov muutuja @6 sub muutuja 192 neg muutuja add muutuja 64 mov suund -1 jmp !scan4 !scan34 mov muutuja @6 sub muutuja 128 mov suund -1 !scan4 cmp range 750 jae !9 cmp range 504 jae !jag1 cmp range 360 jae !jag2 cmp range 216 jae !jag3 cmp range 75 jae !jag4 jb !23 jmp 1200 !jag1 cmp range 648 jae !10 cmp range 600 jae !11 cmp range 552 jae !12 cmp range 504 jae !13 !jag2 cmp range 456 jae !14 cmp range 408 jae !15 cmp range 360 jae !16 !jag3 cmp range 312 jae !17 cmp range 264 jae !18 cmp range 216 jae !19 !jag4 cmp range 168 jae !20 cmp range 120 jae !21 cmp range 75 jae !22 !pooramine2 mov bx arc mpy bx @3 sar bx 1 opo 12 bx shr arc 1 ipo 17 arcus cmp arcus 8 jbe !scan2 cmp arcus 16 jbe !heatseeker2 jmp !scan !9 mpy muutuja 0.380 cmp suund -1 je !101 jne !102 !10 mpy muutuja 0.352 cmp suund -1 je !101 jne !102 !11 mpy muutuja 0.344 cmp suund -1 je !101 jne !102 !12 mpy muutuja 0.336 cmp suund -1 je !101 jne !102 !13 mpy muutuja 0.328 cmp suund -1 je !101 jne !102 !14 mpy muutuja 0.32 cmp suund -1 je !101 jne !102 !15 mpy muutuja 0.312 cmp suund -1 je !101 jne !102 !16 mpy muutuja 0.304 cmp suund -1 je !101 jne !102 !17 mpy muutuja 0.296 cmp suund -1 je !101 jne !102 !18 mpy muutuja 0.288 cmp suund -1 je !101 jne !102 !19 mpy muutuja 0.28 cmp suund -1 je !101 jne !102 !20 mpy muutuja 0.272 cmp suund -1 je !101 jne !102 !21 mpy muutuja 0.264 cmp suund -1 je !101 jne !102 !22 mpy muutuja 0.256 cmp suund -1 je !101 jne !102 !101 neg muutuja !102 add muutuja @3 opo 12 muutuja jmp !heatseeker !23 mpy muutuja 0.24 cmp suund -1 je !101 jne !102 ;[[H E A T S E E K E R]] !heatseeker ipo 2 kuumus cmp kuumus 100 ja !scan opo 15 0 opo 15 0 jmp !scan !heatseeker2 ipo 17 arcus shr arcus 1 cmp @3 0 ja !turner2 jb !turner1 jmp !turnheat !turner1 neg arcus !turner2 opo 12 arcus !turnheat jmp !scan