Ok, I actually put some thought into this version, especially the clear-eye part. Also increased defensive upkeep depending on number of tie attempts, shots impacted.
def mode 50
def minslime 51
def minshell 52
def minpoison 53
start
50 .repro store
*.thisgene .delgene store
stop
cond
*.robage 0 =
start
7890 .out10 store
80 .eye1dir store
60 .eye2dir store
40 .eye3dir store
20 .eye4dir store
-20 .eye6dir store
-40 .eye7dir store
-60 .eye8dir store
-80 .eye9dir store
20 .eye1width store
20 .eye2width store
20 .eye3width store
20 .eye4width store
20 .eye5width store
20 .eye6width store
20 .eye7width store
20 .eye8width store
20 .eye9width store
50 .minshell store
150 .minshell store
10 .minpoison store
stop
cond
*.robage 5 <
*.nrg 1000 <
start
180 .dx store
2 .mode store
stop
start
*.body 250 div 2 floor .up store
0 .fixpos store
*.mkvirus *.mkvirus sgn .delgene mult store
*.nrg *.body sub dup .strbody store - .fdbody store
-4 *.eye1 *.eye9 sub sgn 0 floor mult *.eye1 *.eye8 sub sgn 0 floor mult *.eye1 *.eye7 sub sgn 0
floor mult *.eye1 *.eye6 sub sgn 0 floor mult *.eye1 *.eye5 sub sgn 0 floor mult *.eye1 *.eye4 sub
sgn 0 floor mult *.eye1 *.eye3 sub sgn 0 floor mult *.eye1 *.eye2 sub sgn 0 floor mult 4 *.eye9
*.eye8 sub sgn 0 floor mult *.eye9 *.eye7 sub sgn 0 floor mult *.eye9 *.eye6 sub sgn 0 floor mult
*.eye9 *.eye5 sub sgn 0 floor mult *.eye9 *.eye4 sub sgn 0 floor mult *.eye9 *.eye3 sub sgn 0 floor
mult *.eye9 *.eye2 sub sgn 0 floor mult *.eye9 *.eye1 sub sgn ++ sgn mult add -3 *.eye2 *.eye9 sub
sgn ++ sgn mult *.eye2 *.eye8 sub sgn 0 floor mult *.eye2 *.eye7 sub sgn 0 floor mult *.eye2 *.eye6
sub sgn 0 floor mult *.eye2 *.eye5 sub sgn 0 floor mult *.eye2 *.eye4 sub sgn 0 floor mult *.eye2
*.eye3 sub sgn 0 floor mult *.eye2 *.eye1 sub sgn ++ sgn mult add 3 *.eye8 *.eye9 sub sgn ++ sgn
mult *.eye8 *.eye7 sub sgn 0 floor mult *.eye8 *.eye6 sub sgn 0 floor mult *.eye8 *.eye5 sub sgn 0
floor mult *.eye8 *.eye4 sub sgn 0 floor mult *.eye8 *.eye3 sub sgn 0 floor mult *.eye8 *.eye2 sub
sgn ++ sgn mult *.eye8 *.eye1 sub sgn ++ sgn mult add -2 *.eye3 *.eye9 sub sgn ++ sgn mult *.eye3
*.eye8 sub sgn ++ sgn mult *.eye3 *.eye7 sub sgn 0 floor mult *.eye3 *.eye6 sub sgn 0 floor mult
*.eye3 *.eye5 sub sgn 0 floor mult *.eye3 *.eye4 sub sgn 0 floor mult *.eye3 *.eye2 sub sgn ++ sgn
mult *.eye3 *.eye1 sub sgn ++ sgn mult add 2 *.eye7 *.eye9 sub sgn ++ sgn mult *.eye7 *.eye8 sub
sgn ++ sgn mult *.eye7 *.eye7 sub sgn 0 floor mult *.eye7 *.eye6 sub sgn 0 floor mult *.eye7 *.eye5
sub sgn 0 floor mult *.eye7 *.eye4 sub sgn ++ sgn mult *.eye7 *.eye2 sub sgn ++ sgn mult *.eye7
*.eye1 sub sgn ++ sgn mult add -1 *.eye4 *.eye9 sub sgn ++ sgn mult *.eye4 *.eye8 sub sgn ++ sgn
mult *.eye4 *.eye7 sub sgn ++ sgn mult *.eye4 *.eye6 sub sgn 0 floor mult *.eye4 *.eye5 sub sgn 0
floor mult *.eye4 *.eye3 sub sgn ++ sgn mult *.eye4 *.eye2 sub sgn ++ sgn mult *.eye4 *.eye1 sub
sgn ++ sgn mult add 1 *.eye4 *.eye9 sub sgn ++ sgn mult *.eye4 *.eye8 sub sgn ++ sgn mult *.eye4
*.eye7 sub sgn ++ sgn mult *.eye4 *.eye6 sub sgn ++ sgn mult *.eye4 *.eye5 sub sgn 0 floor mult
*.eye4 *.eye3 sub sgn ++ sgn mult *.eye4 *.eye2 sub sgn ++ sgn mult *.eye4 *.eye1 sub sgn ++ sgn
mult add 0 *.eye5 *.eye9 sub sgn ++ sgn mult *.eye5 *.eye8 sub sgn ++ sgn mult *.eye5 *.eye7 sub
sgn ++ sgn mult *.eye5 *.eye6 sub sgn ++ sgn mult *.eye5 *.eye4 sub sgn ++ sgn mult *.eye5 *.eye3
sub sgn ++ sgn mult *.eye5 *.eye2 sub sgn ++ sgn mult *.eye5 *.eye1 sub sgn ++ sgn mult add
.focuseye store
stop
cond
*.eyef 0 =
start
400 .aimdx store
stop
cond
*.eyef 0 =
*.timer 3 mod 1 =
start
20 .up store
stop
cond
*.numties 0 >
start
*.tiepres .deltie store
*.minslime 25 add .minslime store
180 .dx store
stop
cond
*.shflav -6 =
start
.minshell inc
stop
cond
*.shflav -1 =
start
*.minpoison inc
stop
cond
*.eyef 0 =
*.hitang 0 !=
start
*.hitang .setaim store
stop
cond
*.eyef 0 =
*.shang 0 !=
start
*.shang .setaim store
stop
cond
*.mode 0 =
start
*.minslime *.slime sub .mkslime store
*.minshell *.shell sub .mkshell store
*.minpoison *.poison sub .strpoison store
.shoot .ploc store
stop
cond
*.in10 *.out10 !=
start
*.refxpos *.refypos angle .setaim store
stop
cond
*.mode 0 =
*.body 30000 >
start
.mode inc
stop
cond
*.mode 2 =
*.body 500 >
start
0 .mode store
stop
cond
*.mode 1 =
*.nrg 1000 >
start
20000 *.nrg div .repro store
314 rnd .aimdx store
stop
cond
*.eye5 40 >
*.in10 *.out10 !=
start
*.mode -- abs 63 mult ++ .shootval store
-5 *. mode 2 sub sgn abs mult -- .shoot store
stop
cond
*.mode 1 =
*.nrg 500 <
start
.mode dec
stop
cond
*.waste 150 >
start
*.waste .shootval store
-4 .shoot store
stop