Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - Moonfisher

Pages: 1 2 [3]
31
F2 bots / LoveBot (F2) (Moonfisher) - 30-03-08
« on: March 30, 2008, 11:28:48 AM »
It's not realy polished off and it doesn't realy do that much, but had to get a rape bot out before Abyaly makes some sick F2 rape bot
I think it might actualy do well in F2, it beats Multiply4 and Excalibur.
It sometimes crashes in 2.43.1e, I'll get around to making a propper bu report, think it's caused by the sexrepro thing.

It's a vegan, and like most of my other bots it hogs the food in it's own unique way. (In this case by raping it)
It also rapes anyone it isn't related to.
But thats about it, it doesn't realy do anything else, eat/rape alge and rape strangers and distant cousins.

I can't download the F2 league file, and the crash is bound to happen before running the entire F2 league, so I have no idea how far it would get in F2...
I also don't know if another bot has the same amount of shoots, that would mess with the conspec, but one of the last genes has a lot of useless shoots that can be used to adjust the conspec.

Code: [Select]
'Lovebot (F2) : 30-03-08
'Make love not war !
'By Moonfisher, v0.01
'First draft for a rape bot
'Would probably be more effective SG'fied with a propper conspec
'But this way is more fun.
'Sometimes causes a crash in 2.43.1e though

def repspin 122
def original 971
def birthx 972
def birthy 973

def origkey 1234

cond
*.robage 0 =
start
*.tiepres .deltie store
.sexrepro .vloc store
99 .venval store
100 .eye5width store
.shoot .memloc store
stop

cond
*.robage 2 <
*.nrg 3000 %=
*.body 1000 %=
*.totalmyspecies 6 <
*.totalbots 21 <
start
.origkey .original store
stop

cond
*.fixpos 0 !=
start
0 .fixpos store
stop

cond
*.body 100 <
*.nrg 500 >
start
100 .strbody store
stop

cond
*.body 50 >
*.nrg 100 <
start
100 .fdbody store
stop

cond
*.venom 50 <
*.nrg 100 >
start
10 .strvenom store
stop

cond
*.shell 200 <
*.nrg 100 >
start
10 .mkshell store
stop

cond
*.shell 50 <
*.nrg 300 >
start
100 *.shell sub .mkshell store
stop

cond
*.eyef 0 =
*.robage 20 mod 10 <
start
20 .up store
stop

cond
*.eyef 0 =
*.robage 20 mod 10 >=
start
*.aim 70 add .setaim store
stop

cond
*.refshoot *.myshoot =
*.robage 20 mod 10 <
start
10 .dx store
stop

cond
*.refshoot *.myshoot =
*.robage 20 mod 10 >=
start
*.aim 70 add .setaim store
stop

cond
*.refshoot *.myshoot !=
*.eyef 0 >
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
*.refxpos .birthx store
*.refypos .birthy store
stop

cond
*.shoot -2 =
start
*.refveldx 30 add .dx store
stop

cond
*.refshoot *.myshoot !=
*.eyef 0 >
*.refshoot 0 =
*.refeye 0 =
*.refshell 0 =
*.refpoison 0 =
*.refvenom 0 =
*.memval 0 =
*.original .origkey !=
start
0 .up store
30 .dn store
*.aim 682 add .setaim store
stop

cond
*.poisoned 0 !=
start
0 .up store
*.refvelup 50 add .dn store
stop

cond
*.pain 50 >
*.shflav -2 !=
*.shflav 0 !=
start
*.pain .dx store
stop

cond
*.body 100 >=
*.nrg 500 >=
*.repspin 0 =
start
1 .repspin store
stop

cond
*.body 100 >=
*.nrg 500 >=
*.repspin 0 >
*.repspin 6 <
start
*.aim 341 add .setaim store
50 .repro store
.repspin inc
stop

cond
*.repspin 5 >
*.robage 20 mod 0 =
start
0 .repspin store
stop

cond
*.robage 1 =
start
*.birthx *.birthy angle .setaim store
stop

cond
*.robage 6 <
*.robage 1 >
*.refshoot *.myshoot =
*.eyef 0 = or
start
*.aim 341 add .setaim store
stop

cond
*.shflav -2 =
*.original .origkey =
start
1 .fixpos store
stop

cond
*.shflav -2 =
*.original .origkey !=
start
100 .up store
stop

cond
*.shflav 0 !=
start
0 .shflav store
stop

cond
*.body 300 >
start
3000 .fdbody store
stop

cond
*.refshoot *.myshoot !=
*.eyef 0 >
*.robage 3 mod 0 =
start
-3 .shoot store
0 .shootval store
stop

cond
*.refshoot *.myshoot !=
*.eyef 0 >
*.robage 3 mod 1 =
start
-8 .shoot store
0 .shootval store
stop

cond
*.refshoot *.myshoot !=
*.eyef 0 >
*.robage 3 mod 2 =
*.refbody 100 >
*.refnrg 300 >
start
.sexrepro .shoot store
99 .shootval store
stop

cond
*.refshoot *.myshoot !=
*.eyef 0 >
*.refshoot 0 =
*.refeye 0 =
*.refshell 0 =
*.refpoison 0 =
*.refvenom 0 =
*.memval 0 =
*.original .origkey =
*.robage 5 >
start
-1 .shoot store
*.nrg 20 div 10 ceil .shootval store
stop

cond
*.original .origkey !=
*.shoot -1 =
*.shoot -6 = or
start
0 .shoot store
0 .shoot store 'Remove or add shoots if another bot has the same amount
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 .shootval store
stop

cond
*.refshoot *.myshoot =
*.eyef 0 >
start
0 .shoot store
0 .shootval store
stop

cond
*.robage 20 >
*.refshoot *.myshoot =
*.eyef 0 >
*.nrg 1000 >
*.refnrg 1000 <
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
0 .dn store
-2 .shoot store
*.eyef 50 sub 0 floor 50 ceil .shootval store
stop

end

32
F1 bots / Locust (F1) (Moonfisher) 24-03-08
« on: March 24, 2008, 12:07:56 PM »
Starts out by spreading and gets more agressive and swarms more as it gains in numbers.
Realy entertaining to watch against bots like multiply and other stronger bots. It's a weak fighter but wins through numbers.
Also looks cool in larger sims if you have larger agressive stuff spawning.

I was going to make an evo bot, so I could still have a bot running while working on that thesis I've been neglecting through easter. Like a nicotine patch or something...
Wanted it to depend on numbers and help eachother, to prevent canibalism. Also wanted to run it in a hostile environment, wanted a very high veggy cap and no energy gain and have stong bots spawning, to make sure theres always an oponent to reduce chances for canibalism...

But then I had to make some modifications and defences, and one thing led to another... so now it's an F1 bot.

It beats the old F1 league and Multply and Ebola, but not Pacifist, TieFighters and Etch II.


Code: [Select]
'Locust
'By Moonfisher
'Was initialy made for evo sims
'but one thing lead to another
'and now it's an F1 bot.
'It's ok for evo sims,
'but not great.

def realgenes 121
def rightgenes 122
def random 123
def huntx 124
def hunty 125
def hunt 126
def huntnr 127
def nrone 128
def spread 973

def key 500
def hunttime 5
def ouch 10
def cycle 20
def switch 10

cond
*.realgenes *.genes !=
start
*.genes .realgenes store
stop

cond
*.rightgenes 0 =
start
*.genes .rightgenes store
stop

cond
*.robage 0 =
start
*.tiepres .deltie store
100 .eye1width store
100 .eye9width store
.key 971 store
.key 972 store
1 rnd .random store
971 *.random add .memloc store
971 *.random add .tmemloc store
.shoot .vloc store
-2 .venval store
.setaim .ploc store
stop

cond
*.robage 0 =
*.spread 1 =
start
682 .aimsx store
stop

cond
*.numties 0 >
*.eye5 50 >
*.memval .key !=
start
.tieloc .shoot store
stop

cond
*.numties 0 >
*.trefnrg 2000 >=
*.trefbody 300 < or
*.totalmyspecies 100 < or
start
-1 .shootval store
stop

cond
*.numties 0 >
*.trefnrg 2000 <
*.trefbody 300 >=
*.totalmyspecies 100 >=
start
-6 .shootval store
stop

cond
*.numties 0 >
*.tmemval .key =
start
*.tiepres .deltie store
stop

cond
*.eyef 0 >
*.memval .key !=
*.refshell 0 !=
*.refeye 0 != or
*.refshoot 0 != or
*.memval 0 != or
start
0 .hunt store
*.refxpos .out3 store
*.refypos .out4 store
1 .out5 store
stop

cond
*.eyef 0 =
*.memval .key = or
start
0 .out3 store
0 .out4 store
stop

cond
*.in3 0 !=
*.in4 0 !=
*.eyef 0 >
*.memval .key =
*.totalmyspecies 150 >
*.in5 *.huntnr <=
*.huntnr 0 = or
start
*.robage .hunt store
*.in3 .huntx store
*.in4 .hunty store
*.in5 .huntnr store
stop

cond
*.hunt 3 add *.robage <
start
0 .huntnr store
stop

cond
*.in3 0 !=
*.in4 0 !=
*.eyef 0 >
*.memval .key =
*.totalmyspecies 150 >
'*.robage 5 mod 0 =
*.in5 3 <
start
*.in3 .out3 store
*.in4 .out4 store
*.in5 1 add .out5 store
stop

cond
*.hunt .hunttime add *.robage >=
*.nrg 100 >
*.robage 20 >
start
0 .focuseye store
*.huntx *.hunty angle .setaim store
*.huntx *.xpos sub abs *.hunty *.ypos sub abs pyth 10 div 10 sub 10 *.huntnr mult sub 50 ceil .up store
*.velsx .dx store
stop

cond
*.eyef 0 =
*.memval .key = or
*.robage .cycle mod .switch <=
*.pain .ouch <
*.robage 10 >
*.hunt .hunttime add *.robage <
start
120 .aimsx store
0 .focuseye store
stop

cond
*.eyef 0 =
*.robage .cycle mod .switch >
*.hunt .hunttime add *.robage <
start
*.body 10 div 50 add .up store
stop

cond
*.eyef 0 !=
*.memval .key =
*.robage .cycle mod .switch >
*.pain .ouch <
*.hunt .hunttime add *.robage <
start
*.refvelup 10 add .up store
*.refveldx .dx store
stop

cond
*.eyef 0 =
*.memval .key = or
*.robage 3 mod 0 =
*.pain .ouch <
*.hunt .hunttime add *.robage <
start
0 .focuseye store
stop

cond
*.eyef 0 =
*.memval .key = or
*.robage 3 mod 1 =
*.pain .ouch <
*.hunt .hunttime add *.robage <
start
-4 .focuseye store
stop

cond
*.eyef 0 =
*.memval .key = or
*.robage 3 mod 0 =
*.pain .ouch <
*.hunt .hunttime add *.robage <
start
4 .focuseye store
stop

cond
*.eyef 0 >
*.memval .key !=
*.pain .ouch >= or
start
*.refveldx .dx store
stop

cond
*.eyef 0 >
*.memval .key !=
*.numties 0 =
*.pain .ouch <
start
*.refxpos *.refypos angle .setaim store
0 .focuseye store
stop

cond
*.eyef 0 >
*.memval .key =
*.numties 0 =
*.spread 0 =
*.robage 20 >= or
*.pain .ouch >=
*.robage .cycle mod .switch >
*.totalmyspecies 150 > and or
*.hunt .hunttime add *.robage <
start
*.refxpos *.refypos angle .setaim store
0 .focuseye store
stop

cond
*.eyef 0 >
*.memval .key !=
*.pain .ouch >= or
*.refxpos *.xpos sub abs *.refypos *.ypos sub abs pyth 150 >
start
*.refvelup *.refxpos *.xpos sub abs *.refypos *.ypos sub abs pyth 10 div add .up store
stop

cond
*.eyef 0 >
*.memval .key !=
*.pain .ouch >= or
*.refxpos *.xpos sub abs *.refypos *.ypos sub abs pyth 150 <=
start
*.refvelup .up store
stop

cond
*.eye5 0 >
*.focuseye 0 =
*.memval .key !=
*.totalmyspecies 70 <
*.numties 0 =
*.refshell 0 !=
*.refeye 0 != or
*.refshoot 0 != or
*.memval 0 != or
start
0 .up store
*.refveldx 20 add .dx store
*.refvelup 20 add .dn store
stop

cond
*.eye5 0 >
*.focuseye 0 =
*.memval .key !=
*.numties 0 =
*.refshell 0 =
*.refeye 0 =
*.refshoot 0 =
*.memval 0 =
start
1 .tie store
-6 .shoot store
stop

cond
*.eyef 0 >
*.memval .key !=
*.focuseye 0 =
*.numties 0 =
*.body 50 >
start
-6 .shoot store
stop

cond
*.nrg 100 >
*.body 100 >
*.nrg *.body 2 mult <
start
100 .fdbody store
stop

cond
*.body 400 >
*.nrg *.body 3 mult >
start
100 .strbody store
stop

cond
*.nrg 11000 >
*.nrg *.body >
start
1000 .strbody store
stop

cond
*.robage 5 mod 0 =
*.eye5 20 >
*.focuseye 0 =
*.memval .key !=
*.venom 5 >
start
-3 .shoot store
stop

cond
*.numties 0 >
*.robage 5 mod 0 =
start
.tieloc .vloc store
-1 .venval store
stop

cond
*.numties 0 >
*.robage 5 mod 0 =
*.totalmyspecies 100 >
start
-6 .venval store
stop

cond
*.numties 0 =
*.robage 5 mod 0 =
start
.shoot .vloc store
-2 .venval store
stop

cond
*.robage 0 =
*.spread 0 !=
start
682 .aimsx store
stop

cond
*.nrg 3000 %=
*.body 1000 %=
*.totalmyspecies 70 <
start
1 .spread store
stop

cond
*.spread 0 !=
*.nrone 0 =
*.robage 20 <
*.eye5 0 >
*.memval .key =
start
200 .aimsx store
*.velsx .dx store
50 .up store
stop

cond
*.spread 0 !=
*.robage 20 >
*.totalmyspecies 70 >
start
0 .spread store
stop

cond
*.shell 100 <
*.nrg 100 >
*.totalmyspecies 70 >
start
20 .mkshell store
stop

cond
*.venom 100 <
*.nrg 80 >
*.totalmyspecies 60 >
start
20 .strvenom store
stop

cond
*.poison 50 <
*.nrg 100 >
*.totalmyspecies 70 >
start
10 .strpoison store
stop

cond
*.nrg 100 <
*.body 10 >
start
50 .fdbody store
stop

cond
*.nrg 100 >
*.robage 10 <
*.eyef 0 =
*.memval .key = or
start
50 .up store
stop

cond
*.numties 0 >
*.robage 5 mod 0 =
start
*.tiepres .delties store
stop

cond
*.fixpos 0 !=
start
0 .fixpos store
stop

cond
*.numties 0 >
start
*.tiepres .tienum store
40 .stifftie store
1 .tielen store
99 .sharenrg store
.tieval .tieloc store
1000 .tieval store
*.trefxpos *.trefypos angle .setaim store
0 .focuseye store
stop

cond
*.numties 0 >
*.robage 9 mod 0 =
*.robage 10 >
start
.fixpos .tieloc store
1 .tieval store
stop

cond
*.nrg 300 >
*.body 100 > and
*.totalmyspecies 100 < and
*.nrg 1000 >
*.body 300 > and
*.totalmyspecies 100 >= and or
start
52 .repro store
stop

cond
*.shoot 0 !=
*.shoot -1 !=
*.shoot -3 !=
*.shoot -4 !=
*.shoot -6 !=
*.shoot .tieloc !=
start
0 .shoot store
0 .shootval store
stop

cond
*.strbody 0 <
start
0 .strbody store
stop

cond
'*.repro 22 !=
*.repro 52 !=
*.repro 0 !=
start
0 .repro store
stop

cond
*.realgenes *.rightgenes !=
start
0 .vshoot store
0 .sexrepro store
0 .mrepro store
0 .mkvirus store
1 .mkshell store
1 .strvenom store
0 .strpoison store
0 .mkslime store
0 .aimsx store
0 .aimdx store
0 .dn store
0 .sx store
0 .fdbody store
0 .fixpos store
0 .delgene store
stop

end

33
F2 bots / Brevis (SS) (F2) (Moonfisher) 22-03-08
« on: March 22, 2008, 05:10:02 PM »
A new SS bot, beats OneManBucket
Used Excalibur as a base, but had to change a lot, you can still reconize some of the behavior though.
Here it is on one line :

