Core Rules
Shooting
Core Rule Shooting resolves a ranged attack from an eligible attacking unit against a legal enemy target using the VoidSiege Target Lock and damage sequence. Target Legality A shooting attack is legal only if:…
Core Rule
Shooting resolves a ranged attack from an eligible attacking unit against a legal enemy target using the VoidSiege Target Lock and damage sequence.
Target Legality
A shooting attack is legal only if:
- the attacker is permitted to make a ranged attack
- the target is a legal enemy target unless a rule explicitly states otherwise
- the target is within the required range
- the attacker has valid line of sight where required
- no rule prohibits the attack at the moment it resolves
Split Target
A unit may split its shooting attacks between multiple legal targets only when a rule allows or requires Split Target.
When using Split Target, declare which weapons or weapon dice are assigned to each target before resolving Target Lock.
Each declared target must be a legal target for the weapon or attack assigned to it.
Resolve each target's Target Lock, Cover, damage, allocation, and removal timing using the normal shooting rules unless the rule that enabled Split Target states otherwise.
Reaction To Shooting
Older rulebook text may refer to a reaction to shooting.
In current repo terminology, this is a responding command declared when a unit is targeted by a shooting attack, if a command or rule allows that response.
Use timing/command_timing.md and the responding command's own file to determine declaration timing, resolution timing, restrictions, and whether the response resolves before or after the triggering shooting attack.
Engagement Restriction
A model within 1 inch of an enemy model cannot use ranged weapons.
The only exception is if the weapon has the Assault ranged weapon trait defined in core/ranged_weapons.md, or another rule explicitly allows the attack.
If a unit declares a shooting attack while some of its models are within 1 inch of an enemy, only models that are legally able to fire when the attack resolves may do so.
Close-combat use of an Assault ranged weapon is not a shooting attack and does not use this shooting sequence.
Shooting Resolution
Shooting resolves by:
- Confirming legal attackers and a legal target.
- Resolving Target Lock.
- Applying modifiers, weapon rules, and Cover interaction.
- Resolving Critical Damage where triggered.
- Resolving normal damage for remaining successful Target Locks.
- Applying resulting model removal and other outcomes according to the relevant damage and timing rules.
Use sequences/shooting_sequence.md for order of resolution. Use core/target_lock.md for Target Lock rules. Use core/critical_damage.md for Critical Damage rules. Use core/cover.md for Cover interaction. Use core/damage.md for normal damage resolution and Target Limit.
Target Limit
Target Limit is owned by core/damage.md.
Shooting uses successful Target Locks to determine how many models may be affected by damage unless another rule explicitly states otherwise.
Cover Interaction
Cover modifies incoming Target Lock results according to core/cover.md.
If the result that would have caused Critical Damage is removed by Cover, no Critical Damage is caused unless another rule explicitly states otherwise.
Initiative and Simultaneous Fire
If both sides resolve shooting as part of the same engagement:
- the unit with initiative resolves immediate Critical Damage first
- non-critical casualties are still removed only after the engagement is fully resolved unless another rule explicitly states otherwise
- a command that creates a shooting timing exception must state that exception explicitly
Command Interaction
Commands may change declaration timing, legal targets, weapon selection limits, initiative, or when the shooting engine is called.
Commands do not redefine the core shooting engine unless they explicitly state an exception.
Notes
- This file defines how standard shooting works.
- Close-combat use of Assault ranged weapons is owned by
core/ranged_weapons.mdandcore/melee.md. command_shoot.md,command_advance.md,command_assault.md,command_covering_fire.md, andcommand_snap_fire.mdshould reference this file rather than restating the full shooting sequence.- Snap Fire and Covering Fire are command-specific modifications to this engine.
