From Official Factorio Wiki
Jump to: navigation, search

The abstract base of all attack parameters.


Mandatory properties


Type: Types/float

Before an entity can attack, the distance (in tiles) between the entity and target must be less than or equal to this.


Type: Types/float

Number of ticks in which it will be possible to shoot again. If < 1, multiple shots can be performed in one tick.

Optional properties


Type: Types/float

Default: 0

The minimum distance (in tiles) between an entity and target. If a unit's target is less than this, the unit will attempt to move away before attacking. A Flamethrower turret does not move, but has a minimum range. Less than this, it is unable to target an enemy.


Type: Types/float

Default: 1

If this is <= 0, it is set to 1. Arc from 0 to 1, so for example 0.25 is 90°. Used by the flamethrower turret in the base game. Arcs greater than 0.5 but less than 1 will be clamped to 0.5 as targeting in arcs larger than half circle is not implemented.[1]


Type: Types/float

Default: 0

Used when searching for the nearest enemy, when this is > 0, enemies that aren't burning are preferred over burning enemies. Definition of "burning" for this: Entity has sticker attached to it, and the sticker has a spread_fire_entity set.


Type: Types/float

Default: 0

A higher penalty will discourage turrets from targeting units that would take longer to turn to face.


Type: Types/float

Default: 0

A higher penalty will discourage turrets from targeting units with higher health. A negative penalty will encourage turrets to target units with higher health.


Type: Types/string

Default: "center-to-center"

Either "center-to-center" or "bounding-box-to-bounding-box".


Type: Types/float

Default: range

If less than range, the entity will choose a random distance between range and min_attack_distance and attack from that distance.


Type: Types/float

Default: 1


Type: Types/float

Default: 1

Must be greater than or equal to 0.


Type: Types/float

Default: 0

Must be between 0 and 1.


Type: Types/uint32

Default: 0

Number of ticks it takes for the weapon to actually shoot after the order for shooting has been made. This also allows to "adjust" the shooting animation to the effect of shooting.

Types/CapsuleActions cannot have attack_parameters with non-zero warmup.


Type: Types/float

Default: 0

Base game uses

lead_target_for_projectile_speed = 0.2* 0.75 * 1.5, -- this is same as particle horizontal speed of flamethrower fire stream

Presumably this should be set to the projectile speed to make the unit/turret lead their projectiles.


Type: Types/float

Default: cooldown


Type: Types/double

Default: 1


Type: Types/AmmoType

Can be mandatory.


Type: Types/string

Default: "shoot"

One of "shoot", "throw", "consume" or "activate". Used in tooltips to set the tooltip category. It is also used to get the locale keys for activation instructions and speed of the action for the tooltip.

For example, an activation_type of "throw" will result in the tooltip category "thrown" and the tooltip locale keys "gui.instruction-to-throw" and "description.throwing-speed".


Type: Types/LayeredSound

Played once at the start of the attack if this is a Types/ProjectileAttackParameters.


Type: Types/RotatedAnimation


Type: Types/CyclicSound

Played during the attack.


Type: Types/bool

Default: false


Type: Types/table (array) Types/string

Names of Prototype/AmmoCategories.


Type: Types/string

The name of a Prototype/AmmoCategory. Mandatory if ammo_type and ammo_categories is not given, otherwise ignored.