#config weapon=4 #config armor=2 #config scanner=3 #config engine=2 #config heatsinks=1 #def arm #def trg mov ax 1 int 3 int 2 mov ex 0 mov fx fx int 7 sub ax @1 opo 14 ax ipo 6 arm !start opo 11 90 opo 17 64 ipo 7 ax cmp ax 2000 jb !scan opo 12 128 ipo 6 ax cmp ax arm jb !flip ipo 1 ax cmp ax 0 je !flip ja !start !flip opo 11 0 opo 14 64 opo 13 64 mov arm ax !q ipo 3 ax cmp ax @1 jne !q opo 11 70 je !start jne !start !scan ipo 8 bx shl bx 5 opo 12 bx opo 17 16 ipo 7 ax cmp ax 2000 ja !start ipo 8 bx shl bx 3 opo 12 bx opo 17 6 ipo 7 ax cmp ax 2000 ja !start ipo 8 bx shl bx 1 opo 12 bx opo 17 3 !fire ipo 6 ax cmp ax arm jb !flip2 opo 18 0 ipo 7 ax cmp ax 2000 ja !start call !accurate !shoot opo 12 @3 ipo 1 fx cmp fx 0 je !flip2 opo 11 100 cmp @6 128 je !megabolt cmp @6 0 je !megabolt cmp @7 0 je !megabolt cmp ax 200 jb !near cmp ax 500 ja !far opo 12 @3 ipo 2 ax cmp ax 200 jae !fire opo 15 trg opo 15 trg je !fire jne !fire !near opo 12 @3 ipo 2 ax cmp ax 200 jae !fire ipo 1 ax cmp ax 0 je !flip2 opo 18 1 mov ax @6 mpy ax @3 opo 15 ax opo 15 ax opo 14 @2 opo 14 64 opo 18 0 je !fire jne !fire !far opo 12 @3 ipo 2 ax cmp ax 200 jae !fire opo 15 trg opo 15 trg opo 14 @2 ipo 1 ax cmp ax 0 je !flip2 ipo 7 ax cmp ax 2000 ja !start cmp ax 200 jb !near cmp ax 500 ja !far je !fire jne !fire !flip2 opo 11 0 opo 14 64 mov arm ax !q2 ipo 3 ax cmp ax @1 jne !q2 opo 11 100 je !fire jne !fire !megabolt ipo 2 ax cmp ax 40 jae !fire opo 11 0 ipo 8 bx opo 12 bx ipo 7 ax cmp ax 1000 ja !start cmp @3 0 jne !megabolt opo 17 0 ipo 7 ax cmp ax 1000 ja !start opo 18 1 opo 15 opo 15 opo 15 opo 18 0 opo 15 opo 15 opo 15 opo 18 1 opo 15 opo 15 opo 18 0 opo 15 opo 15 jmp !start !accurate cmp @6 8 jb !8 ;0 cmp @6 16 jb !16 ;1 cmp @6 32 jb !32 ;2 cmp @6 48 jb !48 ;3 cmp @6 64 jb !64 ;4 cmp @6 80 jb !72 ;3 cmp @6 96 jb !96 ;2 cmp @6 112 jb !112 ;1 cmp @6 128 jb !128 ;0 cmp @6 144 jb !144 ;-1 cmp @6 160 jb !160 ;-2 cmp @6 176 jb !176 ;-3 cmp @6 192 jb !192 ;-4 cmp @6 208 jb !208 ;-3 cmp @6 224 jb !224 ;-2 cmp @6 240 jb !240 ;-1 cmp @6 255 jb !255 ;-0 !8 mov trg 1 je !shoot jne !shoot !16 mov trg 2 je !shoot jne !shoot !32 mov trg 3 je !shoot jne !shoot !48 mov trg 4 je !shoot jne !shoot !64 mov trg 4 je !shoot jne !shoot !72 mov trg 4 je !shoot jne !shoot !96 mov trg 3 je !shoot jne !shoot !112 mov trg 2 je !shoot jne !shoot !128 mov trg 1 je !shoot jne !shoot !144 mov trg -1 je !shoot jne !shoot !160 mov trg -2 je !shoot jne !shoot !176 mov trg -3 je !shoot jne !shoot !192 mov trg -4 je !shoot jne !shoot !208 mov trg -4 je !shoot jne !shoot !224 mov trg -3 je !shoot jne !shoot !240 mov trg -2 je !shoot jne !shoot !255 mov trg -1 je !shoot jne !shoot