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..eb64c406645 100644 --- a/code/modules/shuttle/ferry.dm +++ b/code/modules/shuttle/ferry.dm @@ -8,17 +8,16 @@ /obj/machinery/computer/shuttle/ferry/request name = "ferry console" circuit = /obj/item/weapon/circuitboard/computer/ferry/request - var/cooldown //prevents spamming admins + var/last_request //prevents spamming admins + var/cooldown = 600 possible_destinations = "ferry_home" admin_controlled = 1 /obj/machinery/computer/shuttle/ferry/request/Topic(href, href_list) ..() if(href_list["request"]) - if(cooldown) + if(last_request && (last_request + cooldown > world.time)) return - cooldown = 1 + last_request = world.time 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 diff --git a/code/modules/spells/spell_types/knock.dm b/code/modules/spells/spell_types/knock.dm index 647c6a5d7f7..253b4116a76 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", 0, FALSE, door) for(var/obj/structure/closet/C in T.contents) - spawn(1) - C.locked = 0 - C.open() + addtimer(src, "open_closet", 0, 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()