Ok, so I changed the conspec again... and come to think of it... I think the added age is the only thing it realy needed, the different keys and offset and all that don't actualy help in the en... just a leftover from the old conspec.
Anyway it's an elaborate conspec that could have worked just as well as a simple conspec with one key...
And it steals more conspecs now (eyes and shoots).
So ofcourse theres an updated test alge aswell.
I know it isn't hard to find a conspec this doesn't beat... but I'm hoping it'll spawn some new interesting conspecs...
Spinner v1.5 :
'Spinner v1.5 (F2) 04-05-08
'by Moonfisher
'Changed the conspec for like the fourth time
'And it also steals some more conspec types now
'And fixed a couple of small things
'------------------- vars
def seteyes 50
def seteyewidth 51
def seteyespace 52
def setoffset 53
def state 54
def repspin 55
def randm 56
def keyloc 57
def oponent 58
def toponent 59
def genekill 60
def birthstate 971
def birthx 972
def birthy 973
'-------------------- constants
def spineyewidth 0
def spineyespace 105
def spinoffset 140
def scaning 1
def torpedo 2
'0 is nothing
def friend 13
def enemy 14
def alge 15
def key1 543
def key2 1613
def key3 3306
def key4 4039
'(Key + 3200 must not exceed 8191)
def startkey 110
def startloc 120
def locs 5 '--- Must correcpond to the amount of different tie actions
'Set locs to 4 to disable instant kill using .shootval
'Set locs to 3 to disable .strbody killing aswell
'================================================
'----- Birth
cond
*.robage 0 =
start
'--- conspec
3 rnd .randm store
.startkey *.randm add .keyloc store
.memloc .memloc store
.tmemloc .tmemloc store
.key1 .startkey store
.key2 .startkey 1 add store
.key3 .startkey 2 add store
.key4 .startkey 3 add store
'-------Tie actions (5)
.eye5dir .startloc store
682 .startloc 1 add store
.vloc .startloc 2 add store
174 .startloc 3 add store
'.memloc .startloc 4 add store '-- Funny, but no point in both stealing keys and breaking conspecs
'173 .startloc 5 add store
.mrepro .startloc 4 add store '-- Also funny, but can mess up the stolen eye and shoot conspecs
65 .startloc 5 add store
.shootval .startloc 6 add store
31999 .startloc 7 add store
.strbody .startloc 8 add store
31999 .startloc 9 add store
'--------
.shoot .ploc store
stop
cond
*.robage 0 =
*.birthstate 0 =
start
.scaning .state store
stop
cond
*.robage 0 =
*.birthstate 0 !=
*.state 0 =
start
*.birthstate .state store
stop
cond
*.birthstate 0 !=
start
0 .birthstate store
stop
cond
*.robage 0 =
*.state .scaning =
start
1 .seteyes store
.spineyewidth .seteyewidth store
.spineyespace .seteyespace store
.spinoffset .setoffset store
.shoot .vloc store
-2 .venval store
.shoot .ploc store
stop
cond
*.robage 0 =
*.state .torpedo =
start
1 .seteyes store
.spineyewidth .seteyewidth store
.spineyespace .seteyespace store
.spinoffset .setoffset 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
'================================================
'================================================
'----- Conspec
start
*.keyloc .startkey sub 8192 mult *.robage 10 div add *.keyloc * add .out9 store
*.keyloc .startkey sub 8192 mult *.robage 10 div add *.keyloc * add .tout9 store
stop
cond
*.eyef 0 >
*.in9 24576 & 8192 div .startkey add * *.refage 10 div add *.in9 8191 & 1 sub >
*.in9 24576 & 8192 div .startkey add * *.refage 10 div add *.in9 8191 & 1 add <
start
.friend .oponent store
stop
cond
*.eyef 0 >
*.in9 24576 & 8192 div .startkey add * *.refage 10 div add *.in9 8191 & 1 sub <
*.in9 24576 & 8192 div .startkey add * *.refage 10 div add *.in9 8191 & 1 add > or
start
.enemy .oponent store
stop
cond
*.memval 0 =
*.refeye 0 =
*.refshoot 0 =
*.refshell 0 =
*.refpoison 0 =
*.refvenom 0 =
*.eyef 0 >
start
.alge .oponent store
stop
cond
*.eyef 0 =
*.robage 0 = or
start
0 .oponent store
stop
cond
*.numties 0 >
*.tin9 24576 & 8192 div .startkey add * *.trefage 10 div add *.tin9 8191 & 2 sub >
*.tin9 24576 & 8192 div .startkey add * *.trefage 10 div add *.tin9 8191 & 2 add < and
*.trefage 0 = or
start
.friend .toponent store
stop
cond
*.numties 0 >
*.tin9 24576 & 8192 div .startkey add * *.trefage 10 div add *.tin9 8191 & 2 sub <
*.tin9 24576 & 8192 div .startkey add * *.trefage 10 div add *.tin9 8191 & 2 add > or
*.trefage 0 >
start
.enemy .toponent store
stop
cond
*.tmemval 0 =
*.trefeye 0 =
*.trefshoot 0 =
*.trefshell 0 =
*.numties 0 >
start
'.alge .toponent store
stop
cond
*.numties 0 =
*.robage 0 = or
start
0 .toponent store
stop
'----- Poser conspecs
cond
*.memloc .memloc !=
*.memval 0 !=
start
*.memval *.memloc store
stop
cond
*.memloc .memloc !=
start
.memloc .memloc store
stop
cond
*.eyef 0 >
*.memloc .memloc =
*.memval 0 >
*.memval .memloc !=
start
*.memval .memloc store
stop
cond
*.tmemloc .tmemloc !=
*.tmemval 0 !=
start
*.tmemval *.tmemloc store
stop
cond
*.tmemloc .tmemloc !=
start
.tmemloc .tmemloc store
stop
cond
*.numties 0 >
*.tmemloc .tmemloc =
*.tmemval 0 >
*.tmemval .tmemloc !=
start
*.tmemval .tmemloc store
stop
cond
*.eyef 0 >
start
*.in1 .out1 store
*.in2 .out2 store
*.in3 .out3 store
*.in4 .out4 store
*.in5 .out5 store
*.in6 .out6 store
*.in7 .out7 store
*.in8 .out8 store
*.in10 .out10 store
stop
cond
*.numties 0 >
start
*.tin1 .tout1 store
*.tin2 .tout2 store
*.tin3 .tout3 store
*.tin4 .tout4 store
*.tin5 .tout5 store
*.tin6 .tout6 store
*.tin7 .tout7 store
*.tin8 .tout8 store
*.tin10 .tout10 store
stop
cond
*.genekill 0 !=
start
0 .genekill store
stop
'--- Steal shoot
cond
*.eyef 0 >
*.refshoot *.myshoot <
*.refshoot 0 >
start
*.thisgene 1 add .delgene store
*.myshoot *.refshoot sub 1 >
*.thisgene 3 add .delgene store
*.myshoot *.refshoot sub 4 >
*.thisgene 4 add .delgene store
*.myshoot *.refshoot sub 9 >
*.thisgene 5 add .delgene store
*.myshoot *.refshoot sub 19 >
*.thisgene 6 add .delgene store
*.myshoot *.refshoot sub 39 >
*.thisgene 7 add .delgene store
clearbool
*.delgene .genekill store
stop
cond
0 1 =
start
0 .shoot store
stop
cond
0 1 =
start
0 .shoot store
stop
cond
0 1 =
start
0 .shoot store
0 .shoot store
stop
cond
0 1 =
start
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
stop
cond
0 1 =
start
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
stop
cond
0 1 =
start
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
stop
cond
0 1 =
start
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
stop
'--- Steal eyes
cond
*.eyef 0 >
*.refeye *.myeye <
*.refeye 0 >
start
*.thisgene 1 add .delgene store
*.myeye *.refeye sub 1 >
*.thisgene 3 add .delgene store
*.myeye *.refeye sub 4 >
*.thisgene 4 add .delgene store
*.myeye *.refeye sub 9 >
*.thisgene 5 add .delgene store
*.myeye *.refeye sub 19 >
*.thisgene 6 add .delgene store
*.myeye *.refeye sub 39 >
*.thisgene 7 add .delgene store
clearbool
*.delgene .genekill store
stop
cond
0 1 =
start
*.eye9 0 >
stop
cond
0 1 =
start
*.eye9 0 >
stop
cond
0 1 =
start
*.eye9 0 >
*.eye9 0 >
stop
cond
0 1 =
start
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
stop
cond
0 1 =
start
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
stop
cond
0 1 =
start
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
stop
cond
0 1 =
start
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
stop
'================================================
cond
*.state .torpedo =
*.oponent .alge =
*.nrg 500 >
start
.scaning .state store
stop
'================================================
'----- Shooting
cond
*.state .scaning =
*.eyef 0 >
*.oponent .enemy =
*.oponent .alge = or
start
*.refxpos *.refypos angle .setaim store
*.refxpos *.xpos sub abs *.refypos *.ypos sub abs pyth 5 div 30 sub 0 floor 100 ceil *.refvelup add .up store
*.refveldx .dx store
-6 6 1 add store
*.refxpos .out4 store
*.refypos .out5 store
stop
cond
*.poisoned 0 =
*.body 50 >
*.state .scaning =
*.eyef 55 >
*.oponent .enemy =
*.oponent .alge = or
start
*.nrg 30 div 20 ceil *.eyef 40 sub 0 floor sgn *.body 40 sub 0 floor sgn mult mult 1 floor .shootval store
stop
cond
*.eyef 0 =
*.oponent .friend = or
*.out4 0 !=
*.out5 0 != or
start
0 .out4 store
0 .out5 store
stop
cond
*.state .scaning =
*.eyef 0 >
*.oponent .enemy =
*.robage 5 mod 0 =
*.venom 1 >
start
-3 6 1 add store
0 .shootval store
stop
cond
*.state .scaning =
*.eyef 0 >
*.robage 10 mod 0 =
*.oponent .alge =
*.venom 1 >
start
-3 6 1 add store
0 .shootval store
stop
cond
*.state .scaning =
*.eyef 0 >
*.robage 10 mod 1 =
*.oponent .alge =
*.venom 1 >
start
.setaim 6 1 add store
*.refxpos *.refypos angle 682 add .shootval store
stop
'================================================
'================================================
'----- Spread
cond
*.state .scaning =
*.state .torpedo = or
*.eyef 0 =
*.robage 20 mod 16 >=
*.robage 200 >= or
start
*.aim 35 add .setaim store
stop
cond
*.state .scaning =
*.state .torpedo = or
*.eyef 0 =
*.robage 20 mod 16 <
*.robage 200 <
start
20 .dx store
stop
cond
*.state .scaning =
*.state .torpedo = or
*.eyef 0 !=
*.oponent .friend =
*.robage 20 mod 16 >=
*.robage 200 >= or
start
*.aim 35 add .setaim store
stop
cond
*.state .scaning =
*.state .torpedo = or
*.eyef 0 !=
*.oponent .friend =
*.robage 20 mod 16 <
*.robage 200 <
start
20 .dx store
stop
cond
*.state .scaning =
*.state .torpedo = or
*.robage 100 >=
*.robage 1000 <
*.eyef 0 =
*.robage 20 mod 10 >
start
20 .dx store
stop
'================================================
'================================================
'----- Aim
cond
*.state .scaning =
*.state .torpedo = or
*.eyef 0 =
*.robage 20 >
*.oponent .friend = and or
'*.eye1 0 >
start
*.aim *.eye1dir add .setaim 500 1 add * abs sgn mult store
stop
cond
*.state .scaning =
*.state .torpedo = or
*.eyef 0 =
*.robage 20 >
*.oponent .friend = and or
'*.eye2 0 >
start
*.aim *.eye2dir add .setaim 500 2 add * abs sgn mult store
stop
cond
*.state .scaning =
*.state .torpedo = or
*.eyef 0 =
*.robage 20 >
*.oponent .friend = and or
'*.eye3 0 >
start
*.aim *.eye3dir add .setaim 500 3 add * abs sgn mult store
stop
cond
*.state .scaning =
*.state .torpedo = or
*.eyef 0 =
*.robage 20 >
*.oponent .friend = and or
'*.eye4 0 >
start
*.aim *.eye4dir add .setaim 500 4 add * abs sgn mult store
stop
cond
*.state .scaning =
*.state .torpedo = or
*.eyef 0 =
*.robage 20 >
*.oponent .friend = and or
'*.eye5 0 >
start
*.aim *.eye5dir add .setaim 500 5 add * abs sgn mult store
stop
cond
*.state .scaning =
*.state .torpedo = or
*.eyef 0 =
*.robage 20 >
*.oponent .friend = and or
'*.eye6 0 >
start
*.aim *.eye6dir add .setaim 500 6 add * abs sgn mult store
stop
cond
*.state .scaning =
*.state .torpedo = or
*.eyef 0 =
*.robage 20 >
*.oponent .friend = and or
'*.eye7 0 >
start
*.aim *.eye7dir add .setaim 500 7 add * abs sgn mult store
stop
cond
*.state .scaning =
*.state .torpedo = or
*.eyef 0 =
*.robage 20 >
*.oponent .friend = and or
'*.eye8 0 >
start
*.aim *.eye8dir add .setaim 500 8 add * abs sgn mult store
stop
cond
*.state .scaning =
*.state .torpedo = or
*.eyef 0 >
*.oponent .friend =
*.in4 0 !=
*.in5 0 != or
*.in4 *.in5 dist 1000 <
start
*.in4 *.in5 angle .setaim store
20 .dx store
stop
'================================================
'================================================
'----- Reproduction
cond
*.state .scaning =
*.eyef 0 =
*.oponent .friend = or
*.nrg 3100 > or
*.nrg 300 >
*.body 100 > and
*.totalmyspecies 70 < and
*.nrg 500 >
*.body 100 > and
*.totalmyspecies 70 >= and or
*.repspin 0 =
start
*.robage 1 add .repspin store
stop
cond
*.robage 1 =
*.totalmyspecies 5 =
*.nrg 3000 %=
*.body 1000 =
start
*.robage 1 add .repspin store
stop
cond
*.state .scaning =
*.repspin 0 >
*.repspin 1 add *.robage =
start
*.aim 511 add .setaim store
0 .up store
0 .dx store
stop
cond
*.state .scaning =
*.repspin 0 >
*.repspin 2 add *.robage =
start
*.aim 341 add .setaim store
0 .up store
0 .dx store
stop
cond
*.state .scaning =
*.repspin 0 >
*.repspin 3 add *.robage =
start
*.aim 511 add .setaim store
0 .up store
0 .dx store
stop
cond
*.state .scaning =
*.repspin 15 add *.robage <
*.repspin 0 !=
start
0 .repspin store
stop
cond
*.state .scaning =
*.repspin 0 >
*.nrg 300 >
*.body 100 >
*.repspin 1 add *.robage =
*.repspin 2 add *.robage = or
*.totalmyspecies 70 <
*.eyef 0 =
*.oponent .friend = or
*.oponent .alge = or
start
32 .repro store
0 6 1 add store
stop
cond
*.state .scaning =
*.repspin 0 >
*.nrg 500 >
*.body 100 >
*.repspin 1 add *.robage =
*.repspin 2 add *.robage = or
*.totalmyspecies 70 >=
*.eyef 0 =
*.oponent .friend = or
*.oponent .alge = or
start
32 .repro store
0 6 1 add store
stop
cond
*.state .scaning =
*.repspin 0 >
*.oponent .enemy =
*.eyef 0 !=
*.nrg 300 >
*.body 100 >
*.repspin 1 add *.robage =
*.repspin 2 add *.robage = or
start
*.refxpos .birthx store
*.refypos .birthy store
.torpedo .birthstate store
5 .repro store
0 6 1 add store
stop
'================================================
'================================================
'----- Body and such + some defence stuff
cond
*.state .scaning =
*.nrg 200 >
*.body 500 <
*.totalmyspecies 70 > or
start
100 .strbody store
stop
cond
*.state .scaning =
*.nrg 100 <
*.body 20 >
start
100 .fdbody store
stop
cond
*.state .scaning =
*.shell 50 <
*.nrg 50 >
start
20 .mkshell store
stop
cond
*.state .scaning =
*.shell 200 <
*.nrg 180 >
*.body 120 >
start
200 *.shell sub .mkshell store
stop
cond
*.state .scaning =
*.venom 50 <
*.nrg 20 >
start
50 *.venom sub .strvenom store
stop
cond
*.state .scaning =
*.shell 300 <
*.nrg 200 >
*.body 100 >
*.eyef 0 >
*.oponent .enemy =
*.refvelscalar 20 > or
start
300 *.shell sub .mkshell store
stop
cond
*.state .scaning =
*.shflav 0 !=
*.shflav -2 !=
*.shflav -3 !=
*.nrg 80 >
*.venom 5 >
start
*.aim *.shang sub .setaim store
-3 6 1 add store
10 .shootval store
stop
cond
*.state .scaning =
*.shflav 0 !=
*.shflav -2 !=
*.shflav -3 !=
*.nrg 80 >
*.venom 5 <=
start
*.aim *.shang sub .setaim store
.setaim 6 1 add store
*.refaim 682 add .shootval store
stop
cond
*.fixpos 0 !=
start
0 .fixpos store
stop
cond
*.state .scaning =
*.pain 60 >
*.shflav 0 !=
*.shflav -2 !=
start
*.maxvel .dx store
stop
cond
*.shflav 0 !=
start
0 .shflav store
stop
start
.deltie inc
stop
'Not sure counter leeching is legal for F2
'If it isn't, then use the other tie value...
cond
*.numties 0 >
*.robage 1 >
*.tiepres 0 >
start
*.tiepres .tienum store
.tieval .tieloc store
31000 .tieval store
'0 .tieval store '-- This can be safer, helps against EtchII, but only delay's the inevitable.
*.tiepres .deltie store
stop
'================================================
'================================================
'----- Torpedoes
cond
*.state .scaning =
*.oponent .enemy =
*.eyef 0 !=
*.eyef 10 <
*.body 500 >
*.totalmyspecies 50 <
*.refshell 0 >
*.refshell *.refbody add *.refnrg add *.shell *.body add *.nrg add > '-not great...
start
*.refxpos .birthx store
*.refypos .birthy store
.torpedo .birthstate store
5 .repro store
0 6 1 add store
stop
cond
*.robage 1 >
*.body *.nrg add 200 <
*.oponent .alge !=
*.eyef 0 = or
start
.torpedo .state store
stop
cond
*.robage 0 =
*.state .torpedo =
start
*.birthx *.birthy angle .setaim store
stop
cond
*.state .torpedo =
*.body 1 >
start
*.body 10 mult 10 sub 0 floor .fdbody store
stop
cond
*.state .torpedo =
*.oponent .enemy =
*.numties 0 =
*.eyef 0 !=
start
*.refxpos *.refypos angle .setaim store
*.refxpos *.xpos sub abs *.refypos *.ypos sub abs pyth 10 div 30 sub 0 floor 100 ceil *.refvelup add .up store
*.refveldx .dx store
*.refvelsx .sx store
1 .tie store
.eye5dir .tieloc store
.spinoffset .spineyespace 4 mult add .tieval store
stop
cond
*.state .torpedo =
*.oponent .alge =
*.eyef 0 >
start
0 .up store
0 .dx store
0 .sx store
0 .tie store
*.aim *.eye8dir add .setaim store
stop
cond
*.state .torpedo =
*.toponent .enemy =
*.numties 0 >
*.robage 1 >
start
*.tiepres .tienum store
.locs 1 sub rnd 2 mult .startloc add dup * .tieloc store
1 add * .tieval store
40 .stifftie store
200 .fixlen store
*.trefxpos *.trefypos angle .setaim store
*.trefvelup .up store
*.trefveldx .dx store
0 .deltie store
stop
cond
*.state .torpedo =
*.toponent .friend =
*.numties 0 >
start
*.tiepres .deltie store
stop
start
.fixpos dec
stop
'================================================
'================================================
'----- Viral and mem defence.
'Haven't realy gotten around to make a propper defence.
cond
*.keyloc .startkey *.randm add !=
*.venval -2 != or
*.vloc .shoot != or
start
.startkey *.randm add .keyloc store
-2 .venval store
.shoot .vloc store
stop
cond
*.vtimer 0 !=
start
0 .vshoot store
stop
cond
*.repro 0 !=
*.repro 32 !=
*.repro 5 !=
start
0 .repro store
stop
cond
*.delgene 0 !=
*.delgene *.genekill !=
start
0 .delgene store
stop
'================================================
end
[b]The test alge :[/b]
[div class=\'codetop\']CODE[div class=\'codemain\' style=\'height:200px;white-space:pre;overflow:auto\']'Alge for testing your conspec
'If you can't get up close and feed on this
'Then your conspec is obviously vulnerable to these genes
cond
*.robage 0 =
start
.memloc .memloc store
.tmemloc .tmemloc store
100 .eye5width 1 mult store
stop
cond
*.nrg 3000 >
start
50 .repro store
stop
cond
*.memloc .memloc !=
*.memval 0 !=
start
*.memval *.memloc store
stop
cond
*.memloc .memloc !=
start
.memloc .memloc store
stop
cond
*.eyef 0 >
*.memloc .memloc =
*.memval 0 >
*.memval .memloc !=
start
*.memval .memloc store
stop
cond
*.tmemloc .tmemloc !=
*.tmemval 0 !=
start
*.tmemval *.tmemloc store
stop
cond
*.tmemloc .tmemloc !=
start
.tmemloc .tmemloc store
stop
cond
*.numties 0 >
*.tmemloc .tmemloc =
*.tmemval 0 >
*.tmemval .tmemloc !=
start
*.tmemval .tmemloc store
stop
cond
*.eyef 0 >
start
*.in1 .out1 store
*.in2 .out2 store
*.in3 .out3 store
*.in4 .out4 store
*.in5 .out5 store
*.in6 .out6 store
*.in7 .out7 store
*.in8 .out8 store
*.in9 .out9 store
*.in10 .out10 store
stop
cond
*.numties 0 >
start
*.tin1 .tout1 store
*.tin2 .tout2 store
*.tin3 .tout3 store
*.tin4 .tout4 store
*.tin5 .tout5 store
*.tin6 .tout6 store
*.tin7 .tout7 store
*.tin8 .tout8 store
*.tin9 .tout9 store
*.tin10 .tout10 store
stop
cond
*.eyef 0 >
start
*.refxpos *.refypos angle .setaim store
stop
cond
*.eyef 0 =
start
*.aim 70 add .setaim store
stop
cond
*.shflav 0 !=
*.shflav -2 !=
*.memloc .memloc =
start
*.aim *.shang sub .setaim store
0 .shflav store
stop
'--- Addapt shoot commands
cond
*.eyef 0 >
*.refshoot *.myshoot <
start
*.thisgene 1 add .delgene store
*.myshoot *.refshoot sub 1 >
*.thisgene 3 add .delgene store
*.myshoot *.refshoot sub 4 >
*.thisgene 4 add .delgene store
*.myshoot *.refshoot sub 9 >
*.thisgene 5 add .delgene store
*.myshoot *.refshoot sub 19 >
*.thisgene 6 add .delgene store
*.myshoot *.refshoot sub 39 >
*.thisgene 7 add .delgene store
stop
cond
0 1 =
start
0 .shoot store
stop
cond
0 1 =
start
0 .shoot store
stop
cond
0 1 =
start
0 .shoot store
0 .shoot store
stop
cond
0 1 =
start
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
stop
cond
0 1 =
start
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
stop
cond
0 1 =
start
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
stop
cond
0 1 =
start
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
0 .shoot store
stop
'--- Addapt eye commands
cond
*.eyef 0 >
*.refeye *.myeye <
start
*.thisgene 1 add .delgene store
*.myeye *.refeye sub 1 >
*.thisgene 3 add .delgene store
*.myeye *.refeye sub 4 >
*.thisgene 4 add .delgene store
*.myeye *.refeye sub 9 >
*.thisgene 5 add .delgene store
*.myeye *.refeye sub 19 >
*.thisgene 6 add .delgene store
*.myeye *.refeye sub 39 >
*.thisgene 7 add .delgene store
stop
cond
0 1 =
start
*.eye9 0 >
stop
cond
0 1 =
start
*.eye9 0 >
stop
cond
0 1 =
start
*.eye9 0 >
*.eye9 0 >
stop
cond
0 1 =
start
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
stop
cond
0 1 =
start
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
stop
cond
0 1 =
start
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
stop
cond
0 1 =
start
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
*.eye9 0 >
stop
end