mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-09 16:12:17 +00:00
82 lines
2.1 KiB
Plaintext
82 lines
2.1 KiB
Plaintext
/obj/structure/shuttle
|
|
name = "shuttle"
|
|
icon = 'icons/turf/shuttle_parts.dmi'
|
|
unacidable = TRUE
|
|
|
|
/obj/structure/shuttle/window
|
|
name = "shuttle window"
|
|
icon = 'icons/obj/podwindows.dmi'
|
|
icon_state = "0_0" //The states are a bitflag for connecting window directions, then connecting shuttle wall directions
|
|
density = TRUE
|
|
opacity = 0
|
|
anchored = TRUE
|
|
can_atmos_pass = ATMOS_PASS_NO
|
|
|
|
var/window_flags = 0 // Bitflags to indicate connected windows
|
|
var/wall_flags = 0 // Bitflags to indicate connected walls
|
|
|
|
/obj/structure/shuttle/window/CanPass(atom/movable/mover, turf/target)
|
|
if(istype(mover) && mover.checkpass(PASSGLASS))
|
|
return TRUE
|
|
return ..()
|
|
|
|
/obj/structure/shuttle/window/Initialize()
|
|
. = ..()
|
|
auto_join()
|
|
|
|
/obj/structure/shuttle/window/proc/auto_join()
|
|
match_windows(NORTH, NORTH)
|
|
match_windows(EAST, EAST)
|
|
match_windows(SOUTH, SOUTH)
|
|
match_windows(WEST, WEST)
|
|
|
|
icon_state = "[window_flags]_[wall_flags]"
|
|
|
|
return icon_state
|
|
|
|
/obj/structure/shuttle/window/proc/match_windows(direction, flag, mask=0)
|
|
var/turf/adj = get_step(src, direction)
|
|
|
|
if(istype(adj,/turf/simulated/shuttle/wall))
|
|
wall_flags |= flag // turn on the bit flag
|
|
else
|
|
var/obj/structure/shuttle/window/window = locate(src.type) in adj
|
|
if(window)
|
|
window_flags |= flag // turn on the bit flag
|
|
else
|
|
window_flags &= ~flag // turn off the bit flag
|
|
wall_flags &= ~flag // turn off the bit flag
|
|
|
|
/obj/structure/shuttle/engine
|
|
name = "engine"
|
|
density = TRUE
|
|
anchored = TRUE
|
|
|
|
/obj/structure/shuttle/engine/heater
|
|
name = "heater"
|
|
icon_state = "heater"
|
|
|
|
/obj/structure/shuttle/engine/platform
|
|
name = "platform"
|
|
icon_state = "platform"
|
|
|
|
/obj/structure/shuttle/engine/propulsion
|
|
name = "propulsion"
|
|
icon_state = "propulsion"
|
|
opacity = 1
|
|
|
|
/obj/structure/shuttle/engine/propulsion/burst
|
|
name = "burst"
|
|
|
|
/obj/structure/shuttle/engine/propulsion/burst/left
|
|
name = "left"
|
|
icon_state = "burst_l"
|
|
|
|
/obj/structure/shuttle/engine/propulsion/burst/right
|
|
name = "right"
|
|
icon_state = "burst_r"
|
|
|
|
/obj/structure/shuttle/engine/router
|
|
name = "router"
|
|
icon_state = "router"
|