Prototype/Character: Difference between revisions

From Official Factorio Wiki
Jump to navigation Jump to search
(Added prototype type to page)
(Some people in Discord have found this unclear)
 
(11 intermediate revisions by 3 users not shown)
Line 1: Line 1:
==Basics==
{{Prototype parent|Prototype/EntityWithOwner}}
Prototype type: '''player'''
Entity that you move around on the screen during the campaign and freeplay.
 
{{Prototype TOC|character}}


Entity that you move around on the screen during the campaign and freeplay. Extends [[Prototype/EntityWithHealth]].
== Mandatory properties ==
== Mandatory properties ==
Inherits all properties from [[Prototype/EntityWithHealth]].
Inherits all properties from [[Prototype/EntityWithOwner]].


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


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


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


=== maximum_corner_sliding_distance ===
{{Prototype property|maximum_corner_sliding_distance|[[Types/double|double]]}}
'''Type''': [[Types/double]]
 
=== heartbeat ===
'''Type''': [[Types/Sound]]


{{Prototype property|heartbeat|[[Types/Sound|Sound]]}}
The sound file played when the character's health is low.
The sound file played when the character's health is low.


=== eat ===
{{Prototype property|eat|[[Types/Sound|Sound]]}}
'''Type''': [[Types/Sound]]
 
The sound file played when the character eats (fish for example).
The sound file played when the character eats (fish for example).


=== inventory_size ===
{{Prototype property|inventory_size|[[Types/ItemStackIndex|ItemStackIndex]]}}
'''Type''': [[Types/ItemStackIndex]]
Number of slots in the main inventory. May be 0.
 
=== build_distance ===
'''Type''': [[Types/uint32]]


=== drop_item_distance ===
{{Prototype property|build_distance|[[Types/uint32|uint32]]}}
'''Type''': [[Types/uint32]]


=== reach_distance ===
{{Prototype property|drop_item_distance|[[Types/uint32|uint32]]}}
'''Type''': [[Types/uint32]]


=== reach_resource_distance ===
{{Prototype property|reach_distance|[[Types/uint32|uint32]]}}
'''Type''': [[Types/double]]


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


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


=== ticks_to_keep_gun ===
{{Prototype property|loot_pickup_distance|[[Types/double|double]]}}
'''Type''': [[Types/uint32]]


=== ticks_to_keep_aiming_direction ===
{{Prototype property|ticks_to_keep_gun|[[Types/uint32|uint32]]}}
'''Type''': [[Types/uint32]]


=== ticks_to_stay_in_combat ===
{{Prototype property|ticks_to_keep_aiming_direction|[[Types/uint32|uint32]]}}
'''Type''': [[Types/uint32]]


=== damage_hit_tint ===
{{Prototype property|ticks_to_stay_in_combat|[[Types/uint32|uint32]]}}
'''Type''': [[Types/Color]]


=== running_sound_animation_positions ===
{{Prototype property|damage_hit_tint|[[Types/Color|Color]]}}
'''Type''': [[Types/table]] of [[Types/float]]


{{Prototype property|running_sound_animation_positions|[[Types/table|table]] of [[Types/float|float]]}}
List of positions in the running animation when the walking sound is played.
List of positions in the running animation when the walking sound is played.
     running_sound_animation_positions = {14, 29}
     running_sound_animation_positions = {14, 29}


=== mining_with_hands_particles_animation_positions ===
{{Prototype property|mining_with_tool_particles_animation_positions|[[Types/table|table]] of [[Types/float|float]]}}
'''Type''': [[Types/table]] of [[Types/float]]
List of positions in the mining with tool animation when the mining sound and mining particles are created.
    mining_with_tool_particles_animation_positions = {28}


List of positions in the mining with hand animation when the mining sound and mining particles are created.
{{Prototype property|animations|[[Types/table|table]] of [[Types/CharacterArmorAnimation|CharacterArmorAnimation]]}}
    mining_with_hands_particles_animation_positions = {29, 63}


=== mining_with_tool_particles_animation_positions ===
== Optional properties ==
'''Type''': [[Types/table]] of [[Types/float]]


