Prototype/Lab: Difference between revisions

From Official Factorio Wiki
Jump to navigation Jump to search
(Created page. Need to confirm if allowed_effects exists or not.)
 
(0.18.22: allowed_effects added)
(12 intermediate revisions by 4 users not shown)
Line 1: Line 1:
== Basics ==
{{Prototype parent|Prototype/EntityWithHealth}}
A [[lab]]. Based on [[Prototype/EntityWithHealth]].
A [[lab]].


== Properties ==
{{Prototype TOC|lab}}
 
== Mandatory properties ==
This prototype inherits all the properties from [[Prototype/EntityWithHealth]].
This prototype inherits all the properties from [[Prototype/EntityWithHealth]].


=== energy_source ===
{{Prototype property|energy_usage|[[Types/Energy|Energy]]}}
Type: [[Types/EnergySource]]
The amount of energy this lab uses.


{{Prototype property|energy_source|[[Types/EnergySource|EnergySource]]}}
Defines how this lab gets energy.
Defines how this lab gets energy.


=== on_animation ===
{{Prototype property|on_animation|[[Types/Animation|Animation]]}}
Type: [[Types/Animation]]
 
The animation that plays when the lab is active.
The animation that plays when the lab is active.


=== off_animation ===
{{Prototype property|off_animation|[[Types/Animation|Animation]]}}
Type: [[Types/Animation]]
 
The animation that plays when the lab is idle.
The animation that plays when the lab is idle.


=== energy_usage ===
{{Prototype property|inputs|[[Types/table|table]] of [[Types/string|string]]}}
Type: [[Types/EnergyPower]]
A list of the names of science packs that cane be used in this lab.


The amount of energy this lab uses.
e.g. for the default lab, this is:
<syntaxhighlight lang="lua">
inputs = {"automation-science-pack", "logistic-science-pack", "chemical-science-pack", "military-science-pack", "production-science-pack", "utility-science-pack", "space-science-pack"}</syntaxhighlight>


=== inputs ===
If a technology requires other types of science packs, it cannot be researched in this lab.
Type: List of [[Types/string]]


A list of the names of science packs used in this lab.
== Optional properties ==
 
e.g. for the default lab, this is:
<pre>
inputs = {"science-pack-1", "science-pack-2", "science-pack-3", "alien-science-pack"}
</pre>


If a technology requires other types of science packs, it cannot be researched in this lab.
{{Prototype property|researching_speed|[[Types/double|double]]|1|optional=true}}


=== module_slots ===
{{Prototype property|allowed_effects|[[Types/EffectTypeLimitation|EffectTypeLimitation]]|All effects are allowed|optional=true}}
Type: [[Types/unsigned]]
Sets the module effects that are allowed to be used on this lab.


The number of module slots.
{{Prototype property|light|[[Types/LightDefinition|LightDefinition]]||optional=true}}


=== allowed_effects? ===
{{Prototype property|base_productivity|[[Types/float|float]]|0|optional=true}}
Type: [[Types/AllowedEffects]]
Productivity bonus that this machine always has.


The module effects that are allowed to be used with this lab.
{{Prototype property|entity_info_icon_shift|[[Types/vector|vector]]|<nowiki>{0, 0}</nowiki>|optional=true}}
Shift of the "alt-mode icon" relative to the lab's center.


Unknown whether this is actually implemented for labs.
{{Prototype property|module_specification|[[Types/ModuleSpecification|ModuleSpecification]]|optional=true}}
The number of module slots.

Revision as of 12:55, 30 April 2020

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


A lab.


Prototype/Lab — lab
energy_source::EnergySource
energy_usage::Energy
inputs::table of string
off_animation::Animation
on_animation::Animation
allowed_effects::EffectTypeLimitation (optional)
base_productivity::float (optional)
entity_info_icon_shift::vector (optional)
light::LightDefinition (optional)
module_specification::ModuleSpecification (optional)
researching_speed::double (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/EntityWithHealth.

energy_usage

Type: Energy
The amount of energy this lab uses.

energy_source

Type: EnergySource
Defines how this lab gets energy.

on_animation

Type: Animation
The animation that plays when the lab is active.

off_animation

Type: Animation
The animation that plays when the lab is idle.

inputs

Type: table of string
A list of the names of science packs that cane be used in this lab.

e.g. for the default lab, this is:

inputs = {"automation-science-pack", "logistic-science-pack", "chemical-science-pack", "military-science-pack", "production-science-pack", "utility-science-pack", "space-science-pack"}

If a technology requires other types of science packs, it cannot be researched in this lab.

Optional properties

researching_speed

Type: double
Default: 1

allowed_effects

Type: EffectTypeLimitation
Default: All effects are allowed
Sets the module effects that are allowed to be used on this lab.

light

Type: LightDefinition

base_productivity

Type: float
Default: 0
Productivity bonus that this machine always has.

entity_info_icon_shift

Type: vector
Default: {0, 0}
Shift of the "alt-mode icon" relative to the lab's center.

module_specification

Type: ModuleSpecification
The number of module slots.