Author Topic: One Man Bucket (SS)(F2)(abyaly)-03.04.07  (Read 5235 times)

Offline abyaly

  • Bot Destroyer
  • ***
  • Posts: 363
    • View Profile
One Man Bucket (SS)(F2)(abyaly)-03.04.07
« on: April 03, 2007, 09:34:55 AM »
Code: [Select]
'One Man Bucket
'Single Store bot by abyaly
'For version 2.43
'03-04-07



'I probably haven't optimized several of
'these values, but they aren't that interesting
'
'Memloc and value for conspec ident
def mem 941
def id 3211
'Amount of waste to accumulate before expelling it
def wasteval 1000
'attack distance
def eyerange 30
'age for non-initialization actions
'(lowering this number without removing init
'actions may cause strange things to happen)
def startage 4
'amount of shell to make
def shellsize 300
'amount of energy to gain before making shell
def shellthres 700
'eye width for eye5 placed during init.
def eyewidth 140

cond
start
.id
  *.robage 0 sub abs sgn -- abs mult
'no add for first one

.id
  *.robage 1 sub abs sgn -- abs mult
add

.id
  *.robage 2 sub abs sgn -- abs mult
add

.mem
  *.robage 3 sub abs sgn -- abs mult
add

.eyewidth
*.robage 4 sub abs sgn -- abs mult
add

99
  *.robage .startage sub sqr sgn mult
  *.paralyzed 0 sub sqr sgn mult
  *.nrg 50 sub sqr sgn mult
add

*.maxvel
  *.robage .startage sub sqr sgn mult
  *.paralyzed 0 sub sqr sgn mult
  *.nrg 50 sub sqr sgn -- abs mult
add

100
  *.robage .startage sub sqr sgn mult
  .shellsize *.shell sub sqr sgn mult
  *.nrg 500 sub sqr sgn mult
  *.paralyzed 0 sub abs sgn -- abs mult
add

-4
  *.robage .startage sub sqr sgn mult
  .shellsize *.shell sub sqr sgn -- abs
  *.nrg .shellthres sub sqr sgn -- abs add sgn mult
  *.paralyzed 0 sub abs sgn -- abs mult
  *.waste .wasteval sub sqr sgn mult
  *.shootval *.waste sub abs sgn -- abs mult
add

*.waste
  *.robage .startage sub sqr sgn mult
  .shellsize *.shell sub sqr sgn -- abs
  *.nrg .shellthres sub sqr sgn -- abs add sgn mult
  *.paralyzed 0 sub abs sgn -- abs mult
  *.waste .wasteval sub sqr sgn mult
  *.shootval *.waste sub abs sgn mult
add

*.refvelup
  *.robage .startage sub sqr sgn mult
  .shellsize *.shell sub sqr sgn -- abs
  *.nrg .shellthres sub sqr sgn -- abs add sgn mult
  *.paralyzed 0 sub abs sgn -- abs mult
  *.waste .wasteval sub sqr sgn -- abs mult
  *.memval .id sub abs sgn mult
  *.eye5 .eyerange sub sqr sgn mult
  *.refage 2 sub sqr sgn mult
  *.refvelup 5 sub - sqr sgn -- abs mult
add

*.refxpos *.refypos angle
  *.robage .startage sub sqr sgn mult
  .shellsize *.shell sub sqr sgn -- abs
  *.nrg .shellthres sub sqr sgn -- abs add sgn mult
  *.paralyzed 0 sub abs sgn -- abs mult
  *.waste .wasteval sub sqr sgn -- abs mult
  *.memval .id sub abs sgn mult
  *.eye5 .eyerange sub sqr sgn mult
  *.refage 2 sub sqr sgn mult
  *.refvelup 5 sub - sqr sgn mult
  *.refxpos *.refypos angle *.aim sub abs sgn mult
  *.robage 2 mod 1 sub abs sgn -- abs mult
add

-6
  *.robage .startage sub sqr sgn mult
  .shellsize *.shell sub sqr sgn -- abs
  *.nrg .shellthres sub sqr sgn -- abs add sgn mult
  *.paralyzed 0 sub abs sgn -- abs mult
  *.waste .wasteval sub sqr sgn -- abs mult
  *.memval .id sub abs sgn mult
  *.eye5 .eyerange sub sqr sgn mult
  *.refage 2 sub sqr sgn mult
  *.refvelup 5 sub - sqr sgn mult
  *.refxpos *.refypos angle *.aim sub abs sgn -- abs
  *.robage 2 mod 1 sub abs sgn add sgn mult
