Prototype/Beam: Difference between revisions

From Official Factorio Wiki
Jump to navigation Jump to search
(0.17.59)
(Updated styling of prototype doc migration note)
 
(4 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<div class="stub"><p>'''The prototype docs have moved to a new website with an improved format.''' This documentation page can now be found here: [https://lua-api.factorio.com/latest/prototypes/BeamPrototype.html https://lua-api.factorio.com/latest/prototypes/BeamPrototype.html]
</p><p>This wiki page is no longer updated and '''will be removed at some point in the future''', so please update your browser bookmarks or other links that sent you here. If you'd like to contribute to the new docs, you can leave your feedback [https://forums.factorio.com/viewforum.php?f=233 on the forums].</p></div>
{{Prototype parent|Prototype/Entity}}
{{Prototype parent|Prototype/Entity}}
Used as a laser beam.


== Basics ==
{{Prototype TOC|beam}}
Prototype type: '''beam'''
 
Extends [[Prototype/Entity]].


== Mandatory properties ==
== Mandatory properties ==
Line 11: Line 15:
All animations must have the same number of frames: Tail must have same number of frames as start, ending, head, body, start_light, ending_light, head_light, tail_light and body_light.
All animations must have the same number of frames: Tail must have same number of frames as start, ending, head, body, start_light, ending_light, head_light, tail_light and body_light.


=== width ===
{{Prototype property|width|[[Types/double|double]]}}
'''Type''': [[Types/double]]
 
=== damage_interval ===
'''Type''': [[Types/uint32]]


{{Prototype property|damage_interval|[[Types/uint32|uint32]]}}
Damage interval can't be 0. A value of 1 will cause the attack to be applied each tick.
Damage interval can't be 0. A value of 1 will cause the attack to be applied each tick.


=== head ===
{{Prototype property|head|[[Types/Animation|Animation]]}}
'''Type''': [[Types/Animation]]
 
Head segment of the beam.
Head segment of the beam.


=== tail ===
{{Prototype property|tail|[[Types/Animation|Animation]]}}
'''Type''': [[Types/Animation]]
 
Tail segment of the beam.
Tail segment of the beam.


=== body ===
{{Prototype property|body|[[Types/AnimationVariations|AnimationVariations]]}}
'''Type''': [[Types/AnimationVariations]]
 
Body segment of the beam. Must have at least 1 variation.
Body segment of the beam. Must have at least 1 variation.


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


=== action ===
{{Prototype property|action|[[Types/Trigger|Trigger]]|optional=true}}
'''Type''': [[Types/Trigger]]
 
=== target_offset ===
'''Type''': [[Types/vector]]
 
=== random_target_offset ===
'''Type''': [[Types/bool]]
 
'''Default''': false


=== random_end_animation_rotation ===
{{Prototype property|target_offset|[[Types/vector|vector]]|optional=true}}
'''Type''': [[Types/bool]]


'''Default''': true
{{Prototype property|random_target_offset|[[Types/bool|bool]]|false|optional=true}}


=== transparent_start_end_animations ===
{{Prototype property|action_triggered_automatically|[[Types/bool|bool]]|false|optional=true}}
'''Type''': [[Types/bool]]
Whether this beams should trigger its action every damage_interval. If false, the action is instead triggered when its owner triggers shooting.


'''Default''': true
{{Prototype property|random_end_animation_rotation|[[Types/bool|bool]]|true|optional=true}}


=== start ===
{{Prototype property|transparent_start_end_animations|[[Types/bool|bool]]|true|optional=true}}
'''Type''': [[Types/Animation]]


{{Prototype property|start|[[Types/Animation|Animation]]|optional=true}}
Start point of the beam.
Start point of the beam.


=== ending ===
{{Prototype property|ending|[[Types/Animation|Animation]]|optional=true}}
'''Type''': [[Types/Animation]]
 
End point of the beam.
End point of the beam.


=== light_animations ===
{{Prototype property|light_animations|[[Types/table|table]]|optional=true}}
'''Types''': [[Types/table]]
 
Lights are additively accumulated onto lightmap, which is multiplicatively rendered on the game world.[https://forums.factorio.com/viewtopic.php?p=435042#p435042]
Lights are additively accumulated onto lightmap, which is multiplicatively rendered on the game world.[https://forums.factorio.com/viewtopic.php?p=435042#p435042]


Table with the following members:
Table with the following members:
* start - [[Types/Animation]] - Optional.
* start - [[Types/Animation|Animation]] - Optional.
* ending - [[Types/Animation]] - Optional.
* ending - [[Types/Animation|Animation]] - Optional.
* head - [[Types/Animation]] - Optional.
* head - [[Types/Animation|Animation]] - Optional.
* tail - [[Types/Animation]] - Optional.
* tail - [[Types/Animation|Animation]] - Optional.
* body - [[Types/AnimationVariations]] - Optional.
* body - [[Types/AnimationVariations|AnimationVariations]] - Optional.
 
=== ground_light_animations ===
'''Types''': [[Types/table]]


{{Prototype property|ground_light_animations|[[Types/table|table]]|optional=true}}
Table with the following members:
Table with the following members:
* start - [[Types/Animation]] - Optional.
* start - [[Types/Animation|Animation]] - Optional.
* ending - [[Types/Animation]] - Optional.
* ending - [[Types/Animation|Animation]] - Optional.
* head - [[Types/Animation]] - Optional.
* head - [[Types/Animation|Animation]] - Optional.
* tail - [[Types/Animation]] - Optional.
* tail - [[Types/Animation|Animation]] - Optional.
* body - [[Types/AnimationVariations]] - Optional.
* body - [[Types/AnimationVariations|AnimationVariations]] - Optional.
 
=== start_light ===
'''Type''': [[Types/Animation]]


{{Prototype property|start_light|[[Types/Animation|Animation]]|optional=true}}
This and the below properties ending in "_light" are considered deprecated. If they are present, then <code>light_animations</code> and <code>ground_light_animations</code> are not loaded.
This and the below properties ending in "_light" are considered deprecated. If they are present, then <code>light_animations</code> and <code>ground_light_animations</code> are not loaded.


=== ending_light ===
{{Prototype property|ending_light|[[Types/Animation|Animation]]|optional=true}}
'''Type''': [[Types/Animation]]


=== head_light ===
{{Prototype property|head_light|[[Types/Animation|Animation]]|optional=true}}
'''Type''': [[Types/Animation]]


=== tail_light ===
{{Prototype property|tail_light|[[Types/Animation|Animation]]|optional=true}}
'''Type''': [[Types/Animation]]


=== body_light ===
{{Prototype property|body_light|[[Types/AnimationVariations|AnimationVariations]]|optional=true}}
'''Type''': [[Types/AnimationVariations]]

Latest revision as of 10:42, 21 September 2023

The prototype docs have moved to a new website with an improved format. This documentation page can now be found here: https://lua-api.factorio.com/latest/prototypes/BeamPrototype.html

This wiki page is no longer updated and will be removed at some point in the future, so please update your browser bookmarks or other links that sent you here. If you'd like to contribute to the new docs, you can leave your feedback on the forums.


Prototype definitions » PrototypeBase » Prototype/Entity » Prototype/Beam


Used as a laser beam.


Prototype/Beam — beam
body::AnimationVariations
damage_interval::uint32
head::Animation
tail::Animation
width::double
action::Trigger (optional)
action_triggered_automatically::bool (optional)
body_light::AnimationVariations (optional)
ending::Animation (optional)
ending_light::Animation (optional)
ground_light_animations::table (optional)
head_light::Animation (optional)
light_animations::table (optional)
random_end_animation_rotation::bool (optional)
random_target_offset::bool (optional)
start::Animation (optional)
start_light::Animation (optional)
tail_light::Animation (optional)
target_offset::vector (optional)
transparent_start_end_animations::bool (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/Entity.

All animations must have the same number of frames: Tail must have same number of frames as start, ending, head, body, start_light, ending_light, head_light, tail_light and body_light.

width

Type: double

damage_interval

Type: uint32
Damage interval can't be 0. A value of 1 will cause the attack to be applied each tick.

head

Type: Animation
Head segment of the beam.

tail

Type: Animation
Tail segment of the beam.

body

Type: AnimationVariations
Body segment of the beam. Must have at least 1 variation.

Optional properties

action

Type: Trigger

target_offset

Type: vector

random_target_offset

Type: bool
Default: false

action_triggered_automatically

Type: bool
Default: false
Whether this beams should trigger its action every damage_interval. If false, the action is instead triggered when its owner triggers shooting.

random_end_animation_rotation

Type: bool
Default: true

transparent_start_end_animations

Type: bool
Default: true

start

Type: Animation
Start point of the beam.

ending

Type: Animation
End point of the beam.

light_animations

Type: table
Lights are additively accumulated onto lightmap, which is multiplicatively rendered on the game world.[1]

Table with the following members:

ground_light_animations

Type: table
Table with the following members:

start_light

Type: Animation
This and the below properties ending in "_light" are considered deprecated. If they are present, then light_animations and ground_light_animations are not loaded.

ending_light

Type: Animation

head_light

Type: Animation

tail_light

Type: Animation

body_light

Type: AnimationVariations