Venom can be stored by bots using .strvenom and fired by storing -3 in .shoot. The value in .shootval represents the amount of venom to use (though if you don't set a value, a default one will be used anyway). When venom hits another bot, the memory location specified in .vloc of the bot that fired the poison will be overwritten by the value in .venval, for a length of time equivalent to the amount of poison fired (the value in .shootval). The effects of a venom shot can be reduced or nullified with shell.
Venom is similar to poison, but represents an attack instead of a defense, and can set a memory location to a specific value rather than simply zeroing it.
Venom does not affect bots of the same species as you.
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.
Popular Types of Venom
.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 recognizing 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
.refeye .ploc store 'for the poison version
Stops your enemy from identifying anyone as a conspec (goes cannibalistic) and he will attack everyone including his own kind.
.fixpos .vloc store 1 .venval store
Freezes the enemy.