mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-02-06 14:29:17 +00:00
* uhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh * upper staircases, lots of upper floor work * railings * ai sat rework, exterior decals * ass ass ASS ASS fuckin ASSSSS * oh my god its full of stairs * forgot a file oop * railing fix on multiz test, upper atmos, external space dust deterrents * both-way rail climbing, maint work, 2nd story atmos desk, pipe/wiring/ allow floating over openspace and moving up-down openspace in nograv, trailing ends * go NORTHWESSSST * maint work, hull work, gamer time * upper security, more maint work, eva catwalks, less retarded railings, hiding signs from openspace, elevators suck, wire/pipe work * more maint work, decal work on 1st floor, called my parents they appreciated it * multiz test shit * maint work, hallway work, botany work * removed cloning, turned into general treatment, added small temp corpse storage next to treatment * eduititititit * gamers * openspace fixes * os over os fix * prison rework, hallway work, pr prep * mapmerge + remove pixel 0s * bad area and more railings, newline * unnecessary vis flags and unused computer console * public mining dock * oops lol Co-authored-by: Dennok <Deneles@yandex.ru>
62 lines
1.9 KiB
Plaintext
62 lines
1.9 KiB
Plaintext
/obj/structure/railing
|
|
name = "railing"
|
|
desc = "Basic railing meant to protect idiots like you from falling."
|
|
icon = 'icons/obj/fluff.dmi'
|
|
icon_state = "railing"
|
|
density = TRUE
|
|
anchored = TRUE
|
|
climbable = TRUE
|
|
|
|
/obj/structure/railing/corner //aesthetic corner sharp edges hurt oof ouch
|
|
icon_state = "railing_corner"
|
|
density = FALSE
|
|
climbable = FALSE
|
|
|
|
/obj/structure/railing/attackby(obj/item/I, mob/living/user, params)
|
|
..()
|
|
add_fingerprint(user)
|
|
|
|
if(I.tool_behaviour == TOOL_WELDER && user.a_intent == INTENT_HELP)
|
|
if(obj_integrity < max_integrity)
|
|
if(!I.tool_start_check(user, amount=0))
|
|
return
|
|
|
|
to_chat(user, "<span class='notice'>You begin repairing [src]...</span>")
|
|
if(I.use_tool(src, user, 40, volume=50))
|
|
obj_integrity = max_integrity
|
|
to_chat(user, "<span class='notice'>You repair [src].</span>")
|
|
else
|
|
to_chat(user, "<span class='warning'>[src] is already in good condition!</span>")
|
|
return
|
|
|
|
if(!(flags_1&NODECONSTRUCT_1))
|
|
if(I.tool_behaviour == TOOL_WRENCH)
|
|
to_chat(user, "<span class='notice'>You begin to [anchored ? "unfasten the railing from":"fasten the railing to"] the floor...</span>")
|
|
if(I.use_tool(src, user, volume = 75, extra_checks = CALLBACK(src, .proc/check_anchored, anchored)))
|
|
setAnchored(!anchored)
|
|
to_chat(user, "<span class='notice'>You [anchored ? "fasten the railing to":"unfasten the railing from"] the floor.</span>")
|
|
return
|
|
|
|
/obj/structure/railing/proc/check_anchored(checked_anchored)
|
|
if(anchored == checked_anchored)
|
|
return TRUE
|
|
|
|
/obj/structure/railing/CanPass(atom/movable/mover, turf/target)
|
|
..()
|
|
if(get_dir(loc, target) & dir)
|
|
return !density
|
|
return TRUE
|
|
|
|
/obj/structure/railing/corner/CanPass()
|
|
..()
|
|
return TRUE
|
|
|
|
/obj/structure/railing/CheckExit(atom/movable/O, turf/target)
|
|
..()
|
|
if(get_dir(loc, target) & dir)
|
|
return FALSE
|
|
return TRUE
|
|
|
|
/obj/structure/railing/corner/CheckExit()
|
|
return TRUE
|