diff --git a/code/game/machinery/ai_slipper.dm b/code/game/machinery/ai_slipper.dm index 3f2b1dc3bb..5f6e40e414 100644 --- a/code/game/machinery/ai_slipper.dm +++ b/code/game/machinery/ai_slipper.dm @@ -4,6 +4,8 @@ icon_state = "motion0" layer = 3 anchored = 1.0 + use_power = 1 + idle_power_usage = 10 var/uses = 20 var/disabled = 1 var/lethal = 0 @@ -13,6 +15,7 @@ var/cooldown_on = 0 req_access = list(access_ai_upload) + /obj/machinery/ai_slipper/New() ..() update_icon() diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm index 5361bea23a..9b5cfaa526 100644 --- a/code/game/machinery/autolathe.dm +++ b/code/game/machinery/autolathe.dm @@ -6,7 +6,7 @@ anchored = 1 use_power = 1 idle_power_usage = 10 - active_power_usage = 100 + active_power_usage = 2000 var/list/machine_recipes var/list/stored_material = list("metal" = 0, "glass" = 0) @@ -23,6 +23,7 @@ var/datum/wires/autolathe/wires = null + /obj/machinery/autolathe/New() ..() @@ -233,8 +234,7 @@ return busy = 1 - //This needs some work. - use_power(max(2000, (making.power_use*multiplier))) + update_use_power(2) //Check if we still have the materials. for(var/material in making.resources) @@ -253,6 +253,7 @@ sleep(build_time) busy = 0 + update_use_power(1) //Sanity check. if(!making || !src) return diff --git a/code/game/machinery/biogenerator.dm b/code/game/machinery/biogenerator.dm index 4afd4f0e44..8fd27904ce 100644 --- a/code/game/machinery/biogenerator.dm +++ b/code/game/machinery/biogenerator.dm @@ -14,6 +14,7 @@ var/build_eff = 1 var/eat_eff = 1 + /obj/machinery/biogenerator/New() ..() var/datum/reagents/R = new/datum/reagents(1000) diff --git a/code/game/machinery/bioprinter.dm b/code/game/machinery/bioprinter.dm index a0ac4258cc..eab4af69a3 100644 --- a/code/game/machinery/bioprinter.dm +++ b/code/game/machinery/bioprinter.dm @@ -7,6 +7,8 @@ anchored = 1 density = 1 + use_power = 1 + idle_power_usage = 40 icon_state = "bioprinter" diff --git a/code/game/machinery/buttons.dm b/code/game/machinery/buttons.dm index ad72835fae..ec844b6004 100644 --- a/code/game/machinery/buttons.dm +++ b/code/game/machinery/buttons.dm @@ -10,6 +10,7 @@ idle_power_usage = 2 active_power_usage = 4 + /obj/machinery/button/attack_ai(mob/user as mob) return src.attack_hand(user) diff --git a/code/game/machinery/door_control.dm b/code/game/machinery/door_control.dm index 51bc9b69e6..25aff55578 100644 --- a/code/game/machinery/door_control.dm +++ b/code/game/machinery/door_control.dm @@ -34,6 +34,7 @@ idle_power_usage = 2 active_power_usage = 4 + /obj/machinery/door_control/attack_ai(mob/user as mob) if(wires & 2) return src.attack_hand(user) diff --git a/code/game/machinery/doppler_array.dm b/code/game/machinery/doppler_array.dm index c6744ef96a..dbe7f1b8a7 100644 --- a/code/game/machinery/doppler_array.dm +++ b/code/game/machinery/doppler_array.dm @@ -13,9 +13,6 @@ var/list/doppler_arrays = list() doppler_arrays -= src ..() -/obj/machinery/doppler_array/process() - return PROCESS_KILL - /obj/machinery/doppler_array/proc/sense_explosion(var/x0,var/y0,var/z0,var/devastation_range,var/heavy_impact_range,var/light_impact_range,var/took) if(stat & NOPOWER) return if(z != z0) return diff --git a/code/game/machinery/flasher.dm b/code/game/machinery/flasher.dm index 2ebefc8625..4f310de8b9 100644 --- a/code/game/machinery/flasher.dm +++ b/code/game/machinery/flasher.dm @@ -12,6 +12,8 @@ var/strength = 10 //How weakened targets are when flashed. var/base_state = "mflash" anchored = 1 + use_power = 1 + idle_power_usage = 2 /obj/machinery/flasher/portable //Portable version of the flasher. Only flashes when anchored name = "portable flasher" @@ -133,7 +135,7 @@ active = 1 icon_state = "launcheract" - for(var/obj/machinery/flasher/M in world) + for(var/obj/machinery/flasher/M in machines) if(M.id == src.id) spawn() M.flash() diff --git a/code/game/machinery/holosign.dm b/code/game/machinery/holosign.dm index 222975316f..e51025aee2 100644 --- a/code/game/machinery/holosign.dm +++ b/code/game/machinery/holosign.dm @@ -5,7 +5,9 @@ icon = 'icons/obj/holosign.dmi' icon_state = "sign_off" layer = 4 + use_power = 1 idle_power_usage = 2 + active_power_usage = 4 var/lit = 0 var/id = null var/on_icon = "sign_on" @@ -14,12 +16,9 @@ if (stat & (BROKEN|NOPOWER)) return lit = !lit - use_power = lit ? 1 : 0 + use_power = lit ? 2 : 1 update_icon() -/obj/machinery/holosign/process() - return - /obj/machinery/holosign/update_icon() if (!lit) icon_state = "sign_off" diff --git a/code/game/machinery/igniter.dm b/code/game/machinery/igniter.dm index a9be665022..50dc4e10b2 100755 --- a/code/game/machinery/igniter.dm +++ b/code/game/machinery/igniter.dm @@ -53,6 +53,10 @@ var/last_spark = 0 var/base_state = "migniter" anchored = 1 + use_power = 1 + idle_power_usage = 2 + active_power_usage = 4 + /obj/machinery/sparker/New() ..() @@ -129,12 +133,12 @@ active = 1 icon_state = "launcheract" - for(var/obj/machinery/sparker/M in world) + for(var/obj/machinery/sparker/M in machines) if (M.id == src.id) spawn( 0 ) M.ignite() - for(var/obj/machinery/igniter/M in world) + for(var/obj/machinery/igniter/M in machines) if(M.id == src.id) use_power(50) M.on = !( M.on ) diff --git a/code/game/machinery/jukebox.dm b/code/game/machinery/jukebox.dm index 2a6755015b..f87dc8ca9c 100644 --- a/code/game/machinery/jukebox.dm +++ b/code/game/machinery/jukebox.dm @@ -16,6 +16,9 @@ datum/track/New(var/title_name, var/audio) anchored = 1 density = 1 power_channel = EQUIP + use_power = 1 + idle_power_usage = 10 + active_power_usage = 100 var/playing = 0 @@ -32,6 +35,7 @@ datum/track/New(var/title_name, var/audio) new/datum/track("Trai`Tor", 'sound/music/traitor.ogg'), ) + /obj/machinery/media/jukebox/Del() StopPlaying() ..() @@ -189,6 +193,7 @@ datum/track/New(var/title_name, var/audio) A.forced_ambience = null playing = 0 + update_use_power(1) update_icon() @@ -205,4 +210,5 @@ datum/track/New(var/title_name, var/audio) A.play_ambience(M) playing = 1 + update_use_power(2) update_icon() diff --git a/code/game/machinery/machinery.dm b/code/game/machinery/machinery.dm index 042889157a..5a4e6d7255 100644 --- a/code/game/machinery/machinery.dm +++ b/code/game/machinery/machinery.dm @@ -126,7 +126,10 @@ Class Procs: ..() /obj/machinery/process()//If you dont use process or power why are you here - return PROCESS_KILL + if(!(use_power || idle_power_usage || active_power_usage)) + return PROCESS_KILL + + return /obj/machinery/emp_act(severity) if(use_power && stat == 0) diff --git a/code/game/machinery/mass_driver.dm b/code/game/machinery/mass_driver.dm index 2a3589db2d..b67bc17986 100644 --- a/code/game/machinery/mass_driver.dm +++ b/code/game/machinery/mass_driver.dm @@ -39,7 +39,4 @@ if(stat & (BROKEN|NOPOWER)) return drive() - ..(severity) - -/obj/machinery/mass_driver/process() - return \ No newline at end of file + ..(severity) \ No newline at end of file diff --git a/code/game/machinery/teleporter.dm b/code/game/machinery/teleporter.dm index f5db4a1ac0..9e68791df0 100644 --- a/code/game/machinery/teleporter.dm +++ b/code/game/machinery/teleporter.dm @@ -86,7 +86,7 @@ /obj/machinery/computer/teleporter/attack_hand(user as mob) if(..()) return - + /* Ghosts can't use this one because it's a direct selection */ if(istype(user, /mob/dead/observer)) return @@ -175,6 +175,7 @@ active_power_usage = 2000 var/obj/machinery/computer/teleporter/com + /obj/machinery/teleport/hub/New() ..() underlays.Cut() @@ -335,6 +336,8 @@ if (com) com.icon_state = "tele1" use_power(5000) + update_use_power(2) + com.update_use_power(2) for(var/mob/O in hearers(src, null)) O.show_message("\blue Teleporter engaged!", 2) src.add_fingerprint(usr) @@ -348,6 +351,8 @@ if (com) com.icon_state = "tele0" com.accurate = 0 + com.update_use_power(1) + update_use_power(1) for(var/mob/O in hearers(src, null)) O.show_message("\blue Teleporter disengaged!", 2) src.add_fingerprint(usr)