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

# Factorio Runtime Docs Version 2.0.7

## TechnologyModifier :: table

The effect that is applied when a technology is researched. It is a table that contains at least the field `type`.

#### Table fields

type | :: ModifierType | Modifier type. Specifies which of the other fields will be available.
Modifier type. Specifies which of the other fields will be available.

Other attributes may be specified depending on `type`:

#### `gun-speed`

ammo_category | :: string | Prototype name of the ammunition category that is affected
Prototype name of the ammunition category that is affected
modifier | :: double | Modification value. This will be added to the current gun speed modifier upon researching.
Modification value. This will be added to the current gun speed modifier upon researching.

#### `ammo-damage`

ammo_category | :: string | Prototype name of the ammunition category that is affected
Prototype name of the ammunition category that is affected
modifier | :: double | Modification value. This will be added to the current ammo damage modifier upon researching.
Modification value. This will be added to the current ammo damage modifier upon researching.

#### `give-item`

item | :: string | Item prototype name to give.
Item prototype name to give.
count | :: uint? | Number of items to give. Defaults to `1`.
Number of items to give. Defaults to `1`.

#### `turret-attack`

turret_id | :: string | Turret prototype name this modifier will affect.
Turret prototype name this modifier will affect.
modifier | :: double | Modification value. This will be added to the current turret damage modifier upon researching.
Modification value. This will be added to the current turret damage modifier upon researching.

#### `unlock-recipe`

recipe | :: string | Recipe prototype name to unlock.
Recipe prototype name to unlock.

#### `nothing`

effect_description | :: LocalisedString | Description of this nothing modifier.
Description of this nothing modifier.

#### `OtherTypes`

modifier | :: double | Modification value. This value will be added to the variable it modifies.
Modification value. This value will be added to the variable it modifies.