Code: [Select]
cond
start
511 *.robage 6 sub dup div 1 sub abs *972 511 sub dup div mult mult 511 *.robage 5 sub dup div 1 sub abs *971 511 sub dup div mult mult add 682 *.robage 4 sub dup div 1 sub abs mult add 7 *.robage 3 sub dup div 1 sub abs mult add -2 *.robage 2 sub dup div 1 sub abs mult add 7 *.robage 1 sub dup div 1 sub abs mult add 971 1 rnd add *.robage 0 sub dup div 1 sub abs mult add *.tiepres *.robage 4 sub sqr dup div *972 511 sub dup div 1 sub abs mult *.numties 0 sub sqr dup div mult mult add *.robage *.body 100 sub sqr dup div *.nrg 1000 sub -1 mult sqr dup div add sgn *.shflav 0 sub dup div 1 sub abs add sgn *.shflav -2 sub dup div 1 sub abs add sgn *.robage 4 mod 0 sub dup div 1 sub abs add sgn *.eye5 0 sub sqr dup div add sgn *.memval 511 sub dup div 1 sub abs add sgn *.nrg 1000 sub -1 mult sqr dup div *.body 500 sub -1 mult sqr dup div add sgn *.eye5 50 sub sqr dup div add sgn *.eye4 50 sub sqr dup div add sgn *.eye6 50 sub sqr dup div add sgn *.eye3 50 sub sqr dup div add sgn *.eye7 50 sub sqr dup div add sgn *.eye2 50 sub sqr dup div add sgn *.eye8 50 sub sqr dup div add sgn *.robage 3 mod 0 sub dup div add sgn mult *.robage 4 sub sqr dup div mult *972 511 sub dup div 1 sub abs mult *.numties 0 sub dup div 1 sub abs mult *.eye9 0 sub dup div 1 sub abs *.eye8 0 sub dup div 1 sub abs mult *.eye7 0 sub dup div 1 sub abs mult *.eye6 0 sub dup div 1 sub abs mult *.eye5 0 sub dup div 1 sub abs mult *.eye4 0 sub dup div 1 sub abs mult *.eye3 0 sub dup div 1 sub abs mult *.eye2 0 sub dup div 1 sub abs mult *.eye1 0 sub dup div 1 sub abs mult *.memval 511 sub dup div 1 sub abs add sgn mult *951 30 add *.robage sub -1 mult sqr dup div mult mult add 100 *.body 100 sub sqr dup div *.nrg 1000 sub -1 mult sqr dup div add sgn *.shflav 0 sub dup div 1 sub abs add sgn *.shflav -2 sub dup div 1 sub abs add sgn *.robage 4 mod 0 sub dup div 1 sub abs add sgn *.eye5 0 sub sqr dup div add sgn *.memval 511 sub dup div 1 sub abs add sgn *.nrg 1000 sub -1 mult sqr dup div *.body 500 sub -1 mult sqr dup div add sgn *.eye5 50 sub sqr dup div add sgn *.eye4 50 sub sqr dup div add sgn *.eye6 50 sub sqr dup div add sgn *.eye3 50 sub sqr dup div add sgn *.eye7 50 sub sqr dup div add sgn *.eye2 50 sub sqr dup div add sgn *.eye8 50 sub sqr dup div add sgn *.robage 3 mod 0 sub dup div add sgn mult *.robage 4 sub sqr dup div mult *972 511 sub dup div 1 sub abs mult *.numties 0 sub dup div 1 sub abs mult *.robage 2 mod 1 sub dup div 1 sub abs mult *951 20 add *.robage sub 1 add 0 floor sgn mult *.poison 50 sub -1 mult sqr dup div mult *.shell 99 sub sqr dup div mult *.venom 199 sub sqr dup div mult *.nrg 700 sub sqr dup div mult *.eye9 0 sub dup div 1 sub abs *.eye8 0 sub dup div 1 sub abs mult *.eye7 0 sub dup div 1 sub abs mult *.eye6 0 sub dup div 1 sub abs mult *.eye5 0 sub dup div 1 sub abs mult *.eye4 0 sub dup div 1 sub abs mult *.eye3 0 sub dup div 1 sub abs mult *.eye2 0 sub dup div 1 sub abs mult *.eye1 0 sub dup div 1 sub abs mult *.memval 511 sub dup div 1 sub abs add sgn mult mult add 100 *.body 100 sub sqr dup div *.nrg 1000 sub -1 mult sqr dup div add sgn *.shflav 0 sub dup div 1 sub abs add sgn *.shflav -2 sub dup div 1 sub abs add sgn *.robage 4 mod 0 sub dup div 1 sub abs add sgn *.eye5 0 sub sqr dup div add sgn *.memval 511 sub dup div 1 sub abs add sgn *.nrg 1000 sub -1 mult sqr dup div *.body 500 sub -1 mult sqr dup div add sgn *.eye5 50 sub sqr dup div add sgn *.eye4 50 sub sqr dup div add sgn *.eye6 50 sub sqr dup div add sgn *.eye3 50 sub sqr dup div add sgn *.eye7 50 sub sqr dup div add sgn *.eye2 50 sub sqr dup div add sgn *.eye8 50 sub sqr dup div add sgn *.robage 3 mod 0 sub dup div add sgn mult *.robage 4 sub sqr dup div mult *972 511 sub dup div 1 sub abs mult *.numties 0 sub dup div 1 sub abs mult *.robage 2 mod 1 sub dup div 1 sub abs mult *951 20 add *.robage sub 1 add 0 floor sgn mult *.shell 100 sub -1 mult sqr dup div mult *.venom 199 sub sqr dup div mult *.nrg 700 sub sqr dup div mult *.eye9 0 sub dup div 1 sub abs *.eye8 0 sub dup div 1 sub abs mult *.eye7 0 sub dup div 1 sub abs mult *.eye6 0 sub dup div 1 sub abs mult *.eye5 0 sub dup div 1 sub abs mult *.eye4 0 sub dup div 1 sub abs mult *.eye3 0 sub dup div 1 sub abs mult *.eye2 0 sub dup div 1 sub abs mult *.eye1 0 sub dup div 1 sub abs mult *.memval 511 sub dup div 1 sub abs add sgn mult mult add 200 *.venom sub 0 floor 200 ceil *.body 100 sub sqr dup div *.nrg 1000 sub -1 mult sqr dup div add sgn *.shflav 0 sub dup div 1 sub abs add sgn *.shflav -2 sub dup div 1 sub abs add sgn *.robage 4 mod 0 sub dup div 1 sub abs add sgn *.eye5 0 sub sqr dup div add sgn *.memval 511 sub dup div 1 sub abs add sgn *.nrg 1000 sub -1 mult sqr dup div *.body 500 sub -1 mult sqr dup div add sgn *.eye5 50 sub sqr dup div add sgn *.eye4 50 sub sqr dup div add sgn *.eye6 50 sub sqr dup div add sgn *.eye3 50 sub sqr dup div add sgn *.eye7 50 sub sqr dup div add sgn *.eye2 50 sub sqr dup div add sgn *.eye8 50 sub sqr dup div add sgn *.robage 3 mod 0 sub dup div add sgn mult *.robage 4 sub sqr dup div mult *972 511 sub dup div 1 sub abs mult *.numties 0 sub dup div 1 sub abs mult *.robage 2 mod 1 sub dup div 1 sub abs mult *951 20 add *.robage sub 1 add 0 floor sgn mult *.venom 200 sub -1 mult sqr dup div mult *.nrg 500 sub sqr dup div mult *.eye9 0 sub dup div 1 sub abs *.eye8 0 sub dup div 1 sub abs mult *.eye7 0 sub dup div 1 sub abs mult *.eye6 0 sub dup div 1 sub abs mult *.eye5 0 sub dup div 1 sub abs mult *.eye4 0 sub dup div 1 sub abs mult *.eye3 0 sub dup div 1 sub abs mult *.eye2 0 sub dup div 1 sub abs mult *.eye1 0 sub dup div 1 sub abs mult *.memval 511 sub dup div 1 sub abs add sgn mult mult add 2000 *.body 100 sub sqr dup div *.nrg 1000 sub -1 mult sqr dup div add sgn *.shflav 0 sub dup div 1 sub abs add sgn *.shflav -2 sub dup div 1 sub abs add sgn *.robage 4 mod 0 sub dup div 1 sub abs add sgn *.eye5 0 sub sqr dup div add sgn *.memval 511 sub dup div 1 sub abs add sgn *.nrg 1000 sub -1 mult sqr dup div *.body 500 sub -1 mult sqr dup div add sgn *.eye5 50 sub sqr dup div add sgn *.eye4 50 sub sqr dup div add sgn *.eye6 50 sub sqr dup div add sgn *.eye3 50 sub sqr dup div add sgn *.eye7 50 sub sqr dup div add sgn *.eye2 50 sub sqr dup div add sgn *.eye8 50 sub sqr dup div add sgn *.robage 3 mod 0 sub dup div add sgn mult *.robage 4 sub sqr dup div mult *972 511 sub dup div 1 sub abs mult *.numties 0 sub dup div 1 sub abs mult *.robage 2 mod 1 sub dup div 1 sub abs mult *951 20 add *.robage sub 1 add 0 floor sgn mult *.poison 49 sub sqr dup div mult *.shell 99 sub sqr dup div mult *.venom 199 sub sqr dup div mult *.nrg 1000 sub sqr dup div *.nrg 3000 sub -1 mult sqr dup div mult *.body 200 sub sqr dup div add sgn *.robage 4 mod 0 sub dup div add sgn *.eye5 0 sub dup div 1 sub abs add sgn *.body 500 sub -1 mult 1 add 0 floor sgn mult mult *.eye9 0 sub dup div 1 sub abs *.eye8 0 sub dup div 1 sub abs mult *.eye7 0 sub dup div 1 sub abs mult *.eye6 0 sub dup div 1 sub abs mult *.eye5 0 sub dup div 1 sub abs mult *.eye4 0 sub dup div 1 sub abs mult *.eye3 0 sub dup div 1 sub abs mult *.eye2 0 sub dup div 1 sub abs mult *.eye1 0 sub dup div 1 sub abs mult *.memval 511 sub dup div 1 sub abs add sgn mult mult add 180 *.body 100 sub sqr dup div *.nrg 1000 sub -1 mult sqr dup div add sgn *.shflav 0 sub dup div 1 sub abs add sgn *.shflav -2 sub dup div 1 sub abs add sgn *.robage 4 mod 0 sub dup div 1 sub abs add sgn *.eye5 0 sub sqr dup div add sgn *.memval 511 sub dup div 1 sub abs add sgn *.nrg 1000 sub -1 mult sqr dup div *.body 500 sub -1 mult sqr dup div add sgn *.eye5 50 sub sqr dup div add sgn *.eye4 50 sub sqr dup div add sgn *.eye6 50 sub sqr dup div add sgn *.eye3 50 sub sqr dup div add sgn *.eye7 50 sub sqr dup div add sgn *.eye2 50 sub sqr dup div add sgn *.eye8 50 sub sqr dup div add sgn *.robage 3 mod 0 sub dup div add sgn mult *.robage 4 sub sqr dup div mult *972 511 sub dup div 1 sub abs mult *.numties 0 sub dup div 1 sub abs mult *.robage 2 mod 1 sub dup div 1 sub abs mult *951 20 add *.robage sub 1 add 0 floor sgn mult *.poison 49 sub sqr dup div mult *.shell 99 sub sqr dup div mult *.venom 199 sub sqr dup div mult *.nrg 500 sub -1 mult sqr dup div mult *.body 20 sub sqr dup div mult *.eye9 0 sub dup div 1 sub abs *.eye8 0 sub dup div 1 sub abs mult *.eye7 0 sub dup div 1 sub abs mult *.eye6 0 sub dup div 1 sub abs mult *.eye5 0 sub dup div 1 sub abs mult *.eye4 0 sub dup div 1 sub abs mult *.eye3 0 sub dup div 1 sub abs mult *.eye2 0 sub dup div 1 sub abs mult *.eye1 0 sub dup div 1 sub abs mult *.memval 511 sub dup div 1 sub abs add sgn mult mult add 200 *.body 100 sub sqr dup div *.nrg 1000 sub -1 mult sqr dup div add sgn *.shflav 0 sub dup div 1 sub abs add sgn *.shflav -2 sub dup div 1 sub abs add sgn *.robage 4 mod 0 sub dup div 1 sub abs add sgn *.eye5 0 sub sqr dup div add sgn *.memval 511 sub dup div 1 sub abs add sgn *.nrg 1000 sub -1 mult sqr dup div *.body 500 sub -1 mult sqr dup div add sgn *.eye5 50 sub sqr dup div add sgn *.eye4 50 sub sqr dup div add sgn *.eye6 50 sub sqr dup div add sgn *.eye3 50 sub sqr dup div add sgn *.eye7 50 sub sqr dup div add sgn *.eye2 50 sub sqr dup div add sgn *.eye8 50 sub sqr dup div add sgn *.robage 3 mod 0 sub dup div add sgn mult *.robage 4 sub sqr dup div mult *972 511 sub dup div 1 sub abs mult *.numties 0 sub dup div 1 sub abs mult *.robage 2 mod 0 sub dup div 1 sub abs mult *951 20 add *.robage sub 1 add 0 floor sgn mult mult add -6 *.body 100 sub sqr dup div *.nrg 1000 sub -1 mult sqr dup div add sgn *.shflav 0 sub dup div 1 sub abs add sgn *.shflav -2 sub dup div 1 sub abs add sgn *.robage 4 mod 0 sub dup div 1 sub abs add sgn *.eye5 0 sub sqr dup div add sgn *.memval 511 sub dup div 1 sub abs add sgn *.nrg 1000 sub -1 mult sqr dup div *.body 500 sub -1 mult sqr dup div add sgn *.eye5 50 sub sqr dup div add sgn *.eye4 50 sub sqr dup div add sgn *.eye6 50 sub sqr dup div add sgn *.eye3 50 sub sqr dup div add sgn *.eye7 50 sub sqr dup div add sgn *.eye2 50 sub sqr dup div add sgn *.eye8 50 sub sqr dup div add sgn *.robage 3 mod 0 sub dup div add sgn mult *.robage 4 sub sqr dup div mult *972 511 sub dup div 1 sub abs mult *.numties 0 sub dup div 1 sub abs mult *.body 200 sub sqr dup div *.nrg 1000 sub -1 mult sqr dup div add sgn *.nrg 3000 sub -1 mult sqr dup div *.body 500 sub sqr dup div add sgn mult *.robage 8 mod 0 sub dup div add sgn *.robage 4 mod 0 sub dup div add sgn mult *.body 200 sub sqr dup div *.nrg 1000 sub -1 mult sqr dup div add sgn *.nrg 3000 sub -1 mult sqr dup div *.body 500 sub sqr dup div add sgn mult *.robage 8 mod 5 sub dup div add sgn *.robage 4 mod 1 sub dup div add sgn mult *.eye5 50 sub sqr dup div *.refxpos *.refypos angle *.aim sub abs *.refbody 10 div 60 sub sub -1 mult sqr dup div mult *.robage 4 mod 2 sub dup div add sgn mult *.refvelup 2 sub -1 mult sqr dup div *.refvelup 2 sub -1 mult sqr dup div mult *.eye5 50 sub sqr dup div mult *.robage 4 mod 0 sub dup div add sgn mult *.refveldx 2 sub -1 mult sqr dup div *.refvelsx 2 sub -1 mult sqr dup div mult *.eye5 50 sub sqr dup div mult *.robage 4 mod 1 sub dup div add sgn mult *.refshell 0 sub dup div 1 sub abs *.refeye 0 sub dup div 1 sub abs mult *.venom 5 sub -1 mult sqr dup div add sgn *.eye5 20 sub -1 mult sqr dup div add sgn *.robage 4 mod 3 sub dup div add sgn mult *.memval 511 sub dup div mult *.eye5 5 sub sqr dup div mult mult add -3 *.body 100 sub sqr dup div *.nrg 1000 sub -1 mult sqr dup div add sgn *.shflav 0 sub dup div 1 sub abs add sgn *.shflav -2 sub dup div 1 sub abs add sgn *.robage 4 mod 0 sub dup div 1 sub abs add sgn *.eye5 0 sub sqr dup div add sgn *.memval 511 sub dup div 1 sub abs add sgn *.nrg 1000 sub -1 mult sqr dup div *.body 500 sub -1 mult sqr dup div add sgn *.eye5 50 sub sqr dup div add sgn *.eye4 50 sub sqr dup div add sgn *.eye6 50 sub sqr dup div add sgn *.eye3 50 sub sqr dup div add sgn *.eye7 50 sub sqr dup div add sgn *.eye2 50 sub sqr dup div add sgn *.eye8 50 sub sqr dup div add sgn *.robage 3 mod 0 sub dup div add sgn mult *.robage 4 sub sqr dup div mult *972 511 sub dup div 1 sub abs mult *.numties 0 sub dup div 1 sub abs mult *.robage 4 mod 3 sub dup div 1 sub abs mult *.refshell 0 sub sqr dup div *.refeye 0 sub sqr dup div add sgn mult *.memval 511 sub dup div mult *.eye5 20 sub sqr dup div mult *.venom 5 sub sqr dup div mult mult add *.refxpos *.refypos angle *.body 100 sub sqr dup div *.nrg 1000 sub -1 mult sqr dup div add sgn *.shflav 0 sub dup div 1 sub abs add sgn *.shflav -2 sub dup div 1 sub abs add sgn *.robage 4 mod 0 sub dup div 1 sub abs add sgn *.eye5 0 sub sqr dup div add sgn *.memval 511 sub dup div 1 sub abs add sgn *.nrg 1000 sub -1 mult sqr dup div *.body 500 sub -1 mult sqr dup div add sgn *.eye5 50 sub sqr dup div add sgn *.eye4 50 sub sqr dup div add sgn *.eye6 50 sub sqr dup div add sgn *.eye3 50 sub sqr dup div add sgn *.eye7 50 sub sqr dup div add sgn *.eye2 50 sub sqr dup div add sgn *.eye8 50 sub sqr dup div add sgn *.robage 3 mod 0 sub dup div add sgn mult *.robage 4 sub sqr dup div mult *972 511 sub dup div 1 sub abs mult *.numties 0 sub dup div 1 sub abs mult *.refbody 50 sub -1 mult sqr dup div *.refxpos *.refypos angle *.aim sub abs *.refbody 10 div 60 sub sub 1 add 0 floor sgn add sgn mult *.robage 4 mod 2 sub dup div 1 sub abs mult *.memval 511 sub dup div mult *.eye5 0 sub sqr dup div mult mult add *.refveldx 3 rnd add *.body 100 sub sqr dup div *.nrg 1000 sub -1 mult sqr dup div add sgn *.shflav 0 sub dup div 1 sub abs add sgn *.shflav -2 sub dup div 1 sub abs add sgn *.robage 4 mod 0 sub dup div 1 sub abs add sgn *.eye5 0 sub sqr dup div add sgn *.memval 511 sub dup div 1 sub abs add sgn *.nrg 1000 sub -1 mult sqr dup div *.body 500 sub -1 mult sqr dup div add sgn *.eye5 50 sub sqr dup div add sgn *.eye4 50 sub sqr dup div add sgn *.eye6 50 sub sqr dup div add sgn *.eye3 50 sub sqr dup div add sgn *.eye7 50 sub sqr dup div add sgn *.eye2 50 sub sqr dup div add sgn *.eye8 50 sub sqr dup div add sgn *.robage 3 mod 0 sub dup div add sgn mult *.robage 4 sub sqr dup div mult *972 511 sub dup div 1 sub abs mult *.numties 0 sub dup div 1 sub abs mult *.body 200 sub sqr dup div *.nrg 1000 sub -1 mult sqr dup div add sgn *.nrg 3000 sub -1 mult sqr dup div *.body 500 sub sqr dup div add sgn mult *.robage 8 mod 5 sub dup div add sgn mult *.robage 4 mod 1 sub dup div 1 sub abs mult *.eye5 0 sub dup div 1 sub abs *.memval 511 sub dup div 1 sub abs add sgn mult *951 20 add *.robage sub -1 mult sqr dup div mult *951 30 add *.robage sub 1 add 0 floor sgn mult mult add *.refvelup *.body 15 div add *.body 100 sub sqr dup div *.nrg 1000 sub -1 mult sqr dup div add sgn *.shflav 0 sub dup div 1 sub abs add sgn *.shflav -2 sub dup div 1 sub abs add sgn *.robage 4 mod 0 sub dup div 1 sub abs add sgn *.eye5 0 sub sqr dup div add sgn *.memval 511 sub dup div 1 sub abs add sgn *.nrg 1000 sub -1 mult sqr dup div *.body 500 sub -1 mult sqr dup div add sgn *.eye5 50 sub sqr dup div add sgn *.eye4 50 sub sqr dup div add sgn *.eye6 50 sub sqr dup div add sgn *.eye3 50 sub sqr dup div add sgn *.eye7 50 sub sqr dup div add sgn *.eye2 50 sub sqr dup div add sgn *.eye8 50 sub sqr dup div add sgn *.robage 3 mod 0 sub dup div add sgn mult *.robage 4 sub sqr dup div mult *972 511 sub dup div 1 sub abs mult *.numties 0 sub dup div 1 sub abs mult *.body 200 sub sqr dup div *.nrg 1000 sub -1 mult sqr dup div add sgn *.nrg 3000 sub -1 mult sqr dup div *.body 500 sub sqr dup div add sgn mult *.robage 8 mod 0 sub dup div add sgn mult *.robage 4 mod 0 sub dup div 1 sub abs mult *.eye5 0 sub dup div 1 sub abs *.memval 511 sub dup div 1 sub abs add sgn mult *951 20 add *.robage sub -1 mult sqr dup div mult *951 30 add *.robage sub 1 add 0 floor sgn mult mult add *.refveldx *.refveldx add *.body 100 sub sqr dup div *.nrg 1000 sub -1 mult sqr dup div add sgn *.shflav 0 sub dup div 1 sub abs add sgn *.shflav -2 sub dup div 1 sub abs add sgn *.robage 4 mod 0 sub dup div 1 sub abs add sgn *.eye5 0 sub sqr dup div add sgn *.memval 511 sub dup div 1 sub abs add sgn *.nrg 1000 sub -1 mult sqr dup div *.body 500 sub -1 mult sqr dup div add sgn *.eye5 50 sub sqr dup div add sgn *.eye4 50 sub sqr dup div add sgn *.eye6 50 sub sqr dup div add sgn *.eye3 50 sub sqr dup div add sgn *.eye7 50 sub sqr dup div add sgn *.eye2 50 sub sqr dup div add sgn *.eye8 50 sub sqr dup div add sgn *.robage 3 mod 0 sub dup div add sgn mult *.robage 4 sub sqr dup div mult *972 511 sub dup div 1 sub abs mult *.numties 0 sub dup div 1 sub abs mult *.body 200 sub sqr dup div *.nrg 1000 sub -1 mult sqr dup div add sgn *.nrg 3000 sub -1 mult sqr dup div *.body 500 sub sqr dup div add sgn mult *.robage 8 mod 5 sub dup div add sgn mult *.robage 4 mod 1 sub dup div 1 sub abs mult *.eye5 50 sub -1 mult sqr dup div mult *.eye5 0 sub sqr dup div mult *.memval 511 sub dup div mult *.refveldx 2 sub sqr dup div *.refvelsx 2 sub sqr dup div add sgn *.eye5 50 sub -1 mult sqr dup div add sgn mult mult add *.refvelup *.refvelup add *.refxpos *.xpos sub abs *.refypos *.ypos sub abs pyth 7 div add *.body 100 sub sqr dup div *.nrg 1000 sub -1 mult sqr dup div add sgn *.shflav 0 sub dup div 1 sub abs add sgn *.shflav -2 sub dup div 1 sub abs add sgn *.robage 4 mod 0 sub dup div 1 sub abs add sgn *.eye5 0 sub sqr dup div add sgn *.memval 511 sub dup div 1 sub abs add sgn *.nrg 1000 sub -1 mult sqr dup div *.body 500 sub -1 mult sqr dup div add sgn *.eye5 50 sub sqr dup div add sgn *.eye4 50 sub sqr dup div add sgn *.eye6 50 sub sqr dup div add sgn *.eye3 50 sub sqr dup div add sgn *.eye7 50 sub sqr dup div add sgn *.eye2 50 sub sqr dup div add sgn *.eye8 50 sub sqr dup div add sgn *.robage 3 mod 0 sub dup div add sgn mult *.robage 4 sub sqr dup div mult *972 511 sub dup div 1 sub abs mult *.numties 0 sub dup div 1 sub abs mult *.body 200 sub sqr dup div *.nrg 1000 sub -1 mult sqr dup div add sgn *.nrg 3000 sub -1 mult sqr dup div *.body 500 sub sqr dup div add sgn mult *.robage 8 mod 0 sub dup div add sgn mult *.robage 4 mod 0 sub dup div 1 sub abs mult *.eye5 50 sub -1 mult sqr dup div mult *.eye5 0 sub sqr dup div mult *.memval 511 sub dup div mult *.refvelup 2 sub sqr dup div *.refveldn 2 sub sqr dup div add sgn *.eye5 50 sub -1 mult sqr dup div add sgn mult mult add *.refveldx *.body 100 sub sqr dup div *.nrg 1000 sub -1 mult sqr dup div add sgn *.shflav 0 sub dup div 1 sub abs add sgn *.shflav -2 sub dup div 1 sub abs add sgn *.robage 4 mod 0 sub dup div 1 sub abs add sgn *.eye5 0 sub sqr dup div add sgn *.memval 511 sub dup div 1 sub abs add sgn *.nrg 1000 sub -1 mult sqr dup div *.body 500 sub -1 mult sqr dup div add sgn *.eye5 50 sub sqr dup div add sgn *.eye4 50 sub sqr dup div add sgn *.eye6 50 sub sqr dup div add sgn *.eye3 50 sub sqr dup div add sgn *.eye7 50 sub sqr dup div add sgn *.eye2 50 sub sqr dup div add sgn *.eye8 50 sub sqr dup div add sgn *.robage 3 mod 0 sub dup div add sgn mult *.robage 4 sub sqr dup div mult *972 511 sub dup div 1 sub abs mult *.numties 0 sub dup div 1 sub abs mult *.body 200 sub sqr dup div *.nrg 1000 sub -1 mult sqr dup div add sgn *.nrg 3000 sub -1 mult sqr dup div *.body 500 sub sqr dup div add sgn mult *.robage 8 mod 5 sub dup div add sgn mult *.refveldx 2 sub sqr dup div *.refvelsx 2 sub sqr dup div add sgn mult *.memval 511 sub dup div mult *.robage 4 mod 1 sub dup div 1 sub abs mult *.eye5 50 sub sqr dup div mult mult add *.refvelup *.body 100 sub sqr dup div *.nrg 1000 sub -1 mult sqr dup div add sgn *.shflav 0 sub dup div 1 sub abs add sgn *.shflav -2 sub dup div 1 sub abs add sgn *.robage 4 mod 0 sub dup div 1 sub abs add sgn *.eye5 0 sub sqr dup div add sgn *.memval 511 sub dup div 1 sub abs add sgn *.nrg 1000 sub -1 mult sqr dup div *.body 500 sub -1 mult sqr dup div add sgn *.eye5 50 sub sqr dup div add sgn *.eye4 50 sub sqr dup div add sgn *.eye6 50 sub sqr dup div add sgn *.eye3 50 sub sqr dup div add sgn *.eye7 50 sub sqr dup div add sgn *.eye2 50 sub sqr dup div add sgn *.eye8 50 sub sqr dup div add sgn *.robage 3 mod 0 sub dup div add sgn mult *.robage 4 sub sqr dup div mult *972 511 sub dup div 1 sub abs mult *.numties 0 sub dup div 1 sub abs mult *.body 200 sub sqr dup div *.nrg 1000 sub -1 mult sqr dup div add sgn *.nrg 3000 sub -1 mult sqr dup div *.body 500 sub sqr dup div add sgn mult *.robage 8 mod 0 sub dup div add sgn mult *.refvelup 2 sub sqr dup div *.refveldn 2 sub sqr dup div add sgn mult *.memval 511 sub dup div mult *.robage 4 mod 0 sub dup div 1 sub abs mult *.eye5 50 sub sqr dup div mult mult add 3000 *.body 200 sub -1 mult sqr dup div *.nrg 1000 sub sqr dup div mult *.nrg 3000 sub sqr dup div *.body 500 sub -1 mult sqr dup div mult add sgn *.body 100 sub sqr dup div *.nrg 1000 sub -1 mult sqr dup div add sgn *.shflav 0 sub dup div 1 sub abs add sgn *.shflav -2 sub dup div 1 sub abs add sgn *.robage 4 mod 0 sub dup div 1 sub abs add sgn *.eye5 0 sub sqr dup div add sgn *.memval 511 sub dup div 1 sub abs add sgn mult *.robage 4 sub sqr dup div mult *972 511 sub dup div 1 sub abs mult *.numties 0 sub dup div 1 sub abs mult *.eye5 0 sub sqr dup div mult *.memval 511 sub dup div mult *.robage 8 mod 0 sub dup div 1 sub abs *.robage 8 mod 5 sub dup div 1 sub abs add sgn mult mult add *.eye4 *.eye6 sub sgn 35 mult *.nrg 1000 sub -1 mult sqr dup div *.body 500 sub -1 mult sqr dup div add sgn *.eye5 50 sub sqr dup div add sgn *.eye4 50 sub sqr dup div add sgn *.eye6 50 sub sqr dup div add sgn *.eye3 50 sub sqr dup div add sgn *.eye7 50 sub sqr dup div add sgn *.eye2 50 sub sqr dup div add sgn *.eye8 50 sub sqr dup div add sgn *.robage 3 mod 0 sub dup div add sgn *.body 100 sub sqr dup div *.nrg 1000 sub -1 mult sqr dup div add sgn *.shflav 0 sub dup div 1 sub abs add sgn *.shflav -2 sub dup div 1 sub abs add sgn *.robage 4 mod 0 sub dup div 1 sub abs add sgn *.eye5 0 sub sqr dup div add sgn *.memval 511 sub dup div 1 sub abs add sgn mult *.robage 4 sub sqr dup div mult *972 511 sub dup div 1 sub abs mult *.numties 0 sub dup div 1 sub abs mult *.eye6 0 sub sqr dup div *.eye4 0 sub sqr dup div add sgn mult *.eye5 0 sub dup div 1 sub abs mult *.eye6 *.eye4 sub dup div mult *.eye4 *.eye1 sub sqr dup div *.eye4 *.eye2 sub 1 add 0 floor sgn mult *.eye4 *.eye3 sub 1 add 0 floor sgn mult *.eye4 *.eye7 sub 1 add 0 floor sgn mult *.eye4 *.eye8 sub 1 add 0 floor sgn mult *.eye4 *.eye9 sub 1 add 0 floor sgn mult *.eye6 *.eye1 sub 1 add 0 floor sgn *.eye6 *.eye2 sub 1 add 0 floor sgn mult *.eye6 *.eye3 sub 1 add 0 floor sgn mult *.eye6 *.eye7 sub 1 add 0 floor sgn mult *.eye6 *.eye8 sub 1 add 0 floor sgn mult *.eye6 *.eye9 sub 1 add 0 floor sgn mult add sgn mult *951 20 add *.robage sub 1 add 0 floor sgn *951 30 add *.robage sub -1 mult sqr dup div add sgn mult mult add *.eye3 *.eye7 sub sgn 70 mult *.nrg 1000 sub -1 mult sqr dup div *.body 500 sub -1 mult sqr dup div add sgn *.eye5 50 sub sqr dup div add sgn *.eye4 50 sub sqr dup div add sgn *.eye6 50 sub sqr dup div add sgn *.eye3 50 sub sqr dup div add sgn *.eye7 50 sub sqr dup div add sgn *.eye2 50 sub sqr dup div add sgn *.eye8 50 sub sqr dup div add sgn *.robage 3 mod 0 sub dup div add sgn *.body 100 sub sqr dup div *.nrg 1000 sub -1 mult sqr dup div add sgn *.shflav 0 sub dup div 1 sub abs add sgn *.shflav -2 sub dup div 1 sub abs add sgn *.robage 4 mod 0 sub dup div 1 sub abs add sgn *.eye5 0 sub sqr dup div add sgn *.memval 511 sub dup div 1 sub abs add sgn mult *.robage 4 sub sqr dup div mult *972 511 sub dup div 1 sub abs mult *.numties 0 sub dup div 1 sub abs mult *.eye7 *.eye3 sub dup div mult *.eye5 0 sub dup div 1 sub abs mult *.eye3 *.eye1 sub sqr dup div *.eye3 *.eye2 sub sqr dup div mult *.eye3 *.eye4 sub sqr dup div mult *.eye3 *.eye6 sub sqr dup div mult *.eye3 *.eye8 sub sqr dup div mult *.eye3 *.eye9 sub sqr dup div mult *.eye7 *.eye1 sub sqr dup div *.eye7 *.eye2 sub sqr dup div mult *.eye7 *.eye4 sub sqr dup div mult *.eye7 *.eye6 sub sqr dup div mult *.eye7 *.eye8 sub sqr dup div mult *.eye7 *.eye9 sub sqr dup div mult add sgn mult *951 20 add *.robage sub 1 add 0 floor sgn *951 30 add *.robage sub -1 mult sqr dup div add sgn mult mult add *.eye2 *.eye8 sub sgn 104 mult *.nrg 1000 sub -1 mult sqr dup div *.body 500 sub -1 mult sqr dup div add sgn *.eye5 50 sub sqr dup div add sgn *.eye4 50 sub sqr dup div add sgn *.eye6 50 sub sqr dup div add sgn *.eye3 50 sub sqr dup div add sgn *.eye7 50 sub sqr dup div add sgn *.eye2 50 sub sqr dup div add sgn *.eye8 50 sub sqr dup div add sgn *.robage 3 mod 0 sub dup div add sgn *.body 100 sub sqr dup div *.nrg 1000 sub -1 mult sqr dup div add sgn *.shflav 0 sub dup div 1 sub abs add sgn *.shflav -2 sub dup div 1 sub abs add sgn *.robage 4 mod 0 sub dup div 1 sub abs add sgn *.eye5 0 sub sqr dup div add sgn *.memval 511 sub dup div 1 sub abs add sgn mult *.robage 4 sub sqr dup div mult *972 511 sub dup div 1 sub abs mult *.numties 0 sub dup div 1 sub abs mult *.eye8 *.eye2 sub dup div mult *.eye5 0 sub dup div 1 sub abs mult *.eye2 *.eye1 sub sqr dup div *.eye2 *.eye2 sub sqr dup div mult *.eye2 *.eye4 sub sqr dup div mult *.eye2 *.eye6 sub sqr dup div mult *.eye2 *.eye8 sub sqr dup div mult *.eye2 *.eye9 sub sqr dup div mult *.eye8 *.eye1 sub sqr dup div *.eye8 *.eye2 sub sqr dup div mult *.eye8 *.eye4 sub sqr dup div mult *.eye8 *.eye6 sub sqr dup div mult *.eye8 *.eye8 sub sqr dup div mult *.eye8 *.eye9 sub sqr dup div mult add sgn mult *951 20 add *.robage sub 1 add 0 floor sgn *951 30 add *.robage sub -1 mult sqr dup div add sgn mult mult add *.eye1 *.eye9 sub sgn 139 mult *.nrg 1000 sub -1 mult sqr dup div *.body 500 sub -1 mult sqr dup div add sgn *.eye5 50 sub sqr dup div add sgn *.eye4 50 sub sqr dup div add sgn *.eye6 50 sub sqr dup div add sgn *.eye3 50 sub sqr dup div add sgn *.eye7 50 sub sqr dup div add sgn *.eye2 50 sub sqr dup div add sgn *.eye8 50 sub sqr dup div add sgn *.robage 3 mod 0 sub dup div add sgn *.body 100 sub sqr dup div *.nrg 1000 sub -1 mult sqr dup div add sgn *.shflav 0 sub dup div 1 sub abs add sgn *.shflav -2 sub dup div 1 sub abs add sgn *.robage 4 mod 0 sub dup div 1 sub abs add sgn *.eye5 0 sub sqr dup div add sgn *.memval 511 sub dup div 1 sub abs add sgn mult *.robage 4 sub sqr dup div mult *972 511 sub dup div 1 sub abs mult *.numties 0 sub dup div 1 sub abs mult *.eye9 *.eye1 sub dup div mult *.eye5 0 sub dup div 1 sub abs mult *.eye1 *.eye1 sub sqr dup div *.eye1 *.eye2 sub sqr dup div mult *.eye1 *.eye4 sub sqr dup div mult *.eye1 *.eye6 sub sqr dup div mult *.eye1 *.eye8 sub sqr dup div mult *.eye1 *.eye9 sub sqr dup div mult *.eye9 *.eye1 sub sqr dup div *.eye9 *.eye2 sub sqr dup div mult *.eye9 *.eye4 sub sqr dup div mult *.eye9 *.eye6 sub sqr dup div mult *.eye9 *.eye8 sub sqr dup div mult *.eye9 *.eye9 sub sqr dup div mult add sgn mult *951 20 add *.robage sub 1 add 0 floor sgn *951 30 add *.robage sub -1 mult sqr dup div add sgn mult mult add 51 *.robage 4 sub sqr dup div *972 511 sub dup div 1 sub abs mult *.numties 0 sub dup div 1 sub abs mult *.robage 3 mod 0 sub dup div 1 sub abs mult *.nrg 1000 sub sqr dup div mult *.body 500 sub sqr dup div mult *.eye5 50 sub -1 mult sqr dup div mult *.eye4 50 sub -1 mult sqr dup div mult *.eye6 50 sub -1 mult sqr dup div mult *.eye3 50 sub -1 mult sqr dup div mult *.eye7 50 sub -1 mult sqr dup div mult *.eye2 50 sub -1 mult sqr dup div mult *.eye8 50 sub -1 mult sqr dup div mult mult add 200 *.body 100 sub -1 mult sqr dup div *.nrg 1000 sub sqr dup div mult *.shflav 0 sub dup div mult *.shflav -2 sub dup div mult *.robage 4 mod 0 sub dup div mult *.eye5 0 sub sqr dup div mult *.memval 511 sub dup div mult *.robage 4 sub sqr dup div mult *972 511 sub dup div 1 sub abs mult *.numties 0 sub dup div 1 sub abs mult mult add 972 *.robage 6 sub dup div 1 sub abs *972 511 sub dup div mult mult 971 *.robage 5 sub dup div 1 sub abs *971 511 sub dup div mult mult add 6 *.robage 4 sub dup div 1 sub abs mult add 834 *.robage 3 sub dup div 1 sub abs mult add 836 *.robage 2 sub dup div 1 sub abs mult add 835 *.robage 1 sub dup div 1 sub abs mult add 474 *.robage 0 sub dup div 1 sub abs mult add 467 *.robage 4 sub sqr dup div *972 511 sub dup div 1 sub abs mult *.numties 0 sub sqr dup div mult mult add 951 *.body 100 sub sqr dup div *.nrg 1000 sub -1 mult sqr dup div add sgn *.shflav 0 sub dup div 1 sub abs add sgn *.shflav -2 sub dup div 1 sub abs add sgn *.robage 4 mod 0 sub dup div 1 sub abs add sgn *.eye5 0 sub sqr dup div add sgn *.memval 511 sub dup div 1 sub abs add sgn *.nrg 1000 sub -1 mult sqr dup div *.body 500 sub -1 mult sqr dup div add sgn *.eye5 50 sub sqr dup div add sgn *.eye4 50 sub sqr dup div add sgn *.eye6 50 sub sqr dup div add sgn *.eye3 50 sub sqr dup div add sgn *.eye7 50 sub sqr dup div add sgn *.eye2 50 sub sqr dup div add sgn *.eye8 50 sub sqr dup div add sgn *.robage 3 mod 0 sub dup div add sgn mult *.robage 4 sub sqr dup div mult *972 511 sub dup div 1 sub abs mult *.numties 0 sub dup div 1 sub abs mult *.eye9 0 sub dup div 1 sub abs *.eye8 0 sub dup div 1 sub abs mult *.eye7 0 sub dup div 1 sub abs mult *.eye6 0 sub dup div 1 sub abs mult *.eye5 0 sub dup div 1 sub abs mult *.eye4 0 sub dup div 1 sub abs mult *.eye3 0 sub dup div 1 sub abs mult *.eye2 0 sub dup div 1 sub abs mult *.eye1 0 sub dup div 1 sub abs mult *.memval 511 sub dup div 1 sub abs add sgn mult *951 30 add *.robage sub -1 mult sqr dup div mult mult add 826 *.body 100 sub sqr dup div *.nrg 1000 sub -1 mult sqr dup div add sgn *.shflav 0 sub dup div 1 sub abs add sgn *.shflav -2 sub dup div 1 sub abs add sgn *.robage 4 mod 0 sub dup div 1 sub abs add sgn *.eye5 0 sub sqr dup div add sgn *.memval 511 sub dup div 1 sub abs add sgn *.nrg 1000 sub -1 mult sqr dup div *.body 500 sub -1 mult sqr dup div add sgn *.eye5 50 sub sqr dup div add sgn *.eye4 50 sub sqr dup div add sgn *.eye6 50 sub sqr dup div add sgn *.eye3 50 sub sqr dup div add sgn *.eye7 50 sub sqr dup div add sgn *.eye2 50 sub sqr dup div add sgn *.eye8 50 sub sqr dup div add sgn *.robage 3 mod 0 sub dup div add sgn mult *.robage 4 sub sqr dup div mult *972 511 sub dup div 1 sub abs mult *.numties 0 sub dup div 1 sub abs mult *.robage 2 mod 1 sub dup div 1 sub abs mult *951 20 add *.robage sub 1 add 0 floor sgn mult *.poison 50 sub -1 mult sqr dup div mult *.shell 99 sub sqr dup div mult *.venom 199 sub sqr dup div mult *.nrg 700 sub sqr dup div mult *.eye9 0 sub dup div 1 sub abs *.eye8 0 sub dup div 1 sub abs mult *.eye7 0 sub dup div 1 sub abs mult *.eye6 0 sub dup div 1 sub abs mult *.eye5 0 sub dup div 1 sub abs mult *.eye4 0 sub dup div 1 sub abs mult *.eye3 0 sub dup div 1 sub abs mult *.eye2 0 sub dup div 1 sub abs mult *.eye1 0 sub dup div 1 sub abs mult *.memval 511 sub dup div 1 sub abs add sgn mult mult add 822 *.body 100 sub sqr dup div *.nrg 1000 sub -1 mult sqr dup div add sgn *.shflav 0 sub dup div 1 sub abs add sgn *.shflav -2 sub dup div 1 sub abs add sgn *.robage 4 mod 0 sub dup div 1 sub abs add sgn *.eye5 0 sub sqr dup div add sgn *.memval 511 sub dup div 1 sub abs add sgn *.nrg 1000 sub -1 mult sqr dup div *.body 500 sub -1 mult sqr dup div add sgn *.eye5 50 sub sqr dup div add sgn *.eye4 50 sub sqr dup div add sgn *.eye6 50 sub sqr dup div add sgn *.eye3 50 sub sqr dup div add sgn *.eye7 50 sub sqr dup div add sgn *.eye2 50 sub sqr dup div add sgn *.eye8 50 sub sqr dup div add sgn *.robage 3 mod 0 sub dup div add sgn mult *.robage 4 sub sqr dup div mult *972 511 sub dup div 1 sub abs mult *.numties 0 sub dup div 1 sub abs mult *.robage 2 mod 1 sub dup div 1 sub abs mult *951 20 add *.robage sub 1 add 0 floor sgn mult *.shell 100 sub -1 mult sqr dup div mult *.venom 199 sub sqr dup div mult *.nrg 700 sub sqr dup div mult *.eye9 0 sub dup div 1 sub abs *.eye8 0 sub dup div 1 sub abs mult *.eye7 0 sub dup div 1 sub abs mult *.eye6 0 sub dup div 1 sub abs mult *.eye5 0 sub dup div 1 sub abs mult *.eye4 0 sub dup div 1 sub abs mult *.eye3 0 sub dup div 1 sub abs mult *.eye2 0 sub dup div 1 sub abs mult *.eye1 0 sub dup div 1 sub abs mult *.memval 511 sub dup div 1 sub abs add sgn mult mult add 824 *.body 100 sub sqr dup div *.nrg 1000 sub -1 mult sqr dup div add sgn *.shflav 0 sub dup div 1 sub abs add sgn *.shflav -2 sub dup div 1 sub abs add sgn *.robage 4 mod 0 sub dup div 1 sub abs add sgn *.eye5 0 sub sqr dup div add sgn *.memval 511 sub dup div 1 sub abs add sgn *.nrg 1000 sub -1 mult sqr dup div *.body 500 sub -1 mult sqr dup div add sgn *.eye5 50 sub sqr dup div add sgn *.eye4 50 sub sqr dup div add sgn *.eye6 50 sub sqr dup div add sgn *.eye3 50 sub sqr dup div add sgn *.eye7 50 sub sqr dup div add sgn *.eye2 50 sub sqr dup div add sgn *.eye8 50 sub sqr dup div add sgn *.robage 3 mod 0 sub dup div add sgn mult *.robage 4 sub sqr dup div mult *972 511 sub dup div 1 sub abs mult *.numties 0 sub dup div 1 sub abs mult *.robage 2 mod 1 sub dup div 1 sub abs mult *951 20 add *.robage sub 1 add 0 floor sgn mult *.venom 200 sub -1 mult sqr dup div mult *.nrg 500 sub sqr dup div mult *.eye9 0 sub dup div 1 sub abs *.eye8 0 sub dup div 1 sub abs mult *.eye7 0 sub dup div 1 sub abs mult *.eye6 0 sub dup div 1 sub abs mult *.eye5 0 sub dup div 1 sub abs mult *.eye4 0 sub dup div 1 sub abs mult *.eye3 0 sub dup div 1 sub abs mult *.eye2 0 sub dup div 1 sub abs mult *.eye1 0 sub dup div 1 sub abs mult *.memval 511 sub dup div 1 sub abs add sgn mult mult add 313 *.body 100 sub sqr dup div *.nrg 1000 sub -1 mult sqr dup div add sgn *.shflav 0 sub dup div 1 sub abs add sgn *.shflav -2 sub dup div 1 sub abs add sgn *.robage 4 mod 0 sub dup div 1 sub abs add sgn *.eye5 0 sub sqr dup div add sgn *.memval 511 sub dup div 1 sub abs add sgn *.nrg 1000 sub -1 mult sqr dup div *.body 500 sub -1 mult sqr dup div add sgn *.eye5 50 sub sqr dup div add sgn *.eye4 50 sub sqr dup div add sgn *.eye6 50 sub sqr dup div add sgn *.eye3 50 sub sqr dup div add sgn *.eye7 50 sub sqr dup div add sgn *.eye2 50 sub sqr dup div add sgn *.eye8 50 sub sqr dup div add sgn *.robage 3 mod 0 sub dup div add sgn mult *.robage 4 sub sqr dup div mult *972 511 sub dup div 1 sub abs mult *.numties 0 sub dup div 1 sub abs mult *.robage 2 mod 1 sub dup div 1 sub abs mult *951 20 add *.robage sub 1 add 0 floor sgn mult *.poison 49 sub sqr dup div mult *.shell 99 sub sqr dup div mult *.venom 199 sub sqr dup div mult *.nrg 1000 sub sqr dup div *.nrg 3000 sub -1 mult sqr dup div mult *.body 200 sub sqr dup div add sgn *.robage 4 mod 0 sub dup div add sgn *.eye5 0 sub dup div 1 sub abs add sgn *.body 500 sub -1 mult 1 add 0 floor sgn mult mult *.eye9 0 sub dup div 1 sub abs *.eye8 0 sub dup div 1 sub abs mult *.eye7 0 sub dup div 1 sub abs mult *.eye6 0 sub dup div 1 sub abs mult *.eye5 0 sub dup div 1 sub abs mult *.eye4 0 sub dup div 1 sub abs mult *.eye3 0 sub dup div 1 sub abs mult *.eye2 0 sub dup div 1 sub abs mult *.eye1 0 sub dup div 1 sub abs mult *.memval 511 sub dup div 1 sub abs add sgn mult mult add 312 *.body 100 sub sqr dup div *.nrg 1000 sub -1 mult sqr dup div add sgn *.shflav 0 sub dup div 1 sub abs add sgn *.shflav -2 sub dup div 1 sub abs add sgn *.robage 4 mod 0 sub dup div 1 sub abs add sgn *.eye5 0 sub sqr dup div add sgn *.memval 511 sub dup div 1 sub abs add sgn *.nrg 1000 sub -1 mult sqr dup div *.body 500 sub -1 mult sqr dup div add sgn *.eye5 50 sub sqr dup div add sgn *.eye4 50 sub sqr dup div add sgn *.eye6 50 sub sqr dup div add sgn *.eye3 50 sub sqr dup div add sgn *.eye7 50 sub sqr dup div add sgn *.eye2 50 sub sqr dup div add sgn *.eye8 50 sub sqr dup div add sgn *.robage 3 mod 0 sub dup div add sgn mult *.robage 4 sub sqr dup div mult *972 511 sub dup div 1 sub abs mult *.numties 0 sub dup div 1 sub abs mult *.robage 2 mod 1 sub dup div 1 sub abs mult *951 20 add *.robage sub 1 add 0 floor sgn mult *.poison 49 sub sqr dup div mult *.shell 99 sub sqr dup div mult *.venom 199 sub sqr dup div mult *.nrg 500 sub -1 mult sqr dup div mult *.body 20 sub sqr dup div mult *.eye9 0 sub dup div 1 sub abs *.eye8 0 sub dup div 1 sub abs mult *.eye7 0 sub dup div 1 sub abs mult *.eye6 0 sub dup div 1 sub abs mult *.eye5 0 sub dup div 1 sub abs mult *.eye4 0 sub dup div 1 sub abs mult *.eye3 0 sub dup div 1 sub abs mult *.eye2 0 sub dup div 1 sub abs mult *.eye1 0 sub dup div 1 sub abs mult *.memval 511 sub dup div 1 sub abs add sgn mult mult add 6 *.body 100 sub sqr dup div *.nrg 1000 sub -1 mult sqr dup div add sgn *.shflav 0 sub dup div 1 sub abs add sgn *.shflav -2 sub dup div 1 sub abs add sgn *.robage 4 mod 0 sub dup div 1 sub abs add sgn *.eye5 0 sub sqr dup div add sgn *.memval 511 sub dup div 1 sub abs add sgn *.nrg 1000 sub -1 mult sqr dup div *.body 500 sub -1 mult sqr dup div add sgn *.eye5 50 sub sqr dup div add sgn *.eye4 50 sub sqr dup div add sgn *.eye6 50 sub sqr dup div add sgn *.eye3 50 sub sqr dup div add sgn *.eye7 50 sub sqr dup div add sgn *.eye2 50 sub sqr dup div add sgn *.eye8 50 sub sqr dup div add sgn *.robage 3 mod 0 sub dup div add sgn mult *.robage 4 sub sqr dup div mult *972 511 sub dup div 1 sub abs mult *.numties 0 sub dup div 1 sub abs mult *.robage 2 mod 0 sub dup div 1 sub abs mult *951 20 add *.robage sub 1 add 0 floor sgn mult mult add 7 *.body 100 sub sqr dup div *.nrg 1000 sub -1 mult sqr dup div add sgn *.shflav 0 sub dup div 1 sub abs add sgn *.shflav -2 sub dup div 1 sub abs add sgn *.robage 4 mod 0 sub dup div 1 sub abs add sgn *.eye5 0 sub sqr dup div add sgn *.memval 511 sub dup div 1 sub abs add sgn *.nrg 1000 sub -1 mult sqr dup div *.body 500 sub -1 mult sqr dup div add sgn *.eye5 50 sub sqr dup div add sgn *.eye4 50 sub sqr dup div add sgn *.eye6 50 sub sqr dup div add sgn *.eye3 50 sub sqr dup div add sgn *.eye7 50 sub sqr dup div add sgn *.eye2 50 sub sqr dup div add sgn *.eye8 50 sub sqr dup div add sgn *.robage 3 mod 0 sub dup div add sgn mult *.robage 4 sub sqr dup div mult *972 511 sub dup div 1 sub abs mult *.numties 0 sub dup div 1 sub abs mult *.body 200 sub sqr dup div *.nrg 1000 sub -1 mult sqr dup div add sgn *.nrg 3000 sub -1 mult sqr dup div *.body 500 sub sqr dup div add sgn mult *.robage 8 mod 0 sub dup div add sgn *.robage 4 mod 0 sub dup div add sgn mult *.body 200 sub sqr dup div *.nrg 1000 sub -1 mult sqr dup div add sgn *.nrg 3000 sub -1 mult sqr dup div *.body 500 sub sqr dup div add sgn mult *.robage 8 mod 5 sub dup div add sgn *.robage 4 mod 1 sub dup div add sgn mult *.eye5 50 sub sqr dup div *.refxpos *.refypos angle *.aim sub abs *.refbody 10 div 60 sub sub -1 mult sqr dup div mult *.robage 4 mod 2 sub dup div add sgn mult *.refvelup 2 sub -1 mult sqr dup div *.refvelup 2 sub -1 mult sqr dup div mult *.eye5 50 sub sqr dup div mult *.robage 4 mod 0 sub dup div add sgn mult *.refveldx 2 sub -1 mult sqr dup div *.refvelsx 2 sub -1 mult sqr dup div mult *.eye5 50 sub sqr dup div mult *.robage 4 mod 1 sub dup div add sgn mult *.refshell 0 sub dup div 1 sub abs *.refeye 0 sub dup div 1 sub abs mult *.venom 5 sub -1 mult sqr dup div add sgn *.eye5 20 sub -1 mult sqr dup div add sgn *.robage 4 mod 3 sub dup div add sgn mult *.memval 511 sub dup div mult *.eye5 5 sub sqr dup div mult mult add 7 *.body 100 sub sqr dup div *.nrg 1000 sub -1 mult sqr dup div add sgn *.shflav 0 sub dup div 1 sub abs add sgn *.shflav -2 sub dup div 1 sub abs add sgn *.robage 4 mod 0 sub dup div 1 sub abs add sgn *.eye5 0 sub sqr dup div add sgn *.memval 511 sub dup div 1 sub abs add sgn *.nrg 1000 sub -1 mult sqr dup div *.body 500 sub -1 mult sqr dup div add sgn *.eye5 50 sub sqr dup div add sgn *.eye4 50 sub sqr dup div add sgn *.eye6 50 sub sqr dup div add sgn *.eye3 50 sub sqr dup div add sgn *.eye7 50 sub sqr dup div add sgn *.eye2 50 sub sqr dup div add sgn *.eye8 50 sub sqr dup div add sgn *.robage 3 mod 0 sub dup div add sgn mult *.robage 4 sub sqr dup div mult *972 511 sub dup div 1 sub abs mult *.numties 0 sub dup div 1 sub abs mult *.robage 4 mod 3 sub dup div 1 sub abs mult *.refshell 0 sub sqr dup div *.refeye 0 sub sqr dup div add sgn mult *.memval 511 sub dup div mult *.eye5 20 sub sqr dup div mult *.venom 5 sub sqr dup div mult mult add 19 *.body 100 sub sqr dup div *.nrg 1000 sub -1 mult sqr dup div add sgn *.shflav 0 sub dup div 1 sub abs add sgn *.shflav -2 sub dup div 1 sub abs add sgn *.robage 4 mod 0 sub dup div 1 sub abs add sgn *.eye5 0 sub sqr dup div add sgn *.memval 511 sub dup div 1 sub abs add sgn *.nrg 1000 sub -1 mult sqr dup div *.body 500 sub -1 mult sqr dup div add sgn *.eye5 50 sub sqr dup div add sgn *.eye4 50 sub sqr dup div add sgn *.eye6 50 sub sqr dup div add sgn *.eye3 50 sub sqr dup div add sgn *.eye7 50 sub sqr dup div add sgn *.eye2 50 sub sqr dup div add sgn *.eye8 50 sub sqr dup div add sgn *.robage 3 mod 0 sub dup div add sgn mult *.robage 4 sub sqr dup div mult *972 511 sub dup div 1 sub abs mult *.numties 0 sub dup div 1 sub abs mult *.refbody 50 sub -1 mult sqr dup div *.refxpos *.refypos angle *.aim sub abs *.refbody 10 div 60 sub sub 1 add 0 floor sgn add sgn mult *.robage 4 mod 2 sub dup div 1 sub abs mult *.memval 511 sub dup div mult *.eye5 0 sub sqr dup div mult mult add 4 *.body 100 sub sqr dup div *.nrg 1000 sub -1 mult sqr dup div add sgn *.shflav 0 sub dup div 1 sub abs add sgn *.shflav -2 sub dup div 1 sub abs add sgn *.robage 4 mod 0 sub dup div 1 sub abs add sgn *.eye5 0 sub sqr dup div add sgn *.memval 511 sub dup div 1 sub abs add sgn *.nrg 1000 sub -1 mult sqr dup div *.body 500 sub -1 mult sqr dup div add sgn *.eye5 50 sub sqr dup div add sgn *.eye4 50 sub sqr dup div add sgn *.eye6 50 sub sqr dup div add sgn *.eye3 50 sub sqr dup div add sgn *.eye7 50 sub sqr dup div add sgn *.eye2 50 sub sqr dup div add sgn *.eye8 50 sub sqr dup div add sgn *.robage 3 mod 0 sub dup div add sgn mult *.robage 4 sub sqr dup div mult *972 511 sub dup div 1 sub abs mult *.numties 0 sub dup div 1 sub abs mult *.body 200 sub sqr dup div *.nrg 1000 sub -1 mult sqr dup div add sgn *.nrg 3000 sub -1 mult sqr dup div *.body 500 sub sqr dup div add sgn mult *.robage 8 mod 5 sub dup div add sgn mult *.robage 4 mod 1 sub dup div 1 sub abs mult *.eye5 0 sub dup div 1 sub abs *.memval 511 sub dup div 1 sub abs add sgn mult *951 20 add *.robage sub -1 mult sqr dup div mult *951 30 add *.robage sub 1 add 0 floor sgn mult mult add 1 *.body 100 sub sqr dup div *.nrg 1000 sub -1 mult sqr dup div add sgn *.shflav 0 sub dup div 1 sub abs add sgn *.shflav -2 sub dup div 1 sub abs add sgn *.robage 4 mod 0 sub dup div 1 sub abs add sgn *.eye5 0 sub sqr dup div add sgn *.memval 511 sub dup div 1 sub abs add sgn *.nrg 1000 sub -1 mult sqr dup div *.body 500 sub -1 mult sqr dup div add sgn *.eye5 50 sub sqr dup div add sgn *.eye4 50 sub sqr dup div add sgn *.eye6 50 sub sqr dup div add sgn *.eye3 50 sub sqr dup div add sgn *.eye7 50 sub sqr dup div add sgn *.eye2 50 sub sqr dup div add sgn *.eye8 50 sub sqr dup div add sgn *.robage 3 mod 0 sub dup div add sgn mult *.robage 4 sub sqr dup div mult *972 511 sub dup div 1 sub abs mult *.numties 0 sub dup div 1 sub abs mult *.body 200 sub sqr dup div *.nrg 1000 sub -1 mult sqr dup div add sgn *.nrg 3000 sub -1 mult sqr dup div *.body 500 sub sqr dup div add sgn mult *.robage 8 mod 0 sub dup div add sgn mult *.robage 4 mod 0 sub dup div 1 sub abs mult *.eye5 0 sub dup div 1 sub abs *.memval 511 sub dup div 1 sub abs add sgn mult *951 20 add *.robage sub -1 mult sqr dup div mult *951 30 add *.robage sub 1 add 0 floor sgn mult mult add 4 *.body 100 sub sqr dup div *.nrg 1000 sub -1 mult sqr dup div add sgn *.shflav 0 sub dup div 1 sub abs add sgn *.shflav -2 sub dup div 1 sub abs add sgn *.robage 4 mod 0 sub dup div 1 sub abs add sgn *.eye5 0 sub sqr dup div add sgn *.memval 511 sub dup div 1 sub abs add sgn *.nrg 1000 sub -1 mult sqr dup div *.body 500 sub -1 mult sqr dup div add sgn *.eye5 50 sub sqr dup div add sgn *.eye4 50 sub sqr dup div add sgn *.eye6 50 sub sqr dup div add sgn *.eye3 50 sub sqr dup div add sgn *.eye7 50 sub sqr dup div add sgn *.eye2 50 sub sqr dup div add sgn *.eye8 50 sub sqr dup div add sgn *.robage 3 mod 0 sub dup div add sgn mult *.robage 4 sub sqr dup div mult *972 511 sub dup div 1 sub abs mult *.numties 0 sub dup div 1 sub abs mult *.body 200 sub sqr dup div *.nrg 1000 sub -1 mult sqr dup div add sgn *.nrg 3000 sub -1 mult sqr dup div *.body 500 sub sqr dup div add sgn mult *.robage 8 mod 5 sub dup div add sgn mult *.robage 4 mod 1 sub dup div 1 sub abs mult *.eye5 50 sub -1 mult sqr dup div mult *.eye5 0 sub sqr dup div mult *.memval 511 sub dup div mult *.refveldx 2 sub sqr dup div *.refvelsx 2 sub sqr dup div add sgn *.eye5 50 sub -1 mult sqr dup div add sgn mult mult add 1 *.body 100 sub sqr dup div *.nrg 1000 sub -1 mult sqr dup div add sgn *.shflav 0 sub dup div 1 sub abs add sgn *.shflav -2 sub dup div 1 sub abs add sgn *.robage 4 mod 0 sub dup div 1 sub abs add sgn *.eye5 0 sub sqr dup div add sgn *.memval 511 sub dup div 1 sub abs add sgn *.nrg 1000 sub -1 mult sqr dup div *.body 500 sub -1 mult sqr dup div add sgn *.eye5 50 sub sqr dup div add sgn *.eye4 50 sub sqr dup div add sgn *.eye6 50 sub sqr dup div add sgn *.eye3 50 sub sqr dup div add sgn *.eye7 50 sub sqr dup div add sgn *.eye2 50 sub sqr dup div add sgn *.eye8 50 sub sqr dup div add sgn *.robage 3 mod 0 sub dup div add sgn mult *.robage 4 sub sqr dup div mult *972 511 sub dup div 1 sub abs mult *.numties 0 sub dup div 1 sub abs mult *.body 200 sub sqr dup div *.nrg 1000 sub -1 mult sqr dup div add sgn *.nrg 3000 sub -1 mult sqr dup div *.body 500 sub sqr dup div add sgn mult *.robage 8 mod 0 sub dup div add sgn mult *.robage 4 mod 0 sub dup div 1 sub abs mult *.eye5 50 sub -1 mult sqr dup div mult *.eye5 0 sub sqr dup div mult *.memval 511 sub dup div mult *.refvelup 2 sub sqr dup div *.refveldn 2 sub sqr dup div add sgn *.eye5 50 sub -1 mult sqr dup div add sgn mult mult add 4 *.body 100 sub sqr dup div *.nrg 1000 sub -1 mult sqr dup div add sgn *.shflav 0 sub dup div 1 sub abs add sgn *.shflav -2 sub dup div 1 sub abs add sgn *.robage 4 mod 0 sub dup div 1 sub abs add sgn *.eye5 0 sub sqr dup div add sgn *.memval 511 sub dup div 1 sub abs add sgn *.nrg 1000 sub -1 mult sqr dup div *.body 500 sub -1 mult sqr dup div add sgn *.eye5 50 sub sqr dup div add sgn *.eye4 50 sub sqr dup div add sgn *.eye6 50 sub sqr dup div add sgn *.eye3 50 sub sqr dup div add sgn *.eye7 50 sub sqr dup div add sgn *.eye2 50 sub sqr dup div add sgn *.eye8 50 sub sqr dup div add sgn *.robage 3 mod 0 sub dup div add sgn mult *.robage 4 sub sqr dup div mult *972 511 sub dup div 1 sub abs mult *.numties 0 sub dup div 1 sub abs mult *.body 200 sub sqr dup div *.nrg 1000 sub -1 mult sqr dup div add sgn *.nrg 3000 sub -1 mult sqr dup div *.body 500 sub sqr dup div add sgn mult *.robage 8 mod 5 sub dup div add sgn mult *.refveldx 2 sub sqr dup div *.refvelsx 2 sub sqr dup div add sgn mult *.memval 511 sub dup div mult *.robage 4 mod 1 sub dup div 1 sub abs mult *.eye5 50 sub sqr dup div mult mult add 1 *.body 100 sub sqr dup div *.nrg 1000 sub -1 mult sqr dup div add sgn *.shflav 0 sub dup div 1 sub abs add sgn *.shflav -2 sub dup div 1 sub abs add sgn *.robage 4 mod 0 sub dup div 1 sub abs add sgn *.eye5 0 sub sqr dup div add sgn *.memval 511 sub dup div 1 sub abs add sgn *.nrg 1000 sub -1 mult sqr dup div *.body 500 sub -1 mult sqr dup div add sgn *.eye5 50 sub sqr dup div add sgn *.eye4 50 sub sqr dup div add sgn *.eye6 50 sub sqr dup div add sgn *.eye3 50 sub sqr dup div add sgn *.eye7 50 sub sqr dup div add sgn *.eye2 50 sub sqr dup div add sgn *.eye8 50 sub sqr dup div add sgn *.robage 3 mod 0 sub dup div add sgn mult *.robage 4 sub sqr dup div mult *972 511 sub dup div 1 sub abs mult *.numties 0 sub dup div 1 sub abs mult *.body 200 sub sqr dup div *.nrg 1000 sub -1 mult sqr dup div add sgn *.nrg 3000 sub -1 mult sqr dup div *.body 500 sub sqr dup div add sgn mult *.robage 8 mod 0 sub dup div add sgn mult *.refvelup 2 sub sqr dup div *.refveldn 2 sub sqr dup div add sgn mult *.memval 511 sub dup div mult *.robage 4 mod 0 sub dup div 1 sub abs mult *.eye5 50 sub sqr dup div mult mult add 313 *.body 200 sub -1 mult sqr dup div *.nrg 1000 sub sqr dup div mult *.nrg 3000 sub sqr dup div *.body 500 sub -1 mult sqr dup div mult add sgn *.body 100 sub sqr dup div *.nrg 1000 sub -1 mult sqr dup div add sgn *.shflav 0 sub dup div 1 sub abs add sgn *.shflav -2 sub dup div 1 sub abs add sgn *.robage 4 mod 0 sub dup div 1 sub abs add sgn *.eye5 0 sub sqr dup div add sgn *.memval 511 sub dup div 1 sub abs add sgn mult *.robage 4 sub sqr dup div mult *972 511 sub dup div 1 sub abs mult *.numties 0 sub dup div 1 sub abs mult *.eye5 0 sub sqr dup div mult *.memval 511 sub dup div mult *.robage 8 mod 0 sub dup div 1 sub abs *.robage 8 mod 5 sub dup div 1 sub abs add sgn mult mult add 6 *.nrg 1000 sub -1 mult sqr dup div *.body 500 sub -1 mult sqr dup div add sgn *.eye5 50 sub sqr dup div add sgn *.eye4 50 sub sqr dup div add sgn *.eye6 50 sub sqr dup div add sgn *.eye3 50 sub sqr dup div add sgn *.eye7 50 sub sqr dup div add sgn *.eye2 50 sub sqr dup div add sgn *.eye8 50 sub sqr dup div add sgn *.robage 3 mod 0 sub dup div add sgn *.body 100 sub sqr dup div *.nrg 1000 sub -1 mult sqr dup div add sgn *.shflav 0 sub dup div 1 sub abs add sgn *.shflav -2 sub dup div 1 sub abs add sgn *.robage 4 mod 0 sub dup div 1 sub abs add sgn *.eye5 0 sub sqr dup div add sgn *.memval 511 sub dup div 1 sub abs add sgn mult *.robage 4 sub sqr dup div mult *972 511 sub dup div 1 sub abs mult *.numties 0 sub dup div 1 sub abs mult *.eye6 0 sub sqr dup div *.eye4 0 sub sqr dup div add sgn mult *.eye5 0 sub dup div 1 sub abs mult *.eye6 *.eye4 sub dup div mult *.eye4 *.eye1 sub sqr dup div *.eye4 *.eye2 sub 1 add 0 floor sgn mult *.eye4 *.eye3 sub 1 add 0 floor sgn mult *.eye4 *.eye7 sub 1 add 0 floor sgn mult *.eye4 *.eye8 sub 1 add 0 floor sgn mult *.eye4 *.eye9 sub 1 add 0 floor sgn mult *.eye6 *.eye1 sub 1 add 0 floor sgn *.eye6 *.eye2 sub 1 add 0 floor sgn mult *.eye6 *.eye3 sub 1 add 0 floor sgn mult *.eye6 *.eye7 sub 1 add 0 floor sgn mult *.eye6 *.eye8 sub 1 add 0 floor sgn mult *.eye6 *.eye9 sub 1 add 0 floor sgn mult add sgn mult *951 20 add *.robage sub 1 add 0 floor sgn *951 30 add *.robage sub -1 mult sqr dup div add sgn mult mult add 6 *.nrg 1000 sub -1 mult sqr dup div *.body 500 sub -1 mult sqr dup div add sgn *.eye5 50 sub sqr dup div add sgn *.eye4 50 sub sqr dup div add sgn *.eye6 50 sub sqr dup div add sgn *.eye3 50 sub sqr dup div add sgn *.eye7 50 sub sqr dup div add sgn *.eye2 50 sub sqr dup div add sgn *.eye8 50 sub sqr dup div add sgn *.robage 3 mod 0 sub dup div add sgn *.body 100 sub sqr dup div *.nrg 1000 sub -1 mult sqr dup div add sgn *.shflav 0 sub dup div 1 sub abs add sgn *.shflav -2 sub dup div 1 sub abs add sgn *.robage 4 mod 0 sub dup div 1 sub abs add sgn *.eye5 0 sub sqr dup div add sgn *.memval 511 sub dup div 1 sub abs add sgn mult *.robage 4 sub sqr dup div mult *972 511 sub dup div 1 sub abs mult *.numties 0 sub dup div 1 sub abs mult *.eye7 *.eye3 sub dup div mult *.eye5 0 sub dup div 1 sub abs mult *.eye3 *.eye1 sub sqr dup div *.eye3 *.eye2 sub sqr dup div mult *.eye3 *.eye4 sub sqr dup div mult *.eye3 *.eye6 sub sqr dup div mult *.eye3 *.eye8 sub sqr dup div mult *.eye3 *.eye9 sub sqr dup div mult *.eye7 *.eye1 sub sqr dup div *.eye7 *.eye2 sub sqr dup div mult *.eye7 *.eye4 sub sqr dup div mult *.eye7 *.eye6 sub sqr dup div mult *.eye7 *.eye8 sub sqr dup div mult *.eye7 *.eye9 sub sqr dup div mult add sgn mult *951 20 add *.robage sub 1 add 0 floor sgn *951 30 add *.robage sub -1 mult sqr dup div add sgn mult mult add 6 *.nrg 1000 sub -1 mult sqr dup div *.body 500 sub -1 mult sqr dup div add sgn *.eye5 50 sub sqr dup div add sgn *.eye4 50 sub sqr dup div add sgn *.eye6 50 sub sqr dup div add sgn *.eye3 50 sub sqr dup div add sgn *.eye7 50 sub sqr dup div add sgn *.eye2 50 sub sqr dup div add sgn *.eye8 50 sub sqr dup div add sgn *.robage 3 mod 0 sub dup div add sgn *.body 100 sub sqr dup div *.nrg 1000 sub -1 mult sqr dup div add sgn *.shflav 0 sub dup div 1 sub abs add sgn *.shflav -2 sub dup div 1 sub abs add sgn *.robage 4 mod 0 sub dup div 1 sub abs add sgn *.eye5 0 sub sqr dup div add sgn *.memval 511 sub dup div 1 sub abs add sgn mult *.robage 4 sub sqr dup div mult *972 511 sub dup div 1 sub abs mult *.numties 0 sub dup div 1 sub abs mult *.eye8 *.eye2 sub dup div mult *.eye5 0 sub dup div 1 sub abs mult *.eye2 *.eye1 sub sqr dup div *.eye2 *.eye2 sub sqr dup div mult *.eye2 *.eye4 sub sqr dup div mult *.eye2 *.eye6 sub sqr dup div mult *.eye2 *.eye8 sub sqr dup div mult *.eye2 *.eye9 sub sqr dup div mult *.eye8 *.eye1 sub sqr dup div *.eye8 *.eye2 sub sqr dup div mult *.eye8 *.eye4 sub sqr dup div mult *.eye8 *.eye6 sub sqr dup div mult *.eye8 *.eye8 sub sqr dup div mult *.eye8 *.eye9 sub sqr dup div mult add sgn mult *951 20 add *.robage sub 1 add 0 floor sgn *951 30 add *.robage sub -1 mult sqr dup div add sgn mult mult add 6 *.nrg 1000 sub -1 mult sqr dup div *.body 500 sub -1 mult sqr dup div add sgn *.eye5 50 sub sqr dup div add sgn *.eye4 50 sub sqr dup div add sgn *.eye6 50 sub sqr dup div add sgn *.eye3 50 sub sqr dup div add sgn *.eye7 50 sub sqr dup div add sgn *.eye2 50 sub sqr dup div add sgn *.eye8 50 sub sqr dup div add sgn *.robage 3 mod 0 sub dup div add sgn *.body 100 sub sqr dup div *.nrg 1000 sub -1 mult sqr dup div add sgn *.shflav 0 sub dup div 1 sub abs add sgn *.shflav -2 sub dup div 1 sub abs add sgn *.robage 4 mod 0 sub dup div 1 sub abs add sgn *.eye5 0 sub sqr dup div add sgn *.memval 511 sub dup div 1 sub abs add sgn mult *.robage 4 sub sqr dup div mult *972 511 sub dup div 1 sub abs mult *.numties 0 sub dup div 1 sub abs mult *.eye9 *.eye1 sub dup div mult *.eye5 0 sub dup div 1 sub abs mult *.eye1 *.eye1 sub sqr dup div *.eye1 *.eye2 sub sqr dup div mult *.eye1 *.eye4 sub sqr dup div mult *.eye1 *.eye6 sub sqr dup div mult *.eye1 *.eye8 sub sqr dup div mult *.eye1 *.eye9 sub sqr dup div mult *.eye9 *.eye1 sub sqr dup div *.eye9 *.eye2 sub sqr dup div mult *.eye9 *.eye4 sub sqr dup div mult *.eye9 *.eye6 sub sqr dup div mult *.eye9 *.eye8 sub sqr dup div mult *.eye9 *.eye9 sub sqr dup div mult add sgn mult *951 20 add *.robage sub 1 add 0 floor sgn *951 30 add *.robage sub -1 mult sqr dup div add sgn mult mult add 300 *.robage 4 sub sqr dup div *972 511 sub dup div 1 sub abs mult *.numties 0 sub dup div 1 sub abs mult *.robage 3 mod 0 sub dup div 1 sub abs mult *.nrg 1000 sub sqr dup div mult *.body 500 sub sqr dup div mult *.eye5 50 sub -1 mult sqr dup div mult *.eye4 50 sub -1 mult sqr dup div mult *.eye6 50 sub -1 mult sqr dup div mult *.eye3 50 sub -1 mult sqr dup div mult *.eye7 50 sub -1 mult sqr dup div mult *.eye2 50 sub -1 mult sqr dup div mult *.eye8 50 sub -1 mult sqr dup div mult mult add 4 *.body 100 sub -1 mult sqr dup div *.nrg 1000 sub sqr dup div mult *.shflav 0 sub dup div mult *.shflav -2 sub dup div mult *.robage 4 mod 0 sub dup div mult *.eye5 0 sub sqr dup div mult *.memval 511 sub dup div mult *.robage 4 sub sqr dup div mult *972 511 sub dup div 1 sub abs mult *.numties 0 sub dup div 1 sub abs mult mult add store
stop
end

