From e09b78cd5bb4b5937e00479a259e1930e37196c1 Mon Sep 17 00:00:00 2001
From: Nethaufer <7095406+Nethaufer@users.noreply.github.com>
Date: Tue, 5 May 2020 15:22:49 -0500
Subject: [PATCH] The last Use Powers
---
code/game/machinery/lightswitch.dm | 2 +-
code/game/machinery/transportpod.dm | 2 +-
code/game/machinery/vending.dm | 2 +-
.../game/machinery/virtual_reality/ar_console.dm | 2 +-
.../game/machinery/virtual_reality/vr_console.dm | 6 +++---
code/game/machinery/wishgranter.dm | 2 +-
code/game/mecha/mech_fabricator.dm | 6 +++---
code/game/mecha/mech_prosthetics.dm | 6 +++---
code/game/mecha/mech_sensor.dm | 2 +-
code/game/objects/structures/holoplant.dm | 4 ++--
code/game/objects/structures/watercloset.dm | 2 +-
code/modules/admin/verbs/debug.dm | 2 +-
code/modules/awaymissions/gateway.dm | 4 ++--
code/modules/economy/ATM.dm | 2 +-
code/modules/food/kitchen/gibber.dm | 2 +-
code/modules/food/kitchen/microwave.dm | 2 +-
code/modules/food/kitchen/smartfridge.dm | 2 +-
code/modules/holodeck/HolodeckControl.dm | 12 ++++++------
code/modules/holomap/station_holomap.dm | 6 +++---
code/modules/hydroponics/seed_machines.dm | 2 +-
code/modules/hydroponics/seed_storage.dm | 2 +-
code/modules/hydroponics/trays/tray_soil.dm | 2 +-
code/modules/mining/drilling/drill.dm | 2 +-
code/modules/mob/living/silicon/ai/ai.dm | 10 +++++-----
.../silicon/robot/drone/drone_manufacturer.dm | 2 +-
.../modular_computers/NTNet/NTNet_relay.dm | 6 +++---
code/modules/paperwork/faxmachine.dm | 2 +-
code/modules/paperwork/papershredder.dm | 2 +-
code/modules/paperwork/photocopier.dm | 2 +-
code/modules/power/antimatter/control.dm | 6 +++---
code/modules/power/antimatter/shielding.dm | 2 +-
code/modules/power/apc.dm | 2 +-
code/modules/power/fusion/core/_core.dm | 6 +++---
.../power/fusion/fuel_assembly/fuel_injector.dm | 6 +++---
code/modules/power/fusion/gyrotron/gyrotron.dm | 2 +-
code/modules/power/generator.dm | 16 +++++++++++-----
code/modules/power/generator_type2.dm | 2 +-
code/modules/power/gravitygenerator.dm | 2 +-
code/modules/power/lighting.dm | 6 +++---
code/modules/power/port_gen.dm | 2 +-
code/modules/power/power.dm | 2 +-
code/modules/power/sensors/sensor_monitoring.dm | 2 +-
.../power/singularity/containment_field.dm | 2 +-
code/modules/power/singularity/emitter.dm | 2 +-
.../modules/power/singularity/field_generator.dm | 2 +-
code/modules/power/singularity/generator.dm | 2 +-
.../particle_accelerator/particle_accelerator.dm | 6 +++---
.../particle_accelerator/particle_control.dm | 14 +++++++-------
.../particle_accelerator/particle_smasher.dm | 2 +-
code/modules/power/smes.dm | 2 +-
code/modules/power/solar.dm | 4 ++--
code/modules/power/tracker.dm | 2 +-
code/modules/reagents/Chemistry-Machinery.dm | 4 ++--
code/modules/reagents/dispenser/dispenser2.dm | 2 +-
code/modules/reagents/distilling/distilling.dm | 2 +-
code/modules/recycling/disposal.dm | 6 +++---
code/modules/research/circuitprinter.dm | 2 +-
code/modules/research/destructive_analyzer.dm | 2 +-
code/modules/research/message_server.dm | 4 ++--
code/modules/research/protolathe.dm | 2 +-
code/modules/research/rdmachines.dm | 2 +-
.../security levels/keycard authentication.dm | 2 +-
code/modules/shieldgen/emergency_shield.dm | 8 ++++----
code/modules/shieldgen/sheldwallgen.dm | 2 +-
code/modules/shieldgen/shield_capacitor.dm | 2 +-
code/modules/shieldgen/shield_diffuser.dm | 4 ++--
code/modules/shieldgen/shield_gen.dm | 2 +-
.../xenoarcheaology/artifacts/autocloner.dm | 8 ++++----
.../xenoarcheaology/artifacts/replicator.dm | 6 +++---
.../xenoarcheaology/tools/artifact_harvester.dm | 10 +++++-----
.../xenoarcheaology/tools/geosample_scanner.dm | 2 +-
.../xenobio2/machinery/gene_manipulators.dm | 2 +-
code/modules/xenobio2/machinery/injector.dm | 2 +-
.../xenobio2/machinery/injector_computer.dm | 2 +-
74 files changed, 139 insertions(+), 133 deletions(-)
diff --git a/code/game/machinery/lightswitch.dm b/code/game/machinery/lightswitch.dm
index eb5972e9c53..42afb430664 100644
--- a/code/game/machinery/lightswitch.dm
+++ b/code/game/machinery/lightswitch.dm
@@ -7,7 +7,7 @@
icon = 'icons/obj/power_vr.dmi' // VOREStation Edit
icon_state = "light1"
anchored = 1.0
- use_power = 1
+ use_power = USE_POWER_IDLE
idle_power_usage = 10
power_channel = LIGHT
var/on = 1
diff --git a/code/game/machinery/transportpod.dm b/code/game/machinery/transportpod.dm
index 96401c09082..0b499096fea 100644
--- a/code/game/machinery/transportpod.dm
+++ b/code/game/machinery/transportpod.dm
@@ -6,7 +6,7 @@
density = 1 //thicc
anchored = 1
- use_power = 0
+ use_power = USE_POWER_OFF
var/in_transit = 0
var/mob/occupant = null
diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm
index bcc1fcd6b2c..fe1598aaa20 100644
--- a/code/game/machinery/vending.dm
+++ b/code/game/machinery/vending.dm
@@ -13,7 +13,7 @@
var/icon_deny //Icon_state when denying access
// Power
- use_power = 1
+ use_power = USE_POWER_IDLE
idle_power_usage = 10
var/vend_power_usage = 150 //actuators and stuff
diff --git a/code/game/machinery/virtual_reality/ar_console.dm b/code/game/machinery/virtual_reality/ar_console.dm
index 657f121c95c..829eeaf86fc 100644
--- a/code/game/machinery/virtual_reality/ar_console.dm
+++ b/code/game/machinery/virtual_reality/ar_console.dm
@@ -73,7 +73,7 @@
if(A in component_parts)
continue
A.loc = src.loc
- update_use_power(1)
+ update_use_power(USE_POWER_IDLE)
update_icon()
/obj/machinery/vr_sleeper/alien/enter_vr()
diff --git a/code/game/machinery/virtual_reality/vr_console.dm b/code/game/machinery/virtual_reality/vr_console.dm
index a6739eb1adb..98dbcb2558e 100644
--- a/code/game/machinery/virtual_reality/vr_console.dm
+++ b/code/game/machinery/virtual_reality/vr_console.dm
@@ -18,7 +18,7 @@
var/mirror_first_occupant = TRUE // Do we force the newly produced body to look like the occupant?
- use_power = 1
+ use_power = USE_POWER_IDLE
idle_power_usage = 15
active_power_usage = 200
light_color = "#FF0000"
@@ -174,7 +174,7 @@
M.client.perspective = EYE_PERSPECTIVE
M.client.eye = src
M.loc = src
- update_use_power(2)
+ update_use_power(USE_POWER_ACTIVE)
occupant = M
update_icon()
@@ -203,7 +203,7 @@
if(A in component_parts)
continue
A.loc = src.loc
- update_use_power(1)
+ update_use_power(USE_POWER_IDLE)
update_icon()
/obj/machinery/vr_sleeper/proc/enter_vr()
diff --git a/code/game/machinery/wishgranter.dm b/code/game/machinery/wishgranter.dm
index 8d2ddf26d64..c03cd3d84e6 100644
--- a/code/game/machinery/wishgranter.dm
+++ b/code/game/machinery/wishgranter.dm
@@ -3,7 +3,7 @@
desc = "You're not so sure about this, anymore..."
icon = 'icons/obj/device.dmi'
icon_state = "syndbeacon"
- use_power = 0
+ use_power = USE_POWER_OFF
anchored = 1
density = 1
var/charges = 1
diff --git a/code/game/mecha/mech_fabricator.dm b/code/game/mecha/mech_fabricator.dm
index 810f326e1d5..71654cab89f 100644
--- a/code/game/mecha/mech_fabricator.dm
+++ b/code/game/mecha/mech_fabricator.dm
@@ -5,7 +5,7 @@
desc = "A machine used for construction of mechas."
density = 1
anchored = 1
- use_power = 1
+ use_power = USE_POWER_IDLE
idle_power_usage = 20
active_power_usage = 5000
req_access = list(access_robotics)
@@ -48,11 +48,11 @@
if(stat)
return
if(busy)
- use_power = 2
+ update_use_power(USE_POWER_ACTIVE)
progress += speed
check_build()
else
- use_power = 1
+ update_use_power(USE_POWER_IDLE)
update_icon()
/obj/machinery/mecha_part_fabricator/update_icon()
diff --git a/code/game/mecha/mech_prosthetics.dm b/code/game/mecha/mech_prosthetics.dm
index 4f7f672f117..af7ddaf42c8 100644
--- a/code/game/mecha/mech_prosthetics.dm
+++ b/code/game/mecha/mech_prosthetics.dm
@@ -5,7 +5,7 @@
desc = "A machine used for construction of prosthetics."
density = 1
anchored = 1
- use_power = 1
+ use_power = USE_POWER_IDLE
idle_power_usage = 20
active_power_usage = 5000
req_access = list(access_robotics)
@@ -50,11 +50,11 @@
if(stat)
return
if(busy)
- use_power = 2
+ update_use_power(USE_POWER_ACTIVE)
progress += speed
check_build()
else
- use_power = 1
+ update_use_power(USE_POWER_IDLE)
update_icon()
/obj/machinery/pros_fabricator/update_icon()
diff --git a/code/game/mecha/mech_sensor.dm b/code/game/mecha/mech_sensor.dm
index 4708d3457dd..2dcad230900 100644
--- a/code/game/mecha/mech_sensor.dm
+++ b/code/game/mecha/mech_sensor.dm
@@ -6,7 +6,7 @@
anchored = 1
density = 1
throwpass = 1
- use_power = 1
+ use_power = USE_POWER_IDLE
layer = ON_WINDOW_LAYER
power_channel = EQUIP
var/on = 0
diff --git a/code/game/objects/structures/holoplant.dm b/code/game/objects/structures/holoplant.dm
index bbd92b81ee7..9a46b8ca15d 100644
--- a/code/game/objects/structures/holoplant.dm
+++ b/code/game/objects/structures/holoplant.dm
@@ -48,13 +48,13 @@
plant = prepare_icon(emagged ? "emagged" : null)
overlays += plant
set_light(2)
- use_power = 2
+ use_power = USE_POWER_ACTIVE
/obj/machinery/holoplant/proc/deactivate()
overlays -= plant
QDEL_NULL(plant)
set_light(0)
- use_power = 0
+ use_power = USE_POWER_OFF
/obj/machinery/holoplant/power_change()
..()
diff --git a/code/game/objects/structures/watercloset.dm b/code/game/objects/structures/watercloset.dm
index e1789ea76ac..769e9c584d8 100644
--- a/code/game/objects/structures/watercloset.dm
+++ b/code/game/objects/structures/watercloset.dm
@@ -124,7 +124,7 @@
icon_state = "shower"
density = 0
anchored = 1
- use_power = 0
+ use_power = USE_POWER_OFF
var/on = 0
var/obj/effect/mist/mymist = null
var/ismist = 0 //needs a var so we can make it linger~
diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm
index a60e1c53ab3..c56b123fa71 100644
--- a/code/modules/admin/verbs/debug.dm
+++ b/code/modules/admin/verbs/debug.dm
@@ -539,7 +539,7 @@
Pump.air2.gas["nitrogen"] = 3750 //The contents of 2 canisters.
Pump.air2.temperature = 50
Pump.air2.update_values()
- Pump.use_power=1
+ Pump.update_use_power(USE_POWER_IDLE)
Pump.target_pressure = 4500
Pump.update_icon()
diff --git a/code/modules/awaymissions/gateway.dm b/code/modules/awaymissions/gateway.dm
index 83d3cbc1dbe..b573f7133d7 100644
--- a/code/modules/awaymissions/gateway.dm
+++ b/code/modules/awaymissions/gateway.dm
@@ -26,7 +26,7 @@
/obj/machinery/gateway/centerstation
density = 1
icon_state = "offcenter"
- use_power = 1
+ use_power = USE_POWER_IDLE
//warping vars
var/list/linked = list()
@@ -157,7 +157,7 @@ obj/machinery/gateway/centerstation/process()
/obj/machinery/gateway/centeraway
density = 1
icon_state = "offcenter"
- use_power = 0
+ use_power = USE_POWER_OFF
var/calibrated = 1
var/list/linked = list() //a list of the connected gateway chunks
var/ready = 0
diff --git a/code/modules/economy/ATM.dm b/code/modules/economy/ATM.dm
index b4bea74b290..46ed37bab51 100644
--- a/code/modules/economy/ATM.dm
+++ b/code/modules/economy/ATM.dm
@@ -20,7 +20,7 @@ log transactions
icon = 'icons/obj/terminals.dmi'
icon_state = "atm"
anchored = 1
- use_power = 1
+ use_power = USE_POWER_IDLE
idle_power_usage = 10
circuit = /obj/item/circuitboard/atm
var/datum/money_account/authenticated_account
diff --git a/code/modules/food/kitchen/gibber.dm b/code/modules/food/kitchen/gibber.dm
index aed7f441cc9..7e95fcd8ca7 100644
--- a/code/modules/food/kitchen/gibber.dm
+++ b/code/modules/food/kitchen/gibber.dm
@@ -14,7 +14,7 @@
var/gib_time = 40 // Time from starting until meat appears
var/gib_throw_dir = WEST // Direction to spit meat and gibs in.
- use_power = 1
+ use_power = USE_POWER_IDLE
idle_power_usage = 2
active_power_usage = 500
diff --git a/code/modules/food/kitchen/microwave.dm b/code/modules/food/kitchen/microwave.dm
index f7fbd970329..2c2120eae78 100644
--- a/code/modules/food/kitchen/microwave.dm
+++ b/code/modules/food/kitchen/microwave.dm
@@ -6,7 +6,7 @@
layer = 2.9
density = 1
anchored = 1
- use_power = 1
+ use_power = USE_POWER_IDLE
idle_power_usage = 5
active_power_usage = 2000
flags = OPENCONTAINER | NOREACT
diff --git a/code/modules/food/kitchen/smartfridge.dm b/code/modules/food/kitchen/smartfridge.dm
index 65ca0b2fa4c..320d9c17904 100644
--- a/code/modules/food/kitchen/smartfridge.dm
+++ b/code/modules/food/kitchen/smartfridge.dm
@@ -6,7 +6,7 @@
icon_state = "smartfridge"
density = 1
anchored = 1
- use_power = 1
+ use_power = USE_POWER_IDLE
idle_power_usage = 5
active_power_usage = 100
flags = NOREACT
diff --git a/code/modules/holodeck/HolodeckControl.dm b/code/modules/holodeck/HolodeckControl.dm
index a345b239e20..5ef77da349e 100644
--- a/code/modules/holodeck/HolodeckControl.dm
+++ b/code/modules/holodeck/HolodeckControl.dm
@@ -4,7 +4,7 @@
icon_keyboard = "tech_key"
icon_screen = "holocontrol"
- use_power = 1
+ use_power = USE_POWER_IDLE
active_power_usage = 8000 //8kW for the scenery + 500W per holoitem
var/item_power_usage = 500
@@ -224,7 +224,7 @@
damaged = 1
loadProgram(powerdown_program, 0)
active = 0
- use_power = 1
+ update_use_power(USE_POWER_IDLE)
for(var/mob/M in range(10,src))
M.show_message("The holodeck overloads!")
@@ -271,7 +271,7 @@
linkedholodeck.gravitychange(1,linkedholodeck)
active = 0
- use_power = 1
+ update_use_power(USE_POWER_IDLE)
/obj/machinery/computer/HolodeckControl/proc/loadProgram(var/prog, var/check_delay = 1)
@@ -301,7 +301,7 @@
last_change = world.time
active = 1
- use_power = 2
+ use_power = USE_POWER_ACTIVE
for(var/item in holographic_objs)
derez(item)
@@ -362,7 +362,7 @@
last_gravity_change = world.time
active = 1
- use_power = 1
+ use_power = USE_POWER_IDLE
if(A.has_gravity)
A.gravitychange(0,A)
@@ -377,4 +377,4 @@
linkedholodeck.gravitychange(1,linkedholodeck)
active = 0
- use_power = 1
+ use_power = USE_POWER_IDLE
diff --git a/code/modules/holomap/station_holomap.dm b/code/modules/holomap/station_holomap.dm
index 6431a748274..522dbd3bb7d 100644
--- a/code/modules/holomap/station_holomap.dm
+++ b/code/modules/holomap/station_holomap.dm
@@ -8,7 +8,7 @@
icon_state = "station_map"
anchored = 1
density = 0
- use_power = 1
+ use_power = USE_POWER_IDLE
idle_power_usage = 10
active_power_usage = 500
circuit = /obj/item/circuitboard/station_map
@@ -126,7 +126,7 @@
RegisterSignal(watching_mob, COMSIG_ATOM_DIR_CHANGE, .proc/checkPosition)
RegisterSignal(watching_mob, COMSIG_MOVABLE_MOVED, .proc/checkPosition)
RegisterSignal(watching_mob, COMSIG_PARENT_QDELETING, .proc/stopWatching)
- update_use_power(2)
+ update_use_power(USE_POWER_ACTIVE)
if(bogus)
to_chat(user, "The holomap failed to initialize. This area of space cannot be mapped.")
@@ -156,7 +156,7 @@
UnregisterSignal(watching_mob, COMSIG_MOVABLE_MOVED)
UnregisterSignal(watching_mob, COMSIG_PARENT_QDELETING)
watching_mob = null
- update_use_power(1)
+ update_use_power(USE_POWER_IDLE)
/obj/machinery/station_map/power_change()
. = ..()
diff --git a/code/modules/hydroponics/seed_machines.dm b/code/modules/hydroponics/seed_machines.dm
index 59863ef3faf..b5c4d0a68c2 100644
--- a/code/modules/hydroponics/seed_machines.dm
+++ b/code/modules/hydroponics/seed_machines.dm
@@ -37,7 +37,7 @@
icon_state = "hydrotray3"
density = 1
anchored = 1
- use_power = 1
+ use_power = USE_POWER_IDLE
var/obj/item/seeds/seed // Currently loaded seed packet.
var/obj/item/disk/botany/loaded_disk //Currently loaded data disk.
diff --git a/code/modules/hydroponics/seed_storage.dm b/code/modules/hydroponics/seed_storage.dm
index e850cd6e329..e83376d16e7 100644
--- a/code/modules/hydroponics/seed_storage.dm
+++ b/code/modules/hydroponics/seed_storage.dm
@@ -24,7 +24,7 @@
icon_state = "seeds"
density = 1
anchored = 1
- use_power = 1
+ use_power = USE_POWER_IDLE
idle_power_usage = 100
var/seeds_initialized = 0 // Map-placed ones break if seeds are loaded right at the start of the round, so we do it on the first interaction
diff --git a/code/modules/hydroponics/trays/tray_soil.dm b/code/modules/hydroponics/trays/tray_soil.dm
index bd8bd967127..e640e0f71d2 100644
--- a/code/modules/hydroponics/trays/tray_soil.dm
+++ b/code/modules/hydroponics/trays/tray_soil.dm
@@ -2,7 +2,7 @@
name = "soil"
icon_state = "soil"
density = 0
- use_power = 0
+ use_power = USE_POWER_OFF
mechanical = 0
tray_light = 0
frozen = -1
diff --git a/code/modules/mining/drilling/drill.dm b/code/modules/mining/drilling/drill.dm
index 928941857e1..2ccbe949eaf 100644
--- a/code/modules/mining/drilling/drill.dm
+++ b/code/modules/mining/drilling/drill.dm
@@ -1,7 +1,7 @@
/obj/machinery/mining
icon = 'icons/obj/mining_drill.dmi'
anchored = 0
- use_power = 0 //The drill takes power directly from a cell.
+ use_power = USE_POWER_OFF //The drill takes power directly from a cell.
density = 1
layer = MOB_LAYER+0.1 //So it draws over mobs in the tile north of it.
diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm
index 42a48a38222..ca3cae4fce0 100644
--- a/code/modules/mob/living/silicon/ai/ai.dm
+++ b/code/modules/mob/living/silicon/ai/ai.dm
@@ -297,7 +297,7 @@ var/list/ai_verbs_default = list(
/obj/machinery/ai_powersupply
name="Power Supply"
active_power_usage=50000 // Station AIs use significant amounts of power. This, when combined with charged SMES should mean AI lasts for 1hr without external power.
- use_power = 2
+ use_power = USE_POWER_ACTIVE
power_channel = EQUIP
var/mob/living/silicon/ai/powered_ai = null
invisibility = 100
@@ -311,7 +311,7 @@ var/list/ai_verbs_default = list(
forceMove(powered_ai.loc)
..()
- use_power(1) // Just incase we need to wake up the power system.
+ use_power(USE_POWER_IDLE) // Just incase we need to wake up the power system.
/obj/machinery/ai_powersupply/Destroy()
. = ..()
@@ -325,14 +325,14 @@ var/list/ai_verbs_default = list(
qdel(src)
return
if(powered_ai.APU_power)
- use_power = 0
+ update_use_power(USE_POWER_OFF)
return
if(!powered_ai.anchored)
loc = powered_ai.loc
- use_power = 0
+ update_use_power(USE_POWER_OFF)
use_power(50000) // Less optimalised but only called if AI is unwrenched. This prevents usage of wrenching as method to keep AI operational without power. Intellicard is for that.
if(powered_ai.anchored)
- use_power = 2
+ update_use_power(USE_POWER_ACTIVE)
/mob/living/silicon/ai/proc/pick_icon()
set category = "AI Settings"
diff --git a/code/modules/mob/living/silicon/robot/drone/drone_manufacturer.dm b/code/modules/mob/living/silicon/robot/drone/drone_manufacturer.dm
index 234c2b3b321..89ad3664584 100644
--- a/code/modules/mob/living/silicon/robot/drone/drone_manufacturer.dm
+++ b/code/modules/mob/living/silicon/robot/drone/drone_manufacturer.dm
@@ -11,7 +11,7 @@
density = 1
anchored = 1
- use_power = 1
+ use_power = USE_POWER_IDLE
idle_power_usage = 20
active_power_usage = 5000
diff --git a/code/modules/modular_computers/NTNet/NTNet_relay.dm b/code/modules/modular_computers/NTNet/NTNet_relay.dm
index 086903b36eb..d3c601a42bf 100644
--- a/code/modules/modular_computers/NTNet/NTNet_relay.dm
+++ b/code/modules/modular_computers/NTNet/NTNet_relay.dm
@@ -2,7 +2,7 @@
/obj/machinery/ntnet_relay
name = "NTNet Quantum Relay"
desc = "A very complex router and transmitter capable of connecting electronic devices together. Looks fragile."
- use_power = 2
+ use_power = USE_POWER_ACTIVE
active_power_usage = 20000 //20kW, apropriate for machine that keeps massive cross-Zlevel wireless network operational.
idle_power_usage = 100
icon_state = "bus"
@@ -37,9 +37,9 @@
/obj/machinery/ntnet_relay/process()
if(operable())
- use_power = 2
+ update_use_power(USE_POWER_ACTIVE)
else
- use_power = 1
+ update_use_power(USE_POWER_IDLE)
if(dos_overload)
dos_overload = max(0, dos_overload - dos_dissipate)
diff --git a/code/modules/paperwork/faxmachine.dm b/code/modules/paperwork/faxmachine.dm
index 482b0940943..3de8cc4bcdc 100644
--- a/code/modules/paperwork/faxmachine.dm
+++ b/code/modules/paperwork/faxmachine.dm
@@ -12,7 +12,7 @@ var/list/adminfaxes = list() //cache for faxes that have been sent to admins
req_one_access = list(access_lawyer, access_heads, access_armory, access_qm)
density = 0
- use_power = 1
+ use_power = USE_POWER_IDLE
idle_power_usage = 30
active_power_usage = 200
circuit = /obj/item/circuitboard/fax
diff --git a/code/modules/paperwork/papershredder.dm b/code/modules/paperwork/papershredder.dm
index e9fa1f9fc34..19162e70765 100644
--- a/code/modules/paperwork/papershredder.dm
+++ b/code/modules/paperwork/papershredder.dm
@@ -9,7 +9,7 @@
var/shred_anim = "shredder-shredding"
density = 1
anchored = 1
- use_power = 1
+ use_power = USE_POWER_IDLE
idle_power_usage = 10
active_power_usage = 200
power_channel = EQUIP
diff --git a/code/modules/paperwork/photocopier.dm b/code/modules/paperwork/photocopier.dm
index 48fff2fa012..bd2fc1fb9c6 100644
--- a/code/modules/paperwork/photocopier.dm
+++ b/code/modules/paperwork/photocopier.dm
@@ -5,7 +5,7 @@
var/insert_anim = "bigscanner1"
anchored = 1
density = 1
- use_power = 1
+ use_power = USE_POWER_IDLE
idle_power_usage = 30
active_power_usage = 200
power_channel = EQUIP
diff --git a/code/modules/power/antimatter/control.dm b/code/modules/power/antimatter/control.dm
index a99e9b6d2d1..161baf2f530 100644
--- a/code/modules/power/antimatter/control.dm
+++ b/code/modules/power/antimatter/control.dm
@@ -5,7 +5,7 @@
icon_state = "control"
anchored = 1
density = 1
- use_power = 1
+ use_power = USE_POWER_IDLE
idle_power_usage = 100
active_power_usage = 1000
@@ -211,10 +211,10 @@
/obj/machinery/power/am_control_unit/proc/toggle_power()
active = !active
if(active)
- use_power = 2
+ update_use_power(USE_POWER_ACTIVE)
visible_message("The [src.name] starts up.")
else
- use_power = 1
+ update_use_power(USE_POWER_IDLE)
visible_message("The [src.name] shuts down.")
update_icon()
return
diff --git a/code/modules/power/antimatter/shielding.dm b/code/modules/power/antimatter/shielding.dm
index 76ce18af1a7..435809c91e0 100644
--- a/code/modules/power/antimatter/shielding.dm
+++ b/code/modules/power/antimatter/shielding.dm
@@ -16,7 +16,7 @@ proc/cardinalrange(var/center)
anchored = 1
density = 1
dir = 1
- use_power = 0//Living things generally dont use power
+ use_power = USE_POWER_OFF //Living things generally dont use power
idle_power_usage = 0
active_power_usage = 0
diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm
index 311f9e60530..89462ebd7fa 100644
--- a/code/modules/power/apc.dm
+++ b/code/modules/power/apc.dm
@@ -67,7 +67,7 @@
plane = TURF_PLANE
layer = ABOVE_TURF_LAYER
anchored = 1
- use_power = 0
+ use_power = USE_POWER_OFF
req_access = list(access_engine_equip)
var/area/area
var/areastring = null
diff --git a/code/modules/power/fusion/core/_core.dm b/code/modules/power/fusion/core/_core.dm
index 596ac96648a..9ac3738b1ba 100644
--- a/code/modules/power/fusion/core/_core.dm
+++ b/code/modules/power/fusion/core/_core.dm
@@ -13,7 +13,7 @@ var/list/fusion_cores = list()
icon = 'icons/obj/machines/power/fusion.dmi'
icon_state = "core0"
density = 1
- use_power = 1
+ use_power = USE_POWER_IDLE
idle_power_usage = 50
active_power_usage = 500 //multiplied by field strength
anchored = 0
@@ -70,7 +70,7 @@ var/list/fusion_cores = list()
owned_field = new(loc, src)
owned_field.ChangeFieldStrength(field_strength)
icon_state = "core1"
- use_power = 2
+ update_use_power(USE_POWER_ACTIVE)
. = 1
/obj/machinery/power/fusion_core/proc/Shutdown(var/force_rupture)
@@ -82,7 +82,7 @@ var/list/fusion_cores = list()
owned_field.RadiateAll()
qdel(owned_field)
owned_field = null
- use_power = 1
+ update_use_power(USE_POWER_IDLE)
/obj/machinery/power/fusion_core/proc/AddParticles(var/name, var/quantity = 1)
if(owned_field)
diff --git a/code/modules/power/fusion/fuel_assembly/fuel_injector.dm b/code/modules/power/fusion/fuel_assembly/fuel_injector.dm
index 91f115ea557..a537f1f18a1 100644
--- a/code/modules/power/fusion/fuel_assembly/fuel_injector.dm
+++ b/code/modules/power/fusion/fuel_assembly/fuel_injector.dm
@@ -7,7 +7,7 @@ var/list/fuel_injectors = list()
density = 1
anchored = 0
req_access = list(access_engine)
- use_power = 1
+ use_power = USE_POWER_IDLE
idle_power_usage = 10
active_power_usage = 500
@@ -103,13 +103,13 @@ var/list/fuel_injectors = list()
if(!injecting && cur_assembly)
icon_state = "injector1"
injecting = 1
- use_power = 1
+ update_use_power(USE_POWER_IDLE)
/obj/machinery/fusion_fuel_injector/proc/StopInjecting()
if(injecting)
injecting = 0
icon_state = "injector0"
- use_power = 0
+ update_use_power(USE_POWER_OFF)
/obj/machinery/fusion_fuel_injector/proc/Inject()
if(!injecting)
diff --git a/code/modules/power/fusion/gyrotron/gyrotron.dm b/code/modules/power/fusion/gyrotron/gyrotron.dm
index 661678c2f46..68c6e37cce1 100644
--- a/code/modules/power/fusion/gyrotron/gyrotron.dm
+++ b/code/modules/power/fusion/gyrotron/gyrotron.dm
@@ -6,7 +6,7 @@ var/list/gyrotrons = list()
desc = "It is a heavy duty industrial gyrotron suited for powering fusion reactors."
icon_state = "emitter-off"
req_access = list(access_engine)
- use_power = 1
+ use_power = USE_POWER_IDLE
active_power_usage = 50000
circuit = /obj/item/circuitboard/gyrotron
diff --git a/code/modules/power/generator.dm b/code/modules/power/generator.dm
index dfa16b076a1..b0122255273 100644
--- a/code/modules/power/generator.dm
+++ b/code/modules/power/generator.dm
@@ -1,3 +1,5 @@
+GLOBAL_LIST_EMPTY(all_turbines)
+
/obj/machinery/power/generator
name = "thermoelectric generator"
desc = "It's a high efficiency thermoelectric generator."
@@ -5,7 +7,7 @@
density = 1
anchored = 0
- use_power = 1
+ use_power = USE_POWER_IDLE
idle_power_usage = 100 //Watts, I hope. Just enough to do the computer and display things.
var/max_power = 500000
@@ -27,12 +29,16 @@
/obj/machinery/power/generator/Initialize()
soundloop = new(list(src), FALSE)
desc = initial(desc) + " Rated for [round(max_power/1000)] kW."
- spawn(1)
- reconnect()
- return ..()
+ GLOB.all_turbines += src
+ ..() //Not returned, because...
+ return INITIALIZE_HINT_LATELOAD
+
+/obj/machinery/power/generator/LateInitialize()
+ reconnect()
/obj/machinery/power/generator/Destroy()
QDEL_NULL(soundloop)
+ GLOB.all_turbines -= src
return ..()
//generators connect in dir and reverse_dir(dir) directions
@@ -169,7 +175,7 @@
user.visible_message("[user.name] [anchored ? "secures" : "unsecures"] the bolts holding [src.name] to the floor.", \
"You [anchored ? "secure" : "unsecure"] the bolts holding [src] to the floor.", \
"You hear a ratchet.")
- use_power = anchored
+ update_use_power(anchored ? USE_POWER_IDLE : USE_POWER_ACTIVE)
if(anchored) // Powernet connection stuff.
connect_to_network()
else
diff --git a/code/modules/power/generator_type2.dm b/code/modules/power/generator_type2.dm
index fd359bd55f8..858c4074458 100644
--- a/code/modules/power/generator_type2.dm
+++ b/code/modules/power/generator_type2.dm
@@ -4,7 +4,7 @@
icon_state = "teg"
anchored = 1
density = 1
- use_power = 0
+ use_power = USE_POWER_OFF
var/obj/machinery/atmospherics/unary/generator_input/input1
var/obj/machinery/atmospherics/unary/generator_input/input2
diff --git a/code/modules/power/gravitygenerator.dm b/code/modules/power/gravitygenerator.dm
index 2c73ebd641c..cd77d2a8e94 100644
--- a/code/modules/power/gravitygenerator.dm
+++ b/code/modules/power/gravitygenerator.dm
@@ -16,7 +16,7 @@
icon_state = "TheSingGen"
anchored = 1
density = 1
- use_power = 1
+ use_power = USE_POWER_IDLE
idle_power_usage = 200
active_power_usage = 1000
var/on = 1
diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm
index 0f0962ab166..0cd8174b974 100644
--- a/code/modules/power/lighting.dm
+++ b/code/modules/power/lighting.dm
@@ -168,7 +168,7 @@ var/global/list/light_type_cache = list()
anchored = 1
plane = MOB_PLANE
layer = ABOVE_MOB_LAYER
- use_power = 2
+ use_power = USE_POWER_ACTIVE
idle_power_usage = 2
active_power_usage = 10
power_channel = LIGHT //Lights are calc'd via area so they dont need to be in the machine list
@@ -367,10 +367,10 @@ var/global/list/light_type_cache = list()
on = 0
set_light(0)
else
- use_power = 2
+ update_use_power(USE_POWER_ACTIVE)
set_light(brightness_range, brightness_power, brightness_color)
else
- use_power = 1
+ update_use_power(USE_POWER_IDLE)
set_light(0)
active_power_usage = ((light_range * light_power) * LIGHTING_POWER_FACTOR)
diff --git a/code/modules/power/port_gen.dm b/code/modules/power/port_gen.dm
index 6885ce33f94..ab24eeb3364 100644
--- a/code/modules/power/port_gen.dm
+++ b/code/modules/power/port_gen.dm
@@ -6,7 +6,7 @@
icon_state = "portgen0"
density = 1
anchored = 0
- use_power = 0
+ use_power = USE_POWER_OFF
var/active = 0
var/power_gen = 5000
diff --git a/code/modules/power/power.dm b/code/modules/power/power.dm
index f2a6ab278b3..833560cd204 100644
--- a/code/modules/power/power.dm
+++ b/code/modules/power/power.dm
@@ -11,7 +11,7 @@
icon = 'icons/obj/power.dmi'
anchored = 1.0
var/datum/powernet/powernet = null
- use_power = 0
+ use_power = USE_POWER_OFF
idle_power_usage = 0
active_power_usage = 0
diff --git a/code/modules/power/sensors/sensor_monitoring.dm b/code/modules/power/sensors/sensor_monitoring.dm
index 97188093657..fae1d3c6dc4 100644
--- a/code/modules/power/sensors/sensor_monitoring.dm
+++ b/code/modules/power/sensors/sensor_monitoring.dm
@@ -15,7 +15,7 @@
anchored = 1.0
circuit = /obj/item/circuitboard/powermonitor
var/alerting = 0
- use_power = 1
+ use_power = USE_POWER_IDLE
idle_power_usage = 300
active_power_usage = 300
var/datum/nano_module/power_monitor/power_monitor
diff --git a/code/modules/power/singularity/containment_field.dm b/code/modules/power/singularity/containment_field.dm
index 2a714e6cbba..b03a120fed9 100644
--- a/code/modules/power/singularity/containment_field.dm
+++ b/code/modules/power/singularity/containment_field.dm
@@ -8,7 +8,7 @@
anchored = 1
density = 0
unacidable = 1
- use_power = 0
+ use_power = USE_POWER_OFF
light_range = 4
flags = PROXMOVE
var/obj/machinery/field_generator/FG1 = null
diff --git a/code/modules/power/singularity/emitter.dm b/code/modules/power/singularity/emitter.dm
index a9bb4968a03..49a20361ae4 100644
--- a/code/modules/power/singularity/emitter.dm
+++ b/code/modules/power/singularity/emitter.dm
@@ -10,7 +10,7 @@
req_access = list(access_engine_equip)
var/id = null
- use_power = 0 //uses powernet power, not APC power
+ use_power = USE_POWER_OFF //uses powernet power, not APC power
active_power_usage = 30000 //30 kW laser. I guess that means 30 kJ per shot.
var/active = 0
diff --git a/code/modules/power/singularity/field_generator.dm b/code/modules/power/singularity/field_generator.dm
index 94250864588..18ffecdb64b 100644
--- a/code/modules/power/singularity/field_generator.dm
+++ b/code/modules/power/singularity/field_generator.dm
@@ -20,7 +20,7 @@ field_generator power level display
icon_state = "Field_Gen"
anchored = 0
density = 1
- use_power = 0
+ use_power = USE_POWER_OFF
var/const/num_power_levels = 6 // Total number of power level icon has
var/Varedit_start = 0
var/Varpower = 0
diff --git a/code/modules/power/singularity/generator.dm b/code/modules/power/singularity/generator.dm
index 760fe2abdd9..0e4e0c56259 100644
--- a/code/modules/power/singularity/generator.dm
+++ b/code/modules/power/singularity/generator.dm
@@ -6,7 +6,7 @@
icon_state = "TheSingGen"
anchored = 0
density = 1
- use_power = 0
+ use_power = USE_POWER_OFF
var/energy = 0
var/creation_type = /obj/singularity
diff --git a/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm b/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm
index decc33771ab..a49f088cc1b 100644
--- a/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm
+++ b/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm
@@ -258,7 +258,7 @@ So, hopefully this is helpful if any more icons are to be added/changed/wonderin
icon_state = "none"
anchored = 0
density = 1
- use_power = 0
+ use_power = USE_POWER_OFF
idle_power_usage = 0
active_power_usage = 0
var/construction_state = 0
@@ -383,10 +383,10 @@ So, hopefully this is helpful if any more icons are to be added/changed/wonderin
if(src.construction_state < 3)//Was taken apart, update state
update_state()
if(use_power)
- use_power = 0
+ update_use_power(USE_POWER_OFF)
src.construction_state = temp_state
if(src.construction_state >= 3)
- use_power = 1
+ update_use_power(USE_POWER_IDLE)
update_icon()
return 1
return 0
diff --git a/code/modules/power/singularity/particle_accelerator/particle_control.dm b/code/modules/power/singularity/particle_accelerator/particle_control.dm
index 61308b7b517..2f90091ac0c 100644
--- a/code/modules/power/singularity/particle_accelerator/particle_control.dm
+++ b/code/modules/power/singularity/particle_accelerator/particle_control.dm
@@ -8,7 +8,7 @@
reference = "control_box"
anchored = 0
density = 1
- use_power = 0
+ use_power = USE_POWER_OFF
idle_power_usage = 500
active_power_usage = 70000 //70 kW per unit of strength
construction_state = 0
@@ -42,7 +42,7 @@
/obj/machinery/particle_accelerator/control_box/update_state()
if(construction_state < 3)
- update_use_power(0)
+ update_use_power(USE_POWER_OFF)
assembled = 0
active = 0
for(var/obj/structure/particle_accelerator/part in connected_parts)
@@ -52,7 +52,7 @@
connected_parts = list()
return
if(!part_scan())
- update_use_power(1)
+ update_use_power(USE_POWER_IDLE)
active = 0
connected_parts = list()
@@ -138,9 +138,9 @@
..()
if(stat & NOPOWER)
active = 0
- update_use_power(0)
+ update_use_power(USE_POWER_OFF)
else if(!stat && construction_state == 3)
- update_use_power(1)
+ update_use_power(USE_POWER_IDLE)
/obj/machinery/particle_accelerator/control_box/process()
@@ -212,13 +212,13 @@
message_admins("PA Control Computer turned [active ?"ON":"OFF"] by [key_name(usr, usr.client)](?) in ([x],[y],[z] - JMP)",0,1)
log_game("PACCEL([x],[y],[z]) [key_name(usr)] turned [active?"ON":"OFF"].")
if(active)
- update_use_power(2)
+ update_use_power(USE_POWER_ACTIVE)
for(var/obj/structure/particle_accelerator/part in connected_parts)
part.strength = src.strength
part.powered = 1
part.update_icon()
else
- update_use_power(1)
+ update_use_power(USE_POWER_IDLE)
for(var/obj/structure/particle_accelerator/part in connected_parts)
part.strength = null
part.powered = 0
diff --git a/code/modules/power/singularity/particle_accelerator/particle_smasher.dm b/code/modules/power/singularity/particle_accelerator/particle_smasher.dm
index b45df602183..4065369f9f5 100644
--- a/code/modules/power/singularity/particle_accelerator/particle_smasher.dm
+++ b/code/modules/power/singularity/particle_accelerator/particle_smasher.dm
@@ -9,7 +9,7 @@
icon_state = "smasher"
anchored = 0
density = 1
- use_power = 0
+ use_power = USE_POWER_OFF
var/successful_craft = FALSE // Are we waiting to be emptied?
var/image/material_layer // Holds the image used for the filled overlay.
diff --git a/code/modules/power/smes.dm b/code/modules/power/smes.dm
index 8031936670a..c8d07ffc093 100644
--- a/code/modules/power/smes.dm
+++ b/code/modules/power/smes.dm
@@ -11,7 +11,7 @@
icon_state = "smes"
density = 1
anchored = 1
- use_power = 0
+ use_power = USE_POWER_OFF
circuit = /obj/item/circuitboard/smes
var/capacity = 5e6 // maximum charge
diff --git a/code/modules/power/solar.dm b/code/modules/power/solar.dm
index aad775fa6b5..3ed2a43107c 100644
--- a/code/modules/power/solar.dm
+++ b/code/modules/power/solar.dm
@@ -13,7 +13,7 @@ GLOBAL_LIST_EMPTY(solars_list)
icon_state = "sp_base"
anchored = 1
density = 1
- use_power = 0
+ use_power = USE_POWER_OFF
idle_power_usage = 0
active_power_usage = 0
var/id = 0
@@ -285,7 +285,7 @@ GLOBAL_LIST_EMPTY(solars_list)
icon_state = "solar"
anchored = 1
density = 1
- use_power = 1
+ use_power = USE_POWER_IDLE
idle_power_usage = 250
var/id = 0
var/cdir = 0
diff --git a/code/modules/power/tracker.dm b/code/modules/power/tracker.dm
index dcf34b83317..167aa2317a9 100644
--- a/code/modules/power/tracker.dm
+++ b/code/modules/power/tracker.dm
@@ -10,7 +10,7 @@
icon_state = "tracker"
anchored = 1
density = 1
- use_power = 0
+ use_power = USE_POWER_OFF
var/id = 0
var/sun_angle = 0 // sun angle as set by sun datum
diff --git a/code/modules/reagents/Chemistry-Machinery.dm b/code/modules/reagents/Chemistry-Machinery.dm
index 1a6d0718c0c..e26fedad855 100644
--- a/code/modules/reagents/Chemistry-Machinery.dm
+++ b/code/modules/reagents/Chemistry-Machinery.dm
@@ -14,7 +14,7 @@
anchored = 1
icon = 'icons/obj/chemical.dmi'
icon_state = "mixer0"
- use_power = 1
+ use_power = USE_POWER_IDLE
idle_power_usage = 20
var/beaker = null
var/obj/item/storage/pill_bottle/loaded_pill_bottle = null
@@ -326,7 +326,7 @@
icon_state = "juicer1"
density = 0
anchored = 0
- use_power = 1
+ use_power = USE_POWER_IDLE
idle_power_usage = 5
active_power_usage = 100
circuit = /obj/item/circuitboard/grinder
diff --git a/code/modules/reagents/dispenser/dispenser2.dm b/code/modules/reagents/dispenser/dispenser2.dm
index 762bc81fc5f..6d61d70ccb2 100644
--- a/code/modules/reagents/dispenser/dispenser2.dm
+++ b/code/modules/reagents/dispenser/dispenser2.dm
@@ -13,7 +13,7 @@
var/accept_drinking = 0
var/amount = 30
- use_power = 1
+ use_power = USE_POWER_IDLE
idle_power_usage = 100
anchored = 1
diff --git a/code/modules/reagents/distilling/distilling.dm b/code/modules/reagents/distilling/distilling.dm
index a9d87eebdad..95bf9fd7b2a 100644
--- a/code/modules/reagents/distilling/distilling.dm
+++ b/code/modules/reagents/distilling/distilling.dm
@@ -6,7 +6,7 @@
/obj/machinery/portable_atmospherics/powered/reagent_distillery
name = "chemical distillery"
desc = "A complex machine utilizing state-of-the-art components to mix chemicals at different temperatures."
- use_power = 1
+ use_power = USE_POWER_IDLE
icon = 'icons/obj/machines/reagent.dmi'
icon_state = "distiller"
diff --git a/code/modules/recycling/disposal.dm b/code/modules/recycling/disposal.dm
index 56490e72eb3..81fdb963f40 100644
--- a/code/modules/recycling/disposal.dm
+++ b/code/modules/recycling/disposal.dm
@@ -359,7 +359,7 @@
// charge the gas reservoir and perform flush if ready
/obj/machinery/disposal/process()
if(!air_contents || (stat & BROKEN)) // nothing can happen if broken
- update_use_power(0)
+ update_use_power(USE_POWER_OFF)
return
flush_count++
@@ -377,7 +377,7 @@
flush()
if(mode != 1) //if off or ready, no need to charge
- update_use_power(1)
+ update_use_power(USE_POWER_IDLE)
else if(air_contents.return_pressure() >= SEND_PRESSURE)
mode = 2 //if full enough, switch to ready mode
update()
@@ -386,7 +386,7 @@
/obj/machinery/disposal/proc/pressurize()
if(stat & NOPOWER) // won't charge if no power
- update_use_power(0)
+ update_use_power(USE_POWER_OFF)
return
var/atom/L = loc // recharging from loc turf
diff --git a/code/modules/research/circuitprinter.dm b/code/modules/research/circuitprinter.dm
index 55469f7f01a..d7d80bc5a79 100644
--- a/code/modules/research/circuitprinter.dm
+++ b/code/modules/research/circuitprinter.dm
@@ -20,7 +20,7 @@ using metal and glass, it uses glass and reagents (usually sulphuric acid).
hidden_materials = list(MAT_PLASTEEL, MAT_DURASTEEL, MAT_VERDANTIUM, MAT_MORPHIUM, MAT_METALHYDROGEN, MAT_SUPERMATTER)
- use_power = 1
+ use_power = USE_POWER_IDLE
idle_power_usage = 30
active_power_usage = 2500
diff --git a/code/modules/research/destructive_analyzer.dm b/code/modules/research/destructive_analyzer.dm
index 45d5c5a907d..d3288d180a1 100644
--- a/code/modules/research/destructive_analyzer.dm
+++ b/code/modules/research/destructive_analyzer.dm
@@ -12,7 +12,7 @@ Note: Must be placed within 3 tiles of the R&D Console
var/obj/item/loaded_item = null
var/decon_mod = 0
circuit = /obj/item/circuitboard/destructive_analyzer
- use_power = 1
+ use_power = USE_POWER_IDLE
idle_power_usage = 30
active_power_usage = 2500
diff --git a/code/modules/research/message_server.dm b/code/modules/research/message_server.dm
index 04187593369..510bdc409de 100644
--- a/code/modules/research/message_server.dm
+++ b/code/modules/research/message_server.dm
@@ -53,7 +53,7 @@ var/global/list/obj/machinery/message_server/message_servers = list()
name = "Messaging Server"
density = 1
anchored = 1.0
- use_power = 1
+ use_power = USE_POWER_IDLE
idle_power_usage = 10
active_power_usage = 100
@@ -233,7 +233,7 @@ var/obj/machinery/blackbox_recorder/blackbox
name = "Blackbox Recorder"
density = 1
anchored = 1.0
- use_power = 1
+ use_power = USE_POWER_IDLE
idle_power_usage = 10
active_power_usage = 100
var/list/messages = list() //Stores messages of non-standard frequencies
diff --git a/code/modules/research/protolathe.dm b/code/modules/research/protolathe.dm
index f8cca77743f..61d6fa71681 100644
--- a/code/modules/research/protolathe.dm
+++ b/code/modules/research/protolathe.dm
@@ -3,7 +3,7 @@
icon_state = "protolathe"
flags = OPENCONTAINER
circuit = /obj/item/circuitboard/protolathe
- use_power = 1
+ use_power = USE_POWER_IDLE
idle_power_usage = 30
active_power_usage = 5000
diff --git a/code/modules/research/rdmachines.dm b/code/modules/research/rdmachines.dm
index 8ec5dd512df..4386465f51d 100644
--- a/code/modules/research/rdmachines.dm
+++ b/code/modules/research/rdmachines.dm
@@ -7,7 +7,7 @@
icon = 'icons/obj/machines/research_vr.dmi' //VOREStation Edit - Replaced with Eris sprites
density = 1
anchored = 1
- use_power = 1
+ use_power = USE_POWER_IDLE
var/busy = 0
var/obj/machinery/computer/rdconsole/linked_console
diff --git a/code/modules/security levels/keycard authentication.dm b/code/modules/security levels/keycard authentication.dm
index f32cfd2cd56..fe8b02c77ce 100644
--- a/code/modules/security levels/keycard authentication.dm
+++ b/code/modules/security levels/keycard authentication.dm
@@ -16,7 +16,7 @@
//1 = select event
//2 = authenticate
anchored = 1.0
- use_power = 1
+ use_power = USE_POWER_IDLE
idle_power_usage = 2
active_power_usage = 6
power_channel = ENVIRON
diff --git a/code/modules/shieldgen/emergency_shield.dm b/code/modules/shieldgen/emergency_shield.dm
index c88f3deb890..c7b0b9683a5 100644
--- a/code/modules/shieldgen/emergency_shield.dm
+++ b/code/modules/shieldgen/emergency_shield.dm
@@ -134,7 +134,7 @@
var/is_open = 0 //Whether or not the wires are exposed
var/locked = 0
var/check_delay = 60 //periodically recheck if we need to rebuild a shield
- use_power = 0
+ use_power = USE_POWER_OFF
idle_power_usage = 0
var/global/list/blockedturfs = list(
/turf/space,
@@ -156,7 +156,7 @@
idle_power_usage = 0
for(var/obj/machinery/shield/shield_tile in deployed_shields)
idle_power_usage += shield_tile.shield_idle_power
- update_use_power(1)
+ update_use_power(USE_POWER_IDLE)
/obj/machinery/shieldgen/proc/shields_down()
if(!active) return 0 //If it's already off, how did this get called?
@@ -166,7 +166,7 @@
collapse_shields()
- update_use_power(0)
+ update_use_power(USE_POWER_OFF)
/obj/machinery/shieldgen/proc/create_shields()
for(var/turf/target_tile in range(2, src))
@@ -206,7 +206,7 @@
if (new_power_usage != idle_power_usage)
idle_power_usage = new_power_usage
- use_power(0)
+ use_power(USE_POWER_OFF)
check_delay = 60
else
diff --git a/code/modules/shieldgen/sheldwallgen.dm b/code/modules/shieldgen/sheldwallgen.dm
index 4d2043082c1..198e4463ee3 100644
--- a/code/modules/shieldgen/sheldwallgen.dm
+++ b/code/modules/shieldgen/sheldwallgen.dm
@@ -23,7 +23,7 @@
//There have to be at least two posts, so these are effectively doubled
var/power_draw = 30000 //30 kW. How much power is drawn from powernet. Increase this to allow the generator to sustain longer shields, at the cost of more power draw.
var/max_stored_power = 50000 //50 kW
- use_power = 0 //Draws directly from power net. Does not use APC power.
+ use_power = USE_POWER_OFF //Draws directly from power net. Does not use APC power.
/obj/machinery/shieldwallgen/attack_hand(mob/user as mob)
if(state != 1)
diff --git a/code/modules/shieldgen/shield_capacitor.dm b/code/modules/shieldgen/shield_capacitor.dm
index b84ecdc33c0..bb9d5f6215c 100644
--- a/code/modules/shieldgen/shield_capacitor.dm
+++ b/code/modules/shieldgen/shield_capacitor.dm
@@ -15,7 +15,7 @@
var/max_charge = 8e6 //8 MJ
var/max_charge_rate = 400000 //400 kW
var/locked = 0
- use_power = 0 //doesn't use APC power
+ use_power = USE_POWER_OFF //doesn't use APC power
var/charge_rate = 100000 //100 kW
var/obj/machinery/shield_gen/owned_gen
diff --git a/code/modules/shieldgen/shield_diffuser.dm b/code/modules/shieldgen/shield_diffuser.dm
index c30f8a73517..9c42e22b573 100644
--- a/code/modules/shieldgen/shield_diffuser.dm
+++ b/code/modules/shieldgen/shield_diffuser.dm
@@ -4,7 +4,7 @@
description_info = "This device disrupts shields on directly adjacent tiles (in a + shaped pattern). They are commonly installed around exterior airlocks to prevent shields from blocking EVA access."
icon = 'icons/obj/machines/shielding.dmi'
icon_state = "fdiffuser_on"
- use_power = 2
+ use_power = USE_POWER_ACTIVE
idle_power_usage = 25 // Previously 100.
active_power_usage = 500 // Previously 2000
anchored = 1
@@ -57,7 +57,7 @@
update_icon()
return
enabled = !enabled
- use_power = enabled + 1
+ update_use_power(enabled ? USE_POWER_ACTIVE : USE_POWER_IDLE)
update_icon()
to_chat(usr, "You turn \the [src] [enabled ? "on" : "off"].")
diff --git a/code/modules/shieldgen/shield_gen.dm b/code/modules/shieldgen/shield_gen.dm
index 7640a8779ab..794c0a3a92c 100644
--- a/code/modules/shieldgen/shield_gen.dm
+++ b/code/modules/shieldgen/shield_gen.dm
@@ -22,7 +22,7 @@
var/time_since_fail = 100
var/energy_conversion_rate = 0.0006 //how many renwicks per watt? Higher numbers equals more effiency.
var/z_range = 0 // How far 'up and or down' to extend the shield to, in z-levels. Only works on MultiZ supported z-levels.
- use_power = 0 //doesn't use APC power
+ use_power = USE_POWER_OFF //doesn't use APC power
/obj/machinery/shield_gen/advanced
name = "advanced bubble shield generator"
diff --git a/code/modules/xenoarcheaology/artifacts/autocloner.dm b/code/modules/xenoarcheaology/artifacts/autocloner.dm
index 1b9d04960fd..40307cea807 100644
--- a/code/modules/xenoarcheaology/artifacts/autocloner.dm
+++ b/code/modules/xenoarcheaology/artifacts/autocloner.dm
@@ -10,7 +10,7 @@
density = 1
var/previous_power_state = 0
- use_power = 1
+ use_power = USE_POWER_IDLE
active_power_usage = 2000
idle_power_usage = 1000
@@ -54,7 +54,7 @@
//if we've finished growing...
if(time_spent_spawning >= time_per_spawn)
time_spent_spawning = 0
- use_power = 1
+ update_use_power(USE_POWER_IDLE)
visible_message("\icon[src] [src] pings!")
icon_state = "cellold1"
desc = "It's full of a bubbling viscous liquid, and is lit by a mysterious glow."
@@ -63,11 +63,11 @@
//if we're getting close to finished, kick into overdrive power usage
if(time_spent_spawning / time_per_spawn > 0.75)
- use_power = 2
+ update_use_power(USE_POWER_ACTIVE)
icon_state = "cellold2"
desc = "It's full of a bubbling viscous liquid, and is lit by a mysterious glow. A dark shape appears to be forming inside..."
else
- use_power = 1
+ update_use_power(USE_POWER_IDLE)
icon_state = "cellold1"
desc = "It's full of a bubbling viscous liquid, and is lit by a mysterious glow."
diff --git a/code/modules/xenoarcheaology/artifacts/replicator.dm b/code/modules/xenoarcheaology/artifacts/replicator.dm
index 00fde7b7ed1..a61ae8b1eae 100644
--- a/code/modules/xenoarcheaology/artifacts/replicator.dm
+++ b/code/modules/xenoarcheaology/artifacts/replicator.dm
@@ -7,7 +7,7 @@
idle_power_usage = 100
active_power_usage = 1000
- use_power = 1
+ use_power = USE_POWER_IDLE
var/spawn_progress_time = 0
var/max_spawn_time = 50
@@ -105,7 +105,7 @@
max_spawn_time = rand(30,100)
if(!spawning_types.len || !stored_materials.len)
- use_power = 1
+ update_use_power(USE_POWER_IDLE)
icon_state = "borgcharger0(old)"
else if(prob(5))
@@ -146,7 +146,7 @@
spawning_types.Add(construction[construction[index]])
spawn_progress_time = 0
- use_power = 2
+ update_use_power(USE_POWER_ACTIVE)
icon_state = "borgcharger1(old)"
else
visible_message(fail_message)
diff --git a/code/modules/xenoarcheaology/tools/artifact_harvester.dm b/code/modules/xenoarcheaology/tools/artifact_harvester.dm
index eceac588c4f..d1d55489a88 100644
--- a/code/modules/xenoarcheaology/tools/artifact_harvester.dm
+++ b/code/modules/xenoarcheaology/tools/artifact_harvester.dm
@@ -6,7 +6,7 @@
density = 1
idle_power_usage = 50
active_power_usage = 750
- use_power = 1
+ use_power = USE_POWER_IDLE
var/harvesting = 0
var/obj/item/anobattery/inserted_battery
var/obj/machinery/artifact/cur_artifact
@@ -82,7 +82,7 @@
//check if we've finished
if(inserted_battery.stored_charge >= inserted_battery.capacity)
- use_power = 1
+ update_use_power(USE_POWER_IDLE)
harvesting = 0
cur_artifact.anchored = 0
cur_artifact.being_used = 0
@@ -107,7 +107,7 @@
//if there's no charge left, finish
if(inserted_battery.stored_charge <= 0)
- use_power = 1
+ update_use_power(USE_POWER_IDLE)
inserted_battery.stored_charge = 0
harvesting = 0
if(inserted_battery.battery_effect && inserted_battery.battery_effect.activated)
@@ -193,7 +193,7 @@
if(source_effect)
harvesting = 1
- use_power = 2
+ update_use_power(USE_POWER_ACTIVE)
cur_artifact.anchored = 1
cur_artifact.being_used = 1
icon_state = "incubator_on"
@@ -237,7 +237,7 @@
inserted_battery.battery_effect.ToggleActivate(1)
last_process = world.time
harvesting = -1
- use_power = 2
+ update_use_power(USE_POWER_ACTIVE)
icon_state = "incubator_on"
var/message = "[src] states, \"Warning, battery charge dump commencing.\""
visible_message(message)
diff --git a/code/modules/xenoarcheaology/tools/geosample_scanner.dm b/code/modules/xenoarcheaology/tools/geosample_scanner.dm
index ae7ae081b29..2026c755854 100644
--- a/code/modules/xenoarcheaology/tools/geosample_scanner.dm
+++ b/code/modules/xenoarcheaology/tools/geosample_scanner.dm
@@ -6,7 +6,7 @@
icon = 'icons/obj/virology.dmi'
icon_state = "analyser"
- use_power = 1 //1 = idle, 2 = active
+ use_power = USE_POWER_IDLE //1 = idle, 2 = active
idle_power_usage = 20
active_power_usage = 300
diff --git a/code/modules/xenobio2/machinery/gene_manipulators.dm b/code/modules/xenobio2/machinery/gene_manipulators.dm
index 6bcaa410783..b51a9e11125 100644
--- a/code/modules/xenobio2/machinery/gene_manipulators.dm
+++ b/code/modules/xenobio2/machinery/gene_manipulators.dm
@@ -42,7 +42,7 @@
/obj/machinery/xenobio
density = 1
anchored = 1
- use_power = 1
+ use_power = USE_POWER_IDLE
var/obj/item/disk/xenobio/loaded_disk //Currently loaded data disk.
diff --git a/code/modules/xenobio2/machinery/injector.dm b/code/modules/xenobio2/machinery/injector.dm
index aaab2750c6e..55164aedf7b 100644
--- a/code/modules/xenobio2/machinery/injector.dm
+++ b/code/modules/xenobio2/machinery/injector.dm
@@ -10,7 +10,7 @@
desc = "Injects biological organisms that are inserted with the contents of an inserted beaker at the command of a remote computer."
density = 1
anchored = 1
- use_power = 1
+ use_power = USE_POWER_IDLE
icon = 'icons/obj/biogenerator.dmi'
icon_state = "biogen-work"
var/mob/living/occupant
diff --git a/code/modules/xenobio2/machinery/injector_computer.dm b/code/modules/xenobio2/machinery/injector_computer.dm
index 2c405d09d7b..523a1d3f7ce 100644
--- a/code/modules/xenobio2/machinery/injector_computer.dm
+++ b/code/modules/xenobio2/machinery/injector_computer.dm
@@ -11,7 +11,7 @@
icon_keyboard = "med_key"
icon_screen = "dna"
light_color = "#315ab4"
- use_power = 1
+ use_power = USE_POWER_IDLE
idle_power_usage = 250
active_power_usage = 500
circuit = /obj/item/circuitboard/xenobio2computer