Prototype/Beacon: Difference between revisions

From Official Factorio Wiki
Jump to navigation Jump to search
(Set prototype parent)
(Converted to SMW format)
Line 1: Line 1:
{{Prototype parent|Prototype/EntityWithHealth}}
{{Prototype parent|Prototype/EntityWithHealth}}
Entity with the ability to transfer module's effects to its neighboring entities.


== Basics ==
{{Prototype TOC|beacon}}
Prototype type: '''beacon'''


Entity with the ability to transfer module's effects to it's neighboring entities.
Extends the [[Prototype/EntityWithHealth]]
== Usage in base==
== Usage in base==
*[[Beacon|Beacon]]
*[[Beacon]]
 
== Mandatory properties ==
== Mandatory properties ==
This prototype inherits all the properties from [[Prototype/EntityWithHealth]].
This prototype inherits all the properties from [[Prototype/EntityWithHealth]].
=== energy_usage ===
'''Type''': [[Types/Energy]]


=== animation ===
{{Prototype property|energy_usage|[[Types/Energy|Energy]]}}
'''Type''': [[Types/Animation]]


{{Prototype property|animation|[[Types/Animation|Animation]]}}
The animation for the Beacon, when in use.
The animation for the Beacon, when in use.


=== animation_shadow ===
{{Prototype property|animation_shadow|[[Types/Animation|Animation]]}}
'''Type''': [[Types/Animation]]
 
=== energy_source ===
'''Type''': [[Types/EnergySource]]


{{Prototype property|energy_source|[[Types/EnergySource|EnergySource]]}}
Must be an electric or void energy source.
Must be an electric or void energy source.


=== base_picture ===
{{Prototype property|base_picture|[[Types/Sprite|Sprite]]}}
'''Type''': [[Types/Sprite]]
 
The picture of the Beacon when it is not on.
The picture of the Beacon when it is not on.


=== supply_area_distance ===
{{Prototype property|supply_area_distance|[[Types/double|double]]}}
'''Type''': [[Types/double]]
 
The maximum distance that this Beacon can supply it's neighbors with it's module's effects. Max distance is 64.
The maximum distance that this Beacon can supply it's neighbors with it's module's effects. Max distance is 64.


=== distribution_effectivity ===
{{Prototype property|distribution_effectivity|[[Types/double|double]]}}
'''Type''': [[Types/double]]
 
The multiplier of the module's effects, when shared between neighbors.
The multiplier of the module's effects, when shared between neighbors.


=== module_specification ===
{{Prototype property|module_specification|[[Types/ModuleSpecification|ModuleSpecification]]}}
'''Type''': [[Types/ModuleSpecification]]
 
The number of module slots in this beacon, and their icon positions.
The number of module slots in this beacon, and their icon positions.


== Optional properties ==
== Optional properties ==


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


{{Prototype property|allowed_effects|[[Types/EffectTypeLimitation|EffectTypeLimitation]]|optional=true}}
The types of modules that a player can place inside of the Beacon.
The types of modules that a player can place inside of the Beacon.



Revision as of 11:43, 28 July 2019

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


Entity with the ability to transfer module's effects to its neighboring entities.


Prototype/Beacon — beacon
distribution_effectivity::double
energy_source::EnergySource
energy_usage::Energy
module_specification::ModuleSpecification
supply_area_distance::double
allowed_effects::EffectTypeLimitation (optional)
animation::Animation (optional)
base_picture::Sprite (optional)
graphics_set::BeaconGraphicsSet (optional)
radius_visualisation_picture::Sprite (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)

Usage in base

Mandatory properties

This prototype inherits all the properties from Prototype/EntityWithHealth.

energy_usage

Type: Energy

animation

Type: Animation
The animation for the Beacon, when in use.

animation_shadow

Type: Animation

energy_source

Type: EnergySource
Must be an electric or void energy source.

base_picture

Type: Sprite
The picture of the Beacon when it is not on.

supply_area_distance

Type: double
The maximum distance that this Beacon can supply it's neighbors with it's module's effects. Max distance is 64.

distribution_effectivity

Type: double
The multiplier of the module's effects, when shared between neighbors.

module_specification

Type: ModuleSpecification
The number of module slots in this beacon, and their icon positions.

Optional properties

radius_visualisation_picture

Type: Sprite

allowed_effects

Type: EffectTypeLimitation
The types of modules that a player can place inside of the Beacon.

Example

{
  type = "beacon",
  name = "beacon",
  icon = "__base__/graphics/icons/beacon.png",
  icon_size = 32,
  flags = {"placeable-player", "player-creation"},
  minable = {mining_time = 1, result = "beacon"},
  max_health = 200,
  corpse = "big-remnants",
  dying_explosion = "medium-explosion",
  collision_box = {{-1.2, -1.2}, {1.2, 1.2}},
  selection_box = {{-1.5, -1.5}, {1.5, 1.5}},
  allowed_effects = {"consumption", "speed", "pollution"},
  base_picture =
  {
    filename = "__base__/graphics/entity/beacon/beacon-base.png",
    width = 116,
    height = 93,
    shift = { 0.34375, 0.046875}
  },
  animation =
  {
    filename = "__base__/graphics/entity/beacon/beacon-antenna.png",
    width = 54,
    height = 50,
    line_length = 8,
    frame_count = 32,
    shift = { -0.03125, -1.71875},
    animation_speed = 0.5
  },
  animation_shadow =
  {
    filename = "__base__/graphics/entity/beacon/beacon-antenna-shadow.png",
    width = 63,
    height = 49,
    line_length = 8,
    frame_count = 32,
    shift = { 3.140625, 0.484375},
    animation_speed = 0.5
  },
  radius_visualisation_picture =
  {
    filename = "__base__/graphics/entity/beacon/beacon-radius-visualization.png",
    width = 10,
    height = 10
  },
  supply_area_distance = 3,
  energy_source =
  {
    type = "electric",
    usage_priority = "secondary-input"
  },
  vehicle_impact_sound =  { filename = "__base__/sound/car-metal-impact.ogg", volume = 0.65 },
  energy_usage = "480kW",
  distribution_effectivity = 0.5,
  module_specification =
  {
    module_slots = 2,
    module_info_icon_shift = {0, 0.5},
    module_info_multi_row_initial_height_modifier = -0.3
  }
},