34
Single store / Bardus (1S) (Moonfisher)
« on: March 19, 2008, 05:00:01 AM »
I know I sais I wasn't gonna be making bots atm, but saw Nano and just had to try something like that. although this things is less random...

Code: [Select]
'1 store bot
'Moonfisher

'1 store bot
'Moonfisher

cond
start
*.tiepres *.robage 1 sub dup div 1 sub abs mult 220 *.robage 0 sub dup div 1 sub abs mult add 535 *.robage 2 sub dup div 1 sub abs mult add 1000 *.nrg *.body 2 mult sub sqr dup div *.eyef 0 sub dup div 1 sub abs mult *.body 3000 sub -1 mult sqr dup div mult *.robage 2 sub sqr dup div mult *.numties 0 sub dup div 1 sub abs mult mult add *.refxpos *.refypos angle *.robage 2 sub sqr dup div *.eyef 0 sub sqr dup div mult *.memval 220 sub dup div mult *.robage 3 mod 0 sub dup div 1 sub abs mult *.numties 0 sub dup div 1 sub abs mult mult add 10 *.robage 2 sub sqr dup div *.eyef 0 sub sqr dup div mult *.memval 220 sub dup div mult *.robage 3 mod 1 sub dup div 1 sub abs mult *.numties 0 sub dup div 1 sub abs mult mult add -1 *.robage 2 sub sqr dup div *.eyef 0 sub sqr dup div mult *.memval 220 sub dup div mult *.robage 3 mod 2 sub dup div 1 sub abs mult *.numties 0 sub dup div 1 sub abs mult mult add 50 *.eyef 0 sub dup div 1 sub abs *.body 3000 sub sqr dup div mult *.robage 2 sub sqr dup div mult *.numties 0 sub dup div 1 sub abs mult mult add 20 *.eyef 0 sub sqr dup div *.memval 220 sub dup div 1 sub abs mult *.numties 0 sub dup div 1 sub abs mult mult add 3 *.eyef 0 sub dup div 1 sub abs *.robage 2 sub sqr dup div mult *.body 2999 sub -1 mult sqr dup div mult *.body *.nrg 2 div sub sqr dup div mult *.numties 0 sub dup div 1 sub abs mult mult add *.tiepres *.numties 0 sub sqr dup div *.robage 2 sub sqr dup div mult mult add 467 *.robage 1 sub dup div 1 sub abs mult 535 *.robage 0 sub dup div 1 sub abs mult add 474 *.robage 2 sub dup div 1 sub abs mult add 313 *.nrg *.body 2 mult sub sqr dup div *.eyef 0 sub dup div 1 sub abs mult *.body 3000 sub -1 mult sqr dup div mult *.robage 2 sub sqr dup div mult *.numties 0 sub dup div 1 sub abs mult mult add 19 *.robage 2 sub sqr dup div *.eyef 0 sub sqr dup div mult *.memval 220 sub dup div mult *.robage 3 mod 0 sub dup div 1 sub abs mult *.numties 0 sub dup div 1 sub abs mult mult add 1 *.robage 2 sub sqr dup div *.eyef 0 sub sqr dup div mult *.memval 220 sub dup div mult *.robage 3 mod 1 sub dup div 1 sub abs mult *.numties 0 sub dup div 1 sub abs mult mult add 7 *.robage 2 sub sqr dup div *.eyef 0 sub sqr dup div mult *.memval 220 sub dup div mult *.robage 3 mod 2 sub dup div 1 sub abs mult *.numties 0 sub dup div 1 sub abs mult mult add 300 *.eyef 0 sub dup div 1 sub abs *.body 3000 sub sqr dup div mult *.robage 2 sub sqr dup div mult *.numties 0 sub dup div 1 sub abs mult mult add 6 *.eyef 0 sub sqr dup div *.memval 220 sub dup div 1 sub abs mult *.numties 0 sub dup div 1 sub abs mult mult add 1 *.eyef 0 sub dup div 1 sub abs *.robage 2 sub sqr dup div mult *.body 2999 sub -1 mult sqr dup div mult *.body *.nrg 2 div sub sqr dup div mult *.numties 0 sub dup div 1 sub abs mult mult add 467 *.numties 0 sub sqr dup div *.robage 2 sub sqr dup div mult mult add store
stop
end