add

*.refxpos *.refypos angle
  *.robage .startage sub sqr sgn mult
  .shellsize *.shell sub sqr sgn -- abs
  *.nrg .shellthres sub sqr sgn -- abs add sgn mult
  *.paralyzed 0 sub abs sgn -- abs mult
  *.waste .wasteval sub sqr sgn -- abs mult
  *.memval .id sub abs sgn mult
  *.eye5 .eyerange sub sqr sgn -- abs mult
  *.eye5 0 sub sqr sgn mult
  *.refage 2 sub sqr sgn mult
  *.refxpos *.refypos angle *.aim sub abs sgn mult
  *.robage 2 mod 1 sub abs sgn -- abs mult
add

10
  *.robage .startage sub sqr sgn mult
  .shellsize *.shell sub sqr sgn -- abs
  *.nrg .shellthres sub sqr sgn -- abs add sgn mult
  *.paralyzed 0 sub abs sgn -- abs mult
  *.waste .wasteval sub sqr sgn -- abs mult
  *.memval .id sub abs sgn mult
  *.eye5 .eyerange sub sqr sgn -- abs mult
  *.eye5 0 sub sqr sgn mult
  *.refage 2 sub sqr sgn mult
  *.refxpos *.refypos angle *.aim sub abs sgn -- abs
  *.robage 2 mod 1 sub abs sgn add sgn mult
  *.refvelup -5 sub - sqr sgn -- abs mult
add

300
  *.robage .startage sub sqr sgn mult
  .shellsize *.shell sub sqr sgn -- abs
  *.nrg .shellthres sub sqr sgn -- abs add sgn mult
  *.paralyzed 0 sub abs sgn -- abs mult
  *.waste .wasteval sub sqr sgn -- abs mult
  *.memval .id sub abs sgn -- abs mult
  *.eye5 0 sub sqr sgn mult
  *.velscalar 0 sub sqr sgn
  *.numties 0 sub abs sgn add sgn
  *.robage 20 mod 0 sub abs sgn add sgn mult
add

100
  *.robage .startage sub sqr sgn mult
  .shellsize *.shell sub sqr sgn -- abs
  *.nrg .shellthres sub sqr sgn -- abs add sgn mult
  *.paralyzed 0 sub abs sgn -- abs mult
  *.waste .wasteval sub sqr sgn -- abs mult
  *.memval .id sub abs sgn -- abs mult
  *.eye5 0 sub sqr sgn mult
  *.velscalar 0 sub abs sgn -- abs mult
  *.numties 0 sub abs sgn -- abs mult
  *.robage 20 mod 0 sub abs sgn -- abs mult
add

300
  *.robage .startage sub sqr sgn mult
  .shellsize *.shell sub sqr sgn -- abs
  *.nrg .shellthres sub sqr sgn -- abs add sgn mult
  *.paralyzed 0 sub abs sgn -- abs mult
  *.waste .wasteval sub sqr sgn -- abs mult
  *.nrg 1000 sub - sqr sgn mult
  *.eye5 0 sub abs sgn -- abs mult
add

100
  *.robage .startage sub sqr sgn mult
  .shellsize *.shell sub sqr sgn -- abs
  *.nrg .shellthres sub sqr sgn -- abs add sgn mult
  *.paralyzed 0 sub abs sgn -- abs mult
  *.waste .wasteval sub sqr sgn -- abs mult
  *.nrg 1000 sub - sqr sgn -- abs mult
  *.body 1000 sub - sqr sgn mult
  *.eye5 0 sub abs sgn -- abs mult
add

50
  *.robage .startage sub sqr sgn mult
  .shellsize *.shell sub sqr sgn -- abs
  *.nrg .shellthres sub sqr sgn -- abs add sgn mult
  *.paralyzed 0 sub abs sgn -- abs mult
  *.waste .wasteval sub sqr sgn -- abs mult
  *.nrg 1000 sub - sqr sgn -- abs mult
  *.body 1000 sub - sqr sgn -- abs mult
  *.eye5 0 sub abs sgn -- abs mult
add
'---------------------------------------------------
.tie
  *.robage 0 sub abs sgn -- abs mult
'no add for first one

.deltie
  *.robage 1 sub abs sgn -- abs mult
add

.mem
  *.robage 2 sub abs sgn -- abs mult
