#config armor=2 ; consumes 2 points #config scanner=3 ; gives us 5 points #config engine=3 ; gives us 2 points #config heatsinks=1 ; gives us 1 point #config mines=0 ; consumes 5 points #config weapon=3 ; gives us 2 points #config shield=0 ; consumes 3 points #def axnd opo 11, 100 opo 22, 12 opo 22, 12 mov ax, 1 int 3 !64-nt opo 12, 128 je 64 jne 64 :64 call !heat call !m1 opo 17, 64 ipo 7, bx cmp bx, 2000 jgr !64-nt mov fx, @3 shl fx, 5 opo 12, fx opo 15 :16 call !m1 opo 17, 16 ipo 7, bx cmp bx, 2000 jgr 64 mov fx, @3 shl fx, 3 opo 12, fx opo 15 :8 call !m1 opo 17, 8 ipo 7, bx cmp bx, 2000 jgr 16 mov fx, @3 shl fx, 2 opo 12, fx opo 15 :4 call !m1 opo 17, 4 ipo 7, bx cmp bx, 2000 jgr 8 mov fx, @3 shl fx, 1 opo 12, fx opo 15 :2 call !m1 opo 17, 2 ipo 7, bx cmp bx, 2000 jgr 4 cmp @7, 10 jls !FIRE call !heat2 opo 15, @3 opo 15, @3 opo 12, @3 opo 18, 0 call !heat je 4 jne 4 !FIRE opo 15, @3 opo 15, @3 opo 15, @3 opo 15, @3 opo 15, @3 opo 15, @3 opo 15, @3 je 4 jne 4 !heat call !m1 opo 18, 0 ipo 2, ax cmp ax, 180 jgr !heat ret !heat2 ipo 2, ax cmp ax, 150 jgr !heat-2big opo 18, 1 !heat-2big ret !m1 !move opo 11, 100 int 2 cmp ex, 100 jls !mleft cmp ex, 900 jgr !mright cmp fx, 100 jls !mup cmp fx, 900 jgr !mdown je !mclear jne !mclear !mleft ipo 3, ax mov bx, 64 sub bx, ax opo 14, bx ret !mright ipo 3, ax mov bx, 192 sub bx, ax opo 14, bx opo 11, 100 ret !mdown ipo 3, ax mov bx, 0 sub bx, ax opo 14, bx opo 11, 100 ret !mup ipo 3, ax mov bx, 128 sub bx, ax opo 14, bx opo 11, 100 ret !mclear opo 11, 100 ipo 7, ax mov axnd, @3 shl axnd, 3 add ax, axnd opo 14, ax ret