But turrets still fire without electricity.
Can anyone tell me what to do for this?
Here is the code from data-fixed.lua:
Code: Select all
for _, v in pairs(data.raw["ammo-turret"]) do
if not string.match(v.name, "unpowered-") then
-- local e = 160*v.speed*um*10
local x = table.deepcopy(v)
x.name = "unpowered-"..x.name
x.speed = 1e-308
x.localised_name = {"entity-name." .. v.name}
x.localised_description = {"entity-description." .. v.name}
data:extend({x,
{
type = "electric-energy-interface",
name = v.name.."-power",
icon = v.icon,
icon_size = v.icon_size, icon_mipmaps = v.icon_mipmaps,
flags = {"player-creation", "not-deconstructable","not-blueprintable"},
max_health = 1,
resistances = resistances_immune,
collision_box = v.collision_box,
selection_box = v.selection_box,
drawing_box = v.drawing_box,
selectable_in_game = false,
energy_source =
{
type = "electric",
buffer_capacity = "800kJ",
input_flow_limit = "100kW",
usage_priority = "primary-input",
drain = "10kW",
energy_per_shot = "8kJ"
},
energy_production = "0W",
energy_usage = "60kW",
}
})
end
end
Code: Select all
---- INIT ----
script.on_init(function()
storage.entities = {}
storage.power_entities = {}
end)
---- ON EVENT ----
script.on_event({defines.events.on_robot_built_entity, defines.events.on_built_entity}, function(event)
if event.entity.type == "transport-belt" or event.entity.type == "underground-belt" or event.entity.type == "splitter" or event.entity.type == "loader-1x1" or event.entity.type == "loader" or event.entity.type == "ammo-turret" or event.entity.type == "fluid-turret" or event.entity.type == "artillery-turret" then
local pos = event.entity.position.x .. " " .. event.entity.position.y
--game.print(event.entity.name)
--game.print(string.gsub(event.entity.name, "unpowered-", ""))
storage.power_entities[pos] = event.entity.surface.create_entity{
name = event.entity.name.."-power",
position = event.entity.position,
force = event.entity.force,
direction = event.entity.direction,
destructible = false
}
storage.entities[pos] = event.entity
end
end)
script.on_event({defines.events.on_entity_died, defines.events.on_robot_pre_mined, defines.events.on_pre_player_mined_item}, function(event)
local pos = event.entity.position.x .. " " .. event.entity.position.y
if storage.entities[pos] ~= nil then
storage.power_entities[pos].destroy()
storage.entities[pos] = nil
storage.power_entities[pos] = nil
end
end)