Factorio.com|Forums|Wiki|Mod Portal|API Docs Prototype|Runtime|Auxiliary

# Factorio Prototype Docs Version 2.0.7

## StreamAttackParameters :: struct

Inherits from BaseAttackParameters

## Properties

- default
- sorted

type | :: `"stream"` |
fluid_consumption optional | :: FluidAmount |
gun_barrel_length optional | :: float |
projectile_creation_parameters optional | :: CircularProjectileCreationSpecification |
gun_center_shift optional | :: Vector or GunShift4Way |
fluids optional | :: array[StreamFluidProperties] | Controls which fluids can fuel this stream attack and their potential damage bonuses.
Controls which fluids can fuel this stream attack and their potential damage bonuses.

Inherited from BaseAttackParameters

range | :: float | Before an entity can attack, the distance (in tiles) between the entity and target must be less than or equal to this.
Before an entity can attack, the distance (in tiles) between the entity and target must be less than or equal to this.
cooldown | :: float | Number of ticks in which it will be possible to shoot again. [...]
Number of ticks in which it will be possible to shoot again. [...]
min_range optional | :: float | The minimum distance (in tiles) between an entity and target. [...]
The minimum distance (in tiles) between an entity and target. [...]
turn_range optional | :: float | If this is <= 0, it is set to 1. [...]
If this is <= 0, it is set to 1. [...]
fire_penalty optional | :: float | Used when searching for the nearest enemy, when this is > 0, enemies that aren't burning are preferred over burning enemies. [...]
Used when searching for the nearest enemy, when this is > 0, enemies that aren't burning are preferred over burning enemies. [...]
rotate_penalty optional | :: float | A higher penalty will discourage turrets from targeting units that would take longer to turn to face.
A higher penalty will discourage turrets from targeting units that would take longer to turn to face.
health_penalty optional | :: float | A higher penalty will discourage turrets from targeting units with higher health. [...]
A higher penalty will discourage turrets from targeting units with higher health. [...]
range_mode optional | :: RangeMode |
min_attack_distance optional | :: float | If less than `range`, the entity will choose a random distance between `range` and `min_attack_distance` and attack from that distance.
If less than `range`, the entity will choose a random distance between `range` and `min_attack_distance` and attack from that distance.
damage_modifier optional | :: float |
ammo_consumption_modifier optional | :: float | Must be greater than or equal to `0`.
Must be greater than or equal to `0`.
cooldown_deviation optional | :: float | Must be between `0` and `1`.
Must be between `0` and `1`.
warmup optional | :: uint32 | Number of ticks it takes for the weapon to actually shoot after the order for shooting has been made. [...]
Number of ticks it takes for the weapon to actually shoot after the order for shooting has been made. [...]
lead_target_for_projectile_speed optional | :: float | Setting this to anything but zero causes homing projectiles to aim for the predicted location based on enemy movement instead of the current enemy location. [...]
Setting this to anything but zero causes homing projectiles to aim for the predicted location based on enemy movement instead of the current enemy location. [...]
lead_target_for_projectile_delay optional | :: uint32 | Setting this to anything but zero causes projectiles to aim for the predicted location based on enemy movement instead of the current enemy location. [...]
Setting this to anything but zero causes projectiles to aim for the predicted location based on enemy movement instead of the current enemy location. [...]
movement_slow_down_cooldown optional | :: float |
movement_slow_down_factor optional | :: double |
ammo_type optional | :: AmmoType | Can be mandatory.
Can be mandatory.
activation_type optional | :: `"shoot"` or `"throw"` or `"consume"` or `"activate"` | Used in tooltips to set the tooltip category. [...]
Used in tooltips to set the tooltip category. [...]
sound optional | :: LayeredSound | Played once at the start of the attack if these are ProjectileAttackParameters.
Played once at the start of the attack if these are ProjectileAttackParameters.
animation optional | :: RotatedAnimation |
cyclic_sound optional | :: CyclicSound | Played during the attack.
Played during the attack.
use_shooter_direction optional | :: bool |
ammo_categories optional | :: array[AmmoCategoryID] | Mandatory if `ammo_category` is not defined.
Mandatory if `ammo_category` is not defined.
ammo_category optional | :: AmmoCategoryID | Mandatory if `ammo_categories` is not defined.
Mandatory if `ammo_categories` is not defined.

type | :: `"stream"` |
fluid_consumption optional | :: FluidAmount |
fluids optional | :: array[StreamFluidProperties] | Controls which fluids can fuel this stream attack and their potential damage bonuses.
Controls which fluids can fuel this stream attack and their potential damage bonuses.
gun_barrel_length optional | :: float |
gun_center_shift optional | :: Vector or GunShift4Way |
projectile_creation_parameters optional | :: CircularProjectileCreationSpecification |