add

.memloc
  *.robage 3 sub abs sgn -- abs mult
add

.eye5width
*.robage 4 sub abs sgn -- abs mult
add

.repro
  *.robage .startage sub sqr sgn mult
  *.paralyzed 0 sub sqr sgn mult
  *.nrg 50 sub sqr sgn mult
add

.dn
  *.robage .startage sub sqr sgn mult
  *.paralyzed 0 sub sqr sgn mult
  *.nrg 50 sub sqr sgn -- abs mult
add

.mkshell
  *.robage .startage sub sqr sgn mult
  .shellsize *.shell sub sqr sgn mult
  *.nrg 500 sub sqr sgn mult
  *.paralyzed 0 sub abs sgn -- abs mult
add

.shoot
  *.robage .startage sub sqr sgn mult
  .shellsize *.shell sub sqr sgn -- abs
  *.nrg .shellthres sub sqr sgn -- abs add sgn mult
  *.paralyzed 0 sub abs sgn -- abs mult
  *.waste .wasteval sub sqr sgn mult
  *.shootval *.waste sub abs sgn -- abs mult
add

.shootval
  *.robage .startage sub sqr sgn mult
  .shellsize *.shell sub sqr sgn -- abs
  *.nrg .shellthres sub sqr sgn -- abs add sgn mult
  *.paralyzed 0 sub abs sgn -- abs mult
  *.waste .wasteval sub sqr sgn mult
  *.shootval *.waste sub abs sgn mult
add

.up
  *.robage .startage sub sqr sgn mult
  .shellsize *.shell sub sqr sgn -- abs
  *.nrg .shellthres sub sqr sgn -- abs add sgn mult
  *.paralyzed 0 sub abs sgn -- abs mult
  *.waste .wasteval sub sqr sgn -- abs mult
  *.memval .id sub abs sgn mult
  *.eye5 .eyerange sub sqr sgn mult
  *.refage 2 sub sqr sgn mult
  *.refvelup 5 sub - sqr sgn -- abs mult
add

.setaim
  *.robage .startage sub sqr sgn mult
  .shellsize *.shell sub sqr sgn -- abs
  *.nrg .shellthres sub sqr sgn -- abs add sgn mult
  *.paralyzed 0 sub abs sgn -- abs mult
  *.waste .wasteval sub sqr sgn -- abs mult
  *.memval .id sub abs sgn mult
  *.eye5 .eyerange sub sqr sgn mult
  *.refage 2 sub sqr sgn mult
  *.refvelup 5 sub - sqr sgn mult
  *.refxpos *.refypos angle *.aim sub abs sgn mult
  *.robage 2 mod 1 sub abs sgn -- abs mult
add

.shoot
  *.robage .startage sub sqr sgn mult
  .shellsize *.shell sub sqr sgn -- abs
  *.nrg .shellthres sub sqr sgn -- abs add sgn mult
  *.paralyzed 0 sub abs sgn -- abs mult
  *.waste .wasteval sub sqr sgn -- abs mult
  *.memval .id sub abs sgn mult
  *.eye5 .eyerange sub sqr sgn mult
  *.refage 2 sub sqr sgn mult
  *.refvelup 5 sub - sqr sgn mult
  *.refxpos *.refypos angle *.aim sub abs sgn -- abs
  *.robage 2 mod 1 sub abs sgn add sgn mult
add

.setaim
  *.robage .startage sub sqr sgn mult
  .shellsize *.shell sub sqr sgn -- abs
  *.nrg .shellthres sub sqr sgn -- abs add sgn mult
  *.paralyzed 0 sub abs sgn -- abs mult
  *.waste .wasteval sub sqr sgn -- abs mult
  *.memval .id sub abs sgn mult
  *.eye5 .eyerange sub sqr sgn -- abs mult
  *.eye5 0 sub sqr sgn mult
  *.refage 2 sub sqr sgn mult
  *.refxpos *.refypos angle *.aim sub abs sgn mult
  *.robage 2 mod 1 sub abs sgn -- abs mult
add

.up
  *.robage .startage sub sqr sgn mult
  .shellsize *.shell sub sqr sgn -- abs
  *.nrg .shellthres sub sqr sgn -- abs add sgn mult
  *.paralyzed 0 sub abs sgn -- abs mult
  *.waste .wasteval sub sqr sgn -- abs mult
  *.memval .id sub abs sgn mult
  *.eye5 .eyerange sub sqr sgn -- abs mult
  *.eye5 0 sub sqr sgn mult
  *.refage 2 sub sqr sgn mult
  *.refxpos *.refypos angle *.aim sub abs sgn -- abs
  *.robage 2 mod 1 sub abs sgn add sgn mult
  *.refvelup -5 sub - sqr sgn -- abs mult
