7.7 KiB

General

A warhead is a weapon deployable - e.g. an explosive warhead, a nuclear warhead, etc. A given warhead has a size, which specifies what kind of weapon that warhead can be used in - you can't fit an artillery shell into a machine gun. A warhead is specified by an entry in the global warheads table, these entries take the following form:

warheads[item_name] = warhead_specifier

Where warhead_specifier is a table.

The appearance of the warhead (the icon, picture etc.) is specified with all the fields expected for an appearance. The warhead and its recipe are specified with the following:

  • size
  • preciseSize
  • order
  • appendOrder
  • stack_size
  • recipe_category
  • energy_required
  • ingredients
  • recipe_result_count
  • warhead_count_per_item
  • tint
  • tech

The warhead has the following controls for the final weapon:

  • appendName
  • appendOrder
  • progressiveRecipe
  • additional_ingedients
  • additional_ingedient

The entry explosions can define an array of different effects the weapon can have - for example if the warhead could easily be adjusted, these would represent the configurations. Any entry under this could instead be under the warhead itself, in which case it would be applied to any explosion which doesn't override the value. If explosions is not defined, then only one form is created.

The fields under this are:

  • An appearance
  • appendName
  • appendOrder
  • stack_size_max
  • reload_time_modifier
  • cooldown_modifier
  • range_modifier
  • radius_color
  • clamp_position
  • target_type
  • energy_required_modifier
  • additional_ingedients
  • additional_ingedient
  • ingredient_count
  • weapon_creation_tint
  • built_up_ingredient_amount
  • additional_results
  • chart_picture
  • chart_tint
  • collisions
  • piercing
  • piercing_damage_extra
  • piercing_damage_modifier
  • acceleration_modifier
  • max_speed_modifier
  • action
  • effect
  • final_action
  • final_effect
  • created_action
  • created_effect
  • trigger_radius_modifier
  • max_health_modifier
  • dying_explosion

Field meanings

size and preciseSize

Only one of these needs specifying - size is a text definition, mapped by:

tiny = 10
small = 20
medium = 30
large = 40
huge = 50,

order

Specifies the order for the warhead item, defaults to appendOrder

stack_size

Specifies the stack size of the warhead item itself.

recipe_category

The recipe category for crafting the warhead - defaults to "crafting"

energy_required

The energy required (time) for the crafting of the warhead item.

ingredients

The ingredients taken for the crafting of the warhead item.

recipe_result_count

The number of warheads made by each craft. Default 1

warhead_count_per_item

The number of warheads within each item - to avoid clogging up belts with a million shotgun pellets... Default 1

tint

The crafting tint for crafting the warhead - used by the chemical plant. Optional.

tech

The tech to put this warhead as an unlock of. Optional.

Final weapon controls

appendName

The name to be appended to the internal name of the weapontype.

appendOrder

Specifies the order to be appended to the weapontype's base-order.

progressiveRecipe

If present, the explosions are made by crafting from one to the next, rather than all being seperate recipes - e.g. adding fuel to a shell. Default: none Can take the values:

  • "from-first": Each weapon is a craft made from the first - the first can be an 'empty' one, and the rest be various forms of 'filled'
  • "building-up": Each weapon is a craft made from the previous explosion - the first can be an 'empty' one, and the shell can be filled bit by bit.

additional_ingedients

Full ingredient specifiers, as seen in recipe prototype. Any ingredients to be used alongside the warhead item when making the weapon. If progressiveRecipe these ingredients are only included in the craft of the first weapon is enabled. Optional

additional_ingedient and ingredient_count

Same as above, but just the name of an ingredient, the count is set to ingredient_count, defaulting to 1. Optional

Explosion fields

appendName

This is appended after the warhead appendName

appendOrder

This is appended after the warhead appendOrder

stack_size_max

Specifies the maximum stack size of the created weapon. Default: warhead stack_size

reload_time_modifier

The multiplier for reload time (the time between magazines). Default: 1.

cooldown_modifier

The multiplier for cooldown time (the time between each shot). Default: 1.

range_modifier

The multiplier for weapon range (to the extent that the modifier can be applied). Default: 1.

radius_color

The colour of the targeting radius for capsule type weapons. Optional

clamp_position

Whether to allow shooting beyond maximum range, resulting in shooting at max range - useful for very area-of-effect weapons. Default: false.

target_type

The target_type as seen in ammo_type in factorio's prototypes. Optional.

energy_required_modifier

The multiplier for the time taken to attach the warhead to the deployer. Default: 1.

additional_ingedients, additional_ingedient and ingredient_count

Same as for warhead, also appended, but is appended to progressiveRecipe as well - so can indicate the progression. Optional

weapon_creation_tint

Crafting machine tint for the connection of the warhead to the weapon.

built_up_ingredient_amount

How many of the previous stage of the progressiveRecipe to use. Default: 1

additional_results

Any other items produced by connecting the warhead to the weapon. Default: none.

chart_picture

The appearance to use if this warhead is fitted to an artillery shell. Default: standard artillery

chart_tint

The tint to apply to the blank chart picture. Default: none.

collisions

Whether to allow the weapon projectile to collide with obstructions. Default: true.

piercing

Whether to allow the weapon projectile to do piercing damage. Default: true.

piercing_damage_modifier

Multiplier for piercing_damage for the projectile. Default: 1

piercing_damage_extra

Constant extra piercing_damage to add to projectile. Added after the multiplier is applied. Default: 0

acceleration_modifier

Multiplier for the projectile acceleration. Default: 1.

max_speed_modifier

Multiplier for the projectile max speed. Default: 1.

action

The action applied every time the weapon hits something - can happen many times for e.g. cannon shell. Is of type Trigger. Optional

effect

The effect applied every time the weapon hits something - can happen many times for e.g. cannon shell. Is of type TriggerEffect. Optional action takes priority.

final_action

The action applied when the weapon hits its last thing (e.g. the projectile runs out of piercing). Is of type Trigger. Optional

final_effect

The effect applied when the weapon hits its last thing (e.g. the projectile runs out of piercing). Is of type TriggerEffect. Optional final_action takes priority.

created_action

The action applied when the weapon is fired. Is of type Trigger. Optional

created_effect

The effect applied when the weapon is fired. Is of type TriggerEffect. Optional created_action takes priority.

trigger_radius_modifier

Multiplier for the trigger radius of a landmine using this warhead. Default: 1

max_health_modifier

Multiplier for the max health of a landmine using this warhead. Default: 1

dying_explosion

dying_explosion of a landmine using this warhead (when the landmine is destroyed rather than triggered). Default: same as vanilla landmine.