diff --git a/code/game/machinery/blender.dm b/code/game/machinery/blender.dm index b3e3d6d9c35..b227f8e0239 100644 --- a/code/game/machinery/blender.dm +++ b/code/game/machinery/blender.dm @@ -68,6 +68,10 @@ the blender or the processor: Processor items are solid objects and Blender resu /obj/machinery/blender/verb/blend() //Blend shit. Note: In the actual blending loop, make sure it can't include the jug. set src in oview(1) // Otherwise, it'll try to blend it too. + if (usr.stat != 0) + return + if (src.stat != 0) //NOPOWER etc + return if(src.processing) usr << "The blender is in the process of blending." else if(!src.container) @@ -76,6 +80,7 @@ the blender or the processor: Processor items are solid objects and Blender resu playsound(src.loc, 'blender.ogg', 50, 1) src.processing = 1 usr << "You turn on the blender." + use_power(50) for(var/obj/O in src.contents) if(istype(O, /obj/item/weapon/reagent_containers/food/snacks/grown/berries)) src.reagents.add_reagent("berryjuice", 5) @@ -92,6 +97,8 @@ the blender or the processor: Processor items are solid objects and Blender resu /obj/machinery/blender/verb/detach() //Transfers the contents of the Blender to the Blender Jug and then ejects the jug. set src in oview(1) + if (usr.stat != 0) + return if(src.processing) usr << "The blender is in the process of blending." else if(!src.container) @@ -110,6 +117,8 @@ the blender or the processor: Processor items are solid objects and Blender resu /obj/machinery/blender/verb/eject() //Ejects the non-reagent contents of the blender besides the jug. set src in oview(1) + if (usr.stat != 0) + return if(src.processing) usr << "The blender is in the process of blending." else if(!src.container) diff --git a/code/game/machinery/microwave.dm b/code/game/machinery/microwave.dm index 4e884c3700b..48704c6bd29 100644 --- a/code/game/machinery/microwave.dm +++ b/code/game/machinery/microwave.dm @@ -524,7 +524,9 @@ Please clean it before use!
src.icon_state = "mw1" //Make it look on too src.updateUsrDialog() src.being_cooked = new cooking(src) + use_power(500*(cook_time/50)/2) spawn(cook_time) //After the cooking time + use_power(500*(cook_time/50)/2) if(!isnull(src.being_cooked)) playsound(src.loc, 'ding.ogg', 50, 1) if(istype(src.being_cooked, /obj/item/weapon/reagent_containers/food/snacks/humanburger)) diff --git a/code/game/machinery/processor.dm b/code/game/machinery/processor.dm index 5b7ad5d4358..ca1b9b06bf7 100644 --- a/code/game/machinery/processor.dm +++ b/code/game/machinery/processor.dm @@ -99,6 +99,8 @@ return /obj/machinery/processor/attack_hand(var/mob/user as mob) + if (src.stat != 0) //NOPOWER etc + return if(src.processing) user << "\red The processor is in the process of processing." return 1 @@ -115,6 +117,7 @@ "You turn on \a [src].", \ "You hear food processor") playsound(src.loc, 'blender.ogg', 50, 1) + use_power(50) sleep(P.time) P.process(src.loc, O) src.processing = 0 diff --git a/code/game/objects/closets/secure/engineering.dm b/code/game/objects/closets/secure/engineering.dm index 215abbcee14..296b48fbe19 100644 --- a/code/game/objects/closets/secure/engineering.dm +++ b/code/game/objects/closets/secure/engineering.dm @@ -1,12 +1,12 @@ /obj/secure_closet/engineering_chief/New() ..() sleep(2) - new /obj/item/weapon/storage/toolbox/mechanical( src ) new /obj/item/blueprints( src ) new /obj/item/device/radio/headset/headset_eng( src ) new /obj/item/clothing/under/rank/chief_engineer( src ) new /obj/item/clothing/gloves/yellow( src ) new /obj/item/clothing/shoes/brown( src ) + new /obj/item/weapon/storage/toolbox/mechanical( src ) new /obj/item/clothing/shoes/magboots( src ) new /obj/item/clothing/ears/earmuffs( src ) new /obj/item/clothing/glasses/meson( src ) diff --git a/code/game/objects/items/clothing.dm b/code/game/objects/items/clothing.dm index b733f9f6f48..b62fbea63e0 100644 --- a/code/game/objects/items/clothing.dm +++ b/code/game/objects/items/clothing.dm @@ -283,7 +283,7 @@ DEATH COMMANDO GAS MASK set name = "Toggle Suit Sensors" var/mob/M = usr if (istype (M, /mob/dead/)) return - if (M.health <= -100) return + if (usr.stat != 0) return if (istype (src, /obj/item/clothing/under/color/orange/)) mode = 3 usr << "There are no controls for the sensing equipment woven into the fabric." diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 87af9f9e335..6778e6cd039 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -80,12 +80,13 @@ if (world.time > src.lastDblClick+2) src.lastDblClick = world.time if((prob(40)) || (prob(95) && src.mutations & 16)) - src << "\red You accidentally stun yourself with the [W.name]." + //src << "\red You accidentally stun yourself with the [W.name]." + src.visible_message("\red [src] accidentally stun \himself with the [W.name].", \ + "\red You accidentally stun yourself with the [W.name].") src.weakened = max(12, src.weakened) else - for(var/mob/M in viewers(src, null)) - if(M.client) - M << "\red [src] accidentally bumps into [tmob] with the [W.name]." + src.visible_message("\red[src] accidentally bumps into [tmob] with the [W.name].", \ + "\red You accidentally bumps into [tmob] with the [W.name].") tmob.weakened = max(4, tmob.weakened) tmob.stunned = max(4, tmob.stunned) playsound(src.loc, 'Egloves.ogg', 50, 1, -1) @@ -93,9 +94,8 @@ return if(istype(tmob, /mob/living/carbon/human) && tmob.mutations & 32) if(prob(40) && !(src.mutations & 32)) - for(var/mob/M in viewers(src, null)) - if(M.client) - M << "\red [src] fails to push [tmob]'s fat ass out of the way." + src.visible_message("\red [src] fails to push [tmob]'s fat ass out of the way.", \ + "\red You fail to push [tmob]'s fat ass out of the way.") src.now_pushing = 0 return src.now_pushing = 0 diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm index c98bd14d6b2..f508b332fc8 100644 --- a/code/modules/power/apc.dm +++ b/code/modules/power/apc.dm @@ -77,18 +77,6 @@ flagIndex+=1 return apcwires -/obj/machinery/power/apc/updateUsrDialog() - if (stat & (BROKEN|MAINT)) - return - var/list/nearby = viewers(1, src) - for(var/mob/M in nearby) - if ((M.client && M.machine == src)) - src.interact(M) - if (istype(usr, /mob/living/silicon)) - if (!(usr in nearby)) - if (usr.client && usr.machine==src) // && M.machine == src is omitted because if we triggered this by using the dialog, it doesn't matter if our machine changed in between triggering it and this - the dialog is probably still supposed to refresh. - src.interact(usr) - /obj/machinery/power/apc/updateDialog() if (stat & (BROKEN|MAINT)) return @@ -724,15 +712,15 @@ if(APC_WIRE_MAIN_POWER1) src.shock(usr, 50) //this doesn't work for some reason, give me a while I'll figure it out src.shorted = 1 - src.updateUsrDialog() + src.updateDialog() if(APC_WIRE_MAIN_POWER2) src.shock(usr, 50) src.shorted = 1 - src.updateUsrDialog() + src.updateDialog() if (APC_WIRE_AI_CONTROL) if (src.aidisabled == 0) src.aidisabled = 1 - src.updateUsrDialog() + src.updateDialog() // if(APC_WIRE_IDSCAN) nothing happens when you cut this wire, add in something if you want whatever @@ -745,18 +733,18 @@ if ((!src.isWireCut(APC_WIRE_MAIN_POWER1)) && (!src.isWireCut(APC_WIRE_MAIN_POWER2))) src.shorted = 0 src.shock(usr, 50) - src.updateUsrDialog() + src.updateDialog() if(APC_WIRE_MAIN_POWER2) if ((!src.isWireCut(APC_WIRE_MAIN_POWER1)) && (!src.isWireCut(APC_WIRE_MAIN_POWER2))) src.shorted = 0 src.shock(usr, 50) - src.updateUsrDialog() + src.updateDialog() if (APC_WIRE_AI_CONTROL) //one wire for AI control. Cutting this prevents the AI from controlling the door unless it has hacked the door through the power connection (which takes about a minute). If both main and backup power are cut, as well as this wire, then the AI cannot operate or hack the door at all. //aidisabledDisabled: If 1, AI control is disabled until the AI hacks back in and disables the lock. If 2, the AI has bypassed the lock. If -1, the control is enabled but the AI had bypassed it earlier, so if it is disabled again the AI would have no trouble getting back in. if (src.aidisabled == 1) src.aidisabled = 0 - src.updateUsrDialog() + src.updateDialog() // if(APC_WIRE_IDSCAN) nothing happens when you cut this wire, add in something if you want whatever /obj/machinery/power/apc/proc/pulse(var/wireColor) @@ -903,7 +891,7 @@ malfai << "Hack complete. The APC is now under your exclusive control. Unable to fuse interface due to lack of cell do discharge." - src.updateUsrDialog() + src.updateDialog() return else @@ -1080,7 +1068,7 @@ update() //src.updateDialog() - src.updateUsrDialog() + src.updateDialog() // val 0=off, 1=off(auto) 2=on 3=on(auto) // on 0=off, 1=on, 2=autooff