Merge pull request #8480 from AstatorDem/processingTheProcess

Added a check to process() to recognize machines that use auto_use_power
This commit is contained in:
Zuhayr
2015-03-15 12:15:50 +10:30
14 changed files with 41 additions and 19 deletions

View File

@@ -4,6 +4,8 @@
icon_state = "motion0" icon_state = "motion0"
layer = 3 layer = 3
anchored = 1.0 anchored = 1.0
use_power = 1
idle_power_usage = 10
var/uses = 20 var/uses = 20
var/disabled = 1 var/disabled = 1
var/lethal = 0 var/lethal = 0
@@ -13,6 +15,7 @@
var/cooldown_on = 0 var/cooldown_on = 0
req_access = list(access_ai_upload) req_access = list(access_ai_upload)
/obj/machinery/ai_slipper/New() /obj/machinery/ai_slipper/New()
..() ..()
update_icon() update_icon()

View File

@@ -6,7 +6,7 @@
anchored = 1 anchored = 1
use_power = 1 use_power = 1
idle_power_usage = 10 idle_power_usage = 10
active_power_usage = 100 active_power_usage = 2000
var/list/machine_recipes var/list/machine_recipes
var/list/stored_material = list("metal" = 0, "glass" = 0) var/list/stored_material = list("metal" = 0, "glass" = 0)
@@ -23,6 +23,7 @@
var/datum/wires/autolathe/wires = null var/datum/wires/autolathe/wires = null
/obj/machinery/autolathe/New() /obj/machinery/autolathe/New()
..() ..()
@@ -233,8 +234,7 @@
return return
busy = 1 busy = 1
//This needs some work. update_use_power(2)
use_power(max(2000, (making.power_use*multiplier)))
//Check if we still have the materials. //Check if we still have the materials.
for(var/material in making.resources) for(var/material in making.resources)
@@ -253,6 +253,7 @@
sleep(build_time) sleep(build_time)
busy = 0 busy = 0
update_use_power(1)
//Sanity check. //Sanity check.
if(!making || !src) return if(!making || !src) return

View File

@@ -14,6 +14,7 @@
var/build_eff = 1 var/build_eff = 1
var/eat_eff = 1 var/eat_eff = 1
/obj/machinery/biogenerator/New() /obj/machinery/biogenerator/New()
..() ..()
var/datum/reagents/R = new/datum/reagents(1000) var/datum/reagents/R = new/datum/reagents(1000)

View File

@@ -7,6 +7,8 @@
anchored = 1 anchored = 1
density = 1 density = 1
use_power = 1
idle_power_usage = 40
icon_state = "bioprinter" icon_state = "bioprinter"

View File

@@ -10,6 +10,7 @@
idle_power_usage = 2 idle_power_usage = 2
active_power_usage = 4 active_power_usage = 4
/obj/machinery/button/attack_ai(mob/user as mob) /obj/machinery/button/attack_ai(mob/user as mob)
return src.attack_hand(user) return src.attack_hand(user)

View File

@@ -34,6 +34,7 @@
idle_power_usage = 2 idle_power_usage = 2
active_power_usage = 4 active_power_usage = 4
/obj/machinery/door_control/attack_ai(mob/user as mob) /obj/machinery/door_control/attack_ai(mob/user as mob)
if(wires & 2) if(wires & 2)
return src.attack_hand(user) return src.attack_hand(user)

View File

@@ -13,9 +13,6 @@ var/list/doppler_arrays = list()
doppler_arrays -= src 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) /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(stat & NOPOWER) return
if(z != z0) return if(z != z0) return

View File

@@ -12,6 +12,8 @@
var/strength = 10 //How weakened targets are when flashed. var/strength = 10 //How weakened targets are when flashed.
var/base_state = "mflash" var/base_state = "mflash"
anchored = 1 anchored = 1
use_power = 1
idle_power_usage = 2
/obj/machinery/flasher/portable //Portable version of the flasher. Only flashes when anchored /obj/machinery/flasher/portable //Portable version of the flasher. Only flashes when anchored
name = "portable flasher" name = "portable flasher"
@@ -133,7 +135,7 @@
active = 1 active = 1
icon_state = "launcheract" icon_state = "launcheract"
for(var/obj/machinery/flasher/M in world) for(var/obj/machinery/flasher/M in machines)
if(M.id == src.id) if(M.id == src.id)
spawn() spawn()
M.flash() M.flash()

View File