add

.aimdx
  *.robage .startage sub sqr sgn mult
  .shellsize *.shell sub sqr sgn -- abs
  *.nrg .shellthres sub sqr sgn -- abs add sgn mult
  *.paralyzed 0 sub abs sgn -- abs mult
  *.waste .wasteval sub sqr sgn -- abs mult
  *.memval .id sub abs sgn -- abs mult
  *.eye5 0 sub sqr sgn mult
  *.velscalar 0 sub sqr sgn
  *.numties 0 sub abs sgn add sgn
  *.robage 20 mod 0 sub abs sgn add sgn mult
add

.dn
  *.robage .startage sub sqr sgn mult
  .shellsize *.shell sub sqr sgn -- abs
  *.nrg .shellthres sub sqr sgn -- abs add sgn mult
  *.paralyzed 0 sub abs sgn -- abs mult
  *.waste .wasteval sub sqr sgn -- abs mult
  *.memval .id sub abs sgn -- abs mult
  *.eye5 0 sub sqr sgn mult
  *.velscalar 0 sub abs sgn -- abs mult
  *.numties 0 sub abs sgn -- abs mult
  *.robage 20 mod 0 sub abs sgn -- abs mult
add

.aimdx
  *.robage .startage sub sqr sgn mult
  .shellsize *.shell sub sqr sgn -- abs
  *.nrg .shellthres sub sqr sgn -- abs add sgn mult
  *.paralyzed 0 sub abs sgn -- abs mult
  *.waste .wasteval sub sqr sgn -- abs mult
  *.nrg 1000 sub - sqr sgn mult
  *.eye5 0 sub abs sgn -- abs mult
add

.strbody
  *.robage .startage sub sqr sgn mult
  .shellsize *.shell sub sqr sgn -- abs
  *.nrg .shellthres sub sqr sgn -- abs add sgn mult
  *.paralyzed 0 sub abs sgn -- abs mult
  *.waste .wasteval sub sqr sgn -- abs mult
  *.nrg 1000 sub - sqr sgn -- abs mult
  *.body 1000 sub - sqr sgn mult
  *.eye5 0 sub abs sgn -- abs mult
add

.repro
  *.robage .startage sub sqr sgn mult
  .shellsize *.shell sub sqr sgn -- abs
  *.nrg .shellthres sub sqr sgn -- abs add sgn mult
  *.paralyzed 0 sub abs sgn -- abs mult
  *.waste .wasteval sub sqr sgn -- abs mult
  *.nrg 1000 sub - sqr sgn -- abs mult
  *.body 1000 sub - sqr sgn -- abs mult
  *.eye5 0 sub abs sgn -- abs mult
add
store
stop

And here is the same bot except using mutually exclusive COND blocks
Code: [Select]
'One Man Bucket (Extended)
'Single Store bot by abyaly
'In expanded form
'For version 2.43
'03-04-07





'I probably haven't optimized several of
'these values, but they aren't that interesting
'
'Memloc and value for conspec ident
def mem 941
def id 3211
'Amount of waste to accumulate before expelling it
def wasteval 1000
'attack distance
def eyerange 30
'age for non-initialization actions
'(lowering this number without removing init
'actions may cause strange things to happen)
def startage 4
'amount of shell to make
def shellsize 300
'amount of energy to gain before making shell
def shellthres 700
'eye width for eye5 placed during init.
def eyewidth 140

cond
*.robage 0 =
start
.id .tie store
stop

cond
*.robage 1 =
start
.id .deltie store
stop

cond
*.robage 2 =
start
.id .mem store
stop

cond
*.robage 3 =
start
.mem .memloc store
stop

cond
*.robage 4 =
start
.eyewidth .eye5width store
stop

cond
*.robage .startage >
*.paralyzed 0 >
*.nrg 50 >
start
99 .repro store
stop

cond
*.robage .startage >
*.paralyzed 0 >
*.nrg 50 <=
start
*.maxvel .dn store
stop

cond
*.robage .startage >
.shellsize *.shell >
*.nrg 500 >
*.paralyzed 0 =
start
100 .mkshell store
stop

