Files
Bubberstation/code/modules/awaymissions/signpost.dm
SkyratBot e8bb36ed27 [MIRROR] Ladders take left/right clicks to go up or down (+ extra balance and QOL) [MDB IGNORE] (#15239)
* Ladders take left/right clicks to go up or down (+ extra balance and QOL) (#67913)

You now left click to climb up and right click to climb down a ladder. A delay of 1 second has also been added, since otherwise it'd take only one click to immediately move vertically and would be much more spammable.
Ghosts still use the old radials, because their right clicks are bound to the default byond popup menu.

* Ladders take left/right clicks to go up or down (+ extra balance and QOL)

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2022-07-28 11:45:12 -07:00

74 lines
2.1 KiB
Plaintext

/*An alternative to exit gateways, signposts send you back to somewhere safe onstation with their semiotic magic.*/
/obj/structure/signpost
icon = 'icons/obj/stationobjs.dmi'
icon_state = "signpost"
anchored = TRUE
density = TRUE
var/question = "Travel back?"
var/list/zlevels
/obj/structure/signpost/Initialize(mapload)
. = ..()
set_light(2)
zlevels = SSmapping.levels_by_trait(ZTRAIT_STATION)
/obj/structure/signpost/interact(mob/user)
. = ..()
if(.)
return
if(tgui_alert(usr,question,name,list("Yes","No")) == "Yes" && Adjacent(user))
var/turf/T = find_safe_turf(zlevels=zlevels)
if(T)
var/atom/movable/AM = user.pulling
if(AM)
AM.forceMove(T)
user.forceMove(T)
if(AM)
user.start_pulling(AM)
to_chat(user, span_notice("You blink and find yourself in [get_area_name(T)]."))
else
to_chat(user, "Nothing happens. You feel that this is a bad sign.")
/obj/structure/signpost/attackby(obj/item/W, mob/user, params)
return interact(user)
/obj/structure/signpost/attack_paw(mob/user, list/modifiers)
return interact(user)
/obj/structure/signpost/attack_hulk(mob/user)
return
/obj/structure/signpost/attack_larva(mob/user, list/modifiers)
return interact(user)
/obj/structure/signpost/attack_robot(mob/user)
if (Adjacent(user))
return interact(user)
/obj/structure/signpost/attack_slime(mob/user, list/modifiers)
return interact(user)
/obj/structure/signpost/attack_animal(mob/user, list/modifiers)
return interact(user)
/obj/structure/signpost/salvation
name = "\proper salvation"
desc = "In the darkest times, we will find our way home."
resistance_flags = INDESTRUCTIBLE
/obj/structure/signpost/exit
name = "exit"
desc = "Make sure to bring all your belongings with you when you \
exit the area."
question = "Leave? You might never come back."
/obj/structure/signpost/exit/Initialize(mapload)
. = ..()
zlevels = list()
for(var/i in 1 to world.maxz)
zlevels += i
zlevels -= SSmapping.levels_by_trait(ZTRAIT_CENTCOM) // no easy victory, even with meme signposts
// also, could you think of the horror if they ended up in a holodeck
// template or something