Prototype/Beacon

From Official Factorio Wiki
Revision as of 11:43, 28 July 2019 by Bilka (talk | contribs) (Converted to SMW format)
Jump to navigation Jump to search

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
  }
},