; Missiles go faster if you don't waste any subclicks
while they are alive.
; Added this crazy long frag that hardly ever
fires. Kind of neat when it does though.
accel_evade:
-- explain
; Calculate the coordinates right behind where
your enemy was.
cmath vx = ((#cur_head-2) * (#cur_head-3) * (#cur_head-4)
* (#x_pos)/-6)
+ ((#cur_head-1) * (#cur_head-3) * (#cur_head-4) * (#enemy_x+1)/2)
+ ((#cur_head-1) * (#cur_head-2) * (#cur_head-4) * (#x_pos)/-2)
+ ((#cur_head-1) * (#cur_head-2) * (#cur_head-3) * (#enemy_x-1)/6)
-- explain
cmath vy = ((#cur_head-2) * (#cur_head-3) * (#cur_head-4)
* (#enemy_y-1)/-6)
+ ((#cur_head-1) * (#cur_head-3) * (#cur_head-4) * (#y_pos)/2)
+ ((#cur_head-1) * (#cur_head-2) * (#cur_head-4) * (#enemy_y+1)/-2)
+ ((#cur_head-1) * (#cur_head-2) * (#cur_head-3) * (#y_pos)/6)
-- explain
gps scan x ~vx y ~vy
-- explain
if value #scan <> 0 then if value #scan <>
4 then if value #cur_fuel >= 300 then if value #cur_ammo >= 10 then if
missile not ready then if value #enemy_y <> #y_pos then if value #x_pos
<> #enemy_x then goto longfrag
-- explain
turn left
scan relative 1
-- explain
math v2 = #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 ~v2 < 3 then if value #enemy_x <>
0 then if value ~v9 = ~v9 then goto
2 --
explain
assign ve move backward
-- explain
if scan found flag then if damage is > 0 then
assign ve move forward -- explain
if value #scan <> 1 then if value #scan <>
3 then if value #scan <> 5 then assign ve move forward
-- explain
if value ~v9 <> ~v9 then beep
-- explain
~ve --
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
goto
err_ #cur_head -- explain