35
F1 bots / TieFighters (Work in progress)
« on: March 17, 2008, 09:18:12 AM »
Ok, I know how this looks, it's horrible and messy and it's not even 10% done.... but I wanted to show off the tricks I'm using before Abyaly beats me to releasing the rest of my ideas
It beats everything I've tryed except Pacifist and Etch II, it shouldn't be far away from beating pacifist, but as mentioned above....
It can whipe out alge in no time, but Etch uses the same strategy and does it better, I think using venom to shoot -1 into the alges tieloc was a bad call (Range is too short, cost is too high), should just stick to mem shots.
But it does have a cool attack, watch it kill of bots that don't accept ties only using ties (Not shots). The attack is a litle slow and not realy perfected, but it looks cool

The code execution costs are horribly high, I never start to optimize costs till all actions are perfected, and my code gets pretty messy over time so there's a lot of redundant stuff...
Also I was working on a new behavior to take controll over an alge, but never got it to work propperly.... was going to start over with a new strategy... I guess I may aswell reveal it, was thinking of shrinking an alge and bringing it close, then fixpos on the bot and the alge and let the bot grow to envelop the alge and protect it, what I'm getting at is theres a large code section that does nothing
Problem is either I need a virus in the alge to keey tieloc at -1 or I need to tie 2 bots to it... and both are a problem againt Etch since it kills the alge too fast... would need a virus that breaks ties from enemies or kills them through it... and that would make the virus longer, more channel time.... generaly the whole idea seems like it would be too slow to beat....

