From b3d040fb2fcd1a02ffce4605d28572c77dfd4c7c Mon Sep 17 00:00:00 2001 From: lessthanthree <83487515+lessthnthree@users.noreply.github.com> Date: Fri, 23 Jun 2023 11:29:34 -0700 Subject: [PATCH] Enhanced delam/tram counter (#75699) ## About The Pull Request Gives a makeover to the delam and tram hit counters and adds some new functionality. ![image](https://github.com/tgstation/tgstation/assets/83487515/cbbeb0df-d205-47ed-be6e-e49cea8c4f12) ![image](https://github.com/tgstation/tgstation/assets/83487515/e042d5e8-cb8b-4feb-b3f0-02365cd8fdbf) ![image](https://github.com/tgstation/tgstation/assets/83487515/c2831f7f-639d-40a8-a74f-d4894a4f67c6) 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 :cl: 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 /:cl: --- _maps/map_files/Birdshot/birdshot.dmm | 292 +++++++------- .../map_files/Deltastation/DeltaStation2.dmm | 31 +- .../map_files/IceBoxStation/IceBoxStation.dmm | 42 +- _maps/map_files/MetaStation/MetaStation.dmm | 26 +- _maps/map_files/NorthStar/north_star.dmm | 26 +- _maps/map_files/tramstation/tramstation.dmm | 71 ++-- code/controllers/subsystem/persistence.dm | 29 +- code/game/machinery/incident_display.dm | 374 ++++++++++++++++++ .../structures/signs/signs_interactive.dm | 140 ------- .../industrial_lift/industrial_lift.dm | 5 +- .../supermatter_delamination/_sm_delam.dm | 5 +- icons/obj/machines/incident_display.dmi | Bin 0 -> 5693 bytes icons/obj/signs.dmi | Bin 45023 -> 43780 bytes tgstation.dme | 1 + .../Scripts/75699_incident_displays.txt | 12 + 15 files changed, 679 insertions(+), 375 deletions(-) create mode 100644 code/game/machinery/incident_display.dm create mode 100644 icons/obj/machines/incident_display.dmi create mode 100644 tools/UpdatePaths/Scripts/75699_incident_displays.txt diff --git a/_maps/map_files/Birdshot/birdshot.dmm b/_maps/map_files/Birdshot/birdshot.dmm index d5650787dfa..d7563a4b106 100644 --- a/_maps/map_files/Birdshot/birdshot.dmm +++ b/_maps/map_files/Birdshot/birdshot.dmm @@ -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 diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm index 86b7383f202..681281a0170 100644 --- a/_maps/map_files/Deltastation/DeltaStation2.dmm +++ b/_maps/map_files/Deltastation/DeltaStation2.dmm @@ -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 diff --git a/_maps/map_files/IceBoxStation/IceBoxStation.dmm b/_maps/map_files/IceBoxStation/IceBoxStation.dmm index 6bebdce2122..6519e987e80 100644 --- a/_maps/map_files/IceBoxStation/IceBoxStation.dmm +++ b/_maps/map_files/IceBoxStation/IceBoxStation.dmm @@ -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 diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index 90ba3af8587..67817c6b959 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -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 diff --git a/_maps/map_files/NorthStar/north_star.dmm b/_maps/map_files/NorthStar/north_star.dmm index 6ea693fd73c..670b19d3244 100644 --- a/_maps/map_files/NorthStar/north_star.dmm +++ b/_maps/map_files/NorthStar/north_star.dmm @@ -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 diff --git a/_maps/map_files/tramstation/tramstation.dmm b/_maps/map_files/tramstation/tramstation.dmm index 65843b3f982..7a5495c59aa 100644 --- a/_maps/map_files/tramstation/tramstation.dmm +++ b/_maps/map_files/tramstation/tramstation.dmm @@ -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 diff --git a/code/controllers/subsystem/persistence.dm b/code/controllers/subsystem/persistence.dm index 0b09f050b1f..06572c6e20c 100644 --- a/code/controllers/subsystem/persistence.dm +++ b/code/controllers/subsystem/persistence.dm @@ -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 diff --git a/code/game/machinery/incident_display.dm b/code/game/machinery/incident_display.dm new file mode 100644 index 00000000000..00da0ffa21a --- /dev/null +++ b/code/game/machinery/incident_display.dm @@ -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.
") + 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(69) + . += span_info("Nice.
") + else + . += span_info("Incredible!
") + + 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.
") + 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(69) + . += span_info("Nice.
") + else + . += span_info("Incredible! You're probably reading this from medbay.
") + +#undef DISPLAY_DELAM +#undef DISPLAY_TRAM + +#undef NAME_DUAL +#undef NAME_DELAM +#undef NAME_TRAM + +#undef DESC_DUAL +#undef DESC_DELAM +#undef DESC_TRAM diff --git a/code/game/objects/structures/signs/signs_interactive.dm b/code/game/objects/structures/signs/signs_interactive.dm index 5c3b85c7764..1e407034f4a 100644 --- a/code/game/objects/structures/signs/signs_interactive.dm +++ b/code/game/objects/structures/signs/signs_interactive.dm @@ -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 diff --git a/code/modules/industrial_lift/industrial_lift.dm b/code/modules/industrial_lift/industrial_lift.dm index e5ac79af233..95880740068 100644 --- a/code/modules/industrial_lift/industrial_lift.dm +++ b/code/modules/industrial_lift/industrial_lift.dm @@ -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) diff --git a/code/modules/power/supermatter/supermatter_delamination/_sm_delam.dm b/code/modules/power/supermatter/supermatter_delamination/_sm_delam.dm index c10342792e4..af2a6625701 100644 --- a/code/modules/power/supermatter/supermatter_delamination/_sm_delam.dm +++ b/code/modules/power/supermatter/supermatter_delamination/_sm_delam.dm @@ -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 diff --git a/icons/obj/machines/incident_display.dmi b/icons/obj/machines/incident_display.dmi new file mode 100644 index 0000000000000000000000000000000000000000..80d63134f1d0232fbb052638972a342267a98d2a GIT binary patch literal 5693 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 literal 45023 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