List of positions in the mining with tool animation when the mining sound and mining particles are created.
{{Prototype property|crafting_categories|[[Types/table|table]] of [[Types/string|string]]|empty table|optional=true}}
    mining_with_tool_particles_animation_positions = {28}
Names of the crafting categories the character can craft recipes from. The built-in categories can be found [[Data.raw#recipe-category|here]]. See also [[Prototype/RecipeCategory]].


=== animations ===
{{Prototype property|mining_categories |[[Types/table|table]] of [[Types/string|string]]|empty table|optional=true}}
'''Type''': [[Types/table]] of [[Types/CharacterArmorAnimation]]
Names of the resource categories the character can mine resources from.


== Optional properties ==
{{Prototype property|light|[[Types/LightDefinition|LightDefinition]]|optional=true}}


=== crafting_categories ===
{{Prototype property|enter_vehicle_distance|[[Types/double|double]]|3.0|optional=true}}
'''Type''': [[Types/table]] of [[Types/string]]
Must be >= 0.


Names of the crafting categories the player can craft recipes from.
{{Prototype property|tool_attack_distance|[[Types/double|double]]|1.5|optional=true}}


=== mining_categories  ===
{{Prototype property|respawn_time|[[Types/uint32|uint32]]|10|optional=true}}
'''Type''': [[Types/table]] of [[Types/string]]
Time in seconds. Must be positive


Names of the resource categories the player can mine resources from.
{{Prototype property|has_belt_immunity|[[Types/bool|bool]]|false|optional=true}}
Whether this character is moved by belts when standing on them.


=== light ===
{{Prototype property|character_corpse|[[Types/string|string]]|optional=true}}
'''Type''': [[Types/LightDefinition]]
Name of the character corpse that is spawned when this character dies.


=== enter_vehicle_distance ===
{{Prototype property|footstep_particle_triggers|[[Types/FootstepTriggerEffectList|FootstepTriggerEffectList]]|optional=true}}
'''Type''': [[Types/double]]
Triggered every tick of the running animation.


'''Default''': 3.0
{{Prototype property|synced_footstep_particle_triggers|[[Types/FootstepTriggerEffectList|FootstepTriggerEffectList]]|optional=true}}
Triggered when the running animation ([[#animations]]) rolls over the frames defined in <code>right_footprint_frames</code> and <code>left_footprint_frames</code>.


Must be positive.
{{Prototype property|footprint_particles|[[Types/table|table]] of [[Types/FootprintParticle|FootprintParticle]]|optional=true}}
Array of footprint particles. Triggered when the running animation ([[#animations]]) rolls over the frames defined in <code>right_footprint_frames</code> and <code>left_footprint_frames</code>.


=== respawn_time ===
{{Prototype property|left_footprint_offset|[[Types/vector|vector]]|optional=true}}
'''Type''': [[Types/uint32]]
Offset from the center of the entity for the left footprint. Used by <code>footprint_particles</code>.


'''Default''': 10
{{Prototype property|right_footprint_offset|[[Types/vector|vector]]|optional=true}}
Offset from the center of the entity for the right footprint. Used by <code>footprint_particles</code>.


Time in seconds. Must be positive
{{Prototype property|right_footprint_frames|[[Types/table|table]] of [[Types/float|float]]|optional=true}}
An array of [[Types/float|float]]. The frames in the running animation ([[#animations]]) where the right foot touches the ground.


=== character_corpse ===
{{Prototype property|left_footprint_frames|[[Types/table|table]] of [[Types/float|float]]|optional=true}}
'''Type''': [[Types/string]]
An array of [[Types/float|float]]. The frames in the running animation ([[#animations]]) where the left foot touches the ground.


Name of the character corpse that is spawned whend this character dies.
{{Prototype property|tool_attack_result|[[Types/Trigger|Trigger]]|optional=true}}

Latest revision as of 11:06, 22 December 2022

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


Entity that you move around on the screen during the campaign and freeplay.


Prototype/Character — character
animations::table of CharacterArmorAnimation
build_distance::uint32
damage_hit_tint::Color
distance_per_frame::double
drop_item_distance::uint32
eat::Sound
heartbeat::Sound
inventory_size::ItemStackIndex
item_pickup_distance::double
loot_pickup_distance::double
maximum_corner_sliding_distance::double
mining_speed::double
mining_with_tool_particles_animation_positions::table of float
reach_distance::uint32
reach_resource_distance::double
running_sound_animation_positions::table of float
running_speed::double
ticks_to_keep_aiming_direction::uint32
ticks_to_keep_gun::uint32
ticks_to_stay_in_combat::uint32
character_corpse::string (optional)
crafting_categories::table of string (optional)
enter_vehicle_distance::double (optional)
footprint_particles::table of FootprintParticle (optional)
footstep_particle_triggers::FootstepTriggerEffectList (optional)
has_belt_immunity::bool (optional)
left_footprint_frames::table of float (optional)
left_footprint_offset::vector (optional)
light::LightDefinition (optional)
mining_categories::table of string (optional)
respawn_time::uint32 (optional)
right_footprint_frames::table of float (optional)
right_footprint_offset::vector (optional)
synced_footstep_particle_triggers::FootstepTriggerEffectList (optional)
tool_attack_distance::double (optional)
tool_attack_result::Trigger (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)

Mandatory properties

Inherits all properties from Prototype/EntityWithOwner.

mining_speed

Type: double

running_speed

Type: double

distance_per_frame

Type: double

maximum_corner_sliding_distance

Type: double

heartbeat

Type: Sound
The sound file played when the character's health is low.

eat

Type: Sound
The sound file played when the character eats (fish for example).

inventory_size

Type: ItemStackIndex
Number of slots in the main inventory. May be 0.

build_distance

Type: uint32

drop_item_distance

Type: uint32

reach_distance

Type: uint32

reach_resource_distance

Type: double

item_pickup_distance

Type: double

loot_pickup_distance

Type: double

ticks_to_keep_gun

Type: uint32

ticks_to_keep_aiming_direction

Type: uint32

ticks_to_stay_in_combat

Type: uint32

damage_hit_tint

Type: Color

running_sound_animation_positions

Type: table of float
List of positions in the running animation when the walking sound is played.

   running_sound_animation_positions = {14, 29}

mining_with_tool_particles_animation_positions

Type: table of float
List of positions in the mining with tool animation when the mining sound and mining particles are created.

   mining_with_tool_particles_animation_positions = {28}

animations

Type: table of CharacterArmorAnimation

Optional properties

crafting_categories

Type: table of string
Default: empty table
Names of the crafting categories the character can craft recipes from. The built-in categories can be found here. See also Prototype/RecipeCategory.

mining_categories

Type: table of string
Default: empty table
Names of the resource categories the character can mine resources from.

light

Type: LightDefinition

enter_vehicle_distance

Type: double
Default: 3.0
Must be >= 0.

tool_attack_distance

Type: double
Default: 1.5

respawn_time

Type: uint32
Default: 10
Time in seconds. Must be positive

has_belt_immunity

Type: bool
Default: false
Whether this character is moved by belts when standing on them.

character_corpse

Type: string
Name of the character corpse that is spawned when this character dies.

footstep_particle_triggers

Type: FootstepTriggerEffectList
Triggered every tick of the running animation.

synced_footstep_particle_triggers

Type: FootstepTriggerEffectList
Triggered when the running animation (#animations) rolls over the frames defined in right_footprint_frames and left_footprint_frames.

footprint_particles

Type: table of FootprintParticle
Array of footprint particles. Triggered when the running animation (#animations) rolls over the frames defined in right_footprint_frames and left_footprint_frames.

left_footprint_offset

Type: vector
Offset from the center of the entity for the left footprint. Used by footprint_particles.

right_footprint_offset

Type: vector
Offset from the center of the entity for the right footprint. Used by footprint_particles.

right_footprint_frames

Type: table of float
An array of float. The frames in the running animation (#animations) where the right foot touches the ground.

left_footprint_frames

Type: table of float
An array of float. The frames in the running animation (#animations) where the left foot touches the ground.

tool_attack_result

Type: Trigger