Either way, from looking at the tie comands used, if all triks work, then it would take some serious effort to beat the new Etch, would need a lot of defences and counter moves and what not...
I might try a few things now and then to see if I can find a weakness to exploit... but if I do it's only a matter of a small update of Etch II and I would be back to second place, it realy bugs me that the design is so neat and simple and clean, but the one behavior used is just so much better than what I was trying....
I know I could probably improve this thing a lot... by looking at Etch II.... but wheres the fun in that ? And there would be no point since Etch II is what I need to beat !!!

So here it is... didn't bother thinking of a good name, didn't bother cleaning it or optimizing or anything.... I just know I won't have time to finish this thing any time soon, so wanted to release it before Abyaly does something similar

Also from what I understand ties didn't work in earlyer version.... so here I thought I was coming up with great new tricks for ties, when I was realy reinventing the wheel... I bet Abyaly had the alge feeding idea ages ago but couldn't get it to work...  but it was nice to feel smart while it lasted
I may be back once my thesis is done to take another wack at Etch II, but for now I need a break from DB, if I'm gonna be writing code and documentation all day long I can't spend the litle time I get to relax writing more code...



[div class=\'codetop\']CODE[div class=\'codemain\' style=\'height:200px;white-space:pre;overflow:auto\']
Code: [Select]
def birthx 971
def birthy 972
def birthtask 973
def birthtaskoffset 974
def birthsyncoffset 975
def state 755
def task 756
def timestamp 757
def tied 758
def tiekey 759
def key 760
def gotatask 761
def refkey 762
def trefkey 763
def tracknrg 764
def check1 765
def check2 766
def check3 767
def check4 768
def check5 769
def check6 770
def check7 771
def check8 772
def check9 773
def sucking 774   
def offset 775
def vkey 776
def taskoffset 777


cond
*.robage 0 =
start
124 .eye1width store
490 .eye1dir store
124 .eye2width store
210 .eye2dir store
124 .eye3width store
402 .eye3dir store
124 .eye4width store
125 .eye4dir store
124 .eye6width store
979 .eye6dir store
124 .eye7width store
1170 .eye7dir store
124 .eye8width store
893 .eye8dir store
124 .eye5width store
1220 .eye9width store
45 .vkey store
.key .tmemloc store
.key .memloc store
*.tiepres .deltie store
stop

cond
*.robage 0 =
*.nrg 500 >
start
50 .strvenom store
stop

cond
*.robage 40 add 40 mod 0 =
start
*.robage 1000 add .key store
stop

cond
*.memval *.refage 950 add >
*.memval *.refage 1001 add <
start
*.memval .refkey store
stop

cond
*.tmemval *.trefage 955 add >
*.tmemval *.trefage 1005 add <
start
*.tmemval .trefkey store
stop

cond
*.birthtask 0 !=
*.task 0 =
start
*.birthtask .task store
*.birthtaskoffset .taskoffset store
*.robage .gotatask store
stop

cond
*.birthtask 0 !=
start
0 .birthtask store
stop

cond
*.robage 3 <
*.nrg 3000 %=
*.body 1000 %=
*.task 0 =
start
'F1 spread
100 .task store
stop

cond
*.task 102 =
*.state 1 =
start
100 .up store
stop

cond
*.task 102 =
*.state 0 =
start
682 .aimsx store
100 .up store
1 .state store
stop

cond
*.task 101 =
*.state 2 =
start
100 .up store
stop

cond
*.task 101 =
*.state 1 =
start
170 .aimsx store
100 .up store
2 .state store
stop

cond
*.task 101 =
*.state 0 =
start
682 .aimsx store
102 .birthtask store
1 .state store
50 .repro store
stop

cond
*.task 100 =
*.state 5 =
*.robage 8 <
start
*.tiepres .deltie store
*.offset 170 add .offset store
341 *.offset add .setaim store
0 .state store
stop

cond
*.task 100 =
*.state 5 =
*.robage 8 >=
start
*.tiepres .deltie store
1200 rnd .setaim store
0 .state store
102 .task store
stop

cond
*.task 100 =
*.state 4 =
start
*.tiepres .deltie store
0 *.offset add .setaim store
101 .birthtask store
5 .state store
stop

cond
*.task 100 =
*.state 3 =
start
*.tiepres .deltie store
0 *.offset add .setaim store
50 .repro store
101 .birthtask store
4 .state store
stop

cond
*.task 100 =
*.state 2 =
start
*.tiepres .deltie store
1023 *.offset add .setaim store
50 .repro store
101 .birthtask store
3 .state store
stop

cond
*.task 100 =
*.state 1 =
start
*.tiepres .deltie store
682 *.offset add .setaim store
33 .repro store
101 .birthtask store
2 .state store
stop

cond
*.task 100 =
*.state 0 =
start
341 *.offset add .setaim store
25 .repro store
101 .birthtask store
1 .state store
stop

cond
*.trefnrg *.tracknrg 50 sub <
*.trefnrg 0 !=
start
1 .sucking store
stop

cond
*.trefnrg *.tracknrg 50 sub >
*.trefnrg 0 =
or
start
0 .sucking store
stop

cond
*.eyef 0 =
*.memval *.refkey =
or
*.task 0 =
*.robage 20 >
start
*.robage 9 mod 4 sub .focuseye store
stop



cond
*.shflav 0 !=
*.task 0 =
*.nrg 10 >
start
'30 rnd .aimsx store
5 20 rnd .dx store
10 30 rnd .up store
0 .shflav store
stop

cond
*.fixpos 0 !=
start
0 .fixpos store
stop

cond
*.shell 200 <
*.nrg 200 >
start
100 .mkshell store
stop


cond
*.venom 50 <
*.task 0 =
*.robage 5 >
*.nrg 1000 >
start
10 .strvenom store
stop

cond
*.totalmyspecies 200 <
*.nrg 1000 <
or
*.task 1 !=
*.task 2 !=
*.task 3 !=
*.task 4 !=
*.task 5 !=
*.task 20 !=
*.task 21 !=
*.task 100 !=
*.task 101 !=
*.eyef 0 >
*.memval *.refkey !=
*.refeye 0 =
*.refshoot 0 =
*.refshell 0 =
*.refpoison 0 =
*.refvenom 0 =
start
4 .task store
*.robage .gotatask store
stop

cond
*.eyef 0 =
*.memval *.refkey =
or
*.task 4 =
*.numties 0 =
start
0 .task store
stop

cond
*.numties 0 =
*.task 4 =
start
*.refxpos *.refypos angle .setaim store
0 .focuseye store
1 .tie store
*.veldx .sx store
*.xpos *.refxpos sub abs *.ypos *.refypos sub abs pyth 10 div .up store
stop

cond
*.numties 0 >
*.task 5 =
start
*.trefxpos *.trefypos angle .setaim store
0 .focuseye store
*.tiepres .tienum store
40 .stifftie store
.tieval .tieloc store
1000 .tieval store
*.veldx .sx store
*.tielen 10 div 0 floor .up store
*.robage .timestamp store
*.robage .gotatask store
stop

cond
*.numties 0 >
*.task 5 =
*.venom 10 >=
*.tielen 100 <
start
.tieloc .vloc store
-1 .venval store
-3 .shoot store
100 .shootval store
stop

cond
*.venom 10 <
*.numties 0 >
*.task 5 =
*.tielen 100 <
start
.tieloc .shoot store
-1 .shootval store
stop

cond
*.numties 0 >
*.task 4 =
start
*.trefxpos *.trefypos angle .setaim store
0 .focuseye store
*.tiepres .tienum store
.fixpos .tieloc store
1 .tieval store
*.veldx .sx store
5 .task store
*.robage .timestamp store
*.robage .gotatask store
stop

cond
*.task 4 =
*.task 5 =
or
*.veldn 0 >
start
1 .fixpos store
stop

cond
*.task 4 =
*.task 5 =
or
*.vel 2 >
*.xpos *.refxpos sub abs *.ypos *.refypos sub abs pyth 50 <
start
1 .fixpos store
stop


cond
*.nrg 150 <
*.task 0 =
*.robage 10 >
start
10 .task store
*.robage .gotatask store
stop

cond
*.nrg 150 >
*.task 10 =
start
0 .task store
stop

cond
*.task 10 =
*.eyef 0 >
*.memval *.refkey !=
*.numties 0 =
start
*.refxpos *.refypos angle .setaim store
0 .focuseye store
1 .tie store
*.robage .gotatask store
1 .fixpos store
stop

cond
*.task 10 =
*.tmemval *.trefkey !=
*.trefbody 5 >
*.numties 0 >
start
*.trefxpos *.trefypos angle .setaim store
0 .focuseye store
1 .fixpos store
*.tiepres .tienum store
40 .stifftie store
*.tielen 10 add .fixlen store
.mkshell .tieloc store
1000 .tieval store
*.robage .gotatask store
stop

cond
*.task 10 =
*.tmemval *.trefkey !=
*.trefbody 7 <
*.numties 0 >
start
*.trefxpos *.trefypos angle .setaim store
0 .focuseye store
1 .fixpos store
*.tiepres .tienum store
40 .stifftie store
*.tielen 10 add .fixlen store
'.mkshell .tieloc store
.fdbody .tieloc store
1000 .tieval store
*.robage .gotatask store
stop

cond
*.task 10 =
*.tmemval *.trefkey =
*.numties 0 >
start
0 .focuseye store
*.tiepres .deltie store
stop

cond
*.task 10 =
*.focuseye 0 =
*.eyef 40 >
*.memval *.refkey !=
*.venom 10 >=
start
.shoot .vloc store
-2 .venval store
-3 .shoot store
stop


cond
*.totalmyspecies 200 >
*.nrg 1000 >
*.task 1 !=
*.task 2 !=
*.task 3 !=
*.task 4 !=
*.task 5 !=
*.task 100 !=
*.task 101 !=
*.eyef 0 >
*.memval *.refkey !=
*.refeye 0 =
*.refshoot 0 =
*.refshell 0 =
*.refpoison 0 =
*.refvenom 0 =
start
'21 .task store
'*.robage .gotatask store
'0 .state store
stop

cond
*.totalmyspecies 200 >
*.nrg 1000 >
*.task 1 !=
*.task 2 !=
*.task 3 !=
*.task 4 !=
*.task 5 !=
*.task 100 !=
*.task 101 !=
*.eyef 0 >
*.memval *.refkey =
*.refbody 200 >
*.refeye 0 =
*.refshoot 0 =
*.refshell 0 =
*.refpoison 0 =
*.refvenom 0 =
start
'21 .task store
'*.robage .gotatask store
'0 .state store
stop

cond
*.eyef 0 =
'*.memval *.refkey =
'or
*.task 21 =
*.state 0 =
*.numties 0 =
start
0 .task store
stop

cond
*.eyef 0 =
*.memval *.refkey =
or
*.task 21 =
*.numties 0 =
start
*.birthx *.birthy angle .setaim store
1 .tie store
stop

cond
*.eyef 0 >
*.memval *.refkey !=
*.task 21 =
*.numties 0 =
start
*.refxpos *.refypos angle .setaim store
1 .tie store
stop

cond
*.task 22 =
*.task 21 =
or
start
1 .readtie store
stop

cond
*.task 22 =
*.numties 0 =
start
*.robage .gotatask store
*.birthx *.birthy angle .setaim store
1 .fixpos store
1 .tie store
stop

cond
*.trefxpos *.birthx !=
*.trefypos *.birthy !=
or
*.task 22 =
*.numties 0 >
*.trefbody 200 >
*.robage 10 >
*.trefage 5 >
start
*.trefxpos .birthx store
*.trefypos .birthy store
stop


cond
*.task 22 =
*.nrg 300 >
*.body 100 <
start
20 .strbody store
stop

cond
*.nrg 150 <
*.body 150 >
or
*.body 5 >
*.task 22 =
start
20 .fdbody store
stop

cond
'*.taskoffset *.robage 3 mod add 1 =
'*.taskoffset *.robage 3 mod add 4 =
'or
'*.tmemval *.trefage 970 add >
*.robage 2 mod 0 =
*.trefnrg 2000 >
*.task 22 =
*.numties 0 >
start
'*.tiepres .tienum store
1 .tienum store
40 .stifftie store
0 .fixang store
.tieloc .tieloc store
-1 .tieval store
*.robage .timestamp store
*.robage .gotatask store
stop

cond
'*.taskoffset *.robage 3 mod add 1 =
'*.taskoffset *.robage 3 mod add 4 =
'or
'*.tmemval *.trefage 970 add >
*.robage 2 mod 0 =
*.trefnrg 2000 <=
*.trefbody 200 >
*.task 22 =
*.numties 0 >
start
'*.tiepres .tienum store
1 .tienum store
40 .stifftie store
0 .fixang store
'.tieloc .tieloc store
'-6 .tieval store
.fdbody .tieloc store
1000 .tieval store
*.robage .timestamp store
*.robage .gotatask store
stop

cond
'*.taskoffset *.robage 3 mod add 0 =
'*.taskoffset *.robage 3 mod add 3 =
'or
'*.tmemval *.trefage 970 add >
*.robage 2 mod 1 =
*.trefnrg 2000 >
*.task 22 =
*.numties 0 >
start
'*.tiepres .tienum store
1 .tienum store
40 .stifftie store
0 .fixang store
.tieval .tieloc store
1000 .tieval store
*.robage .timestamp store
*.robage .gotatask store
stop

cond
'*.taskoffset *.robage 3 mod add 0 =
'*.taskoffset *.robage 3 mod add 3 =
'or
*.tmemval *.trefage 970 add >
*.robage 2 mod 1 =
*.trefnrg 2000 <=
*.task 22 =
*.numties 0 >
start
'*.tiepres .tienum store
'1 .tienum store
'40 .stifftie store
'0 .fixang store
'.key .tieloc store
'*.trefage 1000 add .tieval store
'*.robage .timestamp store
'*.robage .gotatask store
stop

cond
'*.tmemval *.trefage 960 add =<
*.trefnrg 2000 <=
*.task 22 =
*.robage 2 mod 1 =
*.numties 0 >
start
'*.tiepres .tienum store
1 .tienum store
40 .stifftie store
0 .fixang store
.key .tieloc store
*.trefage 1000 add .tieval store
*.robage .timestamp store
*.robage .gotatask store
stop

cond
*.task 22 =
*.numties 0 >
start
'*.tiepres .tienum store
1 .tienum store
40 .stifftie store
0 .fixang store
400 .fixlen store
stop

cond
*.task 22 =
*.numties 0 >
'*.tielen 400 >
'*.tielen 200 <
*.robage 50 >
start
1 .fixpos store
stop

'=================TEST==========
'--- Some tests
cond
*.task 22 =
*.numties 0 >
'*.taskoffset *.robage 3 mod add 2 =
*.robage 20 mod 0 =
*.robage 10 >
*.nrg 200 <
start
*.trefxpos *.tefypos angle .setaim store
1 .tie store
'*.tiepres .deltie store
'*.tiepres .tienum store
'.tienum .tieloc store
'*.robage 9 mod .tieval store
stop

cond
*.task 22 =
*.nrg 1000 >
*.body 20 >
*.robage 20 >
*.robage 30 mod 0 =
start
*.trefxpos *.trefypos angle 241 add .setaim store
0 .focuseye store
*.tiepres .tienum store
40 .stifftie store
511 .fixang store
*.trexfpos .birthx store
*.trefypos .birthy store
22 .birthtask store
.birthtaskoffset inc 
'20 .strbody store
1 .fixpos store
50 .repro store
*.robage .timestamp store
*.robage .gotatask store
stop


cond
*.numties 0 >
*.task 21 =
*.state 3 =
start
*.trefxpos *.trefypos angle 341 add .setaim store
0 .focuseye store
*.tiepres .tienum store
40 .stifftie store
'*.trexfpos .birthx store
'*.trefypos .birthy store
22 .birthtask store
.birthtaskoffset inc
10 .strbody store
1 .fixpos store
50 .repro store
*.robage .timestamp store
*.robage .gotatask store
'1000 .state store
0 .state store
22 .task store
stop

cond
*.numties 0 >
*.task 21 =
*.state 2 =
start
*.trefxpos *.trefypos angle 341 sub .setaim store
0 .focuseye store
*.tiepres .tienum store
40 .stifftie store
'*.trexfpos .birthx store
'*.trefypos .birthy store
22 .birthtask store
.birthtaskoffset inc
10 .strbody store
33 .repro store   
*.robage .timestamp store
*.robage .gotatask store
3 .state store
stop

cond
*.birthtaskoffset 2 >
start
0 .birthtaskoffset store
stop

cond 'Remember to add one when using it....
*.birthsyncoffset 4 >
start
0 .birthsyncoffset store
stop

cond
*.numties 0 >
*.task 21 =
*.state 0 =
*.tielen 200 <
*.tielen 150 >
start
1 .state store
stop

cond   
*.numties 0 >
*.task 21 =
*.state 1 =
*.tielen 200 <
*.tielen 150 >
start
2 .state store
.key .tieloc store
*.trefage 1000 add .tieval store
*.tiepres .tienum store
40 .stifftie store
0 .fixang store
1 .fixpos store
*.robage .timestamp store
*.robage .gotatask store
stop

cond   
*.tielen 200 >=
*.tielen 150 <=
or
*.numties 0 >
*.task 21 =
*.state 1 =
start
0 .state store
.key .tieloc store
*.trefage 952 add .tieval store
1 .fixpos store
stop


cond
*.numties 0 =
*.task 21 =
*.state 0 =
start
*.refxpos *.refypos angle .setaim store
0 .focuseye store
1 .tie store
*.veldx .sx store
*.xpos *.refxpos sub abs *.ypos *.refypos sub abs pyth 10 div .up store
stop

cond
*.numties 0 >
*.task 21 =
*.state 0 =
'*.tmemval *.trefkey !=
*.treffixed 0 !=
start
*.trefxpos *.trefypos angle .setaim store
*.trefxpos .birthx store
*.trefypos .birthy store
0 .focuseye store
*.tiepres .tienum store
40 .stifftie store
0 .fixang store
175 .fixlen store
.key .tieloc store
*.trefage 952 add .tieval store
*.robage .timestamp store
*.robage .gotatask store
stop

cond
*.numties 0 >
*.task 21 =
*.state 0 =
'*.tmemval *.trefkey =
*.treffixed 0 =
start
*.trefxpos *.trefypos angle .setaim store
0 .focuseye store
*.tiepres .tienum store
40 .stifftie store
0 .fixang store
.fixpos .tieloc store
1 .tieval store
*.veldx .sx store
'1 .state store
*.robage .timestamp store
*.robage .gotatask store
stop

cond
*.numties 0 >
*.task 21 =
*.state 0 =
*.tielen 150 <
start
10 .dn store
stop

cond
*.numties 0 >
*.task 21 =
*.state 0 =
*.tielen 200 >
start
10 .up store
stop

cond
*.numties 0 >
*.task 21 =
*.tielen 150 >
*.tielen 200 <
start
1 .fixpos store
stop

cond
'*.numties 0 >
'*.task 21 =
'*.numties 0 =
'*.tmemval *.trefkey =
start
'0 .task store
stop

cond
*.numties 0 =
*.task 21 =
*.veldn 0 >
start
1 .fixpos store
stop

cond
*.numties 0 >
*.tielen200 >
*.task 21 =
*.veldn 0 >
start
1 .fixpos store
stop



cond
*.task 1 =
*.task 2 =
or
*.task 3 =
or
*.robage 2 >
*.numties 0 =
*.eyef 0 !=
*.memval *.refkey !=
start
'*.refxpos *.refypos angle .setaim store
'1 .tie store
stop

cond
*.task 2 =
*.robage 0 =
start
*.birthx *.birthy angle .setaim store
1 .tie store
*.robage .timestamp store
stop

cond
*.task 1 =
*.robage 1 =
start
*.birthx *.birthy angle .setaim store
1 .tie store
*.robage .timestamp store
stop

cond
*.task 3 =
*.state 3 =
start
391 .aimsx store
0 .state store
1 .tie store
*.robage .timestamp store
stop

cond
*.task 0 >
*.task 4 <
*.numties 0 =
*.timestamp 5 add *.robage >
*.timestamp *.robage !=
*.memval *.refkey !=
start
1 .tie store
start

cond
*.task 0 >
*.task 4 <
*.numties 0 =
*.timestamp 5 add *.robage >
*.timestamp *.robage !=
'*.memval *.refkey !%=
*.memval *.refkey !=
start
20 rnd 10 sub .aimsx store
start

cond
*.task 0 >
*.task 3 <
start
1 .fixpos store
stop

cond
*.task 3 =
*.state 1 >
start
1 .fixpos store
stop

cond
*.task 3 =
*.state 2 =
start
2 .birthtask store
782 .aimdx store
50 .repro store
3 .state store
stop

cond
*.task 3 =
*.eyef 10 >
*.memval *.refkey !=
*.state 1 =
start
1 .birthtask store
1 .fixpos store
*.refxpos .birthx store
*.refypos .birthy store
391 .aimsx store
33 .repro store
2 .state store
stop

cond
*.task 3 =
*.state 1 =
*.eyef 0 >
*.eyef 10 <=
*.memval *.refkey !=
start
*.refxpos *.refypos angle .setaim store
0 .focuseye store
stop





cond
*.task 0 =
*.task 100 >
or
*.nrg 150 >
*.refvel 15 <
*.eyef 0 >
*.body 4 >
*.refbody 4 >
*.memval *.refkey !=
start
*.refxpos *.refypos angle .setaim store
0 .focuseye store
1 .state store
3 .task store
*.robage .gotatask store
stop

cond
start
1 .tienum store
start

cond
*.numties 0 >
*.robage 1 >
start
1 .tied store
stop


cond
*.tied 1 =
*.gotatask 5 add *.robage >
'or
*.numties 0 =
*.task 0 !=
start
0 .tied store
0 .state store
0 .task store
stop

cond
'*.tied 1 =
*.gotatask 10 add *.robage <
'or
*.numties 0 =
*.task 0 !=
start
682 rnd .setaim store
20 .up store
0 .tied store
0 .state store
0 .task store
stop





cond
*.numties 1 =
start
40 .stifftie store
1 .fixlen store
stop

cond
*.task 1 =
start
.deltie .tieloc store
0 .tieval store store
stop

cond
*.task 2 =
start
.tieloc .tieloc store
-1 .tieval store store
stop

cond
*.task 3 =
start
.tieval .tieloc store
1000 .tieval store store
stop

cond
*.body 6 >
*.task 22 !=
start
40 .fdbody store
'*.body 10 mult 60 sub 0 floor .fdbody store
stop

cond
*.body 21 >
*.task 22 !=
start
200 .fdbody store
stop

cond
*.body 101 >
*.task 22 !=
start
1000 .fdbody store
stop

cond
*.body 5 <
*.task 0 =
*.robage 2 >
start
10 .strbody store
stop

cond
*.task 10 =
*.body 1 >
start
*.body 10 mult 10 sub 0 floor .fdbody store
*.robage .gotatask store
stop

cond
*.task 10 =
*.numties 0 >
start
1000 .strbody store
-1000 .fdbody store
stop

cond
*.timestamp 30 add *.robage =
*.sucking 0 =
start
1 .deltie store
stop

cond
*.numties 0 =
*.robage 4 >
*.robage 30 <
*.task 0 =
*.state 0 =
start
20 .up store
stop

cond
*.numties 1 >
*.sucking 0 =
start
*.tiepres .deltie store
stop

cond
*.tmemval *.trefkey =
*.sucking 0 =
*.task 21 !=
*.task 22 !=
start
1 .deltie store
stop

cond
*.task 0 =
*.task 10 =
or
*.nrg 10000 >
*.numties 0 >
start
*.tiepres .deltie store
40 .dn store
stop

cond
*.task 0 =
*.nrg 2000 >
*.body 4 >
*.robage 20 >
*.state 0 =
*.numties 0 =
start
50 .repro store
stop

'LOW cost key
'cond
'start
'800
'.totalmyspecies .tmemval store
'.totalmyspecies .memval store
'Shrink to size 1 and fix
'stop

cond
*.numties 0 >
*.task 0 =
start
*.tiepres .tienum store
.tieval .tieloc store
1000 .tieval store
stop

cond
*.memval *.rekey =
*.eyef 0 =
or
*.numties 0 >
*.task 10 =
start
*.tiepres .tienum store
.tieval .tieloc store
1000 .tieval store
stop

cond
*.numties 0 >
*.tmemval *.trefkey !=
*.task 1 !=
*.task 2 !=
*.task 3 !=
*.task 4 !=
*.task 5 !=
*.trefbody 7 <
start
*.tiepres .tienum store
.fdbody .tieloc store
1000 .tieval store
stop

cond
start
*.trefnrg .tracknrg store
stop

cond
*.state 0 !=
*.task 0 =
start
0 .state store
stop

end

36
Newbie / Tie controll
« on: February 27, 2008, 01:53:40 PM »
How does fixang work ?
.fixang - allows bot to change angle of the tie once hardened

So... I was guessing if I push a value into fixang it will set this angle relative to my aim... or world space or something...
But just throwing a value in there just seems to have an odd effect...
At the start of the code execution it writes the value in 468 (fixang) and at the end of code execution it's value is 32000...
But I figure that is sposed to happen since several other locations hold the same value at that point.

But I must be doing something wrong... what range does the angle have ?
If I just wanted a 90 deg angle would I write : 341 .fixang store ? Doesn't seem to work that way...
Does anyone know of a topic on this or a bot somewhere using fixang ?

37
Short bots / Pacifist (5G) (Moonfisher) 19-02-08
« on: February 19, 2008, 03:40:33 AM »
Heres my second bot, no stolen code this time.
It hasn't been fine tuned for either F1 or internet mode, it should work well in both.
You can adjust the nrg level to a higher value like 150 if you want to see it break 1000 units under F1 conditions.
This is what I call the rough tweek, theres room for a lot of improvement and finetuning, but this will have to do for now.
It's actualy overkill, some earlier versions where tecnicaly more effective and more true to the concept of being a pacifist, but some fights would last forever.
I guess it's a short bot, but it should do well in the F1 league aswell (If you have the patience for it).
I was originaly building it for internet mode, and I guess you could even call it an interesting behavior bot on some level.

But in the end I'm just labeling it (5G) and then you can run it in whatever leagues/internetmode you like.

It hibernates below 100 energy, and it won't make a big difference if storing into mem loc 0 has costs or not.

It's realy simple, but it works.

If you're having problems with it, make sure that none of the lines have been split up the wrong way (Missing spaces and such)

[div class=\'codetop\']CODE[div class=\'codemain\' style=\'height:200px;white-space:pre;overflow:auto\']
Code: [Select]
'Pacifist v0.01
'Why can't we all just get along ?

 cond
 *.robage 2 <
 start
 124 .eye1width store
 490 .eye1dir store
 124 .eye2width store
 210 .eye2dir store
 124 .eye3width store
 402 .eye3dir store
 124 .eye4width store
 125 .eye4dir store
 124 .eye6width store
 979 .eye6dir store
 124 .eye7width store
 1170 .eye7dir store
 124 .eye8width store
 893 .eye8dir store
 124 .eye5width store
 1220 .eye9width store
 680 rnd .setaim store
 20 .sx store
 7 .vloc store
 -2 .venval store
 40 824 *.nrg 100 sub sqr dup div mult store
 40 822 *.nrg 100 sub sqr dup div mult store
 *.tiepres .deltie store
 43 754 store
 stop

 cond
 *.nrg 100 >
 *.shflav 0 !=
 or
 *.numties 0 >
 or
 start
 *.robage 9 mod 4 sub *.eyef 0 sub dup div 1 sub abs *.refbody 7 sub -1 mult sqr dup div add sgn *.vtimer 25 sub sqr dup div mult mult *.refxpos *.refypos angle *.eyef 0 sub sqr dup div *.refbody 10 sub sqr dup div mult *.aim *.refxpos *.refypos angle sub abs 1 sub sqr dup div mult *.vtimer 25 sub sqr dup div mult mult add *.tieang - *.aim add *.numties 0 sub sqr dup div *.vtimer 25 sub -1 mult sqr dup div mult *.trefeye 0 sub dup div 1 sub abs mult mult add 511 *.eyef 0 sub dup div 1 sub abs *.refbody 10 sub -1 mult sqr dup div add sgn *.vtimer 25 sub sqr dup div mult mult 19 *.eyef 0 sub sqr dup div *.refbody 10 sub sqr dup div mult *.aim *.refxpos *.refypos angle sub abs 1 sub sqr dup div mult *.vtimer 25 sub sqr dup div mult mult add 19 *.numties 0 sub sqr dup div *.vtimer 25 sub -1 mult sqr dup div mult *.trefeye 0 sub dup div 1 sub abs mult mult add store
 7 *.vtimer 25 sub sqr dup div *.numties 0 sub dup div 1 sub abs add sgn *.venom 5 sub sqr dup div mult *.eye9 20 sub sqr dup div *.focuseye 4 sub dup div 1 sub abs *.focuseye 0 sub dup div 1 sub abs add sgn mult mult *.refbody 7 sub sqr dup div mult *.refeye 0 sub dup div mult mult dec
 7 *.vtimer 25 sub sqr dup div *.numties 0 sub dup div 1 sub abs add sgn *.venom 5 sub sqr dup div mult *.eye9 20 sub sqr dup div *.focuseye 4 sub dup div 1 sub abs *.focuseye 0 sub dup div 1 sub abs add sgn mult mult *.refbody 7 sub sqr dup div mult *.refeye 0 sub dup div mult mult dec
 7 *.vtimer 25 sub sqr dup div *.numties 0 sub dup div 1 sub abs add sgn *.venom 5 sub sqr dup div mult *.eye9 20 sub sqr dup div *.focuseye 4 sub dup div 1 sub abs *.focuseye 0 sub dup div 1 sub abs add sgn mult mult *.refbody 7 sub sqr dup div mult *.refeye 0 sub dup div mult mult dec
 *.tiepres *751 1 sub dup div 1 sub abs *.trefbody 5 sub -1 mult sqr dup div add sgn *.nrg 1500 sub sqr dup div add sgn *.body 5 sub sqr dup div add sgn mult 99 *751 0 sub dup div 1 sub abs *.trefbody 5 sub sqr dup div mult *.nrg 1500 sub -1 mult sqr dup div mult *.body 5 sub -1 mult sqr dup div mult mult add 467 *751 1 sub dup div 1 sub abs *.trefbody 5 sub -1 mult sqr dup div add sgn *.nrg 1500 sub sqr dup div add sgn *.body 5 sub sqr dup div add sgn mult 830 *751 0 sub dup div 1 sub abs *.trefbody 5 sub sqr dup div mult *.nrg 1500 sub -1 mult sqr dup div mult *.body 5 sub -1 mult sqr dup div mult mult add store
 751 *751 sgn mult dec
 50 *.nrg 500 sub sqr dup div *.robage 3100 sub -1 mult sqr dup div mult mult 99 *.robage 3100 sub sqr dup div mult add 300 *.nrg 500 sub sqr dup div *.robage 3100 sub sqr dup div add sgn mult 511 *.robage 3000 sub -1 mult sqr dup div *.nrg 400 sub -1 mult sqr dup div mult *.eyef 0 sub sqr dup div mult *.refbody 10 sub sqr dup div mult *.aim *.refxpos *.refypos angle sub abs 1 sub sqr dup div mult *.vtimer 25 sub sqr dup div mult mult add store
 1 *.body 4 sub -1 mult sqr dup div *.body 4 sub dup div 1 sub abs add sgn *.body 2 sub sqr dup div mult *.nrg 500 sub -1 mult sqr dup div mult mult 30 *.body 21 sub -1 mult sqr dup div *.body 21 sub dup div 1 sub abs add sgn *.body 4 sub sqr dup div mult mult add 200 *.body 21 sub sqr dup div mult add 10 *.nrg 600 sub sqr dup div *.body 4 sub -1 mult sqr dup div mult *.robage 3100 sub sqr dup div add sgn mult add 312 *.body 4 sub -1 mult sqr dup div *.body 4 sub dup div 1 sub abs add sgn *.body 2 sub sqr dup div mult *.nrg 500 sub -1 mult sqr dup div mult mult 312 *.body 21 sub -1 mult sqr dup div *.body 21 sub dup div 1 sub abs add sgn *.body 4 sub sqr dup div mult mult add 312 *.body 21 sub sqr dup div mult add 313 *.nrg 600 sub sqr dup div *.body 4 sub -1 mult sqr dup div mult *.robage 3100 sub sqr dup div add sgn mult add store
 751 *.nrg 500 sub sqr dup div mult inc
 *.nrg 50 div *.vtimer 1 sub dup div 1 sub abs *.numties 0 sub dup div 1 sub abs mult mult *.nrg 10 div 10 floor *.vtimer 1 sub dup div 1 sub abs *.numties 0 sub sqr dup div mult *.trefeye 0 sub dup div 1 sub abs mult mult add *.genes 1 sub *.vtimer 0 sub dup div 1 sub abs *.totalmyspecies 60 sub -1 mult sqr dup div mult mult add *.genes *.vtimer 0 sub dup div 1 sub abs *.totalmyspecies 59 sub sqr dup div mult mult add *.tiepres *.deltie *.tiepres sub dup div *.vtimer 1 sub sqr dup div mult mult add 338 *.vtimer 1 sub dup div 1 sub abs *.numties 0 sub dup div 1 sub abs mult mult 338 *.vtimer 1 sub dup div 1 sub abs *.numties 0 sub sqr dup div mult *.trefeye 0 sub dup div 1 sub abs mult mult add 335 *.vtimer 0 sub dup div 1 sub abs mult add 455 *.deltie *.tiepres sub dup div *.vtimer 1 sub sqr dup div mult mult add store
 42 *.eyef 0 sub sqr dup div *.refbody 7 sub sqr dup div mult *.aim *.refxpos *.refypos angle sub abs 100 sub -1 mult sqr dup div mult *.numties 0 sub dup div 1 sub abs mult *.robage 20 sub sqr dup div mult mult 40 *751 0 sub dup div 1 sub abs *.numties 0 sub dup div mult mult add 330 *.eyef 0 sub sqr dup div *.refbody 7 sub sqr dup div mult *.aim *.refxpos *.refypos angle sub abs 100 sub -1 mult sqr dup div mult *.numties 0 sub dup div 1 sub abs mult *.robage 20 sub sqr dup div mult mult 331 *751 0 sub dup div 1 sub abs *.numties 0 sub dup div mult mult add store
 1 *.trefeye 0 sub dup div 1 sub abs *.vtimer 25 sub -1 mult sqr dup div mult *.numties 0 sub sqr dup div mult mult 100 *.trefeye 0 sub dup div 1 sub abs *.vtimer 25 sub sqr dup div mult *.numties 0 sub sqr dup div mult mult add 500 *.trefeye 0 sub dup div *.numties 0 sub sqr dup div mult mult add 469 *.numties 0 sub sqr dup div mult store
 453 *.robage 3 mod 0 sub dup div 1 sub abs *.tiepres 42 sub dup div add sgn *.vtimer 25 sub sqr dup div mult mult 822 *.robage 3 mod 1 sub dup div 1 sub abs *.tiepres 42 sub dup div 1 sub abs mult *.vtimer 25 sub sqr dup div mult mult add 300 *.robage 3 mod 2 sub dup div 1 sub abs *.tiepres 42 sub dup div 1 sub abs mult *.vtimer 25 sub sqr dup div mult mult add 216 *.vtimer 25 sub -1 mult sqr dup div mult add .tieloc store
 1000 *.robage 3 mod 0 sub dup div 1 sub abs *.tiepres 42 sub dup div add sgn *.vtimer 25 sub sqr dup div mult mult 50 *.robage 3 mod 1 sub dup div 1 sub abs *.tiepres 42 sub dup div 1 sub abs mult *.vtimer 25 sub sqr dup div mult mult add 0 *.robage 3 mod 2 sub dup div 1 sub abs *.tiepres 42 sub dup div 1 sub abs mult *.vtimer 25 sub sqr dup div mult mult add 1 *.vtimer 25 sub -1 mult sqr dup div mult add .tieval store
 80 rnd 20 floor *.robage 7 sub sqr dup div *.vtimer 25 sub sqr dup div mult *.shflav 0 sub dup div 1 sub abs mult *.totalmyspecies 400 sub -1 mult sqr dup div mult *.robage 8 sub sqr dup div mult *.nrg 100 sub sqr dup div mult *.eyef 0 sub sqr dup div mult *.refbody 5 sub -1 mult sqr dup div mult *.refxpos *.xpos sub *.refypos *.ypos sub pyth 100 sub -1 mult sqr dup div mult *.refvelscalar 1 sub -1 mult sqr dup div mult *.velscalar 1 sub -1 mult sqr dup div mult mult 80 rnd 20 floor *.shflav -1 sub dup div 1 sub abs *.shflav -3 sub dup div 1 sub abs add sgn *.shflav -6 sub dup div 1 sub abs add sgn *.robage 7 sub sqr dup div mult *.vtimer 25 sub sqr dup div mult mult add *.tielen 30 div 5 floor *.robage 7 sub sqr dup div *.numties 0 sub sqr dup div mult *.robage 20 sub sqr dup div mult *.vtimer 25 sub -1 mult sqr dup div mult *.trefeye 0 sub dup div 1 sub abs mult mult add 50 *.robage 7 sub -1 mult sqr dup div *.numties 0 sub dup div 1 sub abs mult mult add 4 *.robage 7 sub sqr dup div *.vtimer 25 sub sqr dup div mult *.shflav 0 sub dup div 1 sub abs mult *.totalmyspecies 400 sub -1 mult sqr dup div mult *.robage 8 sub sqr dup div mult *.nrg 100 sub sqr dup div mult *.eyef 0 sub sqr dup div mult *.refbody 5 sub -1 mult sqr dup div mult *.refxpos *.xpos sub *.refypos *.ypos sub pyth 100 sub -1 mult sqr dup div mult *.refvelscalar 1 sub -1 mult sqr dup div mult *.velscalar 1 sub -1 mult sqr dup div mult mult 4 *.shflav -1 sub dup div 1 sub abs *.shflav -3 sub dup div 1 sub abs add sgn *.shflav -6 sub dup div 1 sub abs add sgn *.robage 7 sub sqr dup div mult *.vtimer 25 sub sqr dup div mult mult add 1 *.robage 7 sub sqr dup div *.numties 0 sub sqr dup div mult *.robage 20 sub sqr dup div mult *.vtimer 25 sub -1 mult sqr dup div mult *.trefeye 0 sub dup div 1 sub abs mult mult add 1 *.robage 7 sub -1 mult sqr dup div *.numties 0 sub dup div 1 sub abs mult mult add store
 80 rnd 20 floor *.robage 7 sub sqr dup div *.vtimer 25 sub sqr dup div mult *.shflav 0 sub dup div 1 sub abs mult *.totalmyspecies 400 sub -1 mult sqr dup div mult *.robage 8 sub sqr dup div mult *.nrg 100 sub sqr dup div mult *.eyef 0 sub sqr dup div mult *.refbody 5 sub -1 mult sqr dup div mult *.refxpos *.xpos sub *.refypos *.ypos sub pyth 100 sub -1 mult sqr dup div mult *.refvelscalar 1 sub -1 mult sqr dup div mult *.velscalar 1 sub -1 mult sqr dup div mult mult 80 rnd 20 floor *.shflav -1 sub dup div 1 sub abs *.shflav -3 sub dup div 1 sub abs add sgn *.shflav -6 sub dup div 1 sub abs add sgn *.robage 7 sub sqr dup div mult *.vtimer 25 sub sqr dup div mult mult add *.veldx *.robage 7 sub sqr dup div *.numties 0 sub sqr dup div mult *.robage 20 sub sqr dup div mult *.vtimer 25 sub -1 mult sqr dup div mult *.trefeye 0 sub dup div 1 sub abs mult mult add 2 *.robage 7 sub sqr dup div *.vtimer 25 sub sqr dup div mult *.shflav 0 sub dup div 1 sub abs mult *.totalmyspecies 400 sub -1 mult sqr dup div mult *.robage 8 sub sqr dup div mult *.nrg 100 sub sqr dup div mult *.eyef 0 sub sqr dup div mult *.refbody 5 sub -1 mult sqr dup div mult *.refxpos *.xpos sub *.refypos *.ypos sub pyth 100 sub -1 mult sqr dup div mult *.refvelscalar 1 sub -1 mult sqr dup div mult *.velscalar 1 sub -1 mult sqr dup div mult mult 2 *.shflav -1 sub dup div 1 sub abs *.shflav -3 sub dup div 1 sub abs add sgn *.shflav -6 sub dup div 1 sub abs add sgn *.robage 7 sub sqr dup div mult *.vtimer 25 sub sqr dup div mult mult add 3 *.robage 7 sub sqr dup div *.numties 0 sub sqr dup div mult *.robage 20 sub sqr dup div mult *.vtimer 25 sub -1 mult sqr dup div mult *.trefeye 0 sub dup div 1 sub abs mult mult add store
 202 *.shflav 0 sub sqr dup div mult dec
 202 *.shflav 0 sub -1 mult sqr dup div mult inc
 .fixpos dec
 stop

 cond
 *754 43 !=
 start
 .genes dec
 *.tiepres 467 *.trefbody 5 sub sqr dup div mult store
 50 .repro store
 35 .aimright store
 22 .tie store
 50 .sharenrg store
 *.mkvirus .delgene store
 1 .vshoot store
 7 .ploc store
 7 .mkpoison store
 stop

 cond
 *754 43 !=
 start
 .genes dec
 *.thisgene *.genes sgn add .mkvirus store
 *.genes 777 *777 1 sub -1 mult sqr dup div mult store
 *777 .genes store
 *.thisgene 1 sub *.thisgene 1 sub sgn mult *.thisgene 1 add *.thisgene 1 sub sgn 1 sub -1 mult mult add .delgene store
 *.nrg 30 div .vshoot store
 -6 7 *.eyef 1 sub sgn 0 floor mult *.refbody 7 sub sgn 0 floor mult store
 *.refxpos *.refypos angle - *.aim add .aimshoot store
 50 .repro store
 7 .dx store
 1220 .eye5width store
 7 .ploc store
 7 .mkpoison store
 20 .mkslime store
 3 .mkshell store
 *.tiepres 467 *.trefbody 5 sub sqr dup div mult store
 22 330 *.refbody 7 sub - sgn 0 floor 3000 *.refage sub sgn 0 floor mult *.refshoot 0 sub dup div 1 sub abs mult mult store
 50 .sharenrg store
 .fixpos dec
 .strbody inc
 stop

38
Newbie / So many questions.
« on: January 21, 2008, 05:12:14 PM »
Hey, I've only finished one bot so far (Ebola) which is just a frankenstein monster of large chunks of code I stole and pieced together with some extra stuff.
I'm working on new concepts from scratch now, but it seems like theres a lot of bugs in the latest versions (DB 2.43y and 2.43z).

It ocurs to me there's a lot here, so I'll add numbers.

Got a lot of questions, but first the bugs (If it's not just me screwing up) :
B1- Either the ref values or the angle operator is bugged. Seems like negative values or combinations of negative and positive values cause some sort of bug. Or something like that anyway.
B2- trefbody didn't work in DB 2.43y, not sure about 2.43z. (It's not useless, I realy needed it in my last (only) bot)
B3- delgene didn't work in DB 2.43y, but I think it got fixed in 2.43z
B4- performing operations on the memmory location no longer seems to work in 2.43z (Worked in 2.43y).
B5- when I run simulations it doesn't seem to take propper advantage of all the processors, although you would think lots of small processes would be idea to distibute... not sure if theres anything I can do to improve performance.


Now the questions :

Q1- I never see anyone using certain operators, so I'm wondering if they work at all. I'm refering to operators like ++ and | and ^ and such. I tryed .variable++ but that didn't seem to work, maybe it should be seperated by a space, but I'm generaly confused about this.

Q2- I'm also wondering if ~= and %= works, it sais they're depercated in the description. (Also sais they're not usefull, but I disagree  )

Q3- How does negation work ? I see examples where people use -1 mult, but from the description it would seem like this is the same as just writing - .

Q4- This brings me to my general confusion about the stack.
Q4.1#- When I write -1 mult, from what I can read I negate the value in the stack and muliply it by 1... Or would that be - 1 mult ?
Q4.2#- It sais I can have 20 values in the stack at one time, but as I understand it, if I write :
a b add c d add mult
Then I only have 3 values in the stack at one time, I have a+b in one "slot" and c and d in the 2 others, when peeking (When performing the last add before mult). Or do I actualy load all 4 values into the stack before performing any operations ?
If I understand correctly then :
a b c d mult mult mult
Would load 4 values into the stack before multiplying them, whereas :
a b mult c mult d mult
Wouldn't load more than 2 values into the stack at the same time.
Q4.3#- Just to verify if what I think is right :
When I write :
a b c d mult mult mult
The when I hit the first mult I take the 2 top values from the stack and add them together, these would then be c and d (since it's a stack) and the result would then be placed at the top of the stack, making the next 2 values b and c*d ... right ?

Q5- I noticed a lot of energy can be saved by "compiling" you code to eliminate conditions, is this intentional because natural evolution should be capable of optimizing the code, or should I be expecting costs on operators in the leagues ?

Q6- How many store comands can be excuted in one cycle ? And what actions can be performed at the same time ? Can I turn, accelerate, reproduce, comunicate through a tie, while making a new tie and shooting waste ? It just seems like eveything starts to fall appart when the dna gets too long. Is there a max nr of genes ? Max DNA length ?

Q7- If I write 50 .repro store and then 0 .repro store, will I reproduce ? Does the last or first value overide the other one ? I'm guessing the last value removes any previous ones and the first value is "destroyed" (So it won't intefere with anything).

Q8- When are memmory shots and tie comands executed ? I would guess it's at the end of the dna execution  ? And what about ties, same thing ?

Q9- When I tie to something, do I have to wait for the next cycle before I can interact with the tie, or does it appear right away ?

Q10- Can you perform several actions through a tie at the same time ? It seems like I can share energy while performing another action on the tie, like storing a value in a memmory location or trying to feed. But what if 2 bots are performing an action on the tie between them at the same time, can one bot share energy while the other one is comunicating back ? And if not then which one has the priority ?

As you can tell I'm confused about a lot

Also a sugestion, if you guy's don't want to mess around with the angle operator, you could just make cos, sin, tan, atan, atan2, asf...  available as operators
Would be nice for creating advanced aim functions

39
F1 bots / Ebola (F1Vir) (Moonfisher) - 10.01.08
« on: January 10, 2008, 06:50:18 PM »
I'm not sure if DB 2.43y is working the way it should or if the bots in the F1 league are just outdated, but either way if I try using standard settings in DB 2.43y this seems to win.

It's my first bot, so didn't want to start from scratch, I basicaly stole a whole lot of things.
Took Bubbles (The whole thing), added the adaptive armor from Excalibur, and then added my own virus and the seed genes.
Not sure if theres a policy on crudely copying large amounts of code, but as mentioned, first bot, lazy, copy paste coding...
I think I should have read the manual more closely, lots of bugs in it, redundant code aswell, generaly sloppy.
You can point out the errors for other readers if you like, but you don't have to for my sake, I'll ask in the newbie section if I have questions after reading those details.


Code: [Select]
'This bot is buildt on (That is : Ctrl+A,Ctrl+C,Ctrl+V) Bubbles(Jez), and uses the adaptive armor from Excalibur(Light)
'Intended for F1 running DB 2.43y  (I don't think it will do well in DB 2.43)
'The change in strategy is simply the use of a rather simple virus to keep veggies from respawning and makes it harder for the oponent to feed.
'When a bot drops below a certain size and it will attempt to feed on a small alge while keeping it alive and small.
'IT was suposed to do all sorts of other things but there are some fundamental flaws or something causing buggy behavior.
'This is my first bot and I wanted to play around to see what you can do, I think I overlooked some important basic details about how the memmory locations work, I think I suddenly noticed the word "stack" in one of the guides.
'So I'm probably pushing way too many values into the stacks or something like that, either way it's realy buggy and oesn't work right, and anyone is welcome to steal the strategy and do it right.
'Also lots of redundant code. So don't use this as an example if you're new at this.
'I don't think I'll try to fix this myself, I'd rather RTM more thorougly and start from scratch on something new and different.


'(Bubbles)
def move 990
def bodya 989
def nrga 987
def nrgb 986
def bodyb 985

'(Excalibur)
def count 950
def spin 951
def count1 952
'------

def fighter 550
def fightertie 555
def tiestate 560
def tiecount 565
def statebeat 570
def distance 571

'ID gene - Endy
cond
*.robage 0 =
start
300 .bodya store
500 .nrga store
.thisgene .memloc store
100 .mkshell store
745 770 store
1 .fighter store
123 .fightertie store
.tie inc
stop

'memloc check
cond
*.memloc .thisgene !=
start
.thisgene .memloc store
stop

'Seed genes-------------

cond
*.statebeat 1 !=
start
1 .statebeat store
stop

cond
*.statebeat 1 =
*.numties 0 =
*.tiestate 0 >
*.fighter 1 != or
start
0 .tiestate store
0 .tiecount store
1 .fighter store
.statebeat dec
stop

cond
*.fighter 0 =
'*.shflav 0 =
start
*.fightertie .readtie store
*.trefxpos *.trefypos angle .setaim store
*.trefxpos *.xpos sub abs *.trefypos *.ypos sub abs pyth .distance store
stop

cond
*.shflav 0 !=
*.shflav -2 !=
*.fighter 0 =
start
0 .shflav store
-6 .shoot store
20 .shootval store
20 .mkshell store
*.shang .aimshoot store
99 .sharenrg store
.statebeat dec
stop

'I want to be a tie fighter
cond
*.fighter 1 =
*.eye5 20 >
*.refeye 0 =
*.refshoot 0 =
*.refpoison 0 =
*.reftie 0 =
*.refbody 200 <
*.numties 0 =
*.body 50 <  
*.robage 0 >
'*.pain 0 <=
*.statebeat 1 =
start
1 .tiestate store
*.fightertie .tie store
*.fightertie .readtie store
0 .fighter store
'*.tiepres .fightertie store
.statebeat dec
0 .up store
stop

cond
*.tiestate 1 =
*.statebeat 1 =
start
770 .tieloc store
745 .tieval store
*.fightertie .tienum store
.tiestate inc
.statebeat dec
40 .stifftie store
stop

cond
*.numties 0 >
*.tiestate 2 =
*.tiepres *.fightertie =
*.statebeat 1 =
start
.vshoot .tieloc store
1 .tieval store
*.fightertie .tienum store
.tiestate inc
.tiecount inc
.statebeat dec
stop

cond
*.fighter 0 =
*.tiestate 3 =
*.tiestate 5 <
*.statebeat 1 =
start
.fixpos .tieloc store
1 .tieval store
*.fightertie .tienum store
1 .fixpos store
statebeat dec
stop

cond
*.tiecount 20 =<
*.tiestate 3 =
start
.tiecount inc
stop

cond
*.tiestate 3 =
*.tiecount 19 =
start
0 .fixpos store
*.trefxpos *.trefypos angle .setaim store
.memloc .tieloc store
.shflav .tieval store
*.fightertie .tienum store
.statebeat dec
stop

cond
*.fighter 0 =
*.tiestate 3 =
*.tiecount 20 >=
*.statebeat 1 =
start
*.fightertie .tienum store
.tiestate inc
0 .tiecount store
1 .fixlen store
.statebeat dec
0 .fixpos store
stop

cond
*.fighter 0 =
*.tiestate 4 =
*.distance 100 <
*.fixed 1 !=
start
*.trefxpos *.trefypos angle .setaim store
1 .fixpos store
0 .fixlen store
*.fightertie .tienum store
.statebeat dec
stop

cond
*.fighter 0 =
*.tiestate 4 =
*.refbody 150 >
*.statebeat 1 =
*.body 100 <
*.trefnrg *.refnrg =
start
.fdbody .tieloc store
300 .tieval store
*.fightertie .tienum store
.statebeat dec
stop

cond
*.statebeat 1 =
*.fighter 0 =
*.tiestate 4 =
*.trefnrg 100 <
*.body 100 <
start
.statebeat dec
0 .sharenrg store
stop

cond
*.fighter 0 =
*.tiestate 4 =
*.trefnrg 150 >
*.trefnrg 350 <
*.statebeat 1 =
*.body 50 <
start
.statebeat dec
65 .sharenrg store
stop

cond
*.fighter 0 =
*.tiestate 4 =
*.trefnrg 400 >
*.statebeat 1 =
*.body 50 <
start
.statebeat dec
99 .sharenrg store
stop

cond
*.fighter 0 =
*.body 50 >
start
100 .fdbody store
stop

cond
*.fighter 0 =
*.tiestate 3 >=
*.pain 10 >   '--------------------------NEEDS CALIBRATION
start
770 .tieloc store
0 .tieval store
*.fightertie .tienum store
10 .tiestate store
.statebeat dec
stop

cond
*.fighter 0 =
*.trefnrg *.refnrg =
*.tiestate 4 =
*.memval -1 =
start
770 .tieloc store
0 .tieval store
*.fightertie .tienum store
10 .tiestate store
.statebeat dec
stop

cond
*.fighter 0 =
*.trefnrg *.refnrg =
*.tiestate 4 =
*.memval -6 =
start
770 .tieloc store
0 .tieval store
*.fightertie .tienum store
10 .tiestate store
.statebeat dec
stop

cond
*.fighter 0 =
*.trefnrg *.refnrg !=
*.refeye 0 !=
*.eye5 20 >
*.memval *.genes !=
*.myshoot *.refshoot !=
start
770 .tieloc store
0 .tieval store
*.fightertie .tienum store
10 .tiestate store
.statebeat dec
stop

cond
*.fighter 0 =
*.tiestate 10 =
start
*.fightertie .deltie store
0 .tiestate store
0 .tiecount store
1 .fighter store
341 .aimdx store  '------------- Maybe not
40 .up store      '------------- Maybe not
.statebeat dec
stop

cond
*.tiepres *.fightertie !=
'*.tiestate 0 >
start
*.tiepres .deltie store
stop

cond
*.fighter 1 !=
*.nrg 5000 >     '-------------------------------NEEDS CALIBRATION
start
770 .tieloc store
0 .tieval store
*.fightertie .tienum store
10 .tiestate store
.statebeat dec
stop


'------------------------------ Bubbles

'eye4
cond
*.fighter 1 =
*.paralyzed 0 =
*.poisoned 0 =
*.eye5 0 =
*.eye4 0 >
*.eye4 *.eye3 >=
*.eye4 *.eye2 >=
*.eye4 *.eye1 >=
*.eye4 *.eye6 >=
*.eye4 *.eye7 >=
*.eye4 *.eye8 >=
*.eye4 *.eye9 >=
start
*.aim 35 add .setaim *.fighter mult store
stop

'eye6
cond
*.fighter 1 =
*.paralyzed 0 =
*.poisoned 0 =
*.eye5 0 =
*.eye6 0 >
*.eye6 *.eye4 >
*.eye6 *.eye7 >=
*.eye6 *.eye8 >=
*.eye6 *.eye9 >=
*.eye6 *.eye1 >=
*.eye6 *.eye2 >=
*.eye6 *.eye3 >=
start
*.aim -35 add .setaim *.fighter mult store
stop

'eye3
cond
*.fighter 1 =
*.paralyzed 0 =
*.poisoned 0 =
*.eye5 0 =
*.eye3 0 >
*.eye3 *.eye4 >
*.eye3 *.eye6 >
*.eye3 *.eye2 >=
*.eye3 *.eye1 >=
*.eye3 *.eye7 >=
*.eye3 *.eye8 >=
*.eye3 *.eye9 >=
start
*.aim 70 add .setaim *.fighter mult store
stop

'eye7
cond
*.fighter 1 =
*.paralyzed 0 =
*.poisoned 0 =
*.eye7 0 >
*.eye5 0 =
*.eye7 *.eye4 >
*.eye7 *.eye6 >
*.eye7 *.eye3 >
*.eye7 *.eye2 >=
*.eye7 *.eye1 >=
*.eye7 *.eye8 >=
*.eye7 *.eye9 >=
start
*.aim -70 add .setaim *.fighter mult store
stop

'eye2
cond
*.fighter 1 =
*.paralyzed 0 =
*.poisoned 0 =
*.eye2 0 >
*.eye5 0 =
*.eye2 *.eye4 >
*.eye2 *.eye3 >
*.eye2 *.eye7 >
*.eye2 *.eye6 >
*.eye2 *.eye1 >=
*.eye2 *.eye9 >=
*.eye2 *.eye8 >=
start
*.aim 105 add .setaim *.fighter mult store
stop

'eye8
cond
*.fighter 1 =
*.paralyzed 0 =
*.poisoned 0 =
*.eye8 0 >
*.eye5 0 =
*.eye8 *.eye2 >
*.eye8 *.eye3 >
*.eye8 *.eye4 >
*.eye8 *.eye7 >
*.eye8 *.eye6 >
*.eye8 *.eye1 >=
*.eye8 *.eye9 >=
start
*.aim -105 add .setaim *.fighter mult store
stop

'eye1
cond
*.fighter 1 =
*.paralyzed 0 =
*.poisoned 0 =
*.eye5 0 =
*.eye1 0 >
*.eye1 *.eye2 >
*.eye1 *.eye3 >
*.eye1 *.eye4 >
*.eye1 *.eye6 >
*.eye1 *.eye7 >
*.eye1 *.eye8 >
*.eye1 *.eye9 >=
start
*.aim 140 add .setaim *.fighter mult store
stop

'eye9
cond
*.fighter 1 =
*.paralyzed 0 =
*.poisoned 0 =
*.eye5 0 =
*.eye9 0 >
*.eye9 *.eye1 >
*.eye9 *.eye2 >
*.eye9 *.eye8 >
*.eye9 *.eye7 >
*.eye9 *.eye6 >
*.eye9 *.eye4 >
*.eye9 *.eye3 >
start
*.aim -140 add .setaim *.fighter mult store
stop

'rotate if all eyes empty and not being shot
cond
*.fighter 1 =
*.paralyzed 0 =
*.poisoned 0 =
*.eye5 0 =
*.eye4 0 =
*.eye3 0 =
*.eye2 0 =
*.eye1 0 =
*.eye6 0 =
*.eye7 0 =
*.eye8 0 =
*.eye9 0 =
*.shflav 0 =
*.shflav -2 = or
start
*.aim 280 add .setaim *.fighter mult store
stop

'follow friend if not being shot
cond
*.fighter 1 =
*.paralyzed 0 =
*.poisoned 0 =
*.in1 0 !=
*.in2 0 != or
*.fighter mult *.memval *.genes =
*.refage 0 >
*.eye5 0 >
*.shflav 0 =
*.shflav -2 = or
start
*.in1 *.in2 angle .setaim *.fighter mult  store
*.in1 *.in2 dist 500 div *.maxvel mult *.refvel add 0 floor *.maxvel ceil .up *.fighter mult  store
*.veldx .sx store
stop

'avoid friend when not getting shot
cond
*.fighter 1 =
*.paralyzed 0 =
*.poisoned 0 =
*.in1 0 =
*.in2 0 = and
*.memval *.genes =
*.refage 0 >
*.eye5 0 >
*.shflav 0 =
*.shflav -2 = or
start
*.refxpos *.refypos angle 280 add .setaim *.fighter mult store
stop

'if see friend but getting shot
cond
*.fighter 1 =
*.paralyzed 0 =
*.poisoned 0 =
*.in1 0 =
*.in2 0 = and
*.memval *.genes =
*.refage 0 >
*.eye5 0 >
*.shflav 0 !=
*.shflav -2 != and
start
40 .up store
*.shang 682 add .setaim *.fighter mult store
0 .shflav *.fighter mult store
-1 .shoot store
*.shang *.aim add .aimshoot *.fighter mult store
stop

'all eyes empty but being shot
cond
*.fighter 1 =
*.paralyzed 0 =
*.poisoned 0 =
*.eye5 0 =
*.eye4 0 =
*.eye3 0 =
*.eye2 0 =
*.eye1 0 =
*.eye6 0 =
*.eye7 0 =
*.eye8 0 =
*.eye9 0 =
*.shflav 0 !=
*.shflav -2 != and
start
40 .up *.fighter mult store
*.shang .setaim *.fighter mult store
0 .shflav *.fighter mult store
-1 .shoot store
*.shang *.aim add .aimshoot *.fighter mult store
stop

'follow friend if not being shot
cond
*.fighter 1 =
*.paralyzed 0 =
*.poisoned 0 =
*.in1 0 !=
*.in2 0 != or
*.memval *.genes =
*.refage 0 >
*.eye5 0 >
*.shflav 0 =
*.shflav -2 = or
start
*.in1 *.in2 angle .setaim *.fighter mult store
*.in1 *.in2 dist 500 div *.maxvel mult *.refvel add 0 floor *.maxvel ceil .up *.fighter mult store
*.veldx .sx *.fighter mult store
stop

'don't follow friend if getting shot
cond
*.fighter 1 =
*.paralyzed 0 =
*.poisoned 0 =
*.in1 0 !=
*.in2 0 != or
*.memval *.genes =
*.refage 0 >
*.eye5 0 >
*.shflav 0 !=
*.shflav -2 != and
start
*.shang .setaim *.fighter mult store
0 .shflav *.fighter mult store
-1 .shoot store
*.shang *.aim add .aimshoot *.fighter mult store
40 .up store
stop

'target and shoot
cond
*.fighter 1 =
*.paralyzed 0 =
*.poisoned 0 =
*.robage 1 >
*.eye5 9 >
*.memval *.genes !=
*.refshoot *.myshoot !=
*.refeye *.myeye != or
'*.numties 0 =
start
*.refxpos *.refypos angle *.aim sub .aimshoot *.fighter mult store
-6 .shoot *.fighter mult store
*.nrg 32 div .shootval *.fighter mult store
stop

cond
*.venom 100 <
start
100 *.venom sub 0 floor 100 ceil .strvenom store
stop


'-------------------Excalibur

cond
*.robage 0 =
start
'955 4 rnd add .memloc store
'1904 955 store
'1904 956 store
'1904 957 store
'1904 958 store
'1904 959 store
1 .tie store
0 .out1 store
0 .aimsx store
.shoot .vloc store
.shoot .ploc store
100 .mkshell store
100 .strpoison store
stop

cond
*.robage 1 =
*.fighter 1 =
start
1 .deltie store
314 .aimsx store
stop


'-------------------------------------- Venom (Excalibur)

cond
*.count 0 >
*.fighter 1 =
start
.count dec
stop

cond
*.fighter 1 =
'*.memval 1904 !=
*.memval *.genes !=
*.refshoot *.myshoot !=
*.refeye *.myeye != or
*.eye5 20 >
' *.refpoison 0 =
*.count 0 =
*.refeye 0 >
start
.shoot .vloc *.fighter mult store
-3 .shoot *.fighter mult store
-2 .venval *.fighter mult store
50 .shootval *.fighter mult store
5 .count *.fighter mult store
stop

cond
*.fighter 1 =
'*.memval 1904 !=
*.memval *.genes !=
*.refshoot *.myshoot !=
*.refeye *.myeye != or
*.eye5 20 >
*.count 0 =
*.refeye 0 >
*.refshell 5 >
start
.mkshell .vloc *.fighter mult store
-3 .shoot *.fighter mult store
-200 .venval *.fighter mult store
50 .shootval *.fighter mult store
0 .count *.fighter mult store
stop
'---------------------- end venom

'****************
'* Adaptive Armour *
'****************
'1 poison
'2 shell
'3 Poison + Shell

cond
*.in1 *.out1 !=
*.in1 0 !=
*.out1 3 <
*.memval 1904 =
start
*.in1 .out1 store
stop

cond
*.shflav -1 =
*.shflav 0 > or
*.out1 2 <
start
1 .out1 store
stop

cond
*.shflav -1 =
*.shflav 0 > or
*.out1 2 =
start
3 .out1 store
stop

cond
*.shflav -6 =
*.shflav -3 = or
*.out1 0 <
start
2 .out1 store
stop

cond
*.shflav -6 =
*.shflav -3 = or
*.out1 1 =
start
3 .out1 store
stop

cond
*.nrg 500 >
*.poison 500 <
*.out1 1 =
*.out1 3 = or
start
100 .strpoison store
stop

cond
*.nrg 500 >
*.shell 450 <
*.out1 1 >
start
500 *.shell sub .mkshell store
stop

cond
*.numties 0 >
*.robage 10 >
*.fighter 1 =
start
*.tiepres .tienum store
.tieval .tieloc store
3000 .tieval store
*.tiepres .deltie store
*.tieval 3000 div .tieloc store
.sharewaste inc
stop


'---------------------------------------

'move and communicate
cond
*.fighter 1 =
*.paralyzed 0 =
*.poisoned 0 =
*.robage 1 >
*.eye5 0 >
*.memval *.genes !=
*.numties 0 =
*.refshoot *.myshoot !=
*.refeye *.myeye != or
start
*.refxpos *.refypos angle .setaim *.fighter mult store
*.refxpos *.refypos dist 500 div *.maxvel mult *.refvel add 0 floor *.maxvel ceil .up *.fighter mult store
*.veldx .sx *.fighter mult store
*.refxpos .out1 store
*.refypos .out2 store
stop

'refresh communication or hide veg location
cond
*.paralyzed 0 =
*.poisoned 0 =
*.refeye 0 =
*.eye5 0 = or
*.memval *.genes =
*.eye5 0 > and
*.in1 0 = and
*.in2 0 = and or
*.out1 0 !=
*.out2 0 != or
start
0 .out1 store
0 .out2 store
stop

'turn back after repro
cond
*.paralyzed 0 =
*.poisoned 0 =
*.move 0 !=
*.fighter 1 =
start
*.aim 628 add .setaim store
.move dec
1 .deltie store
0 .shoot store
stop

'baby avoids mum
cond
*.fighter 1 =
*.paralyzed 0 =
*.poisoned 0 =
*.robage 1 =
*.numties 0 >
*.memval *.genes = or
start
*.aim 280 add .setaim store
0 .shoot store
stop

'repro
cond
*.fighter 1 =
*.paralyzed 0 =
*.poisoned 0 =
*.eye5 0 =
*.move 0 =
*.body *.bodya >
*.nrg *.nrga >
start
25 .repro store
*.aim 628 add .setaim store
1 .move store
*.bodya 10 div *.bodya add 30000 ceil .bodya store
*.nrga 10 div *.nrga add 30000 ceil .nrga store
stop

'make body
cond
*.paralyzed 0 =
*.poisoned 0 =
*.nrg *.nrga >
*.body 3190 <
start
100 .strbody *.fighter mult store
stop

'use body
cond
*.paralyzed 0 =
*.poisoned 0 =
*.nrg *.nrgb <
*.body 11 >
start
100 .fdbody *.fighter mult store
stop

'make more shell
cond
*.fighter 1 =
*.paralyzed 0 =
*.poisoned 0 =
*.shell 100 <
*.nrg 500 > and
*.shflav -6 = or
*.shflav -3 = or
start
50 .mkshell store
0 .shflav *.fighter mult store
stop

'poop
cond
*.fighter 1 =
*.paralyzed 0 =
*.poisoned 0 =
*.waste 50 >
*.memval *.genes !=
start
-4 .shoot store
*.waste .shootval store
stop

'Death by Baby!
cond
*.fighter 1 =
*.poisoned 0 !=
*.paralyzed 0 != or
start
100 .repro store
*.aim 280 add .setaim store
999 .out3 store
stop

'delete tie
cond
*.numties 0 >
'*.tiefighter 1 !=
*.tiecount 0 = and
*.fightertie *.tiepres != or
*.fighter 1 =
*.tiestate 0 =
start
*.tiepres .deltie store
stop

cond
*770 745 !=
start
*.thisgene .mkvirus store
9000 .vshoot store
'*.nrg 400 sub sgn 50 mult .repro store
'*.body 100 sub sgn 50 mult .repro store
50 .repro store
stop

cond
*.vtimer 0 =
*.genes 50 <
start
' Make viruses
*.thisgene 1 sub .mkvirus store
stop

cond
*.vtimer 1 =
*.nrg 800 >
start
100 .vshoot store
stop

cond
*.sexrepro 0 !=
*.mrepro 0 != or
start
0 .repro store
0 .sexrepro store
0 .mrepro store
stop

cond
*.delgene 0 !=
*.shoot -2 = or
start
0 .delgene store
0 .shoot store
stop

cond
*.fighter 1 =
start
.fixpos *.fixed mult dec 'anti fixpos by Elite
stop

cond
*.repro 25 !=
*.repro 0 !=
*.repro 100 !=
start
0 .repro store
stop

cond
*.vshoot 101 >
*.vtimer 15 <
start
1 .vshoot store
100 repro store
stop

'ID gene - Endy
cond
start
*.nrga 2 div .nrgb store
' little constant viral defense gene doubles as ID gene
*.genes .delgene
' .fixpos *.fixed mult dec 'anti fixpos by Elite
*.thisgene *.genes sub dup div
mult *.robage sgn mult store
.genes inc
stop
end

Pages: 1 2 [3]