'F2 bot
'Inspired by the tree snails of the Everglades
'Multiple layers of hibernation with selective confoolery
'Latch onto and semi-control vegs
'Create shells
'Load up large resevoirs of venom to shoot
'Use instakill tieing
'Molest
 
'Veggie is determined by memloc (chlr)
def stat 21
def tstat 24

def veg 1001
def ally 1002
def lilen 1003
def bigen 1004

def nrgflag 23
def thresh 974
'When NRG hits a threshold, this flag gets activated. Threshold has a default of 100, but adapts. Turns off all but most essential genes

def hib 22
'Like the tree-snail, has several states of hib
'There is deep nosee, in which it must be attacked or bumped to wake up. Energy-efficient. 
'It is tied to a veg at that time
'Hide (shallow) nosee, not as efficient, as the bot set up con foolery
'Search nosee, searches envirom
'Feeding- the bot is feeding

def deep 9876
def hide 8765
def srch 7654
def feed 6543

'Types of venom and instakills
'Not all tree snails produce venom, and not all instakill
'Loc of affected sysvars stored in type
'0 is none

def vtype 971
def liltype 972
def bigtype 973

'Venom targets
'Sexrepro
'Shoot
'Shootval
'Mrepro
'Fixpos
'Aim

'Instakill targets
'Body-dependent (factored into conspec)
'Fer lil ones
'Fdbody
'Shootval
'Strvenom

'Fer fatties
'Fixpos
'Shoot
'Shootval

'=========================================================================================
'Conspec
'=========================================================================================
'Allies will match .refpoison
'Vegs will have a memloc 2 >
'Enemies will be non-veg cons
'Determine bot size

cond
*.numties 0 >
start
*.trefpoison *.mypoison =
.ally .tstat store
clearbool
*.mypoison *.trefpoison !=
*.trefbody 50 >
and
.bigen .tstat store
clearbool
*.mypoison *.trefpoison !=
*.trefbody 50 <=
and
.lilen .tstat store
clearbool
*.tmemloc 2 >
.veg .tstat store
stop

else
0 .tstat store
stop

cond
*.eyef 0 >
start
*.refpoison *.mypoison =
.ally .stat store
clearbool
*.mypoison *.refpoison !=
*.refbody 50 >
and
.bigen .stat store
clearbool
*.mypoison *.refpoison !=
*.refbody 50 <=
and
.lilen .stat store
clearbool
*.memloc 2 >
.veg .stat store
stop

else
0 .stat store
stop

'=====================================================
'Hibernation states
'May need some finetuning
'=====================================================
cond
*.stat 0 =
*.numties 0 =
xor
*.hib .hide !=
*.nrg 2000 >
start
.hide .hib store
stop

cond
*.hit 0 =
*.shflav 0 =
*.tstat .veg =
*.hib .deep !=
start
.deep .hib store
stop

cond
*.stat 0 =
*.tstat 0 =
and
*.hib .srch !=
start
.srch .hib store
stop

cond
*.stat 0 !=
*.tstat 0 !=
*.hib .feed !=
or
start
.feed .hib store
stop

'=======================================================
'*.robage 0 =
'=======================================================
cond
*.robage 0 =
start
140 .eye6width store
280 .eye7width store
280 .eye8width store
280 .eye9width store
-68 .eye1dir store
-68 .eye2dir store
-68 .eye3dir store
-68 .eye4dir store
-68 .eye5dir store
-140 .eye6dir store
317 .eye7dir store
634 .eye8dir store
970 .eye9dir store
-2 .focuseye store
.chlr .tmemloc store
.chlr .memloc store

stop

'========================================================
'Aiming
'========================================================
cond
*.eye1 *.eye2 *.eye3 *.eye4 *.eye5 add add add add 0 =
*.stat .con = or
start
157 .aimdx store
stop

cond
*.eye3 0 =
*.eye4 0 !=
start
34 .aimdx store
stop
cond
*.eye3 0 =
*.eye2 0 !=
start
-34 .aimdx store
stop
cond
*.eye3 0 =
*.eye5 0 !=
start
68 .aimdx store
stop
cond
*.eye3 0 =
*.eye1 0 !=
start
-68 .aimdx store
stop

'=====================================================
'Body and Stuff
'=====================================================
cond
*.nrg 2000 >
*.shell 2000 <=
*.robage 2 mod 0 =
start
100 .mkshell store
stop

cond
*.nrg 2000 >
*.venom 5000 <=
*.robage 2 mod 1 =
start
100 .strvenom store
stop

cond
*.body 20 >
*.nrg 500 <=
start
100 .fdbody store

cond
*.nrg 1000 >
*.robage 2 >
start
100 .strbody store
stop

cond
*.body 1000 >=
start
100 .fdbody store
stop

cond
*.numties 0 >
*.nrg 2000 >
start
100 .mkslime store
stop

'===========================================================
'Tieing
'===========================================================
 
'==============================================================================================
cond
0 1 =
start
*.strpoison *.strpoison != *.strpoison *.strpoison != *.strpoison *.strpoison != *.strpoison *.strpoison != 
*.strpoison *.strpoison != *.strpoison *.strpoison != *.strpoison *.strpoison != *.strpoison *.strpoison !=
*.strpoison *.strpoison != *.strpoison *.strpoison != *.strpoison *.strpoison != *.strpoison *.strpoison !=
*.strpoison *.strpoison != *.strpoison *.strpoison != *.strpoison *.strpoison != *.strpoison *.strpoison !=
*.strpoison *.strpoison != *.strpoison *.strpoison != *.strpoison *.strpoison != *.strpoison *.strpoison != 
*.strpoison *.strpoison != *.strpoison *.strpoison != *.strpoison *.strpoison != *.strpoison *.strpoison !=
*.strpoison *.strpoison != *.strpoison *.strpoison != *.strpoison *.strpoison != *.strpoison *.strpoison !=
*.strpoison *.strpoison != *.strpoison *.strpoison != *.strpoison *.strpoison != *.strpoison *.strpoison !=
stop
















end