Venom
Can be deliberatly fired by storing -3 into .shoot. Similar to .poison it targets the memory location stored into .vloc. Unlike .poison though it can set that location to a particular value with the use of .venval. The length of time it remains that value again depends on the amount of venom that has been stored into .strvenom.
cond *.robage 0 = start .venval inc .backshot .vloc store stop
cond 100 *.venom > start 100 *.venom sub .strvenom store stop
cond *.refeye *.myeye != *.refeye 0 > *.eye5 30 > start 'fire venom -3 .shoot store stop
Here's a basic example showing a bot storing venom whenever it falls below 100. At birth it'll store 1 in venval and .backshot in vloc; to save energy on costs. These will not change unless changed by another. By storing the -3 in .shoot it fires a venom shot causing the defending by to begin firing backwards for however long the hundred units of venom last.
With some additional coding it could then feed from an enemy once it knows a venom shot has been fired.
thanks to Elite for the following:
.ploc , .vloc and .venval determine what happens to the bot on the recieving end of your venom or poison shot.
- Poison uses .ploc
Place a value in .ploc sometime (usually when you're born) and when an enemy gets hit by the poison the memory location you placed in .ploc will be set to zero for a while.
Popular poisons include:
.eye5 .ploc store
Which blinds your enemy; and
.shoot .ploc store
Which prevents your enemy form shooting
Poison is automatically fired back at an enemy when you are hit by a -1 shot. You can't fire poison 'manually'
Venom uses .vloc and .venval
.vloc is the memory location (like .ploc) but this time, when an enemy is hit by venom, the value in .venval overwrites the value in his memory location (.vloc). You can have lots of fun with this.
Popular venoms:
.dn .vloc store 100 .venval store
Makes your enemy fly backwards
.shoot .vloc store -2 .venval store
Makes your enemy shoot nrg
.myeye .vloc store *.myeye .venval store
Prevents your enemy from recognising you as a conspec and therefore stops your enemy from attacking you (assuming he's using .myeye conspec recognition)
.refeye .vloc store 0 .venval store
or
.refeye .ploc store 'for the poison version
Stops your enemy from identifying anyone as a conspec (goes cannibiotistic) and he will attack everyone including his own kind. Venom is fired by putting -3 in .shoot. It is not fired automatically. The number in .shootval when you fire the venom determines how much venom you fire. More venom lasts longer.
As for shell, slime and poison:
Poison will protect you from -1 shots. If a -1 shot hits you, you will fire poison back.
Shell will only protect against -6 shots (body shots), which are fired by putting -6 in .shoot rather than -1. The shell will slowly wear away and take damage for you. Shell makes you heavy and slow however.
Slime protects against ties and viruses. Slime slowly melts away however. Slime is not 'used up' when ties and viruses hit (at least not to my knowlage). A few hundred units of slime will protect you against most (if not all) viruses.
Another cool trick is firing info shots. Put a memory location in .shoot and then that memory location will be overwritten by what's in .shootval.
.aimsx .shoot store 314 .shootval store
Icarus used this to dominate F2 for a while.
Here's a neat little alga (check the 'autotroph' box) that uses venom and poison
' Alga Toxicus ' ' Don't get too close! cond *.robage 0 = start .shoot .ploc store .shoot .vloc store -2 .venval store stop cond start 120 rnd .aimdx store -3 .shoot store stop cond *.nrg 1000 > start 50 .repro store 100 .strpoison store 100 .strvenom store stop end