Prototype/Reactor: Difference between revisions

From Official Factorio Wiki
Jump to navigation Jump to search
(Set prototype parent)
(neighbour_bonus can be negative (leads to funky behaviour, but it is possible and applied), scale_energy_usage has to be "true" for the scaling behaviour)
 
(8 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{Prototype parent|Prototype/EntityWithHealth}}
{{Prototype parent|Prototype/EntityWithOwner}}
A [[nuclear reactor|reactor]].


== Basics ==
{{Prototype TOC|reactor}}
Prototype type: '''reactor'''
 
A [[nuclear reactor|reactor]]. Extends [[Prototype/EntityWithHealth]].


== Mandatory properties ==
== Mandatory properties ==
This prototype inherits all the properties from [[Prototype/EntityWithHealth]].
This prototype inherits all the properties from [[Prototype/EntityWithOwner]].


=== connection_patches_connected ===
{{Prototype property|working_light_picture|[[Types/Sprite|Sprite]]}}
'''Type''': [[Types/SpriteVariations]]


Must have 12 variations.
{{Prototype property|heat_buffer|[[Types/HeatBuffer|HeatBuffer]]}}
The energy output as heat.


=== connection_patches_disconnected ===
{{Prototype property|energy_source|[[Types/EnergySource|EnergySource]]}}
'''Type''': [[Types/SpriteVariations]]
May not be a heat energy source.


Must have 12 variations.
The input energy source, in vanilla it is a burner energy source.


=== working_light_picture ===
{{Prototype property|consumption|[[Types/Energy|Energy]]}}
'''Type''': [[Types/Sprite]]
How much energy this reactor can consume (from the input energy source) and then output as heat.


=== heat_buffer ===
== Optional properties ==
'''Type''': [[Types/HeatBuffer]]


