diff --git a/_maps/RandomZLevels/snowdin.dmm b/_maps/RandomZLevels/snowdin.dmm index 804b0f5e667a..f22c3e9f4a85 100644 --- a/_maps/RandomZLevels/snowdin.dmm +++ b/_maps/RandomZLevels/snowdin.dmm @@ -10726,7 +10726,7 @@ /area/awaymission/snowdin/post/mining_main) "IV" = ( /obj/structure/table, -/obj/machinery/microwave/engineering/cell_included, +/obj/machinery/microwave, /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron, /area/awaymission/snowdin/post/mining_main) diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm index be832e901aca..877d47ba4ff8 100644 --- a/_maps/map_files/Deltastation/DeltaStation2.dmm +++ b/_maps/map_files/Deltastation/DeltaStation2.dmm @@ -25209,19 +25209,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/virology) -"eiY" = ( -/obj/machinery/camera/directional/north{ - c_tag = "Engineering Hallway - Starboard"; - name = "hallway camera" - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/yellow{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "ejc" = ( /turf/open/floor/iron/chapel{ dir = 8 @@ -25235,6 +25222,14 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"eju" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "ejy" = ( /obj/machinery/duct, /obj/effect/turf_decal/tile/purple/half/contrasted{ @@ -26947,6 +26942,13 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/supermatter/room) +"eJF" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/iron/textured, +/area/station/engineering/atmos) "eJG" = ( /obj/structure/closet/crate/goldcrate, /obj/machinery/airalarm/directional/south, @@ -28299,12 +28301,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/fore) -"fbP" = ( -/obj/structure/table/reinforced, -/obj/machinery/microwave/engineering/cell_included, -/obj/structure/sign/poster/random/directional/west, -/turf/open/floor/wood, -/area/station/engineering/break_room) "fbS" = ( /obj/structure/cable, /turf/open/floor/iron/dark, @@ -41244,13 +41240,6 @@ }, /turf/open/floor/plating, /area/station/command/heads_quarters/qm) -"iDB" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/iron/textured, -/area/station/engineering/atmos) "iDG" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -42052,6 +42041,19 @@ }, /turf/open/floor/iron/white, /area/station/maintenance/fore) +"iPl" = ( +/obj/machinery/camera/directional/north{ + c_tag = "Engineering Hallway - Starboard"; + name = "hallway camera" + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "iPu" = ( /obj/structure/table/wood, /obj/item/camera, @@ -59003,13 +59005,6 @@ dir = 4 }, /area/station/hallway/secondary/entry) -"nHU" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/chair/stool/directional/east, -/obj/effect/landmark/start/hangover, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/commons/locker) "nHW" = ( /obj/machinery/hydroponics/soil, /obj/effect/decal/cleanable/dirt, @@ -60512,6 +60507,13 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/security/checkpoint/engineering) +"obe" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/chair/stool/directional/east, +/obj/effect/landmark/start/hangover, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/commons/locker) "obD" = ( /obj/structure/disposalpipe/junction{ dir = 1 @@ -72524,14 +72526,6 @@ /obj/effect/turf_decal/trimline/neutral/filled/corner, /turf/open/floor/iron, /area/station/commons/fitness/recreation) -"rts" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/yellow{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "rtx" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/security/glass{ @@ -81304,6 +81298,15 @@ }, /turf/open/floor/iron/grimy, /area/station/command/heads_quarters/hop) +"tYu" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "tYF" = ( /obj/structure/sign/nanotrasen{ pixel_x = 32 @@ -94084,15 +94087,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/security/prison) -"xwl" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/machinery/light/directional/north, -/turf/open/floor/iron, -/area/station/hallway/primary/central/aft) "xwR" = ( /obj/machinery/quantum_server, /obj/effect/turf_decal/bot/left, @@ -94433,6 +94427,12 @@ }, /turf/open/space/basic, /area/space/nearstation) +"xBE" = ( +/obj/structure/table/reinforced, +/obj/machinery/microwave, +/obj/structure/sign/poster/random/directional/west, +/turf/open/floor/wood, +/area/station/engineering/break_room) "xBQ" = ( /obj/structure/closet/crate, /obj/effect/turf_decal/bot, @@ -119214,7 +119214,7 @@ tcm rjj oVq kPH -fbP +xBE wBS ima rQB @@ -121000,7 +121000,7 @@ nfp pJT nfp dVM -iDB +eJF mFY rPb iUC @@ -125639,7 +125639,7 @@ bsr bui dhj bvu -rts +eju ocb uLs bEM @@ -128478,7 +128478,7 @@ alf alf alf alf -eiY +iPl bWD uxO xpB @@ -138526,7 +138526,7 @@ hff vto hxB vZj -xwl +tYu irp iJj cmm @@ -145718,7 +145718,7 @@ iFs bdl ffY mDs -nHU +obe kea fAX bBD diff --git a/_maps/map_files/IceBoxStation/IceBoxStation.dmm b/_maps/map_files/IceBoxStation/IceBoxStation.dmm index d8f1548a7f26..8ed058b70613 100644 --- a/_maps/map_files/IceBoxStation/IceBoxStation.dmm +++ b/_maps/map_files/IceBoxStation/IceBoxStation.dmm @@ -6854,15 +6854,6 @@ /obj/effect/spawner/random/techstorage/ai_all, /turf/open/floor/iron, /area/station/engineering/storage/tech) -"bXI" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/obj/effect/turf_decal/tile/red/half/contrasted, -/turf/open/floor/iron/dark/textured_edge{ - dir = 1 - }, -/area/station/security/prison) "bXL" = ( /obj/machinery/airalarm/directional/west, /turf/open/floor/iron/white, @@ -17699,14 +17690,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/engineering/atmos/storage) -"fil" = ( -/obj/structure/table/glass, -/obj/machinery/microwave/engineering/cell_included, -/obj/effect/turf_decal/tile/brown/anticorner/contrasted{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/station/medical/break_room) "fio" = ( /obj/structure/marker_beacon/burgundy{ name = "landing marker" @@ -29031,6 +29014,13 @@ }, /turf/open/floor/plating, /area/station/service/hydroponics) +"iGs" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/science/breakroom) "iGH" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/disposalpipe/segment{ @@ -37378,6 +37368,17 @@ /obj/effect/mapping_helpers/airlock/access/all/command/general, /turf/open/floor/iron, /area/station/command/bridge) +"ldU" = ( +/obj/machinery/camera/directional/north{ + c_tag = "Dormitory North" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/commons/dorms) "ldV" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/stripes/line{ @@ -42799,13 +42800,6 @@ "mNY" = ( /turf/closed/wall/r_wall, /area/station/maintenance/port/aft) -"mOc" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/science/breakroom) "mOf" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/meter/layer4, @@ -43000,6 +42994,14 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) +"mRx" = ( +/obj/structure/table/glass, +/obj/machinery/microwave, +/obj/effect/turf_decal/tile/brown/anticorner/contrasted{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/break_room) "mRG" = ( /obj/structure/table, /obj/item/book/manual/wiki/atmospherics, @@ -51560,13 +51562,6 @@ /obj/machinery/light/directional/south, /turf/open/floor/iron/dark, /area/station/science/ordnance) -"pkQ" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/iron/showroomfloor, -/area/station/engineering/atmos) "pkW" = ( /obj/effect/turf_decal/plaque{ icon_state = "L4" @@ -53094,6 +53089,15 @@ dir = 8 }, /area/station/medical/chem_storage) +"pHT" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red/half/contrasted, +/turf/open/floor/iron/dark/textured_edge{ + dir = 1 + }, +/area/station/security/prison) "pHX" = ( /obj/effect/turf_decal/tile/purple{ dir = 8 @@ -56609,14 +56613,6 @@ }, /turf/open/floor/iron, /area/station/command/bridge) -"qHO" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/structure/chair/sofa/bench/right{ - dir = 1 - }, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/entry) "qIa" = ( /obj/structure/table, /obj/item/food/deadmouse/moldy{ @@ -61660,6 +61656,14 @@ }, /turf/open/floor/iron, /area/station/service/hydroponics) +"sjj" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/chair/sofa/bench/right{ + dir = 1 + }, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/entry) "sjk" = ( /obj/machinery/atmospherics/pipe/smart/simple/green/visible{ dir = 6 @@ -74431,15 +74435,6 @@ }, /turf/open/floor/iron/freezer, /area/station/commons/toilet/locker) -"wck" = ( -/obj/structure/chair{ - dir = 8 - }, -/obj/effect/turf_decal/tile/purple/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "wcv" = ( /obj/effect/turf_decal/siding/wideplating/dark{ dir = 1 @@ -76779,6 +76774,15 @@ "wLl" = ( /turf/closed/wall/r_wall, /area/station/science/research) +"wLn" = ( +/obj/structure/chair{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "wLt" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -79881,17 +79885,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/carpet/black, /area/station/security/prison/safe) -"xEJ" = ( -/obj/machinery/camera/directional/north{ - c_tag = "Dormitory North" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/commons/dorms) "xEL" = ( /obj/effect/turf_decal/delivery, /obj/structure/window/reinforced/spawner/directional/west, @@ -81491,6 +81484,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/mine/production) +"yes" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/iron/showroomfloor, +/area/station/engineering/atmos) "yev" = ( /obj/machinery/airalarm/directional/east, /turf/open/floor/iron, @@ -170839,7 +170839,7 @@ jhH cIc sDQ oVY -bXI +pHT vVH vVH vVH @@ -226657,7 +226657,7 @@ nAH mVE xFs jLM -qHO +sjj fUR juu kBU @@ -244885,7 +244885,7 @@ skl eFW rlV ygB -xEJ +ldU gJC akD qIU @@ -245717,7 +245717,7 @@ tTY hHN jlV hHN -pkQ +yes cEw cEw cEw @@ -254194,7 +254194,7 @@ xMM nqd ttO mFE -fil +mRx pWY rQI phj @@ -261104,7 +261104,7 @@ jbG nzV cYE dfB -wck +wLn pFg hXC mrw @@ -262663,7 +262663,7 @@ mEJ nSC gVe whP -mOc +iGs fVv krY oOb diff --git a/_maps/map_files/KiloStation/KiloStation.dmm b/_maps/map_files/KiloStation/KiloStation.dmm index 6618b6e42b34..77570410d4a7 100644 --- a/_maps/map_files/KiloStation/KiloStation.dmm +++ b/_maps/map_files/KiloStation/KiloStation.dmm @@ -20605,6 +20605,17 @@ /obj/structure/curtain/bounty, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"cxm" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "cxn" = ( /obj/effect/decal/cleanable/blood/gibs/old, /obj/effect/decal/cleanable/blood/old, @@ -28834,18 +28845,6 @@ /obj/effect/mapping_helpers/mail_sorting/supply/qm_office, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"eUz" = ( -/obj/effect/turf_decal/tile/red, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/commons/locker) "eUB" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/mapping_helpers/burnt_floor, @@ -33056,27 +33055,6 @@ /obj/structure/sign/poster/official/wtf_is_co2, /turf/closed/wall, /area/station/engineering/atmos) -"gnZ" = ( -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/siding/blue{ - dir = 8 - }, -/obj/structure/sign/warning/biohazard/directional/south, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "goH" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/mapping_helpers/burnt_floor, @@ -42659,6 +42637,18 @@ /obj/machinery/computer/security/telescreen/entertainment/directional/north, /turf/open/floor/iron/showroomfloor, /area/station/service/bar/atrium) +"juu" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/light/directional/west, +/turf/open/floor/iron/dark/corner{ + dir = 8 + }, +/area/station/hallway/primary/port) "juQ" = ( /obj/effect/turf_decal/tile/blue{ dir = 1 @@ -47457,6 +47447,18 @@ /obj/effect/spawner/random/engineering/tracking_beacon, /turf/open/floor/iron/dark, /area/station/cargo/bitrunning/den) +"laz" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/commons/locker) "laA" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -52245,6 +52247,10 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron/dark, /area/station/engineering/atmos/storage/gas) +"mFh" = ( +/obj/effect/turf_decal/delivery, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) "mFj" = ( /obj/machinery/power/apc/auto_name/directional/west, /obj/structure/cable, @@ -59203,14 +59209,6 @@ /obj/structure/sign/warning/docking, /turf/closed/wall/rust, /area/station/cargo/warehouse) -"oVn" = ( -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron/dark/corner{ - dir = 4 - }, -/area/station/hallway/primary/fore) "oVq" = ( /obj/machinery/atmospherics/pipe/smart/simple/green/visible, /turf/closed/wall, @@ -62341,6 +62339,27 @@ }, /turf/open/floor/wood/large, /area/station/service/chapel) +"pRT" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/siding/blue{ + dir = 8 + }, +/obj/structure/fireaxecabinet/jaws_of_life/directional/south, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "pRU" = ( /obj/effect/turf_decal/tile/neutral{ dir = 4 @@ -63679,17 +63698,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/starboard) -"qnA" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red, -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "qnL" = ( /obj/structure/extinguisher_cabinet/directional/east, /obj/structure/table/wood, @@ -70556,17 +70564,6 @@ }, /turf/open/floor/carpet/red, /area/station/command/heads_quarters/hos) -"swA" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/hallway/primary/aft) "swL" = ( /obj/structure/cable, /obj/effect/mapping_helpers/burnt_floor, @@ -78051,10 +78048,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/atmos) -"uVC" = ( -/obj/effect/turf_decal/delivery, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) "uVQ" = ( /obj/effect/turf_decal/bot, /obj/structure/closet{ @@ -78507,6 +78500,17 @@ }, /turf/open/space/basic, /area/space/nearstation) +"vdT" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/hallway/primary/aft) "vea" = ( /obj/machinery/atmospherics/components/unary/thermomachine/freezer{ dir = 8; @@ -79922,6 +79926,14 @@ dir = 1 }, /area/station/maintenance/aft) +"vzi" = ( +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron/dark/corner{ + dir = 4 + }, +/area/station/hallway/primary/fore) "vzy" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -84875,18 +84887,6 @@ /obj/item/circuitboard/computer/solar_control, /turf/open/misc/asteroid/airless, /area/space/nearstation) -"xgx" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/machinery/light/directional/west, -/turf/open/floor/iron/dark/corner{ - dir = 8 - }, -/area/station/hallway/primary/port) "xgT" = ( /obj/effect/turf_decal/stripes/corner{ dir = 4 @@ -108402,7 +108402,7 @@ bdp gwo lZB njm -gnZ +pRT gik vAO dpy @@ -110726,7 +110726,7 @@ tNZ lrA kcq hGR -eUz +laz yki tNZ ymb @@ -112013,7 +112013,7 @@ hcl bBD byo bCL -xgx +juu bCL uPP osY @@ -112485,7 +112485,7 @@ maw voU aNX ffT -oVn +vzi nvC leQ rWH @@ -117954,7 +117954,7 @@ bFz fmD snB xmd -uVC +mFh tth dqC yke @@ -120510,7 +120510,7 @@ caD cbG cbM fDz -swA +vdT lIe gui yfW @@ -127440,7 +127440,7 @@ bPB rrR hzt bXv -qnA +cxm hBm bSx fwk diff --git a/_maps/map_files/LimaStation/LimaStation.dmm b/_maps/map_files/LimaStation/LimaStation.dmm index d2c6d0c296ec..523317f5a312 100644 --- a/_maps/map_files/LimaStation/LimaStation.dmm +++ b/_maps/map_files/LimaStation/LimaStation.dmm @@ -3958,32 +3958,6 @@ "boP" = ( /turf/open/floor/iron/dark, /area/station/science/breakroom) -"boR" = ( -/obj/structure/disposalpipe/segment, -/obj/item/storage/box/beakers{ - pixel_x = -5; - pixel_y = 5 - }, -/obj/item/storage/box/beakers{ - pixel_x = -5; - pixel_y = 5 - }, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 8 - }, -/obj/structure/table/reinforced/rglass, -/obj/structure/item_dispenser/latex{ - pixel_x = -31 - }, -/obj/item/storage/box/rxglasses, -/obj/item/reagent_containers/spray/cleaner, -/obj/machinery/camera{ - c_tag = "Medbay - Storage"; - dir = 8; - network = list("ss13","medbay") - }, -/turf/open/floor/iron/white, -/area/station/medical/storage) "boV" = ( /obj/effect/spawner/random/structure/grille, /turf/open/floor/plating, @@ -12720,6 +12694,15 @@ /obj/machinery/computer/security/telescreen/entertainment/directional/south, /turf/open/floor/carpet, /area/station/hallway/primary/central) +"eor" = ( +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/stripes/box, +/obj/structure/disposalpipe/trunk, +/obj/structure/item_dispenser/latex{ + pixel_y = 28 + }, +/turf/open/floor/iron/dark, +/area/station/medical/storage) "eot" = ( /obj/machinery/camera{ c_tag = "AI Chamber - Core"; @@ -16830,6 +16813,30 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/port) +"fEf" = ( +/obj/structure/disposalpipe/segment, +/obj/item/storage/box/beakers{ + pixel_x = -5; + pixel_y = 5 + }, +/obj/item/storage/box/beakers{ + pixel_x = -5; + pixel_y = 5 + }, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 8 + }, +/obj/structure/table/reinforced/rglass, +/obj/item/storage/box/rxglasses, +/obj/item/reagent_containers/spray/cleaner, +/obj/machinery/camera{ + c_tag = "Medbay - Storage"; + dir = 8; + network = list("ss13","medbay") + }, +/obj/structure/fireaxecabinet/jaws_of_life/directional/west, +/turf/open/floor/iron/white, +/area/station/medical/storage) "fEg" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -25744,6 +25751,13 @@ "itY" = ( /turf/closed/wall/r_wall, /area/station/command/heads_quarters/ce) +"iub" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 1 + }, +/obj/machinery/portable_atmospherics/pump, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "iut" = ( /obj/structure/table/glass, /obj/item/storage/briefcase/secure, @@ -25826,12 +25840,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/showroomfloor, /area/station/command/heads_quarters/rd) -"iwf" = ( -/obj/machinery/disposal/bin, -/obj/effect/turf_decal/stripes/box, -/obj/structure/disposalpipe/trunk, -/turf/open/floor/iron/dark, -/area/station/medical/storage) "iwm" = ( /obj/machinery/light/directional/west, /obj/effect/turf_decal/stripes/line{ @@ -27324,12 +27332,6 @@ /obj/machinery/airalarm/directional/south, /turf/open/floor/iron/dark, /area/station/tcommsat/computer) -"iSJ" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/portable_atmospherics/canister, -/obj/effect/turf_decal/box, -/turf/open/floor/iron/dark, -/area/station/science/ordnance/storage) "iSV" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /obj/item/radio/intercom/directional/west, @@ -33921,13 +33923,6 @@ /obj/structure/table_frame, /turf/open/floor/iron/airless, /area/station/tcommsat/oldaisat/stationside) -"kWJ" = ( -/obj/structure/chair{ - dir = 1 - }, -/obj/effect/landmark/start/assistant, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "kWU" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -49490,6 +49485,13 @@ dir = 4 }, /area/station/commons/storage/art) +"pLv" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/effect/landmark/start/assistant, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "pLz" = ( /obj/machinery/door/airlock/maintenance{ name = "Firefighting Equipment" @@ -74088,6 +74090,12 @@ }, /turf/open/floor/carpet/red, /area/station/service/chapel/office) +"xtu" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/portable_atmospherics/canister, +/obj/effect/turf_decal/box, +/turf/open/floor/iron/dark, +/area/station/science/ordnance/storage) "xtB" = ( /obj/structure/weightmachine, /obj/machinery/light_switch/directional/north, @@ -76024,13 +76032,6 @@ /obj/effect/turf_decal/siding/green, /turf/open/floor/iron, /area/station/service/hydroponics/garden) -"yaO" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 1 - }, -/obj/machinery/portable_atmospherics/pump, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "yaS" = ( /obj/effect/spawner/random/trash/moisture_trap, /turf/open/floor/plating, @@ -123653,7 +123654,7 @@ ymg wNX xsG xLk -iSJ +xtu rWC fQN nJg @@ -165061,7 +165062,7 @@ gqp gjw pyO pwP -yaO +iub wAr aAM aJm @@ -180185,9 +180186,9 @@ aLg ojD tBw hmb -iwf +eor jJA -boR +fEf vTq dnX sEj @@ -182256,7 +182257,7 @@ vFM vFM nuJ rXv -kWJ +pLv olg wAF qPD diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index a5af6667bc51..c5bc79a15652 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -13150,16 +13150,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) -"ddR" = ( -/obj/structure/table/reinforced, -/obj/machinery/microwave/engineering/cell_included, -/obj/effect/turf_decal/stripes/corner, -/obj/effect/turf_decal/tile/yellow{ - dir = 8 - }, -/obj/machinery/light/small/directional/west, -/turf/open/floor/iron/checker, -/area/station/engineering/storage_shared) "ddV" = ( /obj/machinery/navbeacon{ codes_txt = "patrol;next_patrol=7.5-Starboard-Aft-Corner"; @@ -14775,6 +14765,15 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/command) +"dDn" = ( +/obj/structure/table/reinforced, +/obj/machinery/microwave, +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 + }, +/obj/machinery/digital_clock/directional/south, +/turf/open/floor/iron/dark, +/area/station/medical/break_room) "dDw" = ( /obj/structure/rack, /obj/item/wrench/medical, @@ -23433,6 +23432,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/virology) +"gPA" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/photobooth, +/turf/open/floor/iron, +/area/station/hallway/secondary/command) "gPC" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/smart/manifold4w/yellow/visible, @@ -26862,13 +26866,6 @@ }, /turf/open/floor/plating, /area/station/science/server) -"iek" = ( -/obj/item/radio/intercom/directional/north, -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/turf/open/floor/iron, -/area/station/engineering/atmos) "ien" = ( /obj/structure/cable, /turf/open/floor/plating, @@ -27401,12 +27398,6 @@ /obj/effect/turf_decal/trimline/brown/warning, /turf/open/floor/iron/white, /area/station/science/lobby) -"iov" = ( -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "ioR" = ( /obj/machinery/atmospherics/pipe/smart/simple/orange/hidden{ dir = 5 @@ -28941,6 +28932,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/grass, /area/station/medical/virology) +"iTj" = ( +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "iTF" = ( /obj/machinery/shower/directional/east, /obj/effect/landmark/start/hangover, @@ -29838,15 +29835,6 @@ /obj/machinery/vending/medical, /turf/open/floor/iron/dark, /area/station/medical/medbay/central) -"jpN" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/machinery/light/directional/north, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "jpP" = ( /obj/structure/table/reinforced, /obj/machinery/recharger, @@ -30542,6 +30530,16 @@ /obj/effect/mapping_helpers/airlock/access/any/supply/mining, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"jEb" = ( +/obj/structure/table/reinforced, +/obj/machinery/microwave, +/obj/effect/turf_decal/stripes/corner, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/machinery/light/small/directional/west, +/turf/open/floor/iron/checker, +/area/station/engineering/storage_shared) "jEj" = ( /obj/structure/cable, /obj/effect/turf_decal/stripes/line, @@ -36105,6 +36103,15 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"lMF" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "lMH" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -36339,15 +36346,6 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/iron, /area/station/cargo/warehouse) -"lTo" = ( -/obj/structure/table/reinforced, -/obj/machinery/microwave/engineering/cell_included, -/obj/effect/turf_decal/tile/neutral/opposingcorners{ - dir = 1 - }, -/obj/machinery/digital_clock/directional/south, -/turf/open/floor/iron/dark, -/area/station/medical/break_room) "lTt" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/window/reinforced/spawner/directional/north, @@ -40215,11 +40213,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/service) -"nnN" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/photobooth, -/turf/open/floor/iron, -/area/station/hallway/secondary/command) "nnS" = ( /obj/structure/table, /obj/item/radio/intercom/directional/west, @@ -56736,6 +56729,13 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/commons/locker) +"tEV" = ( +/obj/item/radio/intercom/directional/north, +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) "tFd" = ( /obj/structure/table, /obj/item/stock_parts/subspace/filter, @@ -82830,7 +82830,7 @@ jlv beL gFg bbK -jpN +lMF ong kqz rJv @@ -89568,7 +89568,7 @@ pPi pEM eOq jZY -lTo +dDn mjT dyH wCc @@ -93632,7 +93632,7 @@ vjo bJZ dxu nxX -nnN +gPA bzR veZ dDa @@ -96472,7 +96472,7 @@ doK gMj eCo lLe -iov +iTj bVj wRu fUR @@ -110324,7 +110324,7 @@ uQW fsk qKK rAh -ddR +jEb xMa atx oxe @@ -111121,7 +111121,7 @@ ptd dwd ptd mvS -iek +tEV eKy fJd caT diff --git a/_maps/map_files/NebulaStation/NebulaStation.dmm b/_maps/map_files/NebulaStation/NebulaStation.dmm index 617853c5aadf..46fc1cd49931 100644 --- a/_maps/map_files/NebulaStation/NebulaStation.dmm +++ b/_maps/map_files/NebulaStation/NebulaStation.dmm @@ -5967,6 +5967,18 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white, /area/station/medical/lower) +"aUF" = ( +/obj/structure/rack, +/obj/effect/decal/cleanable/dirt, +/obj/item/wallframe/digital_clock{ + pixel_y = 8 + }, +/obj/item/wallframe/digital_clock{ + pixel_y = 4 + }, +/obj/item/wallframe/digital_clock, +/turf/open/floor/iron/dark, +/area/station/commons/storage/primary) "aUG" = ( /obj/machinery/firealarm/directional/east, /turf/open/floor/iron/stairs/right{ @@ -16923,26 +16935,6 @@ /obj/effect/turf_decal/stripes/corner, /turf/open/floor/iron/dark/small, /area/station/command/teleporter) -"cAL" = ( -/obj/effect/turf_decal/tile/neutral/opposingcorners{ - dir = 1 - }, -/obj/item/radio/intercom/directional/east, -/obj/structure/closet/crate/trashcart/laundry, -/obj/machinery/light/small/directional/east, -/obj/effect/turf_decal/siding/dark_blue{ - dir = 8 - }, -/obj/item/clothing/gloves/maid, -/obj/item/clothing/accessory/maidapron, -/obj/item/clothing/under/costume/maid, -/obj/item/clothing/neck/maid, -/obj/effect/spawner/random/clothing/kittyears_or_rabbitears, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/turf/open/floor/plastic, -/area/station/commons/dorms/laundry) "cAR" = ( /obj/effect/turf_decal/siding/dark{ dir = 5 @@ -19189,12 +19181,6 @@ }, /turf/open/floor/iron/dark/textured, /area/station/command/heads_quarters/qm) -"cRX" = ( -/obj/machinery/light/directional/north, -/obj/effect/turf_decal/delivery, -/obj/structure/closet/crate, -/turf/open/floor/iron/dark/textured_large, -/area/station/engineering/atmos) "cRZ" = ( /obj/effect/turf_decal/siding/wood{ dir = 5 @@ -27461,16 +27447,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/hallway/primary/central) -"ecE" = ( -/obj/effect/turf_decal/trimline/green/line, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "ecG" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -49025,27 +49001,6 @@ /obj/structure/marker_beacon/lime, /turf/open/floor/grass, /area/station/security/brig) -"hmW" = ( -/obj/structure/rack, -/obj/effect/turf_decal/siding/thinplating_new/dark{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/yellow/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/yellow/line{ - dir = 4 - }, -/obj/item/storage/medkit/fire, -/obj/item/storage/belt/utility, -/obj/item/lightreplacer{ - pixel_y = 7 - }, -/obj/item/flatpack/flatpacker{ - pixel_y = -3 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/storage_shared) "hmZ" = ( /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 1 @@ -50679,6 +50634,27 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"hzn" = ( +/obj/structure/rack, +/obj/effect/turf_decal/siding/thinplating_new/dark{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/yellow/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/yellow/line{ + dir = 4 + }, +/obj/item/storage/medkit/fire, +/obj/item/storage/belt/utility, +/obj/item/lightreplacer{ + pixel_y = 7 + }, +/obj/item/flatpack/flatpacker{ + pixel_y = -3 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/storage_shared) "hzt" = ( /obj/structure/flora/rock/pile/jungle/large/style_random, /turf/open/floor/glass/reinforced/airless, @@ -59731,12 +59707,6 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron/textured_large, /area/station/maintenance/department/cargo) -"iQB" = ( -/obj/machinery/light/directional/north, -/obj/effect/turf_decal/delivery, -/obj/machinery/portable_atmospherics/canister, -/turf/open/floor/iron/dark/textured_large, -/area/station/engineering/atmos) "iQC" = ( /obj/effect/turf_decal/siding/wood/corner{ dir = 8 @@ -91132,6 +91102,11 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/wood/tile, /area/station/service/minibar) +"nDW" = ( +/obj/structure/table/reinforced/rglass, +/obj/machinery/microwave, +/turf/open/floor/iron/dark/small, +/area/station/engineering/storage_shared) "nDY" = ( /obj/structure/table/wood, /obj/effect/turf_decal/siding/wood, @@ -93626,6 +93601,16 @@ dir = 4 }, /area/station/commons/fitness/recreation) +"nXr" = ( +/obj/effect/turf_decal/trimline/green/line, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "nXt" = ( /obj/structure/chair/office/light{ dir = 8 @@ -102238,6 +102223,19 @@ }, /turf/open/floor/carpet/blue, /area/station/medical/break_room) +"phG" = ( +/obj/structure/table/reinforced, +/obj/item/stack/sheet/glass/fifty, +/obj/item/stack/sheet/iron/fifty, +/obj/item/grenade/chem_grenade/smart_metal_foam, +/obj/item/grenade/chem_grenade/smart_metal_foam, +/obj/item/clothing/shoes/magboots{ + pixel_x = -4; + pixel_y = 3 + }, +/obj/item/clothing/shoes/magboots, +/turf/open/floor/iron/dark/textured, +/area/station/engineering/engine_smes) "phN" = ( /obj/effect/turf_decal/siding/wood{ dir = 9 @@ -106017,11 +106015,6 @@ }, /turf/open/floor/iron/white, /area/station/hallway/primary/fore) -"pJh" = ( -/obj/structure/table/reinforced/rglass, -/obj/machinery/microwave/engineering/cell_included, -/turf/open/floor/iron/dark/small, -/area/station/engineering/storage_shared) "pJi" = ( /obj/effect/turf_decal/tile/dark_blue, /obj/effect/turf_decal/trimline/dark_blue/filled/line{ @@ -106361,19 +106354,6 @@ /obj/structure/sign/poster/random/directional/north, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"pMp" = ( -/obj/structure/table/reinforced, -/obj/item/stack/sheet/glass/fifty, -/obj/item/stack/sheet/iron/fifty, -/obj/item/grenade/chem_grenade/smart_metal_foam, -/obj/item/grenade/chem_grenade/smart_metal_foam, -/obj/item/clothing/shoes/magboots{ - pixel_x = -4; - pixel_y = 3 - }, -/obj/item/clothing/shoes/magboots, -/turf/open/floor/iron/dark/textured, -/area/station/engineering/engine_smes) "pMB" = ( /obj/effect/turf_decal/trimline/purple/filled/shrink_ccw, /obj/effect/turf_decal/trimline/dark_red/line, @@ -107054,6 +107034,26 @@ dir = 1 }, /area/station/cargo/lower) +"pQP" = ( +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 + }, +/obj/item/radio/intercom/directional/east, +/obj/structure/closet/crate/trashcart/laundry, +/obj/machinery/light/small/directional/east, +/obj/effect/turf_decal/siding/dark_blue{ + dir = 8 + }, +/obj/item/clothing/gloves/maid, +/obj/item/clothing/accessory/maidapron, +/obj/item/clothing/under/costume/maid, +/obj/item/clothing/neck/maid, +/obj/effect/spawner/random/clothing/kittyears_or_rabbitears, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/plastic, +/area/station/commons/dorms/laundry) "pQS" = ( /obj/item/radio/intercom/directional/west, /turf/open/floor/carpet/neon/simple/red/nodots, @@ -125440,6 +125440,12 @@ }, /turf/open/floor/iron/dark/textured, /area/station/security/execution/education) +"sIN" = ( +/obj/machinery/light/directional/north, +/obj/effect/turf_decal/delivery, +/obj/machinery/portable_atmospherics/canister, +/turf/open/floor/iron/dark/textured_large, +/area/station/engineering/atmos) "sIT" = ( /obj/structure/railing/corner{ dir = 1 @@ -143828,6 +143834,12 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/carpet, /area/station/cargo/office) +"vtB" = ( +/obj/machinery/light/directional/north, +/obj/effect/turf_decal/delivery, +/obj/structure/closet/crate, +/turf/open/floor/iron/dark/textured_large, +/area/station/engineering/atmos) "vtD" = ( /obj/structure/cable, /obj/structure/curtain/cloth{ @@ -158723,18 +158735,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/dark, /area/station/maintenance/port/aft) -"xJr" = ( -/obj/structure/rack, -/obj/effect/decal/cleanable/dirt, -/obj/item/wallframe/digital_clock{ - pixel_y = 8 - }, -/obj/item/wallframe/digital_clock{ - pixel_y = 4 - }, -/obj/item/wallframe/digital_clock, -/turf/open/floor/iron/dark, -/area/station/commons/storage/primary) "xJz" = ( /obj/effect/turf_decal/trimline/brown/filled/corner{ dir = 4 @@ -185916,7 +185916,7 @@ ajC ajC uUr nKG -cAL +pQP prx ltW alS @@ -191344,7 +191344,7 @@ djI tpZ fYj rdK -pMp +phG oWk atz fVj @@ -197779,7 +197779,7 @@ bfX vqm gHa suG -cRX +vtB tbP dmH ktl @@ -200863,7 +200863,7 @@ aWI gnQ oQJ suG -iQB +sIN pQr dmH wAh @@ -255578,7 +255578,7 @@ hCZ tpb oRQ dfK -ecE +nXr naa kKl wsj @@ -261271,7 +261271,7 @@ hqG qct mUg bSH -pJh +nDW kwN thG cAe @@ -262044,7 +262044,7 @@ uuP bIS gJs rXB -hmW +hzn cAe txW txW @@ -265333,7 +265333,7 @@ xGM kmQ xGM xGM -xJr +aUF gYM mBs msw diff --git a/_maps/map_files/NorthStar/north_star.dmm b/_maps/map_files/NorthStar/north_star.dmm index d065d3b3172b..8b2f0403ef87 100644 --- a/_maps/map_files/NorthStar/north_star.dmm +++ b/_maps/map_files/NorthStar/north_star.dmm @@ -4847,12 +4847,6 @@ /obj/machinery/newscaster/directional/east, /turf/open/floor/iron/dark, /area/station/science/auxlab) -"biZ" = ( -/obj/machinery/microwave/engineering/cell_included, -/obj/structure/table/reinforced/rglass, -/obj/effect/turf_decal/tile/blue/fourcorners, -/turf/open/floor/iron/white/textured, -/area/station/medical/break_room) "bja" = ( /obj/machinery/vending/cigarette, /obj/machinery/camera/autoname/directional/west, @@ -45848,6 +45842,13 @@ }, /turf/open/floor/iron/dark/textured, /area/station/command/heads_quarters/ce) +"lOX" = ( +/obj/structure/closet/secure_closet/personal, +/obj/item/clothing/under/misc/assistantformal, +/obj/item/clothing/suit/hooded/wintercoat, +/obj/item/clothing/shoes/winterboots, +/turf/open/floor/iron/dark, +/area/station/commons/locker) "lPb" = ( /obj/structure/railing{ dir = 1 @@ -46813,12 +46814,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/science/genetics) -"mbb" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/machinery/suit_storage_unit/medical, -/obj/machinery/camera/autoname/directional/east, -/turf/open/floor/iron/white/textured, -/area/station/medical/storage) "mbe" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/barricade/wooden{ @@ -60726,13 +60721,6 @@ /obj/machinery/duct, /turf/open/floor/iron/kitchen_coldroom/freezerfloor, /area/station/service/kitchen/coldroom) -"pDL" = ( -/obj/structure/closet/secure_closet/personal, -/obj/item/clothing/under/misc/assistantformal, -/obj/item/clothing/suit/hooded/wintercoat, -/obj/item/clothing/shoes/winterboots, -/turf/open/floor/iron/dark, -/area/station/commons/locker) "pDS" = ( /obj/effect/turf_decal/tile/yellow/opposingcorners, /turf/open/floor/iron/white, @@ -87712,6 +87700,13 @@ dir = 8 }, /area/station/medical/chemistry) +"wAt" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/machinery/suit_storage_unit/medical, +/obj/machinery/camera/autoname/directional/east, +/obj/structure/fireaxecabinet/jaws_of_life/directional/east, +/turf/open/floor/iron/white/textured, +/area/station/medical/storage) "wAz" = ( /obj/machinery/vending/autodrobe, /obj/machinery/light_switch/directional/east, @@ -89259,6 +89254,12 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/commons/dorms/apartment1) +"wUp" = ( +/obj/machinery/microwave, +/obj/structure/table/reinforced/rglass, +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron/white/textured, +/area/station/medical/break_room) "wUu" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -184988,7 +184989,7 @@ hLz hLz hLz hLz -pDL +lOX heC caP jjF @@ -190143,7 +190144,7 @@ xZB ccU bOx hRd -biZ +wUp lcv aal xhf @@ -193736,7 +193737,7 @@ nUa iRF scD fIU -mbb +wAt kiO kyO kAU diff --git a/_maps/map_files/OmegaStation/OmegaStation.dmm b/_maps/map_files/OmegaStation/OmegaStation.dmm index bcdbc6fa1a34..85a891260b99 100644 --- a/_maps/map_files/OmegaStation/OmegaStation.dmm +++ b/_maps/map_files/OmegaStation/OmegaStation.dmm @@ -3502,20 +3502,6 @@ dir = 4 }, /area/station/service/cafeteria) -"ajB" = ( -/obj/effect/turf_decal/delivery, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/structure/table/glass, -/obj/item/storage/medkit/fire, -/obj/effect/turf_decal/siding/blue{ - dir = 1 - }, -/obj/structure/window/reinforced/spawner/directional/north, -/obj/item/storage/medkit/regular{ - pixel_z = 6 - }, -/turf/open/floor/iron, -/area/station/medical/storage) "ajF" = ( /obj/item/kirbyplants/organic/plant21, /obj/machinery/camera/directional/north{ @@ -7161,15 +7147,6 @@ /obj/effect/turf_decal/tile/red, /turf/open/floor/iron, /area/station/security/prison) -"asP" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/siding/dark, -/obj/machinery/atmospherics/components/tank{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/science/ordnance/storage) "asQ" = ( /obj/structure/cable, /obj/effect/turf_decal/stripes/line{ @@ -10035,13 +10012,6 @@ heat_capacity = 1e+006 }, /area/station/hallway/primary/starboard) -"aCh" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/atmospherics/components/tank/oxygen{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/science/ordnance/storage) "aCj" = ( /obj/structure/table, /obj/item/paper_bin, @@ -14896,20 +14866,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/tcommsat/server) -"aPH" = ( -/obj/machinery/computer/operating{ - dir = 8 - }, -/obj/item/radio/intercom/directional/north, -/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ - dir = 4 - }, -/obj/machinery/camera/directional/north{ - c_tag = "Medical - Coroner's Office"; - network = list("ss13","medbay") - }, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) "aPI" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -17549,20 +17505,6 @@ dir = 10 }, /area/station/service/library) -"aXh" = ( -/obj/structure/table/optable{ - desc = "A cold, hard place for your final rest."; - name = "Morgue Slab" - }, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 1 - }, -/obj/item/toy/figure/coroner{ - pixel_x = 1; - pixel_y = 2 - }, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) "aXi" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -22564,15 +22506,6 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron/checker, /area/station/engineering/storage) -"buV" = ( -/obj/structure/sign/poster/official/help_others/directional/north, -/obj/effect/turf_decal/bot_white, -/obj/effect/turf_decal/siding/blue, -/obj/machinery/vending/wardrobe/medi_wardrobe, -/turf/open/floor/iron/dark/side{ - dir = 1 - }, -/area/station/medical/storage) "buW" = ( /turf/closed/wall/r_wall, /area/station/engineering/supermatter) @@ -24009,6 +23942,13 @@ /obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance/departmental, /turf/open/floor/iron, /area/station/maintenance/department/engine) +"dbI" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/atmospherics/components/tank{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/science/ordnance/storage) "dbN" = ( /obj/item/stack/ore/iron, /obj/item/stack/ore/silver, @@ -24861,6 +24801,21 @@ /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/iron, /area/station/maintenance/department/medical) +"erJ" = ( +/obj/structure/table/optable{ + desc = "A cold, hard place for your final rest."; + name = "Morgue Slab" + }, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 1 + }, +/obj/item/toy/figure/coroner{ + pixel_x = 1; + pixel_y = 2 + }, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "erQ" = ( /obj/machinery/door/airlock/maintenance_hatch{ name = "Maintenance Hatch" @@ -26576,6 +26531,19 @@ }, /turf/open/space, /area/space/nearstation) +"hli" = ( +/obj/machinery/computer/operating{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ + dir = 4 + }, +/obj/machinery/camera/directional/north{ + c_tag = "Medical - Coroner's Office"; + network = list("ss13","medbay") + }, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "hlA" = ( /obj/machinery/power/solar{ id = "aftport"; @@ -27333,6 +27301,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/science/breakroom) +"ima" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/atmospherics/components/tank/oxygen{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/science/ordnance/storage) "imR" = ( /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, /turf/closed/wall/r_wall, @@ -29399,6 +29374,15 @@ /obj/machinery/airalarm/directional/east, /turf/open/floor/catwalk_floor/iron_dark, /area/station/cargo/bitrunning/den) +"lBF" = ( +/obj/effect/turf_decal/bot_white, +/obj/effect/turf_decal/siding/blue, +/obj/machinery/vending/wardrobe/medi_wardrobe, +/obj/structure/fireaxecabinet/jaws_of_life/directional/north, +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/station/medical/storage) "lBI" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, @@ -32478,13 +32462,21 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"qrY" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/atmospherics/components/tank{ +"qtf" = ( +/obj/effect/turf_decal/delivery, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/structure/table/glass, +/obj/item/storage/medkit/fire, +/obj/effect/turf_decal/siding/blue{ dir = 1 }, -/turf/open/floor/iron/dark, -/area/station/science/ordnance/storage) +/obj/structure/window/reinforced/spawner/directional/north, +/obj/item/storage/medkit/regular{ + pixel_z = 6 + }, +/obj/structure/sign/poster/official/help_others/directional/south, +/turf/open/floor/iron, +/area/station/medical/storage) "qtg" = ( /obj/structure/closet/crate/engineering, /obj/effect/spawner/random/engineering/vending_restock, @@ -32830,6 +32822,15 @@ dir = 8 }, /area/station/hallway/primary/aft) +"qYa" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/siding/dark, +/obj/machinery/atmospherics/components/tank{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/science/ordnance/storage) "qZj" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/tile/purple{ @@ -67240,12 +67241,12 @@ aVb aVX iRS aQW -buV +lBF aOg aGC nhL aPA -aXh +erJ aQD eur aKm @@ -67500,9 +67501,9 @@ khB wko aPg aGC -ajB +qtf mPm -aPH +hli bfD aQL aTU @@ -79320,9 +79321,9 @@ ajP aQE bex ajP -aCh -qrY -asP +ima +dbI +qYa agh czT wjE @@ -79578,8 +79579,8 @@ bdP bez ajP jIk -qrY -asP +dbI +qYa agh kQn pAC diff --git a/_maps/map_files/PubbyStation/PubbyStation.dmm b/_maps/map_files/PubbyStation/PubbyStation.dmm index 3c9c17c3f63f..444f42d90dd8 100644 --- a/_maps/map_files/PubbyStation/PubbyStation.dmm +++ b/_maps/map_files/PubbyStation/PubbyStation.dmm @@ -28790,6 +28790,7 @@ }, /obj/effect/turf_decal/tile/blue/half, /obj/machinery/suit_storage_unit/medical, +/obj/structure/fireaxecabinet/jaws_of_life/directional/south, /turf/open/floor/iron/white/smooth_half, /area/station/medical/storage) "cmU" = ( diff --git a/_maps/map_files/tramstation/tramstation.dmm b/_maps/map_files/tramstation/tramstation.dmm index dce6579cd926..3d9f96218cfb 100644 --- a/_maps/map_files/tramstation/tramstation.dmm +++ b/_maps/map_files/tramstation/tramstation.dmm @@ -5098,13 +5098,6 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/science/genetics) -"aKZ" = ( -/obj/structure/chair/stool/bar/directional/east, -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/commons/fitness/recreation) "aLd" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 1 @@ -23368,14 +23361,6 @@ /obj/structure/cable, /turf/open/floor/iron/smooth, /area/station/hallway/primary/tram/right) -"hrr" = ( -/obj/structure/table/reinforced, -/obj/machinery/microwave/engineering/cell_included, -/obj/effect/turf_decal/tile/neutral/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/medical/break_room) "hrF" = ( /obj/structure/table/wood, /turf/open/floor/wood/large, @@ -28167,6 +28152,15 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/science/robotics/lab) +"jgu" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/hallway/secondary/entry) "jgM" = ( /obj/structure/stairs/south, /turf/open/floor/iron/stairs/medium, @@ -32040,6 +32034,17 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/tram/right) +"kuz" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 9 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/table/glass, +/obj/machinery/microwave, +/obj/structure/cable, +/obj/machinery/light/warm/directional/west, +/turf/open/floor/iron, +/area/station/engineering/break_room) "kuB" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light/dim/directional/north, @@ -35877,17 +35882,6 @@ }, /turf/open/floor/catwalk_floor, /area/station/hallway/primary/tram/left) -"lIS" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/escapepodbay) "lIZ" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/visible{ @@ -41336,14 +41330,6 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) -"nGZ" = ( -/obj/effect/turf_decal/siding/thinplating/dark, -/obj/structure/chair{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/exit/departure_lounge) "nHi" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/siding/thinplating/dark{ @@ -43460,6 +43446,13 @@ /obj/effect/turf_decal/siding/thinplating, /turf/open/floor/glass/reinforced, /area/station/security/warden) +"osC" = ( +/obj/structure/chair/stool/bar/directional/east, +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/commons/fitness/recreation) "osG" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/ladder, @@ -52498,6 +52491,17 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/atmos) +"rJQ" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/escapepodbay) "rJV" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -57546,6 +57550,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/medical/virology) +"txj" = ( +/obj/structure/table/reinforced, +/obj/machinery/microwave, +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/medical/break_room) "txl" = ( /obj/structure/railing{ dir = 1 @@ -59147,15 +59159,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) -"uba" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/secondary/entry) "ubd" = ( /obj/effect/turf_decal/trimline/neutral/filled/corner{ dir = 8 @@ -63774,6 +63777,14 @@ }, /turf/open/floor/plating, /area/station/hallway/secondary/entry) +"vyc" = ( +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/structure/chair{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/exit/departure_lounge) "vyo" = ( /obj/machinery/duct, /obj/structure/cable, @@ -67614,6 +67625,17 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/tram/right) +"wTZ" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 9 + }, +/obj/machinery/camera/emp_proof{ + c_tag = "Engineering - Atmospherics Incinerator ACcess"; + dir = 9; + network = list("ss13","engineering") + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) "wUv" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 8 @@ -68400,17 +68422,6 @@ }, /turf/open/floor/iron, /area/station/commons/dorms) -"xll" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 9 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/table/glass, -/obj/machinery/microwave/engineering/cell_included, -/obj/structure/cable, -/obj/machinery/light/warm/directional/west, -/turf/open/floor/iron, -/area/station/engineering/break_room) "xlu" = ( /obj/structure/rack, /obj/item/clothing/under/color/blue, @@ -71082,17 +71093,6 @@ /obj/effect/turf_decal/tile/blue/anticorner/contrasted, /turf/open/floor/iron, /area/station/security/courtroom) -"ykm" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 9 - }, -/obj/machinery/camera/emp_proof{ - c_tag = "Engineering - Atmospherics Incinerator ACcess"; - dir = 9; - network = list("ss13","engineering") - }, -/turf/open/floor/iron, -/area/station/engineering/atmos) "yks" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 @@ -85460,7 +85460,7 @@ adp adA adB fIV -lIS +rJQ adF adK yiI @@ -102434,7 +102434,7 @@ akI cJM ulV bbj -xll +kuz ksW ryJ gzZ @@ -108369,7 +108369,7 @@ qTR mDC tnq hZr -ykm +wTZ gWu hZr aaa @@ -151502,7 +151502,7 @@ wHT twz twz vhv -uba +jgu yjN yjN rWB @@ -155891,7 +155891,7 @@ mXY woJ tdR qOF -aKZ +osC gsO aLi aLQ @@ -170558,7 +170558,7 @@ gVO vXT cyL nen -hrr +txj adM oGJ qaO @@ -188776,7 +188776,7 @@ qSm eQs qSm orX -nGZ +vyc fmy aac aac diff --git a/code/__DEFINES/_flags.dm b/code/__DEFINES/_flags.dm index 298018a99a80..4495f51d2b69 100644 --- a/code/__DEFINES/_flags.dm +++ b/code/__DEFINES/_flags.dm @@ -61,6 +61,8 @@ GLOBAL_LIST_INIT(bitflags, list(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 204 /// This atom does not need to generate its own preview icon for GAGS #define NO_NEW_GAGS_PREVIEW_1 (1<<19) +#define HAS_UNIQUE_SCREENTIP_NAME_1 (1<<20) + // Update flags for [/atom/proc/update_appearance] /// Update the atom's name #define UPDATE_NAME (1<<0) diff --git a/code/__DEFINES/atmospherics/atmos_machinery.dm b/code/__DEFINES/atmospherics/atmos_machinery.dm index 3e5c6698a4e4..e85e7feebcea 100644 --- a/code/__DEFINES/atmospherics/atmos_machinery.dm +++ b/code/__DEFINES/atmospherics/atmos_machinery.dm @@ -90,5 +90,7 @@ ///Min allowed pressure for canisters to release air per tick #define CAN_MIN_RELEASE_PRESSURE (ONE_ATMOSPHERE * 0.1) -#define FIRELOCK_FAULT_NAME(tag) "Firelock [tag]" -#define FIREALARM_FAULT_NAME(tag) "Fire Alarm [tag]" +#define FIRELOCK_FAULT_NAME(tag) "Firelock - [tag]" +#define FIREALARM_FAULT_NAME(tag) "Fire Alarm - [tag]" +#define VENT_PUMP_NAME(tag) "Vent Pump - [tag]" +#define SCRUBBER_NAME(tag) "Scrubber - [tag]" diff --git a/code/__DEFINES/traits/declarations.dm b/code/__DEFINES/traits/declarations.dm index 604b08177c01..02d863c3579f 100644 --- a/code/__DEFINES/traits/declarations.dm +++ b/code/__DEFINES/traits/declarations.dm @@ -285,8 +285,6 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_PRESENT_VISION "present-vision" #define TRAIT_DISK_VERIFIER "disk-verifier" #define TRAIT_NOMOBSWAP "no-mob-swap" -/// Can examine IDs to see if they are roundstart. -#define TRAIT_ID_APPRAISER "id_appraiser" /// Gives us turf, mob and object vision through walls #define TRAIT_XRAY_VISION "xray_vision" /// Gives us mob vision through walls and slight night vision @@ -1048,12 +1046,8 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai /// Trait given if the mob has a cranial fissure. #define TRAIT_HAS_CRANIAL_FISSURE "has_cranial_fissure" -/// Denotes that this id card was given via the job outfit, aka the first ID this player got. -#define TRAIT_JOB_FIRST_ID_CARD "job_first_id_card" /// ID cards with this trait will attempt to forcibly occupy the front-facing ID card slot in wallets. #define TRAIT_MAGNETIC_ID_CARD "magnetic_id_card" -/// ID cards with this trait have special appraisal text. -#define TRAIT_TASTEFULLY_THICK_ID_CARD "impressive_very_nice" /// things with this trait are treated as having no access in /obj/proc/check_access(obj/item) #define TRAIT_ALWAYS_NO_ACCESS "alwaysnoaccess" diff --git a/code/_globalvars/bitfields.dm b/code/_globalvars/bitfields.dm index 18d355c07362..3a3f965f63ed 100644 --- a/code/_globalvars/bitfields.dm +++ b/code/_globalvars/bitfields.dm @@ -145,6 +145,7 @@ DEFINE_BITFIELD(flags_1, list( "PREVENT_CONTENTS_EXPLOSION_1" = PREVENT_CONTENTS_EXPLOSION_1, "SUPERMATTER_IGNORES_1" = SUPERMATTER_IGNORES_1, "UNPAINTABLE_1" = UNPAINTABLE_1, + "HAS_UNIQUE_SCREENTIP_NAME_1" = HAS_UNIQUE_SCREENTIP_NAME_1 )) DEFINE_BITFIELD(flags_ricochet, list( diff --git a/code/_globalvars/traits/_traits.dm b/code/_globalvars/traits/_traits.dm index fed600130484..281b16398da6 100644 --- a/code/_globalvars/traits/_traits.dm +++ b/code/_globalvars/traits/_traits.dm @@ -276,7 +276,6 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_HOT_SPRING_CURSED" = TRAIT_HOT_SPRING_CURSED, "TRAIT_HULK" = TRAIT_HULK, "TRAIT_HUSK" = TRAIT_HUSK, - "TRAIT_ID_APPRAISER" = TRAIT_ID_APPRAISER, "TRAIT_IGNORESLOWDOWN" = TRAIT_IGNORESLOWDOWN, "TRAIT_IGNORE_ELEVATION" = TRAIT_IGNORE_ELEVATION, "TRAIT_IGNORE_SURGERY_MODIFIERS" = TRAIT_IGNORE_SURGERY_MODIFIERS, @@ -583,9 +582,7 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_EASY_ATTACH" = TRAIT_EASY_ATTACH, ), /obj/item/card/id = list( - "TRAIT_JOB_FIRST_ID_CARD" = TRAIT_JOB_FIRST_ID_CARD, "TRAIT_MAGNETIC_ID_CARD" = TRAIT_MAGNETIC_ID_CARD, - "TRAIT_TASTEFULLY_THICK_ID_CARD" = TRAIT_TASTEFULLY_THICK_ID_CARD, ), /obj/item/clothing = list( "TRAIT_RADIATION_PROTECTED_CLOTHING" = TRAIT_RADIATION_PROTECTED_CLOTHING, diff --git a/code/datums/quirks/negative_quirks/prosopagnosia.dm b/code/datums/quirks/negative_quirks/prosopagnosia.dm index dae994d59297..b1c0e1e0117e 100644 --- a/code/datums/quirks/negative_quirks/prosopagnosia.dm +++ b/code/datums/quirks/negative_quirks/prosopagnosia.dm @@ -5,7 +5,6 @@ value = -4 medical_record_text = "Patient suffers from prosopagnosia and cannot recognize faces." hardcore_value = 5 - mail_goodies = list(/obj/item/skillchip/appraiser) // bad at recognizing faces but good at recognizing IDs /datum/quirk/prosopagnosia/add(client/client_source) . = ..() diff --git a/code/game/atom/_atom.dm b/code/game/atom/_atom.dm index 3ea1862706aa..c198540c776b 100644 --- a/code/game/atom/_atom.dm +++ b/code/game/atom/_atom.dm @@ -860,7 +860,7 @@ var/shift_lmb_ctrl_shift_lmb_line = "" var/extra_lines = 0 var/extra_context = "" - var/used_name = name + var/used_name = (flags_1 & HAS_UNIQUE_SCREENTIP_NAME_1) ? get_screentip_name() : name if(isliving(user) || isovermind(user) || isaicamera(user) || (ghost_screentips && isobserver(user))) var/obj/item/held_item = user.get_active_held_item() @@ -952,6 +952,11 @@ active_hud.screentip_text.maptext = new_maptext active_hud.screentip_text.maptext_y = 26 - map_height +/atom/proc/get_screentip_name() + stack_trace("Atom with HAS_UNIQUE_SCREENTIP_NAME_1 did not implement get_screentip_name()!") + flags_1 &= ~HAS_UNIQUE_SCREENTIP_NAME_1 + return name + /** * This proc is used for telling whether something can pass by this atom in a given direction, for use by the pathfinding system. * diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 65cc48bebb28..0d17ed397d62 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -73,7 +73,7 @@ #define DOOR_VISION_DISTANCE 11 ///The maximum distance a door will see out to /obj/machinery/door/airlock - name = "\improper Airlock" + name = "airlock" icon = 'icons/obj/doors/airlocks/station/public.dmi' icon_state = "closed" max_integrity = 300 @@ -153,7 +153,9 @@ /// How many seconds remain until the door is no longer electrified. -1/MACHINE_ELECTRIFIED_PERMANENT = permanently electrified until someone fixes it. var/secondsElectrified = MACHINE_NOT_ELECTRIFIED - flags_1 = HTML_USE_INITAL_ICON_1 + var/nameplate = null + + flags_1 = parent_type::flags_1 | HAS_UNIQUE_SCREENTIP_NAME_1 | HTML_USE_INITAL_ICON_1 rad_insulation = RAD_MEDIUM_INSULATION /obj/machinery/door/airlock/get_save_vars() @@ -189,6 +191,14 @@ RegisterSignal(SSdcs, COMSIG_GLOB_GREY_TIDE, PROC_REF(grey_tide)) + if(mapload) + if(name != initial(name)) + if(LOWER_TEXT(name) != LOWER_TEXT(initial(name))) + nameplate = name + name = initial(name) + if(glass) + name = replacetext(name, " glass ", " ") + /obj/machinery/door/airlock/proc/grey_tide(datum/source, list/grey_tide_areas) SIGNAL_HANDLER @@ -624,6 +634,21 @@ if(AIRLOCK_CLOSING_FINISHED) return 0.6 SECONDS +/obj/machinery/door/airlock/get_name_chaser(mob/user, list/name_chaser) + . = ..() + if(nameplate) + . += span_info("It has a nameplate: [nameplate].") + +/obj/machinery/door/airlock/MouseEntered(location, control, params) + . = ..() + if(nameplate) + winset(usr, null, "mapwindow.status_bar.text=\"[get_screentip_name()]\"" ) + +/obj/machinery/door/airlock/get_screentip_name() + if(nameplate) + return "[name] - [nameplate]" + return name + /obj/machinery/door/airlock/examine(mob/user) . = ..() if(closeOtherId) @@ -1868,7 +1893,7 @@ assemblytype = /obj/structure/door_assembly/door_assembly_extmai /obj/machinery/door/airlock/mining - name = "mining airlock" + name = "cargo airlock" icon = 'icons/obj/doors/airlocks/station/mining.dmi' assemblytype = /obj/structure/door_assembly/door_assembly_min @@ -1911,11 +1936,11 @@ req_access = list(ACCESS_SYNDICATE) /obj/machinery/door/airlock/glass/incinerator/syndicatelava_interior - name = "Turbine Interior Airlock" + name = "turbine interior airlock" id_tag = INCINERATOR_SYNDICATELAVA_AIRLOCK_INTERIOR /obj/machinery/door/airlock/glass/incinerator/syndicatelava_exterior - name = "Turbine Exterior Airlock" + name = "turbine exterior airlock" id_tag = INCINERATOR_SYNDICATELAVA_AIRLOCK_EXTERIOR /obj/machinery/door/airlock/command/glass @@ -1943,7 +1968,7 @@ opacity = FALSE glass = TRUE -/obj/machinery/door/airlock/hydroponics/glass //Uses same icon as medical/glass, maybe update it with its own unique icon one day? +/obj/machinery/door/airlock/hydroponics/glass name = "hydroponics glass airlock" opacity = FALSE glass = TRUE @@ -1958,20 +1983,20 @@ heat_proof = TRUE /obj/machinery/door/airlock/research/glass/incinerator/ordmix_interior - name = "Mixing Room Interior Airlock" + name = "mixing room interior airlock" id_tag = INCINERATOR_ORDMIX_AIRLOCK_INTERIOR /obj/machinery/door/airlock/research/glass/incinerator/ordmix_exterior - name = "Mixing Room Exterior Airlock" + name = "mixing room exterior airlock" id_tag = INCINERATOR_ORDMIX_AIRLOCK_EXTERIOR /obj/machinery/door/airlock/mining/glass - name = "mining glass airlock" + name = "cargo glass airlock" opacity = FALSE glass = TRUE /obj/machinery/door/airlock/atmos/glass - name = "atmospheric glass airlock" + name = "atmospherics glass airlock" opacity = FALSE glass = TRUE diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm index 5925aca6061c..c551b484a9be 100644 --- a/code/game/machinery/doors/firedoor.dm +++ b/code/game/machinery/doors/firedoor.dm @@ -21,6 +21,7 @@ closingLayer = CLOSED_FIREDOOR_LAYER armor_type = /datum/armor/door_firedoor interaction_flags_machine = INTERACT_MACHINE_WIRES_IF_OPEN | INTERACT_MACHINE_ALLOW_SILICON | INTERACT_MACHINE_OPEN_SILICON | INTERACT_MACHINE_REQUIRES_SILICON | INTERACT_MACHINE_OPEN + flags_1 = parent_type::flags_1 | HAS_UNIQUE_SCREENTIP_NAME_1 COOLDOWN_DECLARE(activation_cooldown) @@ -115,10 +116,22 @@ QDEL_NULL(soundloop) return ..() -/obj/machinery/door/firedoor/examine(mob/user) +/obj/machinery/door/firedoor/get_name_chaser(mob/user, list/name_chaser) + . = ..() + . += span_info("It has an ID serial: [id_tag], and belongs to [get_area_name(my_area)].") + +/obj/machinery/door/firedoor/MouseEntered(location, control, params) . = ..() - . += span_info("It belongs to [get_area_name(my_area)], and is ID [id_tag].") + if(id_tag) + winset(usr, null, "mapwindow.status_bar.text=\"[get_screentip_name()]\"" ) +/obj/machinery/door/firedoor/get_screentip_name() + if(id_tag) + return "[name] - [id_tag]" + return name + +/obj/machinery/door/firedoor/examine(mob/user) + . = ..() if(!density) . += span_notice("It is open, but could be pried closed.") else if(!welded) diff --git a/code/game/machinery/lightswitch.dm b/code/game/machinery/lightswitch.dm index 819cf7f1900e..fd9ff311f790 100644 --- a/code/game/machinery/lightswitch.dm +++ b/code/game/machinery/lightswitch.dm @@ -13,8 +13,6 @@ var/area/area = null ///Range of the light emitted when powered, but off var/light_on_range = 1 - /// Should this lightswitch automatically rename itself to match the area it's in? - var/autoname = TRUE MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/light_switch, 26) @@ -32,8 +30,6 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/light_switch, 26) area = GLOB.areas_by_type[area] if(!area) area = get_area(src) - if(autoname) - name = "light switch ([area.name])" find_and_hang_on_wall(custom_drop_callback = CALLBACK(src, PROC_REF(deconstruct), TRUE)) register_context() update_appearance() @@ -48,6 +44,10 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/light_switch, 26) return CONTEXTUAL_SCREENTIP_SET return . +/obj/machinery/light_switch/get_name_chaser(mob/user, list/name_chaser) + . = ..() + . += span_info("It belongs to [get_area_name(area)].") + /obj/machinery/light_switch/update_appearance(updates=ALL) . = ..() luminosity = (machine_stat & NOPOWER) ? 0 : 1 diff --git a/code/game/machinery/suit_storage_unit.dm b/code/game/machinery/suit_storage_unit.dm index f67f29670adb..d2205d712b55 100644 --- a/code/game/machinery/suit_storage_unit.dm +++ b/code/game/machinery/suit_storage_unit.dm @@ -82,38 +82,51 @@ mask_type = /obj/item/clothing/mask/gas/atmos/captain storage_type = /obj/item/tank/jetpack/oxygen/captain mod_type = /obj/item/mod/control/pre_equipped/magnate + req_access = list(ACCESS_CAPTAIN) + locked = TRUE /obj/machinery/suit_storage_unit/centcom mask_type = /obj/item/clothing/mask/gas/atmos/centcom storage_type = /obj/item/tank/jetpack/oxygen/captain mod_type = /obj/item/mod/control/pre_equipped/corporate + req_access = list(ACCESS_CENT_GENERAL) + locked = TRUE /obj/machinery/suit_storage_unit/engine mask_type = /obj/item/clothing/mask/breath mod_type = /obj/item/mod/control/pre_equipped/engineering + req_access = list(ACCESS_ENGINEERING) /obj/machinery/suit_storage_unit/atmos mask_type = /obj/item/clothing/mask/gas/atmos storage_type = /obj/item/watertank/atmos mod_type = /obj/item/mod/control/pre_equipped/atmospheric + req_access = list(ACCESS_ATMOSPHERICS) /obj/machinery/suit_storage_unit/ce mask_type = /obj/item/clothing/mask/breath storage_type = /obj/item/clothing/shoes/magboots/advance mod_type = /obj/item/mod/control/pre_equipped/advanced + req_access = list(ACCESS_CE) + locked = TRUE /obj/machinery/suit_storage_unit/security mask_type = /obj/item/clothing/mask/gas/sechailer mod_type = /obj/item/mod/control/pre_equipped/security + req_access = list(ACCESS_SECURITY) + locked = TRUE /obj/machinery/suit_storage_unit/hos mask_type = /obj/item/clothing/mask/gas/sechailer storage_type = /obj/item/tank/internals/oxygen mod_type = /obj/item/mod/control/pre_equipped/safeguard + req_access = list(ACCESS_HOS) + locked = TRUE /obj/machinery/suit_storage_unit/mining suit_type = /obj/item/clothing/suit/hooded/explorer mask_type = /obj/item/clothing/mask/gas/explorer + req_access = list(ACCESS_MINING) /obj/machinery/suit_storage_unit/mining/eva suit_type = null @@ -124,21 +137,26 @@ mask_type = /obj/item/clothing/mask/breath/medical storage_type = /obj/item/tank/internals/oxygen mod_type = /obj/item/mod/control/pre_equipped/medical + req_access = list(ACCESS_MEDICAL) /obj/machinery/suit_storage_unit/cmo mask_type = /obj/item/clothing/mask/breath/medical storage_type = /obj/item/tank/internals/oxygen mod_type = /obj/item/mod/control/pre_equipped/rescue + req_access = list(ACCESS_CMO) /obj/machinery/suit_storage_unit/rd mask_type = /obj/item/clothing/mask/breath storage_type = /obj/item/tank/internals/oxygen mod_type = /obj/item/mod/control/pre_equipped/research + req_access = list(ACCESS_RD) /obj/machinery/suit_storage_unit/syndicate mask_type = /obj/item/clothing/mask/gas/syndicate storage_type = /obj/item/tank/jetpack/oxygen/harness mod_type = /obj/item/mod/control/pre_equipped/nuclear + req_access = list(ACCESS_SYNDICATE) + locked = TRUE /obj/machinery/suit_storage_unit/syndicate/lavaland mod_type = /obj/item/mod/control/pre_equipped/nuclear/no_jetpack @@ -147,6 +165,8 @@ mask_type = /obj/item/clothing/mask/gas/syndicate storage_type = /obj/item/tank/internals/oxygen mod_type = /obj/item/mod/control/pre_equipped/interdyne + req_access = list(ACCESS_SYNDICATE) + locked = TRUE /obj/machinery/suit_storage_unit/void_old suit_type = /obj/item/clothing/suit/space/nasavoid/old @@ -165,6 +185,8 @@ /obj/machinery/suit_storage_unit/nuke_med suit_type = /obj/item/clothing/suit/space/syndicate/black/med helmet_type = /obj/item/clothing/head/helmet/space/syndicate/black/med + req_access = list(ACCESS_SYNDICATE) + locked = TRUE /obj/machinery/suit_storage_unit/open state_open = TRUE @@ -180,8 +202,7 @@ /obj/machinery/suit_storage_unit/Initialize(mapload) . = ..() - - set_access() + set_access(req_access, req_one_access) set_wires(new /datum/wires/suit_storage_unit(src)) if(suit_type) suit = new suit_type(src) @@ -241,7 +262,7 @@ . += "[base_icon_state]_helm" if(storage) . += "[base_icon_state]_storage" - if(!(machine_stat & BROKEN || machine_stat & NOPOWER)) + if(is_operational) if(state_open) . += "[base_icon_state]_lights_open" else @@ -271,13 +292,18 @@ . += span_notice("A card reader can be installed for further control access after opening its panel.") /// copy over access of electronics -/obj/machinery/suit_storage_unit/proc/set_access(list/accesses) +/obj/machinery/suit_storage_unit/proc/set_access(list/accesses, list/one_accesses) var/obj/item/electronics/airlock/electronics = locate() in component_parts if(QDELETED(electronics)) return if(!isnull(accesses)) electronics.accesses = accesses + electronics.one_access = FALSE + else if(!isnull(one_accesses)) + electronics.accesses = one_accesses + electronics.one_access = TRUE + if(electronics.one_access) req_one_access = electronics.accesses req_access = null @@ -291,7 +317,7 @@ for(var/datum/stock_part/capacitor/capacitor in component_parts) final_charge_rate = base_charge_rate + (capacitor.tier * 0.05 * STANDARD_CELL_RATE) - set_access() + set_access(req_access, req_one_access) /obj/machinery/suit_storage_unit/power_change() . = ..() @@ -320,8 +346,6 @@ name = initial(name) desc = initial(desc) id_card = null - req_access = list() - req_one_access = null set_access(list()) return TRUE if(user.get_idcard() != id) @@ -681,8 +705,6 @@ if("None") //free for all name = initial(name) desc = initial(desc) - req_access = list() - req_one_access = null set_access(list()) if(!isnull(id_card)) diff --git a/code/game/objects/effects/spawners/random/decoration.dm b/code/game/objects/effects/spawners/random/decoration.dm index 6116d2287331..4fdcee1c5d12 100644 --- a/code/game/objects/effects/spawners/random/decoration.dm +++ b/code/game/objects/effects/spawners/random/decoration.dm @@ -98,7 +98,6 @@ icon_state = "showcase" loot = list( /obj/structure/showcase/machinery/microwave, - /obj/structure/showcase/machinery/microwave_engineering, ) /obj/effect/spawner/random/decoration/glowstick diff --git a/code/game/objects/effects/spawners/random/techstorage.dm b/code/game/objects/effects/spawners/random/techstorage.dm index 2376d8e2eb5a..997d24805595 100644 --- a/code/game/objects/effects/spawners/random/techstorage.dm +++ b/code/game/objects/effects/spawners/random/techstorage.dm @@ -34,7 +34,6 @@ /obj/item/circuitboard/machine/ore_redemption, /obj/item/circuitboard/computer/order_console/mining, /obj/item/circuitboard/machine/microwave, - /obj/item/circuitboard/machine/microwave/engineering, /obj/item/circuitboard/machine/deep_fryer, /obj/item/circuitboard/machine/griddle, /obj/item/circuitboard/machine/reagentgrinder, diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 92ded7bd7e75..04de8cfd12b5 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -568,7 +568,10 @@ else if(main_weapon_examine) // you can intuit a good weapon is a good thrown weapon, only report otherwise if it's significant if(abs(force - throwforce) >= 10 && main_weapon_examine != thrown_weapon_examine) - return_message += ", but is [thrown_weapon_examine] when thrown" + if(throwforce < 20) + return_message += ", but is [thrown_weapon_examine] when thrown" + else + return_message += ", while being [thrown_weapon_examine] when thrown" else return_message = "that can be used as \a [thrown_weapon_examine] thrown weapon" diff --git a/code/game/objects/items/cards_ids.dm b/code/game/objects/items/cards_ids.dm index e523fe8350b0..f9336c9eebd1 100644 --- a/code/game/objects/items/cards_ids.dm +++ b/code/game/objects/items/cards_ids.dm @@ -67,6 +67,7 @@ interaction_flags_click = FORBID_TELEKINESIS_REACH armor_type = /datum/armor/card_id resistance_flags = FIRE_PROOF | ACID_PROOF + flags_1 = HAS_UNIQUE_SCREENTIP_NAME_1 /// The name registered on the card (for example: Dr Bryan See) var/registered_name = null @@ -109,9 +110,6 @@ /// List of wildcard slot names as keys with lists of wildcard data as values. var/list/wildcard_slots = list() - /// Boolean value. If TRUE, the [Intern] tag gets prepended to this ID card when the label is updated. - var/is_intern = FALSE - /// Will this ID card use the first or last name as the name displayed with the honorific? var/honorific_position = HONORIFIC_POSITION_DISABLED /// What is our selected honorific? @@ -147,8 +145,6 @@ register_context() RegisterSignal(src, COMSIG_ATOM_UPDATED_ICON, PROC_REF(update_in_wallet)) - if(prob(1)) - ADD_TRAIT(src, TRAIT_TASTEFULLY_THICK_ID_CARD, ROUNDSTART_TRAIT) /obj/item/card/id/Destroy() if (registered_account) @@ -177,36 +173,6 @@ return honorific_title return registered_name -// /obj/item/card/id/proc/on_loc_equipped(datum/source, mob/equipper, slot) -// SIGNAL_HANDLER - -// if (slot == ITEM_SLOT_ID) -// RegisterSignal(equipper, COMSIG_MOVABLE_POINTED, PROC_REF(on_pointed)) - -// /obj/item/card/id/proc/on_loc_dropped(datum/source, mob/dropper) -// SIGNAL_HANDLER -// UnregisterSignal(dropper, COMSIG_MOVABLE_POINTED) - -// /obj/item/card/id/proc/on_pointed(mob/living/user, atom/pointed, obj/effect/temp_visual/point/point) -// SIGNAL_HANDLER -// if ((!big_pointer && !pointer_color) || HAS_TRAIT(user, TRAIT_UNKNOWN_APPEARANCE)) -// return -// if (point.icon_state != /obj/effect/temp_visual/point::icon_state) //it differs from the original icon_state already. -// return -// if (loc != user) -// if (!isitem(loc)) -// return -// var/obj/item/as_item = loc -// if (as_item.GetID() != src) -// return -// if (big_pointer) -// point.icon_state = "arrow_large" -// if (pointer_color) -// point.icon_state = "[point.icon_state]_white" -// point.color = pointer_color -// var/mutable_appearance/highlight = mutable_appearance(point.icon, "[point.icon_state]_highlights", appearance_flags = RESET_COLOR) -// point.add_overlay(highlight) - /obj/item/card/id/get_id_examine_strings(mob/user) . = ..() . += list("[icon2html(get_cached_flat_icon(), user, extra_classes = "hugeicon")]") @@ -779,75 +745,63 @@ message = span_nicegreen("You pay the last [amount_to_pay] credits of your debt, extinguishing it. Congratulations!") to_chat(user, message) +/obj/item/card/id/MouseEntered(location, control, params) + . = ..() + if(registered_name) + winset(usr, null, "mapwindow.status_bar.text=\"[get_screentip_name()]\"" ) + +/obj/item/card/id/get_screentip_name() + if(registered_name) + return "[name] - [registered_name]" + return name + /obj/item/card/id/examine(mob/user) . = ..() if(!user.can_read(src)) return - if(registered_account && !isnull(registered_account.account_id)) - . += "The account linked to the ID belongs to '[registered_account.account_holder]' and reports a balance of [registered_account.account_balance] cr." + var/list/id_info = list() + id_info += "• Name: [get_displayed_name(honorifics = TRUE)]" + id_info += "• Job: [get_trim_assignment()]" + id_info += "• Age: [registered_age]" + if(registered_account?.account_id) + id_info += "• Account Owner: [registered_account.account_holder]" + var/balance_info = "Balance: [registered_account.account_balance]cr" if(ACCESS_COMMAND in access) var/datum/bank_account/linked_dept = SSeconomy.get_dep_account(registered_account.account_job.paycheck_department) - . += "The [linked_dept.account_holder] linked to the ID reports a balance of [linked_dept.account_balance] cr." - else - . += span_notice("Alt-Right-Click the ID to set the linked bank account.") - - if(HAS_TRAIT(user, TRAIT_ID_APPRAISER)) - . += HAS_TRAIT(src, TRAIT_JOB_FIRST_ID_CARD) ? span_boldnotice("Hmm... yes, this ID was issued from Central Command!") : span_boldnotice("This ID was created in this sector, not by Central Command.") - if(HAS_TRAIT(src, TRAIT_TASTEFULLY_THICK_ID_CARD) && (user.is_holding(src) || (user.CanReach(src) && user.put_in_hands(src, ignore_animation = FALSE)))) - ADD_TRAIT(src, TRAIT_NODROP, "psycho") - . += span_hypnophrase("Look at that subtle coloring... The tasteful thickness of it. Oh my God, it even has a watermark...") - var/sound/slowbeat = sound('sound/health/slowbeat.ogg', repeat = TRUE) - user.playsound_local(get_turf(src), slowbeat, 40, 0, channel = CHANNEL_HEARTBEAT, use_reverb = FALSE) - if(isliving(user)) - var/mob/living/living_user = user - living_user.adjust_jitter(10 SECONDS) - addtimer(CALLBACK(src, PROC_REF(drop_card), user), 10 SECONDS) - . += span_notice("There's more information below, you can look again to take a closer look...") - -/obj/item/card/id/proc/drop_card(mob/user) - user.stop_sound_channel(CHANNEL_HEARTBEAT) - REMOVE_TRAIT(src, TRAIT_NODROP, "psycho") - if(user.is_holding(src)) - user.dropItemToGround(src) - for(var/mob/living/carbon/human/viewing_mob in viewers(user, 2)) - if(viewing_mob.stat || viewing_mob == user) - continue - viewing_mob.say("Is something wrong? [first_name(user.name)]... you're sweating.", forced = "psycho") - break + balance_info += " / Dept. Budget: [linked_dept.account_balance]cr" + id_info += span_slightly_smaller(" ↳ [balance_info]") + if(registered_account.mining_points || istype(trim, /datum/id_trim/job/shaft_miner) || istype(trim, /datum/id_trim/job/bitrunner)) + id_info += span_slightly_smaller(" ↳ Mining Scrip: [registered_account.mining_points]") + + var/list/control_info = list() + control_info += span_smallnotice("Alt-Click the ID to pull money from the linked account in the form of holochips.") + control_info += span_smallnotice("You can insert credits into the linked account by pressing holochips, cash, or coins against the ID.") + if(isnull(registered_account) || isnull(registered_account.account_id) || registered_account.replaceable) + control_info += span_smallnotice("Alt-Right-Click the ID to change the linked account.") + + var/id_info_formatted = span_info(boxed_message(jointext(id_info, "
"))) + var/control_info_formatted = jointext(control_info, "
") + + . += "[id_info_formatted][control_info_formatted]" // skipping br between the box and the controls because the box already has a br at the end. + if(registered_account?.account_debt || registered_account?.civilian_bounty) + . += span_smallnoticeital("There's more information below, you can examine again to take a closer look...") /obj/item/card/id/examine_more(mob/user) . = ..() if(!user.can_read(src)) return - . += span_notice("You examine [src] closer, and note the following...") - - if(registered_age) - . += "The card indicates that the holder is [registered_age] years old. [(registered_age < AGE_MINOR) ? "There's a holographic stripe that reads [span_danger("'MINOR: DO NOT SERVE ALCOHOL OR TOBACCO'")] along the bottom of the card." : ""]" if(registered_account) - if(registered_account.mining_points) - . += "There's [registered_account.mining_points] mining point\s loaded onto the card's bank account." - . += "The account linked to the ID belongs to '[registered_account.account_holder]' and reports a balance of [registered_account.account_balance] cr." if(registered_account.account_debt) - . += span_warning("The account is currently indebted for [registered_account.account_debt] cr. [100*DEBT_COLLECTION_COEFF]% of all earnings will go towards extinguishing it.") - if(registered_account.account_job) - var/datum/bank_account/D = SSeconomy.get_dep_account(registered_account.account_job.paycheck_department) - if(D) - . += "The [D.account_holder] reports a balance of [D.account_balance] cr." - . += span_info("Alt-Click the ID to pull money from the linked account in the form of holochips.") - . += span_info("You can insert credits into the linked account by pressing holochips, cash, or coins against the ID.") - if(registered_account.replaceable) - . += span_info("Alt-Right-Click the ID to change the linked bank account.") + . += span_warning("The account is currently indebted for [registered_account.account_debt] cr. \ + [100 * DEBT_COLLECTION_COEFF]% of all earnings will go towards extinguishing it.") if(registered_account.civilian_bounty) - . += "There is an active civilian bounty." - . += span_info("[registered_account.bounty_text()]") - . += span_info("Quantity: [registered_account.bounty_num()]") - . += span_info("Reward: [registered_account.bounty_value()]") - if(registered_account.account_holder == user.real_name) - . += span_boldnotice("If you lose this ID card, you can reclaim your account by Alt-Clicking a blank ID card while holding it and entering your account ID number.") - else - . += span_info("There is no registered account linked to this card. Alt-Click to add one.") + var/list/bounty_text = list() + bounty_text += "[registered_account.bounty_text()]" + bounty_text += "Quantity: [registered_account.bounty_num()]" + bounty_text += "Reward: [registered_account.bounty_value()]cr" + . += span_info(fieldset_block("Bounty Information", jointext(bounty_text, "
"), "boxed_message")) return . @@ -872,27 +826,10 @@ /// Updates the name based on the card's vars and state. /obj/item/card/id/proc/update_label() - var/name_string if(registered_name) update_honorific() - if(honorific_title) - name_string = "[honorific_title]'s ID Card" - else - name_string = "[registered_name]'s ID Card" - else - name_string = initial(name) - var/assignment_string - - if(is_intern) - if(assignment) - assignment_string = trim?.intern_alt_name || "Intern [assignment]" - else - assignment_string = "Intern" - else - assignment_string = assignment - - name = "[name_string] ([assignment_string])" + name = "[LOWER_TEXT(assignment)]'s ID card" if(ishuman(loc)) var/mob/living/carbon/human/human = loc @@ -1074,7 +1011,7 @@ icon_state = "card_grey" wildcard_slots = WILDCARD_LIMIT_GREY - flags_1 = UNPAINTABLE_1 + flags_1 = /*parent_type::flags_1 |*/ HAS_UNIQUE_SCREENTIP_NAME_1 | UNPAINTABLE_1 /// An overlay icon state for when the card is assigned to a name. Usually manifests itself as a little scribble to the right of the job icon. var/assigned_icon_state = "assigned" @@ -1094,16 +1031,6 @@ /// If this is set, will manually override the trim shown for SecHUDs. Intended for admins to VV edit and chameleon ID cards. var/sechud_icon_state_override = null -/obj/item/card/id/advanced/Initialize(mapload) - . = ..() - RegisterSignal(src, COMSIG_ITEM_EQUIPPED, PROC_REF(update_intern_status)) - RegisterSignal(src, COMSIG_ITEM_DROPPED, PROC_REF(remove_intern_status)) - -/obj/item/card/id/advanced/Destroy() - UnregisterSignal(src, list(COMSIG_ITEM_EQUIPPED, COMSIG_ITEM_DROPPED)) - - return ..() - /obj/item/card/id/advanced/item_interaction(mob/living/user, obj/item/tool, list/modifiers) . = ..() if(.) @@ -1140,60 +1067,6 @@ update_icon() return ITEM_INTERACT_SUCCESS -/obj/item/card/id/advanced/proc/update_intern_status(datum/source, mob/user, slot) - SIGNAL_HANDLER - - if(!user?.client) - return - if(!CONFIG_GET(flag/use_exp_tracking)) - return - if(!CONFIG_GET(flag/use_low_living_hour_intern)) - return - if(!SSdbcore.Connect()) - return - - var/intern_threshold = (CONFIG_GET(number/use_low_living_hour_intern_hours) * 60) || (CONFIG_GET(number/use_exp_restrictions_heads_hours) * 60) || INTERN_THRESHOLD_FALLBACK_HOURS * 60 - var/playtime = user.client.get_exp_living(pure_numeric = TRUE) - - if((intern_threshold >= playtime) && (user.mind?.assigned_role.job_flags & JOB_CAN_BE_INTERN)) - is_intern = TRUE - update_label() - return - - if(!is_intern) - return - - is_intern = FALSE - update_label() - -/obj/item/card/id/advanced/proc/remove_intern_status(datum/source, mob/user) - SIGNAL_HANDLER - - if(!is_intern) - return - - is_intern = FALSE - update_label() - -/obj/item/card/id/advanced/Moved(atom/old_loc, movement_dir, forced, list/old_locs, momentum_change = TRUE) - . = ..() - - //Old loc - if(istype(old_loc, /obj/item/storage/wallet)) - UnregisterSignal(old_loc, list(COMSIG_ITEM_EQUIPPED, COMSIG_ITEM_DROPPED)) - - if(istype(old_loc, /obj/item/modular_computer)) - UnregisterSignal(old_loc, list(COMSIG_ITEM_EQUIPPED, COMSIG_ITEM_DROPPED)) - - //New loc - if(istype(loc, /obj/item/storage/wallet)) - RegisterSignal(loc, COMSIG_ITEM_EQUIPPED, PROC_REF(update_intern_status)) - RegisterSignal(loc, COMSIG_ITEM_DROPPED, PROC_REF(remove_intern_status)) - - if(istype(loc, /obj/item/modular_computer)) - RegisterSignal(loc, COMSIG_ITEM_EQUIPPED, PROC_REF(update_intern_status)) - RegisterSignal(loc, COMSIG_ITEM_DROPPED, PROC_REF(remove_intern_status)) - /obj/item/card/id/advanced/update_overlays() . = ..() @@ -1266,10 +1139,6 @@ assigned_icon_state = "assigned_gold" wildcard_slots = WILDCARD_LIMIT_GOLD -/obj/item/card/id/advanced/gold/Initialize(mapload) - . = ..() - ADD_TRAIT(src, TRAIT_TASTEFULLY_THICK_ID_CARD, ROUNDSTART_TRAIT) - /obj/item/card/id/advanced/gold/captains_spare name = "captain's spare ID" article = "the" @@ -1277,13 +1146,17 @@ registered_name = "Captain" trim = /datum/id_trim/job/captain registered_age = null + flags_1 = /*parent_type::flags_1 & ~HAS_UNIQUE_SCREENTIP_NAME_1*/ UNPAINTABLE_1 /obj/item/card/id/advanced/gold/captains_spare/update_label() //so it doesn't change to Captain's ID card (Captain) on a sneeze if(registered_name == "Captain") name = "[initial(name)][(!assignment || assignment == "Captain") ? "" : " ([assignment])"]" update_appearance(UPDATE_ICON) + flags_1 &= ~HAS_UNIQUE_SCREENTIP_NAME_1 + else - ..() + . = ..() + flags_1 |= HAS_UNIQUE_SCREENTIP_NAME_1 /obj/item/card/id/advanced/centcom name = "\improper CentCom ID" diff --git a/code/game/objects/items/circuitboards/machines/machine_circuitboards.dm b/code/game/objects/items/circuitboards/machines/machine_circuitboards.dm index de24082a31ba..5464650fc999 100644 --- a/code/game/objects/items/circuitboards/machines/machine_circuitboards.dm +++ b/code/game/objects/items/circuitboards/machines/machine_circuitboards.dm @@ -1286,17 +1286,6 @@ /obj/item/stack/sheet/glass = 2) needs_anchored = FALSE -/obj/item/circuitboard/machine/microwave/engineering - name = "Wireless Microwave Oven" - greyscale_colors = CIRCUIT_COLOR_SERVICE - build_path = /obj/machinery/microwave/engineering - req_components = list( - /datum/stock_part/micro_laser = 1, - /datum/stock_part/matter_bin = 1, - /datum/stock_part/capacitor/tier2 = 1, - /obj/item/stack/cable_coil = 4, - /obj/item/stack/sheet/glass = 2) - /obj/item/circuitboard/machine/processor name = "Food Processor" greyscale_colors = CIRCUIT_COLOR_SERVICE diff --git a/code/game/objects/items/food/snacks.dm b/code/game/objects/items/food/snacks.dm index c8c0cec3df88..4cbede98656e 100644 --- a/code/game/objects/items/food/snacks.dm +++ b/code/game/objects/items/food/snacks.dm @@ -61,6 +61,7 @@ icon_state = "sosjerky" desc = "Beef jerky made from the finest space cows." trash_type = /obj/item/trash/sosjerky + gender = PLURAL food_reagents = list( /datum/reagent/consumable/nutriment/protein = 3, /datum/reagent/consumable/sugar = 2, @@ -87,6 +88,7 @@ icon_state = "chips" trash_type = /obj/item/trash/chips bite_consumption = 1 + gender = PLURAL food_reagents = list( /datum/reagent/consumable/nutriment = 1, /datum/reagent/consumable/sugar = 3, @@ -120,6 +122,7 @@ name = "\improper 4no raisins" icon_state = "4no_raisins" desc = "Best raisins in the universe. Not sure why." + gender = PLURAL trash_type = /obj/item/trash/raisins food_reagents = list( /datum/reagent/consumable/nutriment = 2, @@ -184,6 +187,7 @@ desc = "Bite sized cheesie snacks that will honk all over your mouth." icon_state = "cheesie_honkers" trash_type = /obj/item/trash/cheesie + gender = PLURAL food_reagents = list( /datum/reagent/consumable/nutriment = 1, /datum/reagent/consumable/sugar = 3, @@ -198,6 +202,7 @@ icon_state = "syndi_cakes" desc = "An extremely moist snack cake that tastes just as good after being nuked." trash_type = /obj/item/trash/syndi_cakes + gender = PLURAL food_reagents = list( /datum/reagent/consumable/nutriment = 4, /datum/reagent/consumable/doctor_delight = 5, @@ -207,9 +212,9 @@ w_class = WEIGHT_CLASS_SMALL /obj/item/food/energybar - name = "\improper High-power energy bars" + name = "\improper High-power energy bar" icon_state = "energybar" - desc = "An energy bar with a lot of punch, you probably shouldn't eat this if you're not an Ethereal." + desc = "An energy bar with a lot of punch - typically more punch than a non-Ethereal can handle." trash_type = /obj/item/trash/energybar food_reagents = list( /datum/reagent/consumable/nutriment = 3, @@ -225,6 +230,7 @@ desc = "A favourite amongst the terminally angry." icon_state = "peanuts" trash_type = /obj/item/trash/peanuts + gender = PLURAL food_reagents = list(/datum/reagent/consumable/nutriment = 2) tastes = list("peanuts" = 4, "anger" = 1) foodtypes = JUNKFOOD | NUTS @@ -314,6 +320,7 @@ GLOBAL_LIST_INIT(safe_peanut_types, populate_safe_peanut_types()) desc = "Legally, we cannot say that these won't melt in your hands." icon_state = "cnds" trash_type = /obj/item/trash/cnds + gender = PLURAL food_reagents = list( /datum/reagent/consumable/sugar = 3, /datum/reagent/consumable/coco = 1, @@ -389,6 +396,7 @@ GLOBAL_LIST_INIT(safe_peanut_types, populate_safe_peanut_types()) desc = "A pack of Sweetie's brand premium pistacios." icon_state = "pistachio" trash_type = /obj/item/trash/pistachios + gender = PLURAL food_reagents = list( /datum/reagent/consumable/nutriment = 2, /datum/reagent/consumable/nutriment/vitamin = 1, @@ -405,6 +413,7 @@ GLOBAL_LIST_INIT(safe_peanut_types, populate_safe_peanut_types()) desc = "A pack of roasted sunflower seeds. Beloved by space russians and babushka alike." icon_state = "semki" trash_type = /obj/item/trash/semki + gender = PLURAL food_reagents = list( /datum/reagent/consumable/nutriment/fat/oil = 1, /datum/reagent/consumable/salt = 6, @@ -436,6 +445,7 @@ GLOBAL_LIST_INIT(safe_peanut_types, populate_safe_peanut_types()) icon_state = "boritos" trash_type = /obj/item/trash/boritos bite_consumption = 2 + gender = PLURAL food_reagents = list( /datum/reagent/consumable/nutriment = 3, /datum/reagent/consumable/nutriment/fat/oil = 2, @@ -531,6 +541,7 @@ GLOBAL_LIST_INIT(safe_peanut_types, populate_safe_peanut_types()) desc = "The ultimate baseball snack. Once you start, it's hard to stop!" icon_state = "hot_shots" trash_type = /obj/item/trash/hot_shots + gender = PLURAL food_reagents = list( /datum/reagent/consumable/nutriment = 2, /datum/reagent/consumable/nutriment/vitamin = 1, @@ -546,6 +557,7 @@ GLOBAL_LIST_INIT(safe_peanut_types, populate_safe_peanut_types()) desc = "A classic treat for all ages, it's Sticko, the original chocolate-coated biscuit stick! This one's the original (and as some would say, best) flavour: biscuit and milk chocolate." icon_state = "sticko_classic" trash_type = /obj/item/trash/sticko + gender = PLURAL food_reagents = list( /datum/reagent/consumable/sugar = 3, /datum/reagent/consumable/coco = 1, @@ -626,6 +638,7 @@ GLOBAL_LIST_INIT(safe_peanut_types, populate_safe_peanut_types()) desc = "You've heard of Snap-Roks, now get ready for Shok-Roks: the popping candy for Ethereals! Available in 5 exciting flavours, of which this bag contains Stormcloud Candy- like cotton candy, but electric!" icon_state = "shok_roks_candy" trash_type = /obj/item/trash/shok_roks + gender = PLURAL food_reagents = list( /datum/reagent/consumable/liquidelectricity/enriched = 2, /datum/reagent/consumable/sugar = 3 diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm index f55fc63e01d2..78705ffa3dfe 100644 --- a/code/game/objects/items/storage/belt.dm +++ b/code/game/objects/items/storage/belt.dm @@ -55,6 +55,8 @@ /obj/item/radio, /obj/item/melee/sickly_blade/lock, )) + var/static/list/exception_cache = typecacheof(/obj/item/crowbar/power) + atom_storage.exception_hold = exception_cache /obj/item/storage/belt/utility/chief name = "chief engineer's toolbelt" diff --git a/code/game/objects/items/tools/crowbar.dm b/code/game/objects/items/tools/crowbar.dm index d6602438dd5d..8d6a83c87743 100644 --- a/code/game/objects/items/tools/crowbar.dm +++ b/code/game/objects/items/tools/crowbar.dm @@ -107,9 +107,9 @@ icon_state = "crowbar_powergame" /obj/item/crowbar/power - name = "jaws of life" - article = "a set of" - desc = "A set of jaws of life, compressed through the magic of science." + name = "hydraulic rescue tool" + desc = "Colloquially known as \"the Jaws of Life\" for its use in emergency situations. \ + Has a prying attachment for opening spaces and a cutting attachment for slicing through steel." icon_state = "jaws" inhand_icon_state = "jawsoflife" worn_icon_state = "jawsoflife" @@ -118,7 +118,7 @@ custom_materials = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT*2.25, /datum/material/silver = SHEET_MATERIAL_AMOUNT*1.25, /datum/material/titanium = SHEET_MATERIAL_AMOUNT*1.75) usesound = 'sound/items/jaws_pry.ogg' force = 15 - w_class = WEIGHT_CLASS_NORMAL + w_class = WEIGHT_CLASS_BULKY toolspeed = 0.7 force_opens = TRUE /// Used on Initialize, how much time to cut cable restraints and zipties. @@ -161,16 +161,17 @@ return COMPONENT_NO_DEFAULT_MESSAGE /obj/item/crowbar/power/syndicate - name = "Syndicate jaws of life" - desc = "A pocket sized re-engineered copy of Nanotrasen's standard jaws of life. Can be used to force open airlocks in its crowbar configuration." + name = "\improper Syndicate hydraulic \"rescue\" tool" + desc = "A modestly sized reverse engineering of Nanotrasen's standard issue \"hydraulic rescue tool\". \ + Despite its smaller size, it remains as capable - if not more so - than Nanotrasen's design." icon_state = "jaws_syndie" - w_class = WEIGHT_CLASS_SMALL + w_class = WEIGHT_CLASS_NORMAL toolspeed = 0.5 force_opens = TRUE /obj/item/crowbar/power/examine() . = ..() - . += " It's fitted with a [tool_behaviour == TOOL_CROWBAR ? "prying" : "cutting"] head." + . += "It's fitted with a [tool_behaviour == TOOL_CROWBAR ? "prying" : "cutting"] head." /obj/item/crowbar/power/suicide_act(mob/living/user) if(tool_behaviour == TOOL_CROWBAR) diff --git a/code/game/objects/items/tools/screwdriver.dm b/code/game/objects/items/tools/screwdriver.dm index c93402849761..8860f059e775 100644 --- a/code/game/objects/items/tools/screwdriver.dm +++ b/code/game/objects/items/tools/screwdriver.dm @@ -137,7 +137,7 @@ /obj/item/screwdriver/power/examine() . = ..() - . += " It's fitted with a [tool_behaviour == TOOL_SCREWDRIVER ? "screw" : "bolt"] bit." + . += "It's fitted with a [tool_behaviour == TOOL_SCREWDRIVER ? "screw" : "bolt"] bit." /obj/item/screwdriver/power/suicide_act(mob/living/user) if(tool_behaviour == TOOL_SCREWDRIVER) diff --git a/code/game/objects/structures/beds_chairs/pew.dm b/code/game/objects/structures/beds_chairs/pew.dm index 6388247e8c42..1a6fd9cec051 100644 --- a/code/game/objects/structures/beds_chairs/pew.dm +++ b/code/game/objects/structures/beds_chairs/pew.dm @@ -13,6 +13,11 @@ /obj/structure/chair/pew/MakeRotate() AddComponent(/datum/component/simple_rotation, ROTATION_REQUIRE_WRENCH|ROTATION_IGNORE_ANCHORED) +/obj/structure/chair/pew/Initialize(mapload) + . = ..() + if(name == initial(name)) + name = "pew" + /obj/structure/chair/pew/left name = "left wooden pew end" icon_state = "pewend_left" diff --git a/code/game/objects/structures/false_walls.dm b/code/game/objects/structures/false_walls.dm index 9a4a3b32d9a1..47f354033b2b 100644 --- a/code/game/objects/structures/false_walls.dm +++ b/code/game/objects/structures/false_walls.dm @@ -34,9 +34,13 @@ /obj/structure/falsewall/Initialize(mapload) . = ..() - var/obj/item/stack/initialized_mineral = new mineral // Okay this kinda sucks. - set_custom_materials(initialized_mineral.mats_per_unit, mineral_amount) - qdel(initialized_mineral) + // minerals are only applied to fake mineral walls + // ...yes, real iron walls are not actually made of iron + if(ispath(walltype, /turf/closed/wall/mineral)) + var/obj/item/stack/initialized_mineral = new mineral // Okay this kinda sucks. + set_custom_materials(initialized_mineral.mats_per_unit, mineral_amount) + qdel(initialized_mineral) + air_update_turf(TRUE, TRUE) update_appearance() @@ -144,12 +148,11 @@ for(var/i in 1 to mineral_amount) new mineral(loc) -/obj/structure/falsewall/get_dumping_location() - return null +/obj/structure/falsewall/examine_descriptor(mob/user) + return "wall" /obj/structure/falsewall/examine_status(mob/user) //So you can't detect falsewalls by examine. - to_chat(user, span_notice("The outer plating is welded firmly in place.")) - return null + return span_notice("The outer plating is welded firmly in place.") /* * False R-Walls @@ -166,8 +169,7 @@ smoothing_flags = SMOOTH_BITMASK /obj/structure/falsewall/reinforced/examine_status(mob/user) - to_chat(user, span_notice("The outer grille is fully intact.")) - return null + return span_notice("The outer grille is fully intact.") /obj/structure/falsewall/reinforced/attackby(obj/item/tool, mob/user) ..() diff --git a/code/game/objects/structures/showcase.dm b/code/game/objects/structures/showcase.dm index baeb8209447f..9e96bd684677 100644 --- a/code/game/objects/structures/showcase.dm +++ b/code/game/objects/structures/showcase.dm @@ -85,12 +85,6 @@ icon = 'icons/obj/machines/microwave.dmi' icon_state = "mw_complete" -/obj/structure/showcase/machinery/microwave_engineering - name = "\improper Nanotrasen Wave(tm) microwave" - desc = "Just when everyone thought Nanotrasen couldn't improve on their famous microwave, this 2563 model features Wave™! A Nanotrasen exclusive, Wave™ allows your PDA to be charged wirelessly through microwave frequencies. Because nothing says 'future' like charging your PDA while overcooking your leftovers. Nanotrasen Wave™ - Multitasking, redefined." - icon = 'icons/obj/machines/microwave.dmi' - icon_state = "engi_mw_complete" - /obj/structure/showcase/machinery/cloning_pod name = "cloning pod exhibit" desc = "Depicts a prototype from a failed attempt at reliable cloning technology. The technology was scrapped after reports of severe mutations, wiggly ear syndrome and spontaneous tail growth. The date 11.11.2558 is engraved on the base." diff --git a/code/game/objects/structures/tank_holder.dm b/code/game/objects/structures/tank_holder.dm index 5a9eb683c5c2..d581d1a24a58 100644 --- a/code/game/objects/structures/tank_holder.dm +++ b/code/game/objects/structures/tank_holder.dm @@ -35,12 +35,12 @@ /obj/structure/tank_holder/examine(mob/user) . = ..() - . += "It is [anchored ? "wrenched to the floor." : "The bolts on the bottom are unsecured."]
" if(tank) - . += "It is holding one [tank]." + . += "It is holding \a [tank]." else . += "It is empty." - . += span_notice("It is held together by some screws.") + . += span_info("[anchored ? "It is bolted to the floor." : "The bolts on the bottom are loose."]") + . += span_info("It is held together by some screws.") /obj/structure/tank_holder/attackby(obj/item/W, mob/living/user, list/modifiers, list/attack_modifiers) if(user.combat_mode) diff --git a/code/modules/antagonists/cult/cult_items.dm b/code/modules/antagonists/cult/cult_items.dm index 5f0f7807bafa..959fb97a6b31 100644 --- a/code/modules/antagonists/cult/cult_items.dm +++ b/code/modules/antagonists/cult/cult_items.dm @@ -496,7 +496,7 @@ Striking a noncultist, however, will tear their flesh."} user.adjust_temp_blindness(60 SECONDS) /obj/item/reagent_containers/cup/beaker/unholywater - name = "flask of unholy water" + name = "unholy water" desc = "Toxic to nonbelievers; reinvigorating to the faithful - this flask may be sipped or thrown." icon = 'icons/obj/drinks/bottles.dmi' icon_state = "unholyflask" @@ -504,6 +504,7 @@ Striking a noncultist, however, will tear their flesh."} lefthand_file = 'icons/mob/inhands/items/drinks_lefthand.dmi' righthand_file = 'icons/mob/inhands/items/drinks_righthand.dmi' list_reagents = list(/datum/reagent/fuel/unholywater = 50) + article = "a flask of" ///how many times can the shuttle be cursed? #define MAX_SHUTTLE_CURSES 3 diff --git a/code/modules/antagonists/heretic/items/eldritch_flask.dm b/code/modules/antagonists/heretic/items/eldritch_flask.dm index 409bcd473ed7..32587069255c 100644 --- a/code/modules/antagonists/heretic/items/eldritch_flask.dm +++ b/code/modules/antagonists/heretic/items/eldritch_flask.dm @@ -1,8 +1,9 @@ // An unholy water flask, but for heretics. // Heals heretics, hearms non-heretics. Pretty much identical. /obj/item/reagent_containers/cup/beaker/eldritch - name = "flask of eldritch essence" + name = "eldritch essence" desc = "Toxic to the closed minded, yet refreshing to those with knowledge of the beyond." icon = 'icons/obj/antags/eldritch.dmi' icon_state = "eldritch_flask" list_reagents = list(/datum/reagent/eldritch = 50) + article = "a flask of" diff --git a/code/modules/atmospherics/machinery/air_alarm/_air_alarm.dm b/code/modules/atmospherics/machinery/air_alarm/_air_alarm.dm index 6b9bf97fbf3a..62d4c38d0c4e 100644 --- a/code/modules/atmospherics/machinery/air_alarm/_air_alarm.dm +++ b/code/modules/atmospherics/machinery/air_alarm/_air_alarm.dm @@ -296,7 +296,7 @@ GLOBAL_LIST_EMPTY_TYPED(air_alarms, /obj/machinery/airalarm) for(var/obj/machinery/atmospherics/components/unary/vent_pump/vent as anything in my_area.air_vents) data["vents"] += list(list( "refID" = REF(vent), - "long_name" = sanitize(vent.name), + "long_name" = VENT_PUMP_NAME(vent.id_tag), "power" = vent.on, "overclock" = vent.fan_overclocked, "integrity" = vent.get_integrity_percentage(), @@ -317,7 +317,7 @@ GLOBAL_LIST_EMPTY_TYPED(air_alarms, /obj/machinery/airalarm) filter_types += list(list("gas_id" = cached_gas_info[META_GAS_ID][path], "gas_name" = cached_gas_info[META_GAS_NAME][path], "enabled" = (path in scrubber.filter_types))) data["scrubbers"] += list(list( "refID" = REF(scrubber), - "long_name" = sanitize(scrubber.name), + "long_name" = SCRUBBER_NAME(scrubber.id_tag), "power" = scrubber.on, "scrubbing" = scrubber.scrubbing, "widenet" = scrubber.widenet, diff --git a/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm b/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm index 8c1721b6bb4a..f4945af42b12 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm @@ -19,6 +19,7 @@ // vents are more complex machinery and so are less resistant to damage max_integrity = 100 interaction_flags_click = NEED_VENTCRAWL + flags_1 = parent_type::flags_1 | HAS_UNIQUE_SCREENTIP_NAME_1 ///Direction of pumping the gas (ATMOS_DIRECTION_RELEASING or ATMOS_DIRECTION_SIPHONING) var/pump_direction = ATMOS_DIRECTION_RELEASING @@ -86,6 +87,9 @@ /obj/machinery/atmospherics/components/unary/vent_pump/examine(mob/user) . = ..() + if(welded) + . += "It seems welded shut." + . += span_notice("You can link it with an air sensor using a multitool.") if(fan_overclocked) @@ -337,9 +341,22 @@ to_chat(user, span_warning("You cannot unwrench [src], turn it off first!")) return FALSE +/obj/machinery/atmospherics/components/unary/vent_pump/get_name_chaser(mob/user, list/name_chaser) + . = ..() + . += span_info("It has an ID serial: [id_tag], and belongs to [get_area_name(src)].") + +/obj/machinery/atmospherics/components/unary/vent_pump/MouseEntered(location, control, params) + . = ..() + if(id_tag) + winset(usr, null, "mapwindow.status_bar.text=\"[get_screentip_name()]\"" ) + +/obj/machinery/atmospherics/components/unary/vent_pump/get_screentip_name() + if(id_tag) + return "[name] - [id_tag]" + return name + /obj/machinery/atmospherics/components/unary/vent_pump/examine(mob/user) . = ..() - . += span_info("It belongs to [get_area_name(src)], and is ID [id_tag].") if(welded) . += "It seems welded shut." diff --git a/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm b/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm index a326c4fb865a..21de051fd9ed 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm @@ -16,6 +16,7 @@ vent_movement = VENTCRAWL_ALLOWED | VENTCRAWL_CAN_SEE | VENTCRAWL_ENTRANCE_ALLOWED processing_flags = NONE interaction_flags_click = NEED_VENTCRAWL + flags_1 = parent_type::flags_1 | HAS_UNIQUE_SCREENTIP_NAME_1 ///The mode of the scrubber (ATMOS_DIRECTION_SCRUBBING or ATMOS_DIRECTION_SIPHONING) var/scrubbing = ATMOS_DIRECTION_SCRUBBING @@ -302,9 +303,22 @@ to_chat(user, span_warning("You cannot unwrench [src], turn it off first!")) return FALSE +/obj/machinery/atmospherics/components/unary/vent_scrubber/get_name_chaser(mob/user, list/name_chaser) + . = ..() + . += span_info("It has an ID serial: [id_tag], and belongs to [get_area_name(src)].") + +/obj/machinery/atmospherics/components/unary/vent_scrubber/MouseEntered(location, control, params) + . = ..() + if(id_tag) + winset(usr, null, "mapwindow.status_bar.text=\"[get_screentip_name()]\"" ) + +/obj/machinery/atmospherics/components/unary/vent_scrubber/get_screentip_name() + if(id_tag) + return "[name] - [id_tag]" + return name + /obj/machinery/atmospherics/components/unary/vent_scrubber/examine(mob/user) . = ..() - . += span_info("It belongs to [get_area_name(src)], and is ID [id_tag].") if(welded) . += "It seems welded shut." diff --git a/code/modules/clothing/suits/jobs.dm b/code/modules/clothing/suits/jobs.dm index 2fab6bf1e740..4bbe5ba5e6af 100644 --- a/code/modules/clothing/suits/jobs.dm +++ b/code/modules/clothing/suits/jobs.dm @@ -200,15 +200,16 @@ inhand_icon_state = null blood_overlay_type = "armor" allowed = list( + /obj/item/crowbar/power, /obj/item/fireaxe/metal_h2_axe, /obj/item/flashlight, + /obj/item/gun/ballistic/rifle/boltaction/pipegun/prime, /obj/item/radio, /obj/item/storage/bag/construction, + /obj/item/storage/belt/chest_pouch, + /obj/item/t_scanner, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman, - /obj/item/t_scanner, - /obj/item/gun/ballistic/rifle/boltaction/pipegun/prime, - /obj/item/storage/belt/chest_pouch, ) resistance_flags = NONE species_exception = list(/datum/species/golem) @@ -457,6 +458,7 @@ /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman, /obj/item/extinguisher, + /obj/item/crowbar/power, ) /obj/item/clothing/suit/atmos_overalls/Initialize(mapload) diff --git a/code/modules/clothing/suits/labcoat.dm b/code/modules/clothing/suits/labcoat.dm index d28ebe080def..1d232dd27bb7 100644 --- a/code/modules/clothing/suits/labcoat.dm +++ b/code/modules/clothing/suits/labcoat.dm @@ -68,6 +68,7 @@ /obj/item/clothing/suit/toggle/labcoat/paramedic/Initialize(mapload) . = ..() AddComponent(/datum/component/adjust_fishing_difficulty, -2) //FISH DOCTOR?! + allowed += /obj/item/crowbar/power /obj/item/clothing/suit/toggle/labcoat/mad name = "Mad's labcoat" diff --git a/code/modules/clothing/suits/wintercoats.dm b/code/modules/clothing/suits/wintercoats.dm index eb348e0a8390..71bc58a09843 100644 --- a/code/modules/clothing/suits/wintercoats.dm +++ b/code/modules/clothing/suits/wintercoats.dm @@ -448,6 +448,10 @@ inhand_icon_state = null hoodtype = /obj/item/clothing/head/hooded/winterhood/medical/paramedic +/obj/item/clothing/suit/hooded/wintercoat/medical/paramedic/Initialize(mapload) + . = ..() + allowed += /obj/item/crowbar/power + /obj/item/clothing/head/hooded/winterhood/medical/paramedic desc = "A white winter coat hood with blue markings." icon_state = "hood_paramed" @@ -557,7 +561,8 @@ /obj/item/t_scanner, /obj/item/construction/rld, /obj/item/construction/rtd, - /obj/item/gun/ballistic/rifle/rebarxbow + /obj/item/gun/ballistic/rifle/rebarxbow, + /obj/item/crowbar/power, ) armor_type = /datum/armor/wintercoat_engineering hoodtype = /obj/item/clothing/head/hooded/winterhood/engineering diff --git a/code/modules/food_and_drinks/machinery/microwave.dm b/code/modules/food_and_drinks/machinery/microwave.dm index a2723ca0b509..a909530014bd 100644 --- a/code/modules/food_and_drinks/machinery/microwave.dm +++ b/code/modules/food_and_drinks/machinery/microwave.dm @@ -891,41 +891,6 @@ //The microwave should turn off asynchronously from any other microwaves that initialize at the same time. Keep in mind this will not turn off, since there is nothing to call the proc that ends this microwave's looping addtimer(CALLBACK(src, PROC_REF(wzhzhzh)), rand(0.5 SECONDS, 3 SECONDS)) -/obj/machinery/microwave/engineering - name = "wireless microwave oven" - desc = "For the hard-working tradesperson who's in the middle of nowhere and just wants to warm up their pastry-based savoury item from an overpriced vending machine." - base_icon_state = "engi_" - icon_state = "engi_mw_complete" - circuit = /obj/item/circuitboard/machine/microwave/engineering - light_color = LIGHT_COLOR_BABY_BLUE - // We don't use area power, we always use the cell - use_power = NO_POWER_USE - cell_powered = TRUE - vampire_charging_capable = TRUE - ingredient_shifts_x = list( - 0, - 5, - -5, - 3, - -3, - ) - ingredient_shifts_y = list( - 0, - 2, - -2, - ) - -/obj/machinery/microwave/engineering/Initialize(mapload) - . = ..() - if(mapload) - cell = new /obj/item/stock_parts/power_store/cell/upgraded/plus - update_appearance() - -/obj/machinery/microwave/engineering/cell_included/Initialize(mapload) - . = ..() - cell = new /obj/item/stock_parts/power_store/cell/upgraded/plus - update_appearance() - #undef MICROWAVE_NORMAL #undef MICROWAVE_MUCK #undef MICROWAVE_PRE diff --git a/code/modules/jobs/job_types/_job.dm b/code/modules/jobs/job_types/_job.dm index 9a9d8a02a945..205cd4533be7 100644 --- a/code/modules/jobs/job_types/_job.dm +++ b/code/modules/jobs/job_types/_job.dm @@ -419,7 +419,6 @@ var/obj/item/card/id/card = equipped.wear_id if(istype(card)) - ADD_TRAIT(card, TRAIT_JOB_FIRST_ID_CARD, ROUNDSTART_TRAIT) shuffle_inplace(card.access) // Shuffle access list to make NTNet passkeys less predictable card.registered_name = equipped.real_name diff --git a/code/modules/library/skill_learning/skillchip.dm b/code/modules/library/skill_learning/skillchip.dm index 2e041541495c..32f47721283e 100644 --- a/code/modules/library/skill_learning/skillchip.dm +++ b/code/modules/library/skill_learning/skillchip.dm @@ -438,15 +438,6 @@ activate_message = "You feel that you know a lot about interpreting organs." deactivate_message = "Knowledge of liver damage, heart strain and lung scars fades from your mind." -/obj/item/skillchip/appraiser - name = "GENUINE ID Appraisal Now! skillchip" - auto_traits = list(TRAIT_ID_APPRAISER) - skill_name = "ID Appraisal" - skill_description = "Appraise an ID and see if it's issued from centcom, or just a cruddy station-printed one." - skill_icon = "magnifying-glass" - activate_message = span_notice("You feel that you can recognize special, minute details on ID cards.") - deactivate_message = span_notice("Was there something special about certain IDs?") - /obj/item/skillchip/sabrage name = "Le S48R4G3 skillchip" auto_traits = list(TRAIT_SABRAGE_PRO) diff --git a/code/modules/mod/mod_theme.dm b/code/modules/mod/mod_theme.dm index 17109ef7b1dc..74925f44b4a6 100644 --- a/code/modules/mod/mod_theme.dm +++ b/code/modules/mod/mod_theme.dm @@ -241,6 +241,7 @@ /obj/item/construction/rcd, /obj/item/fireaxe/metal_h2_axe, /obj/item/storage/bag/construction, + /obj/item/crowbar/power, ) variants = list( "engineering" = list( @@ -306,6 +307,7 @@ /obj/item/fireaxe/metal_h2_axe, /obj/item/pipe_dispenser, /obj/item/t_scanner, + /obj/item/crowbar/power, ) variants = list( "atmospheric" = list( @@ -376,6 +378,7 @@ /obj/item/pipe_dispenser, /obj/item/storage/bag/construction, /obj/item/t_scanner, + /obj/item/crowbar/power, ) variants = list( "advanced" = list( @@ -620,6 +623,7 @@ /obj/item/storage/pill_bottle, /obj/item/storage/bag/chemistry, /obj/item/storage/bag/bio, + /obj/item/crowbar/power, ) variants = list( "medical" = list( @@ -728,6 +732,7 @@ /obj/item/storage/bag/chemistry, /obj/item/storage/bag/bio, /obj/item/melee/baton/telescopic, + /obj/item/crowbar/power, ) variants = list( "rescue" = list( diff --git a/code/modules/modular_computers/computers/item/computer.dm b/code/modules/modular_computers/computers/item/computer.dm index d530795b5d63..e716641a1693 100644 --- a/code/modules/modular_computers/computers/item/computer.dm +++ b/code/modules/modular_computers/computers/item/computer.dm @@ -380,7 +380,6 @@ if(long_ranged) . += "It is upgraded with an experimental long-ranged network capabilities, picking up NTNet frequencies while further away." - . += span_notice("It has [max_capacity] GQ of storage capacity.") if(computer_id_slot) if(Adjacent(user)) @@ -390,7 +389,8 @@ . += span_info("Alt-click [src] to eject the identification card.") if(internal_cell) - . += span_info("Right-click it with a screwdriver to eject the [internal_cell]") + . += span_info("Its [internal_cell.name] is hidden by some [EXAMINE_HINT("screws")]. \ + You could undo them with [EXAMINE_HINT("right-click")].") /obj/item/modular_computer/examine_more(mob/user) . = ..() @@ -765,10 +765,7 @@ return TRUE /obj/item/modular_computer/proc/UpdateDisplay() - if(!saved_identification && !saved_job) - name = initial(name) - return - name = "[saved_identification] ([saved_job])" + return /obj/item/modular_computer/screwdriver_act_secondary(mob/living/user, obj/item/tool) . = ..() diff --git a/code/modules/reagents/reagent_containers/cups/glassbottle.dm b/code/modules/reagents/reagent_containers/cups/glassbottle.dm index cc1c8b2a41fb..46dbabfd57c1 100644 --- a/code/modules/reagents/reagent_containers/cups/glassbottle.dm +++ b/code/modules/reagents/reagent_containers/cups/glassbottle.dm @@ -32,12 +32,16 @@ drop_sound = 'maplestation_modules/sound/items/drop/bottle.ogg' pickup_sound = 'maplestation_modules/sound/items/pickup/bottle.ogg' + var/preset_article = "a bottle of" + /obj/item/reagent_containers/cup/glass/bottle/Initialize(mapload, vol) . = ..() var/static/list/recipes = list(/datum/crafting_recipe/molotov) AddElement(/datum/element/slapcrafting, recipes) register_context() register_item_context() + if(length(list_reagents)) + article = preset_article /obj/item/reagent_containers/cup/glass/bottle/add_context(atom/source, list/context, obj/item/held_item, mob/living/user) if(message_in_a_bottle) @@ -308,13 +312,13 @@ list_reagents = list(/datum/reagent/consumable/ethanol/beer = 1) /obj/item/reagent_containers/cup/glass/bottle/beer/light - name = "Carp Lite" + name = "\improper Carp Lite" desc = "Brewed with \"Pure Ice Asteroid Spring Water\"." icon_state = "litebeer" list_reagents = list(/datum/reagent/consumable/ethanol/beer/light = 30) /obj/item/reagent_containers/cup/glass/bottle/rootbeer - name = "Two-Time root beer" + name = "\improper Two-Time root beer" desc = "A popular, old-fashioned brand of root beer, known for its extremely sugary formula. Might make you want a nap afterwards." icon_state = "twotime" volume = 30 @@ -324,7 +328,7 @@ custom_premium_price = PAYCHECK_CREW * 2 /obj/item/reagent_containers/cup/glass/bottle/ale - name = "Magm-Ale" + name = "\improper Magm-Ale" desc = "A true dorf's drink of choice." icon_state = "alebottle" volume = 30 @@ -333,19 +337,19 @@ custom_price = PAYCHECK_CREW /obj/item/reagent_containers/cup/glass/bottle/gin - name = "Griffeater gin" + name = "\improper Griffeater gin" desc = "A bottle of high quality gin, produced in the New London Space Station." icon_state = "ginbottle" list_reagents = list(/datum/reagent/consumable/ethanol/gin = 100) /obj/item/reagent_containers/cup/glass/bottle/whiskey - name = "Uncle Git's special reserve" + name = "\improper Uncle Git's special reserve" desc = "A premium single-malt whiskey, gently matured inside the tunnels of a nuclear shelter. TUNNEL WHISKEY RULES." icon_state = "whiskeybottle" list_reagents = list(/datum/reagent/consumable/ethanol/whiskey = 100) /obj/item/reagent_containers/cup/glass/bottle/kong - name = "Kong" + name = "\improper Kong" desc = "Makes You Go Ape!®" list_reagents = list(/datum/reagent/consumable/ethanol/whiskey/kong = 100) @@ -355,25 +359,25 @@ list_reagents = list(/datum/reagent/consumable/ethanol/whiskey/candycorn = 100) /obj/item/reagent_containers/cup/glass/bottle/vodka - name = "Tunguska triple distilled" + name = "\improper Tunguska triple distilled" desc = "Aah, vodka. Prime choice of drink AND fuel by Russians worldwide." icon_state = "vodkabottle" list_reagents = list(/datum/reagent/consumable/ethanol/vodka = 100) /obj/item/reagent_containers/cup/glass/bottle/vodka/badminka - name = "Badminka vodka" + name = "\improper Badminka vodka" desc = "The label's written in Cyrillic. All you can make out is the name and a word that looks vaguely like 'Vodka'." icon_state = "badminka" list_reagents = list(/datum/reagent/consumable/ethanol/vodka = 100) /obj/item/reagent_containers/cup/glass/bottle/tequila - name = "Caccavo guaranteed quality tequila" + name = "\improper Caccavo guaranteed quality tequila" desc = "Made from premium petroleum distillates, pure thalidomide and other fine quality ingredients!" icon_state = "tequilabottle" list_reagents = list(/datum/reagent/consumable/ethanol/tequila = 100) /obj/item/reagent_containers/cup/glass/bottle/bottleofnothing - name = "bottle of nothing" + name = "nothing" desc = "A bottle filled with nothing." icon_state = "bottleofnothing" list_reagents = list(/datum/reagent/consumable/nothing = 100) @@ -381,19 +385,19 @@ age_restricted = FALSE /obj/item/reagent_containers/cup/glass/bottle/patron - name = "Wrapp Artiste Patron" + name = "\improper Wrapp Artiste Patron" desc = "Silver laced tequila, served in space night clubs across the galaxy." icon_state = "patronbottle" list_reagents = list(/datum/reagent/consumable/ethanol/patron = 100) /obj/item/reagent_containers/cup/glass/bottle/rum - name = "Captain Pete's Cuban spiced rum" + name = "\improper Captain Pete's Cuban spiced rum" desc = "This isn't just rum, oh no. It's practically GRIFF in a bottle." icon_state = "rumbottle" list_reagents = list(/datum/reagent/consumable/ethanol/rum = 100) /obj/item/reagent_containers/cup/glass/bottle/rum/aged - name = "Captain Pete's Vintage spiced rum" + name = "\improper Captain Pete's Vintage spiced rum" desc = "Shiver me timbers, a vintage edition of Captain Pete's rum. It's pratically GRIFF in a bottle from over 50 years ago." icon_state = "rumbottle_gold" list_reagents = list(/datum/reagent/consumable/ethanol/rum/aged = 100) @@ -406,7 +410,7 @@ custom_price = PAYCHECK_CREW /obj/item/reagent_containers/cup/glass/bottle/holywater - name = "flask of holy water" + name = "holy water" desc = "A flask of the chaplain's holy water." icon = 'icons/obj/drinks/bottles.dmi' icon_state = "holyflask" @@ -414,6 +418,7 @@ broken_inhand_icon_state = "broken_holyflask" list_reagents = list(/datum/reagent/water/holywater = 100) drink_type = NONE + preset_article = "a flask of" /obj/item/reagent_containers/cup/glass/bottle/holywater/add_message_overlay() return //looks too weird... @@ -424,32 +429,32 @@ list_reagents = list(/datum/reagent/hellwater = 100) /obj/item/reagent_containers/cup/glass/bottle/vermouth - name = "Goldeneye vermouth" + name = "\improper Goldeneye vermouth" desc = "Sweet, sweet dryness~" icon_state = "vermouthbottle" list_reagents = list(/datum/reagent/consumable/ethanol/vermouth = 100) /obj/item/reagent_containers/cup/glass/bottle/kahlua - name = "Robert Robust's coffee liqueur" + name = "\improper Robert Robust's coffee liqueur" desc = "A widely known, Mexican coffee-flavoured liqueur. In production since 1936, HONK." icon_state = "kahluabottle" list_reagents = list(/datum/reagent/consumable/ethanol/kahlua = 100) drink_type = VEGETABLES /obj/item/reagent_containers/cup/glass/bottle/goldschlager - name = "College Girl goldschlager" + name = "\improper College Girl goldschlager" desc = "Because they are the only ones who will drink 100 proof cinnamon schnapps." icon_state = "goldschlagerbottle" list_reagents = list(/datum/reagent/consumable/ethanol/goldschlager = 100) /obj/item/reagent_containers/cup/glass/bottle/cognac - name = "Chateau de Baton premium cognac" + name = "\improper Chateau de Baton premium cognac" desc = "A sweet and strongly alchoholic drink, made after numerous distillations and years of maturing. You might as well not scream 'SHITCURITY' this time." icon_state = "cognacbottle" list_reagents = list(/datum/reagent/consumable/ethanol/cognac = 100) /obj/item/reagent_containers/cup/glass/bottle/wine - name = "Doublebeard's bearded special wine" + name = "\improper Doublebeard's bearded special wine" desc = "A faint aura of unease and asspainery surrounds the bottle." icon_state = "winebottle" list_reagents = list(/datum/reagent/consumable/ethanol/wine = 100) @@ -468,6 +473,7 @@ /obj/item/reagent_containers/cup/glass/bottle/wine/unlabeled name = "unlabeled wine bottle" desc = "There's no label on this wine bottle." + preset_article = "" /obj/item/reagent_containers/cup/glass/bottle/wine/unlabeled/generate_vintage() var/year = rand(CURRENT_STATION_YEAR - 50, CURRENT_STATION_YEAR) @@ -490,7 +496,7 @@ return "[year] [origin] [type]" /obj/item/reagent_containers/cup/glass/bottle/absinthe - name = "Extra-strong absinthe" + name = "\improper Extra-strong absinthe" desc = "A strong alcoholic drink brewed and distributed by" icon_state = "absinthebottle" list_reagents = list(/datum/reagent/consumable/ethanol/absinthe = 100) @@ -508,11 +514,11 @@ var/fullname switch(shortname) if("T&T") - fullname = "Teal and Tealer" + fullname = "\improper Teal and Tealer" if("A&A") - fullname = "Ash and Asher" + fullname = "\improper Ash and Asher" if("Generic") - fullname = "Nanotrasen Cheap Imitations" + fullname = "\improper Nanotrasen Cheap Imitations" var/removals = list( "\[REDACTED\]", "\[EXPLETIVE DELETED\]", @@ -540,7 +546,7 @@ /obj/item/reagent_containers/cup/glass/bottle/absinthe/premium - name = "Gwyn's premium absinthe" + name = "\improper Gwyn's premium absinthe" desc = "A potent alcoholic beverage, almost makes you forget the ash in your lungs." icon_state = "absinthepremium" @@ -548,44 +554,44 @@ return /obj/item/reagent_containers/cup/glass/bottle/lizardwine - name = "bottle of lizard wine" + name = "lizard wine" desc = "An alcoholic beverage from Space China, made by infusing lizard tails in ethanol. Inexplicably popular among command staff." icon_state = "lizardwine" list_reagents = list(/datum/reagent/consumable/ethanol/lizardwine = 100) drink_type = FRUIT | ALCOHOL /obj/item/reagent_containers/cup/glass/bottle/hcider - name = "Jian Hard Cider" + name = "\improper Jian Hard Cider" desc = "Apple juice for adults." icon_state = "hcider" volume = 50 list_reagents = list(/datum/reagent/consumable/ethanol/hcider = 50) /obj/item/reagent_containers/cup/glass/bottle/amaretto - name = "Luini Amaretto" + name = "\improper Luini Amaretto" desc = "A gentle, syrupy drink that tastes of almonds and apricots." icon_state = "disaronno" list_reagents = list(/datum/reagent/consumable/ethanol/amaretto = 100) /obj/item/reagent_containers/cup/glass/bottle/grappa - name = "Phillipes well-aged Grappa" + name = "\improper Phillipes well-aged Grappa" desc = "Bottle of Grappa." icon_state = "grappabottle" list_reagents = list(/datum/reagent/consumable/ethanol/grappa = 100) /obj/item/reagent_containers/cup/glass/bottle/sake - name = "Ryo's traditional sake" + name = "\improper Ryo's traditional sake" desc = "Sweet as can be, and burns like fire going down." icon_state = "sakebottle" list_reagents = list(/datum/reagent/consumable/ethanol/sake = 100) /obj/item/reagent_containers/cup/glass/bottle/sake/Initialize(mapload) if(prob(10)) - name = "Fluffy Tail Sake" + name = "\improper Fluffy Tail Sake" desc += " On the bottle is a picture of a kitsune with nine touchable tails." icon_state = "sakebottle_k" else if(prob(10)) - name = "Inubashiri's Home Brew" + name = "\improper Inubashiri's Home Brew" desc += " Awoo." icon_state = "sakebottle_i" return ..() @@ -596,20 +602,20 @@ return ..() /obj/item/reagent_containers/cup/glass/bottle/fernet - name = "Fernet Bronca" + name = "\improper Fernet Bronca" desc = "A bottle of pure Fernet Bronca, produced in Cordoba Space Station" icon_state = "fernetbottle" list_reagents = list(/datum/reagent/consumable/ethanol/fernet = 100) /obj/item/reagent_containers/cup/glass/bottle/bitters - name = "Andromeda Bitters" + name = "\improper Andromeda Bitters" desc = "An aromatic addition to any drink. Made in New Trinidad, now and forever." icon_state = "bitters_bottle" volume = 30 list_reagents = list(/datum/reagent/consumable/ethanol/bitters = 30) /obj/item/reagent_containers/cup/glass/bottle/curacao - name = "Beekhof Blauw Curaçao" + name = "\improper Beekhof Blauw Curaçao" desc = "Still produced on the island of Curaçao, after all these years." icon_state = "curacao_bottle" list_reagents = list(/datum/reagent/consumable/ethanol/curacao = 100) @@ -618,13 +624,13 @@ return //doesn't fit the sprite /obj/item/reagent_containers/cup/glass/bottle/navy_rum - name = "Pride of the Union Navy-Strength Rum" + name = "\improper Pride of the Union Navy-Strength Rum" desc = "Ironically named, given it's made in Bermuda." icon_state = "navy_rum_bottle" list_reagents = list(/datum/reagent/consumable/ethanol/navy_rum = 100) /obj/item/reagent_containers/cup/glass/bottle/grenadine - name = "Jester Grenadine" + name = "\improper Jester Grenadine" desc = "Contains 0% real cherries!" custom_price = PAYCHECK_CREW icon_state = "grenadine" @@ -633,7 +639,7 @@ age_restricted = FALSE /obj/item/reagent_containers/cup/glass/bottle/applejack - name = "Buckin' Bronco's Applejack" + name = "\improper Buckin' Bronco's Applejack" desc = "Kicks like a horse, tastes like an apple!" custom_price = PAYCHECK_CREW icon_state = "applejack_bottle" @@ -641,7 +647,7 @@ drink_type = FRUIT /obj/item/reagent_containers/cup/glass/bottle/wine_voltaic - name = "Voltaic Yellow Wine" + name = "\improper Voltaic Yellow Wine" desc = "Electrically infused wine! Recharges ethereals, safe for consumption." custom_price = PAYCHECK_CREW icon_state = "wine_voltaic_bottle" @@ -649,7 +655,7 @@ drink_type = FRUIT /obj/item/reagent_containers/cup/glass/bottle/champagne - name = "Eau d' Dandy Brut Champagne" + name = "\improper Eau d' Dandy Brut Champagne" desc = "Finely sourced from only the most pretentious French vineyards." icon_state = "champagne_bottle" base_icon_state = "champagne_bottle" @@ -805,20 +811,20 @@ icon_state = "champagne_cork_sabrage" /obj/item/reagent_containers/cup/glass/bottle/blazaam - name = "Ginbad's Blazaam" + name = "\improper Ginbad's Blazaam" desc = "You feel like you should give the bottle a good rub before opening." icon_state = "blazaambottle" list_reagents = list(/datum/reagent/consumable/ethanol/blazaam = 100) /obj/item/reagent_containers/cup/glass/bottle/trappist - name = "Mont de Requin Trappistes Bleu" + name = "\improper Mont de Requin Trappistes Bleu" desc = "Brewed in space-Belgium. Fancy!" icon_state = "trappistbottle" volume = 50 list_reagents = list(/datum/reagent/consumable/ethanol/trappist = 50) /obj/item/reagent_containers/cup/glass/bottle/hooch - name = "hooch bottle" + name = "hooch" desc = "A bottle of rotgut. Its owner has applied some street wisdom to cleverly disguise it as a brown paper bag." icon_state = "hoochbottle" list_reagents = list(/datum/reagent/consumable/ethanol/hooch = 100) @@ -827,16 +833,17 @@ return //doesn't fit the sprite /obj/item/reagent_containers/cup/glass/bottle/moonshine - name = "moonshine jug" + name = "moonshine" desc = "It is said that the ancient Applalacians used these stoneware jugs to capture lightning in a bottle." icon_state = "moonshinebottle" list_reagents = list(/datum/reagent/consumable/ethanol/moonshine = 100) + preset_article = "a jug of" /obj/item/reagent_containers/cup/glass/bottle/moonshine/add_message_overlay() return //doesn't fit the sprite /obj/item/reagent_containers/cup/glass/bottle/mushi_kombucha - name = "Solzara Brewing Company Mushi Kombucha" + name = "\improper Solzara Brewing Company Mushi Kombucha" desc = "Best drunk over ice to savour the mushroomy flavour." icon_state = "shroomy_bottle" volume = 30 @@ -844,25 +851,25 @@ isGlass = FALSE /obj/item/reagent_containers/cup/glass/bottle/hakka_mate - name = "Hakka-Mate" + name = "\improper Hakka-Mate" desc = "Hakka-Mate: it's an acquired taste." icon_state = "hakka_mate_bottle" list_reagents = list(/datum/reagent/consumable/hakka_mate = 30) /obj/item/reagent_containers/cup/glass/bottle/shochu - name = "Shu-Kouba Straight Shochu" + name = "\improper Shu-Kouba Straight Shochu" desc = "A boozier form of shochu designed for mixing. Comes straight from Mars' Dusty City itself, Shu-Kouba." icon_state = "shochu_bottle" list_reagents = list(/datum/reagent/consumable/ethanol/shochu = 100) /obj/item/reagent_containers/cup/glass/bottle/yuyake - name = "Moonlabor Yūyake" + name = "\improper Moonlabor Yūyake" desc = "The distilled essence of disco and flared pants, captured like lightning in a bottle." icon_state = "yuyake_bottle" list_reagents = list(/datum/reagent/consumable/ethanol/yuyake = 100) /obj/item/reagent_containers/cup/glass/bottle/coconut_rum - name = "Breezy Shoals Coconut Rum" + name = "\improper Breezy Shoals Coconut Rum" desc = "Live the breezy life with Breezy Shoals, made with only the *finest Caribbean rum." icon_state = "coconut_rum_bottle" list_reagents = list(/datum/reagent/consumable/ethanol/coconut_rum = 100) @@ -873,6 +880,7 @@ desc = "A throwing weapon used to ignite things, typically filled with an accelerant. Recommended highly by rioters and revolutionaries. Light and toss." icon_state = "vodkabottle" list_reagents = list() + preset_article = "" var/active = FALSE var/list/accelerants = list( /datum/reagent/consumable/ethanol, @@ -950,6 +958,8 @@ icon = 'icons/obj/service/janitor.dmi' icon_state = "trashbag" list_reagents = list(/datum/reagent/consumable/prunomix = 50) + preset_article = "" + gender = PLURAL var/fermentation_time = 30 SECONDS /// time it takes to ferment var/fermentation_time_remaining /// for partial fermentation var/fermentation_timer /// store the timer id of fermentation @@ -994,6 +1004,7 @@ name = "bag of pruno" desc = "Fermented prison wine made from fruit, sugar, and despair. You probably shouldn't drink this around Security." icon_state = "trashbag1" // pruno releases air as it ferments, we don't want to simulate this in atmos, but we can make it look like it did + gender = NEUTER for (var/mob/living/M in view(2, get_turf(src))) // letting people and/or narcs know when the pruno is done if(M.can_smell()) to_chat(M, span_info("A pungent smell emanates from [src], like fruit puking out its guts.")) @@ -1011,6 +1022,7 @@ righthand_file = 'icons/mob/inhands/items/drinks_righthand.dmi' isGlass = FALSE age_restricted = FALSE + preset_article = "a carton of" /obj/item/reagent_containers/cup/glass/bottle/juice/orangejuice name = "orange juice" diff --git a/code/modules/reagents/reagent_containers/cups/soda.dm b/code/modules/reagents/reagent_containers/cups/soda.dm index 8a134317f845..0f1e2234deec 100644 --- a/code/modules/reagents/reagent_containers/cups/soda.dm +++ b/code/modules/reagents/reagent_containers/cups/soda.dm @@ -28,6 +28,8 @@ . = ..() AddElement(/datum/element/slapcrafting, string_list(list(/datum/crafting_recipe/improv_explosive))) AddElement(/datum/element/atmos_sensitive, mapload) //Enables soda cans to explode in vaccuum. + if(length(list_reagents)) + article = "a can of" /obj/item/reagent_containers/cup/soda_cans/random/Initialize(mapload) ..() @@ -181,14 +183,14 @@ #undef SODA_EXPLOSION_PRESSURE /obj/item/reagent_containers/cup/soda_cans/cola - name = "Space Cola" + name = "\improper Space Cola" desc = "Cola. in space." icon_state = "cola" list_reagents = list(/datum/reagent/consumable/space_cola = 30) drink_type = SUGAR /obj/item/reagent_containers/cup/soda_cans/tonic - name = "T-Borg's tonic water" + name = "\improper T-Borg's tonic water" desc = "Quinine tastes funny, but at least it'll keep that Space Malaria away." icon_state = "tonic" volume = 50 @@ -214,62 +216,62 @@ name = "lemon-lime soda" /obj/item/reagent_containers/cup/soda_cans/sol_dry - name = "Sol Dry" + name = "\improper Sol Dry" desc = "Maybe this will help your tummy feel better. Maybe not." icon_state = "sol_dry" list_reagents = list(/datum/reagent/consumable/sol_dry = 30) drink_type = SUGAR /obj/item/reagent_containers/cup/soda_cans/space_up - name = "Space-Up!" + name = "\improper Space-Up!" desc = "Tastes like a hull breach in your mouth." icon_state = "space-up" list_reagents = list(/datum/reagent/consumable/space_up = 30) drink_type = SUGAR | JUNKFOOD /obj/item/reagent_containers/cup/soda_cans/starkist - name = "Star-kist" + name = "\improper Star-kist" desc = "The taste of a star in liquid form. And, a bit of tuna...?" icon_state = "starkist" list_reagents = list(/datum/reagent/consumable/space_cola = 15, /datum/reagent/consumable/orangejuice = 15) drink_type = SUGAR | FRUIT | JUNKFOOD /obj/item/reagent_containers/cup/soda_cans/space_mountain_wind - name = "Space Mountain Wind" + name = "\improper Space Mountain Wind" desc = "Blows right through you like a space wind." icon_state = "space_mountain_wind" list_reagents = list(/datum/reagent/consumable/spacemountainwind = 30) drink_type = SUGAR | JUNKFOOD /obj/item/reagent_containers/cup/soda_cans/thirteenloko - name = "Thirteen Loko" + name = "\improper Thirteen Loko" desc = "The CMO has advised crew members that consumption of Thirteen Loko may result in seizures, blindness, drunkenness, or even death. Please Drink Responsibly." icon_state = "thirteen_loko" list_reagents = list(/datum/reagent/consumable/ethanol/thirteenloko = 30) drink_type = SUGAR | JUNKFOOD /obj/item/reagent_containers/cup/soda_cans/dr_gibb - name = "Dr. Gibb" + name = "\improper Dr. Gibb" desc = "A delicious mixture of 42 different flavors." icon_state = "dr_gibb" list_reagents = list(/datum/reagent/consumable/dr_gibb = 30) drink_type = SUGAR | JUNKFOOD /obj/item/reagent_containers/cup/soda_cans/pwr_game - name = "Pwr Game" + name = "\improper Pwr Game" desc = "The only drink with the PWR that true gamers crave. When a gamer talks about gamerfuel, this is what they're literally referring to." icon_state = "purple_can" list_reagents = list(/datum/reagent/consumable/pwr_game = 30) /obj/item/reagent_containers/cup/soda_cans/shamblers - name = "Shambler's juice" + name = "\improper Shambler's juice" desc = "~Shake me up some of that Shambler's Juice!~" icon_state = "shamblers" list_reagents = list(/datum/reagent/consumable/shamblers = 30) drink_type = SUGAR | JUNKFOOD /obj/item/reagent_containers/cup/soda_cans/shamblers/eldritch - name = "Shambler's juice Eldritch Energy!" + name = "\improper Shambler's juice Eldritch Energy!" desc = "~J'I'CE!~" icon_state = "shamblerseldritch" volume = 40 @@ -277,21 +279,21 @@ drink_type = SUGAR | JUNKFOOD /obj/item/reagent_containers/cup/soda_cans/wellcheers - name = "Wellcheers Juice" + name = "\improper Wellcheers Juice" desc = "A strange purple drink, smelling of saltwater. Somewhere in the distance, you hear seagulls." icon_state = "wellcheers" list_reagents = list(/datum/reagent/consumable/wellcheers = 30) drink_type = SUGAR | JUNKFOOD /obj/item/reagent_containers/cup/soda_cans/grey_bull - name = "Grey Bull" + name = "\improper Grey Bull" desc = "Grey Bull, it gives you gloves!" icon_state = "energy_drink" list_reagents = list(/datum/reagent/consumable/grey_bull = 20) drink_type = SUGAR | JUNKFOOD /obj/item/reagent_containers/cup/soda_cans/monkey_energy - name = "Monkey Energy" + name = "\improper Monkey Energy" desc = "Unleash the ape!" icon_state = "monkey_energy" inhand_icon_state = "monkey_energy" @@ -300,14 +302,14 @@ drink_type = SUGAR | JUNKFOOD /obj/item/reagent_containers/cup/soda_cans/volt_energy - name = "24-Volt Energy" + name = "\improper 24-Volt Energy" desc = "Recharge, with 24-Volt Energy!" icon_state = "volt_energy" list_reagents = list(/datum/reagent/consumable/volt_energy = 30) drink_type = SUGAR | JUNKFOOD /obj/item/reagent_containers/cup/soda_cans/melon_soda - name = "Kansumi Melon Soda" + name = "\improper Kansumi Melon Soda" desc = "Japan's favourite melon soda, now available in can form!" icon_state = "melon_soda" list_reagents = list(/datum/reagent/consumable/melon_soda = 30) diff --git a/code/modules/research/designs/machine_designs.dm b/code/modules/research/designs/machine_designs.dm index 16da1d229eb1..b37dac9ceda4 100644 --- a/code/modules/research/designs/machine_designs.dm +++ b/code/modules/research/designs/machine_designs.dm @@ -550,16 +550,6 @@ ) departmental_flags = DEPARTMENT_BITFLAG_SERVICE -/datum/design/board/microwave_engineering - name = "Wireless Microwave Board" - desc = "The circuit board for a cell-powered microwave." - id = "microwave_engineering" - build_path = /obj/item/circuitboard/machine/microwave/engineering - category = list( - RND_CATEGORY_MACHINE + RND_SUBCATEGORY_MACHINE_KITCHEN - ) - departmental_flags = DEPARTMENT_BITFLAG_SERVICE | DEPARTMENT_BITFLAG_ENGINEERING - /datum/design/board/gibber name = "Gibber Board" desc = "The circuit board for a gibber." diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm index 38a01c648f8c..303f7be93570 100644 --- a/code/modules/research/rdconsole.dm +++ b/code/modules/research/rdconsole.dm @@ -17,7 +17,7 @@ Nothing else in the console has ID requirements. */ /obj/machinery/computer/rdconsole - name = "R&D Console" + name = "\improper R&D Console" desc = "A console used to interface with R&D tools." icon_screen = "rdcomp" icon_keyboard = "rd_key" diff --git a/code/modules/research/techweb/nodes/service_nodes.dm b/code/modules/research/techweb/nodes/service_nodes.dm index 6d5f5a434970..10ee51e2d967 100644 --- a/code/modules/research/techweb/nodes/service_nodes.dm +++ b/code/modules/research/techweb/nodes/service_nodes.dm @@ -153,7 +153,6 @@ "gibber", "monkey_recycler", "reagentgrinder", - "microwave_engineering", "smartfridge", "sheetifier", "fat_sucker", diff --git a/code/modules/vending/games.dm b/code/modules/vending/games.dm index c7986e8cfae9..bc48b9cb0460 100644 --- a/code/modules/vending/games.dm +++ b/code/modules/vending/games.dm @@ -63,7 +63,6 @@ "name" = "Skillchips", "icon" = "floppy-disk", "products" = list( - /obj/item/skillchip/appraiser = 2, /obj/item/skillchip/basketweaving = 2, /obj/item/skillchip/bonsai = 2, /obj/item/skillchip/intj = 2, diff --git a/maplestation.dme b/maplestation.dme index 34ac970125f3..c7088367eb4d 100644 --- a/maplestation.dme +++ b/maplestation.dme @@ -6423,6 +6423,7 @@ #include "maplestation_modules\code\game\objects\items\tcg\tdatet.dm" #include "maplestation_modules\code\game\objects\spawners\cycle_helper.dm" #include "maplestation_modules\code\game\objects\spawners\random\contraband.dm" +#include "maplestation_modules\code\game\objects\structures\cabinet.dm" #include "maplestation_modules\code\game\objects\structures\item_dispensers.dm" #include "maplestation_modules\code\game\objects\structures\pass_id_panel.dm" #include "maplestation_modules\code\game\objects\structures\stasis.dm" diff --git a/maplestation_modules/code/game/objects/structures/cabinet.dm b/maplestation_modules/code/game/objects/structures/cabinet.dm new file mode 100644 index 000000000000..db2a085e7e94 --- /dev/null +++ b/maplestation_modules/code/game/objects/structures/cabinet.dm @@ -0,0 +1,61 @@ +/obj/item/wallframe/fireaxecabinet/jaws_of_life + name = "hydraulic rescue tool cabinet" + desc = "Holds the jaws of life, ready to snatch life from the jaws of death." + result_path = /obj/structure/fireaxecabinet/jaws_of_life/empty + icon = 'maplestation_modules/icons/obj/cabinet.dmi' + +/obj/structure/fireaxecabinet/jaws_of_life + name = "hydraulic rescue tool cabinet" + desc = "There is a small label that reads \"For Emergency use only\" along with details for safe use of the tool. As if." + item_path = /obj/item/crowbar/power + item_overlay = "jaws" + icon = 'maplestation_modules/icons/obj/cabinet.dmi' + /// tracks if the lock was forced open intead of opening via security level + var/lock_was_forced = FALSE + +/obj/structure/fireaxecabinet/jaws_of_life/examine(mob/user) + . = ..() + if(SSsecurity_level.get_current_level_as_number() <= SEC_LEVEL_GREEN) + . += span_notice("It has a locking mechanism preventing the handle from opening outside of emergencies. \ + Of course, this won't stop the determined.") + else + . += span_notice("Due to a security situation, its locking mechanism has been disabled.") + +/obj/structure/fireaxecabinet/jaws_of_life/Initialize(mapload) + . = ..() + RegisterSignal(SSsecurity_level, COMSIG_SECURITY_LEVEL_CHANGED, PROC_REF(check_security_level)) + +/obj/structure/fireaxecabinet/jaws_of_life/toggle_lock(mob/user) + . = ..() + lock_was_forced = !locked + +/obj/structure/fireaxecabinet/jaws_of_life/proc/check_security_level(datum/source, new_level) + SIGNAL_HANDLER + + // level is being lowered + if(new_level <= SEC_LEVEL_GREEN) + // only re-lock if the lock was not forced open in the first place + if(!locked && !lock_was_forced) + locked = TRUE + update_appearance() + return + + // level is being raised + if(!locked) + return + + playsound(src, 'sound/machines/locktoggle.ogg', 50, TRUE) + locked = FALSE + update_appearance() + +/obj/structure/fireaxecabinet/jaws_of_life/atom_deconstruct(disassembled = TRUE) + if(held_item && loc) + held_item.forceMove(loc) + new /obj/item/wallframe/fireaxecabinet/jaws_of_life(loc) + +MAPPING_DIRECTIONAL_HELPERS(/obj/structure/fireaxecabinet/jaws_of_life, 32) + +/obj/structure/fireaxecabinet/jaws_of_life/empty + populate_contents = FALSE + +MAPPING_DIRECTIONAL_HELPERS(/obj/structure/fireaxecabinet/jaws_of_life/empty, 32) diff --git a/maplestation_modules/icons/obj/cabinet.dmi b/maplestation_modules/icons/obj/cabinet.dmi new file mode 100644 index 000000000000..e2801f3e7efc Binary files /dev/null and b/maplestation_modules/icons/obj/cabinet.dmi differ