Author Topic: Sentinel3  (Read 2858 times)

Offline bacillus

  • Bot Overlord
  • ****
  • Posts: 907
    • View Profile
Sentinel3
« on: January 16, 2010, 02:04:38 AM »
You'd expect version three to be halfway decent, eh?
While not exactly a 'good' bot, I like the idea behind a double-layered conspec that differentiates 'conspec' 'non-conspec but friendly' and 'enemy' , and decided to rewrite my old Sentinel bot (one of my first successful Viral bots apart from Occura Amplificis, which still packs a punch).

Code: [Select]
'Sentinel 3
'Teaching an old bot new tricks
'999-gene deactivator
'998-aim setter


cond
 *.robage 1 >
 *999 4285 !=
start
 50 .repro store
 *.tiepres .deltie store
 *.thisgene .mkvirus store
 *.nrg 5 div .vshoot store
 618 .eye5dir store
 *.thisgene ++ .delgene store
 .fixpos inc
 4285 .out2 store
 .backshot inc
 *.nrg 10 div .shootval store
 -1 *.in1 482 sub sgn abs -- abs mult -- .shoot store
0 998 store
 200 *.shell sub .mkshell store
 100 *.slime sub .mkslime store
stop

cond
 *.robage 0 =
start
 482 .out1 store
 4285 999 store
stop

start
 50 *.poison sub .strpoison store
 50 *.shell sub .mkshell store
 1 .mkvirus store
 200 *.nrg 10 div ceil .vshoot store
 500 *.body sub dup .strbody store - .fdbody store
 20 *.velup sub .up store
  -4 *.eye1 *.eye9 sub sgn 0 floor mult *.eye1 *.eye8 sub sgn 0 floor mult *.eye1

*.eye7 sub sgn 0    floor mult *.eye1 *.eye6 sub sgn 0 floor mult *.eye1 *.eye5

sub sgn 0 floor mult *.eye1 *.eye4 sub   sgn 0 floor mult *.eye1 *.eye3 sub sgn 0

floor mult *.eye1 *.eye2 sub sgn 0 floor mult 4 *.eye9     *.eye8 sub sgn 0 floor

mult *.eye9 *.eye7 sub sgn 0 floor mult *.eye9 *.eye6 sub sgn 0 floor mult
 *.eye9 *.eye5 sub sgn 0 floor mult *.eye9 *.eye4 sub sgn 0 floor mult *.eye9

*.eye3 sub sgn 0 floor  mult *.eye9 *.eye2 sub sgn 0 floor mult *.eye9 *.eye1 sub

sgn ++ sgn mult add -3 *.eye2 *.eye9 sub   sgn ++ sgn mult *.eye2 *.eye8 sub

sgn 0 floor mult *.eye2 *.eye7 sub sgn 0 floor mult *.eye2 *.eye6  sub sgn 0 floor

mult *.eye2 *.eye5 sub sgn 0 floor mult *.eye2 *.eye4 sub sgn 0 floor mult *.eye2

   *.eye3 sub sgn 0 floor mult *.eye2 *.eye1 sub sgn ++ sgn mult add 3 *.eye8

*.eye9 sub sgn ++ sgn     mult *.eye8 *.eye7 sub sgn 0 floor mult *.eye8 *.eye6

sub sgn 0 floor mult *.eye8 *.eye5 sub sgn 0   floor mult *.eye8 *.eye4 sub sgn 0

floor mult *.eye8 *.eye3 sub sgn 0 floor mult *.eye8 *.eye2 sub   sgn ++ sgn mult

*.eye8 *.eye1 sub sgn ++ sgn mult add -2 *.eye3 *.eye9 sub sgn ++ sgn mult

*.eye3    *.eye8 sub sgn ++ sgn mult *.eye3 *.eye7 sub sgn 0 floor mult *.eye3

*.eye6 sub sgn 0 floor mult
 *.eye3 *.eye5 sub sgn 0 floor mult *.eye3 *.eye4 sub sgn 0 floor mult *.eye3

*.eye2 sub sgn ++ sgn   mult *.eye3 *.eye1 sub sgn ++ sgn mult add 2 *.eye7

*.eye9 sub sgn ++ sgn mult *.eye7 *.eye8 sub     sgn ++ sgn mult *.eye7 *.eye7

sub sgn 0 floor mult *.eye7 *.eye6 sub sgn 0 floor mult *.eye7 *.eye5  sub sgn 0

floor mult *.eye7 *.eye4 sub sgn ++ sgn mult *.eye7 *.eye2 sub sgn ++ sgn mult

*.eye7 *.eye1 sub sgn ++ sgn mult add -1 *.eye4 *.eye9 sub sgn ++ sgn mult

*.eye4 *.eye8 sub sgn ++ sgn mult *.eye4 *.eye7 sub sgn ++ sgn mult *.eye4

*.eye6 sub sgn 0 floor mult *.eye4 *.eye5 sub sgn 0    floor mult *.eye4 *.eye3

sub sgn ++ sgn mult *.eye4 *.eye2 sub sgn ++ sgn mult *.eye4 *.eye1 sub     sgn

++ sgn mult add 1 *.eye4 *.eye9 sub sgn ++ sgn mult *.eye4 *.eye8 sub sgn ++

sgn mult *.eye4    *.eye7 sub sgn ++ sgn mult *.eye4 *.eye6 sub sgn ++ sgn mult

*.eye4 *.eye5 sub sgn 0 floor mult
 *.eye4 *.eye3 sub sgn ++ sgn mult *.eye4 *.eye2 sub sgn ++ sgn mult *.eye4

*.eye1 sub sgn ++ sgn     mult add 0 *.eye5 *.eye9 sub sgn ++ sgn mult *.eye5

*.eye8 sub sgn ++ sgn mult *.eye5 *.eye7 sub     sgn ++ sgn mult *.eye5 *.eye6

sub sgn ++ sgn mult *.eye5 *.eye4 sub sgn ++ sgn mult *.eye5 *.eye3   sub sgn

++ sgn mult *.eye5 *.eye2 sub sgn ++ sgn mult *.eye5 *.eye1 sub sgn ++ sgn

mult add .focuseye store
stop

cond
 *.eyef 0 !=
 *.in1 *.out1 !=
start
 *.refxpos *.refypos angle .setaim store
stop

cond
 *.eye5 40 >
 *.in1 *.out1 !=
 *.in2 4285 !=
start
 16 .shootval store
 -6 .shoot store
stop

cond
 *.eye5 40 >
 *.in1 *.out1 !=
 *.in2 4285 =
start
 *.refxpos *.refypos angle .shootval store
 .setaim .shoot store
stop

cond
 *.nrg 15000 >
start
 418 rnd .aimdx store
 40 .repro store
stop
"They laughed at Columbus, they laughed at Fulton, they laughed at the Wright brothers. But they also laughed at Bozo the Clown."
- Carl Sagan