Factorio Prototype DocsVersion 1.1.107

CharacterPrototype - 'character'

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

Inherits from EntityWithOwnerPrototype « EntityWithHealthPrototype « EntityPrototype « PrototypeBase

Properties

mining_speed :: double
running_speed :: double
distance_per_frame :: double
maximum_corner_sliding_distance :: double
heartbeat :: Sound

The sound played when the character's health is low.

The sound played when the character's health is low.

eat :: Sound

The sound played when the character eats (fish for example).

The sound played when the character eats (fish for example).

inventory_size :: ItemStackIndex

Number of slots in the main inventory. [...]

Number of slots in the main inventory. [...]

build_distance :: uint32
drop_item_distance :: uint32
reach_distance :: uint32
reach_resource_distance :: double
item_pickup_distance :: double
loot_pickup_distance :: double
ticks_to_keep_gun :: uint32
ticks_to_keep_aiming_direction :: uint32
ticks_to_stay_in_combat :: uint32
damage_hit_tint :: Color
running_sound_animation_positions :: array[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.

mining_with_tool_particles_animation_positions :: array[float]

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

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

animations :: array[CharacterArmorAnimation]
crafting_categories optional :: array[RecipeCategoryID]

Names of the crafting categories the character can craft recipes from. [...]

Names of the crafting categories the character can craft recipes from. [...]

mining_categories optional :: array[ResourceCategoryID]

Names of the resource categories the character can mine resources from.

Names of the resource categories the character can mine resources from.

light optional :: LightDefinition
enter_vehicle_distance optional :: double

Must be >= 0.

Must be >= 0.

tool_attack_distance optional :: double
respawn_time optional :: uint32

Time in seconds. [...]

Time in seconds. [...]

has_belt_immunity optional :: bool

Whether this character is moved by belts when standing on them.

Whether this character is moved by belts when standing on them.

character_corpse optional :: EntityID

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

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

footstep_particle_triggers optional :: FootstepTriggerEffectList

Triggered every tick of the running animation.

Triggered every tick of the running animation.

synced_footstep_particle_triggers optional :: FootstepTriggerEffectList

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

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

footprint_particles optional :: array[FootprintParticle]

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

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

left_footprint_offset optional :: Vector

Offset from the center of the entity for the left footprint. [...]

Offset from the center of the entity for the left footprint. [...]

right_footprint_offset optional :: Vector

Offset from the center of the entity for the right footprint. [...]

Offset from the center of the entity for the right footprint. [...]

right_footprint_frames optional :: array[float]

The frames in the running animation (animations) where the right foot touches the ground.

The frames in the running animation (animations) where the right foot touches the ground.

left_footprint_frames optional :: array[float]

The frames in the running animation (animations) where the left foot touches the ground.

The frames in the running animation (animations) where the left foot touches the ground.

tool_attack_result optional :: Trigger

Inherited from EntityWithOwnerPrototype
is_military_target[overridden] optional :: bool

Whether this prototype should be a high priority target for enemy forces. [...]

Whether this prototype should be a high priority target for enemy forces. [...]

allow_run_time_change_of_is_military_target optional :: bool

If this is true, this entity's is_military_target property can be changed during runtime (on the entity, not on the prototype itself).

If this is true, this entity's is_military_target property can be changed during runtime (on the entity, not on the prototype itself).

max_health optional :: float

The unit health can never go over the maximum. [...]

The unit health can never go over the maximum. [...]

healing_per_tick optional :: float

The amount of health automatically regenerated per tick. [...]

The amount of health automatically regenerated per tick. [...]

repair_speed_modifier optional :: float
dying_explosion optional :: ExplosionDefinition or array[ExplosionDefinition]

The entities that are spawned in place of this one when it dies.

The entities that are spawned in place of this one when it dies.

dying_trigger_effect optional :: TriggerEffect
damaged_trigger_effect optional :: TriggerEffect
loot optional :: array[LootItem]

The loot is dropped on the ground when the entity is killed.

The loot is dropped on the ground when the entity is killed.

resistances optional :: array[Resistance]

See damage.

See damage.

attack_reaction optional :: AttackReactionItem or array[AttackReactionItem]
repair_sound optional :: Sound
alert_when_damaged optional :: bool
hide_resistances optional :: bool

Whether the resistances of this entity should be hidden in the entity tooltip.

Whether the resistances of this entity should be hidden in the entity tooltip.

create_ghost_on_death optional :: bool
random_corpse_variation optional :: bool
integration_patch_render_layer optional :: RenderLayer
corpse optional :: EntityID or array[EntityID]

Specifies the names of the CorpsePrototype to be used when this entity dies.

Specifies the names of the CorpsePrototype to be used when this entity dies.

integration_patch optional :: Sprite4Way

Sprite drawn on ground under the entity to make it feel more integrated into the ground.

Sprite drawn on ground under the entity to make it feel more integrated into the ground.

Inherited from EntityPrototype
icons optional :: array[IconData]

This will be used in the electric network statistics, editor building selection, and the bonus gui. [...]

This will be used in the electric network statistics, editor building selection, and the bonus gui. [...]

icon optional :: FileName

Path to the icon file. [...]

Path to the icon file. [...]

icon_size optional :: SpriteSizeType

The size of the square icon, in pixels. [...]

The size of the square icon, in pixels. [...]

icon_mipmaps optional :: IconMipMapType

Icons of reduced size will be used at decreased scale.

Icons of reduced size will be used at decreased scale.

collision_box optional :: BoundingBox

Specification of the entity collision boundaries. [...]

Specification of the entity collision boundaries. [...]

collision_mask[overridden] optional :: CollisionMask

Two entities can collide only if they share a layer from the collision mask.

Two entities can collide only if they share a layer from the collision mask.

map_generator_bounding_box optional :: BoundingBox

Used instead of the collision box during map generation. [...]

Used instead of the collision box during map generation. [...]

selection_box optional :: BoundingBox

Specification of the entity selection area. [...]

Specification of the entity selection area. [...]

drawing_box optional :: BoundingBox

Specification of space needed to see the whole entity in GUIs. [...]

Specification of space needed to see the whole entity in GUIs. [...]

sticker_box optional :: BoundingBox

Used to set the area of the entity that can have stickers on it, currently only used for units to specify the area where the green slow down stickers can appear.

Used to set the area of the entity that can have stickers on it, currently only used for units to specify the area where the green slow down stickers can appear.

hit_visualization_box optional :: BoundingBox

Where beams should hit the entity. [...]

Where beams should hit the entity. [...]

trigger_target_mask optional :: TriggerTargetMask
flags optional :: EntityPrototypeFlags
minable optional :: MinableProperties

The item given to the player when they mine the entity and other properties relevant to mining this entity.

The item given to the player when they mine the entity and other properties relevant to mining this entity.

subgroup optional :: ItemSubGroupID

The name of the subgroup this entity should be sorted into in the map editor building selection.

The name of the subgroup this entity should be sorted into in the map editor building selection.

allow_copy_paste optional :: bool
selectable_in_game optional :: bool
selection_priority optional :: uint8

The entity with the higher number is selectable before the entity with the lower number. [...]

The entity with the higher number is selectable before the entity with the lower number. [...]

build_grid_size optional :: uint8

Supported values are 1 (for 1x1 grid) and 2 (for 2x2 grid, like rails). [...]

Supported values are 1 (for 1x1 grid) and 2 (for 2x2 grid, like rails). [...]

remove_decoratives optional :: "automatic" or "true" or "false"

Whether this entity should remove decoratives that collide with it when this entity is built. [...]

Whether this entity should remove decoratives that collide with it when this entity is built. [...]

emissions_per_second optional :: double

Amount of emissions created (positive number) or cleaned (negative number) every second by the entity. [...]

Amount of emissions created (positive number) or cleaned (negative number) every second by the entity. [...]

shooting_cursor_size optional :: float

The cursor size used when shooting at this entity.

The cursor size used when shooting at this entity.

created_smoke optional :: CreateTrivialSmokeEffectItem

The smoke that is shown when the entity is placed.

The smoke that is shown when the entity is placed.

working_sound optional :: WorkingSound

Will also work on entities that don't actually do work.

Will also work on entities that don't actually do work.

created_effect optional :: Trigger

The effect/trigger that happens when the entity is placed.

The effect/trigger that happens when the entity is placed.

build_sound optional :: Sound
mined_sound optional :: Sound
mining_sound optional :: Sound
rotated_sound optional :: Sound
vehicle_impact_sound optional :: Sound

When playing this sound, the volume is scaled by the speed of the vehicle when colliding with this entity.

When playing this sound, the volume is scaled by the speed of the vehicle when colliding with this entity.

open_sound optional :: Sound
close_sound optional :: Sound
radius_visualisation_specification optional :: RadiusVisualisationSpecification
build_base_evolution_requirement optional :: double
alert_icon_shift optional :: Vector
alert_icon_scale optional :: float
fast_replaceable_group optional :: string

This allows you to replace an entity that's already placed, with a different one in your inventory. [...]

This allows you to replace an entity that's already placed, with a different one in your inventory. [...]

next_upgrade optional :: EntityID

Name of the entity that will be automatically selected as the upgrade of this entity when using the upgrade planner without configuration. [...]

Name of the entity that will be automatically selected as the upgrade of this entity when using the upgrade planner without configuration. [...]

protected_from_tile_building optional :: bool

When this is true, this entity prototype should be included during tile collision checks with tiles that have TilePrototype::check_collision_with_entities set to true.

When this is true, this entity prototype should be included during tile collision checks with tiles that have TilePrototype::check_collision_with_entities set to true.

placeable_by optional :: ItemToPlace or array[ItemToPlace]

Item that when placed creates this entity. [...]

Item that when placed creates this entity. [...]

remains_when_mined optional :: EntityID or array[EntityID]

The entity that remains when this one is mined, deconstructed or fast-replaced. [...]

The entity that remains when this one is mined, deconstructed or fast-replaced. [...]

additional_pastable_entities optional :: array[EntityID]

Names of the entity prototypes this entity prototype can be pasted on to in addition to the standard supported types. [...]

Names of the entity prototypes this entity prototype can be pasted on to in addition to the standard supported types. [...]

tile_width optional :: uint32

Used to determine how the center of the entity should be positioned when building (unless the off-grid flag is specified). [...]

Used to determine how the center of the entity should be positioned when building (unless the off-grid flag is specified). [...]

tile_height optional :: uint32
autoplace optional :: AutoplaceSpecification

Used to specify the rules for placing this entity during map generation.

Used to specify the rules for placing this entity during map generation.

map_color optional :: Color
friendly_map_color optional :: Color
enemy_map_color optional :: Color
water_reflection optional :: WaterReflectionDefinition

May also be defined inside graphics_set instead of directly in the entity prototype. [...]

May also be defined inside graphics_set instead of directly in the entity prototype. [...]

Inherited from PrototypeBase
type :: string

Specifies the kind of prototype this is. [...]

Specifies the kind of prototype this is. [...]

name :: string

Unique textual identification of the prototype. [...]

Unique textual identification of the prototype. [...]

order optional :: Order

Used to order prototypes in inventory, recipes and GUIs. [...]

Used to order prototypes in inventory, recipes and GUIs. [...]

localised_name optional :: LocalisedString

Overwrites the name set in the locale file. [...]

Overwrites the name set in the locale file. [...]

localised_description optional :: LocalisedString

Overwrites the description set in the locale file. [...]

Overwrites the description set in the locale file. [...]

Properties

mining_speed :: double

running_speed :: double

distance_per_frame :: double

maximum_corner_sliding_distance :: double

heartbeat :: Sound

The sound played when the character's health is low.

eat :: Sound

The sound played when the character eats (fish for example).

inventory_size :: ItemStackIndex

Number of slots in the main inventory. May be 0.

build_distance :: uint32

drop_item_distance :: uint32

reach_distance :: uint32

reach_resource_distance :: double

item_pickup_distance :: double

loot_pickup_distance :: double

ticks_to_keep_gun :: uint32

ticks_to_keep_aiming_direction :: uint32

ticks_to_stay_in_combat :: uint32

damage_hit_tint :: Color

running_sound_animation_positions :: array[float]

List of positions in the running animation when the walking sound is played.

Example

running_sound_animation_positions = {14, 29}

mining_with_tool_particles_animation_positions :: array[float]

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

Example

mining_with_tool_particles_animation_positions = {28}

animations :: array[CharacterArmorAnimation]

crafting_categories :: array[RecipeCategoryID] optional

Names of the crafting categories the character can craft recipes from. The built-in categories can be found here. See also RecipeCategory.

mining_categories :: array[ResourceCategoryID] optional

Names of the resource categories the character can mine resources from.

light :: LightDefinition optional

enter_vehicle_distance :: double optional

Default: 3.0

Must be >= 0.

tool_attack_distance :: double optional

Default: 1.5

respawn_time :: uint32 optional

Default: 10

Time in seconds. Must be positive

has_belt_immunity :: bool optional

Default: false

Whether this character is moved by belts when standing on them.

character_corpse :: EntityID optional

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

footstep_particle_triggers :: FootstepTriggerEffectList optional

Triggered every tick of the running animation.

synced_footstep_particle_triggers :: FootstepTriggerEffectList optional

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

footprint_particles :: array[FootprintParticle] optional

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

left_footprint_offset :: Vector optional

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

right_footprint_offset :: Vector optional

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

right_footprint_frames :: array[float] optional

The frames in the running animation (animations) where the right foot touches the ground.

left_footprint_frames :: array[float] optional

The frames in the running animation (animations) where the left foot touches the ground.

tool_attack_result :: Trigger optional

Overridden Properties

is_military_target :: bool optional

Default: true

Whether this prototype should be a high priority target for enemy forces. See Military units and structures.

collision_mask :: CollisionMask optional

Default: {"player-layer", "train-layer", "consider-tile-transitions"}

Two entities can collide only if they share a layer from the collision mask.

Prototypes

Types