Prototype/Projectile: Difference between revisions

From Official Factorio Wiki
Jump to navigation Jump to search
(Added property that I missed)
(Converted to SMW format)
Line 1: Line 1:
{{Prototype parent|Prototype/Entity}}
{{Prototype parent|Prototype/Entity}}
Entity with limited lifetime that can hit other entities and has triggers when this happens.


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


== Mandatory properties ==
== Mandatory properties ==
This prototype inherits all the properties from [[Prototype/Entity]].
This prototype inherits all the properties from [[Prototype/Entity]].


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


=== acceleration ===
{{Prototype property|acceleration|[[Types/double|double]]}}
'''Type''': [[Types/double]]


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


=== rotatable ===
{{Prototype property|rotatable|[[Types/bool|bool]]|true|optional=true}}
'''Type''': [[Types/bool]]
 
'''Default''': true
 
=== enable_drawing_with_mask ===
'''Type''': [[Types/bool]]
 
'''Default''': false
 
=== direction_only ===
'''Type''': [[Types/bool]]
 
'''Default''': false
 
=== hit_at_collision_position ===
'''Type''': [[Types/bool]]
 
'''Default''': false


=== force_condition ===
{{Prototype property|enable_drawing_with_mask|[[Types/bool|bool]]|false|optional=true}}
'''Type''': [[Types/ForceCondition]]


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


=== piercing_damage ===
{{Prototype property|hit_at_collision_position|[[Types/bool|bool]]|false|optional=true}}
'''Type''': [[Types/float]]


'''Default''': 0
{{Prototype property|force_condition|[[Types/ForceCondition|ForceCondition]]|"all"|optional=true}}


{{Prototype property|piercing_damage|[[Types/float|float]]|0|optional=true}}
Whenever an entity is hit by the projectile, this number gets reduced by the health of the entity. If the number is then below 0, the <code>final_action</code> is applied and the projectile destroyed. Otherwise, the projectile simply continues to its destination.  
Whenever an entity is hit by the projectile, this number gets reduced by the health of the entity. If the number is then below 0, the <code>final_action</code> is applied and the projectile destroyed. Otherwise, the projectile simply continues to its destination.  


=== max_speed ===
{{Prototype property|max_speed|[[Types/double|double]]|MAX_DOUBLE|optional=true}}
'''Type''': [[Types/double]]
 
'''Default''': MAX_DOUBLE
 
Must be greater than or equal to 0.
Must be greater than or equal to 0.


=== height ===
{{Prototype property|height|[[Types/double|double]]|1|optional=true}}
'''Type''': [[Types/double]]
 
'''Default''': 1
 
=== action ===
'''Type''': [[Types/Trigger]]


{{Prototype property|action|[[Types/Trigger|Trigger]]|optional=true}}
Executed when the projectile hits something.
Executed when the projectile hits something.


=== final_action ===
{{Prototype property|final_action|[[Types/Trigger|Trigger]]|optional=true}}
'''Type''': [[Types/Trigger]]
 
Executed when the projectile hits something, after <code>action</code> and only if the entity that was hit was destroyed. The projectile is destroyed right after the final_action.
Executed when the projectile hits something, after <code>action</code> and only if the entity that was hit was destroyed. The projectile is destroyed right after the final_action.


=== light ===
{{Prototype property|light|[[Types/LightDefinition|LightDefinition]]|optional=true}}
'''Type''': [[Types/LightDefinition]]
 
=== smoke ===
'''Type''': Array of [[Types/SmokeSource]]


=== hit_collision_mask ===
{{Prototype property|smoke|Array of [[Types/SmokeSource|SmokeSource]]|optional=true}}
'''Type''': [[Types/CollisionMask]]


'''Default''': {"player-layer", "train-layer"}
{{Prototype property|hit_collision_mask|[[Types/CollisionMask|CollisionMask]]|<nowiki>{"player-layer", "train-layer"}</nowiki>|optional=true}}


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

Revision as of 21:19, 5 August 2019

Prototype definitions » PrototypeBase » Prototype/Entity » Prototype/Projectile


Entity with limited lifetime that can hit other entities and has triggers when this happens.


Prototype/Projectile — projectile
acceleration::double
action::Trigger (optional)
animation::Animation (optional)
direction_only::bool (optional)
enable_drawing_with_mask::bool (optional)
final_action::Trigger (optional)
force_condition::ForceCondition (optional)
height::double (optional)
hit_at_collision_position::bool (optional)
hit_collision_mask::CollisionMask (optional)
light::LightDefinition (optional)
max_speed::double (optional)
piercing_damage::float (optional)
rotatable::bool (optional)
shadow::Animation (optional)
smoke::Array of SmokeSource (optional)
speed_modifier::vector (optional)
turn_speed::float (optional)
turning_speed_increases_exponentially_with_projectile_speed::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.

animation

Type: Animation

acceleration

Type: double

Optional properties

rotatable

Type: bool
Default: true

enable_drawing_with_mask

Type: bool
Default: false

direction_only

Type: bool
Default: false

hit_at_collision_position

Type: bool
Default: false

force_condition

Type: ForceCondition
Default: "all"

piercing_damage

Type: float
Default: 0
Whenever an entity is hit by the projectile, this number gets reduced by the health of the entity. If the number is then below 0, the final_action is applied and the projectile destroyed. Otherwise, the projectile simply continues to its destination.

max_speed

Type: double
Default: MAX_DOUBLE
Must be greater than or equal to 0.

height

Type: double
Default: 1

action

Type: Trigger
Executed when the projectile hits something.

final_action

Type: Trigger
Executed when the projectile hits something, after action and only if the entity that was hit was destroyed. The projectile is destroyed right after the final_action.

light

Type: LightDefinition

smoke

Type: Array of SmokeSource

hit_collision_mask

Type: CollisionMask
Default: {"player-layer", "train-layer"}

shadow

Type: Animation