Prototype/Character: Difference between revisions

From Official Factorio Wiki
Jump to navigation Jump to search
(0.18.22: footstep_particle_triggers changes)
(0.18.33: added has_belt_immunity)
(One intermediate revision by the same user not shown)
Line 70: Line 70:
{{Prototype property|respawn_time|[[Types/uint32|uint32]]|10|optional=true}}
{{Prototype property|respawn_time|[[Types/uint32|uint32]]|10|optional=true}}
Time in seconds. Must be positive
Time in seconds. Must be positive
{{Prototype property|has_belt_immunity|[[Types/bool|bool]]|false|optional=true}}
Whether this character is moved by belts when standing on them.


{{Prototype property|character_corpse|[[Types/string|string]]|optional=true}}
{{Prototype property|character_corpse|[[Types/string|string]]|optional=true}}
Name of the character corpse that is spawned whend this character dies.
Name of the character corpse that is spawned when this character dies.
 
{{Prototype property|footstep_particle_triggers|[[Types/FootstepTriggerEffectList|FootstepTriggerEffectList]]|optional=true}}
Triggered every tick of the running animation.
 
{{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>.
 
{{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>.
 
{{Prototype property|left_footprint_offset|[[Types/vector|vector]]|optional=true}}
Offset from the center of the entity for the left footprint. Used by <code>footprint_particles</code>.
 
{{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>.


{{Prototype property|footstep_particle_triggers|[[Types/table|table]] of [[Types/CreateParticleTriggerEffectItem|CreateParticleTriggerEffectItem]]|optional=true}}
{{Prototype property|right_footprint_frames|[[Types/table|table]] of [[Types/float|float]]|optional=true}}
Array of [[Types/CreateParticleTriggerEffectItem|CreateParticleTriggerEffectItem]]. Each [[Types/CreateParticleTriggerEffectItem|CreateParticleTriggerEffectItem]] needs the extra mandatory property <code>tiles</code>, which is a [[Types/table|table]] (array) of [[Types/string|string]] which is the name of a tile.<br>
An array of [[Types/float|float]]. The frames in the running animation ([[#animations]]) where the right foot touches the ground.
Alternatively, instead of specifying the CreateParticleTriggerEffectItem directly in the table with the <code>tiles</code> property, a <code>actions</code> property that is an array of CreateParticleTriggerEffectItem can be specified in the table with the <code>tiles</code> property.


Examples:
{{Prototype property|left_footprint_frames|[[Types/table|table]] of [[Types/float|float]]|optional=true}}
<syntaxhighlight lang="lua">footstep_particle_triggers =
An array of [[Types/float|float]]. The frames in the running animation ([[#animations]]) where the left foot touches the ground.
{
  {
    tiles = { "water", "water-shallow" },
    type = "create-particle",
    particle_name = "water-particle",
    ....
  },
  {
    tiles = { "grass-1", "grass-2" },
    type = "create-particle",
    particle_name = "grass-particle",
    ....
  },
  ....
}</syntaxhighlight>
<syntaxhighlight lang="lua">footstep_particle_triggers =
{
  {
    tiles = { "water", "water-shallow" },
    actions =
    {
      {
        type = "create-particle",
        particle_name = "water-particle-1",
        ....
      },
      {
        type = "create-particle",
        particle_name = "water-particle-2",
        ....
      },
      ....
    }
  },
  {
    tiles = { "grass-1", "grass-2" },
    actions =
    {
      {
        type = "create-particle",
        particle_name = "grass-particle-1",
        ....
      },
      {
        type = "create-particle",
        particle_name = "grass-particle-2",
        ....
      },
      ....
    }
  },
}</syntaxhighlight>


{{Prototype property|tool_attack_result|[[Types/Trigger|Trigger]]|optional=true}}
{{Prototype property|tool_attack_result|[[Types/Trigger|Trigger]]|optional=true}}

Revision as of 08:03, 8 July 2020

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

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

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
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
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