'------------------- vars
def seteyes 50
def seteyewidth 51
def seteyespace 52
def setoffset 53

def state 54


'-------------------- constants
def spineyewidth 0
def spineyespace 105
def spinoffset 140

def scaning 1


cond
*.robage 0 =
start
1 .seteyes store
.spineyewidth .seteyewidth store
.spineyespace .seteyespace store
.spinoffset .setoffset store

.scaning .state store

123 120 store
120 .memloc store

.shoot .vloc store
-2 .venval store

.shoot .ploc store
stop

cond
*.seteyes 1 =
start
*.setoffset .eye9dir store
*.setoffset *.seteyespace add .eye8dir store
*.setoffset *.seteyespace 2 mult add .eye7dir store
*.setoffset *.seteyespace 3 mult add .eye6dir store
*.setoffset *.seteyespace 4 mult add .eye5dir store
*.setoffset *.seteyespace 5 mult add .eye4dir store
*.setoffset *.seteyespace 6 mult add .eye3dir store
*.setoffset *.seteyespace 7 mult add .eye2dir store
*.setoffset *.seteyespace 8 mult add .eye1dir store
4 .focuseye store
0 .seteyes store
stop

cond
*.state .scaning =
*.eye9 0 >
*.memval 123 !=
start
*.refxpos *.refypos angle .setaim store
*.refxpos *.xpos sub abs *.refypos *.ypos sub abs pyth 10 div 20 sub 0 floor *.refvelup add .up store
*.refveldx .dx store
-6 .shoot store
*.nrg 20 div 10 ceil *.eye9 30 sub 0 floor sgn mult .shootval store
stop

cond
*.state .scaning =
*.eye9 0 >
*.memval 123 !=
*.refeye 0 =
*.refshoot 0 =
*.refshell 0 =
*.refpoison 0 =
start
'-1 .shoot store
stop

cond
*.state .scaning =
*.eye9 0 >
*.memval 123 !=
*.robage 5 mod 0 =
*.venom 1 >
start
-3 .shoot store
0 .shootval store
stop

cond
*.state .scaning =
*.eye9 0 =
*.robage 20 mod 16 >=
start
*.aim 35 add .setaim store
stop

cond
*.state .scaning =
*.eye9 0 =
*.robage 20 mod 16 <
start
20 .dx store
stop

cond
*.state .scaning =
*.eye9 0 !=
*.memval 123 =
*.robage 20 mod 16 >=
start
*.aim 35 add .setaim store
stop

cond
*.state .scaning =
*.eye9 0 !=
*.memval 123 =
*.robage 20 mod 16 <
start
20 .dx store
stop

cond
*.state .scaning =
*.eye9 0 =
*.eye1 0 >
start
*.aim *.eye1dir add .setaim store
stop

cond
*.state .scaning =
*.eye9 0 =
*.eye2 0 >
start
*.aim *.eye2dir add .setaim store
stop

cond
*.state .scaning =
*.eye9 0 =
*.eye3 0 >
start
*.aim *.eye3dir add .setaim store
stop

cond
*.state .scaning =
*.eye9 0 =
*.eye4 0 >
start
*.aim *.eye4dir add .setaim store
stop

cond
*.state .scaning =
*.eye9 0 =
*.eye5 0 >
start
*.aim *.eye5dir add .setaim store
stop

cond
*.state .scaning =
*.eye9 0 =
*.eye6 0 >
start
*.aim *.eye6dir add .setaim store
stop

cond
*.state .scaning =
*.eye9 0 =
*.eye7 0 >
start
*.aim *.eye7dir add .setaim store
stop

cond
*.state .scaning =
*.eye9 0 =
*.eye8 0 >
start
*.aim *.eye8dir add .setaim store
stop

cond
*.eye9 0 =
'*.eye8 0 =
'*.eye7 0 =
'*.eye6 0 =
'*.eye5 0 =
'*.eye4 0 =
'*.eye3 0 =
'*.eye2 0 =
'*.eye1 0 =
'*.memval 123 = or
*.nrg 500 >
*.body 100 >
'*.totalmyspecies 70 <
start
50 .repro store
stop

cond
*.eye9 0 =
'*.memval 123 = or
*.nrg 600 >
*.body 100 >
*.totalmyspecies 70 >=
start
'50 .repro store
stop

cond
*.nrg 200 >
*.body 500 <
*.totalmyspecies 70 > or
start
100 .strbody store
stop

cond
*.nrg 100 <
*.body 20 >
start
50 .fdbody store
stop

cond
*.shell 50 <
*.nrg 50 >
start
20 .mkshell store
stop

cond
*.venom 50 <
*.nrg 100 >
start
10 .strvenom store
stop

cond
*.shell 200 <
*.nrg 200 >
*.eye9 0 >
*.refeye *.myeye !=
start
200 *.shell sub .mkshell store
stop

cond
*.shflav 0 !=
*.shflav -2 !=
*.nrg 80 >
*.poison 0 =
start
50 .strpoison store
stop

cond
*.numties 0 >
start
*.tiepres .deltie store
stop