diff --git a/README.md b/README.md index 158d7cf8414..73edd3279ea 100644 --- a/README.md +++ b/README.md @@ -31,16 +31,16 @@ Space Station 13 is a paranoia-laden round-based roleplaying game set against th - If you feel like feedback on a controversial PR is required, you are free to open a [feature request](https://github.com/Bubberstation/Bubberstation/issues/new/choose) under the repository issues page and reference the PR number. **3. The Licensing is Non-negotiable** -- You are free to take, redistribute, modify, and readapt any code or commit found on this repository. -- All code files are under **GNU AGPL V3** +- You are free to take, redistribute, modify, and readapt any code or commit found on this repository. +- All code files are under **GNU AGPL V3** - All asset files (images and sound) are **CC-BY-SA 3.0** unless otherwise stated -- The license information, including the MIT license and its exceptions, can be found at the bottom of this readme. +- The license information, including the MIT license and its exceptions, can be found at the bottom of this readme. - What does this mean to our contributors? **The** [GNU AGPL V3](https://www.gnu.org/licenses/agpl-3.0.html) **licensing on this codebase is non-negotiable** and **irrevocable** the moment you open a PR. We are incapable of privatizing this codebase and you are incapable of restricting your code contributions even if you close the PR. Do not open a contribution if you do not feel comfortable with your code being permanent across the entirety of the community. **All contributions are preserved in commit history** - What does this mean to our spriters and sound designers? [CC-BY-SA 3.0](https://creativecommons.org/licenses/by-sa/3.0/) **is the only license that this project will accept** - It is prohibited to use the attribution requirement to [suggest that you endorse or support a particular use](https://creativecommons.org/faq/#do-i-need-to-be-aware-of-anything-else-when-providing-attribution) of your assets. - You are entitled to credit yourself with comments and you are entitled to waive the attribution requirement choosing not to be identified as the creator if you wish. - If you do not like how your assets were modified or used, it is required that the other person [remove the attribution information upon request](https://wiki.creativecommons.org/wiki/License_Versions#Licensors_may_request_removal_of_attribution). -- Modifications or adaptions must disclose the source, the author, and [any changes you've made](https://wiki.creativecommons.org/wiki/License_Versions#Modifications_and_adaptations_must_be_indicated). +- Modifications or adaptions must disclose the source, the author, and [any changes you've made](https://wiki.creativecommons.org/wiki/License_Versions#Modifications_and_adaptations_must_be_indicated). - Goonstation code is incompatible with this codebase and will not be accepted. *Credit: [Goonstation contribution guidelines](https://hackmd.io/@goonstation/docs/%2F%40goonstation%2Fcontribute#What-if-I-change-my-mind-about-my-contributions-being-published)* diff --git a/_maps/map_files/NSVBlueshift/Blueshift.dmm b/_maps/map_files/NSVBlueshift/Blueshift.dmm index 011ae01bd4a..e5d2814393f 100644 --- a/_maps/map_files/NSVBlueshift/Blueshift.dmm +++ b/_maps/map_files/NSVBlueshift/Blueshift.dmm @@ -73,10 +73,6 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) -"aba" = ( -/obj/machinery/smartfridge/drying, -/turf/open/floor/iron/cafeteria, -/area/station/service/kitchen) "abj" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -424,13 +420,6 @@ /obj/machinery/duct, /turf/open/floor/iron, /area/station/hallway/secondary/service) -"aeP" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/maintenance/port/fore) "aeQ" = ( /obj/machinery/portable_atmospherics/scrubber, /obj/effect/turf_decal/delivery, @@ -680,6 +669,14 @@ /obj/effect/mapping_helpers/airlock/access/all/command/hop, /turf/open/floor/wood, /area/station/command/heads_quarters/hop) +"agX" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/maintenance/port/fore) "agZ" = ( /obj/effect/turf_decal/bot, /turf/open/floor/iron, @@ -2782,6 +2779,11 @@ "aCA" = ( /turf/closed/wall/r_wall, /area/station/science/ordnance/storage) +"aCD" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/command/heads_quarters/cmo) "aCJ" = ( /obj/item/kirbyplants/random, /turf/open/floor/plating, @@ -3294,6 +3296,12 @@ /obj/effect/mapping_helpers/airlock/access/all/medical/surgery, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"aHK" = ( +/obj/effect/decal/cleanable/dirt{ + icon_state = "dirt-flat-1" + }, +/turf/closed/wall/r_wall, +/area/station/command/heads_quarters/cmo) "aHN" = ( /obj/machinery/atmospherics/pipe/smart/manifold/green/visible{ dir = 8 @@ -3346,11 +3354,6 @@ /obj/machinery/duct, /turf/open/floor/wood, /area/station/common/pool) -"aIg" = ( -/obj/effect/turf_decal/tile/blue/half/contrasted, -/obj/machinery/incident_display/bridge/directional/south, -/turf/open/floor/iron/dark/side, -/area/station/hallway/secondary/command) "aIi" = ( /obj/structure/grille, /obj/structure/window/reinforced/spawner/directional/south, @@ -4543,12 +4546,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/wood, /area/station/service/bar/atrium) -"aVm" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/light/small/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "aVo" = ( /obj/machinery/power/shuttle_engine/propulsion/burst, /turf/open/floor/engine/hull/reinforced, @@ -5771,6 +5768,17 @@ /obj/machinery/duct, /turf/open/floor/iron/freezer, /area/station/security/prison/shower) +"bia" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt{ + icon_state = "dirt-flat-1" + }, +/obj/effect/turf_decal/stripes{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/maintenance/aft/upper) "bie" = ( /obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating, @@ -6275,18 +6283,6 @@ /obj/effect/mapping_helpers/airlock/access/all/science/ordnance_storage, /turf/open/floor/iron/white, /area/station/science/ordnance/storage) -"bmN" = ( -/obj/machinery/camera/directional/north{ - c_tag = "Security - Power Station"; - name = "engineering camera"; - network = list("ss13","ce") - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/power/port_gen/pacman/pre_loaded, -/turf/open/floor/iron/dark, -/area/station/maintenance/port/fore) "bmP" = ( /obj/machinery/door/airlock/maintenance/glass, /obj/structure/cable, @@ -7171,6 +7167,14 @@ /obj/effect/mapping_helpers/airlock/access/all/command/general, /turf/open/floor/engine, /area/station/command/secure_bunker) +"but" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/light/small/directional/south, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/maintenance/port/fore) "buC" = ( /obj/effect/decal/cleanable/dirt{ icon_state = "dirt-flat-1" @@ -7448,12 +7452,6 @@ /obj/structure/window/reinforced/spawner/directional/south, /turf/open/floor/iron/shuttle/arrivals/airless, /area/space/nearstation) -"bxx" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/maintenance/starboard/fore) "bxy" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -8863,6 +8861,16 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/upper) +"bLx" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/dirt{ + icon_state = "dirt-flat-1" + }, +/obj/vehicle/sealed/mecha/odysseus, +/turf/open/floor/iron/recharge_floor, +/area/station/command/heads_quarters/cmo) "bLD" = ( /obj/machinery/door/airlock/command{ name = "Research Division Server Room" @@ -9188,6 +9196,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/cafeteria, /area/station/service/kitchen) +"bOP" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "bOR" = ( /obj/machinery/duct, /turf/open/floor/iron, @@ -9612,11 +9626,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/engineering/storage/tech) -"bSB" = ( -/obj/effect/mapping_helpers/broken_floor, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/maintenance/starboard/fore) "bSN" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/wood/parquet, @@ -11097,6 +11106,11 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white, /area/station/medical/surgery) +"cha" = ( +/obj/structure/cable, +/obj/machinery/chem_heater/withbuffer, +/turf/open/floor/iron, +/area/station/command/heads_quarters/cmo) "chb" = ( /obj/item/kirbyplants/random, /obj/structure/cable, @@ -11730,13 +11744,6 @@ dir = 8 }, /area/station/commons/fitness/recreation) -"cnf" = ( -/obj/machinery/door/airlock/maintenance, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "cnk" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -12160,6 +12167,11 @@ "cra" = ( /turf/closed/wall/r_wall, /area/station/medical/pharmacy) +"crj" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/dark, +/area/station/maintenance/port/fore) "crn" = ( /obj/structure/girder, /obj/structure/grille/broken, @@ -13934,11 +13946,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/security/execution/transfer) -"cFK" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/command/heads_quarters/cmo) "cFN" = ( /obj/effect/decal/cleanable/dirt{ icon_state = "dirt-flat-1" @@ -14247,11 +14254,6 @@ }, /turf/open/floor/wood, /area/station/common/pool) -"cHP" = ( -/obj/structure/cable, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/iron/dark, -/area/station/maintenance/starboard/fore) "cHT" = ( /obj/machinery/door/airlock/maintenance_hatch, /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, @@ -16634,15 +16636,6 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/aft/upper) -"dfX" = ( -/obj/effect/mapping_helpers/burnt_floor, -/obj/structure/cable, -/obj/machinery/airalarm/directional/north, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/maintenance/port/fore) "dga" = ( /obj/machinery/light/directional/north, /turf/open/floor/circuit, @@ -17486,6 +17479,18 @@ }, /turf/open/floor/iron/dark, /area/station/security/execution/transfer) +"dnR" = ( +/obj/structure/cable, +/obj/machinery/airalarm/directional/north, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/stripes, +/obj/machinery/camera/directional/north{ + c_tag = "Science - Power Station"; + name = "engineering camera"; + network = list("ss13","ce") + }, +/turf/open/floor/iron/dark, +/area/station/maintenance/aft/upper) "dnV" = ( /obj/structure/table/wood, /obj/structure/closet/mini_fridge{ @@ -18045,6 +18050,10 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/aft/upper) +"dtZ" = ( +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/maintenance/port/fore) "dul" = ( /obj/structure/closet/firecloset, /obj/effect/turf_decal/bot, @@ -18166,14 +18175,6 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/plating, /area/station/science/auxlab/firing_range) -"dvv" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/effect/decal/cleanable/dirt{ - icon_state = "dirt-flat-1" - }, -/turf/open/floor/iron/dark, -/area/station/maintenance/aft/upper) "dvx" = ( /obj/effect/turf_decal/tile/neutral{ dir = 8 @@ -19414,6 +19415,13 @@ /obj/item/wrench, /turf/open/floor/plating, /area/station/engineering/supermatter) +"dIa" = ( +/obj/machinery/door/airlock/cmo{ + name = "Chief Medical Officer's Quarters" + }, +/obj/effect/mapping_helpers/airlock/access/all/medical/cmo, +/turf/open/floor/wood/parquet, +/area/station/command/heads_quarters/cmo) "dIb" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/decal/cleanable/dirt{ @@ -19757,12 +19765,6 @@ /obj/item/storage/toolbox/artistic, /turf/open/floor/iron/dark, /area/station/service/library) -"dKH" = ( -/obj/effect/decal/cleanable/dirt{ - icon_state = "dirt-flat-1" - }, -/turf/closed/wall/r_wall, -/area/station/command/heads_quarters/cmo) "dKI" = ( /obj/structure/flora/bush/jungle/b/style_2, /obj/structure/flora/bush/flowers_pp/style_3, @@ -22141,16 +22143,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/hallway/secondary/command) -"ekG" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/decal/cleanable/dirt{ - icon_state = "dirt-flat-1" - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/maintenance/aft/upper) "ekI" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 6 @@ -22323,11 +22315,6 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/port/upper) -"emg" = ( -/obj/machinery/light/small/directional/north, -/obj/structure/rack, -/turf/open/floor/iron/dark, -/area/station/maintenance/aft/upper) "emk" = ( /obj/structure/disposalpipe/segment{ dir = 10 @@ -22740,9 +22727,6 @@ /obj/machinery/meter, /turf/open/floor/iron, /area/station/science/ordnance) -"erj" = ( -/turf/open/floor/iron/dark, -/area/station/maintenance/starboard/fore) "erk" = ( /obj/item/shard, /turf/open/floor/plating, @@ -24641,6 +24625,12 @@ /obj/machinery/power/apc/auto_name/directional/south, /turf/open/floor/iron/smooth, /area/station/cargo/power_station/upper) +"eIw" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/command/heads_quarters/cmo) "eIA" = ( /obj/structure/chair/wood{ dir = 1 @@ -28396,9 +28386,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"fqV" = ( -/turf/open/floor/wood/parquet, -/area/station/command/heads_quarters/cmo) "frb" = ( /obj/item/stack/cable_coil, /obj/item/multitool, @@ -29284,6 +29271,15 @@ "fzZ" = ( /turf/open/floor/grass, /area/station/security/prison/garden) +"fAg" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/table/reinforced, +/obj/item/mecha_parts/mecha_equipment/medical/syringe_gun, +/obj/item/mecha_parts/mecha_equipment/medical/sleeper, +/obj/item/storage/box/syringes, +/turf/open/floor/iron, +/area/station/command/heads_quarters/cmo) "fAl" = ( /obj/structure/cable, /obj/effect/mapping_helpers/broken_floor, @@ -29706,6 +29702,13 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/iron/dark, /area/station/medical/surgery/theatre) +"fFK" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/maintenance/port/fore) "fFR" = ( /obj/effect/decal/cleanable/dirt{ icon_state = "dirt-flat-1" @@ -30959,6 +30962,14 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/wood, /area/station/service/bar/atrium) +"fSf" = ( +/obj/effect/decal/cleanable/dirt{ + icon_state = "dirt-flat-1" + }, +/obj/effect/mapping_helpers/broken_floor, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "fSk" = ( /obj/structure/table/glass, /obj/item/clipboard, @@ -31884,16 +31895,6 @@ }, /turf/open/floor/iron/dark/smooth_large/airless, /area/space/nearstation) -"gbm" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/obj/machinery/smartfridge/drying/rack, -/turf/open/floor/wood, -/area/station/service/chapel) "gbv" = ( /obj/effect/decal/cleanable/dirt{ icon_state = "dirt-flat-1" @@ -33138,12 +33139,6 @@ /obj/machinery/duct, /turf/open/floor/wood, /area/station/command/heads_quarters/captain/private) -"gnt" = ( -/obj/structure/noticeboard/directional/east, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/command/heads_quarters/cmo) "gnw" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 1 @@ -35351,6 +35346,12 @@ /obj/structure/extinguisher_cabinet/directional/east, /turf/open/floor/iron, /area/station/engineering/break_room) +"gKi" = ( +/obj/structure/noticeboard/directional/east, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/command/heads_quarters/cmo) "gKk" = ( /obj/item/kirbyplants/random, /turf/open/floor/iron/dark, @@ -35643,6 +35644,16 @@ /obj/machinery/duct, /turf/open/floor/iron, /area/station/commons/locker) +"gNt" = ( +/obj/structure/rack, +/obj/machinery/camera/directional/north{ + c_tag = "Service - Power Station"; + name = "engineering camera"; + network = list("ss13","ce") + }, +/obj/item/stack/sheet/mineral/plasma/thirty, +/turf/open/floor/iron/dark, +/area/station/maintenance/starboard/fore) "gNv" = ( /obj/machinery/smartfridge, /turf/open/floor/iron/dark, @@ -35746,10 +35757,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"gOx" = ( -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/maintenance/aft/upper) "gOy" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -37562,6 +37569,33 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/central) +"hhx" = ( +/obj/machinery/door/firedoor, +/obj/machinery/flasher{ + id = "secentranceflasher"; + pixel_x = 25 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "brig-enterance" + }, +/obj/machinery/door/airlock/security/glass{ + id_tag = "outerbrig"; + name = "Brig" + }, +/obj/effect/decal/cleanable/dirt{ + icon_state = "dirt-flat-1" + }, +/obj/effect/turf_decal/delivery/blue, +/obj/machinery/door/poddoor/preopen{ + id = "brigfront"; + name = "Brig Blast Door" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/mapping_helpers/airlock/access/all/security/entrance, +/obj/machinery/scanner_gate/preset_guns, +/turf/open/floor/iron/dark, +/area/station/security/brig) "hhy" = ( /obj/machinery/door/poddoor/preopen{ id = "ceblast"; @@ -37587,6 +37621,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/commons/dorms) +"hhG" = ( +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/maintenance/starboard/fore) "hhH" = ( /obj/effect/turf_decal/bot, /obj/vehicle/ridden/wheelchair{ @@ -38471,16 +38509,6 @@ dir = 4 }, /area/station/hallway/primary/central) -"hqR" = ( -/obj/effect/decal/cleanable/dirt{ - icon_state = "dirt-flat-1" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/maintenance/port/fore) "hrb" = ( /obj/item/weldingtool, /obj/item/weldingtool, @@ -39895,10 +39923,6 @@ "hFR" = ( /turf/open/floor/iron/white/textured, /area/station/medical/aslyum) -"hFX" = ( -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/command/heads_quarters/cmo) "hFZ" = ( /turf/open/floor/iron/white/textured, /area/station/common/cryopods) @@ -40489,6 +40513,11 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/wood, /area/station/hallway/primary/central) +"hLT" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/command/heads_quarters/cmo) "hLY" = ( /obj/effect/decal/cleanable/dirt{ icon_state = "dirt-flat-1" @@ -40638,6 +40667,12 @@ dir = 8 }, /area/station/hallway/primary/central/aft) +"hNd" = ( +/obj/machinery/light/small/directional/north, +/obj/structure/cable, +/obj/machinery/chem_dispenser, +/turf/open/floor/iron, +/area/station/command/heads_quarters/cmo) "hNh" = ( /obj/effect/turf_decal/siding/wood, /obj/machinery/light/directional/east, @@ -40846,14 +40881,6 @@ /obj/effect/decal/cleanable/glass, /turf/open/floor/plating, /area/station/maintenance/aft/upper) -"hOT" = ( -/obj/effect/decal/cleanable/dirt{ - icon_state = "dirt-flat-1" - }, -/obj/effect/spawner/random/trash/grille_or_waste, -/obj/machinery/light/small/directional/west, -/turf/open/floor/plating, -/area/station/maintenance/department/medical) "hOY" = ( /obj/machinery/door/airlock/research{ name = "Research Division Access" @@ -41775,6 +41802,13 @@ /obj/structure/railing, /turf/open/floor/glass/reinforced, /area/station/science) +"hYl" = ( +/obj/effect/decal/cleanable/dirt{ + icon_state = "dirt-flat-1" + }, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/maintenance/port/fore) "hYo" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -42345,6 +42379,13 @@ }, /turf/open/space/basic, /area/space/nearstation) +"ieh" = ( +/obj/machinery/door/airlock/maintenance, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "iej" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 8 @@ -42659,13 +42700,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/glass/reinforced, /area/station/science/research) -"igP" = ( -/obj/effect/decal/cleanable/dirt{ - icon_state = "dirt-flat-1" - }, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/maintenance/port/fore) "igR" = ( /obj/effect/turf_decal/siding/thinplating/dark/end{ dir = 1 @@ -44143,11 +44177,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/science/explab) -"iwe" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/maintenance/starboard/fore) "iwl" = ( /obj/effect/turf_decal/delivery/red, /obj/machinery/door/airlock/security/old{ @@ -44349,12 +44378,6 @@ /obj/effect/mapping_helpers/airlock/access/any/service/maintenance, /turf/open/floor/plating, /area/station/maintenance/cult_chapel_maint) -"ixJ" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/maintenance/starboard/fore) "ixK" = ( /obj/structure/chair/office{ dir = 1 @@ -44657,11 +44680,6 @@ dir = 8 }, /area/station/cargo/miningdock) -"iBd" = ( -/obj/machinery/door/airlock/maintenance, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/aft/upper) "iBm" = ( /obj/machinery/vending/wardrobe/curator_wardrobe, /obj/effect/turf_decal/bot, @@ -45206,11 +45224,6 @@ /obj/effect/landmark/start/nanotrasen_consultant, /turf/open/floor/carpet/green, /area/station/command/heads_quarters/nt_rep) -"iGu" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/command/heads_quarters/cmo) "iGA" = ( /obj/structure/rack, /obj/effect/turf_decal/bot, @@ -45971,6 +45984,14 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) +"iPn" = ( +/obj/effect/decal/cleanable/dirt{ + icon_state = "dirt-flat-1" + }, +/obj/effect/spawner/random/trash/grille_or_waste, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plating, +/area/station/maintenance/department/medical) "iPq" = ( /obj/structure/falsewall, /turf/open/floor/plating, @@ -46209,6 +46230,18 @@ /obj/structure/bookcase/random/religion, /turf/open/floor/wood, /area/station/command/meeting_room/council) +"iSp" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/airlock/maintenance_hatch{ + name = "Chief Medical Officer Office Maintenance" + }, +/obj/effect/decal/cleanable/dirt{ + icon_state = "dirt-flat-1" + }, +/turf/open/floor/plating, +/area/station/command/heads_quarters/cmo) "iSr" = ( /obj/effect/turf_decal/tile/brown/half/contrasted{ dir = 8 @@ -47479,6 +47512,17 @@ }, /turf/open/floor/iron/white/corner, /area/station/hallway/secondary/entry) +"jeg" = ( +/obj/structure/cable, +/obj/structure/rack/gunrack, +/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/lmg, +/obj/item/mecha_parts/mecha_equipment/rcd, +/obj/item/mecha_ammo/lmg, +/obj/item/mecha_ammo/lmg, +/obj/item/mecha_ammo/lmg, +/obj/item/mecha_ammo/lmg, +/turf/open/floor/iron, +/area/station/ai_monitored/security/armory) "jes" = ( /obj/effect/turf_decal/siding/wood{ dir = 8 @@ -47667,18 +47711,6 @@ "jgo" = ( /turf/open/floor/iron, /area/station/engineering/transit_tube) -"jgq" = ( -/obj/structure/cable, -/obj/machinery/airalarm/directional/north, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/stripes, -/obj/machinery/camera/directional/north{ - c_tag = "Science - Power Station"; - name = "engineering camera"; - network = list("ss13","ce") - }, -/turf/open/floor/iron/dark, -/area/station/maintenance/aft/upper) "jgr" = ( /obj/structure/light_construct/directional/east, /turf/open/floor/iron, @@ -47800,13 +47832,6 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/department/security/lesser) -"jhT" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/maintenance/port/fore) "jhU" = ( /obj/effect/decal/cleanable/dirt{ icon_state = "dirt-flat-1" @@ -47886,6 +47911,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) +"jiI" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/maintenance/starboard/fore) "jiS" = ( /obj/effect/turf_decal/tile/yellow{ dir = 4 @@ -49102,15 +49133,6 @@ }, /turf/open/floor/iron, /area/station/cargo/office) -"jub" = ( -/obj/machinery/airalarm/directional/west, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/effect/decal/cleanable/dirt{ - icon_state = "dirt-flat-1" - }, -/obj/machinery/chem_master, -/turf/open/floor/iron, -/area/station/command/heads_quarters/cmo) "jui" = ( /obj/machinery/door/airlock/maintenance{ name = "Council of Practical Gags" @@ -50528,16 +50550,6 @@ "jIc" = ( /turf/open/floor/iron/white/smooth_large, /area/station/command/heads_quarters/ce) -"jId" = ( -/obj/structure/rack, -/obj/machinery/camera/directional/north{ - c_tag = "Service - Power Station"; - name = "engineering camera"; - network = list("ss13","ce") - }, -/obj/item/stack/sheet/mineral/plasma/thirty, -/turf/open/floor/iron/dark, -/area/station/maintenance/starboard/fore) "jIf" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -50671,6 +50683,14 @@ }, /turf/open/floor/iron/dark, /area/station/security/prison/upper) +"jJD" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/stripes, +/turf/open/floor/iron/dark, +/area/station/maintenance/aft/upper) "jJF" = ( /obj/effect/turf_decal/tile/neutral{ dir = 4 @@ -50774,6 +50794,16 @@ "jKP" = ( /turf/open/floor/wood/parquet, /area/station/common/gaskiosk) +"jKT" = ( +/obj/machinery/light/small/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt{ + icon_state = "dirt-flat-1" + }, +/obj/structure/cable, +/obj/machinery/mech_bay_recharge_port, +/turf/open/floor/iron, +/area/station/command/heads_quarters/cmo) "jKU" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -51438,16 +51468,6 @@ /obj/structure/ore_box, /turf/open/floor/plating, /area/station/maintenance/department/science/upper) -"jQD" = ( -/obj/effect/decal/cleanable/dirt{ - icon_state = "dirt-flat-1" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/maintenance/port/fore) "jQG" = ( /obj/effect/turf_decal/bot, /obj/structure/closet/firecloset, @@ -52108,11 +52128,6 @@ }, /turf/open/floor/plating, /area/station/command/heads_quarters/qm) -"jVT" = ( -/obj/effect/mapping_helpers/broken_floor, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/maintenance/port/fore) "jVV" = ( /obj/effect/turf_decal/stripes{ dir = 8 @@ -52477,6 +52492,13 @@ /obj/machinery/light/directional/south, /turf/open/floor/mineral/plastitanium, /area/station/science/robotics/lab) +"jZf" = ( +/obj/machinery/door/airlock/maintenance, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/aft/upper) "jZk" = ( /obj/effect/spawner/random/structure/closet_maintenance, /obj/effect/decal/cleanable/dirt{ @@ -54714,14 +54736,6 @@ /obj/machinery/light_switch/directional/west, /turf/open/floor/iron/white, /area/station/medical/surgery) -"kub" = ( -/obj/machinery/door/airlock/engineering{ - name = "Service Power Station" - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "kuh" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt{ @@ -55365,11 +55379,6 @@ /obj/structure/extinguisher_cabinet/directional/north, /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) -"kAe" = ( -/obj/machinery/door/airlock/maintenance, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "kAh" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/duct, @@ -56102,13 +56111,6 @@ }, /turf/open/floor/iron/dark, /area/station/security/brig) -"kHP" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/stripes, -/turf/open/floor/iron/dark, -/area/station/maintenance/aft/upper) "kHV" = ( /obj/machinery/disposal/bin, /obj/effect/turf_decal/delivery, @@ -56666,6 +56668,15 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/security/lesser) +"kOb" = ( +/obj/machinery/airalarm/directional/west, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/effect/decal/cleanable/dirt{ + icon_state = "dirt-flat-1" + }, +/obj/machinery/chem_master, +/turf/open/floor/iron, +/area/station/command/heads_quarters/cmo) "kOd" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -58396,10 +58407,6 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron, /area/station/maintenance/department/medical/central) -"lge" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/command/heads_quarters/cmo) "lgi" = ( /obj/effect/turf_decal/bot, /obj/structure/reagent_dispensers/fueltank, @@ -58604,6 +58611,10 @@ /obj/machinery/duct, /turf/open/floor/wood, /area/station/command/heads_quarters/rd) +"liI" = ( +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/command/heads_quarters/cmo) "liN" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -59246,6 +59257,14 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) +"lpj" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/structure/cable, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/maintenance/port/fore) "lpk" = ( /obj/docking_port/stationary{ dir = 4; @@ -59663,14 +59682,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/fore/upper) -"ltC" = ( -/obj/machinery/door/airlock/engineering{ - name = "Service Power Station" - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "ltF" = ( /obj/structure/filingcabinet, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -59708,6 +59719,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/ai) +"ltS" = ( +/obj/machinery/power/port_gen/pacman/pre_loaded, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "ltW" = ( /obj/effect/turf_decal/trimline/purple/filled/warning{ dir = 6 @@ -59719,17 +59734,6 @@ }, /turf/open/floor/iron/white, /area/station/science/tele_sci) -"ltX" = ( -/obj/effect/decal/cleanable/dirt{ - icon_state = "dirt-flat-1" - }, -/obj/effect/decal/cleanable/dirt{ - icon_state = "dirt-flat-1" - }, -/obj/structure/rack, -/obj/machinery/light/small/directional/west, -/turf/open/floor/iron/dark, -/area/station/maintenance/port/fore) "luf" = ( /obj/structure/closet/secure_closet/personal/cabinet, /turf/open/floor/carpet/red, @@ -61902,12 +61906,6 @@ dir = 8 }, /area/station/hallway/primary/port) -"lQt" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/dark, -/area/station/maintenance/aft/upper) "lQA" = ( /obj/structure/table/wood, /obj/structure/window/spawner/directional/south, @@ -62715,29 +62713,6 @@ dir = 4 }, /area/station/hallway/primary/central/aft) -"lXP" = ( -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "brig-enterance" - }, -/obj/machinery/door/airlock/security/glass{ - id_tag = "outerbrig"; - name = "Brig" - }, -/obj/effect/decal/cleanable/dirt{ - icon_state = "dirt-flat-1" - }, -/obj/effect/turf_decal/delivery/blue, -/obj/machinery/door/poddoor/preopen{ - id = "brigfront"; - name = "Brig Blast Door" - }, -/obj/effect/landmark/navigate_destination, -/obj/structure/cable, -/obj/effect/mapping_helpers/airlock/access/all/security/entrance, -/obj/machinery/scanner_gate/preset_guns, -/turf/open/floor/iron/dark, -/area/station/security/brig) "lXQ" = ( /obj/structure/table/wood, /obj/machinery/computer/records/medical/laptop, @@ -62756,15 +62731,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/aft/upper) -"lYi" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/table/reinforced, -/obj/item/mecha_parts/mecha_equipment/medical/syringe_gun, -/obj/item/mecha_parts/mecha_equipment/medical/sleeper, -/obj/item/storage/box/syringes, -/turf/open/floor/iron, -/area/station/command/heads_quarters/cmo) "lYj" = ( /obj/effect/turf_decal/siding/dark{ dir = 8 @@ -64500,14 +64466,6 @@ /obj/structure/window/reinforced/spawner/directional/north, /turf/open/floor/plating, /area/station/maintenance/disposal) -"mqY" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/decal/cleanable/dirt{ - icon_state = "dirt-flat-1" - }, -/turf/open/floor/iron/dark, -/area/station/maintenance/aft/upper) "mrb" = ( /obj/structure/table/reinforced, /obj/machinery/recharger{ @@ -65260,6 +65218,13 @@ /obj/structure/cable, /turf/open/floor/plating/airless, /area/station/maintenance/eva_shed/port) +"mzE" = ( +/obj/effect/turf_decal/stripes/box, +/obj/effect/turf_decal/stripes/red/box, +/obj/structure/sign/poster/official/carwo_grenade/directional/north, +/obj/vehicle/sealed/mecha/gygax, +/turf/open/floor/iron/recharge_floor, +/area/station/ai_monitored/security/armory) "mzF" = ( /obj/effect/turf_decal/siding/wood, /obj/effect/turf_decal/siding/wood{ @@ -65952,6 +65917,15 @@ dir = 8 }, /area/station/command/secure_bunker) +"mGn" = ( +/obj/structure/cable, +/obj/machinery/light/small/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt{ + icon_state = "dirt-flat-1" + }, +/turf/open/floor/iron/dark, +/area/station/maintenance/aft/upper) "mGp" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 1 @@ -66676,6 +66650,10 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/fore/upper) +"mMX" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/command/heads_quarters/cmo) "mMZ" = ( /turf/closed/wall, /area/station/command/heads_quarters/hop) @@ -67234,13 +67212,6 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/starboard) -"mSG" = ( -/obj/machinery/door/airlock/cmo{ - name = "Chief Medical Officer's Quarters" - }, -/obj/effect/mapping_helpers/airlock/access/all/medical/cmo, -/turf/open/floor/wood/parquet, -/area/station/command/heads_quarters/cmo) "mSI" = ( /obj/effect/landmark/event_spawn, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -68204,16 +68175,6 @@ /obj/structure/window/reinforced/spawner/directional/east, /turf/open/floor/plating, /area/station/maintenance/disposal) -"nct" = ( -/obj/effect/decal/cleanable/dirt{ - icon_state = "dirt-flat-1" - }, -/obj/effect/mapping_helpers/broken_floor, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/maintenance/port/fore) "ncB" = ( /obj/effect/spawner/random/trash/mess, /obj/structure/disposalpipe/segment{ @@ -69005,6 +68966,13 @@ /obj/effect/landmark/start/science_guard, /turf/open/floor/iron, /area/station/security/checkpoint/science/research) +"nkH" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/maintenance/port/fore) "nkI" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -69160,6 +69128,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/department/crew_quarters/dorms) +"nmD" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/maintenance/starboard/fore) "nmK" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/disposalpipe/segment{ @@ -69605,16 +69578,6 @@ /obj/structure/lattice/catwalk, /turf/open/space/basic, /area/space/nearstation) -"nrV" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt{ - icon_state = "dirt-flat-1" - }, -/obj/vehicle/sealed/mecha/odysseus, -/turf/open/floor/iron/recharge_floor, -/area/station/command/heads_quarters/cmo) "nrY" = ( /obj/effect/turf_decal/stripes{ dir = 4 @@ -69681,10 +69644,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/engineering/transit_tube) -"nsz" = ( -/obj/machinery/power/port_gen/pacman/pre_loaded, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "nsA" = ( /obj/structure/chair/office{ dir = 1 @@ -70108,33 +70067,6 @@ /obj/machinery/space_heater, /turf/open/floor/plating, /area/station/maintenance/port/central) -"nxd" = ( -/obj/machinery/door/firedoor, -/obj/machinery/flasher{ - id = "secentranceflasher"; - pixel_x = 25 - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "brig-enterance" - }, -/obj/machinery/door/airlock/security/glass{ - id_tag = "outerbrig"; - name = "Brig" - }, -/obj/effect/decal/cleanable/dirt{ - icon_state = "dirt-flat-1" - }, -/obj/effect/turf_decal/delivery/blue, -/obj/machinery/door/poddoor/preopen{ - id = "brigfront"; - name = "Brig Blast Door" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/mapping_helpers/airlock/access/all/security/entrance, -/obj/machinery/scanner_gate/preset_guns, -/turf/open/floor/iron/dark, -/area/station/security/brig) "nxf" = ( /obj/structure/railing, /obj/item/cigbutt, @@ -70893,11 +70825,6 @@ }, /turf/open/floor/grass, /area/station/command/heads_quarters/cmo) -"nEh" = ( -/obj/structure/cable, -/obj/machinery/chem_heater/withbuffer, -/turf/open/floor/iron, -/area/station/command/heads_quarters/cmo) "nEk" = ( /obj/structure/reagent_dispensers/watertank, /obj/item/reagent_containers/cup/bucket, @@ -71351,6 +71278,18 @@ dir = 4 }, /area/station/commons/locker) +"nIN" = ( +/obj/machinery/camera/directional/north{ + c_tag = "Security - Power Station"; + name = "engineering camera"; + network = list("ss13","ce") + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/power/port_gen/pacman/pre_loaded, +/turf/open/floor/iron/dark, +/area/station/maintenance/port/fore) "nIO" = ( /obj/machinery/atmospherics/pipe/smart/simple/violet/visible/layer2{ dir = 4 @@ -71817,18 +71756,6 @@ /obj/structure/grille, /turf/open/space/openspace, /area/space/nearstation) -"nNl" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/airlock/maintenance_hatch{ - name = "Chief Medical Officer Office Maintenance" - }, -/obj/effect/decal/cleanable/dirt{ - icon_state = "dirt-flat-1" - }, -/turf/open/floor/plating, -/area/station/command/heads_quarters/cmo) "nNn" = ( /obj/effect/decal/cleanable/dirt{ icon_state = "dirt-flat-1" @@ -72067,15 +71994,6 @@ /obj/effect/spawner/random/techstorage/arcade_boards, /turf/open/floor/wood, /area/station/service/electronic_marketing_den) -"nPY" = ( -/obj/structure/cable, -/obj/machinery/light/small/directional/south, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/decal/cleanable/dirt{ - icon_state = "dirt-flat-1" - }, -/turf/open/floor/iron/dark, -/area/station/maintenance/aft/upper) "nQf" = ( /obj/machinery/airalarm/directional/west, /obj/item/radio/intercom/directional/south, @@ -72256,6 +72174,16 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"nRt" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt{ + icon_state = "dirt-flat-1" + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/maintenance/aft/upper) "nRx" = ( /obj/effect/turf_decal/bot_white, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -73168,6 +73096,10 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/security/checkpoint/escape) +"nZO" = ( +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/maintenance/aft/upper) "nZP" = ( /obj/machinery/door/airlock/hatch{ name = "Paramedic EVA Storage" @@ -73805,13 +73737,6 @@ /obj/structure/cable, /turf/open/floor/iron/white/side, /area/station/maintenance/abandon_diner) -"ogh" = ( -/obj/effect/decal/cleanable/dirt{ - icon_state = "dirt-flat-1" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/maintenance/starboard/fore) "ogj" = ( /obj/machinery/door/airlock/maintenance_hatch, /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, @@ -74719,6 +74644,16 @@ /obj/machinery/duct, /turf/open/floor/iron/checker, /area/station/service/janitor) +"onI" = ( +/obj/effect/decal/cleanable/dirt{ + icon_state = "dirt-flat-1" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/maintenance/port/fore) "onL" = ( /obj/structure/table, /obj/item/storage/box/lights/mixed, @@ -75422,12 +75357,6 @@ /obj/machinery/light/directional/east, /turf/open/floor/wood, /area/station/security/courtroom) -"ouh" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/command/heads_quarters/cmo) "oun" = ( /obj/machinery/door/firedoor, /obj/machinery/light/directional/north, @@ -76034,6 +75963,13 @@ }, /turf/open/floor/glass/reinforced, /area/station/security/prison/safe) +"oAR" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/stripes, +/turf/open/floor/iron/dark, +/area/station/maintenance/aft/upper) "oAT" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /obj/machinery/newscaster/directional/north, @@ -76482,6 +76418,21 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/science/ordnance) +"oFh" = ( +/obj/effect/decal/cleanable/oil, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/obj/machinery/camera/directional/south{ + c_tag = "Medical - Power Station"; + name = "engineering camera"; + network = list("ss13","ce") + }, +/obj/machinery/computer/mech_bay_power_console{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/command/heads_quarters/cmo) "oFl" = ( /obj/effect/spawner/random/structure/closet_maintenance, /turf/open/floor/plating, @@ -77277,6 +77228,11 @@ dir = 4 }, /area/station/security/lockers) +"oMI" = ( +/obj/machinery/door/airlock/maintenance, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/aft/upper) "oML" = ( /obj/structure/railing{ dir = 6 @@ -77369,14 +77325,6 @@ }, /turf/open/floor/plating, /area/station/service/abandoned_gambling_den) -"oNH" = ( -/obj/effect/decal/cleanable/dirt{ - icon_state = "dirt-flat-1" - }, -/obj/effect/mapping_helpers/broken_floor, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "oNI" = ( /obj/effect/decal/cleanable/dirt{ icon_state = "dirt-flat-1" @@ -77761,10 +77709,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood, /area/station/medical/psychology) -"oRy" = ( -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/maintenance/port/fore) "oRP" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -78003,10 +77947,6 @@ }, /turf/open/floor/grass, /area/station/security/prison/garden) -"oUt" = ( -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/maintenance/starboard/fore) "oUy" = ( /obj/effect/decal/cleanable/dirt{ icon_state = "dirt-flat-1" @@ -78877,16 +78817,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"pdD" = ( -/obj/machinery/light/small/directional/south, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/decal/cleanable/dirt{ - icon_state = "dirt-flat-1" - }, -/obj/structure/cable, -/obj/machinery/mech_bay_recharge_port, -/turf/open/floor/iron, -/area/station/command/heads_quarters/cmo) "pdF" = ( /obj/effect/decal/cleanable/dirt{ icon_state = "dirt-flat-1" @@ -79363,12 +79293,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/surgery) -"piy" = ( -/obj/machinery/light/small/directional/north, -/obj/structure/cable, -/obj/machinery/chem_dispenser, -/turf/open/floor/iron, -/area/station/command/heads_quarters/cmo) "piD" = ( /obj/machinery/door/airlock/maintenance_hatch, /obj/structure/cable, @@ -80017,6 +79941,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/freezer, /area/station/command/heads_quarters/captain/private) +"ppb" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/effect/decal/cleanable/dirt{ + icon_state = "dirt-flat-1" + }, +/turf/open/floor/iron/dark, +/area/station/maintenance/aft/upper) "ppj" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -80281,6 +80213,11 @@ }, /turf/open/floor/iron/smooth_large, /area/station/cargo/storage) +"psy" = ( +/obj/machinery/light/small/directional/north, +/obj/structure/rack, +/turf/open/floor/iron/dark, +/area/station/maintenance/aft/upper) "psB" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -81253,6 +81190,9 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron, /area/station/hallway/primary/central/aft) +"pBA" = ( +/turf/open/floor/iron/dark, +/area/station/maintenance/port/fore) "pBD" = ( /obj/structure/table, /obj/item/clothing/gloves/botanic_leather, @@ -81440,6 +81380,11 @@ /obj/effect/mapping_helpers/airlock/access/all/security/court, /turf/open/floor/wood, /area/station/security/courtroom) +"pEs" = ( +/obj/structure/cable, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/iron/dark, +/area/station/maintenance/starboard/fore) "pEu" = ( /obj/machinery/button/door{ id = "cargounload"; @@ -81741,6 +81686,11 @@ /obj/item/stock_parts/power_store/cell/high, /turf/open/floor/iron/dark, /area/station/engineering/atmos/office) +"pHK" = ( +/obj/machinery/door/airlock/maintenance, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "pHL" = ( /obj/machinery/door/firedoor/heavy, /obj/machinery/door/airlock/maintenance_hatch{ @@ -82524,6 +82474,11 @@ /obj/machinery/power/shuttle_engine/heater, /turf/open/floor/plating, /area/station/maintenance/aft/upper) +"pOT" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/maintenance/port/fore) "pOU" = ( /obj/machinery/computer/scan_consolenew{ dir = 4 @@ -83316,17 +83271,6 @@ /obj/item/radio/intercom/directional/west, /turf/open/floor/iron, /area/station/commons/dorms) -"pWy" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/decal/cleanable/dirt{ - icon_state = "dirt-flat-1" - }, -/obj/effect/turf_decal/stripes{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/maintenance/aft/upper) "pWA" = ( /obj/structure/table, /obj/item/wirecutters/makeshift, @@ -84630,6 +84574,11 @@ "qjx" = ( /turf/open/misc/beach/sand, /area/station/hallway/primary/central) +"qjz" = ( +/obj/structure/cable, +/obj/machinery/light/small/directional/north, +/turf/open/floor/iron/dark, +/area/station/maintenance/starboard/fore) "qjF" = ( /obj/structure/table/reinforced, /obj/item/storage/box/bodybags{ @@ -84826,6 +84775,11 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/department/medical) +"qlB" = ( +/obj/effect/turf_decal/tile/blue/half/contrasted, +/obj/machinery/incident_display/bridge/directional/south, +/turf/open/floor/iron/dark/side, +/area/station/hallway/secondary/command) "qlC" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -86123,14 +86077,6 @@ dir = 4 }, /area/station/hallway/primary/central) -"qwg" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/light/small/directional/south, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/maintenance/port/fore) "qwm" = ( /turf/open/floor/plating, /area/station/maintenance/department/medical) @@ -91343,17 +91289,6 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron/white/textured, /area/station/medical/aslyum) -"ruS" = ( -/obj/structure/cable, -/obj/structure/rack/gunrack, -/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/lmg, -/obj/item/mecha_parts/mecha_equipment/rcd, -/obj/item/mecha_ammo/lmg, -/obj/item/mecha_ammo/lmg, -/obj/item/mecha_ammo/lmg, -/obj/item/mecha_ammo/lmg, -/turf/open/floor/iron, -/area/station/ai_monitored/security/armory) "ruT" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -92037,6 +91972,29 @@ /obj/structure/closet/secure_closet/engineering_personal, /turf/open/floor/iron/dark, /area/station/engineering/break_room) +"rCE" = ( +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "brig-enterance" + }, +/obj/machinery/door/airlock/security/glass{ + id_tag = "outerbrig"; + name = "Brig" + }, +/obj/effect/decal/cleanable/dirt{ + icon_state = "dirt-flat-1" + }, +/obj/effect/turf_decal/delivery/blue, +/obj/machinery/door/poddoor/preopen{ + id = "brigfront"; + name = "Brig Blast Door" + }, +/obj/effect/landmark/navigate_destination, +/obj/structure/cable, +/obj/effect/mapping_helpers/airlock/access/all/security/entrance, +/obj/machinery/scanner_gate/preset_guns, +/turf/open/floor/iron/dark, +/area/station/security/brig) "rCH" = ( /obj/structure/rack/wooden, /obj/item/clothing/under/color/yellow{ @@ -92859,6 +92817,13 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/station/science/ordnance) +"rKx" = ( +/obj/effect/decal/cleanable/dirt{ + icon_state = "dirt-flat-1" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/maintenance/starboard/fore) "rKC" = ( /obj/structure/table/reinforced, /obj/effect/decal/cleanable/dirt{ @@ -93084,13 +93049,6 @@ dir = 4 }, /area/station/medical/medbay/lobby) -"rNe" = ( -/obj/machinery/door/airlock/maintenance, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/aft/upper) "rNl" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/public/glass{ @@ -93934,6 +93892,15 @@ }, /turf/open/floor/carpet, /area/station/service/library/printer) +"rWK" = ( +/obj/effect/mapping_helpers/burnt_floor, +/obj/structure/cable, +/obj/machinery/airalarm/directional/north, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/maintenance/port/fore) "rWM" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -94966,14 +94933,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"sgz" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/maintenance/port/fore) "sgD" = ( /obj/effect/turf_decal/siding/thinplating_new{ dir = 1 @@ -95332,6 +95291,9 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron/dark, /area/station/security/execution/transfer) +"skm" = ( +/turf/open/floor/iron/dark, +/area/station/maintenance/starboard/fore) "skx" = ( /obj/effect/turf_decal/bot, /obj/effect/turf_decal/stripes{ @@ -95865,13 +95827,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/security/prison/shower) -"sqn" = ( -/obj/effect/turf_decal/stripes/box, -/obj/effect/turf_decal/stripes/red/box, -/obj/structure/sign/poster/official/carwo_grenade/directional/north, -/obj/vehicle/sealed/mecha/gygax, -/turf/open/floor/iron/recharge_floor, -/area/station/ai_monitored/security/armory) "sqo" = ( /obj/structure/cable, /obj/machinery/power/emitter{ @@ -98904,6 +98859,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/commons/fitness/recreation) +"sTD" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/maintenance/starboard/fore) "sTF" = ( /obj/effect/turf_decal/siding/wood{ dir = 4 @@ -100886,6 +100847,16 @@ /obj/item/storage/briefcase, /turf/open/floor/carpet, /area/station/medical/psychology) +"tlH" = ( +/obj/effect/decal/cleanable/dirt{ + icon_state = "dirt-flat-1" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/maintenance/port/fore) "tlJ" = ( /obj/machinery/door/airlock/maintenance_hatch, /obj/effect/mapping_helpers/airlock/access/all/service/bar, @@ -101764,6 +101735,16 @@ /obj/machinery/power/shuttle_engine/heater, /turf/open/floor/plating, /area/station/maintenance/department/science/lower) +"tvo" = ( +/obj/effect/decal/cleanable/dirt{ + icon_state = "dirt-flat-1" + }, +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/maintenance/port/fore) "tvp" = ( /obj/structure/chair/wood{ dir = 8 @@ -105005,6 +104986,9 @@ /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/floor/iron, /area/station/engineering/storage) +"ubV" = ( +/turf/open/floor/wood/parquet, +/area/station/command/heads_quarters/cmo) "uci" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -105685,6 +105669,16 @@ /obj/structure/cable, /turf/open/floor/iron/solarpanel/airless, /area/station/solars/starboard/fore) +"uil" = ( +/obj/effect/decal/cleanable/dirt{ + icon_state = "dirt-flat-1" + }, +/obj/effect/mapping_helpers/broken_floor, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/maintenance/port/fore) "uim" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 1 @@ -107730,14 +107724,6 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/plating, /area/station/maintenance/solars/starboard/aft) -"uBS" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/stripes, -/turf/open/floor/iron/dark, -/area/station/maintenance/aft/upper) "uBT" = ( /obj/machinery/atmospherics/pipe/smart/manifold/cyan/visible{ dir = 4 @@ -107753,9 +107739,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/aft/upper) -"uCg" = ( -/turf/open/floor/iron/dark, -/area/station/maintenance/port/fore) "uCj" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -107765,14 +107748,6 @@ }, /turf/open/floor/iron, /area/station/construction/mining/aux_base) -"uCl" = ( -/obj/effect/mapping_helpers/broken_floor, -/obj/structure/cable, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/maintenance/port/fore) "uCp" = ( /obj/effect/turf_decal/stripes/box, /obj/effect/turf_decal/stripes/red/box, @@ -109582,6 +109557,14 @@ /obj/machinery/power/apc/auto_name/directional/east, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"uUY" = ( +/obj/machinery/door/airlock/engineering{ + name = "Service Power Station" + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "uUZ" = ( /turf/closed/wall, /area/station/security/detectives_office/private_investigators_office) @@ -109946,13 +109929,6 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/external, /turf/open/floor/plating, /area/station/maintenance/port/upper) -"uYI" = ( -/obj/structure/cable, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/maintenance/port/fore) "uYL" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -110533,6 +110509,16 @@ /obj/effect/mapping_helpers/airlock/access/any/engineering/construction, /turf/open/floor/engine, /area/station/ai_monitored/turret_protected/aisat_interior) +"vfU" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/obj/machinery/smartfridge/drying/rack, +/turf/open/floor/wood, +/area/station/service/chapel) "vfY" = ( /obj/structure/table, /obj/machinery/chem_dispenser/drinks{ @@ -110584,6 +110570,13 @@ /obj/effect/turf_decal/tile/dark_blue/fourcorners, /turf/open/floor/iron/dark, /area/station/common/laser_tag) +"vgv" = ( +/obj/structure/cable, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/maintenance/port/fore) "vgx" = ( /turf/open/floor/wood, /area/station/service/theater) @@ -112608,6 +112601,10 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/main) +"vyB" = ( +/obj/machinery/smartfridge/drying, +/turf/open/floor/iron/cafeteria, +/area/station/service/kitchen) "vyF" = ( /obj/structure/bed/medical/anchored{ dir = 1 @@ -112857,21 +112854,6 @@ /obj/item/coffee_cartridge, /turf/open/floor/iron, /area/station/science/breakroom) -"vzQ" = ( -/obj/effect/decal/cleanable/oil, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/obj/machinery/camera/directional/south{ - c_tag = "Medical - Power Station"; - name = "engineering camera"; - network = list("ss13","ce") - }, -/obj/machinery/computer/mech_bay_power_console{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/command/heads_quarters/cmo) "vzT" = ( /obj/structure/mirror{ pixel_y = 32 @@ -113485,12 +113467,6 @@ }, /turf/open/floor/iron, /area/station/science/explab) -"vGZ" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/maintenance/port/fore) "vHe" = ( /obj/structure/table, /obj/item/reagent_containers/cup/glass/drinkingglass{ @@ -115252,6 +115228,17 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white/textured, /area/station/medical/aslyum) +"vYZ" = ( +/obj/effect/decal/cleanable/dirt{ + icon_state = "dirt-flat-1" + }, +/obj/effect/decal/cleanable/dirt{ + icon_state = "dirt-flat-1" + }, +/obj/structure/rack, +/obj/machinery/light/small/directional/west, +/turf/open/floor/iron/dark, +/area/station/maintenance/port/fore) "vZa" = ( /obj/structure/window/reinforced/spawner/directional/south, /obj/structure/flora/bush/lavendergrass, @@ -117977,6 +117964,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/grimy, /area/station/ai_monitored/turret_protected/aisat_interior) +"wxL" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/maintenance/port/fore) "wxW" = ( /obj/structure/table/reinforced, /obj/effect/turf_decal/bot, @@ -118420,6 +118413,14 @@ }, /turf/open/floor/wood, /area/station/service/electronic_marketing_den) +"wBG" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt{ + icon_state = "dirt-flat-1" + }, +/turf/open/floor/iron/dark, +/area/station/maintenance/aft/upper) "wBI" = ( /obj/structure/chair/pew/right{ dir = 8 @@ -119179,11 +119180,6 @@ }, /turf/open/floor/carpet/royalblack, /area/station/command/heads_quarters/qm) -"wJa" = ( -/obj/structure/cable, -/obj/machinery/light/small/directional/north, -/turf/open/floor/iron/dark, -/area/station/maintenance/starboard/fore) "wJd" = ( /obj/structure/closet/firecloset, /obj/effect/turf_decal/bot, @@ -119697,6 +119693,12 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/security/execution/transfer) +"wOP" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/dark, +/area/station/maintenance/aft/upper) "wOR" = ( /obj/structure/cable, /obj/machinery/door/airlock/maintenance_hatch{ @@ -122411,6 +122413,14 @@ }, /turf/open/floor/iron/white, /area/station/science/research) +"xqn" = ( +/obj/machinery/door/airlock/engineering{ + name = "Service Power Station" + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "xqo" = ( /turf/closed/wall/r_wall, /area/station/maintenance/solars/starboard/fore) @@ -123133,16 +123143,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"xxn" = ( -/obj/effect/decal/cleanable/dirt{ - icon_state = "dirt-flat-1" - }, -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/maintenance/port/fore) "xxp" = ( /turf/closed/wall/rust, /area/station/maintenance/library/lower) @@ -125107,6 +125107,11 @@ }, /turf/open/floor/iron, /area/station/command/gateway) +"xSI" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/maintenance/starboard/fore) "xSK" = ( /turf/open/floor/iron/white/side{ dir = 4 @@ -126937,11 +126942,6 @@ /obj/effect/turf_decal/trimline/green/filled/corner, /turf/open/floor/iron/white, /area/station/medical/virology) -"yiE" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/dark, -/area/station/maintenance/port/fore) "yiI" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -148915,11 +148915,11 @@ mjE mjE tNz rKn -ltX -uCg -oRy -jhT -kAe +vYZ +pBA +dtZ +nkH +pHK laf hHH rKn @@ -149171,11 +149171,11 @@ sAN euE gKk tNz -dfX -uCl -uYI -uYI -hqR +rWK +lpj +vgv +vgv +onI rKn ttc tPT @@ -149428,11 +149428,11 @@ sAN euE euE tNz -jVT -igP -oRy -igP -jQD +pOT +hYl +dtZ +hYl +tlH rKn kbf tPT @@ -149685,11 +149685,11 @@ mQE iHC pYt tNz -bmN -nct -aeP -sgz -qwg +nIN +uil +fFK +agX +but rKn kbf rKn @@ -149942,12 +149942,12 @@ sAN euE iHC tNz -oRy -igP -xxn -yiE -vGZ -cnf +dtZ +hYl +tvo +crj +wxL +ieh dfG sMM kKC @@ -151057,7 +151057,7 @@ vHZ hyA hyF rlC -gbm +vfU hyA hyA hyA @@ -157415,7 +157415,7 @@ msQ hlp vxA sqV -lXP +rCE sjH tOv weu @@ -157929,7 +157929,7 @@ qhq rsX lze jPv -nxd +hhx tUK ush cbm @@ -159717,7 +159717,7 @@ oFP iXV gkm kAc -ruS +jeg iem faI vgD @@ -159973,7 +159973,7 @@ hBq rCT twQ gkm -sqn +mzE rNT krl jwR @@ -162334,7 +162334,7 @@ vsd kcP tWO gWE -aba +vyB vpa mNS qkB @@ -163329,7 +163329,7 @@ rlG fBz fBz fBz -ltC +xqn dVy dVy mrV @@ -163586,10 +163586,10 @@ nhb ukA nMV fBz -iwe -ogh -ixJ -nsz +xSI +rKx +jiI +ltS fqP dVy sfS @@ -163843,11 +163843,11 @@ kas bvl qNF fBz -wJa -oNH -oUt +qjz +fSf +hhG tVI -bSB +nmD mrV ygn fwA @@ -164101,10 +164101,10 @@ qwc ltK fBz fqP -oUt -oUt -bxx -oUt +hhG +hhG +sTD +hhG mrV xhw xhw @@ -164357,12 +164357,12 @@ vCl yez rbJ fBz -jId -erj -cHP +gNt +skm +pEs iGb -aVm -kub +bOP +uUY iGb dVy nSu @@ -216096,9 +216096,9 @@ fLw pzS tfJ lbA -emg -uBS -gOx +psy +jJD +nZO lbA qho aDV @@ -216352,10 +216352,10 @@ gGa bpT pzS tfJ -rNe -lQt -kHP -gOx +jZf +wOP +oAR +nZO tcq qho jLp @@ -216611,8 +216611,8 @@ pzS oVN tcq tcq -jgq -gOx +dnR +nZO tcq qFl aDV @@ -216868,8 +216868,8 @@ rfn qbG tpk tcq -ekG -pWy +nRt +bia tcq sXD pFq @@ -217125,8 +217125,8 @@ pzS pzS wnO tcq -gOx -nPY +nZO +mGn tcq dFP pFq @@ -217382,8 +217382,8 @@ dXM pzS uqF tcq -dvv -mqY +ppb +wBG lbA tpk ujy @@ -217640,7 +217640,7 @@ pzS cDm tcq tcq -iBd +oMI tcq lbA pFq @@ -222957,7 +222957,7 @@ duP gRC wZW gwW -aIg +qlB xai wEl vre @@ -234575,7 +234575,7 @@ rEb iTg dLv xCt -fqV +ubV pkB bcQ nsH @@ -234832,7 +234832,7 @@ bcQ bcQ bcQ bcQ -mSG +dIa bcQ bcQ kPf @@ -235086,12 +235086,12 @@ rEb bcc rEb bcQ -jub -lge -lYi -iGu -pdD -dKH +kOb +mMX +fAg +hLT +jKT +aHK vTD wDa psl @@ -235343,11 +235343,11 @@ lOi dxn tkQ bcQ -hFX -hFX -hFX -cFK -nrV +liI +liI +liI +aCD +bLx bcQ kPf fOk @@ -235600,11 +235600,11 @@ bcQ bcQ bcQ bcQ -piy -nEh -ouh -gnt -vzQ +hNd +cha +eIw +gKi +oFh bcQ klc wYQ @@ -235859,9 +235859,9 @@ wUw bcQ bcQ bcQ -nNl +iSp bcQ -dKH +aHK bcQ asK ajh @@ -236115,7 +236115,7 @@ crn oOX tkG nfF -hOT +iPn vTD uBi pYb diff --git a/_maps/map_files/VoidRaptor/VoidRaptor.dmm b/_maps/map_files/VoidRaptor/VoidRaptor.dmm index 2cd26e4adcf..59c408cbba6 100644 --- a/_maps/map_files/VoidRaptor/VoidRaptor.dmm +++ b/_maps/map_files/VoidRaptor/VoidRaptor.dmm @@ -293,7 +293,7 @@ }, /area/station/medical/medbay/central) "aei" = ( -/turf/closed/wall, +/turf/closed/wall/r_wall, /area/station/maintenance/eva_shed/starboard) "aez" = ( /obj/structure/chair/stool/directional/west, @@ -46222,13 +46222,11 @@ /obj/machinery/door/airlock/hatch{ name = "Port EVA Shed" }, -/obj/effect/mapping_helpers/airlock/access/all/command/general, /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/mapping_helpers/airlock/unres{ dir = 4 }, -/obj/effect/mapping_helpers/airlock/access/any/engineering/general, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/maintenance/eva_shed/port) "mXO" = ( @@ -74511,13 +74509,11 @@ /obj/machinery/door/airlock/hatch{ name = "Starboard EVA Shed" }, -/obj/effect/mapping_helpers/airlock/access/all/command/general, /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/mapping_helpers/airlock/unres{ dir = 8 }, -/obj/effect/mapping_helpers/airlock/access/any/engineering/general, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/maintenance/eva_shed/starboard) "uHB" = ( @@ -83060,6 +83056,9 @@ }, /turf/open/floor/iron/smooth_large, /area/station/cargo/storage) +"xbS" = ( +/turf/closed/wall/r_wall, +/area/station/maintenance/port/upper) "xcf" = ( /obj/structure/flora/grass/jungle, /obj/structure/flora/bush/grassy, @@ -84528,8 +84527,8 @@ /turf/open/floor/iron/smooth, /area/station/engineering/atmos) "xxv" = ( -/turf/closed/wall, -/area/station/maintenance/eva_shed/port) +/turf/closed/wall/r_wall, +/area/station/maintenance/starboard/upper) "xxJ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -86413,6 +86412,7 @@ pixel_x = 6; pixel_y = -6 }, +/obj/item/storage/box/firingpins, /turf/open/floor/engine, /area/station/ai_monitored/security/armory) "ybE" = ( @@ -118528,10 +118528,10 @@ iLQ iLQ odJ odJ -jqn -jqn +xbS +xbS mXy -jqn +xbS iqF iqF iqF @@ -119042,7 +119042,7 @@ ttw ttw ttw ttw -xxv +aoM pcM cIK ska @@ -119299,10 +119299,10 @@ ttw ttw ttw ttw -xxv +aoM wcM -xxv -xxv +aoM +aoM qVs qVs qVs @@ -119556,7 +119556,7 @@ ttw ttw ttw ttw -xxv +aoM ska aoM lwq @@ -122639,11 +122639,11 @@ ttw ttw ttw ttw -usB -usB -usB +xxv +xxv +xxv uHz -usB +xxv iqF iqF iqF diff --git a/code/__DEFINES/achievements.dm b/code/__DEFINES/achievements.dm index 0253df0b57a..4f1cf4b746a 100644 --- a/code/__DEFINES/achievements.dm +++ b/code/__DEFINES/achievements.dm @@ -57,6 +57,7 @@ #define MEDAL_DEBT_EXTINGUISHED "Debt Extinguished" #define MEDAL_SISYPHUS "Sisyphus" #define MEDAL_ARCHMAGE "Archmage" +#define MEDAL_CIGARETTES "Cigarettes" #define MEDAL_THEORETICAL_LIMITS "All Within Theoretical Limits" //Skill medal hub IDs diff --git a/code/controllers/subsystem/polling.dm b/code/controllers/subsystem/polling.dm index 4f316ce63be..f9891183fee 100644 --- a/code/controllers/subsystem/polling.dm +++ b/code/controllers/subsystem/polling.dm @@ -175,6 +175,10 @@ SUBSYSTEM_DEF(polling) UNTIL(new_poll.finished) if(!(amount_to_pick > 0)) return new_poll.signed_up + if(length(new_poll.signed_up) < amount_to_pick) + return new_poll.signed_up + if(length(new_poll.signed_up) < amount_to_pick) + return new_poll.signed_up //BUBBERSTATION CHANGE START: ANTAG TICKETS INTEGRATION var/list/candidate_tickets = candidates_to_tickets(new_poll.signed_up) diff --git a/code/datums/achievements/misc_achievements.dm b/code/datums/achievements/misc_achievements.dm index 1d7b9da3a01..bd1719783e1 100644 --- a/code/datums/achievements/misc_achievements.dm +++ b/code/datums/achievements/misc_achievements.dm @@ -232,3 +232,9 @@ desc = "Successfully carry a boulder from Lavaland all the way to Centcom, without ever dropping it. We must imagine you're happy to unlock this." database_id = MEDAL_SISYPHUS icon_state = "sisyphus" + +/datum/award/achievement/misc/cigarettes + name = "Unhealthy snacks" + desc = "You were curious to taste it. And then another. You must have more!" + database_id = MEDAL_CIGARETTES + icon_state = "cigarettes" diff --git a/code/datums/bodypart_overlays/simple_bodypart_overlay.dm b/code/datums/bodypart_overlays/simple_bodypart_overlay.dm index 6c9eb4240ec..20467eede04 100644 --- a/code/datums/bodypart_overlays/simple_bodypart_overlay.dm +++ b/code/datums/bodypart_overlays/simple_bodypart_overlay.dm @@ -25,11 +25,6 @@ icon_state = "sixpack" layers = EXTERNAL_ADJACENT -///A creampie drawn on the head -/datum/bodypart_overlay/simple/creampie - icon_state = "creampie_human" - layers = EXTERNAL_FRONT - ///bags drawn beneath the eyes /datum/bodypart_overlay/simple/bags icon_state = "bags" diff --git a/code/datums/components/creamed.dm b/code/datums/components/face_decal.dm similarity index 51% rename from code/datums/components/creamed.dm rename to code/datums/components/face_decal.dm index d1ff1b792e1..674f17fe86c 100644 --- a/code/datums/components/creamed.dm +++ b/code/datums/components/face_decal.dm @@ -1,37 +1,37 @@ -GLOBAL_LIST_INIT(creamable, typecacheof(list( - /mob/living/carbon/human, - /mob/living/basic/pet/dog/corgi, - /mob/living/silicon/ai))) /** - * Creamed component + * Face decal component * - * For when you have pie on your face + * For when you have some dirt on your face */ -/datum/component/creamed - dupe_mode = COMPONENT_DUPE_UNIQUE_PASSARGS - /// Creampie overlay we use for non-carbon mobs + +/datum/component/face_decal + dupe_mode = COMPONENT_DUPE_HIGHLANDER + /// Overlay we use for non-carbon mobs var/mutable_appearance/normal_overlay - /// Creampie bodypart overlay we use for carbon mobs - var/datum/bodypart_overlay/simple/creampie/bodypart_overlay - /// Cached head for carbons, to ensure proper removal of the creampie overlay + /// Bodypart overlay we use for carbon mobs + var/datum/bodypart_overlay/simple/bodypart_overlay + /// Cached head for carbons, to ensure proper removal of our overlay var/obj/item/bodypart/my_head + /// Base icon state we use for the effect + var/icon_state + /// Layers for the bodypart_overlay to draw on + var/layers + /// Color that the overlay is modified by + var/color -/datum/component/creamed/Initialize() - if(!is_type_in_typecache(parent, GLOB.creamable)) - return COMPONENT_INCOMPATIBLE +/datum/component/face_decal/Initialize(icon_state, layers, color) + src.icon_state = icon_state + src.layers = layers + src.color = color - SEND_SIGNAL(parent, COMSIG_MOB_CREAMED, src) - - add_memory_in_range(parent, 7, /datum/memory/witnessed_creampie, protagonist = parent) - -/datum/component/creamed/Destroy(force) +/datum/component/face_decal/Destroy(force) . = ..() normal_overlay = null my_head = null QDEL_NULL(bodypart_overlay) -/datum/component/creamed/RegisterWithParent() +/datum/component/face_decal/RegisterWithParent() if(iscarbon(parent)) var/mob/living/carbon/human/carbon_parent = parent my_head = carbon_parent.get_bodypart(BODY_ZONE_HEAD) @@ -39,32 +39,38 @@ GLOBAL_LIST_INIT(creamable, typecacheof(list( qdel(src) return bodypart_overlay = new() + bodypart_overlay.layers = layers if(carbon_parent.bodyshape & BODYSHAPE_SNOUTED) //stupid, but external organ bodytypes are not stored on the limb - bodypart_overlay.icon_state = "creampie_lizard" + bodypart_overlay.icon_state = "[icon_state]_lizard" else if(my_head.bodyshape & BODYSHAPE_MONKEY) - bodypart_overlay.icon_state = "creampie_monkey" + bodypart_overlay.icon_state = "[icon_state]_monkey" else - bodypart_overlay.icon_state = "creampie_human" + bodypart_overlay.icon_state = "[icon_state]_human" + if (!isnull(color)) + bodypart_overlay.draw_color = color my_head.add_bodypart_overlay(bodypart_overlay) RegisterSignals(my_head, list(COMSIG_BODYPART_REMOVED, COMSIG_QDELETING), PROC_REF(lost_head)) - carbon_parent.add_mood_event("creampie", /datum/mood_event/creampie) carbon_parent.update_body_parts() - else if(iscorgi(parent)) - normal_overlay = mutable_appearance('icons/mob/effects/creampie.dmi', "creampie_corgi") - else if(isAI(parent)) - normal_overlay = mutable_appearance('icons/mob/effects/creampie.dmi', "creampie_ai") + else + normal_overlay = get_normal_overlay() RegisterSignals(parent, list( COMSIG_COMPONENT_CLEAN_ACT, COMSIG_COMPONENT_CLEAN_FACE_ACT), PROC_REF(clean_up) ) - if(normal_overlay) + + if (!isnull(normal_overlay)) + if (!isnull(color)) + normal_overlay.color = color var/atom/atom_parent = parent RegisterSignal(atom_parent, COMSIG_ATOM_UPDATE_OVERLAYS, PROC_REF(update_overlays)) atom_parent.update_appearance() -/datum/component/creamed/UnregisterFromParent() +/datum/component/face_decal/proc/get_normal_overlay() + return + +/datum/component/face_decal/UnregisterFromParent() UnregisterSignal(parent, list( COMSIG_COMPONENT_CLEAN_ACT, COMSIG_COMPONENT_CLEAN_FACE_ACT)) @@ -78,7 +84,6 @@ GLOBAL_LIST_INIT(creamable, typecacheof(list( my_head = null if(iscarbon(parent)) var/mob/living/carbon/carbon_parent = parent - carbon_parent.clear_mood_event("creampie") carbon_parent.update_body_parts() if(normal_overlay) var/atom/atom_parent = parent @@ -86,8 +91,8 @@ GLOBAL_LIST_INIT(creamable, typecacheof(list( atom_parent.update_appearance() normal_overlay = null -///Callback to remove pieface -/datum/component/creamed/proc/clean_up(datum/source, clean_types) +///Callback to remove our decal +/datum/component/face_decal/proc/clean_up(datum/source, clean_types) SIGNAL_HANDLER if(!(clean_types & CLEAN_TYPE_BLOOD)) @@ -97,14 +102,47 @@ GLOBAL_LIST_INIT(creamable, typecacheof(list( return COMPONENT_CLEANED /// Ensures normal_overlay overlay in case the mob is not a carbon -/datum/component/creamed/proc/update_overlays(atom/parent_atom, list/overlays) +/datum/component/face_decal/proc/update_overlays(atom/parent_atom, list/overlays) SIGNAL_HANDLER if(normal_overlay) overlays += normal_overlay -/// Removes creampie when the head gets dismembered -/datum/component/creamed/proc/lost_head(obj/item/bodypart/source, mob/living/carbon/owner, dismembered) +/// Removes the decal when the head gets dismembered +/datum/component/face_decal/proc/lost_head(obj/item/bodypart/source, mob/living/carbon/owner, dismembered) SIGNAL_HANDLER - qdel(src) + +/// Creampie subtype, handling signals and mood logic + +GLOBAL_LIST_INIT(creamable, typecacheof(list( + /mob/living/carbon/human, + /mob/living/basic/pet/dog/corgi, + /mob/living/silicon/ai))) + +/datum/component/face_decal/creampie/Initialize() + . = ..() + if(!is_type_in_typecache(parent, GLOB.creamable)) + return COMPONENT_INCOMPATIBLE + + SEND_SIGNAL(parent, COMSIG_MOB_CREAMED, src) + add_memory_in_range(parent, 7, /datum/memory/witnessed_creampie, protagonist = parent) + +/datum/component/face_decal/creampie/get_normal_overlay() + if(iscorgi(parent)) + return mutable_appearance('icons/mob/effects/creampie.dmi', "[icon_state]_corgi") + + if(isAI(parent)) + return mutable_appearance('icons/mob/effects/creampie.dmi', "[icon_state]_ai") + +/datum/component/face_decal/creampie/RegisterWithParent() + . = ..() + if(iscarbon(parent)) + var/mob/living/carbon/human/carbon_parent = parent + carbon_parent.add_mood_event("creampie", /datum/mood_event/creampie) + +/datum/component/face_decal/creampie/UnregisterFromParent() + . = ..() + if(iscarbon(parent)) + var/mob/living/carbon/carbon_parent = parent + carbon_parent.clear_mood_event("creampie") diff --git a/code/datums/components/food/edible.dm b/code/datums/components/food/edible.dm index e6df7c4f023..89d0e03b72f 100644 --- a/code/datums/components/food/edible.dm +++ b/code/datums/components/food/edible.dm @@ -40,6 +40,8 @@ Behavior that's still missing from this component that original food items had t var/volume = 50 ///The flavortext for taste (haha get it flavor text) var/list/tastes + ///Whether to tell the examiner that this is edible or not. + var/show_examine = TRUE /datum/component/edible/Initialize( list/initial_reagents, @@ -55,6 +57,7 @@ Behavior that's still missing from this component that original food items had t datum/callback/on_consume, datum/callback/check_liked, reagent_purity = 0.5, + show_examine = TRUE, ) if(!isatom(parent)) return COMPONENT_INCOMPATIBLE @@ -70,12 +73,13 @@ Behavior that's still missing from this component that original food items had t src.on_consume = on_consume src.tastes = string_assoc_list(tastes) src.check_liked = check_liked + src.show_examine = show_examine setup_initial_reagents(initial_reagents, reagent_purity) /datum/component/edible/RegisterWithParent() RegisterSignal(parent, COMSIG_ATOM_EXAMINE, PROC_REF(examine)) - RegisterSignals(parent, COMSIG_ATOM_ATTACK_ANIMAL, PROC_REF(UseByAnimal)) + RegisterSignal(parent, COMSIG_ATOM_ATTACK_ANIMAL, PROC_REF(UseByAnimal)) RegisterSignal(parent, COMSIG_ATOM_CHECKPARTS, PROC_REF(OnCraft)) RegisterSignal(parent, COMSIG_ATOM_CREATEDBY_PROCESSING, PROC_REF(OnProcessed)) RegisterSignal(parent, COMSIG_FOOD_INGREDIENT_ADDED, PROC_REF(edible_ingredient_added)) @@ -212,7 +216,8 @@ Behavior that's still missing from this component that original food items had t SIGNAL_HANDLER var/atom/owner = parent - + if(!show_examine) + return if(foodtypes) var/list/types = bitfield_to_list(foodtypes, FOOD_FLAGS) examine_list += span_notice("It is [LOWER_TEXT(english_list(types))].") diff --git a/code/datums/emotes.dm b/code/datums/emotes.dm index b10574c56e8..29b567e6f3c 100644 --- a/code/datums/emotes.dm +++ b/code/datums/emotes.dm @@ -105,7 +105,7 @@ //SKYRAT EDIT CHANGE BEGIN //playsound(source = user,soundin = tmp_sound,vol = 50, vary = vary, ignore_walls = sound_wall_ignore) - SKYRAT EDIT - ORIGINAL if(istype(src, /datum/emote/living/lewd)) - play_lewd_sound(user, tmp_sound, sound_volume, vary, pref_to_check = /datum/preference/toggle/erp/sounds) + conditional_pref_sound(user, tmp_sound, sound_volume, vary, pref_to_check = /datum/preference/toggle/erp/sounds) else playsound(source = user, soundin = tmp_sound, vol = sound_volume, vary = vary, ignore_walls = sound_wall_ignore) //SKYRAT EDIT CHANGE END diff --git a/code/game/objects/items/cigs_lighters.dm b/code/game/objects/items/cigs_lighters.dm index 524ebad18c3..69764c17b0d 100644 --- a/code/game/objects/items/cigs_lighters.dm +++ b/code/game/objects/items/cigs_lighters.dm @@ -132,9 +132,10 @@ CIGARETTE PACKETS ARE IN FANCY.DM ////////////////// //FINE SMOKABLES// ////////////////// + /obj/item/cigarette name = "cigarette" - desc = "A roll of tobacco and nicotine." + desc = "A roll of tobacco and nicotine. It is not food." icon = 'icons/obj/cigarettes.dmi' icon_state = "cigoff" inhand_icon_state = "cigon" //gets overriden during intialize(), just have it for unit test sanity. @@ -183,6 +184,8 @@ CIGARETTE PACKETS ARE IN FANCY.DM VAR_PRIVATE/obj/effect/abstract/particle_holder/mob_smoke /// How long the current mob has been smoking this cigarette VAR_FINAL/how_long_have_we_been_smokin = 0 SECONDS + /// Which people ate cigarettes and how many + var/static/list/cigarette_eaters = list() var/pollution_type = /datum/pollutant/smoke //SKYRAT EDIT ADDITION /// What type of pollution does this produce on smoking, changed to weed pollution sometimes @@ -199,12 +202,37 @@ CIGARETTE PACKETS ARE IN FANCY.DM icon_state = icon_off inhand_icon_state = inhand_icon_off + // "It is called a cigarette" + AddComponent(/datum/component/edible,\ + initial_reagents = list_reagents,\ + food_flags = null,\ + foodtypes = JUNKFOOD,\ + volume = 50,\ + eat_time = 0 SECONDS,\ + tastes = list("a never before experienced flavour.", "finally sitting down after standing your entire life"),\ + eatverbs = list("taste"),\ + bite_consumption = 50,\ + junkiness = 0,\ + reagent_purity = null,\ + on_consume = CALLBACK(src, PROC_REF(on_consume)),\ + show_examine = FALSE, \ + ) + /obj/item/cigarette/Destroy() STOP_PROCESSING(SSobj, src) QDEL_NULL(mob_smoke) QDEL_NULL(cig_smoke) return ..() +/obj/item/cigarette/proc/on_consume(mob/living/eater, mob/living/feeder) + if(isnull(eater.client)) + return + var/ckey = eater.client.ckey + // We must have more! + cigarette_eaters[ckey]++ + if(cigarette_eaters[ckey] >= 500) + eater.client.give_award(/datum/award/achievement/misc/cigarettes) + /obj/item/cigarette/equipped(mob/equipee, slot) . = ..() if(!(slot & ITEM_SLOT_MASK)) diff --git a/code/game/objects/items/crayons.dm b/code/game/objects/items/crayons.dm index 332f00f1499..23f2dad1e4e 100644 --- a/code/game/objects/items/crayons.dm +++ b/code/game/objects/items/crayons.dm @@ -827,7 +827,6 @@ return (isfloorturf(surface) || iswallturf(surface)) /obj/item/toy/crayon/spraycan/suicide_act(mob/living/user) - var/mob/living/carbon/human/H = user var/used = min(charges_left, 10) if(is_capped || !actually_paints || !use_charges(user, 10, FALSE)) user.visible_message(span_suicide("[user] shakes up [src] with a rattle and lifts it to [user.p_their()] mouth, but nothing happens!")) @@ -842,7 +841,7 @@ set_painting_tool_color(COLOR_SILVER) update_appearance() if(actually_paints) - H.update_lips("spray_face", paint_color) + user.AddComponent(/datum/component/face_decal, "spray", EXTERNAL_ADJACENT, paint_color) reagents.trans_to(user, used, volume_multiplier, transferred_by = user, methods = VAPOR) return OXYLOSS @@ -897,7 +896,7 @@ flash_color(carbon_target, flash_color=paint_color, flash_time=40) if(ishuman(carbon_target) && actually_paints) var/mob/living/carbon/human/human_target = carbon_target - human_target.update_lips("spray_face", paint_color) + human_target.AddComponent(/datum/component/face_decal, "spray", EXTERNAL_ADJACENT, paint_color) use_charges(user, 10, FALSE) var/fraction = min(1, . / reagents.maximum_volume) reagents.expose(carbon_target, VAPOR, fraction * volume_multiplier) diff --git a/code/game/objects/items/food/pie.dm b/code/game/objects/items/food/pie.dm index b232be29ba8..0cb5af860e8 100644 --- a/code/game/objects/items/food/pie.dm +++ b/code/game/objects/items/food/pie.dm @@ -98,7 +98,7 @@ living_target_getting_hit.visible_message(span_warning("[living_target_getting_hit] is creamed by [src]!"), span_userdanger("You've been creamed by [src]!")) playsound(living_target_getting_hit, SFX_DESECRATION, 50, TRUE) if(is_creamable && is_type_in_typecache(hit_atom, GLOB.creamable)) - hit_atom.AddComponent(/datum/component/creamed, src) + hit_atom.AddComponent(/datum/component/face_decal/creampie, "creampie", EXTERNAL_FRONT) qdel(src) /obj/item/food/pie/cream/nostun diff --git a/code/game/objects/items/maintenance_loot.dm b/code/game/objects/items/maintenance_loot.dm index 51a27250996..74d908732a5 100644 --- a/code/game/objects/items/maintenance_loot.dm +++ b/code/game/objects/items/maintenance_loot.dm @@ -20,6 +20,9 @@ wound_bonus = 20 demolition_mod = 1.25 grind_results = list(/datum/reagent/lead = 20) + pickup_sound = 'sound/items/lead_pipe_pickup.ogg' + drop_sound = 'sound/items/lead_pipe_drop.ogg' + hitsound = 'sound/items/lead_pipe_hit.ogg' //A good battery early in the shift. Source of lead & sulfuric acid reagents. //Add lead material to this once implemented. diff --git a/code/game/objects/items/stacks/sheets/leather.dm b/code/game/objects/items/stacks/sheets/leather.dm index a58eece0631..9dff36dca2d 100644 --- a/code/game/objects/items/stacks/sheets/leather.dm +++ b/code/game/objects/items/stacks/sheets/leather.dm @@ -348,6 +348,8 @@ GLOBAL_LIST_INIT(sinew_recipes, list ( \ icon_state = "sheet-hairlesshide" inhand_icon_state = null merge_type = /obj/item/stack/sheet/hairlesshide + pickup_sound = 'sound/items/skin_pick_up.ogg' + drop_sound = 'sound/items/skin_drop.ogg' /obj/item/stack/sheet/hairlesshide/examine(mob/user) . = ..() @@ -361,6 +363,8 @@ GLOBAL_LIST_INIT(sinew_recipes, list ( \ icon_state = "sheet-wetleather" inhand_icon_state = null merge_type = /obj/item/stack/sheet/wethide + pickup_sound = 'sound/items/skin_pick_up.ogg' + drop_sound = 'sound/items/skin_drop.ogg' /// Reduced when exposed to high temperatures var/wetness = 30 /// Kelvin to start drying diff --git a/code/game/objects/items/syndie_spraycan.dm b/code/game/objects/items/syndie_spraycan.dm index 1b7e0d9c402..fb6192c6e39 100644 --- a/code/game/objects/items/syndie_spraycan.dm +++ b/code/game/objects/items/syndie_spraycan.dm @@ -143,7 +143,7 @@ user.visible_message(span_suicide("[user] shakes up [src] with a rattle and lifts it to [user.p_their()] mouth, spraying paint across [user.p_their()] teeth!")) user.say("WITNESS ME!!", forced="spraycan suicide") playsound(src, 'sound/effects/spray.ogg', 5, TRUE, 5) - suicider.update_lips("spray_face", paint_color) + suicider.AddComponent(/datum/component/face_decal, "spray", EXTERNAL_ADJACENT, paint_color) return OXYLOSS /obj/effect/decal/cleanable/traitor_rune diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security.dm b/code/game/objects/structures/crates_lockers/closets/secure/security.dm index 51b9f7c7feb..4474f1d2fec 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm @@ -108,13 +108,11 @@ /obj/structure/closet/secure_closet/security/PopulateContents() ..() new /obj/item/clothing/suit/armor/vest/alt/sec(src) - new /obj/item/storage/toolbox/guncase/skyrat/rom_flech(src) //SKYRAT EDIT ADDITION new /obj/item/clothing/head/helmet/sec(src) new /obj/item/radio/headset/headset_sec(src) new /obj/item/radio/headset/headset_sec/alt(src) new /obj/item/clothing/glasses/hud/security/sunglasses(src) new /obj/item/flashlight/seclite(src) - new /obj/item/choice_beacon/security_pistol(src) //SKYRAT EDIT ADDITION new /obj/item/clothing/gloves/tackler/security(src) // SKYRAT EDIT CHANGE - Gives Them The Blue Ones - ORIGINAL: new /obj/item/clothing/gloves/tackler(src) /obj/structure/closet/secure_closet/security/sec diff --git a/code/game/turfs/closed/minerals.dm b/code/game/turfs/closed/minerals.dm index 8b29df20ed4..11125a9de0c 100644 --- a/code/game/turfs/closed/minerals.dm +++ b/code/game/turfs/closed/minerals.dm @@ -782,7 +782,10 @@ /turf/closed/mineral/gibtonite/attackby(obj/item/attacking_item, mob/living/user, params) var/previous_stage = stage - if(istype(attacking_item, /obj/item/mining_scanner) || istype(attacking_item, /obj/item/t_scanner/adv_mining_scanner) && stage == GIBTONITE_ACTIVE) + if(istype(attacking_item, /obj/item/goliath_infuser_hammer) && stage == GIBTONITE_ACTIVE) + user.visible_message(span_notice("[user] digs [attacking_item] to [src]..."), span_notice("Your tendril hammer instictively digs and wraps around [src] to stop it...")) + defuse(user) + else if(istype(attacking_item, /obj/item/mining_scanner) || istype(attacking_item, /obj/item/t_scanner/adv_mining_scanner) && stage == GIBTONITE_ACTIVE) user.visible_message(span_notice("[user] holds [attacking_item] to [src]..."), span_notice("You use [attacking_item] to locate where to cut off the chain reaction and attempt to stop it...")) defuse(user) ..() diff --git a/code/modules/antagonists/heretic/knowledge/side_rust_cosmos.dm b/code/modules/antagonists/heretic/knowledge/side_rust_cosmos.dm index b4605750eb7..0a4f7fbe86a 100644 --- a/code/modules/antagonists/heretic/knowledge/side_rust_cosmos.dm +++ b/code/modules/antagonists/heretic/knowledge/side_rust_cosmos.dm @@ -86,7 +86,7 @@ /datum/heretic_knowledge/summon/rusty name = "Rusted Ritual" - desc = "Allows you to transmute a pool of vomit, some cable coil, and 5 sheets of titanium into a Rust Walker. \ + desc = "Allows you to transmute a pool of vomit, some cable coil, and 10 sheets of iron into a Rust Walker. \ Rust Walkers excel at spreading rust and are moderately strong in combat." gain_text = "I combined my knowledge of creation with my desire for corruption. The Marshal knew my name, and the Rusted Hills echoed out." next_knowledge = list( @@ -95,7 +95,7 @@ ) required_atoms = list( /obj/effect/decal/cleanable/vomit = 1, - /obj/item/stack/sheet/mineral/titanium = 5, + /obj/item/stack/sheet/iron = 10, /obj/item/stack/cable_coil = 15, ) mob_to_summon = /mob/living/basic/heretic_summon/rust_walker diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm index 76c230ca504..75e31d13183 100644 --- a/code/modules/clothing/head/helmet.dm +++ b/code/modules/clothing/head/helmet.dm @@ -101,6 +101,7 @@ name = "tactical combat helmet" desc = "A tactical black helmet, sealed from outside hazards with a plate of glass and not much else." icon_state = "marine_command" + base_icon_state = "marine_command" inhand_icon_state = "marine_helmet" armor_type = /datum/armor/helmet_marine min_cold_protection_temperature = SPACE_HELM_MIN_TEMP_PROTECT @@ -126,14 +127,17 @@ /obj/item/clothing/head/helmet/marine/security name = "marine heavy helmet" icon_state = "marine_security" + base_icon_state = "marine_security" /obj/item/clothing/head/helmet/marine/engineer name = "marine utility helmet" icon_state = "marine_engineer" + base_icon_state = "marine_engineer" /obj/item/clothing/head/helmet/marine/medic name = "marine medic helmet" icon_state = "marine_medic" + base_icon_state = "marine_medic" /obj/item/clothing/head/helmet/marine/pmc icon_state = "marine" diff --git a/code/modules/fishing/aquarium/aquarium_kit.dm b/code/modules/fishing/aquarium/aquarium_kit.dm index 14d33ea776a..fcb3d90f9f9 100644 --- a/code/modules/fishing/aquarium/aquarium_kit.dm +++ b/code/modules/fishing/aquarium/aquarium_kit.dm @@ -116,6 +116,7 @@ icon = 'icons/obj/aquarium/supplies.dmi' w_class = WEIGHT_CLASS_TINY + custom_materials = list(/datum/material/plastic = COIN_MATERIAL_AMOUNT) var/layer_mode = AQUARIUM_LAYER_MODE_BOTTOM var/beauty = 150 @@ -124,26 +125,30 @@ AddComponent(/datum/component/aquarium_content, icon, beauty = beauty) /obj/item/aquarium_prop/rocks - name = "rocks" + name = "decorative rocks" + desc = "A bunch of tiny plastic rocks for decorating an aquarium. Surely you could have just used real pebbles?" icon_state = "rocks" -/obj/item/aquarium_prop/seaweed_top - name = "dense seaweeds" - icon_state = "seaweeds_front" - layer_mode = AQUARIUM_LAYER_MODE_TOP - /obj/item/aquarium_prop/seaweed - name = "seaweeds" + name = "fake seaweed" + desc = "Little plastic sheets with weighted bottoms, designed to look like underwater foliage. They can be used to spruce up an aquarium." icon_state = "seaweeds_back" layer_mode = AQUARIUM_LAYER_MODE_BOTTOM +/obj/item/aquarium_prop/seaweed/top + desc = "A bunch of artificial plants for an aquarium." + icon_state = "seaweeds_front" + layer_mode = AQUARIUM_LAYER_MODE_TOP + /obj/item/aquarium_prop/sand name = "aquarium sand" + desc = "A plastic board for lining the bottom of an aquarium. It's got a bumpy patterned surface vaguely reminiscent of yellow sand." icon_state = "sand" layer_mode = AQUARIUM_LAYER_MODE_BEHIND_GLASS /obj/item/aquarium_prop/treasure name = "tiny treasure chest" + desc = "A very small plastic treaure chest, with nothing inside. You could put this in an aquarium, and it'll look like very small pirates hid treasure in there. Wouldn't that be nice?" icon_state = "treasure" layer_mode = AQUARIUM_LAYER_MODE_BOTTOM diff --git a/code/modules/jobs/job_types/security_officer.dm b/code/modules/jobs/job_types/security_officer.dm index 6e4630e7b87..f2ad374b5d1 100644 --- a/code/modules/jobs/job_types/security_officer.dm +++ b/code/modules/jobs/job_types/security_officer.dm @@ -223,6 +223,7 @@ GLOBAL_LIST_EMPTY(security_officer_distribution) suit_store = /obj/item/gun/energy/disabler backpack_contents = list( /obj/item/evidencebag = 1, + /obj/item/choice_beacon/security_pistol = 1, //SKYRAT ADDITION /obj/item/flashlight/seclite = 1, // BUBBER EDIT ADDITION ) belt = /obj/item/modular_computer/pda/security diff --git a/code/modules/mapfluff/ruins/spaceruin_code/hilbertshotel.dm b/code/modules/mapfluff/ruins/spaceruin_code/hilbertshotel.dm index 6c45d4de6e5..950bf8feae3 100644 --- a/code/modules/mapfluff/ruins/spaceruin_code/hilbertshotel.dm +++ b/code/modules/mapfluff/ruins/spaceruin_code/hilbertshotel.dm @@ -8,12 +8,18 @@ GLOBAL_VAR_INIT(hhMysteryRoomNumber, rand(1, 999999)) icon_state = "hilbertshotel" w_class = WEIGHT_CLASS_SMALL resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF - //SKYRAT EDIT ADDITION - GHOST HOTEL UPDATE - var/list/static/hotel_maps = list("Generic", "Apartment") + //SKYRAT EDIT ADDITION - GHOST HOTEL UPDATE + EXTRA STUFF + var/list/static/hotel_maps = list("Generic", "Apartment", "Beach Condo", "Station Side", "Library") //standart - hilber's hotel room //apartment - see /datum/map_template/ghost_cafe_rooms - var/datum/map_template/ghost_cafe_rooms/ghost_cafe_rooms_apartment - //SKYRAT EDIT END + //beach condo - Beach themed apartment + //stationside - a station-themed hotel room + var/datum/map_template/ghost_cafe_rooms/apartment/ghost_cafe_rooms_apartment + var/datum/map_template/ghost_cafe_rooms/beach_condo/ghost_cafe_rooms_beach_condo + var/datum/map_template/ghost_cafe_rooms/stationside/ghost_cafe_rooms_stationside + var/datum/map_template/ghost_cafe_rooms/library/ghost_cafe_rooms_library + //Skyrat EDIT END + var/datum/map_template/hilbertshotel/hotelRoomTemp var/datum/map_template/hilbertshotel/empty/hotelRoomTempEmpty var/datum/map_template/hilbertshotel/lore/hotelRoomTempLore @@ -34,7 +40,11 @@ GLOBAL_VAR_INIT(hhMysteryRoomNumber, rand(1, 999999)) hotelRoomTempLore = new() //SKYRAT EDIT ADDITION - GHOST HOTEL UPDATE ghost_cafe_rooms_apartment = new() + ghost_cafe_rooms_beach_condo = new() + ghost_cafe_rooms_stationside = new() + ghost_cafe_rooms_library = new() //SKYRAT EDIT END + var/area/currentArea = get_area(src) if(currentArea.type == /area/ruin/space/has_grav/powered/hilbertresearchfacility/secretroom) ruinSpawned = TRUE @@ -176,9 +186,22 @@ GLOBAL_VAR_INIT(hhMysteryRoomNumber, rand(1, 999999)) if(ruinSpawned && roomNumber == GLOB.hhMysteryRoomNumber) load_from = hotelRoomTempLore //SKYRAT EDIT ADDITION START - GHOST HOTEL UPDATE + //else if(chosen_room == "Apartment") + // load_from = ghost_cafe_rooms_apartment + //SKYRAT EDIT ADDITION END + + //BUBBER EDIT ADDITION START - GHOST HOTEL UPDATE else if(chosen_room == "Apartment") load_from = ghost_cafe_rooms_apartment - //SKYRAT EDIT ADDITION END + + else if(chosen_room == "Beach Condo") + load_from = ghost_cafe_rooms_beach_condo + + else if(chosen_room == "Station Side") + load_from = ghost_cafe_rooms_stationside + else if(chosen_room == "Library") + load_from = ghost_cafe_rooms_library + //BUBBER EDIT ADDITION END load_from.load(bottom_left) activeRooms["[roomNumber]"] = roomReservation @@ -377,7 +400,7 @@ GLOBAL_VAR_INIT(hhMysteryRoomNumber, rand(1, 999999)) to_chat(user, span_warning("Drats! Your vision is too poor to use this!")) return CLICK_ACTION_BLOCKING - to_chat(user, span_notice("You peak through the door's bluespace peephole...")) + to_chat(user, span_notice("You peek through the door's bluespace peephole...")) user.reset_perspective(parentSphere) var/datum/action/peephole_cancel/PHC = new user.overlay_fullscreen("remote_view", /atom/movable/screen/fullscreen/impaired, 1) diff --git a/code/modules/mob/living/basic/blob_minions/blob_ai.dm b/code/modules/mob/living/basic/blob_minions/blob_ai.dm index 5aad05d4656..5fc90f3dd67 100644 --- a/code/modules/mob/living/basic/blob_minions/blob_ai.dm +++ b/code/modules/mob/living/basic/blob_minions/blob_ai.dm @@ -46,7 +46,7 @@ ai_movement = /datum/ai_movement/jps idle_behavior = /datum/idle_behavior/idle_random_walk planning_subtrees = list( - /datum/ai_planning_subtree/find_and_hunt_target/corpses, + /datum/ai_planning_subtree/find_and_hunt_target/corpses/human, /datum/ai_planning_subtree/travel_to_point/and_clear_target, /datum/ai_planning_subtree/simple_find_target, /datum/ai_planning_subtree/attack_obstacle_in_path, diff --git a/code/modules/mob/living/basic/slime/ai/behaviours.dm b/code/modules/mob/living/basic/slime/ai/behaviours.dm index 8ab867ea336..35fe1a60c91 100644 --- a/code/modules/mob/living/basic/slime/ai/behaviours.dm +++ b/code/modules/mob/living/basic/slime/ai/behaviours.dm @@ -30,14 +30,14 @@ /datum/ai_behavior/find_hunt_target/find_slime_food/valid_dinner(mob/living/basic/slime/hunter, mob/living/dinner, radius, datum/ai_controller/controller, seconds_per_tick) if(REF(dinner) in hunter.faction) //Don't eat our friends... - return + return FALSE var/static/list/slime_faction = list(FACTION_SLIME) if(faction_check(slime_faction, dinner.faction)) //Don't try to eat slimy things, no matter how hungry we are. Anyone else can be betrayed. - return + return FALSE if(!hunter.can_feed_on(dinner, check_adjacent = FALSE)) //Are they tasty to slimes? - return + return FALSE //If we are retaliating on someone edible, lets eat them instead if(dinner == controller.blackboard[BB_BASIC_MOB_CURRENT_TARGET]) @@ -73,6 +73,7 @@ /datum/ai_behavior/hunt_target/unarmed_attack_target/slime/finish_action(datum/ai_controller/controller, succeeded, hunting_target_key, hunting_cooldown_key) . = ..() - var/mob/living/living_pawn = controller.pawn - if(living_pawn.buckled) + var/mob/living/basic/slime/slime_pawn = controller.pawn + var/atom/target = controller.blackboard[hunting_target_key] + if(!slime_pawn.can_feed_on(target)) controller.clear_blackboard_key(hunting_target_key) diff --git a/code/modules/mob/living/basic/slime/ai/subtrees.dm b/code/modules/mob/living/basic/slime/ai/subtrees.dm index 66c01e6f6c3..056befece5d 100644 --- a/code/modules/mob/living/basic/slime/ai/subtrees.dm +++ b/code/modules/mob/living/basic/slime/ai/subtrees.dm @@ -31,11 +31,11 @@ /datum/ai_planning_subtree/find_and_hunt_target/find_slime_food/SelectBehaviors(datum/ai_controller/controller, seconds_per_tick) var/mob/living/living_pawn = controller.pawn if(living_pawn.buckled) - return FALSE + return //Slimes don't want to hunt if they are neither rabid, hungry or feeling attack right now if( (controller.blackboard[BB_SLIME_HUNGER_LEVEL] == SLIME_HUNGER_NONE) && !controller.blackboard[BB_SLIME_RABID] && isnull(controller.blackboard[BB_BASIC_MOB_CURRENT_TARGET])) - return FALSE + return return ..() diff --git a/code/modules/mob/living/basic/slime/slime.dm b/code/modules/mob/living/basic/slime/slime.dm index 352a8149ca6..6adf4e35f35 100644 --- a/code/modules/mob/living/basic/slime/slime.dm +++ b/code/modules/mob/living/basic/slime/slime.dm @@ -286,7 +286,7 @@ /mob/living/basic/slime/proc/on_slime_pre_attack(mob/living/basic/slime/our_slime, atom/target, proximity, modifiers) SIGNAL_HANDLER - if(LAZYACCESS(modifiers, RIGHT_CLICK) && isliving(target) && target != src && usr == src) + if(LAZYACCESS(modifiers, RIGHT_CLICK) && isliving(target) && target != src) if(our_slime.can_feed_on(target)) our_slime.start_feeding(target) return COMPONENT_HOSTILE_NO_ATTACK diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm index 4156d9678bc..6bf09bc5a49 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm @@ -432,7 +432,7 @@ Difficulty: Hard /mob/living/simple_animal/hostile/megafauna/hierophant/celebrate_kill(mob/living/L) visible_message(span_hierophant_warning("\"[pick(kill_phrases)]\"")) - visible_message(span_hierophant_warning("[src] obliterates [L]!"),span_userdanger("You absorb [L]'s life force, restoring your health!")) + visible_message(span_hierophant_warning("[src] absorbs [L]'s life force!"),span_userdanger("You absorb [L]'s life force, restoring your health!")) /mob/living/simple_animal/hostile/megafauna/hierophant/CanAttack(atom/the_target) . = ..() diff --git a/code/modules/surgery/bodyparts/dismemberment.dm b/code/modules/surgery/bodyparts/dismemberment.dm index 930c545ff52..b118e28f266 100644 --- a/code/modules/surgery/bodyparts/dismemberment.dm +++ b/code/modules/surgery/bodyparts/dismemberment.dm @@ -239,8 +239,6 @@ for(var/obj/item/head_item as anything in list(owner.glasses, owner.ears, owner.wear_mask, owner.head)) owner.dropItemToGround(head_item, force = TRUE) - qdel(owner.GetComponent(/datum/component/creamed)) //clean creampie overlay flushed emoji - //Handle dental implants for(var/datum/action/item_action/activate_pill/pill_action in owner.actions) pill_action.Remove(owner) diff --git a/html/changelogs/AutoChangeLog-pr-29549.yml b/html/changelogs/AutoChangeLog-pr-29549.yml new file mode 100644 index 00000000000..959c31921c7 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-29549.yml @@ -0,0 +1,4 @@ +author: "LT3" +delete-after: True +changes: + - spellcheck: "Sneak a peek of Hilbert's Hotel, not a sneak peak" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-29562.yml b/html/changelogs/AutoChangeLog-pr-29562.yml new file mode 100644 index 00000000000..ac3ea02e51f --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-29562.yml @@ -0,0 +1,4 @@ +author: "aKromatopzia" +delete-after: True +changes: + - image: "more teshari clothing sprites" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-29573.yml b/html/changelogs/AutoChangeLog-pr-29573.yml new file mode 100644 index 00000000000..b6d6e9bbdac --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-29573.yml @@ -0,0 +1,4 @@ +author: "SkyratBot" +delete-after: True +changes: + - bugfix: "fixes blob spore and slime AI endlessly attacking the dead" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-29575.yml b/html/changelogs/AutoChangeLog-pr-29575.yml new file mode 100644 index 00000000000..ef3fcd4dea9 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-29575.yml @@ -0,0 +1,5 @@ +author: "projectkepler-ru" +delete-after: True +changes: + - bugfix: "Helmet pepperspray not working because of an NRI sabotage on the supplyline, the IDMA Force has now succesfully repelled the attack and has shifted focus toward trying to identify the suspect involved in this attack" + - bugfix: "weird suppresor overlay shenanigan" \ No newline at end of file diff --git a/html/changelogs/archive/2024-08.yml b/html/changelogs/archive/2024-08.yml index 587e1d5641c..73c25d98d58 100644 --- a/html/changelogs/archive/2024-08.yml +++ b/html/changelogs/archive/2024-08.yml @@ -749,3 +749,54 @@ - bugfix: bein able to buy the MCR, please stop - rscdel: obliterated powerstation from the blueshift. it should no longer be present now +2024-08-24: + projectkepler-ru: + - bugfix: erronously the c10 speedloader was normal sized + - rscadd: you can now buy sidearm crate again + - code_imp: Frangible slug is re-coded to work abit differently +2024-08-25: + EspeciallyStrange: + - bugfix: m45a5 guncase not spawning with an ammo pouch, I neglected this + - bugfix: the various guncase not being the pistol sized one + - rscadd: renoster shotgun purchasable + - balance: flechette ammo slightly easier to re-print + Kepteyn: + - rscadd: adds three new dorm rooms to hilbert's hotel options. + LT3: + - qol: Blacksmith anvil noises can be toggled with ambience sound preference + SkyratBot: + - spellcheck: Hierophant no longer lies about obliterating someone + - qol: goliath arm can defuse gibonite by bumping or direct click + - bugfix: Marine helmets no longer change their sprite to security helmets when + their flashlight is toggled + - balance: Rusted Ritual now requries 10 sheets of Iron instead of Titanium. + - bugfix: Aquarium decorations now contain plastic. + - spellcheck: Added item descriptions for aquarium decorations. + plsleavemealon: + - qol: Lets ethereals have custom food preferences + projectkepler-ru: + - bugfix: frangible slug literally doing nothing to window and grille + - bugfix: frangible slug should now no longer 1 shot borg or mech + - balance: combat shotgun recoil removed, instead, they just get a delay + - balance: bolt action delay on the ceremonial rifle reduced from 2 second to 6 + ticks instead +2024-08-26: + LT3: + - bugfix: Flannel shirts actually cover your body when buttoned up + SkyratBot: + - rscadd: Achievement for eating 500 cigarettes + - balance: Cigarettes are now edible + - code_imp: Adds a variable to hide the food examine on the edible element + - bugfix: wet hides and hairless hides no longer make metal clanging noises when + picked up/dropped + - bugfix: SSPolling no longer fills in the candidate list with empty entries to + guarantee it returns a list size of amount_to_pick + grungussuss: + - sound: lead pipe has sound + projectkepler-ru: + - balance: the effect of frangible slug on non-airlock is now halved + - balance: NTC lose their gunbeacon, instead, they get a unique pistol intended + for incapacitating target and for self defense. + - balance: m45a5 has less painful wait period + - bugfix: gun not being in pistol case when they should be + - rscadd: 10mm AP, HP speedloader to the tech diff --git a/icons/mob/human/human_face.dmi b/icons/mob/human/human_face.dmi index 886094ec495..5b3b141c7ed 100644 Binary files a/icons/mob/human/human_face.dmi and b/icons/mob/human/human_face.dmi differ diff --git a/icons/mob/human/species/misc/bodypart_overlay_simple.dmi b/icons/mob/human/species/misc/bodypart_overlay_simple.dmi index 8df76eb6314..dbaaeec55cd 100644 Binary files a/icons/mob/human/species/misc/bodypart_overlay_simple.dmi and b/icons/mob/human/species/misc/bodypart_overlay_simple.dmi differ diff --git a/icons/ui/achievements/achievements.dmi b/icons/ui/achievements/achievements.dmi index 143d0dc0a03..740759467e0 100644 Binary files a/icons/ui/achievements/achievements.dmi and b/icons/ui/achievements/achievements.dmi differ diff --git a/modular_skyrat/master_files/code/modules/mob/living/human/species_types/ethereal.dm b/modular_skyrat/master_files/code/modules/mob/living/human/species_types/ethereal.dm index 54d247f27a2..b6a9cf09a1f 100644 --- a/modular_skyrat/master_files/code/modules/mob/living/human/species_types/ethereal.dm +++ b/modular_skyrat/master_files/code/modules/mob/living/human/species_types/ethereal.dm @@ -1,2 +1,2 @@ /datum/species/ethereal/allows_food_preferences() - return FALSE + return TRUE diff --git a/modular_skyrat/master_files/icons/mob/clothing/species/teshari/back.dmi b/modular_skyrat/master_files/icons/mob/clothing/species/teshari/back.dmi index 1d9ece5f38e..3c049a590f7 100644 Binary files a/modular_skyrat/master_files/icons/mob/clothing/species/teshari/back.dmi and b/modular_skyrat/master_files/icons/mob/clothing/species/teshari/back.dmi differ diff --git a/modular_skyrat/master_files/icons/mob/clothing/species/teshari/mask.dmi b/modular_skyrat/master_files/icons/mob/clothing/species/teshari/mask.dmi index b84fb3ae962..f67ee50f1a1 100644 Binary files a/modular_skyrat/master_files/icons/mob/clothing/species/teshari/mask.dmi and b/modular_skyrat/master_files/icons/mob/clothing/species/teshari/mask.dmi differ diff --git a/modular_skyrat/master_files/icons/mob/clothing/species/teshari/neck.dmi b/modular_skyrat/master_files/icons/mob/clothing/species/teshari/neck.dmi index 0c2043d2745..065e2550b8a 100644 Binary files a/modular_skyrat/master_files/icons/mob/clothing/species/teshari/neck.dmi and b/modular_skyrat/master_files/icons/mob/clothing/species/teshari/neck.dmi differ diff --git a/modular_skyrat/master_files/icons/mob/clothing/suit.dmi b/modular_skyrat/master_files/icons/mob/clothing/suit.dmi index a32c211a69c..3e683b4a39c 100644 Binary files a/modular_skyrat/master_files/icons/mob/clothing/suit.dmi and b/modular_skyrat/master_files/icons/mob/clothing/suit.dmi differ diff --git a/modular_skyrat/modules/GAGS/greyscale_configs.dm b/modular_skyrat/modules/GAGS/greyscale_configs.dm index 40c8014a711..95e6566552c 100644 --- a/modular_skyrat/modules/GAGS/greyscale_configs.dm +++ b/modular_skyrat/modules/GAGS/greyscale_configs.dm @@ -528,7 +528,7 @@ /datum/greyscale_config/scarf/worn/teshari name = "Scarf (Worn, Teshari)" icon_file = 'modular_skyrat/modules/GAGS/icons/neck/neck_teshari.dmi' - + /* * SUITS @@ -1407,15 +1407,15 @@ digi /datum/greyscale_config/teshari/thickrobe name = "Teshari Thick Robe" json_config = 'modular_skyrat/modules/GAGS/json_configs/teshari_fallbacks/thickrobe.json' - + /datum/greyscale_config/teshari/thickrobe/wiz name = "Teshari Wizard Robe" json_config = 'modular_skyrat/modules/GAGS/json_configs/teshari_fallbacks/wizrobe.json' - + /datum/greyscale_config/teshari/thickrobe/jacket name = "Teshari Jacket" json_config = 'modular_skyrat/modules/GAGS/json_configs/teshari_fallbacks/jacket.json' - + /datum/greyscale_config/teshari/thickrobe/longcoat name = "Teshari Longcoat" json_config = 'modular_skyrat/modules/GAGS/json_configs/teshari_fallbacks/longcoat.json' @@ -1436,6 +1436,10 @@ digi name = "Teshari Cloak" json_config = 'modular_skyrat/modules/GAGS/json_configs/teshari_fallbacks/cloak.json' +/datum/greyscale_config/teshari/mantle + name = "Teshari Mantle" + json_config = 'modular_skyrat/modules/GAGS/json_configs/teshari_fallbacks/mantle.json' + /datum/greyscale_config/teshari/tie name = "Teshari Tie" json_config = 'modular_skyrat/modules/GAGS/json_configs/teshari_fallbacks/tie.json' diff --git a/modular_skyrat/modules/GAGS/icons/teshari_fallbacks.dmi b/modular_skyrat/modules/GAGS/icons/teshari_fallbacks.dmi index c0659a16b66..313980049b6 100644 Binary files a/modular_skyrat/modules/GAGS/icons/teshari_fallbacks.dmi and b/modular_skyrat/modules/GAGS/icons/teshari_fallbacks.dmi differ diff --git a/modular_skyrat/modules/GAGS/json_configs/teshari_fallbacks/jacket.json b/modular_skyrat/modules/GAGS/json_configs/teshari_fallbacks/jacket.json index 07bef352832..8c41d51d6d0 100644 --- a/modular_skyrat/modules/GAGS/json_configs/teshari_fallbacks/jacket.json +++ b/modular_skyrat/modules/GAGS/json_configs/teshari_fallbacks/jacket.json @@ -2,7 +2,7 @@ "": [ { "type": "icon_state", - "icon_state": "thickrobe0i", + "icon_state": "thickrobe0ii", "blend_mode": "overlay", "color_ids": [ 1 ] }, @@ -20,7 +20,7 @@ }, { "type": "icon_state", - "icon_state": "thickrobe2ii", + "icon_state": "thickrobe-cuffs", "blend_mode": "overlay", "color_ids": [ 4 ] } diff --git a/modular_skyrat/modules/GAGS/json_configs/teshari_fallbacks/longcoat.json b/modular_skyrat/modules/GAGS/json_configs/teshari_fallbacks/longcoat.json index 357b1b3cc5f..eae37e5cb96 100644 --- a/modular_skyrat/modules/GAGS/json_configs/teshari_fallbacks/longcoat.json +++ b/modular_skyrat/modules/GAGS/json_configs/teshari_fallbacks/longcoat.json @@ -6,6 +6,12 @@ "blend_mode": "overlay", "color_ids": [ 1 ] }, + { + "type": "icon_state", + "icon_state": "thickrobe-skirtii", + "blend_mode": "overlay", + "color_ids": [ 1 ] + }, { "type": "icon_state", "icon_state": "thickrobe1ii", @@ -20,7 +26,7 @@ }, { "type": "icon_state", - "icon_state": "thickrobe2ii", + "icon_state": "thickrobe-cuffs", "blend_mode": "overlay", "color_ids": [ 4 ] } diff --git a/modular_skyrat/modules/GAGS/json_configs/teshari_fallbacks/mantle.json b/modular_skyrat/modules/GAGS/json_configs/teshari_fallbacks/mantle.json new file mode 100644 index 00000000000..688411d6413 --- /dev/null +++ b/modular_skyrat/modules/GAGS/json_configs/teshari_fallbacks/mantle.json @@ -0,0 +1,16 @@ +{ + "": [ + { + "type": "icon_state", + "icon_state": "mantle0", + "blend_mode": "overlay", + "color_ids": [ 1 ] + }, + { + "type": "icon_state", + "icon_state": "mantle1", + "blend_mode": "overlay", + "color_ids": [ 2 ] + } + ] +} diff --git a/modular_skyrat/modules/GAGS/json_configs/teshari_fallbacks/thickrobe.json b/modular_skyrat/modules/GAGS/json_configs/teshari_fallbacks/thickrobe.json index a68bc583569..2211389863f 100644 --- a/modular_skyrat/modules/GAGS/json_configs/teshari_fallbacks/thickrobe.json +++ b/modular_skyrat/modules/GAGS/json_configs/teshari_fallbacks/thickrobe.json @@ -6,6 +6,12 @@ "blend_mode": "overlay", "color_ids": [ 1 ] }, + { + "type": "icon_state", + "icon_state": "thickrobe-skirti", + "blend_mode": "overlay", + "color_ids": [ 1 ] + }, { "type": "icon_state", "icon_state": "thickrobe1i", @@ -20,7 +26,7 @@ }, { "type": "icon_state", - "icon_state": "thickrobe2ii", + "icon_state": "thickrobe-cuffs", "blend_mode": "overlay", "color_ids": [ 4 ] } diff --git a/modular_skyrat/modules/GAGS/json_configs/teshari_fallbacks/wizrobe.json b/modular_skyrat/modules/GAGS/json_configs/teshari_fallbacks/wizrobe.json index 96c9c4a2301..487a183b4f1 100644 --- a/modular_skyrat/modules/GAGS/json_configs/teshari_fallbacks/wizrobe.json +++ b/modular_skyrat/modules/GAGS/json_configs/teshari_fallbacks/wizrobe.json @@ -8,7 +8,7 @@ }, { "type": "icon_state", - "icon_state": "thickrobe0iii", + "icon_state": "thickrobe-skirti", "blend_mode": "overlay", "color_ids": [ 1 ] }, @@ -26,7 +26,7 @@ }, { "type": "icon_state", - "icon_state": "thickrobe2ii", + "icon_state": "thickrobe-cuffs", "blend_mode": "overlay", "color_ids": [ 4 ] }, diff --git a/modular_skyrat/modules/aesthetics/guns/code/guns.dm b/modular_skyrat/modules/aesthetics/guns/code/guns.dm index 13192973d5b..0d5d52a82b3 100644 --- a/modular_skyrat/modules/aesthetics/guns/code/guns.dm +++ b/modular_skyrat/modules/aesthetics/guns/code/guns.dm @@ -76,8 +76,8 @@ righthand_file = 'icons/mob/inhands/weapons/guns_righthand.dmi' /obj/item/gun/ballistic/shotgun/riot - name = "classic woodstock shotgun" - desc = "A sturdy shotgun with a longer magazine and a fixed tactical stock designed for non-lethal riot control." + name = "woodstock shotgun" + desc = "A sturdy shotgun with a longer magazine and a fixed tactical stock designed for non-lethal riot control. Often found in the hand of a lavaland hunter. Vaguely reminds you of hunting back in Sol does it not?" fire_delay = 6 //We slighly bump this up because thats a good idea sawn_desc = "Come with me if you want to live." @@ -91,16 +91,14 @@ inhand_icon_state = "shotgun_combat" inhand_x_dimension = 32 inhand_y_dimension = 32 - fire_delay = 5 + fire_delay = 7 w_class = WEIGHT_CLASS_BULKY - recoil = 2 /obj/item/gun/ballistic/shotgun/automatic/combat/compact name = "\improper Peacekeeper compact combat shotgun" desc = "A tactical variant of the peacekeeper combat shotgun used by NT Raiding Parties and Space Marines. It has a gyroscopic stabilizer on it, letting you fire one handed." fire_delay = 5 weapon_weight = WEAPON_LIGHT - recoil = 1 //so that its not spammed a lot /obj/item/gun/grenadelauncher icon = 'modular_skyrat/modules/aesthetics/guns/icons/guns.dmi' diff --git a/modular_skyrat/modules/blueshield/code/blueshield.dm b/modular_skyrat/modules/blueshield/code/blueshield.dm index b91c34827ff..b02a3af8594 100644 --- a/modular_skyrat/modules/blueshield/code/blueshield.dm +++ b/modular_skyrat/modules/blueshield/code/blueshield.dm @@ -34,11 +34,13 @@ mail_goodies = list( /obj/item/storage/fancy/cigarettes/cigars/havana = 10, - /obj/item/stack/spacecash/c500 = 3, + /obj/item/stack/spacecash/c500 = 30, /obj/item/disk/nuclear/fake/obvious = 2, /obj/item/clothing/head/collectable/captain = 4, - /obj/item/gun/energy/disabler/smoothbore = 1, + /obj/item/gun/energy/disabler/smoothbore = 5, /obj/item/restraints/legcuffs/bola/energy = 10, + /obj/item/ammo_box/magazine/caflechette/ripper = 20, + /obj/item/ammo_box/magazine/caflechette = 10, ) veteran_only = TRUE @@ -62,6 +64,7 @@ head = /obj/item/clothing/head/beret/blueshield box = /obj/item/storage/box/survival/security belt = /obj/item/modular_computer/pda/blueshield + suit_store = /obj/item/gun/energy/e_gun id_trim = /datum/id_trim/job/blueshield diff --git a/modular_skyrat/modules/blueshield/code/closet.dm b/modular_skyrat/modules/blueshield/code/closet.dm index 4d848ee6466..fe378128824 100644 --- a/modular_skyrat/modules/blueshield/code/closet.dm +++ b/modular_skyrat/modules/blueshield/code/closet.dm @@ -44,4 +44,4 @@ new /obj/item/mod/control/pre_equipped/blueshield(src) new /obj/item/storage/box/glasseskit(src) new /obj/item/storage/medkit/brute(src) - new /obj/item/storage/toolbox/guncase/skyrat/blueshield_cmg(src) + new /obj/item/storage/toolbox/guncase/skyrat/pistol/blueshield_cmg(src) diff --git a/modular_skyrat/modules/ghostcafe/code/hilbertshotel_ghost.dm b/modular_skyrat/modules/ghostcafe/code/hilbertshotel_ghost.dm index 089c61fc42a..b835cff027c 100644 --- a/modular_skyrat/modules/ghostcafe/code/hilbertshotel_ghost.dm +++ b/modular_skyrat/modules/ghostcafe/code/hilbertshotel_ghost.dm @@ -13,6 +13,18 @@ /obj/item/hilbertshotel/ghostdojo/attack_robot(mob/living/user) attack_hand(user) -/datum/map_template/ghost_cafe_rooms +/datum/map_template/ghost_cafe_rooms/apartment name = "Apartment" mappath = "modular_skyrat/modules/hotel_rooms/apartment.dmm" + +/datum/map_template/ghost_cafe_rooms/beach_condo + name = "Beach Condo" + mappath = "modular_skyrat/modules/hotel_rooms/beach_condo.dmm" + +/datum/map_template/ghost_cafe_rooms/stationside + name = "Station Side" + mappath = "modular_skyrat/modules/hotel_rooms/stationside.dmm" + +/datum/map_template/ghost_cafe_rooms/library + name = "Library" + mappath = "modular_skyrat/modules/hotel_rooms/library.dmm" diff --git a/modular_skyrat/modules/goofsec/code/sec_clothing_overrides.dm b/modular_skyrat/modules/goofsec/code/sec_clothing_overrides.dm index 026e5a5c51a..7aab64a8dec 100644 --- a/modular_skyrat/modules/goofsec/code/sec_clothing_overrides.dm +++ b/modular_skyrat/modules/goofsec/code/sec_clothing_overrides.dm @@ -218,10 +218,20 @@ icon_state = "helmetalt_blue" base_icon_state = "helmetalt_blue" supports_variations_flags = CLOTHING_SNOUTED_VARIATION_NO_NEW_ICON - actions_types = list(/datum/action/item_action/toggle) - supports_variations_flags = CLOTHING_SNOUTED_VARIATION_NO_NEW_ICON - flags_cover = HEADCOVERSEYES | PEPPERPROOF - visor_flags_cover = HEADCOVERSEYES | PEPPERPROOF + var/flipped_visor = FALSE + +/obj/item/clothing/head/helmet/alt/click_alt(mob/user) + flipped_visor = !flipped_visor + balloon_alert(user, "visor flipped") + // base_icon_state is modified for seclight attachment component + base_icon_state = "[initial(base_icon_state)][flipped_visor ? "-novisor" : ""]" + icon_state = base_icon_state + if (flipped_visor) + flags_cover &= ~HEADCOVERSEYES | PEPPERPROOF + else + flags_cover |= HEADCOVERSEYES | PEPPERPROOF + update_appearance() + return CLICK_ACTION_SUCCESS //Standard helmet /obj/item/clothing/head/helmet/sec @@ -230,7 +240,6 @@ icon_state = "security_helmet" base_icon_state = "security_helmet" clothing_flags = SNUG_FIT | STACKABLE_HELMET_EXEMPT - flags_cover = HEADCOVERSEYES|EARS_COVERED dog_fashion = null supports_variations_flags = CLOTHING_SNOUTED_VARIATION_NO_NEW_ICON @@ -238,7 +247,6 @@ /obj/item/clothing/head/helmet/sec/futuristic icon_state = "security_helmet_future" base_icon_state = "security_helmet_future" - flags_cover = HEADCOVERSEYES | PEPPERPROOF supports_variations_flags = CLOTHING_SNOUTED_VARIATION_NO_NEW_ICON /obj/item/clothing/head/helmet/sec/futuristic/blue diff --git a/modular_skyrat/modules/hotel_rooms/beach_condo.dmm b/modular_skyrat/modules/hotel_rooms/beach_condo.dmm new file mode 100644 index 00000000000..2db379122e0 --- /dev/null +++ b/modular_skyrat/modules/hotel_rooms/beach_condo.dmm @@ -0,0 +1,747 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"br" = ( +/turf/open/misc/beach/sand, +/area/misc/hilbertshotel) +"bI" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/turf/open/floor/wood/large, +/area/misc/hilbertshotel) +"bO" = ( +/obj/structure/chair{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/turf/open/floor/wood/parquet, +/area/misc/hilbertshotel) +"bW" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/item/knife/kitchen, +/turf/open/floor/iron/kitchen, +/area/misc/hilbertshotel) +"cj" = ( +/obj/effect/light_emitter/interlink, +/obj/item/toy/plush/carpplushie, +/turf/open/water/beach, +/area/misc/hilbertshotel) +"ct" = ( +/turf/closed/wall/mineral/wood, +/area/misc/hilbertshotel) +"cC" = ( +/obj/structure/dresser, +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/turf/open/floor/wood/large, +/area/misc/hilbertshotel) +"cW" = ( +/turf/open/misc/beach/coast{ + dir = 4 + }, +/area/misc/hilbertshotel) +"dI" = ( +/obj/effect/light_emitter/interlink, +/turf/open/misc/beach/coast{ + dir = 5 + }, +/area/misc/hilbertshotel) +"dS" = ( +/turf/open/floor/wood/large, +/area/misc/hilbertshotel) +"en" = ( +/obj/effect/light_emitter/interlink, +/turf/open/water/beach, +/area/misc/hilbertshotel) +"eH" = ( +/obj/effect/light_emitter/interlink, +/turf/open/misc/beach/coast{ + dir = 1 + }, +/area/misc/hilbertshotel) +"fy" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/light/warm/directional/west, +/turf/open/floor/wood/parquet, +/area/misc/hilbertshotel) +"fA" = ( +/turf/closed/wall/mineral/sandstone, +/area/misc/hilbertshotel) +"hj" = ( +/obj/machinery/door/morgue, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"hX" = ( +/obj/structure/fluff/beach_umbrella, +/obj/effect/light_emitter/interlink, +/turf/open/misc/beach/coast{ + dir = 1 + }, +/area/misc/hilbertshotel) +"ib" = ( +/turf/open/misc/beach/coast/corner{ + dir = 8 + }, +/area/misc/hilbertshotel) +"iQ" = ( +/obj/effect/light_emitter/interlink, +/turf/open/misc/beach/coast{ + dir = 9 + }, +/area/misc/hilbertshotel) +"jO" = ( +/obj/effect/turf_decal/siding{ + dir = 4 + }, +/obj/machinery/door/morgue, +/turf/open/indestructible/bathroom, +/area/misc/hilbertshotel) +"jU" = ( +/obj/machinery/door/airlock/wood, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"kh" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/wood/parquet, +/area/misc/hilbertshotel) +"kW" = ( +/obj/structure/closet/crate/bin, +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/obj/machinery/light_switch/directional/west, +/turf/open/floor/wood/parquet, +/area/misc/hilbertshotel) +"mH" = ( +/obj/machinery/jukebox{ + req_access = null + }, +/turf/open/misc/beach/sand, +/area/misc/hilbertshotel) +"na" = ( +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/carpet/lone, +/area/misc/hilbertshotel) +"nb" = ( +/obj/item/kirbyplants/random, +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"ny" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/turf/open/floor/wood/large, +/area/misc/hilbertshotel) +"oM" = ( +/obj/structure/bed/double/pod, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/spawner/random/bedsheet/double, +/turf/open/floor/wood/large, +/area/misc/hilbertshotel) +"oX" = ( +/obj/effect/turf_decal/siding/wood/corner, +/turf/open/floor/wood/parquet, +/area/misc/hilbertshotel) +"ph" = ( +/obj/effect/light_emitter/interlink, +/turf/open/misc/beach/sand, +/area/misc/hilbertshotel) +"qh" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/wood/parquet, +/area/misc/hilbertshotel) +"ra" = ( +/turf/closed/indestructible/rock, +/area/misc/hilbertshotel) +"rm" = ( +/turf/open/floor/iron/stairs/old{ + dir = 1 + }, +/area/misc/hilbertshotel) +"rV" = ( +/obj/structure/closet/cabinet, +/obj/effect/turf_decal/siding/wood/end{ + dir = 8 + }, +/turf/open/floor/wood/large, +/area/misc/hilbertshotel) +"tR" = ( +/obj/machinery/shower/directional/east, +/obj/structure/drain/big, +/obj/item/soap/deluxe, +/obj/structure/curtain, +/turf/open/indestructible/bathroom, +/area/misc/hilbertshotel) +"wa" = ( +/obj/structure/chair{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/wood/parquet, +/area/misc/hilbertshotel) +"wo" = ( +/obj/structure/closet/secure_closet/freezer/kitchen/all_access, +/obj/effect/spawner/random/food_or_drink/three_course_meal, +/obj/effect/spawner/random/food_or_drink/three_course_meal, +/obj/effect/spawner/random/food_or_drink/three_course_meal, +/obj/effect/spawner/random/food_or_drink/three_course_meal, +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/turf/open/floor/wood/parquet, +/area/misc/hilbertshotel) +"wL" = ( +/obj/item/kirbyplants/random, +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"yc" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/structure/sign/painting/large/library{ + dir = 1 + }, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"yH" = ( +/turf/closed/indestructible/hoteldoor{ + icon_state = "door_closed"; + icon = 'icons/obj/doors/puzzledoor/default.dmi' + }, +/area/misc/hilbertshotel) +"Bo" = ( +/obj/structure/table/reinforced, +/obj/machinery/microwave{ + pixel_x = -2; + pixel_y = 6 + }, +/turf/open/floor/iron/kitchen, +/area/misc/hilbertshotel) +"Bs" = ( +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"CM" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/structure/bed/dogbed, +/obj/item/toy/plush/shark, +/turf/open/floor/wood/large, +/area/misc/hilbertshotel) +"Dg" = ( +/obj/structure/toilet{ + dir = 4 + }, +/obj/structure/window/spawner/directional/north, +/turf/open/indestructible/bathroom, +/area/misc/hilbertshotel) +"EI" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/light/warm/directional/north, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"FJ" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/item/kirbyplants/random, +/turf/open/floor/wood/parquet, +/area/misc/hilbertshotel) +"FN" = ( +/obj/machinery/door/airlock/sandstone{ + name = "Beach Cabin" + }, +/obj/effect/turf_decal/sand, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"Gj" = ( +/obj/item/toy/beach_ball, +/obj/effect/light_emitter/interlink, +/turf/open/water/beach, +/area/misc/hilbertshotel) +"Gm" = ( +/obj/structure/chair/sofa/middle{ + dir = 1 + }, +/obj/effect/turf_decal/sand, +/turf/open/misc/beach/sand, +/area/misc/hilbertshotel) +"GB" = ( +/obj/structure/chair{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/turf/open/floor/wood/parquet, +/area/misc/hilbertshotel) +"GD" = ( +/obj/effect/turf_decal/siding/white{ + dir = 9 + }, +/obj/machinery/light/floor{ + alpha = 0; + invisibility = 100; + light_range = 10; + nightshift_light_power = 10 + }, +/turf/open/floor/iron/kitchen, +/area/misc/hilbertshotel) +"HH" = ( +/turf/open/floor/carpet/cyan, +/area/misc/hilbertshotel) +"HK" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/cup/rag, +/turf/open/floor/wood/parquet, +/area/misc/hilbertshotel) +"Ib" = ( +/turf/open/misc/beach/coast{ + dir = 1 + }, +/area/misc/hilbertshotel) +"Ig" = ( +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood/large, +/area/misc/hilbertshotel) +"IM" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/item/flashlight/lamp/green{ + pixel_x = 5; + pixel_y = 14 + }, +/obj/structure/table/wood, +/turf/open/floor/wood/large, +/area/misc/hilbertshotel) +"Jm" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/item/pizzabox/margherita{ + pixel_y = 11 + }, +/obj/item/storage/cans/sixbeer, +/turf/open/floor/wood/parquet, +/area/misc/hilbertshotel) +"KQ" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"Lg" = ( +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood/parquet, +/area/misc/hilbertshotel) +"Lp" = ( +/obj/effect/light_emitter/interlink, +/turf/open/misc/beach/coast/corner{ + dir = 8 + }, +/area/misc/hilbertshotel) +"Lv" = ( +/obj/structure/sink/directional/north, +/obj/structure/mirror/directional/south, +/turf/open/indestructible/bathroom, +/area/misc/hilbertshotel) +"LF" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/machinery/light_switch/directional/north, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"MB" = ( +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/turf/open/floor/iron/kitchen, +/area/misc/hilbertshotel) +"ML" = ( +/obj/effect/turf_decal/siding/wood/end{ + dir = 4 + }, +/obj/machinery/light/floor, +/obj/machinery/light_switch/directional/south, +/turf/open/floor/wood/large, +/area/misc/hilbertshotel) +"MP" = ( +/obj/structure/chair{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/turf/open/floor/wood/parquet, +/area/misc/hilbertshotel) +"Pe" = ( +/obj/structure/chair/sofa/left{ + dir = 1 + }, +/obj/effect/turf_decal/sand, +/turf/open/misc/beach/sand, +/area/misc/hilbertshotel) +"PJ" = ( +/turf/open/misc/beach/coast/corner{ + dir = 4 + }, +/area/misc/hilbertshotel) +"Qg" = ( +/obj/structure/chair/sofa/right{ + dir = 1 + }, +/obj/effect/turf_decal/sand, +/turf/open/misc/beach/sand, +/area/misc/hilbertshotel) +"Qz" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/turf/open/floor/wood/parquet, +/area/misc/hilbertshotel) +"QG" = ( +/obj/structure/curtain/cloth/fancy, +/turf/closed/indestructible/fakeglass, +/area/misc/hilbertshotel) +"Rr" = ( +/obj/machinery/light/floor{ + alpha = 0; + invisibility = 100; + light_range = 10; + nightshift_light_power = 10 + }, +/turf/open/indestructible/bathroom, +/area/misc/hilbertshotel) +"RL" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/structure/chair/comfy/teal{ + dir = 8 + }, +/obj/machinery/light_switch/directional/east, +/turf/open/floor/wood/large, +/area/misc/hilbertshotel) +"SS" = ( +/obj/effect/light_emitter/interlink, +/turf/open/misc/beach/coast/corner{ + dir = 4 + }, +/area/misc/hilbertshotel) +"Yg" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/obj/structure/closet/cabinet, +/obj/item/hairbrush{ + pixel_x = 2; + pixel_y = 3 + }, +/obj/item/serviette_pack, +/turf/open/floor/wood/large, +/area/misc/hilbertshotel) +"ZE" = ( +/obj/effect/turf_decal/siding/wood, +/obj/machinery/light/warm/dim/directional/south, +/turf/open/floor/wood/large, +/area/misc/hilbertshotel) + +(1,1,1) = {" +ra +ra +ra +ra +ra +ra +ra +ra +ra +ra +ra +ra +ra +ra +ra +"} +(2,1,1) = {" +ra +en +en +en +en +dI +Lp +br +fA +fA +fA +fA +fA +fA +ra +"} +(3,1,1) = {" +ra +en +cj +en +en +iQ +SS +br +fA +rV +ct +tR +Dg +fA +ra +"} +(4,1,1) = {" +ra +en +en +en +en +eH +br +rm +FN +ML +ct +Rr +Lv +fA +ra +"} +(5,1,1) = {" +ra +en +en +en +iQ +SS +br +fA +fA +hj +ct +jO +ct +fA +ra +"} +(6,1,1) = {" +ra +en +en +en +eH +br +fA +fA +cC +bI +ct +yc +nb +fA +ra +"} +(7,1,1) = {" +ra +en +en +iQ +PJ +br +QG +CM +ny +ZE +ct +EI +na +yH +ra +"} +(8,1,1) = {" +ra +en +en +hX +HH +HH +QG +oM +dS +Ig +jU +KQ +Bs +fA +ra +"} +(9,1,1) = {" +ra +en +en +dI +cW +ib +QG +IM +RL +Yg +ct +LF +wL +fA +ra +"} +(10,1,1) = {" +ra +en +en +en +en +Ib +fA +fA +ct +ct +ct +hj +ct +fA +ra +"} +(11,1,1) = {" +ra +en +en +en +en +Ib +Pe +QG +bO +wa +fy +qh +kW +fA +ra +"} +(12,1,1) = {" +ra +en +en +en +en +eH +Gm +QG +Jm +HK +oX +kh +Qz +fA +ra +"} +(13,1,1) = {" +ra +en +Gj +en +en +eH +Qg +QG +MP +GB +Lg +GD +MB +fA +ra +"} +(14,1,1) = {" +ra +en +en +en +iQ +SS +mH +fA +fA +FJ +wo +bW +Bo +fA +ra +"} +(15,1,1) = {" +ra +en +en +iQ +SS +ph +ph +br +fA +fA +fA +fA +fA +fA +ra +"} +(16,1,1) = {" +ra +ra +ra +ra +ra +ra +ra +ra +ra +ra +ra +ra +ra +ra +ra +"} diff --git a/modular_skyrat/modules/hotel_rooms/library.dmm b/modular_skyrat/modules/hotel_rooms/library.dmm new file mode 100644 index 00000000000..993acf961b5 --- /dev/null +++ b/modular_skyrat/modules/hotel_rooms/library.dmm @@ -0,0 +1,1020 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"ar" = ( +/obj/structure/table/wood/fancy, +/obj/structure/sign/painting/library{ + pixel_x = -32 + }, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"aC" = ( +/obj/effect/turf_decal/siding/wood/end{ + dir = 4 + }, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"aS" = ( +/obj/structure/bookcase/random/nonfiction, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"bw" = ( +/obj/structure/sign/painting/large/library{ + pixel_y = -37 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood, +/obj/item/kirbyplants/random, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"bz" = ( +/obj/structure/chair/office{ + dir = 8 + }, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"cy" = ( +/obj/structure/easel, +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/obj/item/canvas/twentythree_twentythree, +/obj/item/canvas/twentythree_twentythree, +/obj/item/canvas/twentythree_nineteen, +/obj/item/canvas/fortyfive_twentyseven{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/canvas/nineteen_nineteen, +/obj/structure/sign/painting/library{ + pixel_x = 32 + }, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"cz" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/item/storage/dice{ + pixel_x = 8; + pixel_y = 6 + }, +/obj/item/storage/dice{ + pixel_x = -5; + pixel_y = 6 + }, +/turf/open/floor/carpet/black, +/area/misc/hilbertshotel) +"cD" = ( +/obj/machinery/door/airlock/wood/glass, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"dw" = ( +/obj/structure/table/wood, +/obj/item/stack/sheet/mineral/sandstone/thirty, +/obj/item/stack/sheet/mineral/gold, +/obj/item/stack/sheet/mineral/gold, +/obj/item/stack/sheet/mineral/silver, +/obj/item/stack/sheet/mineral/silver, +/obj/item/stack/sheet/mineral/gold, +/obj/item/stack/sheet/mineral/silver, +/obj/item/stack/sheet/mineral/diamond/five, +/turf/open/floor/iron/sepia, +/area/misc/hilbertshotel) +"dS" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/light/warm/directional/west, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"dT" = ( +/obj/effect/turf_decal/siding/wood/end{ + dir = 8 + }, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"eO" = ( +/turf/open/floor/carpet/red, +/area/misc/hilbertshotel) +"fa" = ( +/turf/closed/indestructible/wood, +/area/misc/hilbertshotel) +"fi" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/effect/turf_decal/siding/wood/corner, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"gQ" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"ho" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/carpet/black, +/area/misc/hilbertshotel) +"ik" = ( +/obj/structure/table/wood, +/obj/machinery/computer/libraryconsole/bookmanagement, +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/iron/grimy, +/area/misc/hilbertshotel) +"iL" = ( +/obj/structure/easel, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/item/canvas/twentythree_twentythree, +/obj/item/canvas/twentythree_twentythree, +/obj/item/canvas/twentythree_nineteen, +/obj/item/canvas/fortyfive_twentyseven{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/canvas/nineteen_nineteen, +/obj/machinery/light/dim/directional/east, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"jr" = ( +/obj/structure/bookcase/random/fiction, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"jx" = ( +/obj/structure/table/wood, +/obj/item/pen/fourcolor, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"jT" = ( +/obj/machinery/bookbinder, +/obj/machinery/light/dim/directional/south, +/turf/open/floor/carpet/red, +/area/misc/hilbertshotel) +"kh" = ( +/obj/machinery/libraryscanner, +/obj/structure/sign/painting/large/library{ + pixel_y = -37 + }, +/turf/open/floor/carpet/green, +/area/misc/hilbertshotel) +"kD" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/turf/open/floor/carpet/black, +/area/misc/hilbertshotel) +"kS" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/structure/chair/comfy/brown{ + buildstackamount = 0; + color = "#c45c57"; + dir = 8; + pixel_y = -8 + }, +/turf/open/floor/carpet/black, +/area/misc/hilbertshotel) +"kW" = ( +/obj/machinery/vending/games, +/obj/structure/sign/painting/library{ + pixel_y = 33 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/effect/turf_decal/siding/wood/corner, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"lY" = ( +/obj/machinery/photocopier, +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"md" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/siding/wood/end, +/obj/item/paper_bin/carbon{ + pixel_x = -6 + }, +/obj/item/paper_bin/carbon{ + pixel_x = 7 + }, +/turf/open/floor/iron/grimy, +/area/misc/hilbertshotel) +"mK" = ( +/obj/structure/bookcase/random/religion, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"nA" = ( +/obj/structure/chair/comfy/beige{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood/end{ + dir = 8 + }, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"oZ" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/structure/chair/office, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"pm" = ( +/obj/structure/chair/comfy/brown{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"pv" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/structure/chair/office, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"pD" = ( +/obj/structure/sign/painting/library{ + pixel_x = 32 + }, +/turf/open/floor/carpet/green, +/area/misc/hilbertshotel) +"qn" = ( +/obj/structure/table/wood, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"st" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/siding/wood, +/obj/item/toy/figure/wizard{ + pixel_y = -2; + pixel_x = -8 + }, +/obj/item/toy/figure/ninja{ + pixel_y = -2 + }, +/obj/item/toy/figure/secofficer{ + pixel_y = -2; + pixel_x = 8 + }, +/obj/item/toy/figure/cmo{ + pixel_y = 13 + }, +/obj/item/toy/figure/curator{ + pixel_y = 13; + pixel_x = 8 + }, +/turf/open/floor/carpet/black, +/area/misc/hilbertshotel) +"tZ" = ( +/obj/machinery/photocopier, +/turf/open/floor/iron/grimy, +/area/misc/hilbertshotel) +"uX" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/cup/glass/coffee, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"wb" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/siding/wood, +/obj/effect/spawner/random/entertainment/money_large, +/obj/effect/spawner/random/entertainment/money_large, +/obj/machinery/light/dim/directional/south, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"wl" = ( +/obj/structure/chair/comfy/beige{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"wu" = ( +/obj/item/kirbyplants/random, +/turf/open/floor/iron/grimy, +/area/misc/hilbertshotel) +"wS" = ( +/obj/structure/table/wood, +/turf/open/floor/carpet/red, +/area/misc/hilbertshotel) +"xT" = ( +/obj/machinery/modular_computer/preset/curator{ + dir = 1 + }, +/turf/open/floor/carpet/green, +/area/misc/hilbertshotel) +"zY" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/effect/turf_decal/siding/wood/corner, +/turf/open/floor/iron/grimy, +/area/misc/hilbertshotel) +"Ae" = ( +/obj/structure/easel, +/obj/item/canvas/twentythree_twentythree, +/obj/item/canvas/twentythree_twentythree, +/obj/item/canvas/twentythree_nineteen, +/obj/item/canvas/fortyfive_twentyseven{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/obj/item/canvas/nineteen_nineteen, +/obj/structure/sign/painting/library{ + pixel_x = 32 + }, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"AE" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/item/reagent_containers/cup/glass/coffee, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"AO" = ( +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"BF" = ( +/obj/structure/bookcase/random/adult, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"BR" = ( +/turf/open/space/bluespace, +/area/misc/hilbertshotel) +"Dc" = ( +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"DX" = ( +/obj/machinery/bookbinder, +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"Ea" = ( +/obj/structure/table/wood, +/obj/item/paper_bin/carbon{ + pixel_y = 1 + }, +/obj/item/pen, +/turf/open/floor/carpet/black, +/area/misc/hilbertshotel) +"EX" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/structure/chair/office{ + dir = 1 + }, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"Fl" = ( +/obj/structure/table/wood, +/obj/item/paper_bin/carbon{ + pixel_y = 2; + pixel_x = 6 + }, +/obj/item/pen/fourcolor{ + pixel_x = 6; + pixel_y = 2 + }, +/obj/machinery/light/dim/directional/north, +/turf/open/floor/iron/grimy, +/area/misc/hilbertshotel) +"FN" = ( +/turf/open/floor/iron/sepia, +/area/misc/hilbertshotel) +"Gv" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood, +/obj/structure/chair/office{ + dir = 1 + }, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"HL" = ( +/obj/structure/sign/painting/library{ + pixel_y = -32 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"HO" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/structure/sign/painting/large/library{ + dir = 1 + }, +/obj/item/kirbyplants/random, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"Ib" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/item/pen/fountain, +/turf/open/floor/iron/grimy, +/area/misc/hilbertshotel) +"Ix" = ( +/obj/structure/table/wood, +/obj/item/papercutter{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/storage/crayons{ + pixel_x = 1; + pixel_y = -1 + }, +/obj/item/storage/crayons{ + pixel_x = -2; + pixel_y = -5 + }, +/obj/item/wirecutters, +/turf/open/floor/carpet/blue, +/area/misc/hilbertshotel) +"Je" = ( +/obj/structure/chair/comfy/brown{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"JW" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"LC" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"Mf" = ( +/obj/machinery/computer/libraryconsole/bookmanagement, +/obj/structure/table/wood, +/turf/open/floor/iron/grimy, +/area/misc/hilbertshotel) +"Mj" = ( +/obj/structure/fireplace{ + pixel_y = 0; + pixel_x = 0 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood, +/obj/structure/chair/office, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"Mk" = ( +/obj/structure/table/wood, +/obj/item/paper_bin/carbon{ + pixel_y = 10; + pixel_x = -8 + }, +/obj/item/pen{ + pixel_y = 10; + pixel_x = -7 + }, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"Mp" = ( +/obj/structure/sign/painting/library{ + pixel_y = -32 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"MO" = ( +/obj/machinery/vending/coffee{ + default_price = 0 + }, +/turf/open/floor/carpet/red, +/area/misc/hilbertshotel) +"Np" = ( +/obj/structure/table/wood, +/obj/item/dice/d20{ + pixel_y = -10 + }, +/turf/open/floor/carpet/red, +/area/misc/hilbertshotel) +"NX" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood, +/obj/structure/chair/office, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"Oh" = ( +/obj/structure/table/wood/fancy, +/obj/effect/spawner/random/decoration/statue{ + spawn_loot_chance = 35 + }, +/obj/structure/sign/painting/library{ + pixel_x = -32 + }, +/obj/machinery/light/dim/directional/south, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"Py" = ( +/turf/open/floor/iron/grimy, +/area/misc/hilbertshotel) +"PK" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/turf/open/floor/carpet/black, +/area/misc/hilbertshotel) +"QJ" = ( +/obj/effect/turf_decal/siding/wood/end{ + dir = 4 + }, +/obj/machinery/light/dim/directional/east, +/turf/open/floor/iron/grimy, +/area/misc/hilbertshotel) +"Rr" = ( +/obj/structure/table/wood/fancy, +/obj/effect/spawner/random/decoration/statue{ + spawn_loot_chance = 35 + }, +/obj/structure/sign/painting/library{ + pixel_x = -32 + }, +/obj/machinery/light/dim/directional/north, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"RM" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/misc/hilbertshotel) +"RP" = ( +/obj/structure/chair/office{ + dir = 8 + }, +/turf/open/floor/carpet/green, +/area/misc/hilbertshotel) +"SS" = ( +/obj/structure/table/wood, +/obj/item/paper_bin/carbon{ + pixel_y = 2; + pixel_x = 6 + }, +/obj/item/pen/fountain{ + pixel_y = -2; + pixel_x = -9 + }, +/obj/item/pen{ + pixel_x = 6; + pixel_y = 3 + }, +/obj/machinery/light/dim/directional/north, +/turf/open/floor/iron/grimy, +/area/misc/hilbertshotel) +"Tj" = ( +/obj/structure/chair/office{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"Tu" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"Ul" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/item/toy/eldritch_book, +/turf/open/floor/iron/grimy, +/area/misc/hilbertshotel) +"UQ" = ( +/obj/structure/table/wood, +/obj/item/toy/crayon/spraycan{ + pixel_x = 4; + pixel_y = 8 + }, +/obj/item/chisel{ + pixel_x = -15; + pixel_y = 6 + }, +/obj/item/toy/crayon/spraycan{ + pixel_x = -4; + pixel_y = 8 + }, +/obj/item/toy/crayon/spraycan{ + pixel_y = 6 + }, +/obj/item/paint_palette, +/turf/open/floor/carpet/blue, +/area/misc/hilbertshotel) +"UU" = ( +/obj/structure/table/wood, +/obj/item/paper_bin/carbon{ + pixel_y = -7 + }, +/obj/item/pen/fourcolor{ + pixel_y = -7 + }, +/obj/machinery/light/warm/directional/east, +/turf/open/floor/carpet/black, +/area/misc/hilbertshotel) +"Wh" = ( +/turf/open/floor/carpet/green, +/area/misc/hilbertshotel) +"Wl" = ( +/obj/machinery/door/airlock/wood, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"Wt" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"WI" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"WN" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"WX" = ( +/obj/structure/sign/painting/large/library{ + pixel_y = -37 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"YW" = ( +/turf/closed/indestructible/hoteldoor{ + icon_state = "door_closed"; + icon = 'icons/obj/doors/puzzledoor/default.dmi' + }, +/area/misc/hilbertshotel) +"Zq" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/turf/open/floor/wood, +/area/misc/hilbertshotel) + +(1,1,1) = {" +BR +BR +BR +BR +fa +fa +YW +fa +fa +fa +fa +fa +fa +fa +fa +"} +(2,1,1) = {" +fa +fa +fa +fa +fa +MO +eO +jT +fa +fa +Rr +ar +ar +Oh +fa +"} +(3,1,1) = {" +fa +BF +dT +jr +dT +eO +eO +eO +nA +fa +kW +Tu +Tu +Mp +fa +"} +(4,1,1) = {" +fa +BF +gQ +jr +gQ +eO +eO +eO +AE +RM +DX +FN +dw +WX +fa +"} +(5,1,1) = {" +fa +BF +gQ +jr +gQ +eO +eO +eO +wl +RM +lY +FN +Ix +gQ +fa +"} +(6,1,1) = {" +fa +Mf +gQ +wu +gQ +eO +eO +eO +JW +cD +JW +FN +UQ +HL +fa +"} +(7,1,1) = {" +fa +SS +gQ +Py +WI +Tj +Tj +LC +Zq +fa +HO +FN +FN +bw +fa +"} +(8,1,1) = {" +fa +BF +gQ +jr +oZ +uX +qn +Dc +pm +fa +cy +iL +Tu +Ae +fa +"} +(9,1,1) = {" +fa +BF +gQ +jr +oZ +jx +Mk +Dc +wb +fa +fa +fa +Wl +fa +fa +"} +(10,1,1) = {" +fa +BF +gQ +jr +WN +bz +bz +Dc +Je +fa +fi +dS +Tu +Wt +fa +"} +(11,1,1) = {" +fa +Fl +gQ +Py +WN +Dc +Dc +Dc +AO +Wl +pv +wS +wS +Gv +fa +"} +(12,1,1) = {" +fa +tZ +gQ +wu +WN +zY +Ul +Ib +md +fa +Mj +Np +wS +Gv +fa +"} +(13,1,1) = {" +fa +mK +gQ +aS +WN +ik +RP +Wh +kh +fa +NX +wS +wS +EX +fa +"} +(14,1,1) = {" +fa +mK +gQ +aS +WN +QJ +pD +pD +xT +fa +kD +kS +ho +PK +fa +"} +(15,1,1) = {" +fa +mK +aC +aS +aC +fa +fa +fa +fa +fa +cz +UU +Ea +st +fa +"} +(16,1,1) = {" +fa +fa +fa +fa +fa +fa +BR +BR +BR +fa +fa +fa +fa +fa +fa +"} diff --git a/modular_skyrat/modules/hotel_rooms/stationside.dmm b/modular_skyrat/modules/hotel_rooms/stationside.dmm new file mode 100644 index 00000000000..a5f753e3463 --- /dev/null +++ b/modular_skyrat/modules/hotel_rooms/stationside.dmm @@ -0,0 +1,812 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"ar" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/iron, +/area/misc/hilbertshotel) +"aC" = ( +/obj/structure/table, +/obj/item/mop/advanced, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/misc/hilbertshotel) +"aS" = ( +/obj/structure/chair/stool/bar/directional/north, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"bw" = ( +/obj/structure/chair/wood{ + dir = 4 + }, +/obj/effect/mapping_helpers/broken_floor, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/parquet, +/area/misc/hilbertshotel) +"bz" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/misc/hilbertshotel) +"cy" = ( +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"cz" = ( +/obj/structure/chair/wood{ + dir = 8 + }, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"cD" = ( +/obj/structure/sink/kitchen{ + desc = "A sink used for washing one's hands and face. It looks rusty and home-made"; + name = "old sink"; + pixel_y = 23 + }, +/obj/structure/mop_bucket, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/misc/hilbertshotel) +"dw" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/misc/hilbertshotel) +"dS" = ( +/obj/structure/closet/firecloset, +/turf/open/floor/plating, +/area/misc/hilbertshotel) +"dT" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron, +/area/misc/hilbertshotel) +"eO" = ( +/obj/structure/steam_vent, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/misc/hilbertshotel) +"fa" = ( +/obj/structure/chair/wood{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"fi" = ( +/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/neutral, +/turf/open/floor/iron, +/area/misc/hilbertshotel) +"gQ" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/misc/hilbertshotel) +"ho" = ( +/obj/structure/table/wood/fancy, +/obj/item/pizzabox/infinite, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"ik" = ( +/obj/structure/closet/wardrobe/botanist, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/misc/hilbertshotel) +"iL" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"jr" = ( +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/misc/hilbertshotel) +"jx" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron, +/area/misc/hilbertshotel) +"jT" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/caution/stand_clear, +/turf/open/floor/iron, +/area/misc/hilbertshotel) +"kh" = ( +/obj/structure/table/wood/poker, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/parquet, +/area/misc/hilbertshotel) +"kD" = ( +/obj/structure/table/wood, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"kS" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"kW" = ( +/obj/machinery/chem_dispenser/drinks/beer/fullupgrade, +/obj/structure/table/wood/poker, +/obj/effect/mapping_helpers/broken_floor, +/obj/machinery/light/small/directional/north, +/turf/open/floor/wood/parquet, +/area/misc/hilbertshotel) +"lU" = ( +/obj/machinery/door/airlock/maintenance_hatch{ + name = "Maintenance Hatch" + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/misc/hilbertshotel) +"lY" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/effect/turf_decal/tile/dark/full, +/turf/open/floor/iron/large, +/area/misc/hilbertshotel) +"md" = ( +/obj/structure/table/wood/poker, +/obj/item/storage/box/drinkingglasses, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/parquet, +/area/misc/hilbertshotel) +"mK" = ( +/obj/structure/reagent_dispensers/watertank, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/misc/hilbertshotel) +"nA" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/closed/indestructible/steel, +/area/misc/hilbertshotel) +"oZ" = ( +/turf/closed/indestructible/steel, +/area/misc/hilbertshotel) +"pm" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/light/small/broken/directional/north, +/turf/open/floor/plating, +/area/misc/hilbertshotel) +"pv" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"pD" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/wood/parquet, +/area/misc/hilbertshotel) +"qn" = ( +/obj/structure/table/wood, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"st" = ( +/obj/structure/grille/broken, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/misc/hilbertshotel) +"tZ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/cleanable/vomit/old, +/obj/structure/toilet{ + dir = 8 + }, +/turf/open/floor/iron, +/area/misc/hilbertshotel) +"uX" = ( +/obj/structure/table/wood/poker, +/obj/item/stack/spacecash/c1000, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"wb" = ( +/obj/structure/chair/wood{ + dir = 8 + }, +/turf/open/floor/wood/parquet, +/area/misc/hilbertshotel) +"wl" = ( +/obj/machinery/vending/cigarette/beach, +/obj/effect/turf_decal/tile/dark/full, +/obj/machinery/light/warm/directional/east, +/turf/open/floor/iron/large, +/area/misc/hilbertshotel) +"wu" = ( +/obj/structure/rack, +/obj/item/crowbar, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/misc/hilbertshotel) +"wS" = ( +/obj/structure/chair/sofa/left/brown, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"xT" = ( +/obj/structure/table/wood/poker, +/obj/item/stack/spacecash/c1000, +/turf/open/floor/wood/parquet, +/area/misc/hilbertshotel) +"zA" = ( +/obj/structure/table, +/obj/item/soap/deluxe, +/obj/effect/decal/cleanable/dirt, +/obj/item/storage/box/lights/mixed, +/turf/open/floor/iron, +/area/misc/hilbertshotel) +"zY" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/caution/stand_clear{ + dir = 1 + }, +/turf/open/floor/iron, +/area/misc/hilbertshotel) +"Ae" = ( +/obj/structure/table/wood, +/turf/open/floor/wood/parquet, +/area/misc/hilbertshotel) +"AE" = ( +/obj/structure/closet/wardrobe/botanist, +/obj/item/weldingtool/advanced, +/obj/item/wrench, +/obj/item/screwdriver, +/turf/open/floor/plating, +/area/misc/hilbertshotel) +"AO" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small/broken/directional/east, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"BF" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small/directional/north, +/turf/open/floor/plating, +/area/misc/hilbertshotel) +"BR" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/parquet, +/area/misc/hilbertshotel) +"Dc" = ( +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"DR" = ( +/obj/structure/chair/stool/bar/directional/north, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"DX" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/misc/hilbertshotel) +"Ea" = ( +/obj/item/stack/cable_coil/cut, +/mob/living/basic/mouse, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/misc/hilbertshotel) +"EX" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"Fl" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/sink/directional/south, +/obj/structure/mirror/broken/directional/north, +/obj/machinery/light/small/dim/directional/west, +/turf/open/floor/iron, +/area/misc/hilbertshotel) +"FN" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small/broken/directional/west, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"Gv" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/closed/indestructible/steel, +/area/misc/hilbertshotel) +"HL" = ( +/obj/structure/table/wood/poker, +/obj/item/stack/spacecash/c10, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/parquet, +/area/misc/hilbertshotel) +"HO" = ( +/obj/structure/table/wood/poker, +/obj/effect/spawner/random/trash/soap, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"Ib" = ( +/turf/open/floor/wood/parquet, +/area/misc/hilbertshotel) +"Ix" = ( +/obj/structure/closet/crate, +/obj/item/stack/sheet/iron/fifty, +/obj/item/stack/sheet/mineral/wood/fifty, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/misc/hilbertshotel) +"Je" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/light/warm/directional/east, +/turf/open/floor/iron, +/area/misc/hilbertshotel) +"JW" = ( +/obj/machinery/vending/boozeomat/all_access, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/parquet, +/area/misc/hilbertshotel) +"LC" = ( +/obj/machinery/portable_atmospherics/canister/air, +/turf/open/floor/plating, +/area/misc/hilbertshotel) +"Mf" = ( +/obj/structure/table, +/obj/item/stack/spacecash/c10, +/turf/open/floor/plating, +/area/misc/hilbertshotel) +"Mj" = ( +/obj/structure/closet/crate, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plating, +/area/misc/hilbertshotel) +"Mk" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/misc/hilbertshotel) +"Mp" = ( +/turf/closed/wall/space{ + space_lit = 1 + }, +/area/misc/hilbertshotel) +"MO" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/light/warm/directional/west, +/turf/open/floor/iron, +/area/misc/hilbertshotel) +"Np" = ( +/obj/structure/chair/sofa/middle/brown, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"NX" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/iron, +/area/misc/hilbertshotel) +"Oh" = ( +/turf/closed/indestructible/hoteldoor{ + icon_state = "closed"; + icon = 'modular_skyrat/modules/aesthetics/airlock/icons/airlocks/station2/glass.dmi' + }, +/area/misc/hilbertshotel) +"Py" = ( +/turf/open/floor/plating, +/area/misc/hilbertshotel) +"PK" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/misc/hilbertshotel) +"QJ" = ( +/obj/machinery/light/small/dim/directional/east, +/turf/open/floor/plating, +/area/misc/hilbertshotel) +"Rr" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/misc/hilbertshotel) +"RM" = ( +/obj/machinery/vending/coffee, +/obj/effect/turf_decal/tile/dark/full, +/turf/open/floor/iron/large, +/area/misc/hilbertshotel) +"RP" = ( +/obj/machinery/chem_dispenser/drinks/fullupgrade, +/obj/structure/table/wood/poker, +/turf/open/floor/wood/parquet, +/area/misc/hilbertshotel) +"SS" = ( +/obj/structure/chair/stool/bar/directional/west, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/misc/hilbertshotel) +"SV" = ( +/obj/structure/disposalpipe/trunk, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron, +/area/misc/hilbertshotel) +"Tj" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/misc/hilbertshotel) +"Tu" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"Ul" = ( +/obj/structure/table/wood/poker, +/obj/item/reagent_containers/cup/glass/shaker, +/turf/open/floor/wood/parquet, +/area/misc/hilbertshotel) +"UQ" = ( +/obj/machinery/vending/boozeomat/all_access, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"UU" = ( +/obj/structure/closet/emcloset, +/turf/open/floor/plating, +/area/misc/hilbertshotel) +"Wh" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/parquet, +/area/misc/hilbertshotel) +"Wl" = ( +/obj/structure/chair/wood{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/parquet, +/area/misc/hilbertshotel) +"Wt" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"WI" = ( +/obj/machinery/door/airlock/maintenance_hatch{ + name = "Maintenance Hatch" + }, +/turf/open/floor/plating, +/area/misc/hilbertshotel) +"WN" = ( +/obj/structure/rack, +/obj/item/storage/pill_bottle/maintenance_pill/full, +/turf/open/floor/plating, +/area/misc/hilbertshotel) +"WX" = ( +/obj/structure/chair/sofa/right/brown, +/turf/open/floor/wood, +/area/misc/hilbertshotel) +"YW" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/misc/hilbertshotel) +"Zq" = ( +/obj/structure/chair/wood{ + dir = 4 + }, +/turf/open/floor/wood/parquet, +/area/misc/hilbertshotel) + +(1,1,1) = {" +oZ +oZ +oZ +oZ +oZ +oZ +oZ +oZ +oZ +oZ +oZ +oZ +oZ +oZ +oZ +"} +(2,1,1) = {" +oZ +Oh +ar +ar +ar +MO +ar +jT +ar +ar +ar +MO +ar +Oh +oZ +"} +(3,1,1) = {" +oZ +Oh +dT +dT +dT +dT +dT +NX +dT +dT +dT +SV +jx +Oh +oZ +"} +(4,1,1) = {" +oZ +Oh +Je +jr +jr +jr +fi +zY +jr +jr +DX +Rr +dw +Oh +oZ +"} +(5,1,1) = {" +oZ +oZ +oZ +oZ +oZ +oZ +lU +oZ +wl +RM +lY +oZ +oZ +oZ +oZ +"} +(6,1,1) = {" +oZ +Mf +Ix +wu +oZ +Mj +eO +oZ +oZ +oZ +oZ +oZ +UQ +HL +oZ +"} +(7,1,1) = {" +oZ +SS +Tj +Py +WI +Tj +bz +LC +oZ +uX +HO +FN +Zq +bw +oZ +"} +(8,1,1) = {" +oZ +BF +Tj +Tj +oZ +Tj +bz +Py +WI +EX +cy +iL +Ae +Ae +oZ +"} +(9,1,1) = {" +oZ +ik +AE +oZ +oZ +Tj +Mk +dS +oZ +cy +fa +pv +Wl +wb +oZ +"} +(10,1,1) = {" +oZ +oZ +oZ +oZ +st +Ea +bz +UU +oZ +YW +qn +Dc +Tu +oZ +oZ +"} +(11,1,1) = {" +oZ +Fl +WI +Mk +Mk +oZ +oZ +oZ +oZ +Wt +cz +WX +kS +PK +Mp +"} +(12,1,1) = {" +oZ +tZ +nA +pm +WN +oZ +Ul +Ib +md +aS +cy +Np +EX +PK +Mp +"} +(13,1,1) = {" +Gv +Gv +Gv +WI +oZ +oZ +RP +Wh +kh +aS +fa +wS +cy +PK +Mp +"} +(14,1,1) = {" +oZ +cD +gQ +Tj +zA +oZ +kW +pD +xT +DR +kD +kS +ho +PK +Mp +"} +(15,1,1) = {" +oZ +mK +QJ +gQ +aC +oZ +JW +BR +Tj +AO +cz +oZ +PK +PK +Mp +"} +(16,1,1) = {" +oZ +oZ +oZ +oZ +oZ +oZ +oZ +oZ +oZ +oZ +oZ +oZ +Mp +Mp +Mp +"} diff --git a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_arousal/climax.dm b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_arousal/climax.dm index 5b68422ea65..e980f1c9c0f 100644 --- a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_arousal/climax.dm +++ b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_arousal/climax.dm @@ -42,11 +42,11 @@ switch(gender) if(MALE) - play_lewd_sound(get_turf(src), pick('modular_skyrat/modules/modular_items/lewd_items/sounds/final_m1.ogg', + conditional_pref_sound(get_turf(src), pick('modular_skyrat/modules/modular_items/lewd_items/sounds/final_m1.ogg', 'modular_skyrat/modules/modular_items/lewd_items/sounds/final_m2.ogg', 'modular_skyrat/modules/modular_items/lewd_items/sounds/final_m3.ogg'), 50, TRUE, pref_to_check = /datum/preference/toggle/erp/sounds) if(FEMALE) - play_lewd_sound(get_turf(src), pick('modular_skyrat/modules/modular_items/lewd_items/sounds/final_f1.ogg', + conditional_pref_sound(get_turf(src), pick('modular_skyrat/modules/modular_items/lewd_items/sounds/final_f1.ogg', 'modular_skyrat/modules/modular_items/lewd_items/sounds/final_f2.ogg', 'modular_skyrat/modules/modular_items/lewd_items/sounds/final_f3.ogg'), 50, TRUE, pref_to_check = /datum/preference/toggle/erp/sounds) diff --git a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_clothing/ballgag.dm b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_clothing/ballgag.dm index 432c6442259..6513bceab30 100644 --- a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_clothing/ballgag.dm +++ b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_clothing/ballgag.dm @@ -75,7 +75,7 @@ return speech_args[SPEECH_MESSAGE] = pick((prob(moans_alt_probability) && LAZYLEN(moans_alt)) ? moans_alt : moans) if(moan_sounds) - play_lewd_sound(loc, pick(moan_sounds), chokes_wearer ? moan_volume_choking : moan_volume, 1, -1) + conditional_pref_sound(loc, pick(moan_sounds), chokes_wearer ? moan_volume_choking : moan_volume, 1, -1) // Change the size of the gag /obj/item/clothing/mask/ballgag/attack_self(mob/user) diff --git a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_clothing/bdsm_mask.dm b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_clothing/bdsm_mask.dm index 2f809512c5d..41a6aa81eab 100644 --- a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_clothing/bdsm_mask.dm +++ b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_clothing/bdsm_mask.dm @@ -88,7 +88,7 @@ return speech_args[SPEECH_MESSAGE] = pick((prob(moans_alt_probability) && LAZYLEN(moans_alt)) ? moans_alt : moans) - play_lewd_sound(loc, pick('modular_skyrat/modules/modular_items/lewd_items/sounds/under_moan_f1.ogg', + conditional_pref_sound(loc, pick('modular_skyrat/modules/modular_items/lewd_items/sounds/under_moan_f1.ogg', 'modular_skyrat/modules/modular_items/lewd_items/sounds/under_moan_f2.ogg', 'modular_skyrat/modules/modular_items/lewd_items/sounds/under_moan_f3.ogg', 'modular_skyrat/modules/modular_items/lewd_items/sounds/under_moan_f4.ogg'), 70, 1, -1) @@ -261,7 +261,7 @@ /obj/item/clothing/mask/gas/bdsm_mask/proc/toggle(mob/living/carbon/user) mask_on = !mask_on to_chat(user, span_notice("You turn the air filter [mask_on ? "on. Use with caution!" : "off. Now it's safe to wear."]")) - play_lewd_sound(user, mask_on ? 'sound/weapons/magin.ogg' : 'sound/weapons/magout.ogg', 40, TRUE) + conditional_pref_sound(user, mask_on ? 'sound/weapons/magin.ogg' : 'sound/weapons/magout.ogg', 40, TRUE) update_icon_state() update_mob_action_buttonss() update_icon() diff --git a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_clothing/corset.dm b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_clothing/corset.dm index f537d9166f8..d7963c9b48a 100644 --- a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_clothing/corset.dm +++ b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_clothing/corset.dm @@ -20,7 +20,7 @@ /obj/item/clothing/suit/corset/click_alt(mob/user) laced_tight = !laced_tight to_chat(user, span_notice("You [laced_tight ? "tighten" : "loosen"] the corset, making it far [laced_tight ? "harder" : "easier"] to breathe.")) - play_lewd_sound(user, laced_tight ? 'sound/items/handling/cloth_pickup.ogg' : 'sound/items/handling/cloth_drop.ogg', 40, TRUE) + conditional_pref_sound(user, laced_tight ? 'sound/items/handling/cloth_pickup.ogg' : 'sound/items/handling/cloth_drop.ogg', 40, TRUE) . = CLICK_ACTION_SUCCESS if(laced_tight) slowdown = TIGHT_SLOWDOWN diff --git a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_clothing/deprivation_helmet.dm b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_clothing/deprivation_helmet.dm index 7bcad0d4879..16f0fec9eb8 100644 --- a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_clothing/deprivation_helmet.dm +++ b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_clothing/deprivation_helmet.dm @@ -76,14 +76,14 @@ if(user_client == "speech") if(muzzle == TRUE) muzzle = FALSE - play_lewd_sound(usr, 'sound/weapons/magout.ogg', 40, TRUE) + conditional_pref_sound(usr, 'sound/weapons/magout.ogg', 40, TRUE) to_chat(usr, span_notice("Speech switch off")) if(usr.get_item_by_slot(ITEM_SLOT_HEAD) == src) REMOVE_TRAIT(usr, TRAIT_MUTE, CLOTHING_TRAIT) //to_chat(U, span_purple("Your mouth is free. you breathe out with relief.")) else muzzle = TRUE - play_lewd_sound(usr, 'sound/weapons/magin.ogg', 40, TRUE) + conditional_pref_sound(usr, 'sound/weapons/magin.ogg', 40, TRUE) to_chat(usr, span_notice("Speech switch on")) if(usr.get_item_by_slot(ITEM_SLOT_HEAD) == src) ADD_TRAIT(usr, TRAIT_MUTE, CLOTHING_TRAIT) @@ -91,14 +91,14 @@ if(user_client == "hearing") if(earmuffs == TRUE) earmuffs = FALSE - play_lewd_sound(usr, 'sound/weapons/magout.ogg', 40, TRUE) + conditional_pref_sound(usr, 'sound/weapons/magout.ogg', 40, TRUE) to_chat(usr, span_notice("Hearing switch off")) if(usr.get_item_by_slot(ITEM_SLOT_HEAD) == src) REMOVE_TRAIT(usr, TRAIT_DEAF, CLOTHING_TRAIT) //to_chat(U, span_purple("Finally you can hear the world around again.")) else earmuffs = TRUE - play_lewd_sound(usr, 'sound/weapons/magin.ogg', 40, TRUE) + conditional_pref_sound(usr, 'sound/weapons/magin.ogg', 40, TRUE) to_chat(usr, span_notice("Hearing switch on")) if(usr.get_item_by_slot(ITEM_SLOT_HEAD) == src) ADD_TRAIT(usr, TRAIT_DEAF, CLOTHING_TRAIT) @@ -107,14 +107,14 @@ var/mob/living/carbon/human/user = usr if(prevent_vision == TRUE) prevent_vision = FALSE - play_lewd_sound(usr, 'sound/weapons/magout.ogg', 40, TRUE) + conditional_pref_sound(usr, 'sound/weapons/magout.ogg', 40, TRUE) to_chat(usr, span_notice("Vision switch off")) if(usr.get_item_by_slot(ITEM_SLOT_HEAD) == src) user.cure_blind("deprivation_helmet_[REF(src)]") //to_chat(U, span_purple("Helmet no longer restricts your vision.")) else prevent_vision = TRUE - play_lewd_sound(usr, 'sound/weapons/magin.ogg', 40, TRUE) + conditional_pref_sound(usr, 'sound/weapons/magin.ogg', 40, TRUE) to_chat(usr, span_notice("Vision switch on")) if(usr.get_item_by_slot(ITEM_SLOT_HEAD) == src) user.become_blind("deprivation_helmet_[REF(src)]") diff --git a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_clothing/kinky_sleepbag.dm b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_clothing/kinky_sleepbag.dm index 43e2ea0c904..002f861f13c 100644 --- a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_clothing/kinky_sleepbag.dm +++ b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_clothing/kinky_sleepbag.dm @@ -132,7 +132,7 @@ /obj/item/clothing/suit/straight_jacket/kinky_sleepbag/proc/fold(mob/user, src) bag_fold = !bag_fold - play_lewd_sound(user, 'modular_skyrat/modules/modular_items/lewd_items/sounds/latex.ogg', 40, TRUE) + conditional_pref_sound(user, 'modular_skyrat/modules/modular_items/lewd_items/sounds/latex.ogg', 40, TRUE) if(bag_fold == TRUE) w_class = WEIGHT_CLASS_SMALL slot_flags = NONE @@ -182,7 +182,7 @@ /obj/item/clothing/suit/straight_jacket/kinky_sleepbag/process(seconds_per_tick) if(time_to_sound_left <= 0) if(tt <= 0) - play_lewd_sound(loc, 'modular_skyrat/modules/modular_items/lewd_items/sounds/latex.ogg', 100, TRUE) + conditional_pref_sound(loc, 'modular_skyrat/modules/modular_items/lewd_items/sounds/latex.ogg', 100, TRUE) tt = rand(15, 35) //to do random funny sounds when character inside that thing. else tt -= seconds_per_tick diff --git a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_clothing/strapon.dm b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_clothing/strapon.dm index a7e1182d324..4043fbb1e9c 100644 --- a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_clothing/strapon.dm +++ b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_clothing/strapon.dm @@ -120,7 +120,7 @@ to_chat(user, span_warning("You need to put the strapon around your waist before you can use it!")) /obj/item/clothing/strapon/proc/toggle(mob/living/carbon/human/user) - play_lewd_sound(user, 'modular_skyrat/modules/modular_items/lewd_items/sounds/latex.ogg', 40, TRUE) + conditional_pref_sound(user, 'modular_skyrat/modules/modular_items/lewd_items/sounds/latex.ogg', 40, TRUE) var/obj/item/held = user.get_active_held_item() var/obj/item/unheld = user.get_inactive_held_item() @@ -205,7 +205,7 @@ if(prob(40)) hit_mob.try_lewd_autoemote(pick("twitch_s", "moan")) user.visible_message(span_purple("[user] [message]!")) - play_lewd_sound(loc, pick('modular_skyrat/modules/modular_items/lewd_items/sounds/bang1.ogg', + conditional_pref_sound(loc, pick('modular_skyrat/modules/modular_items/lewd_items/sounds/bang1.ogg', 'modular_skyrat/modules/modular_items/lewd_items/sounds/bang2.ogg', 'modular_skyrat/modules/modular_items/lewd_items/sounds/bang3.ogg', 'modular_skyrat/modules/modular_items/lewd_items/sounds/bang4.ogg', @@ -227,7 +227,7 @@ if(prob(70)) hit_mob.try_lewd_autoemote(pick("gasp", "moan")) user.visible_message(span_purple("[user] [message]!")) - play_lewd_sound(loc, pick('modular_skyrat/modules/modular_items/lewd_items/sounds/bang1.ogg', + conditional_pref_sound(loc, pick('modular_skyrat/modules/modular_items/lewd_items/sounds/bang1.ogg', 'modular_skyrat/modules/modular_items/lewd_items/sounds/bang2.ogg', 'modular_skyrat/modules/modular_items/lewd_items/sounds/bang3.ogg', 'modular_skyrat/modules/modular_items/lewd_items/sounds/bang4.ogg', @@ -246,7 +246,7 @@ if(prob(60)) hit_mob.try_lewd_autoemote(pick("twitch_s", "moan", "shiver")) user.visible_message(span_purple("[user] [message]!")) - play_lewd_sound(loc, pick('modular_skyrat/modules/modular_items/lewd_items/sounds/bang1.ogg', + conditional_pref_sound(loc, pick('modular_skyrat/modules/modular_items/lewd_items/sounds/bang1.ogg', 'modular_skyrat/modules/modular_items/lewd_items/sounds/bang2.ogg', 'modular_skyrat/modules/modular_items/lewd_items/sounds/bang3.ogg', 'modular_skyrat/modules/modular_items/lewd_items/sounds/bang4.ogg', diff --git a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_helpers/sounds.dm b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_helpers/sounds.dm index e5f6ee9856f..617bfce8206 100644 --- a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_helpers/sounds.dm +++ b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_helpers/sounds.dm @@ -1,5 +1,5 @@ /** - * play_lewd_sound is similar to `playsound` but it does not pass through walls, doesn't play for ghosts, and checks for prefs. + * conditional_pref_sound is similar to `playsound` but it does not pass through walls, doesn't play for ghosts, and checks for prefs. * This is useful if we have something like the organic interface content, which everyone may not want to hear. * * source - Origin of sound. @@ -14,7 +14,7 @@ * falloff_distance - Distance at which falloff begins. Sound is at peak volume (in regards to falloff) aslong as it is in this range. * pref_to_check - the path of the pref that we want to check */ -/proc/play_lewd_sound( +/proc/conditional_pref_sound( atom/source, soundin, vol as num, @@ -63,7 +63,7 @@ listening_mob.playsound_local(turf_source, soundin, vol, vary, frequency, falloff_exponent, channel, pressure_affected, sound_to_play, maxdistance, falloff_distance, 1, use_reverb) . += listening_mob -/// The looping sound datum but we check for prefs and use `play_lewd_sound` instead of `playsound` +/// The looping sound datum but we check for prefs and use `conditional_pref_sound` instead of `playsound` /datum/looping_sound/lewd /// What preference are we going to check with our looping sound when we play it for people? var/pref_to_check = /datum/preference/toggle/erp/sex_toy_sounds @@ -76,7 +76,7 @@ SEND_SOUND(parent, sound_to_play) return - play_lewd_sound( + conditional_pref_sound( parent, sound_to_play, volume, diff --git a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/_masturbation_item.dm b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/_masturbation_item.dm index fa03358eb6f..506a21248a3 100644 --- a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/_masturbation_item.dm +++ b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/_masturbation_item.dm @@ -47,11 +47,11 @@ var/datum/reagents/applied_reagents = new/datum/reagents(50) applied_reagents.add_reagent(/datum/reagent/consumable/cum, cum_volume) user.visible_message(span_warning("[user] cums into [target]!"), span_danger("You cum into [target]!")) - play_lewd_sound(target, SFX_DESECRATION, 50, TRUE) + conditional_pref_sound(target, SFX_DESECRATION, 50, TRUE) applied_reagents.trans_to(target, cum_volume) else user.visible_message(span_warning("[user] cums on [target]!"), span_danger("You cum on [target]!")) - play_lewd_sound(target, SFX_DESECRATION, 50, TRUE) + conditional_pref_sound(target, SFX_DESECRATION, 50, TRUE) affected_human.add_cum_splatter_floor(get_turf(target)) log_combat(user, target, "came on") diff --git a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/attachable_vibrator.dm b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/attachable_vibrator.dm index bcff9841d2a..40e2606fedc 100644 --- a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/attachable_vibrator.dm +++ b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/attachable_vibrator.dm @@ -101,22 +101,22 @@ if(EGGVIB_OFF) vibration_mode = EGGVIB_LOW toy_on = TRUE - play_lewd_sound(loc, 'sound/weapons/magin.ogg', 20, TRUE) + conditional_pref_sound(loc, 'sound/weapons/magin.ogg', 20, TRUE) soundloop1.start() if(EGGVIB_LOW) vibration_mode = EGGVIB_MEDIUM - play_lewd_sound(loc, 'sound/weapons/magin.ogg', 20, TRUE) + conditional_pref_sound(loc, 'sound/weapons/magin.ogg', 20, TRUE) soundloop1.stop() soundloop2.start() if(EGGVIB_MEDIUM) vibration_mode = EGGVIB_HIGH - play_lewd_sound(loc, 'sound/weapons/magin.ogg', 20, TRUE) + conditional_pref_sound(loc, 'sound/weapons/magin.ogg', 20, TRUE) soundloop2.stop() soundloop3.start() if(EGGVIB_HIGH) vibration_mode = EGGVIB_OFF toy_on = FALSE - play_lewd_sound(loc, 'sound/weapons/magout.ogg', 20, TRUE) + conditional_pref_sound(loc, 'sound/weapons/magout.ogg', 20, TRUE) soundloop3.stop() /obj/item/clothing/sextoy/eggvib/lewd_equipped(mob/living/carbon/human/user, slot, initial) @@ -335,13 +335,13 @@ switch(vibration_mode) if(EGGVIB_LOW) vibration_mode = EGGVIB_MEDIUM - play_lewd_sound(loc, 'sound/weapons/magin.ogg', 20, TRUE) + conditional_pref_sound(loc, 'sound/weapons/magin.ogg', 20, TRUE) if(EGGVIB_MEDIUM) vibration_mode = EGGVIB_HIGH - play_lewd_sound(loc, 'sound/weapons/magin.ogg', 20, TRUE) + conditional_pref_sound(loc, 'sound/weapons/magin.ogg', 20, TRUE) if(EGGVIB_HIGH) vibration_mode = EGGVIB_LOW - play_lewd_sound(loc, 'sound/weapons/magin.ogg', 20, TRUE) + conditional_pref_sound(loc, 'sound/weapons/magin.ogg', 20, TRUE) #undef EGGVIB_OFF #undef EGGVIB_LOW diff --git a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/condom.dm b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/condom.dm index 21c2023f198..a5b2c429c2d 100644 --- a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/condom.dm +++ b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/condom.dm @@ -31,7 +31,7 @@ to_chat(user, span_notice("You start to open the condom pack...")) if(!do_after(user, 1.5 SECONDS, target = user)) return - play_lewd_sound(src.loc, 'sound/items/poster_ripped.ogg', 50, TRUE) + conditional_pref_sound(src.loc, 'sound/items/poster_ripped.ogg', 50, TRUE) var/obj/item/clothing/sextoy/condom/removed_condom = new /obj/item/clothing/sextoy/condom user.put_in_hands(removed_condom) diff --git a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/dildo.dm b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/dildo.dm index 6ddd3f8c3b6..58b5acf4fbe 100644 --- a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/dildo.dm +++ b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/dildo.dm @@ -181,7 +181,7 @@ target.try_lewd_autoemote(pick(possible_emotes)) user.visible_message(span_purple("[user] [message]!")) - play_lewd_sound(loc, pick('modular_skyrat/modules/modular_items/lewd_items/sounds/bang1.ogg', + conditional_pref_sound(loc, pick('modular_skyrat/modules/modular_items/lewd_items/sounds/bang1.ogg', 'modular_skyrat/modules/modular_items/lewd_items/sounds/bang2.ogg', 'modular_skyrat/modules/modular_items/lewd_items/sounds/bang3.ogg', 'modular_skyrat/modules/modular_items/lewd_items/sounds/bang4.ogg', @@ -405,7 +405,7 @@ GLOBAL_LIST_INIT(dildo_colors, list(//mostly neon colors /// Code for taking out/putting away the other end of the toy when one end is in you /obj/item/clothing/sextoy/dildo/double_dildo/proc/toggle(mob/living/carbon/human/user) - play_lewd_sound(user, 'modular_skyrat/modules/modular_items/lewd_items/sounds/latex.ogg', 40, TRUE) + conditional_pref_sound(user, 'modular_skyrat/modules/modular_items/lewd_items/sounds/latex.ogg', 40, TRUE) if(!end_in_hand) take_in_hand(user) diff --git a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/feather.dm b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/feather.dm index 0502508dff3..444f2dcbc58 100644 --- a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/feather.dm +++ b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/feather.dm @@ -74,7 +74,7 @@ target.add_mood_event("tickled", /datum/mood_event/tickled) carbon_target?.adjust_arousal(3) user.visible_message(span_purple("[user] [message]!")) - play_lewd_sound(loc, \ + conditional_pref_sound(loc, \ pick( 'sound/items/handling/cloth_drop.ogg', // I duplicate this part of code because im useless shitcoder that can't make it work properly without tons of repeating code blocks 'sound/items/handling/cloth_pickup.ogg', // If you can make it better - go ahead, modify it, please. diff --git a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/fleshlight.dm b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/fleshlight.dm index a30b4b671b7..ceaa70651fb 100644 --- a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/fleshlight.dm +++ b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/fleshlight.dm @@ -83,7 +83,7 @@ target.adjust_arousal(6) target.adjust_pleasure(9) user.visible_message(span_purple("[user] [message]!")) - play_lewd_sound(loc, pick('modular_skyrat/modules/modular_items/lewd_items/sounds/bang1.ogg', + conditional_pref_sound(loc, pick('modular_skyrat/modules/modular_items/lewd_items/sounds/bang1.ogg', 'modular_skyrat/modules/modular_items/lewd_items/sounds/bang2.ogg', 'modular_skyrat/modules/modular_items/lewd_items/sounds/bang3.ogg', 'modular_skyrat/modules/modular_items/lewd_items/sounds/bang4.ogg', diff --git a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/kinky_shocker.dm b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/kinky_shocker.dm index 1b4df0da2d7..cf4ea058620 100644 --- a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/kinky_shocker.dm +++ b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/kinky_shocker.dm @@ -45,7 +45,7 @@ //we're below minimum, turn off shocker_on = FALSE update_appearance() - play_lewd_sound(src, activate_sound, 75, TRUE, -1) + conditional_pref_sound(src, activate_sound, 75, TRUE, -1) /obj/item/kinky_shocker/examine(mob/user) . = ..() @@ -91,7 +91,7 @@ if(cell && cell.charge >= cell_hit_cost) shocker_on = !shocker_on to_chat(user, span_notice("You turn the shocker [shocker_on? "on. Buzz!" : "off."]")) - play_lewd_sound(user, shocker_on ? 'sound/weapons/magin.ogg' : 'sound/weapons/magout.ogg', 40, TRUE) + conditional_pref_sound(user, shocker_on ? 'sound/weapons/magin.ogg' : 'sound/weapons/magout.ogg', 40, TRUE) else shocker_on = FALSE if(!cell) @@ -221,7 +221,7 @@ return user.visible_message(span_purple("[user] [message]!")) - play_lewd_sound(loc, 'sound/weapons/taserhit.ogg', 70, 1, -1) + conditional_pref_sound(loc, 'sound/weapons/taserhit.ogg', 70, 1, -1) deductcharge(cell_hit_cost) if(prob(80)) target.try_lewd_autoemote(pick("twitch", "twitch_s", "shiver", "scream")) diff --git a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/leather_whip.dm b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/leather_whip.dm index 8d50933f73f..1e86737219c 100644 --- a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/leather_whip.dm +++ b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/leather_whip.dm @@ -63,7 +63,7 @@ /obj/item/clothing/mask/leatherwhip/proc/handle_speech(datum/source, list/speech_args) SIGNAL_HANDLER speech_args[SPEECH_MESSAGE] = pick((prob(moans_alt_probability) && LAZYLEN(moans_alt)) ? moans_alt : moans) - play_lewd_sound(loc, pick('modular_skyrat/modules/modular_items/lewd_items/sounds/under_moan_f1.ogg', + conditional_pref_sound(loc, pick('modular_skyrat/modules/modular_items/lewd_items/sounds/under_moan_f1.ogg', 'modular_skyrat/modules/modular_items/lewd_items/sounds/under_moan_f2.ogg', 'modular_skyrat/modules/modular_items/lewd_items/sounds/under_moan_f3.ogg', 'modular_skyrat/modules/modular_items/lewd_items/sounds/under_moan_f4.ogg'), 70, 1, -1) @@ -193,7 +193,7 @@ target.apply_status_effect(/datum/status_effect/subspace) target.Paralyze(1)//don't touch it. It's domination tool, it should have ability to put someone on kneels. I already inserted check for PREF YOU CAN'T ABUSE THIS ITEM target.adjust_pain(5) - play_lewd_sound(loc, 'sound/weapons/whip.ogg', 100) + conditional_pref_sound(loc, 'sound/weapons/whip.ogg', 100) else message = (user == target) ? pick("knocks [target.p_them()]self down with [src]", "gently uses [src] to knock [target.p_them()]self on the ground") \ @@ -205,7 +205,7 @@ target.apply_status_effect(/datum/status_effect/subspace) target.Paralyze(1) target.adjust_pain(3) - play_lewd_sound(loc, 'sound/weapons/whip.ogg', 60) + conditional_pref_sound(loc, 'sound/weapons/whip.ogg', 60) if(BODY_ZONE_HEAD) message = (user == target) ? pick("wraps [src] around [target.p_their()] neck, choking [target.p_them()]self", @@ -216,7 +216,7 @@ target.try_lewd_autoemote(pick("gasp", "choke", "moan")) carbon_target?.adjust_arousal(3) target.adjust_pain(5) - play_lewd_sound(loc, 'modular_skyrat/modules/modular_items/lewd_items/sounds/latex.ogg', 80) + conditional_pref_sound(loc, 'modular_skyrat/modules/modular_items/lewd_items/sounds/latex.ogg', 80) if(BODY_ZONE_PRECISE_GROIN) if(!carbon_target?.is_bottomless()) @@ -236,7 +236,7 @@ target.apply_status_effect(/datum/status_effect/spanked) if(HAS_TRAIT(target, TRAIT_MASOCHISM) || HAS_TRAIT(target, TRAIT_BIMBO)) target.add_mood_event("pervert spanked", /datum/mood_event/perv_spanked) - play_lewd_sound(loc, 'sound/weapons/whip.ogg', 60) + conditional_pref_sound(loc, 'sound/weapons/whip.ogg', 60) else message = (user == target) ? pick("roughly flogs [target.p_them()]self with [src]", @@ -253,7 +253,7 @@ target.apply_status_effect(/datum/status_effect/spanked) if(HAS_TRAIT(target, TRAIT_MASOCHISM) || HAS_TRAIT(target, TRAIT_BIMBO)) target.add_mood_event("pervert spanked", /datum/mood_event/perv_spanked) - play_lewd_sound(loc, 'sound/weapons/whip.ogg', 100) + conditional_pref_sound(loc, 'sound/weapons/whip.ogg', 100) else if(current_whip_type == "hard") message = (user == target) ? pick("disciplines [target.p_them()]self with [src]", @@ -265,7 +265,7 @@ target.apply_status_effect(/datum/status_effect/subspace) target.do_jitter_animation() target.adjust_pain(7) - play_lewd_sound(loc, 'sound/weapons/whip.ogg', 100) + conditional_pref_sound(loc, 'sound/weapons/whip.ogg', 100) else message = (user == target) ? pick("whips [target.p_them()]self with [src]", @@ -280,7 +280,7 @@ target.do_jitter_animation() target.adjust_pain(4) carbon_target?.adjust_arousal(5) - play_lewd_sound(loc, 'sound/weapons/whip.ogg', 60) + conditional_pref_sound(loc, 'sound/weapons/whip.ogg', 60) user.visible_message(span_purple("[user] [message]!")) diff --git a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/magic_wand.dm b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/magic_wand.dm index aa56c1409af..39692875c26 100644 --- a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/magic_wand.dm +++ b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/magic_wand.dm @@ -187,7 +187,7 @@ target.try_lewd_autoemote(pick("twitch_s", "moan")) user.visible_message(span_purple("[user] [message]!")) - play_lewd_sound(loc, 'modular_skyrat/modules/modular_items/lewd_items/sounds/vibrate.ogg', (vibration_mode == MAGIC_WAND_MODE_LOW ? 10 : (vibration_mode == MAGIC_WAND_MODE_HIGH ? 30 : 20)), TRUE, pref_to_check = /datum/preference/toggle/erp/sex_toy_sounds) + conditional_pref_sound(loc, 'modular_skyrat/modules/modular_items/lewd_items/sounds/vibrate.ogg', (vibration_mode == MAGIC_WAND_MODE_LOW ? 10 : (vibration_mode == MAGIC_WAND_MODE_HIGH ? 30 : 20)), TRUE, pref_to_check = /datum/preference/toggle/erp/sex_toy_sounds) /obj/item/clothing/sextoy/magic_wand/attack_self(mob/user) toggle_mode() @@ -208,7 +208,7 @@ /// Toggle between toy modes in a specific order /obj/item/clothing/sextoy/magic_wand/proc/toggle_mode() if(vibration_mode != "high") - play_lewd_sound(loc, 'sound/weapons/magin.ogg', 20, TRUE) + conditional_pref_sound(loc, 'sound/weapons/magin.ogg', 20, TRUE) switch(vibration_mode) if("off") @@ -226,7 +226,7 @@ vibration_mode = MAGIC_WAND_MODE_HIGH if("high") - play_lewd_sound(loc, 'sound/weapons/magout.ogg', 20, TRUE) + conditional_pref_sound(loc, 'sound/weapons/magout.ogg', 20, TRUE) soundloop3.stop() vibration_mode = MAGIC_WAND_MODE_OFF diff --git a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/shibari.dm b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/shibari.dm index b00b047d6a8..677f7f3f944 100644 --- a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/shibari.dm +++ b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/shibari.dm @@ -317,15 +317,15 @@ switch(tightness) if(ROPE_TIGHTNESS_HIGH) tightness = ROPE_TIGHTNESS_LOW - play_lewd_sound(loc, 'modular_skyrat/modules/modular_items/lewd_items/sounds/latex.ogg', 25) + conditional_pref_sound(loc, 'modular_skyrat/modules/modular_items/lewd_items/sounds/latex.ogg', 25) balloon_alert(user, span_notice("You slightly tightened the ropes")) if(ROPE_TIGHTNESS_LOW) tightness = ROPE_TIGHTNESS_MED - play_lewd_sound(loc, 'modular_skyrat/modules/modular_items/lewd_items/sounds/latex.ogg', 50) + conditional_pref_sound(loc, 'modular_skyrat/modules/modular_items/lewd_items/sounds/latex.ogg', 50) balloon_alert(user, span_notice("You moderately tightened the ropes")) if(ROPE_TIGHTNESS_MED) tightness = ROPE_TIGHTNESS_HIGH - play_lewd_sound(loc, 'modular_skyrat/modules/modular_items/lewd_items/sounds/latex.ogg', 75) + conditional_pref_sound(loc, 'modular_skyrat/modules/modular_items/lewd_items/sounds/latex.ogg', 75) balloon_alert(user, span_notice("You strongly tightened the ropes")) #undef ROPE_TIGHTNESS_LOW diff --git a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/spanking_pad.dm b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/spanking_pad.dm index e55d3f3b762..dfb307b8203 100644 --- a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/spanking_pad.dm +++ b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/spanking_pad.dm @@ -84,7 +84,7 @@ "spanks [target] with [src], making a loud slapping noise", "slaps [target]'s thighs with [src]") user.visible_message(span_purple("[user] [message]!")) - play_lewd_sound(loc, 'modular_skyrat/modules/modular_items/lewd_items/sounds/slap.ogg', 100, 1, -1) + conditional_pref_sound(loc, 'modular_skyrat/modules/modular_items/lewd_items/sounds/slap.ogg', 100, 1, -1) if(prob(40)) target.try_lewd_autoemote(pick("twitch_s", "moan", "blush", "gasp")) if(prob(10)) diff --git a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/torture_candle.dm b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/torture_candle.dm index ee76fd9a070..ab5530b3726 100644 --- a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/torture_candle.dm +++ b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/torture_candle.dm @@ -203,7 +203,7 @@ if(prob(50)) attacked.try_lewd_autoemote(pick("twitch_s" , "gasp", "shiver")) user.visible_message(span_purple("[user] [message]!")) - play_lewd_sound(loc, pick('modular_skyrat/modules/modular_items/lewd_items/sounds/vax1.ogg', + conditional_pref_sound(loc, pick('modular_skyrat/modules/modular_items/lewd_items/sounds/vax1.ogg', 'modular_skyrat/modules/modular_items/lewd_items/sounds/vax2.ogg'), 70, TRUE) #undef CANDLE_LUMINOSITY diff --git a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/vibrator.dm b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/vibrator.dm index c723119054c..6d9505f6d1e 100644 --- a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/vibrator.dm +++ b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/vibrator.dm @@ -187,7 +187,7 @@ else return user.visible_message(span_purple("[user] [message]!")) - play_lewd_sound(loc, 'modular_skyrat/modules/modular_items/lewd_items/sounds/vibrate.ogg', 10, TRUE) + conditional_pref_sound(loc, 'modular_skyrat/modules/modular_items/lewd_items/sounds/vibrate.ogg', 10, TRUE) /obj/item/clothing/sextoy/vibrator/attack_self(mob/user, obj/item/attack_item) toggle_mode() @@ -208,22 +208,22 @@ if(VIB_OFF) vibration_mode = VIB_LOW toy_on = TRUE - play_lewd_sound(loc, 'sound/weapons/magin.ogg', 20, TRUE) + conditional_pref_sound(loc, 'sound/weapons/magin.ogg', 20, TRUE) soundloop1.start() if(VIB_LOW) vibration_mode = VIB_MEDIUM - play_lewd_sound(loc, 'sound/weapons/magin.ogg', 20, TRUE) + conditional_pref_sound(loc, 'sound/weapons/magin.ogg', 20, TRUE) soundloop1.stop() soundloop2.start() if(VIB_MEDIUM) vibration_mode = VIB_HIGH - play_lewd_sound(loc, 'sound/weapons/magin.ogg', 20, TRUE) + conditional_pref_sound(loc, 'sound/weapons/magin.ogg', 20, TRUE) soundloop2.stop() soundloop3.start() if(VIB_HIGH) vibration_mode = VIB_OFF toy_on = FALSE - play_lewd_sound(loc, 'sound/weapons/magout.ogg', 20, TRUE) + conditional_pref_sound(loc, 'sound/weapons/magout.ogg', 20, TRUE) soundloop3.stop() #undef DEFAULT_AROUSAL_INCREASE diff --git a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/vibroring.dm b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/vibroring.dm index 5bdf297bd7b..e9165a58a31 100644 --- a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/vibroring.dm +++ b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/vibroring.dm @@ -21,7 +21,7 @@ /obj/item/clothing/sextoy/vibroring/attack_self(mob/user) toy_on = !toy_on to_chat(user, span_notice("You turn the vibroring [toy_on ? "on. Brrrr..." : "off."]")) - play_lewd_sound(user, toy_on ? 'sound/weapons/magin.ogg' : 'sound/weapons/magout.ogg', 40, TRUE) + conditional_pref_sound(user, toy_on ? 'sound/weapons/magin.ogg' : 'sound/weapons/magout.ogg', 40, TRUE) update_icon_state() update_icon() switch(toy_on) diff --git a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_structures/bdsm_furniture.dm b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_structures/bdsm_furniture.dm index f6987414836..ade6b6cdcd8 100644 --- a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_structures/bdsm_furniture.dm +++ b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_structures/bdsm_furniture.dm @@ -242,7 +242,7 @@ add_fingerprint(user) update_icon_state() update_icon() - play_lewd_sound(loc, 'sound/weapons/magin.ogg', 20, TRUE) + conditional_pref_sound(loc, 'sound/weapons/magin.ogg', 20, TRUE) //Place the mob in the desired position after buckling /obj/structure/chair/x_stand/post_buckle_mob(mob/living/affected_mob) diff --git a/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/nanotrasen_system_inc/magazine.dm b/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/nanotrasen_system_inc/magazine.dm index 7d1eea899ec..a858ed012c5 100644 --- a/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/nanotrasen_system_inc/magazine.dm +++ b/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/nanotrasen_system_inc/magazine.dm @@ -80,7 +80,7 @@ icon_state = "38" multiple_sprites = AMMO_BOX_PER_BULLET ammo_band_icon = "+38_ammo_band" - + multitype = FALSE custom_premium_price = 50 w_class = WEIGHT_CLASS_SMALL @@ -98,3 +98,27 @@ desc = "Designed to quickly reload revolvers." ammo_type = /obj/item/ammo_casing/c10mm/fire ammo_band_color = "#c41d1a" + +/obj/item/ammo_box/c10mm/speedloader/ap + + name = "speed loader (10mm Auto Armor Penetrating)" + desc = "Designed to quickly reload revolvers." + ammo_type = /obj/item/ammo_casing/c10mm/ap + ammo_band_color = "#1ac43f" + +/obj/item/ammo_box/c10mm/speedloader/hp + + name = "speed loader (10mm Auto Hollow Point)" + desc = "Designed to quickly reload revolvers." + ammo_type = /obj/item/ammo_casing/c10mm/hp + ammo_band_color = "#df00ae" + +/obj/item/ammo_box/magazine/firefly + name = "pistol magazine (.117 Incapacitator)" + icon = 'modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/nanotrasen_system_inc/ammo.dmi' + multiple_sprites = AMMO_BOX_FULL_EMPTY + icon_state = "firefly" + multitype = FALSE + ammo_type = /obj/item/ammo_casing/shotgun/antitide + max_ammo = 10 + caliber = CALIBER_SHOTGUN diff --git a/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/nanotrasen_system_inc/pistol.dm b/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/nanotrasen_system_inc/pistol.dm index 0fee38047fa..0250fac0985 100644 --- a/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/nanotrasen_system_inc/pistol.dm +++ b/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/nanotrasen_system_inc/pistol.dm @@ -27,6 +27,8 @@ bolt_drop_sound = 'sound/weapons/gun/pistol/slide_drop.ogg' pin = /obj/item/firing_pin spawn_magazine_type = /obj/item/ammo_box/magazine/m9mm/rubber + suppressor_x_offset = -2 + suppressor_y_offset = -1 /obj/item/gun/ballistic/automatic/pistol/nt_glock/give_manufacturer_examine() AddElement(/datum/element/manufacturer_examine, COMPANY_NANOTRASEN) @@ -59,9 +61,43 @@ burst_size = 3 spawn_magazine_type = /obj/item/ammo_box/magazine/m9mm/stendo -/obj/item/gun/ballistic/automatic/pistol/nt_glock/empty +//Magistrate Pistol + +/obj/item/storage/toolbox/guncase/skyrat/pistol/trappiste_small_case/firefly + name = "MX-7C Stun Pistol" + + weapon_to_spawn = /obj/item/gun/ballistic/automatic/pistol/firefly/empty + +/obj/item/storage/toolbox/guncase/skyrat/pistol/trappiste_small_case/firefly/PopulateContents() + new weapon_to_spawn (src) + + generate_items_inside(list( + /obj/item/ammo_box/magazine/firefly = 3, + ), src) + +/obj/item/gun/ballistic/automatic/pistol/firefly + name = "\improper MX-7C 'Firefly'" + desc = "NanoTrasen Experimental Model 7 Compact, A rare pistol chambered in a .117 electrode cartridge. It has has a small magazine capacity." + icon = 'modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/nanotrasen_system_inc/pistol.dmi' + icon_state = "firefly" + w_class = WEIGHT_CLASS_NORMAL + spread = 10 + fire_sound = 'sound/weapons/gun/pistol/shot_alt.ogg' + rack_sound = 'sound/weapons/gun/pistol/rack.ogg' + lock_back_sound = 'sound/weapons/gun/pistol/slide_lock.ogg' + bolt_drop_sound = 'sound/weapons/gun/pistol/slide_drop.ogg' + pin = /obj/item/firing_pin + spawn_magazine_type = /obj/item/ammo_box/magazine/firefly + accepted_magazine_type = /obj/item/ammo_box/magazine/firefly + can_suppress = FALSE + +/obj/item/gun/ballistic/automatic/pistol/firefly/give_manufacturer_examine() + AddElement(/datum/element/manufacturer_examine, COMPANY_NANOTRASEN) + +/obj/item/gun/ballistic/automatic/pistol/firefly/empty spawnwithmagazine = FALSE + // Revolver /obj/item/gun/ballistic/revolver/nt_revolver diff --git a/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/romulus_technology/ammo/rifle.dm b/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/romulus_technology/ammo/rifle.dm index 1c70af15dbf..cd5e591b8ad 100644 --- a/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/romulus_technology/ammo/rifle.dm +++ b/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/romulus_technology/ammo/rifle.dm @@ -1,7 +1,7 @@ #define AMMO_MATS_SHOTGUN list(/datum/material/iron = SMALL_MATERIAL_AMOUNT * 4) // not quite as thick as a half-sheet #define AMMO_MATS_SHOTGUN_FLECH list(/datum/material/iron = SMALL_MATERIAL_AMOUNT * 2,\ - /datum/material/titanium = SMALL_MATERIAL_AMOUNT * 2) + /datum/material/glass = SMALL_MATERIAL_AMOUNT * 2) #define AMMO_MATS_SHOTGUN_HIVE list(/datum/material/iron = SMALL_MATERIAL_AMOUNT * 2,\ /datum/material/silver = SMALL_MATERIAL_AMOUNT * 1) diff --git a/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/romulus_technology/pistol.dm b/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/romulus_technology/pistol.dm index fe66d9ede66..c5456120696 100644 --- a/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/romulus_technology/pistol.dm +++ b/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/romulus_technology/pistol.dm @@ -86,26 +86,27 @@ AddElement(/datum/element/manufacturer_examine, COMPANY_ROMTECH) -/obj/item/storage/toolbox/guncase/skyrat/m1911_gold +/obj/item/storage/toolbox/guncase/skyrat/pistol/m1911_gold name = "golden m1911 .460 ceres" weapon_to_spawn = /obj/item/gun/ballistic/automatic/pistol/m1911/gold extra_to_spawn = /obj/item/ammo_box/magazine/m45 -/obj/item/storage/toolbox/guncase/skyrat/m1911/PopulateContents() +/obj/item/storage/toolbox/guncase/skyrat/pistol/m1911/PopulateContents() new weapon_to_spawn (src) generate_items_inside(list( /obj/item/ammo_box/c45 = 2, ), src) -/obj/item/storage/toolbox/guncase/skyrat/m45a5 +/obj/item/storage/toolbox/guncase/skyrat/pistol/m45a5 name = "heavy pistol .460 magnum" -/obj/item/storage/toolbox/guncase/skyrat/m45a5/PopulateContents() +/obj/item/storage/toolbox/guncase/skyrat/pistol/m45a5/PopulateContents() new /obj/item/gun/ballistic/automatic/pistol/m45a5(src) new /obj/item/ammo_box/magazine/m45a5(src) new /obj/item/ammo_box/magazine/m45a5(src) new /obj/item/ammo_box/magazine/m45a5(src) + new /obj/item/storage/pouch/ammo(src) /obj/item/gun/ballistic/automatic/pistol/m45a5 name = "M4A5" @@ -114,7 +115,7 @@ icon_state = "m45a5" fire_sound = 'modular_skyrat/modules/modular_weapons/sounds/pistol_heavy.ogg' force = 15 - fire_delay = 1.8 SECONDS + fire_delay = 1 SECONDS special_mags = TRUE recoil = 3 diff --git a/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/romulus_technology/rifle.dm b/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/romulus_technology/rifle.dm index f2a3cdec7bc..b61c915bf6b 100644 --- a/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/romulus_technology/rifle.dm +++ b/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/romulus_technology/rifle.dm @@ -143,7 +143,8 @@ burst_size = 2 fire_delay = 2 spread = 5 - pin = /obj/item/firing_pin/alert_level +// pin = /obj/item/firing_pin/alert_level this does work but it's a conceptual failure + pin = /obj/item/firing_pin fire_sound = 'modular_skyrat/modules/modular_weapons/sounds/smg_light.ogg' accepted_magazine_type = /obj/item/ammo_box/magazine/caflechette @@ -154,13 +155,15 @@ /// how long does it take to extend/collapse the stock var/toggle_time = 1 SECONDS /// what's our spread with our extended stock (mild varedit compatibility I Guess)? - var/unfolded_spread = 5 + var/unfolded_spread = 2 /// what's our spread with a folded stock (see above comment)? - var/folded_spread = 20 + var/folded_spread = 15 /// Do we have any recoil if it's folded? - var/folded_recoil = 5 + var/folded_recoil = 3 ///Do we lose any recoil when it's not? var/unfolded_recoil = 0 + ///Shuld this gun be one handed anyway? + var/one_handed_always = TRUE /obj/item/gun/ballistic/automatic/rom_flech/examine(mob/user) . = ..() . += span_notice("Alt-click to [folded ? "extend" : "collapse"] the stock.") @@ -191,10 +194,15 @@ spread = folded_spread w_class = WEIGHT_CLASS_NORMAL recoil = folded_recoil + weapon_weight = WEAPON_LIGHT else spread = unfolded_spread w_class = WEIGHT_CLASS_BULKY recoil = unfolded_recoil + if(one_handed_always) + weapon_weight = WEAPON_LIGHT + else + weapon_weight = WEAPON_HEAVY update_icon() /obj/item/gun/ballistic/automatic/rom_flech/update_overlays() @@ -207,11 +215,11 @@ /obj/item/gun/ballistic/automatic/rom_flech/empty spawnwithmagazine = FALSE -/obj/item/storage/toolbox/guncase/skyrat/rom_flech +/obj/item/storage/toolbox/guncase/skyrat/pistol/rom_flech name = "CMG-1 Rifle Case" weapon_to_spawn = /obj/item/gun/ballistic/automatic/rom_flech/empty -/obj/item/storage/toolbox/guncase/skyrat/rom_flech/PopulateContents() +/obj/item/storage/toolbox/guncase/skyrat/pistol/rom_flech/PopulateContents() new weapon_to_spawn (src) generate_items_inside(list( @@ -228,25 +236,25 @@ lefthand_file = 'modular_skyrat/modules/modular_weapons/icons/mob/company_and_or_faction_based/carwo_defense_systems/guns_lefthand.dmi' righthand_file = 'modular_skyrat/modules/modular_weapons/icons/mob/company_and_or_faction_based/carwo_defense_systems/guns_righthand.dmi' inhand_icon_state = "infanterie_evil" - bolt_type = BOLT_TYPE_LOCKING w_class = WEIGHT_CLASS_BULKY weapon_weight = WEAPON_LIGHT burst_size = 3 spread = 0 - pin = /obj/item/firing_pin + unfolded_spread = 0 folded_spread = 7 folded_recoil = 2 unfolded_recoil = 0 + one_handed_always = 1 /obj/item/gun/ballistic/automatic/rom_flech/blueshield/empty spawnwithmagazine = FALSE -/obj/item/storage/toolbox/guncase/skyrat/blueshield_cmg +/obj/item/storage/toolbox/guncase/skyrat/pistol/blueshield_cmg name = "CMG-2C Rifle Case" weapon_to_spawn = /obj/item/gun/ballistic/automatic/rom_flech/blueshield/empty -/obj/item/storage/toolbox/guncase/skyrat/blueshield_cmg/PopulateContents() +/obj/item/storage/toolbox/guncase/skyrat/pistol/blueshield_cmg/PopulateContents() new weapon_to_spawn (src) generate_items_inside(list( diff --git a/modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/nanotrasen_system_inc/ammo.dmi b/modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/nanotrasen_system_inc/ammo.dmi new file mode 100644 index 00000000000..44106ef93a1 Binary files /dev/null and b/modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/nanotrasen_system_inc/ammo.dmi differ diff --git a/modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/nanotrasen_system_inc/pistol.dmi b/modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/nanotrasen_system_inc/pistol.dmi index 2365a3bb0bb..64626e017ad 100644 Binary files a/modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/nanotrasen_system_inc/pistol.dmi and b/modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/nanotrasen_system_inc/pistol.dmi differ diff --git a/modular_skyrat/modules/nanotrasen_rep/code/nanotrasen_consultant.dm b/modular_skyrat/modules/nanotrasen_rep/code/nanotrasen_consultant.dm index 0dbfcba8baf..b5698fd1deb 100644 --- a/modular_skyrat/modules/nanotrasen_rep/code/nanotrasen_consultant.dm +++ b/modular_skyrat/modules/nanotrasen_rep/code/nanotrasen_consultant.dm @@ -54,7 +54,6 @@ head = /obj/item/clothing/head/nanotrasen_consultant backpack_contents = list( /obj/item/melee/baton/telescopic = 1, - /obj/item/choice_beacon/ntc = 1, /obj/item/gun/energy/e_gun/mini = 1, ) @@ -152,4 +151,4 @@ new /obj/item/storage/photo_album/personal(src) new /obj/item/bedsheet/centcom(src) new /obj/item/storage/bag/garment/nanotrasen_consultant(src) - new /obj/item/choice_beacon/station_magistrate(src) + new /obj/item/storage/toolbox/guncase/skyrat/pistol/trappiste_small_case/firefly(src) diff --git a/modular_skyrat/modules/reagent_forging/code/anvil.dm b/modular_skyrat/modules/reagent_forging/code/anvil.dm index a0660e0fb45..768bff07214 100644 --- a/modular_skyrat/modules/reagent_forging/code/anvil.dm +++ b/modular_skyrat/modules/reagent_forging/code/anvil.dm @@ -79,8 +79,8 @@ return ITEM_INTERACT_SUCCESS /obj/structure/reagent_anvil/hammer_act(mob/living/user, obj/item/tool) - //regardless, we will make a sound - playsound(src, 'modular_skyrat/modules/reagent_forging/sound/forge.ogg', 50, TRUE, ignore_walls = FALSE) + //regardless, we will make a sound (if the user has the pref enabled) + conditional_pref_sound(src, 'modular_skyrat/modules/reagent_forging/sound/forge.ogg', 50, TRUE, pref_to_check = /datum/preference/toggle/sound_ambience) //do we have an incomplete item to hammer out? if so, here is our block of code var/obj/item/forging/incomplete/locate_incomplete = locate() in contents diff --git a/modular_skyrat/modules/sec_haul/code/guns/cargo_stuff.dm b/modular_skyrat/modules/sec_haul/code/guns/cargo_stuff.dm index 739b3811c69..2b248320e9c 100644 --- a/modular_skyrat/modules/sec_haul/code/guns/cargo_stuff.dm +++ b/modular_skyrat/modules/sec_haul/code/guns/cargo_stuff.dm @@ -82,6 +82,7 @@ ) crate_name = "Carwo 'Renoster' Shotgun Crate" + /datum/supply_pack/security/armory/sindano name = "Carwo 'Sindano' Submachinegun Crate" desc = "Three entirely proprietary Sindano kits, chambered in .35 Sol Short. Each kit contains three empty magazines and a box each of incapacitator and lethal rounds." @@ -118,8 +119,8 @@ desc = "Two CMG-1, chambered in experimental steel flechette." cost = CARGO_CRATE_VALUE * 20 contains = list( - /obj/item/storage/toolbox/guncase/skyrat/rom_flech, - /obj/item/storage/toolbox/guncase/skyrat/rom_flech, + /obj/item/storage/toolbox/guncase/skyrat/pistol/rom_flech, + /obj/item/storage/toolbox/guncase/skyrat/pistol/rom_flech, ) crate_name = "RomTech CMG-1 Crate" diff --git a/modular_skyrat/modules/sec_haul/code/misc/gun_redemption.dm b/modular_skyrat/modules/sec_haul/code/misc/gun_redemption.dm index 7405acb815f..0fb12c3c1d4 100644 --- a/modular_skyrat/modules/sec_haul/code/misc/gun_redemption.dm +++ b/modular_skyrat/modules/sec_haul/code/misc/gun_redemption.dm @@ -45,7 +45,7 @@ var/static/list/selectable_gun_types = list( "Energy Revolver" = /obj/item/gun/energy/e_gun/blueshield, ".457 Romulus Revolver" = /obj/item/storage/toolbox/guncase/skyrat/hos_revolver, - ".460 Rowland Magnum Pistol" = /obj/item/storage/toolbox/guncase/skyrat/m45a5 + ".460 Rowland Magnum Pistol" = /obj/item/storage/toolbox/guncase/skyrat/pistol/m45a5 ) return selectable_gun_types diff --git a/modular_skyrat/modules/sec_haul/code/misc/packs.dm b/modular_skyrat/modules/sec_haul/code/misc/packs.dm index 43a54d51028..d4f68cfc00c 100644 --- a/modular_skyrat/modules/sec_haul/code/misc/packs.dm +++ b/modular_skyrat/modules/sec_haul/code/misc/packs.dm @@ -21,7 +21,7 @@ /datum/supply_pack/goody/m1911 name = "Authentic SR Sector M1911" desc = "Old but gold, the classic pistol from the golden age of SR, whatever that place is. The M1911 chambered in .460 Ceres. It is sure to give anyone daring to fight you, a second thought. Note that this is a reproduction model by Romulus Federation and may be commonly found in the hand of a Kayit" - contains = list(/obj/item/storage/toolbox/guncase/skyrat/m1911_gold = 1, + contains = list(/obj/item/storage/toolbox/guncase/skyrat/pistol/m1911_gold = 1, ) cost = PAYCHECK_COMMAND * 25 //The pistol is more expensive than rifle because of portability. Not Lethality access_view = ACCESS_WEAPONS @@ -36,4 +36,16 @@ /datum/supply_pack/goody/nt_shotgun name = "NanoTrasen Woodstock Shotgun" desc = "A classic Shotgun used by hunters, police and frontiersmen alike, now at an affordable price." + cost = PAYCHECK_COMMAND * 20 contains = list(/obj/item/gun/ballistic/shotgun/riot, /obj/item/storage/pouch/ammo, /obj/item/storage/belt/bandolier, /obj/item/ammo_box/advanced/s12gauge/hunter) + +/datum/supply_pack/goody/rensoter_shotgun + name = "Renoster Shotgun Single-Pack" + desc = "A common modern shotgun used by Solarian State Police." + contains = list(/obj/item/gun/ballistic/shotgun/riot/sol, /obj/item/storage/pouch/ammo, /obj/item/storage/belt/bandolier, /obj/item/ammo_box/advanced/s12gauge/rubber) + cost = PAYCHECK_COMMAND * 22 + +/datum/supply_pack/goody/double_barrel + name = "Double-barreled Shotgun Single-Pack" + desc = "Lost your beloved bunny to a demonic invasion? Clown broke in and stole your beloved gun? No worries! Get a new gun as long as you can pay the absurd fees." + cost = PAYCHECK_COMMAND * 14 //This is outclassed by peacekeeper combat shotgun diff --git a/modular_skyrat/modules/sec_haul/code/technode/all_nodes.dm b/modular_skyrat/modules/sec_haul/code/technode/all_nodes.dm index 5915a62cbc0..cf47c59128b 100644 --- a/modular_skyrat/modules/sec_haul/code/technode/all_nodes.dm +++ b/modular_skyrat/modules/sec_haul/code/technode/all_nodes.dm @@ -68,18 +68,21 @@ design_ids += "m9mm_mag_ihdf" design_ids += "ca_flechballpoint" design_ids += "m9mm_mag" + design_ids += "c10mm_rincin" + design_ids += "s12g_antitide" . = ..() /datum/techweb_node/exotic_ammo/New() design_ids += "s12g_incinslug" design_ids += "ca_flechripper" design_ids += "sol_bolt_to_rifle" + design_ids += "c10mm_rhp" + design_ids += "c10mm_rap" . = ..() /datum/techweb_node/syndicate_basic/New() design_ids += "s12g_magnum" design_ids += "s12g_express" - design_ids += "s12g_antitide" design_ids += "s12g_ion" . = ..() diff --git a/modular_skyrat/modules/sec_haul/code/technode/sec_research.dm b/modular_skyrat/modules/sec_haul/code/technode/sec_research.dm index e706141afaf..a5f8c934808 100644 --- a/modular_skyrat/modules/sec_haul/code/technode/sec_research.dm +++ b/modular_skyrat/modules/sec_haul/code/technode/sec_research.dm @@ -433,6 +433,42 @@ ) departmental_flags = DEPARTMENT_BITFLAG_SECURITY +/datum/design/c10mm_rincin + name = "10mm Auto Speedloader Fireshot (Lethal)" + desc = "A speedloader in 10mm Auto." + id = "c10mm_rincin" + build_type = PROTOLATHE | AWAY_LATHE + materials = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT * 5, /datum/material/plasma = SHEET_MATERIAL_AMOUNT * 15) + build_path = /obj/item/ammo_box/c10mm/speedloader/fire + category = list( + RND_CATEGORY_WEAPONS + RND_SUBCATEGORY_WEAPONS_AMMO + ) + departmental_flags = DEPARTMENT_BITFLAG_SECURITY + +/datum/design/c10mm_rhp + name = "10mm Auto Speedloader Hollow Point (Very Lethal)" + desc = "A speedloader in 10mm Auto." + id = "c10mm_rhp" + build_type = PROTOLATHE | AWAY_LATHE + materials = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT * 5, /datum/material/titanium = SHEET_MATERIAL_AMOUNT * 15) + build_path = /obj/item/ammo_box/c10mm/speedloader/hp + category = list( + RND_CATEGORY_WEAPONS + RND_SUBCATEGORY_WEAPONS_AMMO + ) + departmental_flags = DEPARTMENT_BITFLAG_SECURITY + +/datum/design/c10mm_rap + name = "10mm Auto Speedloader Armor Piercing (Very Lethal)" + desc = "A speedloader in 10mm Auto." + id = "c10mm_rap" + build_type = PROTOLATHE | AWAY_LATHE + materials = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT * 5, /datum/material/silver = SHEET_MATERIAL_AMOUNT * 15) + build_path = /obj/item/ammo_box/c10mm/speedloader/ap + category = list( + RND_CATEGORY_WEAPONS + RND_SUBCATEGORY_WEAPONS_AMMO + ) + departmental_flags = DEPARTMENT_BITFLAG_SECURITY + //IDMA Gun Stuff /datum/design/caflechette name = "Flechette Rifle Magazine (lethal)" diff --git a/modular_skyrat/modules/shotgunrebalance/code/shotgun.dm b/modular_skyrat/modules/shotgunrebalance/code/shotgun.dm index 3c67e3ebfae..8f0a5a33370 100644 --- a/modular_skyrat/modules/shotgunrebalance/code/shotgun.dm +++ b/modular_skyrat/modules/shotgunrebalance/code/shotgun.dm @@ -231,22 +231,22 @@ icon = 'modular_skyrat/modules/shotgunrebalance/icons/projectiles.dmi' icon_state = "stardust" damage = 15 - stamina = 10 + stamina = 33 damage_falloff_tile = 0.2 stamina_falloff_tile = 0.3 - wound_bonus = 15 - bare_wound_bonus = 15 + wound_bonus = 40 + bare_wound_bonus = 40 stutter = 3 SECONDS jitter = 5 SECONDS eyeblur = 1 SECONDS sharpness = NONE range = 12 embed_type = /datum/embed_data/shotgun_buckshot/antitide - reflectable = FALSE + reflectable = NONE /datum/embed_data/shotgun_buckshot/antitide embed_chance = 200 - pain_chance = 90 + pain_chance = 95 fall_chance = 10 jostle_chance = 10 ignore_throwspeed_threshold = TRUE @@ -269,18 +269,17 @@ damage = 15 //I'd kill you if you manage to kill someone with this shit wound_bonus = 30 bare_wound_bonus = 30 - demolition_mod = 5 + demolition_mod = 2 /obj/projectile/bullet/frangible_slug/on_hit(atom/target, blocked = 0, pierce_hit) . = ..() - if(istype(target, /obj/structure/window) || istype(target, /obj/machinery/door/airlock)) + if(istype(target, /obj/structure/window) || istype(target, /obj/machinery/door/airlock) || istype(target, /obj/structure/grille) || istype(target,/obj/structure/door_assembly)) if(isobj(target)) demolition_mod = 50 damage = 30 else - demolition_mod = 5 + demolition_mod = 2 damage = 15 - return ..() /obj/item/ammo_casing/shotgun/hunter name = "hunter slug shell" diff --git a/modular_skyrat/modules/teshari/code/_clothing_defines.dm b/modular_skyrat/modules/teshari/code/_clothing_defines.dm index 9cab916e14c..68a23c6e9fa 100644 --- a/modular_skyrat/modules/teshari/code/_clothing_defines.dm +++ b/modular_skyrat/modules/teshari/code/_clothing_defines.dm @@ -40,6 +40,11 @@ #define CLOAK_COLORPIXEL_X_2 12 #define CLOAK_COLORPIXEL_Y_2 22 +#define MANTLE_COLORPIXEL_X_1 10 +#define MANTLE_COLORPIXEL_Y_1 20 +#define MANTLE_COLORPIXEL_X_2 15 +#define MANTLE_COLORPIXEL_Y_2 20 + #define UNDER_COLORPIXEL_X_1 15 #define UNDER_COLORPIXEL_Y_1 17 #define UNDER_COLORPIXEL_X_2 10 @@ -47,26 +52,28 @@ #define UNDER_COLORPIXEL_X_3 15 #define UNDER_COLORPIXEL_Y_3 10 +#define THICKROBE_COLORPIXEL_X_1 16 +#define THICKROBE_COLORPIXEL_Y_1 9 #define WIZARDROBE_COLORPIXEL_X_1 16 #define WIZARDROBE_COLORPIXEL_Y_1 9 #define JACKET_COLORPIXEL_X_1 14 -#define JACKET_COLORPIXEL_Y_1 20 +#define JACKET_COLORPIXEL_Y_1 16 #define LONGCOAT_COLORPIXEL_X_1 13 #define LONGCOAT_COLORPIXEL_Y_1 20 -#define THICKROBE_COLORPIXEL_X_1 16 -#define THICKROBE_COLORPIXEL_Y_1 9 #define THICKROBE_COLORPIXEL_X_2 14 #define THICKROBE_COLORPIXEL_Y_2 19 +#define JACKET_COLORPIXEL_X_2 14 +#define JACKET_COLORPIXEL_Y_2 21 #define WIZARDROBE_COLORPIXEL_X_2 14 #define WIZARDROBE_COLORPIXEL_Y_2 19 #define THICKROBE_COLORPIXEL_X_3 13 #define THICKROBE_COLORPIXEL_Y_3 19 -#define THICKROBE_COLORPIXEL_X_4 24 +#define THICKROBE_COLORPIXEL_X_4 8 #define THICKROBE_COLORPIXEL_Y_4 16 #define LONGCOAT_COLORPIXEL_X_4 19 #define LONGCOAT_COLORPIXEL_Y_4 17 -#define JACKET_COLORPIXEL_X_4 10 -#define JACKET_COLORPIXEL_Y_4 17 +#define JACKET_COLORPIXEL_X_4 9 +#define JACKET_COLORPIXEL_Y_4 15 #define THICKROBE_COLORPIXEL_X_5 16 #define THICKROBE_COLORPIXEL_Y_5 12 #define WIZARDROBE_COLORPIXEL_X_5 16 diff --git a/modular_skyrat/modules/teshari/code/teshari_clothes.dm b/modular_skyrat/modules/teshari/code/teshari_clothes.dm index 05c406b4d99..85a40824994 100644 --- a/modular_skyrat/modules/teshari/code/teshari_clothes.dm +++ b/modular_skyrat/modules/teshari/code/teshari_clothes.dm @@ -17,6 +17,10 @@ /obj/item/clothing/neck/cloak species_clothing_color_coords = list(list(CLOAK_COLORPIXEL_X_1, CLOAK_COLORPIXEL_Y_1), list(CLOAK_COLORPIXEL_X_2, CLOAK_COLORPIXEL_Y_2)) greyscale_config_worn_teshari_fallback = /datum/greyscale_config/teshari/cloak + +/obj/item/clothing/neck/mantle + species_clothing_color_coords = list(list(MANTLE_COLORPIXEL_X_1, MANTLE_COLORPIXEL_Y_1), list(MANTLE_COLORPIXEL_X_2, MANTLE_COLORPIXEL_Y_2)) + greyscale_config_worn_teshari_fallback = /datum/greyscale_config/teshari/mantle /obj/item/clothing/neck/tie species_clothing_color_coords = list(list(TIE_COLORPIXEL_X_1, TIE_COLORPIXEL_Y_1)) @@ -38,8 +42,8 @@ species_clothing_color_coords = list(list(LONGCOAT_COLORPIXEL_X_1, LONGCOAT_COLORPIXEL_Y_1), list(THICKROBE_COLORPIXEL_X_2, THICKROBE_COLORPIXEL_Y_2), list(THICKROBE_COLORPIXEL_X_3, THICKROBE_COLORPIXEL_Y_3), list(LONGCOAT_COLORPIXEL_X_4, LONGCOAT_COLORPIXEL_Y_4)) greyscale_config_worn_teshari_fallback = /datum/greyscale_config/teshari/thickrobe/longcoat -/obj/item/clothing/suit/jacket/leather - species_clothing_color_coords = list(list(JACKET_COLORPIXEL_X_1, JACKET_COLORPIXEL_Y_1), list(THICKROBE_COLORPIXEL_X_2, THICKROBE_COLORPIXEL_Y_2), list(THICKROBE_COLORPIXEL_X_3, THICKROBE_COLORPIXEL_Y_3), list(JACKET_COLORPIXEL_X_4, JACKET_COLORPIXEL_Y_4)) +/obj/item/clothing/suit/jacket + species_clothing_color_coords = list(list(JACKET_COLORPIXEL_X_1, JACKET_COLORPIXEL_Y_1), list(JACKET_COLORPIXEL_X_2, JACKET_COLORPIXEL_Y_2), list(THICKROBE_COLORPIXEL_X_3, THICKROBE_COLORPIXEL_Y_3), list(JACKET_COLORPIXEL_X_4, JACKET_COLORPIXEL_Y_4)) greyscale_config_worn_teshari_fallback = /datum/greyscale_config/teshari/thickrobe/jacket /obj/item/clothing/suit/armor @@ -173,3 +177,12 @@ /obj/item/clothing/suit/toggle/suspenders greyscale_config_worn_teshari = /datum/greyscale_config/suspenders/worn/teshari +// Unique clothing here + +/obj/item/clothing/suit/kimjacket + species_clothing_color_coords = list(list(JACKET_COLORPIXEL_X_1, JACKET_COLORPIXEL_Y_1), list(JACKET_COLORPIXEL_X_2, JACKET_COLORPIXEL_Y_2), list(THICKROBE_COLORPIXEL_X_3, THICKROBE_COLORPIXEL_Y_3), list(JACKET_COLORPIXEL_X_4, JACKET_COLORPIXEL_Y_4)) + greyscale_config_worn_teshari_fallback = /datum/greyscale_config/teshari/thickrobe/jacket + +/obj/item/clothing/suit/discoblazer + species_clothing_color_coords = list(list(JACKET_COLORPIXEL_X_1, JACKET_COLORPIXEL_Y_1), list(JACKET_COLORPIXEL_X_2, JACKET_COLORPIXEL_Y_2), list(THICKROBE_COLORPIXEL_X_3, THICKROBE_COLORPIXEL_Y_3), list(JACKET_COLORPIXEL_X_4, JACKET_COLORPIXEL_Y_4)) + greyscale_config_worn_teshari_fallback = /datum/greyscale_config/teshari/thickrobe/jacket diff --git a/sound/items/attributions.txt b/sound/items/attributions.txt index 318488414e5..9a000c39eef 100644 --- a/sound/items/attributions.txt +++ b/sound/items/attributions.txt @@ -64,3 +64,7 @@ toolbox_open.ogg - made by sadboysuss toolbox_rustle.ogg - made by sadboysuss medkit_rustle.ogg - made by sadboysuss } - license: CC-by-SA + +lead_pipe_hit.ogg - jixaw-metal-pipe-falling-sound.mp3 by thenotcheeseman -- https://freesound.org/s/679206/ -- License: Creative Commons 0 +lead_pipe_drop.ogg - jixaw-metal-pipe-falling-sound.mp3 by thenotcheeseman -- https://freesound.org/s/679206/ -- License: Creative Commons 0 +lead_pipe_pickup.ogg - Metal pipe hitting the ground.flac by CGEffex -- https://freesound.org/s/93962/ -- License: Attribution 4.0 diff --git a/sound/items/lead_pipe_drop.ogg b/sound/items/lead_pipe_drop.ogg new file mode 100644 index 00000000000..144d24ca94c Binary files /dev/null and b/sound/items/lead_pipe_drop.ogg differ diff --git a/sound/items/lead_pipe_hit.ogg b/sound/items/lead_pipe_hit.ogg new file mode 100644 index 00000000000..51b4dbf60b1 Binary files /dev/null and b/sound/items/lead_pipe_hit.ogg differ diff --git a/sound/items/lead_pipe_pickup.ogg b/sound/items/lead_pipe_pickup.ogg new file mode 100644 index 00000000000..559138d66a5 Binary files /dev/null and b/sound/items/lead_pipe_pickup.ogg differ diff --git a/tgstation.dme b/tgstation.dme index bf46692668f..a8937139a16 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -1193,7 +1193,6 @@ #include "code\datums\components\cracked.dm" #include "code\datums\components\crank_recharge.dm" #include "code\datums\components\crate_carrier.dm" -#include "code\datums\components\creamed.dm" #include "code\datums\components\cuff_n_stun.dm" #include "code\datums\components\cult_ritual_item.dm" #include "code\datums\components\curse_of_hunger.dm" @@ -1220,6 +1219,7 @@ #include "code\datums\components\evolutionary_leap.dm" #include "code\datums\components\explodable.dm" #include "code\datums\components\explode_on_attack.dm" +#include "code\datums\components\face_decal.dm" #include "code\datums\components\faction_granter.dm" #include "code\datums\components\fertile_egg.dm" #include "code\datums\components\fish_growth.dm"