Venom
From WikiManual
Can be deliberatly fired by storing -3 into .shoot. Similar to .poison it targets the memloc 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 200 *.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 making venom and poison as necessary. It poisons shoot keeping attackers from feeding. If it sees an enemy not a veggie it'll attack it's shooting ability making it fire backwards.
With some additional coding it could then feed from an enemy once it knows a venom shot has been fired.