mirror of
https://github.com/Citadel-Station-13/Citadel-Station-13-RP.git
synced 2025-12-10 02:46:10 +00:00
* species stuff * initial * that * more * more * more * more * more * why * sorry * more * wack * sigh * wack * wack * more * pain * pain * how * another goddamn regex * another goddamn regex * get that * IM DONE WE ARE NOT DOING THIS AGAIN * how about we be able to debug it fuck you * please just let me debug properly * fix * paper * keys * my god species need a redo * Yikes. * why.. * fixes * fix * 'cmon bro.. * wack * wack * fix * WHY OH WHY MUST YOU DO THIS TO ME * wacky * that * that maybe * that maybe * that maybe * fix * wacky! * Wack * wack * epic * damnit zandario Co-authored-by: fake_vm_user <fake_vm_user>
252 lines
8.2 KiB
Plaintext
252 lines
8.2 KiB
Plaintext
// Invisible object that blocks z transfer to/from its turf and the turf above.
|
|
/obj/effect/ceiling
|
|
invisibility = 101 // nope cant see this
|
|
anchored = 1
|
|
|
|
/obj/effect/ceiling/CheckExit(atom/movable/O as mob|obj, turf/target as turf)
|
|
if(target && target.z > src.z)
|
|
return FALSE // Block exit from our turf to above
|
|
return TRUE
|
|
|
|
/obj/effect/ceiling/CanPass(atom/movable/mover, turf/target, height=0, air_group=0)
|
|
. = ..()
|
|
if(mover && mover.z > src.z)
|
|
return FALSE // Block entry from above to our turf
|
|
return TRUE
|
|
/* // Variant that Triumph had. Dont know what the difference between CanPass and CanAllowThrough is so Im going to leave this here in case theres an important difference - Bloop
|
|
/obj/effect/ceiling/CanAllowThrough(atom/movable/mover, turf/target, height=0, air_group=0)
|
|
. = ..()
|
|
if(mover && mover.z > src.z)
|
|
return FALSE // Block entry from above to our turf
|
|
return TRUE
|
|
*/
|
|
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
/obj/machinery/smartfridge/chemistry/chemvator
|
|
name = "\improper Smart Chemavator - Upper"
|
|
desc = "A refrigerated storage unit for medicine and chemical storage. Now sporting a fancy system of pulleys to lift bottles up and down."
|
|
var/obj/machinery/smartfridge/chemistry/chemvator/attached
|
|
|
|
/obj/machinery/smartfridge/chemistry/chemvator/down/Destroy()
|
|
attached = null
|
|
return ..()
|
|
|
|
/obj/machinery/smartfridge/chemistry/chemvator/down
|
|
name = "\improper Smart Chemavator - Lower"
|
|
|
|
/obj/machinery/smartfridge/chemistry/chemvator/down/Initialize(mapload)
|
|
// /obj/machinery/smartfridge/chemistry/chemvator/down/Initialize(mapload) // Triumph variant had initialize at mapload. Dont know why, leaving this here for reference -Bloop
|
|
. = ..()
|
|
var/obj/machinery/smartfridge/chemistry/chemvator/above = locate(/obj/machinery/smartfridge/chemistry/chemvator,get_zstep(src,UP))
|
|
if(istype(above))
|
|
above.attached = src
|
|
attached = above
|
|
item_records = attached.item_records
|
|
else
|
|
to_chat(world,"<span class='danger'>[src] at [x],[y],[z] cannot find the unit above it!</span>")
|
|
|
|
///////////////////////////////////////////////////////////////////
|
|
|
|
// TRAM STATION
|
|
//////////////////////////////////////////
|
|
|
|
// The tram's electrified maglev tracks
|
|
/turf/simulated/floor/maglev
|
|
name = "maglev track"
|
|
desc = "Magnetic levitation tram tracks. Caution! Electrified!"
|
|
icon = 'icons/turf/flooring/maglevs.dmi'
|
|
icon_state = "maglevup"
|
|
|
|
var/area/shock_area = /area/tether/surfacebase/tram
|
|
|
|
/turf/simulated/floor/maglev/Initialize(mapload)
|
|
. = ..()
|
|
shock_area = locate(shock_area)
|
|
|
|
// Walking on maglev tracks will shock you! Horray!
|
|
/turf/simulated/floor/maglev/Entered(var/atom/movable/AM, var/atom/old_loc)
|
|
if(isliving(AM) && prob(50))
|
|
track_zap(AM)
|
|
/turf/simulated/floor/maglev/attack_hand(var/mob/user)
|
|
if(prob(75))
|
|
track_zap(user)
|
|
/turf/simulated/floor/maglev/proc/track_zap(var/mob/living/user)
|
|
if (!istype(user)) return
|
|
if (electrocute_mob(user, shock_area, src))
|
|
var/datum/effect_system/spark_spread/s = new
|
|
s.set_up(5, 1, src)
|
|
s.start()
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////
|
|
|
|
/obj/item/multitool/tether_buffered // Left the initializers in tether_telecomms, will not be useful on any map besides tether (for now) - Bloop
|
|
name = "pre-linked multitool (tether hub)"
|
|
desc = "This multitool has already been linked to the Tether telecomms hub and can be used to configure one (1) relay."
|
|
|
|
/obj/item/multitool/triumph_buffered // Same as above but for triumph. Still just as useless on any other map
|
|
name = "pre-linked multitool (triumph hub)"
|
|
desc = "This multitool has already been linked to the Tether telecomms hub and can be used to configure one (1) relay."
|
|
|
|
/////////////////////////////////////////////////////////////
|
|
|
|
//Labyrinth Away Missions
|
|
/obj/structure/HonkMother
|
|
name = "The Honk Mother"
|
|
desc = "A monolithic effigy of the legendary Honk Mother, adorned with dazzling rainbow bananium."
|
|
icon = 'icons/effects/160x160.dmi'
|
|
pixel_x = -64
|
|
|
|
/obj/structure/HonkMother/Apex
|
|
icon_state = "HonkMotherApex"
|
|
|
|
/obj/structure/HonkMother/Base
|
|
icon_state = "HonkMotherBase"
|
|
|
|
/obj/effect/decal/mecha_wreckage/honker/cluwne
|
|
name = "cluwne mech wreckage"
|
|
icon_state = "cluwne-broken"
|
|
desc = "Not so funny anymore."
|
|
//////////////////////////////////////////////////////////////////////
|
|
|
|
/obj/machinery/power/smes/buildable/offmap_spawn/empty // For some reason the proc thing bellow isnt doing its job? I dont know, the SMES doesnt seem to work as intended anyways - BLoop
|
|
|
|
/obj/machinery/power/smes/buildable/offmap_spawn/empty/New()
|
|
..(1)
|
|
charge = 0
|
|
RCon = TRUE
|
|
input_level = input_level_max
|
|
output_level = output_level_max
|
|
input_attempt = TRUE
|
|
|
|
|
|
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////
|
|
|
|
// I dont know why this was in triumph's stuff, its already defined in window.dm . Gonna keep this here just in case though commented out - Bloop
|
|
/*
|
|
/obj/structure/window/reinforced/polarized/full
|
|
dir = SOUTHWEST
|
|
icon_state = "fwindow"
|
|
maxhealth = 80
|
|
*/
|
|
|
|
//////////////////////////////////////////////////////////////////////
|
|
//
|
|
// ### Wall Machines On Full Windows ###
|
|
// To make sure wall-mounted machines placed on full-tile windows are clickable they must be above the window
|
|
//
|
|
|
|
|
|
/obj/item/radio/intercom
|
|
layer = ABOVE_WINDOW_LAYER
|
|
/obj/item/storage/secure/safe
|
|
layer = ABOVE_WINDOW_LAYER
|
|
/obj/machinery/airlock_sensor
|
|
layer = ABOVE_WINDOW_LAYER
|
|
/obj/machinery/alarm
|
|
layer = ABOVE_WINDOW_LAYER
|
|
/obj/machinery/button
|
|
layer = ABOVE_WINDOW_LAYER
|
|
/obj/machinery/access_button
|
|
layer = ABOVE_WINDOW_LAYER
|
|
/obj/machinery/computer/guestpass
|
|
layer = ABOVE_WINDOW_LAYER
|
|
/obj/machinery/computer/security/telescreen
|
|
layer = ABOVE_WINDOW_LAYER
|
|
/obj/machinery/door_timer
|
|
layer = ABOVE_WINDOW_LAYER
|
|
/obj/machinery/embedded_controller
|
|
layer = ABOVE_WINDOW_LAYER
|
|
/obj/machinery/firealarm
|
|
layer = ABOVE_WINDOW_LAYER
|
|
/obj/machinery/flasher
|
|
layer = ABOVE_WINDOW_LAYER
|
|
/obj/machinery/keycard_auth
|
|
layer = ABOVE_WINDOW_LAYER
|
|
/obj/machinery/light_switch
|
|
layer = ABOVE_WINDOW_LAYER
|
|
/obj/machinery/mineral/processing_unit_console
|
|
layer = ABOVE_WINDOW_LAYER
|
|
/obj/machinery/mineral/stacking_unit_console
|
|
layer = ABOVE_WINDOW_LAYER
|
|
/obj/machinery/newscaster
|
|
layer = ABOVE_WINDOW_LAYER
|
|
/obj/machinery/power/apc
|
|
layer = ABOVE_WINDOW_LAYER
|
|
/obj/machinery/requests_console
|
|
layer = ABOVE_WINDOW_LAYER
|
|
/obj/machinery/status_display
|
|
layer = ABOVE_WINDOW_LAYER
|
|
/obj/machinery/vending/wallmed1
|
|
layer = ABOVE_WINDOW_LAYER
|
|
/obj/machinery/vending/wallmed2
|
|
layer = ABOVE_WINDOW_LAYER
|
|
/obj/structure/closet/fireaxecabinet
|
|
layer = ABOVE_WINDOW_LAYER
|
|
/obj/structure/extinguisher_cabinet
|
|
layer = ABOVE_WINDOW_LAYER
|
|
/obj/structure/mirror
|
|
layer = ABOVE_WINDOW_LAYER
|
|
/obj/structure/noticeboard
|
|
layer = ABOVE_WINDOW_LAYER
|
|
|
|
/* From Triumph's. Pretty sure its just copy pasta from above (which was from tether) but keeping a copy none the less - Bloop
|
|
|
|
/obj/item/radio/intercom
|
|
layer = ABOVE_WINDOW_LAYER
|
|
/obj/item/storage/secure/safe
|
|
layer = ABOVE_WINDOW_LAYER
|
|
/obj/machinery/airlock_sensor
|
|
layer = ABOVE_WINDOW_LAYER
|
|
/obj/machinery/alarm
|
|
layer = ABOVE_WINDOW_LAYER
|
|
/obj/machinery/button
|
|
layer = ABOVE_WINDOW_LAYER
|
|
/obj/machinery/access_button
|
|
layer = ABOVE_WINDOW_LAYER
|
|
/obj/machinery/computer/guestpass
|
|
layer = ABOVE_WINDOW_LAYER
|
|
/obj/machinery/computer/security/telescreen
|
|
layer = ABOVE_WINDOW_LAYER
|
|
/obj/machinery/door_timer
|
|
layer = ABOVE_WINDOW_LAYER
|
|
/obj/machinery/embedded_controller
|
|
layer = ABOVE_WINDOW_LAYER
|
|
/obj/machinery/firealarm
|
|
layer = ABOVE_WINDOW_LAYER
|
|
/obj/machinery/flasher
|
|
layer = ABOVE_WINDOW_LAYER
|
|
/obj/machinery/keycard_auth
|
|
layer = ABOVE_WINDOW_LAYER
|
|
/obj/machinery/light_switch
|
|
layer = ABOVE_WINDOW_LAYER
|
|
/obj/machinery/mineral/processing_unit_console
|
|
layer = ABOVE_WINDOW_LAYER
|
|
/obj/machinery/mineral/stacking_unit_console
|
|
layer = ABOVE_WINDOW_LAYER
|
|
/obj/machinery/newscaster
|
|
layer = ABOVE_WINDOW_LAYER
|
|
/obj/machinery/power/apc
|
|
layer = ABOVE_WINDOW_LAYER
|
|
/obj/machinery/requests_console
|
|
layer = ABOVE_WINDOW_LAYER
|
|
/obj/machinery/status_display
|
|
layer = ABOVE_WINDOW_LAYER
|
|
/obj/machinery/vending/wallmed1
|
|
layer = ABOVE_WINDOW_LAYER
|
|
/obj/machinery/vending/wallmed2
|
|
layer = ABOVE_WINDOW_LAYER
|
|
/obj/structure/closet/fireaxecabinet
|
|
layer = ABOVE_WINDOW_LAYER
|
|
/obj/structure/extinguisher_cabinet
|
|
layer = ABOVE_WINDOW_LAYER
|
|
/obj/structure/mirror
|
|
layer = ABOVE_WINDOW_LAYER
|
|
/obj/structure/noticeboard
|
|
layer = ABOVE_WINDOW_LAYER
|
|
*/
|