Prototype/Beacon: Difference between revisions

From Official Factorio Wiki
Jump to navigation Jump to search
(Added prototype type to page)
(allowed_effects default)
 
(6 intermediate revisions by the same user not shown)
Line 1: Line 1:
==Basics==
{{Prototype parent|Prototype/EntityWithOwner}}
Prototype type: '''beacon'''
Entity with the ability to transfer module's effects to its neighboring entities.
 
{{Prototype TOC|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]]
== Properties ==
=== energy_usage ===
'''Type''': [[Types/Energy]]
 
=== animation ===
'''Type''': [[Types/Animation]]
 
The animation for the Beacon, when in use.
 
=== animation_shadow ===
'''Type''': [[Types/Animation]]


=== energy_source ===
== Mandatory properties ==
'''Type''': [[Types/EnergySource]]


Must be an electric energy source.
This prototype inherits all the properties from [[Prototype/EntityWithOwner]].


=== base_picture ===
{{Prototype property|energy_usage|[[Types/Energy|Energy]]}}
'''Type''': [[Types/Sprite]]


The picture of the Beacon when it is not on.
{{Prototype property|energy_source|[[Types/EnergySource|EnergySource]]}}
 
Must be an electric or void energy source.
=== supply_area_distance ===
'''Type''': [[Types/double]]


{{Prototype property|supply_area_distance|[[Types/double|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.


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


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


The types of modules that a player can place inside of the Beacon.
== Optional properties ==


=== distribution_effectivity ===
{{Prototype property|graphics_set|[[Types/BeaconGraphicsSet|BeaconGraphicsSet]]|optional=true}}
'''Type''': [[Types/double]]
The graphics for the beacon.


The multiplier of the module's effects, when shared between neighbors.
{{Prototype property|animation|[[Types/Animation|Animation]]|optional=true}}
The animation for the beacon, when in use. Loaded only if <code>graphics_set</code> is not present.


=== module_specification ===
{{Prototype property|base_picture|[[Types/Sprite|Sprite]]|optional=true}}
'''Type''': [[Types/ModuleSpecification]]
The picture of the beacon when it is not on. Loaded only if <code>graphics_set</code> is not present.


The number of module slots in this beacon, and their icon positions.
{{Prototype property|radius_visualisation_picture|[[Types/Sprite|Sprite]]|optional=true}}


== Example ==
{{Prototype property|allowed_effects|[[Types/EffectTypeLimitation|EffectTypeLimitation]]|No effects are allowed|optional=true}}
<syntaxhighlight lang="lua">{
The types of modules that a player can place inside of the Beacon.
  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
  }
},</syntaxhighlight>

Latest revision as of 16:58, 7 April 2022

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/EntityWithOwner.

energy_usage

Type: Energy

energy_source

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

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

graphics_set

Type: BeaconGraphicsSet
The graphics for the beacon.

animation

Type: Animation
The animation for the beacon, when in use. Loaded only if graphics_set is not present.

base_picture

Type: Sprite
The picture of the beacon when it is not on. Loaded only if graphics_set is not present.

radius_visualisation_picture

Type: Sprite

allowed_effects

Type: EffectTypeLimitation
Default: No effects are allowed
The types of modules that a player can place inside of the Beacon.