Prototype/EntityWithHealth: Difference between revisions

From Official Factorio Wiki
Jump to navigation Jump to search
(1.1.51: Prototype/EntityWithOwner added)
(Removed old prototype docs)
Tag: Replaced
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{Prototype parent|Prototype/Entity}}
<div class="stub"><p>'''The prototype docs have moved to a new website with an improved format.''' This documentation page can now be found here: [https://lua-api.factorio.com/latest/prototypes/EntityWithHealthPrototype.html https://lua-api.factorio.com/latest/prototypes/EntityWithHealthPrototype.html]
Abstract base of all entities with health in the game.


{{Prototype TOC|''abstract''}}
</p><p>This wiki page is no longer updated and '''will be removed at some point in the future''', so please update your browser bookmarks or other links that sent you here. If you'd like to contribute to the new docs, you can leave your feedback [https://forums.factorio.com/viewforum.php?f=233 on the forums].</p></div>
 
== Extensions ==
<div class="factorio-list">
* [[Prototype/EntityWithOwner]] <abstract>
** [[Prototype/Accumulator]] '''accumulator'''
** [[Prototype/ArtilleryTurret]] '''artillery-turret'''
** [[Prototype/Beacon]] '''beacon'''
** [[Prototype/Boiler]] '''boiler'''
** [[Prototype/BurnerGenerator]] '''burner-generator'''
** [[Prototype/Character]] '''character'''
** [[Prototype/Combinator]] <abstract>
*** [[Prototype/ArithmeticCombinator]] '''arithmetic-combinator'''
*** [[Prototype/DeciderCombinator]] '''decider-combinator'''
** [[Prototype/ConstantCombinator]] '''constant-combinator'''
** [[Prototype/Container]] '''container'''
*** [[Prototype/LogisticContainer]] '''logistic-container'''
**** [[Prototype/InfinityContainer]] '''infinity-container'''
** [[Prototype/CraftingMachine]] <abstract>
*** [[Prototype/AssemblingMachine]] '''assembling-machine'''
**** [[Prototype/RocketSilo]] '''rocket-silo'''
*** [[Prototype/Furnace]] '''furnace'''
** [[Prototype/ElectricEnergyInterface]] '''electric-energy-interface'''
** [[Prototype/ElectricPole]] '''electric-pole'''
** [[Prototype/EnemySpawner]] '''unit-spawner'''
** [[Prototype/FlyingRobot]] <abstract>
*** [[Prototype/CombatRobot]] '''combat-robot'''
*** [[Prototype/RobotWithLogisticInterface]] <abstract>
**** [[Prototype/ConstructionRobot]] '''construction-robot'''
**** [[Prototype/LogisticRobot]] '''logistic-robot'''
** [[Prototype/Gate]] '''gate'''
** [[Prototype/Generator]] '''generator'''
** [[Prototype/HeatInterface]] '''heat-interface'''
** [[Prototype/HeatPipe]] '''heat-pipe'''
** [[Prototype/Inserter]] '''inserter'''
** [[Prototype/Lab]] '''lab'''
** [[Prototype/Lamp]] '''lamp'''
** [[Prototype/LandMine]] '''land-mine'''
** [[Prototype/LinkedContainer]] '''linked-container'''
** [[Prototype/Market]] '''market'''
** [[Prototype/MiningDrill]] '''mining-drill'''
** [[Prototype/OffshorePump]] '''offshore-pump'''
** [[Prototype/Pipe]] '''pipe'''
*** [[Prototype/InfinityPipe]] '''infinity-pipe'''
** [[Prototype/PipeToGround]] '''pipe-to-ground'''
** [[Prototype/PlayerPort]] '''player-port'''
** [[Prototype/PowerSwitch]] '''power-switch'''
** [[Prototype/ProgrammableSpeaker]] '''programmable-speaker'''
** [[Prototype/Pump]] '''pump'''
** [[Prototype/Radar]] '''radar'''
** [[Prototype/Rail]] <abstract>
*** [[Prototype/CurvedRail]] '''curved-rail'''
*** [[Prototype/StraightRail]] '''straight-rail'''
** [[Prototype/RailSignalBase]] <abstract>
*** [[Prototype/RailChainSignal]] '''rail-chain-signal'''
*** [[Prototype/RailSignal]] '''rail-signal'''
** [[Prototype/Reactor]] '''reactor'''
** [[Prototype/Roboport]] '''roboport'''
** [[Prototype/SimpleEntityWithOwner]] '''simple-entity-with-owner'''
*** [[Prototype/SimpleEntityWithForce]] '''simple-entity-with-force'''
** [[Prototype/SolarPanel]] '''solar-panel'''
** [[Prototype/StorageTank]] '''storage-tank'''
** [[Prototype/TrainStop]] '''train-stop'''
** [[Prototype/TransportBeltConnectable]] <abstract>
*** [[Prototype/LinkedBelt]] '''linked-belt'''
*** [[Prototype/Loader1x1]] '''loader-1x1'''
*** [[Prototype/Loader1x2]] '''loader'''
*** [[Prototype/Splitter]] '''splitter'''
*** [[Prototype/TransportBelt]] '''transport-belt'''
*** [[Prototype/UndergroundBelt]] '''underground-belt'''
** [[Prototype/Turret]] '''turret'''
*** [[Prototype/AmmoTurret]] '''ammo-turret'''
*** [[Prototype/ElectricTurret]] '''electric-turret'''
*** [[Prototype/FluidTurret]] '''fluid-turret'''
** [[Prototype/Unit]] '''unit'''
** [[Prototype/Vehicle]] <abstract>
*** [[Prototype/Car]] '''car'''
*** [[Prototype/RollingStock]] <abstract>
**** [[Prototype/ArtilleryWagon]] '''artillery-wagon'''
**** [[Prototype/CargoWagon]] '''cargo-wagon'''
**** [[Prototype/FluidWagon]] '''fluid-wagon'''
**** [[Prototype/Locomotive]] '''locomotive'''
*** [[Prototype/SpiderVehicle]] '''spider-vehicle'''
** [[Prototype/Wall]] '''wall'''
* [[Prototype/Fish]] '''fish'''
* [[Prototype/SimpleEntity]] '''simple-entity'''
* [[Prototype/SpiderLeg]] '''spider-leg'''
* [[Prototype/Tree]] '''tree'''
</div>
 
== Optional properties ==
 
{{Prototype property|max_health|[[Types/float|float]]|10|optional=true}}
The unit health can never go over the maximum. Default health of units on creation is set to max. Must be greater than 0.
    max_health = 50
 
{{Prototype property|healing_per_tick|[[Types/float|float]]|0.001666 for [[Prototype/Tree]], 0 for the rest of entities|optional=true}}
The amount of health automatically regenerated per tick. The entity must be active for this to work.<br>
Trees will regenerate every 60 ticks with <code>healing_per_tick × 60</code> and they don't need to be active.
  healing_per_tick = 0.01
 
{{Prototype property|repair_speed_modifier|[[Types/float|float]]|1|optional=true}}
 
{{Prototype property|dying_explosion|[[Types/ExplosionDefinition|ExplosionDefinition]] or [[Types/table|table]] of [[Types/ExplosionDefinition|ExplosionDefinition]]|optional=true}}
Either one [[Types/ExplosionDefinition|ExplosionDefinition]] or an array of them. The entities that are spawned in place of this one when it dies.
 
{{Prototype property|dying_trigger_effect|[[Types/TriggerEffect|TriggerEffect]]|optional=true}}
 
{{Prototype property|damaged_trigger_effect|[[Types/TriggerEffect|TriggerEffect]]|optional=true}}
 
{{Prototype property|loot|[[Types/Loot|Loot]]|optional=true}}
The loot is dropped on the ground when the entity is killed.
<syntaxhighlight lang="lua">loot =
{
  {
    count_max = 10,
    count_min = 2,
    item = "stone",
    probability = 1
  }
}</syntaxhighlight>
 
{{Prototype property|resistances|[[Types/Resistances|Resistances]]|optional=true}}
'''See''': [[Damage]]
<syntaxhighlight lang="lua">resistances =
{
  {
    type = "fire",
    percent = 80
  },
  {
    type = "explosion",
    percent = 30
  }
}</syntaxhighlight>
 
{{Prototype property|attack_reaction|[[Types/AttackReaction|AttackReaction]]|Empty|optional=true}}
 
{{Prototype property|repair_sound|[[Types/Sound|Sound]]|Utility sound (defaultManualRepair)|optional=true}}
 
{{Prototype property|alert_when_damaged|[[Types/bool|bool]]|true|optional=true}}
 
{{Prototype property|hide_resistances|[[Types/bool|bool]]|true|optional=true}}
Whether the resistances of this entity should be hidden in the entity tooltip.
 
{{Prototype property|create_ghost_on_death|[[Types/bool|bool]]|true|optional=true}}
 
{{Prototype property|random_corpse_variation|[[Types/bool|bool]]|false|optional=true}}
 
{{Prototype property|integration_patch_render_layer|[[Types/RenderLayer|RenderLayer]]|"lower-object"|optional=true}}
 
{{Prototype property|corpse|[[Types/string|string]] or [[Types/table|table]] of [[Types/string|string]]s|Empty|optional=true}}
Specifies the name(s) of the [[Prototype/Corpse]] entity to be used when this entity dies.
 
{{Prototype property|integration_patch|[[Types/Sprite4Way|Sprite4Way]]|optional=true}}
Sprite drawn on ground under the entity to make it feel more integrated into the ground.
 
== Example ==
<syntaxhighlight lang="lua">{
    type = "container",
    name = "wooden-chest",
    icon = "__base__/graphics/icons/wooden-chest.png",
    flags = {"placeable-neutral", "player-creation"},
    minable = {mining_time = 1, result = "wooden-chest"},
    max_health = 100,
    corpse = "small-remnants",
    collision_box = {{-0.35, -0.35}, {0.35, 0.35}},
    fast_replaceable_group = "container",
    selection_box = {{-0.5, -0.5}, {0.5, 0.5}},
    inventory_size = 16,
    open_sound = { filename = "__base__/sound/wooden-chest-open.ogg" },
    close_sound = { filename = "__base__/sound/wooden-chest-close.ogg" },
    vehicle_impact_sound =  { filename = "__base__/sound/car-wood-impact.ogg", volume = 1.0 },
    picture =
    {
      filename = "__base__/graphics/entity/wooden-chest/wooden-chest.png",
      priority = "extra-high",
      width = 46,
      height = 33,
      shift = {0.25, 0.015625}
    },
    circuit_wire_connection_point =
    {
      shadow =
      {
        red = {0.734375, 0.453125},
        green = {0.609375, 0.515625},
      },
      wire =
      {
        red = {0.40625, 0.21875},
        green = {0.40625, 0.375},
      }
    },
    circuit_connector_sprites = get_circuit_connector_sprites({0.1875, 0.15625}, nil, 18),
    circuit_wire_max_distance = 9
  }</syntaxhighlight>

Latest revision as of 14:32, 25 October 2024

The prototype docs have moved to a new website with an improved format. This documentation page can now be found here: https://lua-api.factorio.com/latest/prototypes/EntityWithHealthPrototype.html

This wiki page is no longer updated and will be removed at some point in the future, so please update your browser bookmarks or other links that sent you here. If you'd like to contribute to the new docs, you can leave your feedback on the forums.