UnrealisticReactors/scripts/entity/util.lua

60 lines
1.6 KiB
Lua

local function next_delay(tick, delay)
while global.delayed_fallout[tick + delay] do
delay = delay + 1
end
return delay
end
local function find_nuclear_entity(surface, position, name)
return surface.find_entity(name, position)
end
local function find_nuclear_ghost(surface, position, name)
return surface.find_entities_filtered({
ghost_name = name,
position = position,
limit = 1,
})[1]
end
local function get_reactor_core_power(entity)
if string.sub(entity.name,1,18) ~= "realistic-reactor-" then return nil end
return tonumber(string.sub(entity.name, 19))
end
local function create_warning(entity,kind)
local warning = entity.surface.create_entity{
name = "rr-" .. kind .. "-warning",
position = entity.position,
force = entity.force,
}
warning.destructible = false
return warning
end
local function create_steam(surface, options)
local steam = surface.create_entity(options)
steam.operable = false -- disable opening the happy cloud maker's GUI
steam.destructible = false -- it can't be destroyed (we remove it when the cooling tower dies)
steam.get_fuel_inventory().insert{name="solid-fuel", count=50} -- at 1 watt, this is enough fuel to run for 39 years, should suffice
steam.fluidbox[1] = {name="water", amount=1} -- water for dummy steam puff recipe
steam.active = false -- start inactive
return steam
end
return { -- exports
create_steam = create_steam,
create_warning = create_warning,
get_reactor_core_power = get_reactor_core_power,
next_delay = next_delay,
find_nuclear_entity = find_nuclear_entity,
find_nuclear_ghost = find_nuclear_ghost,
}