Files
VOREStation/code/game/objects/structures/ledges.dm
Kashargul 6e3bb1efa0 clean up flags (#18439)
* clean up flags

* wtf?

* pass it

* .

* ...

* .

* .

* fix retrace

* .

* .

* properly build

* eh static

* .

* .

---------

Co-authored-by: Cameron Lennox <killer65311@gmail.com>
2025-09-14 04:31:35 -04:00

58 lines
1.5 KiB
Plaintext

/obj/structure/ledge
name = "rock ledge"
desc = "An easily scaleable rocky ledge."
icon = 'icons/obj/ledges.dmi'
density = TRUE
throwpass = 1
anchored = TRUE
var/solidledge = 1
flags = ON_BORDER
layer = STAIRS_LAYER
icon_state = "ledge"
/obj/structure/ledge/Initialize(mapload)
. = ..()
AddElement(/datum/element/climbable, vaulting = TRUE)
/obj/structure/ledge_corner
icon_state = "ledge-corner"
flags = NONE
name = "rock ledge"
desc = "An easily scaleable rocky ledge."
icon = 'icons/obj/ledges.dmi'
density = TRUE
throwpass = 1
anchored = TRUE
layer = STAIRS_LAYER
/obj/structure/ledge_corner/Initialize(mapload)
. = ..()
AddElement(/datum/element/climbable, vaulting = TRUE)
/obj/structure/ledge/ledge_nub
desc = "Part of a rocky ledge."
icon_state = "ledge-nub"
density = FALSE
solidledge = 0
/obj/structure/ledge/ledge_stairs
name = "rock stairs"
desc = "A colorful set of rocky stairs"
icon_state = "ledge-stairs"
density = FALSE
solidledge = 0
/obj/structure/ledge/CanPass(atom/movable/mover, turf/target)
if(istype(mover) && mover.checkpass(PASSTABLE))
return TRUE
if(solidledge && get_dir(mover, target) == GLOB.reverse_dir[dir]) // From elsewhere to here, can't move against our dir
return !density
return TRUE
/obj/structure/ledge/Uncross(atom/movable/mover, turf/target)
if(istype(mover) && mover.checkpass(PASSTABLE))
return TRUE
if(solidledge && get_dir(mover, target) == dir) // From here to elsewhere, can't move in our dir
return FALSE
return TRUE