115 lines
3.9 KiB
Lua
115 lines
3.9 KiB
Lua
-- all globals
|
|
|
|
-- CONTROL DECLARATION
|
|
|
|
REMOTE_INTERFACE_NAME = "rr-interface"
|
|
|
|
-- VARIABLE DECLARATION
|
|
|
|
TICKS_PER_UPDATE = 15
|
|
-- each reactor and cooling tower gets updated once every 15 ticks (60 ticks = 1 s)
|
|
CHANGE_MULTIPLIER = 0.2
|
|
-- used to multiply the temperature change
|
|
-- CHANGE_MULTIPLIER and TICKS_PER_UPDATE work together and are balanced:
|
|
-- 0.2 CHANGE_MULTIPLIER = 15 TICKS_PER_UPDATE
|
|
REACTOR_MASS = 6000 --increased from 4000 because of the reactor output nerf
|
|
-- used to calculate temperature changes when emergency cooling is used
|
|
-- the mass is an estimate best guess based on many tries and errors
|
|
BONUS_CELL_MULTIPLIER = 0.5
|
|
-- multiplier for breeder bonus cell production.
|
|
-- BONUS_CELL_MULTIPLIER=1 and bonus_cell_Production=100 means 1 additional empty cell per minute
|
|
POWER_USAGE_STARTING=3600000 -- 3600 KW
|
|
POWER_USAGE_INTERFACE=200000 -- 200 KW
|
|
POWER_USAGE_COOLING=1000000 -- 1 MW when when reactor was cooled (static) or 1 MW per 20 MW cooling (non-static)
|
|
-- electric power usage of the reactor
|
|
TEMPERATURE = 15 -- standard of factorio
|
|
DYING_REACTOR_CORE_TEMPERATURE = 1000
|
|
|
|
-- entity names
|
|
REACTOR_ENTITY_NAME = "realistic-reactor-normal"
|
|
BREEDER_ENTITY_NAME = "realistic-reactor-breeder"
|
|
REACTOR_POWER_NAME = "realistic-reactor-power-normal"
|
|
BREEDER_POWER_NAME = "realistic-reactor-power-breeder"
|
|
REACTOR_RUIN_NAME = "reactor-ruin"
|
|
BREEDER_RUIN_NAME = "breeder-ruin"
|
|
REACTOR_INTERFACE_ENTITY_NAME = "realistic-reactor-interface"
|
|
BREEDER_INTERFACE_ENTITY_NAME = "realistic-breeder-interface"
|
|
SARCOPHAGUS_ENTITY_NAME="reactor-sarcophagus"
|
|
BOILER_ENTITY_NAME = "realistic-reactor-eccs"
|
|
TOWER_ENTITY_NAME = "rr-cooling-tower"
|
|
STEAM_ENTITY_NAME = "rr-cooling-tower-steam"
|
|
RUIN_SMOKE_NAME = "ruin-smoke"
|
|
-- signal names
|
|
SIGNAL_CORE_TEMP = {type="virtual", name="signal-reactor-core-temp"}
|
|
SIGNAL_STATE_STOPPED = {type="virtual", name="signal-state-stopped"}
|
|
SIGNAL_STATE_STARTING = {type="virtual", name="signal-state-starting"}
|
|
SIGNAL_STATE_RUNNING = {type="virtual", name="signal-state-running"}
|
|
SIGNAL_STATE_SCRAMED = {type="virtual", name="signal-state-scramed"}
|
|
SIGNAL_CONTROL_START = {type="virtual", name="signal-control-start"}
|
|
SIGNAL_CONTROL_SCRAM = {type="virtual", name="signal-control-scram"}
|
|
SIGNAL_COOLANT_AMOUNT = {type="virtual", name="signal-coolant-amount"}
|
|
--SIGNAL_COOLANT_TEMP = {type="virtual", name="signal-coolant-temperature"}
|
|
SIGNAL_URANIUM_FUEL_CELLS = {type="item", name="uranium-fuel-cell"}
|
|
SIGNAL_USED_URANIUM_FUEL_CELLS = {type="item", name="used-up-uranium-fuel-cell"}
|
|
SIGNAL_REACTOR_POWER_OUTPUT = {type="virtual", name="signal-reactor-power-output"}
|
|
SIGNAL_REACTOR_EFFICIENCY = {type="virtual", name="signal-reactor-efficiency"}
|
|
SIGNAL_REACTOR_CELL_BONUS = {type="virtual", name="signal-reactor-cell-bonus"}
|
|
SIGNAL_REACTOR_ELECTRIC_POWER = {type="virtual", name="signal-reactor-electric-power"}
|
|
SIGNAL_NEIGHBOUR_BONUS = {type="virtual", name="signal-neighbour-bonus"}
|
|
|
|
|
|
-- NAMESPACE DECLARATION
|
|
|
|
RUIN_NAME = {
|
|
[REACTOR_ENTITY_NAME] = REACTOR_RUIN_NAME,
|
|
[BREEDER_ENTITY_NAME] = BREEDER_RUIN_NAME,
|
|
}
|
|
|
|
POWER_NAME = {
|
|
[REACTOR_ENTITY_NAME] = REACTOR_POWER_NAME,
|
|
[BREEDER_ENTITY_NAME] = BREEDER_POWER_NAME,
|
|
}
|
|
|
|
E2I_NAME = {
|
|
[REACTOR_ENTITY_NAME] = REACTOR_INTERFACE_ENTITY_NAME,
|
|
[BREEDER_ENTITY_NAME] = BREEDER_INTERFACE_ENTITY_NAME,
|
|
}
|
|
|
|
I2E_NAME = {
|
|
[REACTOR_INTERFACE_ENTITY_NAME] = REACTOR_ENTITY_NAME,
|
|
[BREEDER_INTERFACE_ENTITY_NAME] = BREEDER_ENTITY_NAME,
|
|
}
|
|
|
|
R2E_NAME = {
|
|
[REACTOR_RUIN_NAME] = REACTOR_ENTITY_NAME,
|
|
[BREEDER_RUIN_NAME] = BREEDER_ENTITY_NAME,
|
|
}
|
|
|
|
|
|
|
|
|
|
N = defines.direction.north
|
|
S = defines.direction.south
|
|
E = defines.direction.east
|
|
W = defines.direction.west
|
|
D = {N,E,S,W} -- like css
|
|
R = {[N]=S,[S]=N,[E]=W,[W]=E}
|
|
O = {
|
|
[N] = {x= 0, y=-1},
|
|
[S] = {x= 0, y= 1},
|
|
[W] = {x=-1, y= 0},
|
|
[E] = {x= 1, y= 0},
|
|
}
|
|
|
|
V = {x='y',y='x'} -- reverse vector
|
|
A = { -- areal lookup
|
|
left_top = {x=W, y=N},
|
|
right_bottom = {x=E, y=S},
|
|
}
|
|
M = {
|
|
[W] = {left_top='x'},
|
|
[N] = {left_top='y'},
|
|
[E] = {right_bottom='x'},
|
|
[S] = {right_bottom='y'},
|
|
}
|