=== energy_source ===
{{Prototype property|connection_patches_connected|[[Types/SpriteVariations|SpriteVariations]]|optional=true}}
'''Type''': [[Types/EnergySource]]
If defined, number of variations must be at least equal to count of [[Types/HeatBuffer#connections|connections]] defined in <code>heat_buffer</code>. Each variation represents connected heat buffer connection of corresponding index.


May not be a heat energy source.
{{Prototype property|connection_patches_disconnected|[[Types/SpriteVariations|SpriteVariations]]|optional=true}}
If defined, number of variations must be at least equal to count of [[Types/HeatBuffer#connections|connections]] defined in <code>heat_buffer</code>. Each variation represents unconnected heat buffer connection of corresponding index.


=== consumption ===
{{Prototype property|heat_connection_patches_connected|[[Types/SpriteVariations|SpriteVariations]]|optional=true}}
'''Type''': [[Types/Energy]]
If defined, number of variations must be at least equal to count of [[Types/HeatBuffer#connections|connections]] defined in <code>heat_buffer</code>. When reactor is heated, corresponding variations are drawn over <code>connection_patches_connected</code>.


== Optional properties ==
{{Prototype property|heat_connection_patches_disconnected|[[Types/SpriteVariations|SpriteVariations]]|optional=true}}
If defined, number of variations must be at least equal to count of [[Types/HeatBuffer#connections|connections]] defined in <code>heat_buffer</code>. When reactor is heated, corresponding variations are drawn over <code>connection_patches_disconnected</code>.


=== lower_layer_picture ===
{{Prototype property|lower_layer_picture|[[Types/Sprite|Sprite]]|optional=true}}
'''Type''': [[Types/Sprite]]


=== picture ===
{{Prototype property|heat_lower_layer_picture|[[Types/Sprite|Sprite]]|optional=true}}
'''Type''': [[Types/Sprite]]


=== light ===
{{Prototype property|picture|[[Types/Sprite|Sprite]]|optional=true}}
'''Type''': [[Types/LightDefinition]]


=== meltdown_action ===
{{Prototype property|light|[[Types/LightDefinition|LightDefinition]]|optional=true}}
'''Type''': [[Types/Trigger]]


{{Prototype property|meltdown_action|[[Types/Trigger|Trigger]]|optional=true}}
The action is triggered when the reactor dies (is destroyed) at over 90% of max temperature.
The action is triggered when the reactor dies (is destroyed) at over 90% of max temperature.


=== neighbour_bonus ===
{{Prototype property|neighbour_bonus|[[Types/double|double]]|1|optional=true}}
'''Type''': [[Types/double]]
 
'''Default''': 1
 
=== neighbour_collision_increase ===
'''Type''': [[Types/double]]
 
'''Default''': 0.25
 
The collision box of a reactor is increased by this on the sides where it connects to another reactor. Cannot be negative.
 
=== scale_energy_usage ===
'''Type''': [[Types/bool]]


'''Default''': false
{{Prototype property|scale_energy_usage|[[Types/bool|bool]]|false|optional=true}}
 
When this is true, the reactor will stop consuming fuel/energy when the temperature has reached the maximum.
=== use_fuel_glow_color ===
'''Type''': [[Types/bool]]
 
'''Default''': false


{{Prototype property|use_fuel_glow_color|[[Types/bool|bool]]|false|optional=true}}
Whether the reactor should use [[Prototype/Item#fuel_glow_color|fuel_glow_color]] from the fuel item prototype as light color and tint for <code>working_light_picture</code>.[https://forums.factorio.com/71121]
Whether the reactor should use [[Prototype/Item#fuel_glow_color|fuel_glow_color]] from the fuel item prototype as light color and tint for <code>working_light_picture</code>.[https://forums.factorio.com/71121]


=== default_fuel_glow_color ===
{{Prototype property|default_fuel_glow_color|[[Types/Color|Color]]|<nowiki>{1, 1, 1, 1} (white)</nowiki>|optional=true}}
'''Type''': [[Types/Color]]
 
'''Default''': {1, 1, 1, 1} (white)
 
When <code>use_fuel_glow_color</code> is true, this is the color used as <code>working_light_picture</code> tint for fuels that don't have glow color defined.
When <code>use_fuel_glow_color</code> is true, this is the color used as <code>working_light_picture</code> tint for fuels that don't have glow color defined.

Latest revision as of 14:55, 24 March 2022

Prototype definitions » PrototypeBase » Prototype/Entity » Prototype/EntityWithHealth » Prototype/EntityWithOwner » Prototype/Reactor


A reactor.


Prototype/Reactor — reactor
consumption::Energy
energy_source::EnergySource
heat_buffer::HeatBuffer
working_light_picture::Sprite
connection_patches_connected::SpriteVariations (optional)
connection_patches_disconnected::SpriteVariations (optional)
default_fuel_glow_color::Color (optional)
heat_connection_patches_connected::SpriteVariations (optional)
heat_connection_patches_disconnected::SpriteVariations (optional)
heat_lower_layer_picture::Sprite (optional)
light::LightDefinition (optional)
lower_layer_picture::Sprite (optional)
meltdown_action::Trigger (optional)
neighbour_bonus::double (optional)
picture::Sprite (optional)
scale_energy_usage::bool (optional)
use_fuel_glow_color::bool (optional)
Inherited from Prototype/EntityWithOwner
allow_run_time_change_of_is_military_target::bool (optional)
is_military_target::bool (optional)
Inherited from Prototype/EntityWithHealth
alert_when_damaged::bool (optional)
attack_reaction::AttackReaction (optional)
corpse::string or table of strings (optional)
create_ghost_on_death::bool (optional)
damaged_trigger_effect::TriggerEffect (optional)
dying_explosion::ExplosionDefinition or table of ExplosionDefinition (optional)
dying_trigger_effect::TriggerEffect (optional)
healing_per_tick::float (optional)
hide_resistances::bool (optional)
integration_patch::Sprite4Way (optional)
integration_patch_render_layer::RenderLayer (optional)
loot::Loot (optional)
max_health::float (optional)
random_corpse_variation::bool (optional)
repair_sound::Sound (optional)
repair_speed_modifier::float (optional)
resistances::Resistances (optional)
Inherited from Prototype/Entity
icons, icon, icon_size (IconSpecification)::IconSpecification
additional_pastable_entities::table of string (optional)
alert_icon_scale::float (optional)
alert_icon_shift::vector (optional)
allow_copy_paste::bool (optional)
autoplace::AutoplaceSpecification (optional)
build_base_evolution_requirement::double (optional)
build_grid_size::uint8 (optional)
build_sound::Sound (optional)
close_sound::Sound (optional)
collision_box::BoundingBox (optional)
collision_mask::CollisionMask (optional)
created_effect::Trigger (optional)
created_smoke::CreateTrivialSmokeEffectItem (optional)
drawing_box::BoundingBox (optional)
emissions_per_second::double (optional)
enemy_map_color::Color (optional)
fast_replaceable_group::string (optional)
flags::EntityPrototypeFlags (optional)
friendly_map_color::Color (optional)
hit_visualization_box::BoundingBox (optional)
map_color::Color (optional)
map_generator_bounding_box::BoundingBox (optional)
minable::MinableProperties (optional)
mined_sound::Sound (optional)
mining_sound::Sound (optional)
next_upgrade::string (optional)
open_sound::Sound (optional)
placeable_by::ItemToPlace or table of ItemToPlace (optional)
protected_from_tile_building::bool (optional)
radius_visualisation_specification::RadiusVisualisationSpecification (optional)
remains_when_mined::string or table of string (optional)
remove_decoratives::string (optional)
rotated_sound::Sound (optional)
selectable_in_game::bool (optional)
selection_box::BoundingBox (optional)
selection_priority::uint8 (optional)
shooting_cursor_size::double (optional)
sticker_box::BoundingBox (optional)
subgroup::string (optional)
tile_height::uint32 (optional)
tile_width::uint32 (optional)
trigger_target_mask::TriggerTargetMask (optional)
vehicle_impact_sound::Sound (optional)
water_reflection::WaterReflectionDefinition (optional)
working_sound::WorkingSound (optional)
Inherited from PrototypeBase
name::string
type::string
localised_description::LocalisedString (optional)
localised_name::LocalisedString (optional)
order::Order (optional)

Mandatory properties

This prototype inherits all the properties from Prototype/EntityWithOwner.

working_light_picture

Type: Sprite

heat_buffer

Type: HeatBuffer
The energy output as heat.

energy_source

Type: EnergySource
May not be a heat energy source.

The input energy source, in vanilla it is a burner energy source.

consumption

Type: Energy
How much energy this reactor can consume (from the input energy source) and then output as heat.

Optional properties

connection_patches_connected

Type: SpriteVariations
If defined, number of variations must be at least equal to count of connections defined in heat_buffer. Each variation represents connected heat buffer connection of corresponding index.

connection_patches_disconnected

Type: SpriteVariations
If defined, number of variations must be at least equal to count of connections defined in heat_buffer. Each variation represents unconnected heat buffer connection of corresponding index.

heat_connection_patches_connected

Type: SpriteVariations
If defined, number of variations must be at least equal to count of connections defined in heat_buffer. When reactor is heated, corresponding variations are drawn over connection_patches_connected.

heat_connection_patches_disconnected

Type: SpriteVariations
If defined, number of variations must be at least equal to count of connections defined in heat_buffer. When reactor is heated, corresponding variations are drawn over connection_patches_disconnected.

lower_layer_picture

Type: Sprite

heat_lower_layer_picture

Type: Sprite

picture

Type: Sprite

light

Type: LightDefinition

meltdown_action

Type: Trigger
The action is triggered when the reactor dies (is destroyed) at over 90% of max temperature.

neighbour_bonus

Type: double
Default: 1

scale_energy_usage

Type: bool
Default: false
When this is true, the reactor will stop consuming fuel/energy when the temperature has reached the maximum.

use_fuel_glow_color

Type: bool
Default: false
Whether the reactor should use fuel_glow_color from the fuel item prototype as light color and tint for working_light_picture.[1]

default_fuel_glow_color

Type: Color
Default: {1, 1, 1, 1} (white)
When use_fuel_glow_color is true, this is the color used as working_light_picture tint for fuels that don't have glow color defined.