• ; VERY important routines.  Ran many many times.
  • ; Orientation routines.  Any of these will turn you towards the enemy.
  • ; Almost always count subclicks coming here.
  •  
  • err_ 1:  -- 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 value #enemy_x <= #x_pos then assign vt turn left   -- explain
  • if value #enemy_x >= #x_pos then assign vt turn right   -- explain
  • ~vt  -- explain
  • if value #cloakstatus = 0 then if value #enemy_x <> 0 then if value #inbound <> 2 then if value #inbound <> 4 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
  • if value #enemy_y = 0 then if value #enemy_x = 0 then goto ecloaked  -- explain
  • scan perimeter  -- explain
  • if scan found enemy then goto 2
  • cloak off  -- explain
  • if value #inbound <> 2 then if value #inbound <> 4 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
  •  
  • err_ 2:  -- 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 value #enemy_y <= #y_pos then assign vt turn left   -- explain
  • if value #enemy_y >= #y_pos then assign vt turn right   -- explain
  • ~vt  -- explain
  • if value #cloakstatus = 0 then if value #enemy_x <> 0 then if value #inbound <> 1 then if value #inbound <> 3 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
  • if value #enemy_y = 0 then if value #enemy_x = 0 then goto ecloaked  -- explain
  • scan perimeter  -- explain
  • if scan found enemy then goto 2
  • cloak off  -- explain
  • if value #inbound <> 1 then if value #inbound <> 3 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
  •  
  • err_ 3:  -- 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 value #enemy_x >= #x_pos then assign vt turn left   -- explain
  • if value #enemy_x <= #x_pos then assign vt turn right   -- explain
  • ~vt  -- explain
  • if value #cloakstatus = 0 then if value #enemy_x <> 0 then if value #inbound <> 2 then if value #inbound <> 4 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
  • if value #enemy_y = 0 then if value #enemy_x = 0 then goto ecloaked  -- explain
  • scan perimeter  -- explain
  • if scan found enemy then goto 2
  • cloak off  -- explain
  • if value #inbound <> 2 then if value #inbound <> 4 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
  •  
  • err_ 4:  -- 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 value #enemy_y >= #y_pos then assign vt turn left   -- explain
  • if value #enemy_y <= #y_pos then assign vt turn right   -- explain
  • ~vt  -- explain
  • if value #cloakstatus = 0 then if value #enemy_x <> 0 then if value #inbound <> 1 then if value #inbound <> 3 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
  • if value #enemy_y = 0 then if value #enemy_x = 0 then goto ecloaked  -- explain
  • scan perimeter  -- explain
  • if scan found enemy then goto 2
  • cloak off  -- explain
  • if value #inbound <> 1 then if value #inbound <> 3 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

  •  
    ....Continue to next section of code