517
« on: January 22, 2006, 04:20:29 PM »
' Symbioticus
'
' A tank with a battery ...
'
' Ties to a veg, pulls
' it close behind it and
' uses it as an energy
' source
'
' Version 2.0
' - Uses a modified version of Animal Minimalis' search pattern
def done 51
cond
*.robage 0 =
start
.tie inc
.tiepres .memloc store
.timer inc
100 .side store
stop
cond
*.robage 1 =
start
.deltie inc
stop
'*************************************************************
' Find and tie to a veggie
cond
*.robage 0 >
*.done 0 =
*.multi 0 =
*.eye5 0 >
*.eye5 45 <
*.refshoot 0 =
*.refaimdx 1 =
*.refeye 0 =
*.memval 86 !=
*.numties 0 =
start
40 .up store
stop
cond
*.robage 0 >
*.eye5 45 >
*.refshoot 0 =
*.refaimdx 1 =
*.refeye 0 =
*.memval 86 !=
*.numties 0 =
start
86 .tie store
stop
cond
*.robage 0 >
*.numties 0 =
*.eye5 0 =
*.memval 86 = or
*.refshoot 0 != or
*.refaimdx 1 != or
*.refeye 0 != or
start
314 rnd .aimdx store
stop
'*************************************************************
cond
*.numties 1 =
*.treffixed 1 =
start
86 .tienum store
.fixpos .tieloc store
0 .tieval store
stop
cond
*.numties 1 =
*.done 0 =
start
.done inc
628 .fixang store
-32000 .fixlen store
86 .tienum store
.fixang .tieloc store
628 .tieval store
86 .readtie store
stop
cond
*.numties 0 =
*.done 1 =
start
.done dec
stop
'*************************************************************
' When tied to a vegetable
cond
*.myeye *.trefeye =
start
*.tiepres .deltie store
stop
cond
*.numties 0 =
*.shell 0 >
start
0 *.shell sub .mkshell store
stop
'*************************************************************
' Sharing and producing
cond
*.done 1 =
*.multi 1 =
start
75 .sharenrg store
50 .shareslime store
50 .shareshell store
.sharewaste inc
*.pleas 3 div .strbody *.pleas sgn mult store
*.pleas 3 div .mkslime *.pleas sgn mult store
600 *.shell sub .mkshell store
stop
cond
*.done 1 =
*.treffixed 1 =
start
*.tiepres .tienum store
.fixpos .tieloc store
0 .tieval store
stop
cond
*.done 1 =
*.multi 1 =
*.eye5 0 >
*.refeye *.myeye !=
*.memval 86 !=
start
-32 .shootval store
-6 .shoot store
stop
cond
*.done 1 =
*.multi 1 =
*.eye5 45 >
*.refeye *.myeye !=
*.memval 86 !=
start
32 .shootval store
-6 .shoot store
stop
cond
*.done 1 =
*.multi 1 =
*.eye5 0 =
*.memval 86 = or
*.refeye *.myeye = or
start
750 .dx store
30 .up store
stop
cond
*.done 1 =
*.multi 1 =
*.eye5 0 >
*.refeye *.myeye !=
*.memval 86 !=
start
*.refxpos *.refypos angle .setaim store
*.refveldx .dx store
stop
cond
*.done 1 =
*.multi 1 =
*.eye5 0 >
*.eye5 30 <
*.refeye *.myeye !=
*.memval 86 !=
start
*.refvelup *.refvelup add 100 add .up store
stop
'*************************************************************
' Reproduction
cond
*.body 5000 >
*.multi 1 =
start
10 .repro store
stop
cond
*.nrg 100 <
start
100 .fdbody store
stop
'*************************************************************
cond
*.shflav 0 !=
*.shflav -2 !=
*.multi 1 =
start
1256 *.shang sub .aimshoot store
64 .shootval store
-6 .shoot store
0 .shflav store
stop
cond
start
*.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5
stop
end
I'll post it in the beastary if it does
It ties to a veggie and uses it as a portable power source - it doesn't actually need to feed.
When tied to a veg like this you can do all kinds of cool stuff that would be impossible with a regular bot :)
ie.
- Make tons of shell, slime, poison etc
- Use really powerfull shots (-36 in .shootval etc)