Prototype/Beacon

From Official Factorio Wiki
Revision as of 15:43, 24 July 2019 by Bilka (talk | contribs) (Set prototype parent)
Jump to navigation Jump to search

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


Basics

Prototype type: beacon

Entity with the ability to transfer module's effects to it's neighboring entities. Extends the Prototype/EntityWithHealth

Usage in base

Mandatory properties

This prototype inherits all the properties from Prototype/EntityWithHealth.

energy_usage

Type: Types/Energy

animation

Type: Types/Animation

The animation for the Beacon, when in use.

animation_shadow

Type: Types/Animation

energy_source

Type: Types/EnergySource

Must be an electric or void energy source.

base_picture

Type: Types/Sprite

The picture of the Beacon when it is not on.

supply_area_distance

Type: Types/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: Types/double

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

module_specification

Type: Types/ModuleSpecification

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

Optional properties

radius_visualisation_picture

Type: Types/Sprite

allowed_effects

Type: Types/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
  }
},