Prototype/Accumulator

From Official Factorio Wiki
Jump to navigation Jump to search

Basics

Entity with energy source with specialised animation for charging/decharging. Extends the Prototype/EntityWithHealth

Usage in base

Properties

energy_source

Type: Types/EnergySource

The capcity of the energy source buffer specifies the capacity of the accumulator.

picture

Type: Types/Sprite

charge_animation

Type: Types/Animation

charge_light

Type: Types/LightDefinition

charge_cooldown

Type: Types/Tick

Count of ticks to preserve the animation even when the charging ends.

Used to prevent rapid blinking of the accumulator with unstable need to use it.

discharge_animation

Type: Types/Animation

discharge_light

Type: Types/LightDefinition

discharge_cooldown

Type: Types/Tick

Count of ticks to preserve the animation even when the discharging ends.

Example

   {
     type = "accumulator",
     name = "basic-accumulator",
     icon = "__base__/graphics/icons/basic-accumulator.png",
     flags = {"placeable-neutral", "player-creation"},
     minable = {hardness = 0.2, mining_time = 0.5, result = "basic-accumulator"},
     max_health = 150,
     corpse = "medium-remnants",
     collision_box = {{-0.9, -0.9}, {0.9, 0.9}},
     selection_box = {{-1, -1}, {1, 1}},
     energy_source =
     {
       type = "electric",
       output_priority = "terciary",
       input_flow_limit = "300W",
       input_priority = "terciary",
       output_flow_limit = "300W",
       buffer_capacity = "5KJ"
     },
     picture =
     {
       filename = "__base__/graphics/entity/basic-accumulator/basic-accumulator.png",
       priority = "extra-high",
       width = 124,
       height = 103,
       shift = {0.7, -0.2}
     },
     charge_animation =
     {
       filename = "__base__/graphics/entity/basic-accumulator/basic-accumulator-charge-animation.png",
       frame_width = 138,
       frame_height = 135,
       line_length = 8,
       frame_count = 24,
       shift = {0.482, -0.638},
       animation_speed = 0.5
     },
     charge_cooldown = 30,
     charge_light = {intensity = 0.3, size = 7},
     discharge_animation =
     {
       filename = "__base__/graphics/entity/basic-accumulator/basic-accumulator-discharge-animation.png",
       frame_width = 147,
       frame_height = 128,
       line_length = 8,
       frame_count = 24,
       shift = {0.395, -0.525},
       animation_speed = 0.5
     },
     discharge_cooldown = 60,
     discharge_light = {intensity = 0.7, size = 7}
   }