Author Topic: Vermis Ettinus 0.15 (MB)(Eight)-28.08.04  (Read 2995 times)

Offline Light

  • Bot Destroyer
  • ***
  • Posts: 245
    • View Profile
Vermis Ettinus 0.15 (MB)(Eight)-28.08.04
« on: April 23, 2005, 05:39:46 AM »
Code: [Select]
'Topic: New Bots
'Eight
' Vermis Ettinus 0.15 (rebuild3) by Eight
' (Ettin Worm) "two heads are better than one"
'
' - this version is a simplified example of VE, which eats
' plants with ties and fixes enemy bots in place to shoot
' them normally.
' - basic, no slime or bodybuilding. just serves as an example
' of a quick, simple multibot.
' - once active, each head has a different number (45)
' which is either 0 or 2.


' idle
cond
*45 2 =
*.vel 0 =
start
5 .dx store
5 .tieval store
.sx .tieloc store
1 .tienum store
stop

' sun
cond
*.sun 1 =
*.vel 0 =
start
30 .up store
30 .tieval store
.dn .tieloc store
1 .tienum store
stop

' share
cond
*.numties 1 =
*.multi 1 =
*.trefnrg *.nrg !%=
start
50 .sharenrg store
stop

' single
cond
*.numties 0 =
start
0 45 store
stop

' grow head
cond
*45 0 =
*.multi 0 =
*.nrg 500 >
start
45 inc
50 .repro store
stop

' parent ties to its own child
cond
*45 1 =
*.eye5 70 >
*.refeye *.myeye =
start
1 .tie store
1 .readtie store
45 inc
stop

' angle - this gene stays active until the tie hardens so it's
' the first thing that kicks in. this -ensures- perfect angles.
cond
*.multi 0 =
*.numties 1 =
start
628 .fixang store
stop

' turn
cond
*.eye1 *.eye5 >
*.refeye *.myeye !=
start
5 .sx store
stop

cond
*.eye9 *.eye5 >
*.refeye *.myeye !=
start
5 .dx store
stop

cond
*.eye3 *.eye5 >
*.refeye *.myeye !=
start
2 .sx store
stop

cond
*.eye7 *.eye5 >
*.refeye *.myeye !=
start
2 .dx store
stop

' tiefeed on vegs
cond
*.multi 1 =
*.numties 1 =
*.eye5 30 >
*.refeye *.myeye !=
*.refshoot 0 =
start
3 .tie store
stop

' tiefeed/sabotage tiefeeders
cond
*.numties 1 >
*.tiepres 1 !=
start
*.tiepres .tienum store
-1000 .tieval store
-1 .tieloc store
stop

' freeze gun
cond
*.reffixed 0 =
*.multi 1 =
*.numties 1 =
*.eye5 30 >
*.refeye *.myeye !=
*.refup 0 >
start
1 .shootval store
216 .shoot store
stop

' shoot
cond
*.reffixed 1 =
*.multi 1 =
*.numties 1 =
*.eye5 30 >
*.refeye *.myeye !=
*.refup 0 >
start
-1 .shoot store
stop

' unfix
cond
*.fixpos 1 =
start
0 .fixpos store
stop

' what's closest
cond
*.multi 1 =
*.eye5 0 >
*.refeye *.myeye !=
start
.eye5 .tmemloc store
stop

' move
cond
*.multi 1 =
*.eye5 *.tmemval >
*.refeye *.myeye !=
*.eye5 60 <
start
100 *.eye5 sub 5 div .up store
100 *.eye5 sub 5 div .tieval store
.dn .tieloc store
1 .tienum store
stop

' make sure you've only got one tie when you split
cond
*.numties 1 =
*.eye5 30 <
*.nrg 10000 >
start
0 45 store
1 .deltie store
stop

end
« Last Edit: May 06, 2014, 11:52:25 AM by Botsareus »