diff --git a/code/game/machinery/dye_generator.dm b/code/game/machinery/dye_generator.dm index 117a9a21671..90f73b61dd4 100644 --- a/code/game/machinery/dye_generator.dm +++ b/code/game/machinery/dye_generator.dm @@ -94,6 +94,9 @@ if(!(M in view(1))) ..() return + if(!Adjacent(user)) + ..() + return if(ishuman(M)) var/mob/living/carbon/human/H = M var/dye_list = list("hair", "alt. hair theme") diff --git a/code/game/machinery/poolcontroller.dm b/code/game/machinery/poolcontroller.dm index 01ae0546f19..ecc9ca9684f 100644 --- a/code/game/machinery/poolcontroller.dm +++ b/code/game/machinery/poolcontroller.dm @@ -59,11 +59,11 @@ qdel(decal) /obj/machinery/poolcontroller/proc/handleTemp(var/mob/M) + M.water_act(100, 0, src)//leave temp at 0, we handle it in the switch. if(temperature == "normal") //This setting does nothing, so let's skip the next checks since we won't be doing jack return if(!M || isAIEye(M) || issilicon(M) || isobserver(M) || M.stat == DEAD) return - switch(temperature) //Apply different effects based on what the temperature is set to. if("scalding") //Burn the mob. M.bodytemperature = min(500, M.bodytemperature + 35) //heat mob at 35k(elvin) per cycle diff --git a/code/game/objects/effects/spiders.dm b/code/game/objects/effects/spiders.dm index 2265c166461..1c1da352dbd 100644 --- a/code/game/objects/effects/spiders.dm +++ b/code/game/objects/effects/spiders.dm @@ -213,9 +213,10 @@ if(candidates.len) var/mob/C = pick(candidates) - S.key = C.key - if(master_commander) - to_chat(S, "You are a spider who is loyal to [master_commander], obey [master_commander]'s every order and assist them in completing their goals at any cost.") + if(C) + S.key = C.key + if(master_commander) + to_chat(S, "You are a spider who is loyal to [master_commander], obey [master_commander]'s every order and assist them in completing their goals at any cost.") qdel(src) /obj/effect/decal/cleanable/spiderling_remains diff --git a/code/modules/economy/ATM.dm b/code/modules/economy/ATM.dm index 40f258b0c2a..3470302c057 100644 --- a/code/modules/economy/ATM.dm +++ b/code/modules/economy/ATM.dm @@ -81,6 +81,9 @@ log transactions /obj/machinery/atm/attackby(obj/item/I, mob/user, params) if(istype(I, /obj/item/weapon/card)) + if(!powered()) + return + if(!held_card) user.drop_item() I.forceMove(src) @@ -91,6 +94,8 @@ log transactions else if(authenticated_account) if(istype(I, /obj/item/stack/spacecash)) //consume the money + if(!powered()) + return var/obj/item/stack/spacecash/C = I authenticated_account.money += C.amount playsound(loc, pick('sound/items/polaroid1.ogg', 'sound/items/polaroid2.ogg'), 50, 1) @@ -118,7 +123,7 @@ log transactions to_chat(user, "Artificial unit recognized. Artificial units do not currently receive monetary compensation, as per Nanotrasen regulation #1005.") return ui_interact(user) - + /obj/machinery/atm/attack_ghost(mob/user) ui_interact(user)