Inherited from BaseAttackParameters

cooldown | :: float | Number of ticks in which it will be possible to shoot again. [...]
Number of ticks in which it will be possible to shoot again. [...]
range | :: float | Before an entity can attack, the distance (in tiles) between the entity and target must be less than or equal to this.
Before an entity can attack, the distance (in tiles) between the entity and target must be less than or equal to this.
activation_type optional | :: `"shoot"` or `"throw"` or `"consume"` or `"activate"` | Used in tooltips to set the tooltip category. [...]
Used in tooltips to set the tooltip category. [...]
ammo_categories optional | :: array[AmmoCategoryID] | Mandatory if `ammo_category` is not defined.
Mandatory if `ammo_category` is not defined.
ammo_category optional | :: AmmoCategoryID | Mandatory if `ammo_categories` is not defined.
Mandatory if `ammo_categories` is not defined.
ammo_consumption_modifier optional | :: float | Must be greater than or equal to `0`.
Must be greater than or equal to `0`.
ammo_type optional | :: AmmoType | Can be mandatory.
Can be mandatory.
animation optional | :: RotatedAnimation |
cooldown_deviation optional | :: float | Must be between `0` and `1`.
Must be between `0` and `1`.
cyclic_sound optional | :: CyclicSound | Played during the attack.
Played during the attack.
damage_modifier optional | :: float |
fire_penalty optional | :: float | Used when searching for the nearest enemy, when this is > 0, enemies that aren't burning are preferred over burning enemies. [...]
Used when searching for the nearest enemy, when this is > 0, enemies that aren't burning are preferred over burning enemies. [...]
health_penalty optional | :: float | A higher penalty will discourage turrets from targeting units with higher health. [...]
A higher penalty will discourage turrets from targeting units with higher health. [...]
lead_target_for_projectile_delay optional | :: uint32 | Setting this to anything but zero causes projectiles to aim for the predicted location based on enemy movement instead of the current enemy location. [...]
Setting this to anything but zero causes projectiles to aim for the predicted location based on enemy movement instead of the current enemy location. [...]
lead_target_for_projectile_speed optional | :: float | Setting this to anything but zero causes homing projectiles to aim for the predicted location based on enemy movement instead of the current enemy location. [...]
Setting this to anything but zero causes homing projectiles to aim for the predicted location based on enemy movement instead of the current enemy location. [...]
min_attack_distance optional | :: float | If less than `range`, the entity will choose a random distance between `range` and `min_attack_distance` and attack from that distance.
If less than `range`, the entity will choose a random distance between `range` and `min_attack_distance` and attack from that distance.
min_range optional | :: float | The minimum distance (in tiles) between an entity and target. [...]
The minimum distance (in tiles) between an entity and target. [...]
movement_slow_down_cooldown optional | :: float |
movement_slow_down_factor optional | :: double |
range_mode optional | :: RangeMode |
rotate_penalty optional | :: float | A higher penalty will discourage turrets from targeting units that would take longer to turn to face.
A higher penalty will discourage turrets from targeting units that would take longer to turn to face.
sound optional | :: LayeredSound | Played once at the start of the attack if these are ProjectileAttackParameters.
Played once at the start of the attack if these are ProjectileAttackParameters.
turn_range optional | :: float | If this is <= 0, it is set to 1. [...]
If this is <= 0, it is set to 1. [...]
use_shooter_direction optional | :: bool |
warmup optional | :: uint32 | Number of ticks it takes for the weapon to actually shoot after the order for shooting has been made. [...]
Number of ticks it takes for the weapon to actually shoot after the order for shooting has been made. [...]

## Properties

### type :: `"stream"`

### fluid_consumption :: FluidAmount optional

Default: `0.0`

### gun_barrel_length :: float optional

Default: `0.0`

### projectile_creation_parameters :: CircularProjectileCreationSpecification optional

### gun_center_shift :: Vector or GunShift4Way optional

#### GunShift4Way :: struct

## Properties

### north :: Vector

### east :: Vector optional

### south :: Vector optional

### west :: Vector optional

### fluids :: array[StreamFluidProperties] optional

Controls which fluids can fuel this stream attack and their potential damage bonuses.

#### StreamFluidProperties :: struct

## Properties

### type :: FluidID

### damage_modifier :: double optional

Default: `1.0`

Type used in

- AttackParameters
- FluidTurretPrototype::attack_parameters