#def xxx #def speed #config armor=2 #config scanner=4 #config engine=2 #config heatsinks=1 #config weapon=3 int 3 opo 22, 12 opo 22, 12 !move ipo 1, bx cmp bx, 0 jeq !move2 opo 14, 2 jmp xxx !move2 cmp speed, -74 jeq !move3 mov speed, -74 opo 11, -74 opo 14, 2 jmp xxx !move3 mov speed, 100 opo 11, 100 opo 14, 2 jmp xxx ;######### scan arc if 64 #########; !s64-1 :64 mov xxx, 64 opo 17, 64 ipo 7, ax cmp ax, 1500 jgr !s64-2 cmp @3, 0 jgr !s64-> jls !s64-< opo 17, 16 jmp 16 !s64-2 opo 12, 128 jmp !move !s64-> cmp @3, 2 jeq !s64->2 opo 12, 32 opo 17, 16 jmp 16 !s64->2 opo 12, 64 opo 17, 16 jmp 16 !s64-< cmp @3, -2 jeq !s64-<-2 opo 12, -32 opo 17, 16 jmp 16 !s64-<-2 opo 12, -64 opo 17, 16 jmp 16 ;######### scan arc if 16 #########; :16 mov xxx, 64 opo 17, 16 ipo 7, ax cmp ax, 1500 jgr !move cmp @3, 0 jgr !s16-> jls !s16-< opo 17, 4 jmp 4 !s16-> cmp @3, 2 jeq !s16->2 opo 12, 8 opo 17, 4 jmp 4 !s16->2 opo 12, 16 opo 17, 4 jmp 4 !s16-< cmp @3, 2 jeq !s16->-2 opo 12, -8 opo 17, 4 jmp 4 !s16->-2 opo 12, -16 opo 17, 4 jmp 4 ;######### shooting #########; :4 mov xxx, 16 opo 17, 4 ipo 7, ax cmp ax, 1500 jgr !move ipo 2, fx cmp fx, 200 jgr !move cmp @7, 0 jeq !big-fire cmp fx, 75 jls !less :999 opo 15, @3 opo 15, @3 opo 18, 0 mov xxx, 2 jmp !move !less2 opo 18, 1 jmp 888 !less opo 18, 1 jmp 999 !big-fire cmp fx, 75 jls !less2 :888 opo 15, @3 opo 15, @3 opo 15, @3 opo 15, @3 opo 15, @3 opo 15, @3 opo 15, @3 opo 15, @3 opo 18, 0 mov xxx, 2 jmp !move :2 mov xxx, 4 opo 17, 4 ipo 7, ax cmp ax, 1500 jgr !move ipo 2, fx cmp fx, 200 jgr !move cmp @7, 0 jeq !big-fire2 cmp fx, 75 jls 777 :666 opo 15, @3 opo 15, @3 opo 18, 0 mov xxx, 4 jmp !move :777 opo 18, 1 jmp 666 :555 opo 18, 1 jmp 444 !big-fire2 cmp fx, 75 jls 555 :444 opo 15, @3 opo 15, @3 opo 15, @3 opo 15, @3 opo 15, @3 opo 15, @3 opo 15, @3 opo 15, @3 opo 18, 0 mov xxx, 4 jmp !move