Look at Una's :D antivirus defence. Gene two is constantly delgened, deleting any virus before they can actually execute.
For some reason viruses are never inserted before the first gene.
How about each gene 'pass the .delgene' to the next gene with .delgene inc if they detect *.delgene = *.thisgene. Viruses be deleted instantly, as they cannot 'pass the .delgene' when they are inserted.
Put this code in each gene:
.delgene *.delgene *.thisgene sub abs sgn mult inc
Maybe like this:
cond
*.eye5 0 >
*.refeye *.myeye !=
start
*.refveldx .dx store
*.refvelup 30 add .up store
stop
becomes
cond
*.eye5 0 >
*.refeye *.myeye !=
*.thisgene *.delgene =
start
*.refveldx .dx *.delgene *.thisgene sub abs sgn -1 mult 1 add mult store
*.refvelup 30 add .up *.delgene *.thisgene sub abs sgn -1 mult 1 add mult store
.delgene *.delgene *.thisgene sub abs sgn mult inc
stop
with
*.delgene *.thisgene sub abs sgn -1 mult 1 add mult
Stopping the gene's normal functions from activating
Damn :angry:
Then the gene would never be able to execute :(
I'm sure I'm on to something here ...
At the very least you could periodically activate the 'pass the delgene' function to sweep out viruses. Or do it when *.genes changes.
A weakness of viruses is that they can't execute if they are .delgened on the very turn that they are inserted.
A *.refvirus would be good for telling when you are at risk of infection, then you can activate your energy-hungry antivirus routines.
If you want an (easier in some ways, but harder in others) virus-resistant bot, then brush up on your
conditionless bots skills and make an SG bot.
Getting this 'pass the delgene' to work could make perfect antivirus possible. I don't even know if it works though. Could Numsgil or PY run through exactly what happens when you are hit by a virus, and in what order.
Can any of you do anything with this?