Darwinbots Forum
Bots and Simulations => DNA - General => Topic started by: Zelos on February 22, 2005, 03:24:19 PM
-
hi, I was looking trought things you can use in db and I readed what shootval do, but I didnt get it, can some1 explain it more? and backshot is the same as shoot but only from the back right? :unsure:
-
First, you are correct about backshot. It just creates a shot from the back of the robot. Any value other than zero stored into backshot will make it go backward.
shootval is where you place the value that you want to transmit through the shot.
This doesn't apply to -1 shots or -6 shots (at least up to V2.35)
shootval is primarily used to "poke" a value into another robot's memory at a specific location. Take a look at this nasty little gene.
cond
*.eye5 40 >
*.refeye *.myeye !=
start
.aimsx .shoot store
200 .shootval store
stop
What does it do?
It will fire a shot at any robot that isn't a conspecific and is closer than 40 in eye5.
The shot will hit memory location (.aimsx) 6
A vlaue of 200 (stored in shootval) will be "poked" (placed) into this location in the enemy robot when the shot hits it and overcomes the shell defenses.
Result?
The victim will be forced to rotate left by a value of 200 points. He turns away so that he can't shoot back.
Of course, this actual gene won't be much good in a battle because the robot will only ever fire this type of shot and will never use a -1 or -6 to feed with.
You will need to come up with a better condition.
:D PY :D
-
hmmm where could I have seen this before :rolleyes:
-
I think Ymir has a shot like that :P
-
ty py
-
Okay, so if I store 100 .shootval into a bot's storage; like this:
start
64 .shootval store
This will increase the power of the bot's shots by 6, right?
Also, if I do this, will the change be permanent, (like, will he always do 6x damage?) or does it deplete with each shot? Also, does it deplete at a rate of 1 per shot, or what?
-
.shootval just increases the next shot's power. After that, your power goes back down to normal levels.
64 .shootval will increase a shot's power by roughly six times, and cost 64 times the normal amount. Actual amounts may vary depending on the exact equation used ini the program.
-
I made a bot using positive shoots to make non-veggie bots delete their dna. Here's the code I used:
cond
*.refeye *.myeye !=
*.eye5 20 >
start
-6 .shoot store
991 inc ' Up the counter by one
stop
cond
-6 *.shoot =
*991 5 >= ' This part is designed to make every 5th shot a delgener
0 *.refshoot < 'Only delete genes of non-veggies
start
0 991 store ' Reset the count to 0
.delgene .shoot store
1 .shootval store
stop
There's only one problem. It doesn't work!
I made one that puts 1000 in fdbody, and that worked. Is there some things you just can't do with shoot? The bot I was targetting didn't use delgene and had several shoot commands in it's dna.
-
Yeah, delgene in particular is limited so it can't be used with info shots because it was decided to be too powerful. There's one or two other sysvars that are also restricted, but I don't remember what they are.
-
Thanks!
So I'll need to use viruses to modify Delgene then. I tried venom, but it didn't do the trick either.
I'll have to come up with some other evil plan then.