@@ -5,7 +5,9 @@
icon = 'icons/obj/holosign.dmi' icon = 'icons/obj/holosign.dmi'
icon_state = "sign_off" icon_state = "sign_off"
layer = 4 layer = 4
use_power = 1
idle_power_usage = 2 idle_power_usage = 2
active_power_usage = 4
var/lit = 0 var/lit = 0
var/id = null var/id = null
var/on_icon = "sign_on" var/on_icon = "sign_on"
@@ -14,12 +16,9 @@
if (stat & (BROKEN|NOPOWER)) if (stat & (BROKEN|NOPOWER))
return return
lit = !lit lit = !lit
use_power = lit ? 1 : 0 use_power = lit ? 2 : 1
update_icon() update_icon()
/obj/machinery/holosign/process()
return
/obj/machinery/holosign/update_icon() /obj/machinery/holosign/update_icon()
if (!lit) if (!lit)
icon_state = "sign_off" icon_state = "sign_off"

View File

@@ -53,6 +53,10 @@
var/last_spark = 0 var/last_spark = 0
var/base_state = "migniter" var/base_state = "migniter"
anchored = 1 anchored = 1
use_power = 1
idle_power_usage = 2
active_power_usage = 4
/obj/machinery/sparker/New() /obj/machinery/sparker/New()
..() ..()
@@ -129,12 +133,12 @@
active = 1 active = 1
icon_state = "launcheract" icon_state = "launcheract"
for(var/obj/machinery/sparker/M in world) for(var/obj/machinery/sparker/M in machines)
if (M.id == src.id) if (M.id == src.id)
spawn( 0 ) spawn( 0 )
M.ignite() M.ignite()
for(var/obj/machinery/igniter/M in world) for(var/obj/machinery/igniter/M in machines)
if(M.id == src.id) if(M.id == src.id)
use_power(50) use_power(50)
M.on = !( M.on ) M.on = !( M.on )

View File

@@ -16,6 +16,9 @@ datum/track/New(var/title_name, var/audio)
anchored = 1 anchored = 1
density = 1 density = 1
power_channel = EQUIP power_channel = EQUIP
use_power = 1
idle_power_usage = 10
active_power_usage = 100
var/playing = 0 var/playing = 0
@@ -32,6 +35,7 @@ datum/track/New(var/title_name, var/audio)
new/datum/track("Trai`Tor", 'sound/music/traitor.ogg'), new/datum/track("Trai`Tor", 'sound/music/traitor.ogg'),
) )
/obj/machinery/media/jukebox/Del() /obj/machinery/media/jukebox/Del()
StopPlaying() StopPlaying()
..() ..()
@@ -189,6 +193,7 @@ datum/track/New(var/title_name, var/audio)
A.forced_ambience = null A.forced_ambience = null
playing = 0 playing = 0
update_use_power(1)
update_icon() update_icon()
@@ -205,4 +210,5 @@ datum/track/New(var/title_name, var/audio)
A.play_ambience(M) A.play_ambience(M)
playing = 1 playing = 1
update_use_power(2)
update_icon() update_icon()

View File

@@ -126,7 +126,10 @@ Class Procs:
..() ..()
/obj/machinery/process()//If you dont use process or power why are you here /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) /obj/machinery/emp_act(severity)
if(use_power && stat == 0) if(use_power && stat == 0)

View File

@@ -39,7 +39,4 @@
if(stat & (BROKEN|NOPOWER)) if(stat & (BROKEN|NOPOWER))
return return
drive() drive()
..(severity) ..(severity)
/obj/machinery/mass_driver/process()
return

View File

@@ -86,7 +86,7 @@
/obj/machinery/computer/teleporter/attack_hand(user as mob) /obj/machinery/computer/teleporter/attack_hand(user as mob)
if(..()) return if(..()) return
/* Ghosts can't use this one because it's a direct selection */ /* Ghosts can't use this one because it's a direct selection */
if(istype(user, /mob/dead/observer)) return if(istype(user, /mob/dead/observer)) return
@@ -175,6 +175,7 @@
active_power_usage = 2000 active_power_usage = 2000
var/obj/machinery/computer/teleporter/com var/obj/machinery/computer/teleporter/com
/obj/machinery/teleport/hub/New() /obj/machinery/teleport/hub/New()
..() ..()
underlays.Cut() underlays.Cut()
@@ -335,6 +336,8 @@
if (com) if (com)
com.icon_state = "tele1" com.icon_state = "tele1"
use_power(5000) use_power(5000)
update_use_power(2)
com.update_use_power(2)
for(var/mob/O in hearers(src, null)) for(var/mob/O in hearers(src, null))
O.show_message("\blue Teleporter engaged!", 2) O.show_message("\blue Teleporter engaged!", 2)
src.add_fingerprint(usr) src.add_fingerprint(usr)
@@ -348,6 +351,8 @@
if (com) if (com)
com.icon_state = "tele0" com.icon_state = "tele0"
com.accurate = 0 com.accurate = 0
com.update_use_power(1)
update_use_power(1)
for(var/mob/O in hearers(src, null)) for(var/mob/O in hearers(src, null))
O.show_message("\blue Teleporter disengaged!", 2) O.show_message("\blue Teleporter disengaged!", 2)
src.add_fingerprint(usr) src.add_fingerprint(usr)