cond
*.robage .startage >
.shellsize *.shell <=
*.nrg .shellthres <= or
*.paralyzed 0 =
*.waste .wasteval >
*.shootval *.waste =
start
-4 .shoot store
stop

cond
*.robage .startage >
.shellsize *.shell <=
*.nrg .shellthres <= or
*.paralyzed 0 =
*.waste .wasteval >
*.shootval *.waste !=
start
*.waste .shootval store
stop

cond
*.robage .startage >
.shellsize *.shell <=
*.nrg .shellthres <= or
*.paralyzed 0 =
*.waste .wasteval <=
*.eye5 .eyerange >
*.memval .id !=
*.refage 2 >
*.refvelup 5 >=
start
*.refvelup .up store
stop

cond
*.robage .startage >
.shellsize *.shell <=
*.nrg .shellthres <= or
*.paralyzed 0 =
*.waste .wasteval <=
*.eye5 .eyerange >
*.memval .id !=
*.refage 2 >
*.refvelup 5 <
*.refxpos *.refypos angle *.aim !=
*.robage 2 mod 1 =
start
*.refxpos *.refypos angle .setaim store
stop

cond
*.robage .startage >
.shellsize *.shell <=
*.nrg .shellthres <= or
*.paralyzed 0 =
*.waste .wasteval <=
*.eye5 .eyerange >
*.memval .id !=
*.refage 2 >
*.refvelup 5 <
*.refxpos *.refypos angle *.aim =
*.robage 2 mod 1 != or
start
-6 .shoot store
stop

cond
*.robage .startage >
.shellsize *.shell <=
*.nrg .shellthres <= or
*.paralyzed 0 =
*.waste .wasteval <=
*.eye5 .eyerange <=
*.eye5 0 >
*.memval .id !=
*.refage 2 >
*.refxpos *.refypos angle *.aim !=
*.robage 2 mod 1 =
start
*.refxpos *.refypos angle .setaim store
stop

cond
*.robage .startage >
.shellsize *.shell <=
*.nrg .shellthres <= or
*.paralyzed 0 =
*.waste .wasteval <=
*.eye5 .eyerange <=
*.eye5 0 >
*.memval .id !=
*.refage 2 >
*.refxpos *.refypos angle *.aim =
*.robage 2 mod 1 != or
*.refvelup -5 >=
start
10 .up store
stop

cond
*.robage .startage >
.shellsize *.shell <=
*.nrg .shellthres <= or
*.paralyzed 0 =
*.waste .wasteval <=
*.eye5 0 >
*.memval .id =
*.velscalar 0 >
*.numties 0 != or
*.robage 20 mod 0 != or
start
300 .aimdx store
stop

cond
*.robage .startage >
.shellsize *.shell <=
*.nrg .shellthres <= or
*.paralyzed 0 =
*.waste .wasteval <=
*.eye5 0 >
*.memval .id =
*.velscalar 0 =
*.numties 0 =
*.robage 20 mod 0 =
start
100 .dn store
stop

cond
*.robage .startage >
.shellsize *.shell <=
*.nrg .shellthres <= or
*.paralyzed 0 =
*.waste .wasteval <=
*.nrg 1000 <
*.eye5 0 =
start
300 .aimdx store
stop

cond
*.robage .startage >
.shellsize *.shell <=
*.nrg .shellthres <= or
*.paralyzed 0 =
*.waste .wasteval <=
*.nrg 1000 >=
*.body 1000 <
*.eye5 0 =
start
100 .strbody store
stop

cond
*.robage .startage >
.shellsize *.shell <=
*.nrg .shellthres <= or
*.paralyzed 0 =
*.waste .wasteval <=
*.nrg 1000 >=
*.body 1000 >=
*.eye5 0 =
start
50 .repro store
stop
« Last Edit: April 03, 2007, 09:36:56 AM by abyaly »
Lancre operated on the feudal system, which was to say, everyone feuded all
the time and handed on the fight to their descendants.
        -- (Terry Pratchett, Carpe Jugulum)

Offline Jez

  • Bot Overlord
  • ****
  • Posts: 788
    • View Profile
One Man Bucket (SS)(F2)(abyaly)-03.04.07
« Reply #1 on: April 27, 2007, 05:53:29 AM »
Waiting to be added to 1G league
If you try and take a cat apart to see how it works, the first thing you have in your hands is a non-working cat.
Douglas Adams