• ; The main navigation routines!!!
  •  
  • start_ 1:  -- explain
  • scan perimeter  -- explain
  • if value #scan <> 0 then if value #scan <> 1 then if value #scan <> 4 then goto #scan  -- explain
  •  
  • ; Check and see if you are in attack or grenade position.
  •  
  • math v1 = #y_pos - #enemy_y - 1
  • if value #cur_ammo >= 5 then if value #cur_fuel >= 200 then if value ~v1 <> 0 then if value ~v1 <= 7 then cmath v1 = 0-ABS(#x_pos - #enemy_x)  -- explain
  • if value #enemy_y <= #y_pos then if value #enemy_x <> #x_pos then if value #enemy_y <> #y_pos then goto closechk_ ~v1 #cur_head  -- explain
  •  
  • ; Move!
  •  
  • if value #enemy_y <= #y_pos then move forward  -- explain
  •  
  • ; Notice all the inverted if checks on the goto statement.
  • ; This is one of the best ways to speed up your code.
  •  
  • if shield is down then if value #cloakstatus = 0 then if value ~h1 <> 1 then if value #enemy_y <= #y_pos then if value #enemy_y <> #y_pos then if value #x_pos <> #enemy_x then if value #cur_fuel > 75 then if value #inbound = 0 then if damage is = 0 then if not bump barrier then goto start_ #cur_head  -- explain
  •  
  • ; The 3 most basic and often checked conditions.
  • ; Always try to count the subclicks when calling these.
  •  
  • if value #x_pos = #enemy_x then goto same_x_ #cur_head  -- explain
  • if value #y_pos = #enemy_y then goto same_y_ #cur_head  -- explain
  • if value #inbound >= 1 then goto locked_ #cur_head #inbound  -- explain
  • if value #cloakstatus = 0 then if bump barrier then goto barrier  -- explain
  •  
  • ; Old, old p-scan formula, with a Leo check added on.
  •  
  • math vp = #y_pos - #enemy_y
  • math vo = #x_pos - #enemy_x
  • if value ~vp >= -1 then if value ~vp <= 1 then if value ~vo >= -1 then if value ~vo <= 1 then if value #enemy_x <> 0 then if value ~v9 = ~v9 then goto 2  -- explain
  • if value #enemy_h <> #cur_head then if value ~vp >= 3 then if value ~vp <= 4 then if value ~vo <= 1 then if value ~vo >= -1 then if value #cur_life >= 7 then gosub leo  -- explain
  •  
  • ; Fix ourselves up.
  •  
  • if damage is > 0 then attempt repairs
  •  
  • ; Tons of inverse checks again.
  •  
  • if shield is down then if value #cloakstatus = 0 then if value #enemy_y < #y_pos then if value ~h1 <> 1 then if value #cur_fuel > 75 then if value #enemy_y <> #y_pos then if value #x_pos <> #enemy_x then if value #inbound = 0 then goto start_ #cur_head  -- explain
  •  
  • ; Go through the basics, again!
  •  
  • if value #x_pos = #enemy_x then goto same_x_ #cur_head  -- explain
  • if value #y_pos = #enemy_y then goto same_y_ #cur_head  -- explain
  • if value #inbound >= 1 then goto locked_ #cur_head #inbound  -- explain
  •  
  • ; The seldom used thus neglected down the chain of checks.
  •  
  • if value #enemy_y > #y_pos then gosub err_ #cur_head  -- explain
  • if value #cur_fuel <= 75 then goto lowfuel
  • if value ~h1 = 1 then goto stopper  -- explain
  • math v1 = #x_pos - #enemy_x - #enemy_x * #x_pos / #enemy_x + #enemy_x * #enemy_x / #y_pos + #y_pos - #enemy_y - #enemy_y * #y_pos / #enemy_y + #enemy_y * #enemy_y  -- explain
  • if value ~v1 < 3 then if value #enemy_x <> 0 then if value ~v9 = ~v9 then goto 2 -- explain
  • if shield is up then lower shield
  • if value #cloakstatus = 1 then cloak off -- explain
  • if value #inbound = 0 then if value #enemy_x <> #x_pos then if value #enemy_y <> #y_pos then goto start_ #cur_head  -- explain
  • if value #enemy_y <> #y_pos then if value #x_pos = #enemy_x then goto same_x_ #cur_head  -- explain
  • if value #enemy_x <> #x_pos then if value #y_pos = #enemy_y then goto same_y_ #cur_head  -- explain
  • if value #inbound >= 1 then goto locked_ #cur_head #inbound  -- explain
  •  
  • ; In memory of the bug, I leave it in here, though it never runs now.
  •  
  • leo:  -- explain
  • move backward
  • assign vb 3
  • goto looptyi  -- explain
  •  
  • start_ 2:  -- explain
  • scan perimeter  -- explain
  • if value #scan <> 0 then if value #scan <> 1 then if value #scan <> 4 then goto #scan  -- explain
  • math v1 = #enemy_x - #x_pos - 1
  • if value #cur_ammo >= 5 then if value #cur_fuel >= 200 then if value ~v1 <> 0 then if value ~v1 <= 7 then cmath v1 = 0-ABS(#y_pos - #enemy_y)  -- explain
  • if value #enemy_x >= #x_pos then if value #enemy_x <> #x_pos then if value #enemy_y <> #y_pos then goto closechk_ ~v1 #cur_head  -- explain
  • if value #enemy_x >= #x_pos then move forward  -- explain
  • if shield is down then if value #cloakstatus = 0 then if value ~h1 <> 1 then if value #enemy_x >= #x_pos then if value #enemy_y <> #y_pos then if value #x_pos <> #enemy_x then if value #cur_fuel > 75 then if value #inbound = 0 then if damage is = 0 then if not bump barrier then goto start_ #cur_head  -- explain
  • if value #x_pos = #enemy_x then goto same_x_ #cur_head  -- explain
  • if value #y_pos = #enemy_y then goto same_y_ #cur_head  -- explain
  • if value #inbound >= 1 then goto locked_ #cur_head #inbound  -- explain
  • if value #cloakstatus = 0 then if bump barrier then goto barrier  -- explain
  • math vp = #enemy_x - #x_pos
  • math vo = #y_pos - #enemy_y
  • if value ~vp >= -1 then if value ~vp <= 1 then if value ~vo >= -1 then if value ~vo <= 1 then if value #enemy_x <> 0 then if value ~v9 = ~v9 then goto 2  -- explain
  • if value #enemy_h <> #cur_head then if value ~vp >= 3 then if value ~vp <= 4 then if value ~vo <= 1 then if value ~vo >= -1 then if value #cur_life >= 7 then gosub leo  -- explain
  • if damage is > 0 then attempt repairs
  • if shield is down then if value #cloakstatus = 0 then if value #enemy_x > #x_pos then if value ~h1 <> 1 then if value #cur_fuel > 75 then if value #enemy_y <> #y_pos then if value #x_pos <> #enemy_x then if value #inbound = 0 then goto start_ #cur_head  -- explain
  • if value #x_pos = #enemy_x then goto same_x_ #cur_head  -- explain
  • if value #y_pos = #enemy_y then goto same_y_ #cur_head  -- explain
  • if value #inbound >= 1 then goto locked_ #cur_head #inbound  -- explain
  • if value #enemy_x < #x_pos then gosub err_ #cur_head  -- explain
  • if value #cur_fuel <= 75 then goto lowfuel
  • if value ~h1 = 1 then goto stopper  -- explain
  • math v1 = #x_pos - #enemy_x - #enemy_x * #x_pos / #enemy_x + #enemy_x * #enemy_x / #y_pos + #y_pos - #enemy_y - #enemy_y * #y_pos / #enemy_y + #enemy_y * #enemy_y  -- explain
  • if value ~v1 < 3 then if value #enemy_x <> 0 then if value ~v9 = ~v9 then goto 2 -- explain
  • if shield is up then lower shield
  • if value #cloakstatus = 1 then cloak off  -- explain
  • if value #inbound = 0 then if value #enemy_x <> #x_pos then if value #enemy_y <> #y_pos then goto start_ #cur_head  -- explain
  • if value #enemy_y <> #y_pos then if value #x_pos = #enemy_x then goto same_x_ #cur_head  -- explain
  • if value #enemy_x <> #x_pos then if value #y_pos = #enemy_y then goto same_y_ #cur_head  -- explain
  • if value #inbound >= 1 then goto locked_ #cur_head #inbound  -- explain
  •  
  • start_ 3:  -- explain
  • scan perimeter  -- explain
  • if value #scan <> 0 then if value #scan <> 1 then if value #scan <> 4 then goto #scan  -- explain
  • math v1 = #enemy_y - #y_pos - 1
  • if value #cur_ammo >= 5 then if value #cur_fuel >= 200 then if value ~v1 <> 0 then if value ~v1 <= 7 then cmath v1 = 0-ABS(#x_pos - #enemy_x)  -- explain
  • if value #enemy_y >= #y_pos then if value #enemy_x <> #x_pos then if value #enemy_y <> #y_pos then goto closechk_ ~v1 #cur_head  -- explain
  • if value #enemy_y >= #y_pos then move forward  -- explain
  • if shield is down then if value #cloakstatus = 0 then if value ~h1 <> 1 then if value #enemy_y >= #y_pos then if value #enemy_y <> #y_pos then if value #x_pos <> #enemy_x then if value #cur_fuel > 75 then if value #inbound = 0 then if damage is = 0 then if not bump barrier then goto start_ #cur_head  -- explain
  • if value #x_pos = #enemy_x then goto same_x_ #cur_head  -- explain
  • if value #y_pos = #enemy_y then goto same_y_ #cur_head  -- explain
  • if value #inbound >= 1 then goto locked_ #cur_head #inbound  -- explain
  • if value #cloakstatus = 0 then if bump barrier then goto barrier  -- explain
  • math vp = #enemy_y - #y_pos
  • math vo = #x_pos - #enemy_x
  • if value ~vp >= -1 then if value ~vp <= 1 then if value ~vo >= -1 then if value ~vo <= 1 then if value #enemy_x <> 0 then if value ~v9 = ~v9 then goto 2  -- explain
  • if value #enemy_h <> #cur_head then if value ~vp >= 3 then if value ~vp <= 4 then if value ~vo <= 1 then if value ~vo >= -1 then if value #cur_life >= 7 then gosub leo  -- explain
  • if damage is > 0 then attempt repairs
  • if shield is down then if value #cloakstatus = 0 then if value #enemy_y > #y_pos then if value ~h1 <> 1 then if value #cur_fuel > 75 then if value #enemy_y <> #y_pos then if value #x_pos <> #enemy_x then if value #inbound = 0 then goto start_ #cur_head  -- explain
  • if value #x_pos = #enemy_x then goto same_x_ #cur_head  -- explain
  • if value #y_pos = #enemy_y then goto same_y_ #cur_head  -- explain
  • if value #inbound >= 1 then goto locked_ #cur_head #inbound  -- explain
  • if value #enemy_y < #y_pos then gosub err_ #cur_head  -- explain
  • if value #cur_fuel <= 75 then goto lowfuel
  • if value ~h1 = 1 then goto stopper  -- explain
  • math v1 = #x_pos - #enemy_x - #enemy_x * #x_pos / #enemy_x + #enemy_x * #enemy_x / #y_pos + #y_pos - #enemy_y - #enemy_y * #y_pos / #enemy_y + #enemy_y * #enemy_y  -- explain
  • if value ~v1 < 3 then if value #enemy_x <> 0 then if value ~v9 = ~v9 then goto 2 -- explain
  • if shield is up then lower shield
  • if value #cloakstatus = 1 then cloak off  -- explain
  • if value #inbound = 0 then if value #enemy_x <> #x_pos then if value #enemy_y <> #y_pos then goto start_ #cur_head  -- explain
  • if value #enemy_y <> #y_pos then if value #x_pos = #enemy_x then goto same_x_ #cur_head  -- explain
  • if value #enemy_x <> #x_pos then if value #y_pos = #enemy_y then goto same_y_ #cur_head  -- explain
  • if value #inbound >= 1 then goto locked_ #cur_head #inbound  -- explain
  •  
  • start_ 4:  -- explain
  • scan perimeter  -- explain
  • if value #scan <> 0 then if value #scan <> 1 then if value #scan <> 4 then goto #scan  -- explain
  • math v1 = #x_pos - #enemy_x - 1
  • if value #cur_ammo >= 5 then if value #cur_fuel >= 200 then if value ~v1 <> 0 then if value ~v1 <= 7 then cmath v1 = 0-ABS(#y_pos - #enemy_y)  -- explain
  • if value #enemy_x <= #x_pos then if value #enemy_x <> #x_pos then if value #enemy_y <> #y_pos then goto closechk_ ~v1 #cur_head  -- explain
  • if value #enemy_x <= #x_pos then move forward  -- explain
  • if shield is down then if value #cloakstatus = 0 then if value ~h1 <> 1 then if value #enemy_x <= #x_pos then if value #enemy_y <> #y_pos then if value #x_pos <> #enemy_x then if value #cur_fuel > 75 then if value #inbound = 0 then if damage is = 0 then if not bump barrier then goto start_ #cur_head  -- explain
  • if value #x_pos = #enemy_x then goto same_x_ #cur_head  -- explain
  • if value #y_pos = #enemy_y then goto same_y_ #cur_head  -- explain
  • if value #inbound >= 1 then goto locked_ #cur_head #inbound  -- explain
  • if value #cloakstatus = 0 then if bump barrier then goto barrier  -- explain
  • math vp = #x_pos - #enemy_x
  • math vo = #y_pos - #enemy_y
  • if value ~vp >= -1 then if value ~vp <= 1 then if value ~vo >= -1 then if value ~vo <= 1 then if value #enemy_x <> 0 then if value ~v9 = ~v9 then goto 2  -- explain
  • if value #enemy_h <> #cur_head then if value ~vp >= 3 then if value ~vp <= 4 then if value ~vo <= 1 then if value ~vo >= -1 then if value #cur_life >= 7 then gosub leo  -- explain
  • if damage is > 0 then attempt repairs
  • if shield is down then if value #cloakstatus = 0 then if value #enemy_x < #x_pos then if value ~h1 <> 1 then if value #cur_fuel > 75 then if value #enemy_y <> #y_pos then if value #x_pos <> #enemy_x then if value #inbound = 0 then goto start_ #cur_head  -- explain
  • if value #x_pos = #enemy_x then goto same_x_ #cur_head  -- explain
  • if value #y_pos = #enemy_y then goto same_y_ #cur_head  -- explain
  • if value #inbound >= 1 then goto locked_ #cur_head #inbound  -- explain
  • if value #enemy_x > #x_pos then gosub err_ #cur_head  -- explain
  • if value #cur_fuel <= 75 then goto lowfuel
  • if value ~h1 = 1 then goto stopper  -- explain
  • math v1 = #x_pos - #enemy_x - #enemy_x * #x_pos / #enemy_x + #enemy_x * #enemy_x / #y_pos + #y_pos - #enemy_y - #enemy_y * #y_pos / #enemy_y + #enemy_y * #enemy_y  -- explain
  • if value ~v1 < 3 then if value #enemy_x <> 0 then if value ~v9 = ~v9 then goto 2 -- explain
  • if shield is up then lower shield
  • if value #cloakstatus = 1 then cloak off  -- explain
  • if value #inbound = 0 then if value #enemy_x <> #x_pos then if value #enemy_y <> #y_pos then goto start_ #cur_head  -- explain
  • if value #enemy_y <> #y_pos then if value #x_pos = #enemy_x then goto same_x_ #cur_head  -- explain
  • if value #enemy_x <> #x_pos then if value #y_pos = #enemy_y then goto same_y_ #cur_head  -- explain
  • if value #inbound >= 1 then goto locked_ #cur_head #inbound  -- explain