Files
Citadel-Station-13-RP/maps/Generic/misc.dm
silicons abe3121303 important and destructive change to the concept of species (#3991)
* 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>
2022-05-11 01:29:33 -07:00

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
*/