; 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