Prototype/EntityWithHealth

From Official Factorio Wiki
Revision as of 13:08, 23 July 2017 by Bilka (talk | contribs) (→‎Extensions: fixed indentation)
Jump to navigation Jump to search

Basics

The common properties of all entities with health in the game. Extends the Prototype/Entity

Extensions

Properties

max_health

Type: Types/float

The unit health can never go over the maxmum. Default health of units on creation is set to max.

   max_health = 50

healing_per_tick

Type: Types/float

The amount of health cured by tick naturally. Works only on active entities. (Todo explain)

  healing_per_tick = 0.01

dying_explosion

Type: Types/EntityName

Todo, this should be removed and Type/AttackResult should be used for dying event. This would allow much more variability.

loot

Type: Types/LootSpecification The loot is generated when the entity is killed.

   loot =
   {
     {
       count_max = 10,
       count_min = 2,
       item = "alien-artifact",
       probability = 1
     }
   }

resistances

Type: Types/Resistances

See: Damage

   resistances = 
   {
     {
       type = "fire",
       percent = 80
     },
     {
       type = "explosion",
       percent = 30
     }
   }

attack_reaction

Type: Types/AttackReaction

Default: Empty

corpse

Type: Types/EntityName (single value or list)

Default: Empty

Specifies the name of the Prototypes/Corpse entity to be used when this entity dies.

Example

   {
     type = "container",
     name = "wooden-chest",
     icon = "__base__/graphics/icons/wooden-chest.png",
     flags = {"placeable-neutral", "player-creation"},
     minable = {mining_time = 1, result = "wooden-chest"},
     collision_box = {{-0.4, -0.4}, {0.4, 0.4}},
     selection_box = {{-0.5, -0.5}, {0.5, 0.5}},
     max_health = 50,
     corpse = "small-remnants",
     fast_replaceable_group = "container",
     inventory_size = 16,
     picture =
     {
       filename = "__base__/graphics/entity/wooden-chest/wooden-chest.png",
       priority = "extra-high",
       width = 46,
       height = 33,
       shift = {0.3, 0}
     }
   }