Difference between revisions of "Shooting"

From WikiManual
Jump to: navigation, search
m (Fixed typos)
 
(15 intermediate revisions by 6 users not shown)
Line 1: Line 1:
The .shoot command is one of the most vital in DB. With it a bot can feed, dispose of waste, shoot poison or venom, and affect another bots memory.  
+
The [[.shoot]] command is one of the most vital in DB. With it a bot can feed, dispose of waste, shoot poison or venom, and affect another bot's memory.  
  
Basics
+
==[[Sysvar]]s:==
Whenever a non zero value is stored in .shoot, a shot is produced. This shot by default fires directly along the bot's eye's vector (that is, which direction it's looking). The shot's basic strength and range are determined by a bot's body.
+
{{Shooting}}
  
'''Shot Types:'''
+
== Basics ==
 
+
Whenever a non zero value is stored in .shoot, a shot is produced. This shot by default fires directly along the bot's eye's vector (that is, which direction it's looking). The shot's basic strength and range are determined by a bot's body.
'''Feeding Shots'''
 
*-1 - [[Energy]] Shots
 
*-2 - Give energy Shoot, bread and butter feeding type
 
*-6 - [[Body]] Shots
 
 
 
'''Waste Poison and Venom'''
 
*-4 - [[Waste]] Shots(coupled with .shootval to determine waste size)
 
*? - Poison Shots(fired automatically at attacker provided defender has poison, cannot be fired manually through the DNA)
 
*? - Venom Shots(can be fired at other bot provided venom stored)
 
 
 
 
 
'''Memory shots'''
 
 
 
By storing positive numbers in .shoot another bot's memory can be overwritten by what's stored in .shootval. This can be used to either mess up another bot or to exchange some vital information between bots.
 
 
 
Here's how you'd make another bot turn. Light's Icarus used this to dominate F2 league for a while.
 
 
 
 
 
cond
 
'you figure it out
 
'Icarus fires if:<nowiki>
 
*.shup</nowiki> -2 !=
 
start<br>
 
.aimdx .shoot store
 
314 .shootval store
 
stop
 
 
 
This will make any bot that you hit turn 90 degrees to the right.
 
 
 
--------------------------------------------------------------------------------
 
 
 
Defenses and Attacking
 
For 2.36 and later, check out [[How defenses and attacks work]]
 
 
 
Advanced Uses of Shootval
 
As of 2.36, you may 'power up' a shot's strength and range.
 
 
 
Storing a negative value in .shootval will make body shots (-6) and energy shots (-2) have a longer range.
 
 
 
Storing positive values in .shootval will make body shots (-6) and energy shots (-1 and -2) become more powerful.
 
 
 
The multiplier is roughly log2(.shootval). That's log base 2. So spend 4 energy in .shootval and you'll double your shot strength or range, but spend 8 energy and you only triple shot strength or range.
 
 
 
This will also work in a way with venom and waste shots. The increase is linear instead of logarithmic though, and you spend the resource amount instead of energy. See venom and waste. Note that storing negative numbers for venom or waste shots has no effect, the shootval must be positive. (I think)
 
 
 
Advanced Shooting Commands
 
.backshot and .aimshoot allow for more control over how the shot is produced.
 
 
 
Storing a positive number in .backshoot or increasing .backshoot by one, will instruct the bot to fire backwards if a non zero value is stored in .shoot.
 
 
 
Saving energy by using the increase operator:
 
 
 
.backshoot inc
 
6 .shoot store<br>
 
 
 
.aimshoot follows .backshot's syntax, but allows you to specify an angle to shoot at. The number stored here represents the angle from the bot's eye vector (direction it's facing) running counter-clockwise.
 
 
 
Example
 
 
 
314 .aimshoot store<br>
 
-2 .shoot store<br>
 
 
 
will fire a shot directly 90 degrees to the left of the bot's eye.
 
 
 
=== Sysvars ===
 
* [[Definitions]]
 
* [[.up|Movement (.up, .dn. .dx, .sx)]]
 
* [[.aimdx|Basic Turning (.aimdx, .aimsx)]]
 
* [[Shooting]]
 
* [[Reproducing]]
 

Latest revision as of 21:15, 14 February 2014

The .shoot command is one of the most vital in DB. With it a bot can feed, dispose of waste, shoot poison or venom, and affect another bot's memory.

Sysvars:

Shooting:

.shoot 7 .shootval 8
.kills 220
.backshot 900 .aimshoot 901

Basics

Whenever a non zero value is stored in .shoot, a shot is produced. This shot by default fires directly along the bot's eye's vector (that is, which direction it's looking). The shot's basic strength and range are determined by a bot's body.