mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-19 03:55:11 +01:00
Enhanced delam/tram counter (#75699)
## About The Pull Request Gives a makeover to the delam and tram hit counters and adds some new functionality.    https://github.com/tgstation/tgstation/assets/83487515/871fb0fd-8b92-45c5-877b-c122a034608c - The signs now remember your last 'best' score and show the crew if they're trending in the right or wrong direction since the last incident. - Safety Moth PSA panel. In the future this will dynamically change based on the current events, or function as a status display. - Tram hit counters no longer waste processing every tram hit. Previously each sign independently managed tracking, which meant that deconstructing or constructing a sign would reset it to 0 and it would become out of sync with the other signs. - Can be repaired, EMP'd ## Why It's Good For The Game Provide a little motivation to reach for that high score. The PSA changing to for example, find a locker during a delam event. ## Changelog 🆑 LT3 image: Delam and tram flipsigns have been replaced with information displays fix: Tram hit count is centrally managed instead of independently on each sign, so they won't get out of sync /🆑
This commit is contained in:
@@ -328,6 +328,14 @@
|
||||
dir = 4
|
||||
},
|
||||
/area/station/science/xenobiology)
|
||||
"ahu" = (
|
||||
/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible,
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 8
|
||||
},
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/turf/open/floor/iron/smooth,
|
||||
/area/station/engineering/supermatter/room)
|
||||
"ahy" = (
|
||||
/obj/structure/cable,
|
||||
/obj/effect/turf_decal/stripes,
|
||||
@@ -598,6 +606,16 @@
|
||||
/obj/structure/cable,
|
||||
/turf/open/floor/iron,
|
||||
/area/station/hallway/primary/starboard)
|
||||
"amU" = (
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/structure/disposalpipe/segment{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/gulag_item_reclaimer{
|
||||
pixel_y = 24
|
||||
},
|
||||
/turf/open/floor/iron/dark,
|
||||
/area/station/security/processing)
|
||||
"amV" = (
|
||||
/obj/structure/lattice/catwalk,
|
||||
/obj/structure/railing,
|
||||
@@ -784,10 +802,6 @@
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/turf/open/floor/iron/dark,
|
||||
/area/station/engineering/supermatter/room)
|
||||
"aqV" = (
|
||||
/obj/structure/chair/sofa/bench/left,
|
||||
/turf/open/floor/iron,
|
||||
/area/station/maintenance/port/aft)
|
||||
"aqW" = (
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/structure/chair/sofa/bench/right{
|
||||
@@ -2652,6 +2666,17 @@
|
||||
/obj/machinery/light/dim/directional/north,
|
||||
/turf/open/floor/iron/smooth,
|
||||
/area/station/engineering/atmos)
|
||||
"bjg" = (
|
||||
/obj/machinery/incident_display/delam/directional/north,
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 9
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/smart/simple/green/visible{
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/turf/open/floor/iron/smooth,
|
||||
/area/station/engineering/supermatter/room)
|
||||
"bjp" = (
|
||||
/obj/structure/cable,
|
||||
/obj/structure/rack,
|
||||
@@ -5069,12 +5094,6 @@
|
||||
/obj/machinery/duct,
|
||||
/turf/open/floor/iron/kitchen/small,
|
||||
/area/station/security/prison/mess)
|
||||
"cgs" = (
|
||||
/obj/effect/turf_decal/tile/yellow/opposingcorners,
|
||||
/obj/structure/extinguisher_cabinet/directional/west,
|
||||
/obj/machinery/vending/wardrobe/atmos_wardrobe,
|
||||
/turf/open/floor/iron,
|
||||
/area/station/engineering/atmospherics_engine)
|
||||
"cgy" = (
|
||||
/obj/effect/turf_decal/stripes/red/line{
|
||||
dir = 4
|
||||
@@ -7335,11 +7354,6 @@
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/turf/open/floor/plating,
|
||||
/area/station/engineering/atmos)
|
||||
"dcp" = (
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/machinery/camera/autoname/directional/north,
|
||||
/turf/open/floor/iron/small,
|
||||
/area/station/engineering/atmos)
|
||||
"dcG" = (
|
||||
/obj/machinery/atmospherics/pipe/smart/manifold/pink/visible{
|
||||
dir = 8
|
||||
@@ -8131,15 +8145,6 @@
|
||||
/obj/item/airlock_painter,
|
||||
/turf/open/floor/iron/small,
|
||||
/area/station/engineering/atmos)
|
||||
"dsr" = (
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 8
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible,
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/structure/sign/delamination_counter/directional/west,
|
||||
/turf/open/floor/iron/smooth,
|
||||
/area/station/engineering/supermatter/room)
|
||||
"dst" = (
|
||||
/obj/effect/turf_decal/siding/white{
|
||||
dir = 4
|
||||
@@ -12375,10 +12380,6 @@
|
||||
/obj/machinery/light/directional/south,
|
||||
/turf/open/floor/iron/small,
|
||||
/area/station/engineering/atmos)
|
||||
"eVb" = (
|
||||
/obj/structure/closet/secure_closet/engineering_welding,
|
||||
/turf/open/floor/iron/small,
|
||||
/area/station/engineering/atmos)
|
||||
"eVe" = (
|
||||
/obj/effect/turf_decal/stripes/white/line{
|
||||
dir = 6
|
||||
@@ -13703,6 +13704,11 @@
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/turf/open/floor/iron,
|
||||
/area/station/hallway/secondary/dock)
|
||||
"fwn" = (
|
||||
/obj/structure/closet/secure_closet/engineering_welding,
|
||||
/obj/item/radio/intercom/directional/south,
|
||||
/turf/open/floor/iron/small,
|
||||
/area/station/engineering/atmos)
|
||||
"fwF" = (
|
||||
/obj/structure/cable,
|
||||
/obj/structure/disposalpipe/segment,
|
||||
@@ -14230,12 +14236,6 @@
|
||||
},
|
||||
/turf/open/floor/iron/textured_large,
|
||||
/area/station/engineering/break_room)
|
||||
"fDz" = (
|
||||
/obj/structure/chair/sofa/bench/right,
|
||||
/obj/effect/mapping_helpers/broken_floor,
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/turf/open/floor/iron,
|
||||
/area/station/maintenance/port/aft)
|
||||
"fDC" = (
|
||||
/obj/structure/disposalpipe/segment,
|
||||
/turf/open/floor/iron,
|
||||
@@ -17016,15 +17016,6 @@
|
||||
/obj/machinery/portable_atmospherics/canister/plasma,
|
||||
/turf/open/floor/plating,
|
||||
/area/station/engineering/atmos/storage/gas)
|
||||
"gDV" = (
|
||||
/obj/structure/table,
|
||||
/obj/item/storage/box/prisoner{
|
||||
pixel_y = 6
|
||||
},
|
||||
/obj/machinery/light/cold/directional/north,
|
||||
/obj/effect/turf_decal/tile/dark_red/opposingcorners,
|
||||
/turf/open/floor/iron,
|
||||
/area/station/security/tram)
|
||||
"gEc" = (
|
||||
/obj/structure/closet/emcloset,
|
||||
/turf/open/floor/plating,
|
||||
@@ -17165,15 +17156,6 @@
|
||||
},
|
||||
/turf/open/floor/iron/smooth,
|
||||
/area/station/security/checkpoint/customs)
|
||||
"gHn" = (
|
||||
/obj/machinery/computer/security/mining,
|
||||
/obj/effect/turf_decal/tile/neutral/fourcorners,
|
||||
/obj/effect/turf_decal/siding/brown{
|
||||
dir = 1
|
||||
},
|
||||
/obj/machinery/status_display/ai/directional/north,
|
||||
/turf/open/floor/iron/smooth,
|
||||
/area/station/command/bridge)
|
||||
"gHA" = (
|
||||
/obj/structure/chair/wood{
|
||||
dir = 8
|
||||
@@ -17182,24 +17164,6 @@
|
||||
/obj/machinery/light/small/directional/south,
|
||||
/turf/open/floor/wood,
|
||||
/area/station/service/chapel/funeral)
|
||||
"gHG" = (
|
||||
/obj/machinery/computer/cargo/request,
|
||||
/obj/effect/turf_decal/tile/neutral/fourcorners,
|
||||
/obj/effect/turf_decal/siding/brown{
|
||||
dir = 1
|
||||
},
|
||||
/obj/machinery/light/cold/directional/north,
|
||||
/obj/item/radio/intercom/directional/north,
|
||||
/turf/open/floor/iron/smooth,
|
||||
/area/station/command/bridge)
|
||||
"gHJ" = (
|
||||
/obj/structure/hedge,
|
||||
/obj/effect/turf_decal/tile/neutral/fourcorners,
|
||||
/obj/effect/turf_decal/siding/brown{
|
||||
dir = 5
|
||||
},
|
||||
/turf/open/floor/iron/smooth,
|
||||
/area/station/command/bridge)
|
||||
"gHP" = (
|
||||
/obj/structure/hedge,
|
||||
/obj/effect/mapping_helpers/broken_floor,
|
||||
@@ -22660,6 +22624,15 @@
|
||||
/obj/machinery/airalarm/directional/east,
|
||||
/turf/open/floor/iron,
|
||||
/area/station/hallway/secondary/entry)
|
||||
"ixR" = (
|
||||
/obj/structure/hedge,
|
||||
/obj/effect/turf_decal/tile/neutral/fourcorners,
|
||||
/obj/effect/turf_decal/siding/brown{
|
||||
dir = 5
|
||||
},
|
||||
/obj/item/radio/intercom/directional/north,
|
||||
/turf/open/floor/iron/smooth,
|
||||
/area/station/command/bridge)
|
||||
"ixU" = (
|
||||
/obj/effect/turf_decal/tile/neutral/fourcorners,
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
@@ -23550,6 +23523,12 @@
|
||||
},
|
||||
/turf/open/floor/iron/dark/small,
|
||||
/area/station/medical/psychology)
|
||||
"iOp" = (
|
||||
/obj/effect/turf_decal/tile/yellow/opposingcorners,
|
||||
/obj/structure/extinguisher_cabinet/directional/west,
|
||||
/obj/machinery/vending/wardrobe/atmos_wardrobe,
|
||||
/turf/open/floor/iron,
|
||||
/area/station/engineering/atmospherics_engine)
|
||||
"iOq" = (
|
||||
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
|
||||
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
|
||||
@@ -23649,6 +23628,16 @@
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/turf/open/floor/iron,
|
||||
/area/station/maintenance/hallway/abandoned_command)
|
||||
"iQr" = (
|
||||
/obj/structure/table,
|
||||
/obj/item/storage/box/prisoner{
|
||||
pixel_y = 6
|
||||
},
|
||||
/obj/machinery/light/cold/directional/north,
|
||||
/obj/effect/turf_decal/tile/dark_red/opposingcorners,
|
||||
/obj/machinery/incident_display/tram/directional/north,
|
||||
/turf/open/floor/iron,
|
||||
/area/station/security/tram)
|
||||
"iQv" = (
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 10
|
||||
@@ -25314,6 +25303,12 @@
|
||||
/obj/effect/mapping_helpers/broken_floor,
|
||||
/turf/open/floor/plating,
|
||||
/area/station/maintenance/starboard/aft)
|
||||
"jwI" = (
|
||||
/obj/effect/turf_decal/tile/yellow/opposingcorners,
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/machinery/portable_atmospherics/canister,
|
||||
/turf/open/floor/iron,
|
||||
/area/station/engineering/atmospherics_engine)
|
||||
"jxd" = (
|
||||
/obj/machinery/atmospherics/pipe/smart/simple/purple/visible/layer2{
|
||||
dir = 9
|
||||
@@ -29685,6 +29680,15 @@
|
||||
/obj/structure/sign/poster/official/random/directional/north,
|
||||
/turf/open/floor/plating,
|
||||
/area/station/hallway/secondary/dock)
|
||||
"kYp" = (
|
||||
/obj/machinery/computer/security/mining,
|
||||
/obj/effect/turf_decal/tile/neutral/fourcorners,
|
||||
/obj/effect/turf_decal/siding/brown{
|
||||
dir = 1
|
||||
},
|
||||
/obj/machinery/incident_display/dual/directional/north,
|
||||
/turf/open/floor/iron/smooth,
|
||||
/area/station/command/bridge)
|
||||
"kYG" = (
|
||||
/obj/structure/cable,
|
||||
/turf/open/floor/iron,
|
||||
@@ -30383,11 +30387,6 @@
|
||||
/obj/item/pickaxe,
|
||||
/turf/open/misc/asteroid,
|
||||
/area/station/maintenance/starboard/greater)
|
||||
"lib" = (
|
||||
/obj/structure/chair/sofa/bench,
|
||||
/obj/machinery/airalarm/directional/north,
|
||||
/turf/open/floor/iron,
|
||||
/area/station/maintenance/port/aft)
|
||||
"liG" = (
|
||||
/obj/structure/cable,
|
||||
/obj/structure/table/glass,
|
||||
@@ -33463,6 +33462,11 @@
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/station/maintenance/department/science/xenobiology)
|
||||
"mlW" = (
|
||||
/obj/structure/chair/sofa/bench/left,
|
||||
/obj/machinery/airalarm/directional/north,
|
||||
/turf/open/floor/iron,
|
||||
/area/station/maintenance/port/aft)
|
||||
"mmf" = (
|
||||
/obj/structure/table,
|
||||
/obj/effect/mapping_helpers/broken_floor,
|
||||
@@ -35124,12 +35128,6 @@
|
||||
dir = 8
|
||||
},
|
||||
/area/station/command/heads_quarters/hos)
|
||||
"mRj" = (
|
||||
/obj/structure/chair/sofa/bench/right,
|
||||
/obj/machinery/light/small/directional/north,
|
||||
/obj/effect/turf_decal/tile/dark_red/opposingcorners,
|
||||
/turf/open/floor/iron,
|
||||
/area/station/security/tram)
|
||||
"mRl" = (
|
||||
/obj/machinery/door/airlock/engineering{
|
||||
name = "Smoke Room"
|
||||
@@ -39568,16 +39566,6 @@
|
||||
/obj/machinery/camera/autoname/directional/north,
|
||||
/turf/open/floor/iron,
|
||||
/area/station/security/lockers)
|
||||
"oAu" = (
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 9
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/smart/simple/green/visible{
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/turf/open/floor/iron/smooth,
|
||||
/area/station/engineering/supermatter/room)
|
||||
"oAA" = (
|
||||
/obj/structure/closet/emcloset,
|
||||
/obj/effect/mapping_helpers/broken_floor,
|
||||
@@ -45675,12 +45663,6 @@
|
||||
/obj/effect/turf_decal/stripes/red/line,
|
||||
/turf/open/floor/iron/small,
|
||||
/area/station/hallway/secondary/exit/departure_lounge)
|
||||
"qAz" = (
|
||||
/obj/effect/turf_decal/tile/yellow/opposingcorners,
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/machinery/portable_atmospherics/canister,
|
||||
/turf/open/floor/iron,
|
||||
/area/station/engineering/atmospherics_engine)
|
||||
"qAE" = (
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/effect/landmark/generic_maintenance_landmark,
|
||||
@@ -47304,6 +47286,10 @@
|
||||
/obj/machinery/airalarm/directional/west,
|
||||
/turf/open/floor/iron,
|
||||
/area/station/hallway/secondary/dock)
|
||||
"raR" = (
|
||||
/obj/structure/chair/sofa/bench,
|
||||
/turf/open/floor/iron,
|
||||
/area/station/maintenance/port/aft)
|
||||
"raX" = (
|
||||
/obj/structure/chair/sofa/bamboo/right{
|
||||
dir = 4
|
||||
@@ -48845,15 +48831,6 @@
|
||||
/obj/effect/mapping_helpers/broken_floor,
|
||||
/turf/open/floor/plating,
|
||||
/area/station/maintenance/starboard/lesser)
|
||||
"rAj" = (
|
||||
/obj/effect/mapping_helpers/broken_floor,
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/effect/landmark/generic_maintenance_landmark,
|
||||
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/iron,
|
||||
/area/station/maintenance/department/medical/central)
|
||||
"rAn" = (
|
||||
/obj/structure/closet/secure_closet/hydroponics,
|
||||
/obj/effect/turf_decal/bot,
|
||||
@@ -55926,6 +55903,13 @@
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/station/commons/vacant_room/commissary)
|
||||
"tNV" = (
|
||||
/obj/structure/chair/sofa/bench/right,
|
||||
/obj/effect/mapping_helpers/broken_floor,
|
||||
/obj/machinery/incident_display/tram/directional/north,
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/turf/open/floor/iron,
|
||||
/area/station/maintenance/port/aft)
|
||||
"tOk" = (
|
||||
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
|
||||
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
|
||||
@@ -56396,6 +56380,16 @@
|
||||
/obj/structure/reagent_dispensers/watertank,
|
||||
/turf/open/floor/iron/white/corner,
|
||||
/area/station/science/xenobiology)
|
||||
"tXv" = (
|
||||
/obj/effect/mapping_helpers/broken_floor,
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/effect/landmark/generic_maintenance_landmark,
|
||||
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/incident_display/tram/directional/north,
|
||||
/turf/open/floor/iron,
|
||||
/area/station/maintenance/department/medical/central)
|
||||
"tXw" = (
|
||||
/obj/structure/disposalpipe/segment{
|
||||
dir = 9
|
||||
@@ -57757,16 +57751,6 @@
|
||||
/obj/item/canvas/twentythree_twentythree,
|
||||
/turf/open/floor/sepia,
|
||||
/area/station/maintenance/aft)
|
||||
"usI" = (
|
||||
/obj/structure/table,
|
||||
/obj/item/storage/box/bodybags{
|
||||
pixel_x = 4;
|
||||
pixel_y = 5
|
||||
},
|
||||
/obj/effect/turf_decal/tile/dark_red/opposingcorners,
|
||||
/obj/machinery/airalarm/directional/north,
|
||||
/turf/open/floor/iron,
|
||||
/area/station/security/tram)
|
||||
"usJ" = (
|
||||
/turf/open/floor/iron/kitchen/small,
|
||||
/area/station/maintenance/aft)
|
||||
@@ -64048,6 +64032,12 @@
|
||||
/obj/effect/turf_decal/tile/dark_red/fourcorners,
|
||||
/turf/open/floor/iron,
|
||||
/area/station/security/execution/transfer)
|
||||
"wpG" = (
|
||||
/obj/machinery/camera/autoname/directional/north,
|
||||
/obj/machinery/incident_display/dual/directional/north,
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/turf/open/floor/iron/small,
|
||||
/area/station/engineering/atmos)
|
||||
"wpO" = (
|
||||
/turf/closed/wall/r_wall,
|
||||
/area/station/security/processing)
|
||||
@@ -65960,6 +65950,16 @@
|
||||
},
|
||||
/turf/open/floor/iron/white/corner,
|
||||
/area/station/hallway/primary/aft)
|
||||
"wTI" = (
|
||||
/obj/structure/table,
|
||||
/obj/item/storage/box/bodybags{
|
||||
pixel_x = 4;
|
||||
pixel_y = 5
|
||||
},
|
||||
/obj/effect/turf_decal/tile/dark_red/opposingcorners,
|
||||
/obj/machinery/airalarm/directional/east,
|
||||
/turf/open/floor/iron,
|
||||
/area/station/security/tram)
|
||||
"wTJ" = (
|
||||
/obj/structure/table,
|
||||
/obj/item/computer_disk{
|
||||
@@ -67558,16 +67558,6 @@
|
||||
"xpf" = (
|
||||
/turf/closed/wall/mineral/titanium/nodiagonal,
|
||||
/area/station/maintenance/disposal/incinerator)
|
||||
"xpg" = (
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/structure/disposalpipe/segment{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/gulag_item_reclaimer{
|
||||
pixel_y = 24
|
||||
},
|
||||
/turf/open/floor/iron/dark,
|
||||
/area/station/security/processing)
|
||||
"xpl" = (
|
||||
/obj/structure/cable,
|
||||
/obj/structure/disposalpipe/segment{
|
||||
@@ -68108,6 +68098,15 @@
|
||||
/obj/effect/landmark/start/depsec/science,
|
||||
/turf/open/floor/iron,
|
||||
/area/station/security/checkpoint/science)
|
||||
"xvE" = (
|
||||
/obj/machinery/computer/cargo/request,
|
||||
/obj/effect/turf_decal/tile/neutral/fourcorners,
|
||||
/obj/effect/turf_decal/siding/brown{
|
||||
dir = 1
|
||||
},
|
||||
/obj/machinery/light/cold/directional/north,
|
||||
/turf/open/floor/iron/smooth,
|
||||
/area/station/command/bridge)
|
||||
"xvF" = (
|
||||
/turf/open/floor/catwalk_floor/iron_dark,
|
||||
/area/station/science/xenobiology)
|
||||
@@ -70892,6 +70891,13 @@
|
||||
/obj/effect/spawner/structure/window/reinforced,
|
||||
/turf/open/floor/plating,
|
||||
/area/station/maintenance/department/science/xenobiology)
|
||||
"yfT" = (
|
||||
/obj/structure/chair/sofa/bench/right,
|
||||
/obj/machinery/light/small/directional/north,
|
||||
/obj/effect/turf_decal/tile/dark_red/opposingcorners,
|
||||
/obj/machinery/incident_display/tram/directional/north,
|
||||
/turf/open/floor/iron,
|
||||
/area/station/security/tram)
|
||||
"yfX" = (
|
||||
/turf/open/floor/plating/rust,
|
||||
/area/station/maintenance/fore/greater)
|
||||
@@ -79879,8 +79885,8 @@ buN
|
||||
byV
|
||||
bCu
|
||||
bCu
|
||||
qAz
|
||||
cgs
|
||||
jwI
|
||||
iOp
|
||||
jZl
|
||||
aJq
|
||||
aJq
|
||||
@@ -81662,7 +81668,7 @@ cwg
|
||||
xZV
|
||||
xZV
|
||||
xYG
|
||||
oAu
|
||||
bjg
|
||||
tod
|
||||
vFW
|
||||
aAt
|
||||
@@ -82439,7 +82445,7 @@ coA
|
||||
hzi
|
||||
bEG
|
||||
leh
|
||||
dsr
|
||||
ahu
|
||||
aVj
|
||||
bJL
|
||||
iQv
|
||||
@@ -86302,9 +86308,9 @@ dzT
|
||||
bpm
|
||||
dWp
|
||||
ybO
|
||||
dcp
|
||||
wpG
|
||||
tly
|
||||
eVb
|
||||
fwn
|
||||
lPf
|
||||
fNk
|
||||
glB
|
||||
@@ -86442,7 +86448,7 @@ dDB
|
||||
dDB
|
||||
rtQ
|
||||
rtQ
|
||||
gDV
|
||||
iQr
|
||||
vKG
|
||||
nne
|
||||
oKy
|
||||
@@ -86699,7 +86705,7 @@ blb
|
||||
blb
|
||||
blb
|
||||
rtQ
|
||||
usI
|
||||
wTI
|
||||
pzA
|
||||
abJ
|
||||
vKG
|
||||
@@ -86929,7 +86935,7 @@ wuc
|
||||
pvh
|
||||
lQG
|
||||
lzM
|
||||
mRj
|
||||
yfT
|
||||
uMu
|
||||
ulI
|
||||
lzM
|
||||
@@ -88738,7 +88744,7 @@ ujr
|
||||
rKv
|
||||
dYp
|
||||
trp
|
||||
fDz
|
||||
tNV
|
||||
xul
|
||||
knJ
|
||||
fAr
|
||||
@@ -88995,7 +89001,7 @@ etx
|
||||
fwS
|
||||
ePg
|
||||
trp
|
||||
lib
|
||||
raR
|
||||
knJ
|
||||
xul
|
||||
mxM
|
||||
@@ -89230,7 +89236,7 @@ bCf
|
||||
xur
|
||||
xLl
|
||||
xur
|
||||
xpg
|
||||
amU
|
||||
xzE
|
||||
wuc
|
||||
psX
|
||||
@@ -89252,7 +89258,7 @@ kIn
|
||||
sgT
|
||||
oRP
|
||||
trp
|
||||
aqV
|
||||
mlW
|
||||
knJ
|
||||
nFu
|
||||
mxM
|
||||
@@ -95839,7 +95845,7 @@ dDB
|
||||
dDB
|
||||
dDB
|
||||
ycC
|
||||
gHn
|
||||
kYp
|
||||
mPJ
|
||||
mPJ
|
||||
ipD
|
||||
@@ -96096,7 +96102,7 @@ dDB
|
||||
dDB
|
||||
dDB
|
||||
ycC
|
||||
gHG
|
||||
xvE
|
||||
mQz
|
||||
noq
|
||||
iqp
|
||||
@@ -96353,7 +96359,7 @@ blb
|
||||
blb
|
||||
ycC
|
||||
ycC
|
||||
gHJ
|
||||
ixR
|
||||
kHi
|
||||
gLM
|
||||
iqF
|
||||
@@ -98505,7 +98511,7 @@ xXG
|
||||
wgL
|
||||
hcv
|
||||
sSQ
|
||||
rAj
|
||||
tXv
|
||||
uOw
|
||||
eBQ
|
||||
qDD
|
||||
|
||||
@@ -8149,7 +8149,6 @@
|
||||
/obj/structure/cable,
|
||||
/obj/item/kirbyplants/random,
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/machinery/light_switch/directional/north,
|
||||
/obj/machinery/camera/directional/north{
|
||||
c_tag = "Engineering - Fore";
|
||||
name = "engineering camera"
|
||||
@@ -19165,8 +19164,8 @@
|
||||
"eNt" = (
|
||||
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
|
||||
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
|
||||
/obj/item/radio/intercom/directional/north,
|
||||
/obj/effect/turf_decal/tile/yellow/opposingcorners,
|
||||
/obj/machinery/incident_display/delam/directional/north,
|
||||
/turf/open/floor/iron,
|
||||
/area/station/engineering/supermatter/room)
|
||||
"eNB" = (
|
||||
@@ -20113,9 +20112,7 @@
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 1
|
||||
},
|
||||
/obj/structure/sign/nanotrasen{
|
||||
pixel_y = 32
|
||||
},
|
||||
/obj/machinery/incident_display/delam/directional/north,
|
||||
/turf/open/floor/iron,
|
||||
/area/station/engineering/main)
|
||||
"eYy" = (
|
||||
@@ -45100,10 +45097,8 @@
|
||||
/turf/open/floor/iron/white,
|
||||
/area/station/medical/virology)
|
||||
"ljO" = (
|
||||
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
|
||||
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
|
||||
/obj/machinery/status_display/ai/directional/north,
|
||||
/obj/effect/turf_decal/tile/yellow/opposingcorners,
|
||||
/obj/machinery/atmospherics/pipe/smart/manifold4w/brown/visible,
|
||||
/obj/machinery/incident_display/delam/directional/south,
|
||||
/turf/open/floor/iron,
|
||||
/area/station/engineering/supermatter/room)
|
||||
"ljP" = (
|
||||
@@ -49119,7 +49114,6 @@
|
||||
/area/station/engineering/main)
|
||||
"mnh" = (
|
||||
/obj/structure/table/reinforced,
|
||||
/obj/machinery/airalarm/directional/north,
|
||||
/obj/effect/spawner/random/entertainment/cigarette_pack{
|
||||
pixel_x = 3;
|
||||
pixel_y = 2
|
||||
@@ -50087,7 +50081,6 @@
|
||||
/area/station/command/corporate_showroom)
|
||||
"mzO" = (
|
||||
/obj/structure/table/reinforced,
|
||||
/obj/machinery/newscaster/directional/north,
|
||||
/obj/item/clipboard,
|
||||
/obj/item/toy/figure/engineer{
|
||||
pixel_x = -6
|
||||
@@ -50095,6 +50088,7 @@
|
||||
/obj/item/toy/figure/atmos{
|
||||
pixel_x = 6
|
||||
},
|
||||
/obj/machinery/incident_display/delam/directional/north,
|
||||
/turf/open/floor/wood,
|
||||
/area/station/engineering/break_room)
|
||||
"mzV" = (
|
||||
@@ -76836,7 +76830,6 @@
|
||||
/turf/open/floor/iron,
|
||||
/area/station/hallway/primary/central/aft)
|
||||
"tou" = (
|
||||
/obj/structure/sign/delamination_counter/directional/west,
|
||||
/obj/machinery/airalarm/directional/north,
|
||||
/obj/effect/mapping_helpers/airalarm/engine_access,
|
||||
/turf/open/floor/engine,
|
||||
@@ -79853,6 +79846,7 @@
|
||||
/obj/machinery/airalarm/directional/east,
|
||||
/obj/structure/closet/firecloset,
|
||||
/obj/effect/turf_decal/delivery,
|
||||
/obj/item/radio/intercom/directional/north,
|
||||
/turf/open/floor/iron,
|
||||
/area/station/engineering/supermatter/room)
|
||||
"tZi" = (
|
||||
@@ -86830,6 +86824,9 @@
|
||||
dir = 1
|
||||
},
|
||||
/obj/machinery/firealarm/directional/north,
|
||||
/obj/machinery/light_switch/directional/north{
|
||||
pixel_x = -8
|
||||
},
|
||||
/turf/open/floor/iron,
|
||||
/area/station/engineering/main)
|
||||
"vLd" = (
|
||||
@@ -90012,7 +90009,7 @@
|
||||
/obj/structure/cable,
|
||||
/obj/effect/landmark/start/hangover,
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/structure/sign/delamination_counter/directional/north,
|
||||
/obj/machinery/airalarm/directional/north,
|
||||
/turf/open/floor/iron,
|
||||
/area/station/engineering/break_room)
|
||||
"wyN" = (
|
||||
@@ -116964,7 +116961,7 @@ glb
|
||||
dRK
|
||||
wcP
|
||||
yeO
|
||||
nbZ
|
||||
ljO
|
||||
nCi
|
||||
kmS
|
||||
fCk
|
||||
@@ -117222,7 +117219,7 @@ vrs
|
||||
qJI
|
||||
iQV
|
||||
nbZ
|
||||
akM
|
||||
nCi
|
||||
cOx
|
||||
uGn
|
||||
axu
|
||||
@@ -119266,7 +119263,7 @@ jZV
|
||||
jZV
|
||||
gAw
|
||||
gAw
|
||||
ljO
|
||||
qJs
|
||||
okr
|
||||
bWa
|
||||
nrP
|
||||
@@ -122085,7 +122082,7 @@ elK
|
||||
jyz
|
||||
xbD
|
||||
kgP
|
||||
lDV
|
||||
tqo
|
||||
bVI
|
||||
vvH
|
||||
oks
|
||||
|
||||
@@ -695,7 +695,6 @@
|
||||
/obj/machinery/light/directional/west,
|
||||
/obj/machinery/meter,
|
||||
/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
|
||||
/obj/machinery/status_display/ai/directional/west,
|
||||
/turf/open/floor/engine,
|
||||
/area/station/engineering/supermatter/room)
|
||||
"anK" = (
|
||||
@@ -1608,6 +1607,10 @@
|
||||
/obj/machinery/newscaster/directional/west,
|
||||
/turf/open/floor/iron/grimy,
|
||||
/area/station/service/bar/atrium)
|
||||
"aAf" = (
|
||||
/obj/machinery/incident_display/delam,
|
||||
/turf/closed/wall/r_wall,
|
||||
/area/station/command/bridge)
|
||||
"aAi" = (
|
||||
/obj/structure/window/reinforced/spawner/directional/north,
|
||||
/obj/structure/table/wood/fancy/red,
|
||||
@@ -23087,6 +23090,14 @@
|
||||
},
|
||||
/turf/open/floor/iron,
|
||||
/area/station/engineering/main)
|
||||
"hqE" = (
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 1
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
|
||||
/obj/machinery/status_display/ai/directional/north,
|
||||
/turf/open/floor/engine,
|
||||
/area/station/engineering/supermatter/room)
|
||||
"hqV" = (
|
||||
/obj/structure/sign/warning/radiation/rad_area,
|
||||
/turf/closed/wall/r_wall,
|
||||
@@ -52957,7 +52968,6 @@
|
||||
},
|
||||
/obj/machinery/light/directional/east,
|
||||
/obj/machinery/atmospherics/pipe/smart/manifold4w/orange/visible,
|
||||
/obj/machinery/status_display/evac/directional/east,
|
||||
/turf/open/floor/engine,
|
||||
/area/station/engineering/supermatter/room)
|
||||
"qQt" = (
|
||||
@@ -59323,6 +59333,14 @@
|
||||
/obj/effect/mapping_helpers/burnt_floor,
|
||||
/turf/open/floor/plating,
|
||||
/area/station/maintenance/starboard/fore)
|
||||
"sRL" = (
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 1
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
|
||||
/obj/machinery/incident_display/delam/directional/north,
|
||||
/turf/open/floor/engine,
|
||||
/area/station/engineering/supermatter/room)
|
||||
"sRQ" = (
|
||||
/obj/structure/window/reinforced/spawner/directional/west,
|
||||
/obj/structure/table/wood,
|
||||
@@ -66449,7 +66467,6 @@
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 6
|
||||
},
|
||||
/obj/structure/sign/delamination_counter/directional/north,
|
||||
/turf/open/floor/iron/white/textured,
|
||||
/area/station/command/heads_quarters/ce)
|
||||
"vkD" = (
|
||||
@@ -74320,13 +74337,8 @@
|
||||
/turf/open/floor/plating,
|
||||
/area/station/maintenance/department/electrical)
|
||||
"xFM" = (
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 1
|
||||
},
|
||||
/obj/machinery/light/directional/north,
|
||||
/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
|
||||
/obj/structure/sign/delamination_counter/directional/north,
|
||||
/turf/open/floor/engine,
|
||||
/obj/machinery/incident_display/delam,
|
||||
/turf/closed/wall/r_wall,
|
||||
/area/station/engineering/supermatter/room)
|
||||
"xFU" = (
|
||||
/obj/structure/barricade/wooden,
|
||||
@@ -235432,7 +235444,7 @@ gTK
|
||||
gTK
|
||||
myX
|
||||
sSJ
|
||||
gka
|
||||
xFM
|
||||
eEh
|
||||
fab
|
||||
eDC
|
||||
@@ -235443,7 +235455,7 @@ agm
|
||||
fNN
|
||||
esE
|
||||
wuo
|
||||
cSH
|
||||
sRL
|
||||
oyz
|
||||
mLV
|
||||
fDn
|
||||
@@ -235700,7 +235712,7 @@ spv
|
||||
dwy
|
||||
spv
|
||||
wuo
|
||||
xFM
|
||||
pry
|
||||
kUz
|
||||
mLV
|
||||
gka
|
||||
@@ -236985,7 +236997,7 @@ esE
|
||||
fNN
|
||||
esE
|
||||
wuo
|
||||
cSH
|
||||
hqE
|
||||
iam
|
||||
mLV
|
||||
fDn
|
||||
@@ -237939,7 +237951,7 @@ xwC
|
||||
utR
|
||||
pAZ
|
||||
bln
|
||||
qWZ
|
||||
aAf
|
||||
oxe
|
||||
vmj
|
||||
aqB
|
||||
|
||||
@@ -9565,11 +9565,6 @@
|
||||
/turf/open/floor/iron/dark,
|
||||
/area/station/ai_monitored/turret_protected/aisat_interior)
|
||||
"dHg" = (
|
||||
/obj/structure/sign/map/right{
|
||||
desc = "A framed picture of the station. Clockwise from security at the top (red), you see engineering (yellow), science (purple), escape (red and white), medbay (green), arrivals (blue and white), and finally cargo (brown).";
|
||||
icon_state = "map-right-MS";
|
||||
pixel_y = 32
|
||||
},
|
||||
/obj/machinery/computer/atmos_alert,
|
||||
/obj/effect/turf_decal/tile/neutral/fourcorners,
|
||||
/turf/open/floor/iron/dark,
|
||||
@@ -9762,10 +9757,10 @@
|
||||
"dKL" = (
|
||||
/obj/structure/closet/toolcloset,
|
||||
/obj/effect/turf_decal/bot,
|
||||
/obj/structure/sign/poster/official/random/directional/north,
|
||||
/obj/effect/turf_decal/tile/yellow{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/incident_display/delam/directional/north,
|
||||
/turf/open/floor/iron/dark/corner{
|
||||
dir = 1
|
||||
},
|
||||
@@ -22913,7 +22908,6 @@
|
||||
name = "Engineering Security Doors"
|
||||
},
|
||||
/obj/effect/turf_decal/caution/stand_clear,
|
||||
/obj/structure/sign/delamination_counter/directional/north,
|
||||
/turf/open/floor/iron/dark,
|
||||
/area/station/engineering/break_room)
|
||||
"iug" = (
|
||||
@@ -29219,15 +29213,11 @@
|
||||
/turf/open/floor/iron,
|
||||
/area/station/command/teleporter)
|
||||
"kCq" = (
|
||||
/obj/structure/sign/map/left{
|
||||
desc = "A framed picture of the station. Clockwise from security at the top (red), you see engineering (yellow), science (purple), escape (red and white), medbay (green), arrivals (blue and white), and finally cargo (brown).";
|
||||
icon_state = "map-left-MS";
|
||||
pixel_y = 32
|
||||
},
|
||||
/obj/machinery/firealarm/directional/west,
|
||||
/obj/machinery/modular_computer/preset/engineering,
|
||||
/obj/structure/cable,
|
||||
/obj/effect/turf_decal/tile/neutral/fourcorners,
|
||||
/obj/machinery/incident_display/delam/directional/north,
|
||||
/turf/open/floor/iron/dark,
|
||||
/area/station/engineering/main)
|
||||
"kCr" = (
|
||||
@@ -33669,7 +33659,6 @@
|
||||
dir = 4;
|
||||
name = "Gas to Chamber"
|
||||
},
|
||||
/obj/structure/sign/delamination_counter/directional/north,
|
||||
/turf/open/floor/engine,
|
||||
/area/station/engineering/supermatter)
|
||||
"mkO" = (
|
||||
@@ -34268,10 +34257,10 @@
|
||||
},
|
||||
/obj/item/wrench,
|
||||
/obj/item/multitool,
|
||||
/obj/machinery/newscaster/directional/south,
|
||||
/obj/effect/turf_decal/tile/blue/half/contrasted{
|
||||
dir = 1
|
||||
},
|
||||
/obj/machinery/incident_display/delam/directional/south,
|
||||
/turf/open/floor/iron/dark,
|
||||
/area/station/command/bridge)
|
||||
"mwj" = (
|
||||
@@ -57723,6 +57712,12 @@
|
||||
/obj/structure/chair/stool/directional/east,
|
||||
/turf/open/floor/iron,
|
||||
/area/station/commons/locker)
|
||||
"uJL" = (
|
||||
/obj/effect/turf_decal/stripes/line,
|
||||
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
|
||||
/obj/machinery/incident_display/delam/directional/south,
|
||||
/turf/open/floor/engine,
|
||||
/area/station/engineering/supermatter/room)
|
||||
"uKa" = (
|
||||
/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{
|
||||
dir = 6
|
||||
@@ -66956,6 +66951,7 @@
|
||||
"ybl" = (
|
||||
/obj/structure/closet/secure_closet/engineering_personal,
|
||||
/obj/effect/turf_decal/delivery,
|
||||
/obj/machinery/incident_display/delam/directional/north,
|
||||
/turf/open/floor/iron,
|
||||
/area/station/engineering/main)
|
||||
"ybn" = (
|
||||
@@ -110318,7 +110314,7 @@ fec
|
||||
rHn
|
||||
fJP
|
||||
tYc
|
||||
mdk
|
||||
uJL
|
||||
fJy
|
||||
bDW
|
||||
bDW
|
||||
|
||||
@@ -30190,9 +30190,7 @@
|
||||
},
|
||||
/area/station/command/gateway)
|
||||
"hOP" = (
|
||||
/obj/machinery/atmospherics/pipe/smart/manifold4w/orange/visible,
|
||||
/obj/structure/cable,
|
||||
/obj/structure/sign/delamination_counter/directional/east,
|
||||
/obj/machinery/incident_display/delam/directional/south,
|
||||
/turf/open/floor/engine,
|
||||
/area/station/engineering/supermatter/room)
|
||||
"hOR" = (
|
||||
@@ -42069,11 +42067,11 @@
|
||||
/turf/open/floor/carpet,
|
||||
/area/station/command/heads_quarters/captain)
|
||||
"kWD" = (
|
||||
/obj/structure/fireaxecabinet/directional/north,
|
||||
/obj/machinery/keycard_auth/directional/north{
|
||||
pixel_x = -22
|
||||
},
|
||||
/obj/effect/turf_decal/tile/blue/fourcorners,
|
||||
/obj/machinery/incident_display/delam/directional/north,
|
||||
/turf/open/floor/iron/dark,
|
||||
/area/station/command/bridge)
|
||||
"kWM" = (
|
||||
@@ -71153,6 +71151,7 @@
|
||||
/obj/item/stock_parts/cell/high,
|
||||
/obj/machinery/cell_charger,
|
||||
/obj/effect/turf_decal/tile/blue/fourcorners,
|
||||
/obj/structure/fireaxecabinet/directional/east,
|
||||
/turf/open/floor/iron/dark,
|
||||
/area/station/command/bridge)
|
||||
"sAa" = (
|
||||
@@ -73878,6 +73877,16 @@
|
||||
/obj/machinery/camera/autoname/directional/south,
|
||||
/turf/open/floor/iron/dark/side,
|
||||
/area/station/hallway/floor2/aft)
|
||||
"tjV" = (
|
||||
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
|
||||
/obj/structure/cable,
|
||||
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
|
||||
/obj/structure/disposalpipe/segment{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/incident_display/delam/directional/north,
|
||||
/turf/open/floor/engine,
|
||||
/area/station/engineering/supermatter/room)
|
||||
"tkb" = (
|
||||
/obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance,
|
||||
/obj/structure/cable,
|
||||
@@ -92700,6 +92709,7 @@
|
||||
"yhO" = (
|
||||
/obj/machinery/suit_storage_unit/engine,
|
||||
/obj/structure/window/spawner/directional/east,
|
||||
/obj/machinery/incident_display/delam/directional/south,
|
||||
/turf/open/floor/iron/dark/textured_corner{
|
||||
dir = 1
|
||||
},
|
||||
@@ -138347,7 +138357,7 @@ oqA
|
||||
bNR
|
||||
klY
|
||||
klY
|
||||
hOP
|
||||
klY
|
||||
nHv
|
||||
cAf
|
||||
klY
|
||||
@@ -138598,7 +138608,7 @@ oIy
|
||||
bIW
|
||||
oIy
|
||||
oIy
|
||||
pso
|
||||
tjV
|
||||
xgW
|
||||
xgW
|
||||
pUf
|
||||
@@ -139126,7 +139136,7 @@ uyD
|
||||
uyD
|
||||
fws
|
||||
wOm
|
||||
xgW
|
||||
unW
|
||||
dEc
|
||||
dEc
|
||||
dEc
|
||||
@@ -139383,7 +139393,7 @@ jjt
|
||||
mVf
|
||||
mVF
|
||||
wOm
|
||||
unW
|
||||
hOP
|
||||
dEc
|
||||
mSe
|
||||
uov
|
||||
|
||||
@@ -4604,13 +4604,13 @@
|
||||
/obj/effect/turf_decal/trimline/blue/filled/line{
|
||||
dir = 1
|
||||
},
|
||||
/obj/machinery/airalarm/directional/north,
|
||||
/obj/structure/disposalpipe/segment{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
|
||||
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
|
||||
/obj/structure/cable,
|
||||
/obj/structure/fireaxecabinet/directional/north,
|
||||
/turf/open/floor/iron,
|
||||
/area/station/command/bridge)
|
||||
"aAE" = (
|
||||
@@ -8019,10 +8019,10 @@
|
||||
/obj/effect/turf_decal/trimline/blue/filled/line{
|
||||
dir = 1
|
||||
},
|
||||
/obj/structure/sign/clock/directional/north,
|
||||
/obj/machinery/camera/directional/north{
|
||||
c_tag = "Command - Bridge North"
|
||||
},
|
||||
/obj/machinery/incident_display/dual/directional/north,
|
||||
/turf/open/floor/iron,
|
||||
/area/station/command/bridge)
|
||||
"bsW" = (
|
||||
@@ -12819,12 +12819,15 @@
|
||||
/turf/open/floor/iron/checker,
|
||||
/area/station/service/kitchen)
|
||||
"cZo" = (
|
||||
/obj/structure/sign/collision_counter{
|
||||
pixel_x = -4;
|
||||
pixel_y = 2
|
||||
/obj/effect/turf_decal/trimline/blue/filled/line,
|
||||
/obj/effect/turf_decal/trimline/neutral/filled/warning,
|
||||
/obj/structure/disposalpipe/segment{
|
||||
dir = 4
|
||||
},
|
||||
/turf/closed/wall,
|
||||
/area/station/medical/medbay/lobby)
|
||||
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
|
||||
/obj/machinery/incident_display/dual/directional/south,
|
||||
/turf/open/floor/iron,
|
||||
/area/station/hallway/primary/tram/center)
|
||||
"cZz" = (
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 4
|
||||
@@ -16302,7 +16305,6 @@
|
||||
},
|
||||
/obj/machinery/newscaster/directional/south,
|
||||
/obj/structure/reagent_dispensers/water_cooler,
|
||||
/obj/structure/sign/delamination_counter/directional/west,
|
||||
/turf/open/floor/iron,
|
||||
/area/station/engineering/break_room)
|
||||
"eqJ" = (
|
||||
@@ -18723,7 +18725,7 @@
|
||||
/area/station/science/ordnance/testlab)
|
||||
"fnl" = (
|
||||
/obj/machinery/light/directional/east,
|
||||
/obj/item/radio/intercom/directional/east,
|
||||
/obj/machinery/newscaster/directional/east,
|
||||
/turf/open/floor/iron/dark/side{
|
||||
dir = 1
|
||||
},
|
||||
@@ -21382,7 +21384,6 @@
|
||||
dir = 10;
|
||||
network = list("ss13","engine","engineering")
|
||||
},
|
||||
/obj/structure/sign/delamination_counter/directional/south,
|
||||
/turf/open/floor/engine,
|
||||
/area/station/engineering/supermatter)
|
||||
"gpD" = (
|
||||
@@ -24210,6 +24211,7 @@
|
||||
/obj/structure/disposalpipe/segment{
|
||||
dir = 10
|
||||
},
|
||||
/obj/machinery/incident_display/tram/directional/north,
|
||||
/turf/open/floor/iron/white,
|
||||
/area/station/medical/medbay/central)
|
||||
"hvJ" = (
|
||||
@@ -24918,6 +24920,7 @@
|
||||
c_tag = "Civilian - Recreational Area North-West"
|
||||
},
|
||||
/obj/item/toy/plush/lizard_plushie/space/green,
|
||||
/obj/machinery/incident_display/dual/directional/north,
|
||||
/turf/open/floor/iron,
|
||||
/area/station/commons/fitness/recreation)
|
||||
"hMs" = (
|
||||
@@ -25230,6 +25233,7 @@
|
||||
/obj/item/storage/toolbox/emergency,
|
||||
/obj/item/wrench,
|
||||
/obj/item/assembly/signaler,
|
||||
/obj/machinery/airalarm/directional/east,
|
||||
/turf/open/floor/iron,
|
||||
/area/station/command/bridge)
|
||||
"hSs" = (
|
||||
@@ -28088,9 +28092,6 @@
|
||||
/turf/open/floor/iron,
|
||||
/area/station/commons/fitness/recreation)
|
||||
"iWm" = (
|
||||
/obj/structure/sign/collision_counter{
|
||||
pixel_x = -32
|
||||
},
|
||||
/obj/structure/table/reinforced,
|
||||
/obj/item/storage/medkit/regular{
|
||||
pixel_x = -5;
|
||||
@@ -28100,6 +28101,7 @@
|
||||
pixel_x = 8;
|
||||
pixel_y = 4
|
||||
},
|
||||
/obj/item/radio/intercom/directional/west,
|
||||
/turf/open/floor/iron,
|
||||
/area/station/command/bridge)
|
||||
"iWz" = (
|
||||
@@ -32152,7 +32154,6 @@
|
||||
/obj/effect/turf_decal/trimline/blue/filled/line{
|
||||
dir = 1
|
||||
},
|
||||
/obj/structure/fireaxecabinet/directional/north,
|
||||
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
|
||||
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
|
||||
/obj/structure/cable,
|
||||
@@ -34182,9 +34183,6 @@
|
||||
/obj/structure/disposalpipe/trunk{
|
||||
dir = 2
|
||||
},
|
||||
/obj/structure/sign/collision_counter{
|
||||
pixel_x = 32
|
||||
},
|
||||
/turf/open/floor/iron/white,
|
||||
/area/station/medical/treatment_center)
|
||||
"lcn" = (
|
||||
@@ -37769,6 +37767,13 @@
|
||||
name = "hyper-reinforced wall"
|
||||
},
|
||||
/area/station/science/ordnance/bomb)
|
||||
"mpO" = (
|
||||
/obj/effect/turf_decal/trimline/neutral/filled/line{
|
||||
dir = 1
|
||||
},
|
||||
/obj/machinery/newscaster/directional/north,
|
||||
/turf/open/floor/iron,
|
||||
/area/station/commons/fitness/recreation)
|
||||
"mpX" = (
|
||||
/obj/structure/window/reinforced/spawner/directional/south,
|
||||
/obj/structure/table/wood,
|
||||
@@ -41349,7 +41354,6 @@
|
||||
/obj/effect/turf_decal/trimline/neutral/filled/line{
|
||||
dir = 1
|
||||
},
|
||||
/obj/machinery/newscaster/directional/north,
|
||||
/obj/item/pai_card,
|
||||
/turf/open/floor/iron,
|
||||
/area/station/commons/fitness/recreation)
|
||||
@@ -43035,7 +43039,10 @@
|
||||
/obj/effect/turf_decal/trimline/neutral/filled/line{
|
||||
dir = 4
|
||||
},
|
||||
/obj/structure/extinguisher_cabinet/directional/north,
|
||||
/obj/machinery/incident_display/tram/directional/north{
|
||||
name = "darwin award counter";
|
||||
desc = "A display that indicates how many dents that'll need fixed after the shift is over."
|
||||
},
|
||||
/turf/open/floor/iron,
|
||||
/area/station/maintenance/port/central)
|
||||
"onW" = (
|
||||
@@ -44362,6 +44369,7 @@
|
||||
dir = 8
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
|
||||
/obj/structure/extinguisher_cabinet/directional/east,
|
||||
/turf/open/floor/iron,
|
||||
/area/station/maintenance/port/central)
|
||||
"oRV" = (
|
||||
@@ -49313,11 +49321,6 @@
|
||||
/obj/structure/table,
|
||||
/obj/item/storage/toolbox/emergency,
|
||||
/obj/item/crowbar,
|
||||
/obj/structure/sign/collision_counter{
|
||||
desc = "A display that indicates how many dents that'll need fixed after the shift is over.";
|
||||
name = "darwin award counter";
|
||||
pixel_x = 32
|
||||
},
|
||||
/obj/effect/turf_decal/tile/neutral/fourcorners,
|
||||
/turf/open/floor/iron,
|
||||
/area/station/maintenance/port/central)
|
||||
@@ -54688,6 +54691,14 @@
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/turf/open/floor/plating,
|
||||
/area/station/maintenance/disposal)
|
||||
"sCp" = (
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 1
|
||||
},
|
||||
/obj/structure/cable,
|
||||
/obj/machinery/incident_display/delam/directional/north,
|
||||
/turf/open/floor/engine,
|
||||
/area/station/engineering/supermatter/room)
|
||||
"sCv" = (
|
||||
/obj/structure/table/wood,
|
||||
/obj/machinery/light/dim/directional/north,
|
||||
@@ -58374,10 +58385,10 @@
|
||||
/turf/closed/wall,
|
||||
/area/station/hallway/secondary/entry)
|
||||
"tPV" = (
|
||||
/obj/machinery/status_display/evac/directional/north,
|
||||
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
|
||||
dir = 8
|
||||
},
|
||||
/obj/machinery/incident_display/dual/directional/north,
|
||||
/turf/open/floor/iron,
|
||||
/area/station/engineering/main)
|
||||
"tPW" = (
|
||||
@@ -102205,7 +102216,7 @@ sHH
|
||||
sHH
|
||||
cjy
|
||||
qHs
|
||||
vqH
|
||||
sCp
|
||||
fuj
|
||||
xEy
|
||||
miU
|
||||
@@ -152290,7 +152301,7 @@ jvf
|
||||
ook
|
||||
mGQ
|
||||
yiM
|
||||
fpg
|
||||
mpO
|
||||
heY
|
||||
ddh
|
||||
mQp
|
||||
@@ -168993,8 +169004,8 @@ gUF
|
||||
rlO
|
||||
ykP
|
||||
lej
|
||||
fxs
|
||||
lDt
|
||||
cZo
|
||||
wyd
|
||||
mJc
|
||||
kin
|
||||
juV
|
||||
@@ -169251,7 +169262,7 @@ uGM
|
||||
qwI
|
||||
lej
|
||||
fxs
|
||||
cZo
|
||||
wyd
|
||||
wyd
|
||||
rks
|
||||
rks
|
||||
|
||||
@@ -22,6 +22,9 @@ SUBSYSTEM_DEF(persistence)
|
||||
var/list/obj/structure/sign/picture_frame/photo_frames
|
||||
var/list/obj/item/storage/photo_album/photo_albums
|
||||
var/rounds_since_engine_exploded = 0
|
||||
var/delam_highscore = 0
|
||||
var/tram_hits_this_round = 0
|
||||
var/tram_hits_last_round = 0
|
||||
|
||||
/datum/controller/subsystem/persistence/Initialize()
|
||||
load_poly()
|
||||
@@ -33,7 +36,7 @@ SUBSYSTEM_DEF(persistence)
|
||||
load_randomized_recipes()
|
||||
load_custom_outfits()
|
||||
load_delamination_counter()
|
||||
|
||||
load_tram_counter()
|
||||
load_adventures()
|
||||
return SS_INIT_SUCCESS
|
||||
|
||||
@@ -48,6 +51,8 @@ SUBSYSTEM_DEF(persistence)
|
||||
save_scars()
|
||||
save_custom_outfits()
|
||||
save_delamination_counter()
|
||||
if(SStramprocess.can_fire)
|
||||
save_tram_counter()
|
||||
|
||||
///Loads up Poly's speech buffer.
|
||||
/datum/controller/subsystem/persistence/proc/load_poly()
|
||||
@@ -531,19 +536,35 @@ SUBSYSTEM_DEF(persistence)
|
||||
|
||||
WRITE_FILE(file, json_encode(data))
|
||||
|
||||
/// Location where we save the information about how many rounds it has been since the engine blew up
|
||||
/// Location where we save the information about how many rounds it has been since the engine blew up/tram hits
|
||||
#define DELAMINATION_COUNT_FILEPATH "data/rounds_since_delamination.txt"
|
||||
#define DELAMINATION_HIGHSCORE_FILEPATH "data/delamination_highscore.txt"
|
||||
#define TRAM_COUNT_FILEPATH "data/tram_hits_last_round.txt"
|
||||
|
||||
/datum/controller/subsystem/persistence/proc/load_delamination_counter()
|
||||
if (!fexists(DELAMINATION_COUNT_FILEPATH))
|
||||
return
|
||||
rounds_since_engine_exploded = text2num(file2text(DELAMINATION_COUNT_FILEPATH))
|
||||
for (var/obj/structure/sign/delamination_counter/sign as anything in GLOB.map_delamination_counters)
|
||||
sign.update_count(rounds_since_engine_exploded)
|
||||
if (fexists(DELAMINATION_HIGHSCORE_FILEPATH))
|
||||
delam_highscore = text2num(file2text(DELAMINATION_HIGHSCORE_FILEPATH))
|
||||
for (var/obj/machinery/incident_display/sign as anything in GLOB.map_delamination_counters)
|
||||
sign.update_delam_count(rounds_since_engine_exploded, delam_highscore)
|
||||
|
||||
/datum/controller/subsystem/persistence/proc/save_delamination_counter()
|
||||
rustg_file_write("[rounds_since_engine_exploded + 1]", DELAMINATION_COUNT_FILEPATH)
|
||||
if((rounds_since_engine_exploded + 1) > delam_highscore)
|
||||
rustg_file_write("[rounds_since_engine_exploded + 1]", DELAMINATION_HIGHSCORE_FILEPATH)
|
||||
|
||||
/datum/controller/subsystem/persistence/proc/load_tram_counter()
|
||||
if(!fexists(TRAM_COUNT_FILEPATH))
|
||||
return
|
||||
tram_hits_last_round = text2num(file2text(TRAM_COUNT_FILEPATH))
|
||||
|
||||
/datum/controller/subsystem/persistence/proc/save_tram_counter()
|
||||
rustg_file_write("[tram_hits_this_round]", TRAM_COUNT_FILEPATH)
|
||||
|
||||
#undef DELAMINATION_COUNT_FILEPATH
|
||||
#undef DELAMINATION_HIGHSCORE_FILEPATH
|
||||
#undef TRAM_COUNT_FILEPATH
|
||||
#undef FILE_RECENT_MAPS
|
||||
#undef KEEP_ROUNDS_MAP
|
||||
|
||||
@@ -0,0 +1,374 @@
|
||||
GLOBAL_LIST_EMPTY(map_delamination_counters)
|
||||
|
||||
/// Display days since last delam on incident sign
|
||||
#define DISPLAY_DELAM (1<<0)
|
||||
/// Display current number of tram hits on incident sign
|
||||
#define DISPLAY_TRAM (1<<1)
|
||||
|
||||
DEFINE_BITFIELD(sign_features, list(
|
||||
"DISPLAY_DELAM" = DISPLAY_DELAM,
|
||||
"DISPLAY_TRAM" = DISPLAY_TRAM,
|
||||
))
|
||||
|
||||
#define TREND_RISING "rising"
|
||||
#define TREND_FALLING "falling"
|
||||
|
||||
#define NAME_DUAL "safety incident display"
|
||||
#define NAME_DELAM "delamination incident display"
|
||||
#define NAME_TRAM "tram incident display"
|
||||
|
||||
#define DESC_DUAL "A display that provides information on the station's safety record. Features an advert for SAFETY MOTH."
|
||||
#define DESC_DELAM "A signs describe how long it's been since the last delamination incident. Features an advert for SAFETY MOTH."
|
||||
#define DESC_TRAM "A display that provides the number of tram related safety incidents this shift. Features an advert for SAFETY MOTH."
|
||||
|
||||
/**
|
||||
* List of safety statistic signs on the map that have delam counting enabled.
|
||||
* Required as persistence subsystem loads after the ones present at mapload, and to reset to 0 upon explosion.
|
||||
*/
|
||||
|
||||
/obj/machinery/incident_display
|
||||
name = NAME_DELAM
|
||||
desc = DESC_DELAM
|
||||
icon = 'icons/obj/machines/incident_display.dmi'
|
||||
icon_preview = "stat_display_delam"
|
||||
icon_state = "stat_display_delam"
|
||||
verb_say = "beeps"
|
||||
verb_ask = "bloops"
|
||||
verb_exclaim = "blares"
|
||||
idle_power_usage = 450
|
||||
max_integrity = 150
|
||||
integrity_failure = 0.75
|
||||
custom_materials = list(/datum/material/titanium = SHEET_MATERIAL_AMOUNT * 4, /datum/material/alloy/titaniumglass = SHEET_MATERIAL_AMOUNT * 4)
|
||||
/// What statistics we want the sign to display
|
||||
var/sign_features = DISPLAY_DELAM
|
||||
/// Tram hits before hazard warning
|
||||
var/hit_threshold = 0
|
||||
/// Tram hits
|
||||
var/hit_count = 0
|
||||
/// Shifts without delam
|
||||
var/last_delam = 0
|
||||
/// Delam record high-score
|
||||
var/delam_record = 0
|
||||
|
||||
/obj/machinery/incident_display/dual
|
||||
name = NAME_DUAL
|
||||
desc = DESC_DUAL
|
||||
icon_preview = "stat_display_dual"
|
||||
icon_state = "stat_display_dual"
|
||||
sign_features = DISPLAY_DELAM | DISPLAY_TRAM
|
||||
|
||||
/obj/machinery/incident_display/delam
|
||||
name = NAME_DELAM
|
||||
desc = DESC_DELAM
|
||||
icon_preview = "stat_display_delam"
|
||||
icon_state = "stat_display_delam"
|
||||
sign_features = DISPLAY_DELAM
|
||||
|
||||
/obj/machinery/incident_display/tram
|
||||
name = NAME_TRAM
|
||||
desc = DESC_TRAM
|
||||
icon_preview = "stat_display_tram"
|
||||
icon_state = "stat_display_tram"
|
||||
sign_features = DISPLAY_TRAM
|
||||
|
||||
MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/incident_display, 32)
|
||||
MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/incident_display/delam, 32)
|
||||
MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/incident_display/dual, 32)
|
||||
MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/incident_display/tram, 32)
|
||||
|
||||
/obj/machinery/incident_display/Initialize(mapload)
|
||||
..()
|
||||
return INITIALIZE_HINT_LATELOAD
|
||||
|
||||
/obj/machinery/incident_display/LateInitialize()
|
||||
. = ..()
|
||||
GLOB.map_delamination_counters += src
|
||||
update_delam_count(SSpersistence.rounds_since_engine_exploded, SSpersistence.delam_highscore)
|
||||
for(var/obj/structure/industrial_lift/tram/tram as anything in GLOB.lifts)
|
||||
RegisterSignal(tram, COMSIG_TRAM_COLLISION, PROC_REF(update_tram_count))
|
||||
|
||||
update_appearance()
|
||||
|
||||
/obj/machinery/incident_display/Destroy()
|
||||
GLOB.map_delamination_counters -= src
|
||||
return ..()
|
||||
|
||||
/obj/machinery/incident_display/welder_act(mob/living/user, obj/item/tool)
|
||||
if(user.combat_mode)
|
||||
return FALSE
|
||||
|
||||
if(atom_integrity >= max_integrity && !(machine_stat & BROKEN))
|
||||
balloon_alert(user, "it doesn't need repairs!")
|
||||
return TRUE
|
||||
|
||||
balloon_alert(user, "repairing display...")
|
||||
if(!tool.use_tool(src, user, 4 SECONDS, amount = 0, volume=50))
|
||||
return TRUE
|
||||
|
||||
balloon_alert(user, "repaired")
|
||||
atom_integrity = max_integrity
|
||||
set_machine_stat(machine_stat & ~BROKEN)
|
||||
update_appearance()
|
||||
return TRUE
|
||||
|
||||
// Switch modes with multitool
|
||||
/obj/machinery/incident_display/multitool_act(mob/living/user, obj/item/tool)
|
||||
if(user.combat_mode)
|
||||
return FALSE
|
||||
|
||||
if(sign_features == DISPLAY_TRAM)
|
||||
tool.play_tool_sound(src)
|
||||
balloon_alert(user, "set to dual")
|
||||
name = NAME_DUAL
|
||||
desc = DESC_DUAL
|
||||
icon_state = "stat_display_dual"
|
||||
sign_features = DISPLAY_DELAM | DISPLAY_TRAM
|
||||
update_delam_count(SSpersistence.rounds_since_engine_exploded, SSpersistence.delam_highscore)
|
||||
update_tram_count(src, SSpersistence.tram_hits_this_round)
|
||||
update_appearance()
|
||||
return TRUE
|
||||
else if(sign_features == DISPLAY_DELAM)
|
||||
tool.play_tool_sound(src)
|
||||
balloon_alert(user, "set to tram")
|
||||
name = NAME_TRAM
|
||||
desc = DESC_TRAM
|
||||
icon_state = "stat_display_tram"
|
||||
sign_features = DISPLAY_TRAM
|
||||
update_tram_count(src, SSpersistence.tram_hits_this_round)
|
||||
update_appearance()
|
||||
return TRUE
|
||||
else if(sign_features == (DISPLAY_DELAM + DISPLAY_TRAM))
|
||||
tool.play_tool_sound(src)
|
||||
balloon_alert(user, "set to delam")
|
||||
name = NAME_DELAM
|
||||
desc = DESC_DELAM
|
||||
icon_state = "stat_display_delam"
|
||||
sign_features = DISPLAY_DELAM
|
||||
update_delam_count(SSpersistence.rounds_since_engine_exploded, SSpersistence.delam_highscore)
|
||||
update_appearance()
|
||||
return TRUE
|
||||
|
||||
// EMP causes the display to display random numbers or outright break.
|
||||
/obj/machinery/incident_display/emp_act(severity)
|
||||
. = ..()
|
||||
if(prob(50))
|
||||
set_machine_stat(machine_stat | BROKEN)
|
||||
update_appearance()
|
||||
return
|
||||
name = NAME_DUAL
|
||||
desc = DESC_DUAL
|
||||
icon_state = "stat_display_dual"
|
||||
sign_features = DISPLAY_DELAM | DISPLAY_TRAM
|
||||
hit_threshold = rand(1,99)
|
||||
hit_count = rand(1,99)
|
||||
last_delam = rand(1,99)
|
||||
delam_record = rand(1,99)
|
||||
update_appearance()
|
||||
|
||||
/obj/machinery/incident_display/deconstruct()
|
||||
if(flags_1 & NODECONSTRUCT_1)
|
||||
return
|
||||
|
||||
new /obj/item/stack/sheet/mineral/titanium(drop_location(), 2)
|
||||
new /obj/item/shard(drop_location())
|
||||
new /obj/item/shard(drop_location())
|
||||
|
||||
qdel(src)
|
||||
|
||||
/obj/machinery/incident_display/proc/update_delam_count(new_count, record)
|
||||
delam_record = record
|
||||
last_delam = min(new_count, 199)
|
||||
update_appearance()
|
||||
|
||||
/obj/machinery/incident_display/proc/update_tram_count(source, tram_collisions)
|
||||
SIGNAL_HANDLER
|
||||
|
||||
hit_count = min(tram_collisions, 199)
|
||||
update_appearance()
|
||||
|
||||
/obj/machinery/incident_display/update_appearance(updates=ALL)
|
||||
. = ..()
|
||||
if(machine_stat & NOPOWER)
|
||||
icon_state = "stat_display_blank"
|
||||
set_light(0)
|
||||
return
|
||||
|
||||
if(machine_stat & BROKEN)
|
||||
icon_state = "stat_display_broken"
|
||||
set_light(l_range = 1.7, l_power = 1.5, l_color = LIGHT_COLOR_DARK_BLUE)
|
||||
return
|
||||
|
||||
if(sign_features == (DISPLAY_DELAM + DISPLAY_TRAM))
|
||||
icon_state = "stat_display_dual"
|
||||
else if(sign_features == DISPLAY_DELAM)
|
||||
icon_state = "stat_display_delam"
|
||||
else if(sign_features == DISPLAY_TRAM)
|
||||
icon_state = "stat_display_tram"
|
||||
|
||||
set_light(l_range = 1.7, l_power = 1.5, l_color = LIGHT_COLOR_FAINT_BLUE)
|
||||
|
||||
/obj/machinery/incident_display/update_overlays()
|
||||
. = ..()
|
||||
if(machine_stat & (NOPOWER|BROKEN))
|
||||
return
|
||||
|
||||
var/mutable_appearance/moff_base_emissive = emissive_appearance(icon, "moff_base_emissive", src, alpha = src.alpha)
|
||||
. += moff_base_emissive
|
||||
|
||||
if(sign_features & DISPLAY_DELAM)
|
||||
var/mutable_appearance/delam_base_emissive = emissive_appearance(icon, "delam_base_emissive", src, alpha = src.alpha)
|
||||
var/delam_display_color
|
||||
. += delam_base_emissive
|
||||
if(!last_delam)
|
||||
delam_display_color = LIGHT_COLOR_INTENSE_RED
|
||||
else
|
||||
delam_display_color = LIGHT_COLOR_HOLY_MAGIC
|
||||
|
||||
var/delam_pos1 = last_delam % 10
|
||||
var/mutable_appearance/delam_pos1_overlay = mutable_appearance(icon, "num_[delam_pos1]")
|
||||
var/mutable_appearance/delam_pos1_emissive = emissive_appearance(icon, "num_[delam_pos1]_e", src, alpha = src.alpha)
|
||||
delam_pos1_overlay.color = delam_display_color
|
||||
delam_pos1_overlay.pixel_w = 9
|
||||
delam_pos1_emissive.pixel_w = 9
|
||||
delam_pos1_overlay.pixel_z = 4
|
||||
delam_pos1_emissive.pixel_z = 4
|
||||
. += delam_pos1_overlay
|
||||
. += delam_pos1_emissive
|
||||
|
||||
var/delam_pos2 = (last_delam / 10) % 10
|
||||
var/mutable_appearance/delam_pos2_overlay = mutable_appearance(icon, "num_[delam_pos2]")
|
||||
var/mutable_appearance/delam_pos2_emissive = emissive_appearance(icon, "num_[delam_pos2]_e", src, alpha = src.alpha)
|
||||
delam_pos2_overlay.color = delam_display_color
|
||||
delam_pos2_overlay.pixel_w = 4
|
||||
delam_pos2_emissive.pixel_w = 4
|
||||
delam_pos2_overlay.pixel_z = 4
|
||||
delam_pos2_emissive.pixel_z = 4
|
||||
. += delam_pos2_overlay
|
||||
. += delam_pos2_emissive
|
||||
|
||||
if(last_delam >= 100)
|
||||
var/mutable_appearance/there_i_fixed_it_overlay = mutable_appearance(icon, "num_100_red")
|
||||
var/mutable_appearance/there_i_fixed_it_emissive = emissive_appearance(icon, "num_100_red", src, alpha = src.alpha)
|
||||
. += there_i_fixed_it_overlay
|
||||
. += there_i_fixed_it_emissive
|
||||
|
||||
if(last_delam == delam_record)
|
||||
var/mutable_appearance/delam_trend_overlay = mutable_appearance(icon, TREND_RISING)
|
||||
var/mutable_appearance/delam_trend_emissive = emissive_appearance(icon, "[TREND_RISING]_e", src, alpha = src.alpha)
|
||||
delam_trend_overlay.color = LIGHT_COLOR_VIVID_GREEN
|
||||
delam_trend_overlay.pixel_w = 1
|
||||
delam_trend_emissive.pixel_w = 1
|
||||
delam_trend_overlay.pixel_z = 6
|
||||
delam_trend_emissive.pixel_z = 6
|
||||
. += delam_trend_overlay
|
||||
. += delam_trend_emissive
|
||||
else
|
||||
var/mutable_appearance/delam_trend_overlay = mutable_appearance(icon, TREND_FALLING)
|
||||
var/mutable_appearance/delam_trend_emissive = emissive_appearance(icon, "[TREND_FALLING]_e", src, alpha = src.alpha)
|
||||
delam_trend_overlay.color = LIGHT_COLOR_INTENSE_RED
|
||||
delam_trend_overlay.pixel_w = 1
|
||||
delam_trend_emissive.pixel_w = 1
|
||||
delam_trend_overlay.pixel_z = 6
|
||||
delam_trend_emissive.pixel_z = 6
|
||||
. += delam_trend_overlay
|
||||
. += delam_trend_emissive
|
||||
|
||||
if(sign_features & DISPLAY_TRAM)
|
||||
var/mutable_appearance/tram_base_emissive = emissive_appearance(icon, "tram_base_emissive", src, alpha = src.alpha)
|
||||
var/tram_display_color = LIGHT_COLOR_BABY_BLUE
|
||||
|
||||
var/tram_pos1 = hit_count % 10
|
||||
var/mutable_appearance/tram_pos1_overlay = mutable_appearance(icon, "num_[tram_pos1]")
|
||||
var/mutable_appearance/tram_pos1_emissive = emissive_appearance(icon, "num_[tram_pos1]_e", src, alpha = src.alpha)
|
||||
. += tram_base_emissive
|
||||
tram_pos1_overlay.color = tram_display_color
|
||||
tram_pos1_overlay.pixel_w = 9
|
||||
tram_pos1_emissive.pixel_w = 9
|
||||
tram_pos1_overlay.pixel_z = -6
|
||||
tram_pos1_emissive.pixel_z = -6
|
||||
. += tram_pos1_overlay
|
||||
. += tram_pos1_emissive
|
||||
|
||||
var/tram_pos2 = (hit_count / 10) % 10
|
||||
var/mutable_appearance/tram_pos2_overlay = mutable_appearance(icon, "num_[tram_pos2]")
|
||||
var/mutable_appearance/tram_pos2_emissive = emissive_appearance(icon, "num_[tram_pos2]_e", src, alpha = src.alpha)
|
||||
tram_pos2_overlay.color = tram_display_color
|
||||
tram_pos2_overlay.pixel_w = 4
|
||||
tram_pos2_emissive.pixel_w = 4
|
||||
tram_pos2_overlay.pixel_z = -6
|
||||
tram_pos2_emissive.pixel_z = -6
|
||||
. += tram_pos2_overlay
|
||||
. += tram_pos2_emissive
|
||||
|
||||
if(hit_count >= 100)
|
||||
var/mutable_appearance/there_i_fixed_it_overlay = mutable_appearance(icon, "num_100_blue")
|
||||
var/mutable_appearance/there_i_fixed_it_emissive = emissive_appearance(icon, "num_100_blue", src, alpha = src.alpha)
|
||||
. += there_i_fixed_it_overlay
|
||||
. += there_i_fixed_it_emissive
|
||||
|
||||
if(hit_count > SSpersistence.tram_hits_last_round)
|
||||
var/mutable_appearance/tram_trend_overlay = mutable_appearance(icon, TREND_RISING)
|
||||
var/mutable_appearance/tram_trend_emissive = emissive_appearance(icon, "[TREND_RISING]_e", src, alpha = src.alpha)
|
||||
tram_trend_overlay.color = LIGHT_COLOR_INTENSE_RED
|
||||
tram_trend_overlay.pixel_w = 1
|
||||
tram_trend_emissive.pixel_w = 1
|
||||
tram_trend_overlay.pixel_z = -4
|
||||
tram_trend_emissive.pixel_z = -4
|
||||
. += tram_trend_overlay
|
||||
. += tram_trend_emissive
|
||||
else
|
||||
var/mutable_appearance/tram_trend_overlay = mutable_appearance(icon, TREND_FALLING)
|
||||
var/mutable_appearance/tram_trend_emissive = emissive_appearance(icon, "[TREND_FALLING]_e", src, alpha = src.alpha)
|
||||
tram_trend_overlay.color = LIGHT_COLOR_VIVID_GREEN
|
||||
tram_trend_overlay.pixel_w = 1
|
||||
tram_trend_emissive.pixel_w = 1
|
||||
tram_trend_overlay.pixel_z = -4
|
||||
tram_trend_emissive.pixel_z = -4
|
||||
. += tram_trend_overlay
|
||||
. += tram_trend_emissive
|
||||
|
||||
/obj/machinery/incident_display/examine(mob/user)
|
||||
. = ..()
|
||||
|
||||
if(sign_features & DISPLAY_DELAM)
|
||||
. += span_info("It has been [last_delam] shift\s since the last delamination event at this Nanotrasen facility.")
|
||||
switch (last_delam)
|
||||
if(0)
|
||||
. += span_info("In case you didn't notice.<br/>")
|
||||
if(1)
|
||||
. += span_info("Let's do better today.<br/>")
|
||||
if(2 to 5)
|
||||
. += span_info("There's room for improvement.<br/>")
|
||||
if(6 to 10)
|
||||
. += span_info("Good work!<br/>")
|
||||
if(69)
|
||||
. += span_info("Nice.<br/>")
|
||||
else
|
||||
. += span_info("Incredible!<br/>")
|
||||
|
||||
if(sign_features & DISPLAY_TRAM)
|
||||
. += span_info("The station has had [hit_count] tram incident\s this shift.")
|
||||
switch (hit_count)
|
||||
if(0)
|
||||
. += span_info("Fantastic! Champions of safety.<br/>")
|
||||
if(1)
|
||||
. += span_info("Let's do better tomorrow.<br/>")
|
||||
if(2 to 5)
|
||||
. += span_info("There's room for improvement.<br/>")
|
||||
if(6 to 10)
|
||||
. += span_info("Good work! Nanotrasen's finest!<br/>")
|
||||
if(69)
|
||||
. += span_info("Nice.<br/>")
|
||||
else
|
||||
. += span_info("Incredible! You're probably reading this from medbay.<br/>")
|
||||
|
||||
#undef DISPLAY_DELAM
|
||||
#undef DISPLAY_TRAM
|
||||
|
||||
#undef NAME_DUAL
|
||||
#undef NAME_DELAM
|
||||
#undef NAME_TRAM
|
||||
|
||||
#undef DESC_DUAL
|
||||
#undef DESC_DELAM
|
||||
#undef DESC_TRAM
|
||||
@@ -1,5 +1,3 @@
|
||||
#define COLLISION_HAZARD_THRESHOLD 11
|
||||
|
||||
/obj/structure/sign/clock
|
||||
name = "wall clock"
|
||||
desc = "It's your run-of-the-mill wall clock showing both the local Coalition Standard Time and the galactic Treaty Coordinated Time. Perfect for staring at instead of working."
|
||||
@@ -26,141 +24,3 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/calendar, 32)
|
||||
. += span_info("Events:")
|
||||
for(var/holidayname in GLOB.holidays)
|
||||
. += span_info("[holidayname]")
|
||||
|
||||
/**
|
||||
* List of delamination counter signs on the map.
|
||||
* Required as persistence subsystem loads after the ones present at mapload, and to reset to 0 upon explosion.
|
||||
*/
|
||||
GLOBAL_LIST_EMPTY(map_delamination_counters)
|
||||
|
||||
/obj/structure/sign/delamination_counter
|
||||
name = "delamination counter"
|
||||
sign_change_name = "Flip Sign- Supermatter Delamination"
|
||||
desc = "A pair of flip signs describe how long it's been since the last delamination incident."
|
||||
icon_state = "days_since_explosion"
|
||||
is_editable = TRUE
|
||||
var/since_last = 0
|
||||
|
||||
MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/delamination_counter, 32)
|
||||
|
||||
/obj/structure/sign/delamination_counter/Initialize(mapload)
|
||||
. = ..()
|
||||
GLOB.map_delamination_counters += src
|
||||
if (!mapload)
|
||||
update_count(SSpersistence.rounds_since_engine_exploded)
|
||||
|
||||
/obj/structure/sign/delamination_counter/Destroy()
|
||||
GLOB.map_delamination_counters -= src
|
||||
return ..()
|
||||
|
||||
/obj/structure/sign/delamination_counter/proc/update_count(new_count)
|
||||
since_last = min(new_count, 99)
|
||||
update_appearance()
|
||||
|
||||
/obj/structure/sign/delamination_counter/update_overlays()
|
||||
. = ..()
|
||||
|
||||
var/ones = since_last % 10
|
||||
var/mutable_appearance/ones_overlay = mutable_appearance('icons/obj/signs.dmi', "days_[ones]")
|
||||
ones_overlay.pixel_w = 4
|
||||
. += ones_overlay
|
||||
|
||||
var/tens = (since_last / 10) % 10
|
||||
var/mutable_appearance/tens_overlay = mutable_appearance('icons/obj/signs.dmi', "days_[tens]")
|
||||
tens_overlay.pixel_w = -5
|
||||
. += tens_overlay
|
||||
|
||||
/obj/structure/sign/delamination_counter/examine(mob/user)
|
||||
. = ..()
|
||||
. += span_info("It has been [since_last] day\s since the last delamination event at a Nanotrasen facility.")
|
||||
switch (since_last)
|
||||
if (0)
|
||||
. += span_info("In case you didn't notice.")
|
||||
if(1)
|
||||
. += span_info("Let's do better today.")
|
||||
if(2 to 5)
|
||||
. += span_info("There's room for improvement.")
|
||||
if(6 to 10)
|
||||
. += span_info("Good work!")
|
||||
if(11 to INFINITY)
|
||||
. += span_info("Incredible!")
|
||||
|
||||
/obj/structure/sign/collision_counter
|
||||
name = "incident counter"
|
||||
sign_change_name = "Indicator board- Tram incidents"
|
||||
desc = "A display that indicates how many tram related incidents have occured today."
|
||||
icon_state = "tram_hits"
|
||||
is_editable = TRUE
|
||||
var/hit_count = 0
|
||||
var/tram_id = TRAM_LIFT_ID
|
||||
/// Has the tram hit enough people it now flashes hazard lights?
|
||||
var/hazard_flash = FALSE
|
||||
|
||||
/obj/structure/sign/collision_counter/Initialize(mapload)
|
||||
..()
|
||||
return INITIALIZE_HINT_LATELOAD
|
||||
|
||||
/obj/structure/sign/collision_counter/LateInitialize()
|
||||
. = ..()
|
||||
for(var/obj/structure/industrial_lift/tram/tram as anything in GLOB.lifts)
|
||||
if(tram.lift_id != tram_id)
|
||||
continue
|
||||
RegisterSignal(tram, COMSIG_TRAM_COLLISION, PROC_REF(new_hit))
|
||||
update_appearance()
|
||||
|
||||
/obj/structure/sign/collision_counter/Destroy()
|
||||
return ..()
|
||||
|
||||
/obj/structure/sign/collision_counter/proc/new_hit(lift_master, collided_type)
|
||||
SIGNAL_HANDLER
|
||||
|
||||
if(!ismob(collided_type))
|
||||
return
|
||||
|
||||
var/mob/victim = collided_type // Real players only, no gaming high score
|
||||
if(!victim.client)
|
||||
return
|
||||
|
||||
hit_count++
|
||||
|
||||
if(hazard_flash)
|
||||
update_appearance()
|
||||
return
|
||||
|
||||
if(hit_count == COLLISION_HAZARD_THRESHOLD) // When we hit the threshold, enable flashing the lights
|
||||
hazard_flash = TRUE
|
||||
icon_state = "tram_hits_alert"
|
||||
update_appearance()
|
||||
return
|
||||
|
||||
update_appearance()
|
||||
|
||||
/obj/structure/sign/collision_counter/update_overlays()
|
||||
. = ..()
|
||||
|
||||
var/ones = hit_count % 10
|
||||
var/mutable_appearance/ones_overlay = mutable_appearance('icons/obj/signs.dmi', "hits_[ones]")
|
||||
ones_overlay.pixel_w = 4
|
||||
. += ones_overlay
|
||||
|
||||
var/tens = (hit_count / 10) % 10
|
||||
var/mutable_appearance/tens_overlay = mutable_appearance('icons/obj/signs.dmi', "hits_[tens]")
|
||||
tens_overlay.pixel_w = -5
|
||||
. += tens_overlay
|
||||
|
||||
/obj/structure/sign/collision_counter/examine(mob/user)
|
||||
. = ..()
|
||||
. += span_info("The station has had [hit_count] incident\s this shift.")
|
||||
switch (hit_count)
|
||||
if(0)
|
||||
. += span_info("Fantastic! Champions of safety.")
|
||||
if(1)
|
||||
. += span_info("Let's do better tomorrow.")
|
||||
if(2 to 5)
|
||||
. += span_info("There's room for improvement.")
|
||||
if(6 to 10)
|
||||
. += span_info("Good work! Nanotrasen's finest!")
|
||||
if(11 to INFINITY)
|
||||
. += span_info("Incredible! You're probably reading this from medbay.")
|
||||
|
||||
#undef COLLISION_HAZARD_THRESHOLD
|
||||
|
||||
@@ -424,7 +424,10 @@ GLOBAL_LIST_EMPTY(lifts)
|
||||
var/datum/callback/land_slam = new(collided, TYPE_PROC_REF(/mob/living/, tram_slam_land))
|
||||
collided.throw_at(throw_target, 200 * collision_lethality, 4 * collision_lethality, callback = land_slam)
|
||||
|
||||
SEND_SIGNAL(src, COMSIG_TRAM_COLLISION, collided)
|
||||
//increment the hit counter signs
|
||||
if(ismob(collided) && collided.client)
|
||||
SSpersistence.tram_hits_this_round++
|
||||
SEND_SIGNAL(src, COMSIG_TRAM_COLLISION, SSpersistence.tram_hits_this_round)
|
||||
|
||||
unset_movement_registrations(exited_locs)
|
||||
group_move(things_to_move, going)
|
||||
|
||||
@@ -21,9 +21,10 @@ GLOBAL_LIST_INIT(sm_delam_list, list(
|
||||
/// [/obj/machinery/power/supermatter_crystal/proc/count_down]
|
||||
/datum/sm_delam/proc/delaminate(obj/machinery/power/supermatter_crystal/sm)
|
||||
if (sm.is_main_engine)
|
||||
SSpersistence.delam_highscore = SSpersistence.rounds_since_engine_exploded
|
||||
SSpersistence.rounds_since_engine_exploded = ROUNDCOUNT_ENGINE_JUST_EXPLODED
|
||||
for (var/obj/structure/sign/delamination_counter/sign as anything in GLOB.map_delamination_counters)
|
||||
sign.update_count(ROUNDCOUNT_ENGINE_JUST_EXPLODED)
|
||||
for (var/obj/machinery/incident_display/sign as anything in GLOB.map_delamination_counters)
|
||||
sign.update_delam_count(ROUNDCOUNT_ENGINE_JUST_EXPLODED)
|
||||
qdel(sm)
|
||||
|
||||
#undef ROUNDCOUNT_ENGINE_JUST_EXPLODED
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 5.6 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 44 KiB After Width: | Height: | Size: 43 KiB |
@@ -1570,6 +1570,7 @@
|
||||
#include "code\game\machinery\hologram.dm"
|
||||
#include "code\game\machinery\hypnochair.dm"
|
||||
#include "code\game\machinery\igniter.dm"
|
||||
#include "code\game\machinery\incident_display.dm"
|
||||
#include "code\game\machinery\iv_drip.dm"
|
||||
#include "code\game\machinery\launch_pad.dm"
|
||||
#include "code\game\machinery\lightswitch.dm"
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
#comment Replaces delam/collision flipsigns with incident displays. https://github.com/tgstation/tgstation/pull/75699
|
||||
|
||||
/obj/structure/sign/collision_counter : /obj/machinery/incident_display/tram{@OLD}
|
||||
/obj/structure/sign/collision_counter/directional/north : /obj/machinery/incident_display/tram/directional/north{@OLD}
|
||||
/obj/structure/sign/collision_counter/directional/south : /obj/machinery/incident_display/tram/directional/south{@OLD}
|
||||
/obj/structure/sign/collision_counter/directional/east : /obj/machinery/incident_display/tram/directional/east{@OLD}
|
||||
/obj/structure/sign/collision_counter/directional/west : /obj/machinery/incident_display/tram/directional/west{@OLD}
|
||||
/obj/structure/sign/delamination_counter/directional : /obj/machinery/incident_display/delam/directional{@OLD}
|
||||
/obj/structure/sign/delamination_counter/directional/north : /obj/machinery/incident_display/delam/directional/north{@OLD}
|
||||
/obj/structure/sign/delamination_counter/directional/south : /obj/machinery/incident_display/delam/directional/south{@OLD}
|
||||
/obj/structure/sign/delamination_counter/directional/east : /obj/machinery/incident_display/delam/directional/east{@OLD}
|
||||
/obj/structure/sign/delamination_counter/directional/west : /obj/machinery/incident_display/delam/directional/west{@OLD}
|
||||
Reference in New Issue
Block a user