diff --git a/code/modules/ruins/objects_and_mobs/sin_ruins.dm b/code/modules/ruins/objects_and_mobs/sin_ruins.dm index ebb97ab7ba7..e47bcc572aa 100644 --- a/code/modules/ruins/objects_and_mobs/sin_ruins.dm +++ b/code/modules/ruins/objects_and_mobs/sin_ruins.dm @@ -46,14 +46,22 @@ density = TRUE /obj/structure/cursed_money/New() - spawn(600) - if(src) - visible_message("[src] falls in on itself, canvas rotting away and contents vanishing.") - qdel(src) + . = ..() + addtimer(src, "collapse", 600) + +/obj/structure/cursed_money/proc/collapse() + visible_message("[src] falls in on itself, \ + canvas rotting away and contents vanishing.") + qdel(src) /obj/structure/cursed_money/attack_hand(mob/living/user) - user.visible_message("You open the bag...!\nAnd see a bag full of dice. Confused, you take one... and the bag vanishes.") - var/obj/item/weapon/dice/d20/fate/one_use/critical_fail = new(get_turf(user)) + user.visible_message("[user] opens the bag and \ + and removes a die. The bag then vanishes.", + "You open the bag...!\n\ + And see a bag full of dice. Confused, \ + you take one... and the bag vanishes.") + var/turf/T = get_turf(user) + var/obj/item/weapon/dice/d20/fate/one_use/critical_fail = new(T) user.put_in_hands(critical_fail) qdel(src) diff --git a/code/modules/shuttle/ferry.dm b/code/modules/shuttle/ferry.dm index f5b142dc4ed..9fc15356a9c 100644 --- a/code/modules/shuttle/ferry.dm +++ b/code/modules/shuttle/ferry.dm @@ -20,5 +20,7 @@ cooldown = 1 usr << "Your request has been recieved by Centcom." admins << "FERRY: [key_name_admin(usr)] (?) (FLW) (Move Ferry) is requesting to move the transport ferry to Centcom." - spawn(600) //One minute cooldown - cooldown = 0 \ No newline at end of file + addtimer(src, "reset_cooldown", 600) + +/obj/machinery/computer/shuttle/ferry/request/proc/reset_cooldown() + cooldown = FALSE diff --git a/code/modules/spells/spell_types/knock.dm b/code/modules/spells/spell_types/knock.dm index 647c6a5d7f7..f9afdaf0144 100644 --- a/code/modules/spells/spell_types/knock.dm +++ b/code/modules/spells/spell_types/knock.dm @@ -16,13 +16,16 @@ user << sound("sound/magic/Knock.ogg") for(var/turf/T in targets) for(var/obj/machinery/door/door in T.contents) - spawn(1) - if(istype(door,/obj/machinery/door/airlock)) - door:locked = 0 - door.open() + addtimer(src, "open_door", 1, FALSE, door) for(var/obj/structure/closet/C in T.contents) - spawn(1) - C.locked = 0 - C.open() + addtimer(src, "open_closet", 1, FALSE, C) - return \ No newline at end of file +/obj/effect/proc_holder/spell/aoe_turf/knock/proc/open_door(var/obj/machinery/door/door) + if(istype(door, /obj/machinery/door/airlock)) + var/obj/machinery/door/airlock/A = door + A.locked = FALSE + door.open() + +/obj/effect/proc_holder/spell/aoe_turf/knock/proc/open_closet(var/obj/structure/closet/C) + C.locked = FALSE + C.open()