From ccf78ec01d78b85da673c4af3e219d2b601636d5 Mon Sep 17 00:00:00 2001 From: Ssalty <65713506+KazooBard@users.noreply.github.com> Date: Tue, 6 May 2025 19:10:03 +0200 Subject: [PATCH 01/10] Take the station trait, HoS-AI, out of rotation. (#3722) ## About The Pull Request This PR keeps the trait, but removes it from rotation. This is due to popular demand and the widely perceived imbalance of this for our current game state. As much as the idea is fun, we cannot keep it due to the lack of enjoyment from borgs, Antags, and Sec alike. ## Why It's Good For The Game A comprehensive list would be how EMPs, any sort of conversion, ions, immediately shut down Borgs, which take up security slots, making SeC less efficient if the antag takes any of those options -bordering on impossible to play against for Borgs against Ling or a traitor who has invested in a flashlight. But then, on the other side of things, if a traitor or whoever has no EMPs, they're facing off against a Borg, which cannot be shoved, it can be only flashed. The counterplay against a Sec Borg is very small, mostly in the form of EMPs, which are tough to access, and overall Sec Borgs are just extremely spammy, tough to play against and as. You cannot do much. And now that we have damage slowdown on Borgs, it's a bit better, but it's still very lacking. It's gonna be a curb stomp one way or another. And then there's the issue of Borgs who just don't want to play Sec and there's an unfair expectation placed upon them to play Sec because they've taken the slots, they've become a Borg, now you're a Sec Borg. Not all of our Borg players want to play Sec Borg. I'm pretty sure a lot of them play Borg to play Borg and if they want to play Sec, they play Sec instead. So we've got a conflict of interest that even mechanic balancing of the Sec Borg itself cannot solve. ## Proof Of Testing ## Changelog :cl: config: takes the HOS AI trait out of rotation. /:cl: --- modular_zubbers/code/datums/station_traits/negative_traits.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modular_zubbers/code/datums/station_traits/negative_traits.dm b/modular_zubbers/code/datums/station_traits/negative_traits.dm index 017e5f18168..527486dd154 100644 --- a/modular_zubbers/code/datums/station_traits/negative_traits.dm +++ b/modular_zubbers/code/datums/station_traits/negative_traits.dm @@ -2,7 +2,7 @@ name = "Head of Security AI" trait_type = STATION_TRAIT_NEGATIVE trait_flags = parent_type::trait_flags | STATION_TRAIT_REQUIRES_AI - weight = 3 + weight = 0 show_in_report = TRUE report_message = "For experimental purposes, this station AI has been put in charge of the security department, Security Cyborgs are enabled for the duration of the shift. \ Do not meddle with the silicon laws unless absolutely necessary, the AI is to be treated as a member of command, and your head of Security" From b9e6742281373f475a04d065ff0318aef67e074c Mon Sep 17 00:00:00 2001 From: Bubberbot <151680451+Bubberbot@users.noreply.github.com> Date: Tue, 6 May 2025 19:10:26 +0200 Subject: [PATCH 02/10] Automatic changelog for PR #3722 [ci skip] --- html/changelogs/AutoChangeLog-bubber-pr-3722.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-bubber-pr-3722.yml diff --git a/html/changelogs/AutoChangeLog-bubber-pr-3722.yml b/html/changelogs/AutoChangeLog-bubber-pr-3722.yml new file mode 100644 index 00000000000..edeecde99a5 --- /dev/null +++ b/html/changelogs/AutoChangeLog-bubber-pr-3722.yml @@ -0,0 +1,4 @@ +author: "KazooBard" +delete-after: True +changes: + - config: "takes the HOS AI trait out of rotation." \ No newline at end of file From eca24ce33f6f499f83a3e8307d3a9774b1e3afa8 Mon Sep 17 00:00:00 2001 From: Bombermansam Date: Tue, 6 May 2025 16:18:56 -0400 Subject: [PATCH 03/10] Borgs can use IV drips again (#3723) ## About The Pull Request Restores the ability for borgs to attach IV drips to people again which was removed in an upstream PR refactoring mouse drag interactions. ## Why It's Good For The Game This should have never been restricted from borgs. Medical borgs can actually restore blood to patients efficiently again. ## Proof Of Testing IV drips and Automated IV drips are able to be used by both silicons and crew. ## Changelog :cl: fix: Silicons can attach IV drips again /:cl: --- modular_zubbers/code/game/machinery/iv_drip.dm | 2 ++ tgstation.dme | 1 + 2 files changed, 3 insertions(+) create mode 100644 modular_zubbers/code/game/machinery/iv_drip.dm diff --git a/modular_zubbers/code/game/machinery/iv_drip.dm b/modular_zubbers/code/game/machinery/iv_drip.dm new file mode 100644 index 00000000000..d59760568ea --- /dev/null +++ b/modular_zubbers/code/game/machinery/iv_drip.dm @@ -0,0 +1,2 @@ +/obj/machinery/iv_drip + interaction_flags_mouse_drop = NONE diff --git a/tgstation.dme b/tgstation.dme index abfe370d448..4ec67f0f568 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -8927,6 +8927,7 @@ #include "modular_zubbers\code\game\machinery\crew_monitor.dm" #include "modular_zubbers\code\game\machinery\department_balance.dm" #include "modular_zubbers\code\game\machinery\incident_display.dm" +#include "modular_zubbers\code\game\machinery\iv_drip.dm" #include "modular_zubbers\code\game\machinery\medipen_refiller.dm" #include "modular_zubbers\code\game\machinery\morgue.dm" #include "modular_zubbers\code\game\machinery\syndiepad.dm" From 2c45ab35bbf95f4a774044e921af419c49bce28c Mon Sep 17 00:00:00 2001 From: Bubberbot <151680451+Bubberbot@users.noreply.github.com> Date: Tue, 6 May 2025 22:19:22 +0200 Subject: [PATCH 04/10] Automatic changelog for PR #3723 [ci skip] --- html/changelogs/AutoChangeLog-bubber-pr-3723.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-bubber-pr-3723.yml diff --git a/html/changelogs/AutoChangeLog-bubber-pr-3723.yml b/html/changelogs/AutoChangeLog-bubber-pr-3723.yml new file mode 100644 index 00000000000..bd70cb676a1 --- /dev/null +++ b/html/changelogs/AutoChangeLog-bubber-pr-3723.yml @@ -0,0 +1,4 @@ +author: "Bombermansam" +delete-after: True +changes: + - bugfix: "Silicons can attach IV drips again" \ No newline at end of file From a1535005849d366f996c941abbfad36d431d3055 Mon Sep 17 00:00:00 2001 From: Bubberbot <151680451+Bubberbot@users.noreply.github.com> Date: Tue, 6 May 2025 20:34:12 +0000 Subject: [PATCH 05/10] Bubberstation automatic changelog compile [ci skip] --- html/changelogs/AutoChangeLog-bubber-pr-3722.yml | 4 ---- html/changelogs/AutoChangeLog-bubber-pr-3723.yml | 4 ---- html/changelogs/bubber_archive/2025-05.yml | 5 +++++ 3 files changed, 5 insertions(+), 8 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-bubber-pr-3722.yml delete mode 100644 html/changelogs/AutoChangeLog-bubber-pr-3723.yml diff --git a/html/changelogs/AutoChangeLog-bubber-pr-3722.yml b/html/changelogs/AutoChangeLog-bubber-pr-3722.yml deleted file mode 100644 index edeecde99a5..00000000000 --- a/html/changelogs/AutoChangeLog-bubber-pr-3722.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "KazooBard" -delete-after: True -changes: - - config: "takes the HOS AI trait out of rotation." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-bubber-pr-3723.yml b/html/changelogs/AutoChangeLog-bubber-pr-3723.yml deleted file mode 100644 index bd70cb676a1..00000000000 --- a/html/changelogs/AutoChangeLog-bubber-pr-3723.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Bombermansam" -delete-after: True -changes: - - bugfix: "Silicons can attach IV drips again" \ No newline at end of file diff --git a/html/changelogs/bubber_archive/2025-05.yml b/html/changelogs/bubber_archive/2025-05.yml index 84ee78ed0f2..8f8ecb5b233 100644 --- a/html/changelogs/bubber_archive/2025-05.yml +++ b/html/changelogs/bubber_archive/2025-05.yml @@ -47,3 +47,8 @@ - bugfix: Everyone's chat log no longer bluescreens due to Admins' bad taste in music. Their fatal attempts to make you listen to king gizzard the lizard wizard will now fail silently +2025-05-06: + Bombermansam: + - bugfix: Silicons can attach IV drips again + KazooBard: + - config: takes the HOS AI trait out of rotation. From 66747177d9d909bf6e979e10d06284dad14c97b4 Mon Sep 17 00:00:00 2001 From: LT3 <83487515+lessthnthree@users.noreply.github.com> Date: Tue, 6 May 2025 14:17:35 -0700 Subject: [PATCH 06/10] Remove Skyrat lights off override (#3729) ## About The Pull Request Removes a Skyrat add that turns off lights by default in rooms that have light switches ## Why It's Good For The Game There's no reason to make you hunt for the lights shift start. It also means the janitor can't tell what rooms have broken lights at a glance unless someone hit the switch. ## Changelog :cl: LT3 del: Removed lights being turned off by default in various locations /:cl: --- .../modules/aesthetics/lightswitch/code/lightswitch.dm | 7 ------- 1 file changed, 7 deletions(-) diff --git a/modular_skyrat/modules/aesthetics/lightswitch/code/lightswitch.dm b/modular_skyrat/modules/aesthetics/lightswitch/code/lightswitch.dm index 79db8ae7c16..3d1dac41533 100644 --- a/modular_skyrat/modules/aesthetics/lightswitch/code/lightswitch.dm +++ b/modular_skyrat/modules/aesthetics/lightswitch/code/lightswitch.dm @@ -5,13 +5,6 @@ . = ..() playsound(src, 'modular_skyrat/modules/aesthetics/lightswitch/sound/lightswitch.ogg', 100, 1) -#ifndef UNIT_TESTS -/obj/machinery/light_switch/post_machine_initialize() - . = ..() - if(prob(50) && area.lightswitch) //50% chance for area to start with lights off. - set_lights(FALSE) -#endif - /obj/machinery/light_switch/default_on /obj/machinery/light_switch/default_on/post_machine_initialize() From ca74aa964d0058565c2ae4f665b982894d81a732 Mon Sep 17 00:00:00 2001 From: Bubberbot <151680451+Bubberbot@users.noreply.github.com> Date: Tue, 6 May 2025 23:17:58 +0200 Subject: [PATCH 07/10] Automatic changelog for PR #3729 [ci skip] --- html/changelogs/AutoChangeLog-bubber-pr-3729.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-bubber-pr-3729.yml diff --git a/html/changelogs/AutoChangeLog-bubber-pr-3729.yml b/html/changelogs/AutoChangeLog-bubber-pr-3729.yml new file mode 100644 index 00000000000..eb38a937a25 --- /dev/null +++ b/html/changelogs/AutoChangeLog-bubber-pr-3729.yml @@ -0,0 +1,4 @@ +author: "LT3" +delete-after: True +changes: + - rscdel: "Removed lights being turned off by default in various locations" \ No newline at end of file From d5621ec034b0c075b37882ff877519a0b53739df Mon Sep 17 00:00:00 2001 From: Bubberbot <151680451+Bubberbot@users.noreply.github.com> Date: Tue, 6 May 2025 21:20:12 +0000 Subject: [PATCH 08/10] Bubberstation automatic changelog compile [ci skip] --- html/changelogs/AutoChangeLog-bubber-pr-3729.yml | 4 ---- html/changelogs/bubber_archive/2025-05.yml | 2 ++ 2 files changed, 2 insertions(+), 4 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-bubber-pr-3729.yml diff --git a/html/changelogs/AutoChangeLog-bubber-pr-3729.yml b/html/changelogs/AutoChangeLog-bubber-pr-3729.yml deleted file mode 100644 index eb38a937a25..00000000000 --- a/html/changelogs/AutoChangeLog-bubber-pr-3729.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "LT3" -delete-after: True -changes: - - rscdel: "Removed lights being turned off by default in various locations" \ No newline at end of file diff --git a/html/changelogs/bubber_archive/2025-05.yml b/html/changelogs/bubber_archive/2025-05.yml index 8f8ecb5b233..6167839000d 100644 --- a/html/changelogs/bubber_archive/2025-05.yml +++ b/html/changelogs/bubber_archive/2025-05.yml @@ -52,3 +52,5 @@ - bugfix: Silicons can attach IV drips again KazooBard: - config: takes the HOS AI trait out of rotation. + LT3: + - rscdel: Removed lights being turned off by default in various locations From 14aec07fc40d96301157d66a6ffad1d371940e6c Mon Sep 17 00:00:00 2001 From: Shadow-Quill <44811257+Shadow-Quill@users.noreply.github.com> Date: Tue, 6 May 2025 19:52:01 -0600 Subject: [PATCH 09/10] Removes Pollution (#3725) ## About The Pull Request deletes pollution ## Why It's Good For The Game `The odor of decaying waste fills your nostrils...` ## Changelog :cl: del: Due to new environmental regulations, we have removed all pollutants from our space stations. /:cl: --------- Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com> Co-authored-by: Roxy <75404941+TealSeer@users.noreply.github.com> --- .../bubberstation/icemoon_persistence.dmm | 5 - .../icemoon_underground_icewalker_lower.dmm | 20 +- .../bubberstation/lavaland_dauntless.dmm | 10 +- .../bubberstation/lavaland_persistence.dmm | 5 - .../bubberstation/space_dauntless.dmm | 10 +- .../SpaceRuins/spacehotel_skyrat.dmm | 11 - _maps/map_files/BoxStation/BoxStation.dmm | 23 +- _maps/map_files/VoidRaptor/VoidRaptor.dmm | 38 +-- _maps/map_files/generic/CentCom_skyrat_z2.dmm | 47 ---- _maps/map_files/moonstation/moonstation.dmm | 9 - code/__DEFINES/subsystems.dm | 1 - code/__DEFINES/~skyrat_defines/pollution.dm | 41 --- code/datums/components/crafting/tools.dm | 2 +- code/datums/components/grillable.dm | 5 - code/game/objects/items/cigarettes.dm | 23 -- .../items/stacks/sheets/sheet_types.dm | 2 +- .../crates_lockers/closets/job_closets.dm | 5 - code/game/turfs/change_turf.dm | 10 - code/modules/admin/verbs/fix_air.dm | 4 - .../environmental/LINDA_system.dm | 2 - .../components/unary_devices/vent_scrubber.dm | 6 - .../machinery/portable/scrubber.dm | 5 - .../recipes/drinks/drinks_non-alcoholic.dm | 2 - .../food_and_drinks/recipes/food_mixtures.dm | 4 - code/modules/mob/living/carbon/life.dm | 14 - .../reagents/chemistry/holder/reactions.dm | 16 -- code/modules/reagents/chemistry/recipes.dm | 6 - .../reagents/chemistry/recipes/medicine.dm | 5 - .../code/datums/components/grillable.dm | 9 - .../code/modules/loadout/categories/pocket.dm | 45 ---- modular_skyrat/modules/emotes/code/emotes.dm | 12 - .../code/liquid_systems/liquid_turf.dm | 4 - .../modules/modular_vending/code/wardrobes.dm | 5 - .../pollution/code/admin_spawn_pollution.dm | 12 - .../modules/pollution/code/air_refresher.dm | 62 ----- .../modules/pollution/code/bonfire.dm | 19 -- .../pollution/code/fancy_storage_items.dm | 19 -- .../modules/pollution/code/perfumes.dm | 109 -------- .../modules/pollution/code/pollutant_datum.dm | 27 -- .../pollution/code/pollutants_generic.dm | 183 ------------- .../modules/pollution/code/pollution.dm | 247 ------------------ .../pollution/code/pollution_effect.dm | 10 - .../pollution/code/pollution_emitters.dm | 39 --- .../code/pollution_initializations.dm | 35 --- .../pollution/code/pollution_subsystem.dm | 59 ----- .../modules/pollution/code/scented_candles.dm | 19 -- .../temporary_pollution_emission_component.dm | 36 --- .../modules/pollution/code/turf_open.dm | 33 --- .../modules/pollution/icons/air_refresher.dmi | Bin 285 -> 0 bytes .../modules/pollution/icons/perfume.dmi | Bin 410 -> 0 bytes .../pollution/icons/pollution_scrubber.dmi | Bin 918 -> 0 bytes .../modules/salon/code/barbervend.dm | 1 - .../modules/salon/code/misc_items.dm | 15 -- .../lists/maintenance_loot_common.dm | 13 - .../lists/maintenance_loot_uncommon.dm | 1 - .../spawners/random/moonstation_random.dm | 1 - .../code/modules/loadout/categories/pocket.dm | 52 ---- .../code/modules/pollution/code/perfumes.dm | 47 ---- .../pollution/code/pollutants_generic.dm | 39 --- tgstation.dme | 19 -- .../Scripts_Bubber/3725_remove_pollution.txt | 9 + 61 files changed, 18 insertions(+), 1494 deletions(-) delete mode 100644 code/__DEFINES/~skyrat_defines/pollution.dm delete mode 100644 modular_skyrat/master_files/code/datums/components/grillable.dm delete mode 100644 modular_skyrat/modules/pollution/code/admin_spawn_pollution.dm delete mode 100644 modular_skyrat/modules/pollution/code/air_refresher.dm delete mode 100644 modular_skyrat/modules/pollution/code/bonfire.dm delete mode 100644 modular_skyrat/modules/pollution/code/fancy_storage_items.dm delete mode 100644 modular_skyrat/modules/pollution/code/perfumes.dm delete mode 100644 modular_skyrat/modules/pollution/code/pollutant_datum.dm delete mode 100644 modular_skyrat/modules/pollution/code/pollutants_generic.dm delete mode 100644 modular_skyrat/modules/pollution/code/pollution.dm delete mode 100644 modular_skyrat/modules/pollution/code/pollution_effect.dm delete mode 100644 modular_skyrat/modules/pollution/code/pollution_emitters.dm delete mode 100644 modular_skyrat/modules/pollution/code/pollution_initializations.dm delete mode 100644 modular_skyrat/modules/pollution/code/pollution_subsystem.dm delete mode 100644 modular_skyrat/modules/pollution/code/scented_candles.dm delete mode 100644 modular_skyrat/modules/pollution/code/temporary_pollution_emission_component.dm delete mode 100644 modular_skyrat/modules/pollution/code/turf_open.dm delete mode 100644 modular_skyrat/modules/pollution/icons/air_refresher.dmi delete mode 100644 modular_skyrat/modules/pollution/icons/perfume.dmi delete mode 100644 modular_skyrat/modules/pollution/icons/pollution_scrubber.dmi delete mode 100644 modular_zubbers/code/modules/pollution/code/perfumes.dm delete mode 100644 modular_zubbers/code/modules/pollution/code/pollutants_generic.dm create mode 100644 tools/UpdatePaths/Scripts_Bubber/3725_remove_pollution.txt diff --git a/_maps/RandomRuins/IceRuins/bubberstation/icemoon_persistence.dmm b/_maps/RandomRuins/IceRuins/bubberstation/icemoon_persistence.dmm index c69640a640c..6c6a0bc4c45 100644 --- a/_maps/RandomRuins/IceRuins/bubberstation/icemoon_persistence.dmm +++ b/_maps/RandomRuins/IceRuins/bubberstation/icemoon_persistence.dmm @@ -509,7 +509,6 @@ /area/ruin/space/has_grav/bubbers/persistance/service/sauna) "bv" = ( /obj/structure/table/reinforced/plastitaniumglass, -/obj/machinery/pollution_scrubber, /obj/machinery/duct, /turf/open/floor/mineral/plastitanium, /area/ruin/space/has_grav/bubbers/persistance/service/janitorial) @@ -8262,7 +8261,6 @@ /area/ruin/space/has_grav/bubbers/persistance/service/hydro) "yz" = ( /obj/structure/table/reinforced/plastitaniumglass, -/obj/machinery/pollution_scrubber, /obj/effect/turf_decal/stripes/red/end, /turf/open/floor/iron/dark/small, /area/ruin/space/has_grav/bubbers/persistance/sec/prison) @@ -11002,8 +11000,6 @@ dir = 6 }, /obj/structure/table/reinforced/plastitaniumglass, -/obj/item/storage/box/perfume, -/obj/item/storage/box/perfume, /obj/machinery/light/directional/south, /obj/machinery/button/door{ id = "syndisalon_w"; @@ -12524,7 +12520,6 @@ dir = 4 }, /obj/structure/table/reinforced/plastitaniumglass, -/obj/machinery/pollution_scrubber, /obj/machinery/duct, /turf/open/floor/wood/large, /area/ruin/space/has_grav/bubbers/persistance/service/diner) diff --git a/_maps/RandomRuins/IceRuins/skyrat/icemoon_underground_icewalker_lower.dmm b/_maps/RandomRuins/IceRuins/skyrat/icemoon_underground_icewalker_lower.dmm index 40cd53d6444..5731aec07d1 100644 --- a/_maps/RandomRuins/IceRuins/skyrat/icemoon_underground_icewalker_lower.dmm +++ b/_maps/RandomRuins/IceRuins/skyrat/icemoon_underground_icewalker_lower.dmm @@ -1,12 +1,4 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"ak" = ( -/obj/machinery/pollution_scrubber{ - on = 1; - use_power = 0; - alpha = 0 - }, -/turf/open/misc/asteroid/snow/icemoon, -/area/ruin/unpowered/primitive_catgirl_den) "au" = ( /obj/structure/chair/wood{ dir = 1 @@ -290,14 +282,6 @@ }, /turf/open/misc/dirt/icemoon, /area/ruin/unpowered/primitive_catgirl_den) -"hb" = ( -/obj/machinery/pollution_scrubber{ - on = 1; - use_power = 0; - alpha = 0 - }, -/turf/closed/wall/mineral/stone, -/area/ruin/unpowered/primitive_catgirl_den) "hn" = ( /obj/structure/rack/wooden, /obj/item/clothing/shoes/winterboots/ice_boots/primitive_catgirl_boots{ @@ -3625,7 +3609,7 @@ VZ oJ oJ sS -ak +oJ Vi pa oJ @@ -3747,7 +3731,7 @@ yp su vx AG -hb +yF pa pa pa diff --git a/_maps/RandomRuins/LavaRuins/bubberstation/lavaland_dauntless.dmm b/_maps/RandomRuins/LavaRuins/bubberstation/lavaland_dauntless.dmm index 7513395ba15..31fda55e4e0 100644 --- a/_maps/RandomRuins/LavaRuins/bubberstation/lavaland_dauntless.dmm +++ b/_maps/RandomRuins/LavaRuins/bubberstation/lavaland_dauntless.dmm @@ -11215,14 +11215,6 @@ "VY" = ( /turf/closed/wall/r_wall/syndicate/nodiagonal, /area/ruin/space/has_grav/bubbers/dauntless/command/vault) -"VZ" = ( -/obj/structure/table/reinforced/plastitaniumglass, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/pollution_scrubber, -/turf/open/floor/wood/tile, -/area/ruin/space/has_grav/bubbers/dauntless/service/diner) "Wa" = ( /obj/effect/turf_decal/siding/dark{ dir = 10 @@ -13996,7 +13988,7 @@ Da JP jh uP -VZ +jh vn pw SO diff --git a/_maps/RandomRuins/LavaRuins/bubberstation/lavaland_persistence.dmm b/_maps/RandomRuins/LavaRuins/bubberstation/lavaland_persistence.dmm index 2c2483f601f..8e54f466223 100644 --- a/_maps/RandomRuins/LavaRuins/bubberstation/lavaland_persistence.dmm +++ b/_maps/RandomRuins/LavaRuins/bubberstation/lavaland_persistence.dmm @@ -1605,7 +1605,6 @@ /area/ruin/space/has_grav/bubbers/persistance/service) "eZ" = ( /obj/structure/table/reinforced/plastitaniumglass, -/obj/machinery/pollution_scrubber, /obj/machinery/duct, /turf/open/floor/mineral/plastitanium, /area/ruin/space/has_grav/bubbers/persistance/service/janitorial) @@ -3079,7 +3078,6 @@ dir = 4 }, /obj/structure/table/reinforced/plastitaniumglass, -/obj/machinery/pollution_scrubber, /obj/machinery/duct, /turf/open/floor/wood/large, /area/ruin/space/has_grav/bubbers/persistance/service/diner) @@ -3446,7 +3444,6 @@ /area/ruin/space/has_grav/bubbers/persistance/engineering) "kq" = ( /obj/structure/table/reinforced/plastitaniumglass, -/obj/machinery/pollution_scrubber, /obj/effect/turf_decal/stripes/red/end, /turf/open/floor/iron/dark/small, /area/ruin/space/has_grav/bubbers/persistance/sec/prison) @@ -9922,8 +9919,6 @@ dir = 6 }, /obj/structure/table/reinforced/plastitaniumglass, -/obj/item/storage/box/perfume, -/obj/item/storage/box/perfume, /obj/machinery/light/directional/south, /obj/machinery/button/door{ id = "syndisalon_w"; diff --git a/_maps/RandomRuins/SpaceRuins/bubberstation/space_dauntless.dmm b/_maps/RandomRuins/SpaceRuins/bubberstation/space_dauntless.dmm index 557090dfc83..b1f82b63f3e 100644 --- a/_maps/RandomRuins/SpaceRuins/bubberstation/space_dauntless.dmm +++ b/_maps/RandomRuins/SpaceRuins/bubberstation/space_dauntless.dmm @@ -3826,14 +3826,6 @@ /obj/effect/mapping_helpers/airlock/access/all/syndicate/general, /turf/open/floor/iron/dark/small, /area/ruin/space/has_grav/bubbers/dauntless/sec/prison) -"rn" = ( -/obj/structure/table/reinforced/plastitaniumglass, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/pollution_scrubber, -/turf/open/floor/wood/tile, -/area/ruin/space/has_grav/bubbers/dauntless/service/diner) "ro" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -13838,7 +13830,7 @@ Kz zH dW kZ -rn +dW zl qH zl diff --git a/_maps/RandomRuins/SpaceRuins/spacehotel_skyrat.dmm b/_maps/RandomRuins/SpaceRuins/spacehotel_skyrat.dmm index ec331e0094a..b85cd625e55 100644 --- a/_maps/RandomRuins/SpaceRuins/spacehotel_skyrat.dmm +++ b/_maps/RandomRuins/SpaceRuins/spacehotel_skyrat.dmm @@ -134,7 +134,6 @@ /area/ruin/space/has_grav/hotel/guestroom/room_5) "aD" = ( /obj/structure/table/wood, -/obj/item/storage/fancy/candle_box/amber, /obj/effect/spawner/random/entertainment/lighter, /obj/item/wrench, /turf/open/floor/carpet/neon/simple/pink/nodots, @@ -264,7 +263,6 @@ /obj/structure/table/wood, /obj/effect/spawner/random/entertainment/lighter, /obj/item/wrench, -/obj/item/storage/fancy/candle_box/amber, /turf/open/floor/carpet/neon/simple/black/nodots, /area/ruin/space/has_grav/hotel/guestroom/room_1) "by" = ( @@ -3919,8 +3917,6 @@ /area/ruin/space/has_grav/hotel) "tP" = ( /obj/structure/table/reinforced/plastitaniumglass, -/obj/item/storage/fancy/candle_box/pear, -/obj/item/storage/fancy/candle_box/vanilla, /obj/effect/spawner/random/entertainment/lighter, /obj/item/wrench, /turf/open/floor/carpet/neon/simple/white/nodots, @@ -5722,7 +5718,6 @@ "Ga" = ( /obj/structure/table/wood, /obj/item/flashlight/lamp/green, -/obj/item/storage/fancy/candle_box/mint, /obj/effect/spawner/random/entertainment/lighter, /obj/item/wrench, /turf/open/floor/carpet/royalblack, @@ -7088,7 +7083,6 @@ /obj/structure/table/wood/fancy/green, /obj/item/wrench, /obj/effect/spawner/random/entertainment/lighter, -/obj/item/storage/fancy/candle_box/jasmine, /obj/machinery/light{ dir = 4 }, @@ -7350,7 +7344,6 @@ "QM" = ( /obj/structure/table/wood, /obj/item/flashlight/lamp/green, -/obj/item/storage/fancy/candle_box/jasmine, /obj/effect/spawner/random/entertainment/lighter, /obj/item/wrench, /turf/open/floor/wood, @@ -8238,10 +8231,6 @@ /obj/item/cigarette/pipe{ pixel_x = -5 }, -/obj/machinery/pollution_scrubber{ - pixel_x = 7; - pixel_y = -5 - }, /turf/open/floor/wood/large, /area/ruin/space/has_grav/hotel/guestroom/room_4) "Xk" = ( diff --git a/_maps/map_files/BoxStation/BoxStation.dmm b/_maps/map_files/BoxStation/BoxStation.dmm index 7e5a8b57975..eabc06b1331 100644 --- a/_maps/map_files/BoxStation/BoxStation.dmm +++ b/_maps/map_files/BoxStation/BoxStation.dmm @@ -2139,10 +2139,6 @@ pixel_x = -7; pixel_y = 14 }, -/obj/machinery/pollution_scrubber{ - pixel_x = 5; - pixel_y = -3 - }, /turf/open/floor/iron/grimy, /area/station/security/detectives_office) "aoM" = ( @@ -10935,10 +10931,6 @@ dir = 4 }, /obj/structure/table/wood, -/obj/item/storage/box/perfume{ - pixel_x = 4; - pixel_y = 5 - }, /obj/item/storage/box/lipsticks{ pixel_x = -6; pixel_y = 3 @@ -35042,11 +35034,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark/textured, /area/station/command/gateway) -"dPy" = ( -/obj/structure/table, -/obj/machinery/pollution_scrubber, -/turf/open/floor/wood, -/area/station/service/bar) "dPz" = ( /obj/structure/table, /obj/item/book/manual/wiki/security_space_law, @@ -56389,12 +56376,6 @@ /obj/structure/plant_tank, /turf/open/floor/grass, /area/station/service/hydroponics) -"rqb" = ( -/obj/machinery/pollution_scrubber, -/obj/structure/chair/comfy/brown, -/obj/effect/landmark/start/hangover, -/turf/open/floor/wood/parquet, -/area/station/service/bar) "rqi" = ( /turf/open/floor/wood, /area/station/command/heads_quarters/hop) @@ -101454,7 +101435,7 @@ avC pxR adq aQb -dPy +aPZ aRu chR aCG @@ -102739,7 +102720,7 @@ aKq aSo aNH nah -rqb +aUg iHH fTS clX diff --git a/_maps/map_files/VoidRaptor/VoidRaptor.dmm b/_maps/map_files/VoidRaptor/VoidRaptor.dmm index 8f17941f7fb..65902e08af8 100644 --- a/_maps/map_files/VoidRaptor/VoidRaptor.dmm +++ b/_maps/map_files/VoidRaptor/VoidRaptor.dmm @@ -8241,10 +8241,6 @@ /area/station/medical/chemistry) "cyd" = ( /obj/structure/table, -/obj/machinery/pollution_scrubber{ - pixel_x = 7; - pixel_y = -5 - }, /turf/open/floor/wood/large, /area/station/hallway/secondary/exit/departure_lounge) "cyi" = ( @@ -11865,10 +11861,6 @@ id = "Barshutters"; name = "Bar Shutters" }, -/obj/machinery/pollution_scrubber{ - pixel_x = 7; - pixel_y = -5 - }, /turf/open/floor/iron/large, /area/station/service/bar) "dAD" = ( @@ -22928,9 +22920,6 @@ "gIT" = ( /obj/structure/table/reinforced, /obj/item/book/manual/wiki/barman_recipes, -/obj/machinery/pollution_scrubber{ - pixel_x = -15 - }, /turf/open/floor/carpet/purple, /area/station/common/night_club) "gIW" = ( @@ -28942,10 +28931,6 @@ id = "kitchen_counter"; name = "Kitchen Counter Shutters" }, -/obj/machinery/pollution_scrubber{ - pixel_x = -7; - pixel_y = 1 - }, /obj/structure/table, /turf/open/floor/iron/large, /area/station/service/kitchen) @@ -49813,20 +49798,6 @@ /obj/machinery/airalarm/directional/east, /turf/open/floor/iron/large, /area/station/commons/toilet) -"nWw" = ( -/obj/machinery/door/firedoor, -/obj/structure/table/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 4; - id = "Barshutters"; - name = "Bar Shutters" - }, -/obj/machinery/pollution_scrubber{ - pixel_x = 7; - pixel_y = 4 - }, -/turf/open/floor/iron/large, -/area/station/service/bar) "nWY" = ( /obj/effect/turf_decal/trimline/green/filled/warning, /obj/structure/disposalpipe/segment, @@ -65091,10 +65062,6 @@ /obj/structure/table/wood, /obj/item/food/chips, /obj/item/reagent_containers/cup/soda_cans/cola, -/obj/machinery/pollution_scrubber{ - pixel_x = 6; - pixel_y = 1 - }, /turf/open/floor/carpet/green, /area/station/commons/dorms) "sjE" = ( @@ -69915,9 +69882,6 @@ "twd" = ( /obj/structure/table/wood, /obj/item/storage/fancy/donut_box, -/obj/machinery/pollution_scrubber{ - pixel_x = -15 - }, /turf/open/floor/carpet, /area/station/commons/dorms) "twe" = ( @@ -118308,7 +118272,7 @@ oUR iWH hbf sgE -nWw +dAz eks eaR dAz diff --git a/_maps/map_files/generic/CentCom_skyrat_z2.dmm b/_maps/map_files/generic/CentCom_skyrat_z2.dmm index e1d17d35daa..22f17b52f81 100644 --- a/_maps/map_files/generic/CentCom_skyrat_z2.dmm +++ b/_maps/map_files/generic/CentCom_skyrat_z2.dmm @@ -1971,44 +1971,6 @@ /area/centcom/holding/cafe/park) "aAq" = ( /obj/structure/rack/wooden, -/obj/item/perfume/amber{ - pixel_x = -8; - pixel_y = 10 - }, -/obj/item/perfume/cologne{ - pixel_x = -4; - pixel_y = 10 - }, -/obj/item/perfume/wood{ - pixel_y = 10 - }, -/obj/item/perfume/mint{ - pixel_x = 4; - pixel_y = 10 - }, -/obj/item/perfume/cherry{ - pixel_x = -8; - pixel_y = -5 - }, -/obj/item/perfume/jasmine{ - pixel_x = -4; - pixel_y = -5 - }, -/obj/item/perfume/pear{ - pixel_y = -5 - }, -/obj/item/perfume/rose{ - pixel_x = 4; - pixel_y = -5 - }, -/obj/item/perfume/vanilla{ - pixel_x = 8; - pixel_y = 10 - }, -/obj/item/perfume/strawberry{ - pixel_x = 8; - pixel_y = -5 - }, /obj/structure/window/spawner/directional/east, /obj/effect/turf_decal/siding/wood{ dir = 5 @@ -4614,12 +4576,6 @@ /obj/effect/turf_decal/siding/wood{ dir = 4 }, -/obj/item/storage/fancy/candle_box/pear{ - pixel_y = 10 - }, -/obj/item/storage/fancy/candle_box/vanilla{ - pixel_y = 4 - }, /turf/open/floor/wood, /area/centcom/interlink) "bqT" = ( @@ -15157,9 +15113,6 @@ /obj/item/storage/fancy/candle_box{ pixel_y = 10 }, -/obj/item/storage/fancy/candle_box/amber{ - pixel_y = 4 - }, /turf/open/floor/wood, /area/centcom/interlink) "pPw" = ( diff --git a/_maps/map_files/moonstation/moonstation.dmm b/_maps/map_files/moonstation/moonstation.dmm index 52574a73b1d..123a85de8d4 100644 --- a/_maps/map_files/moonstation/moonstation.dmm +++ b/_maps/map_files/moonstation/moonstation.dmm @@ -12122,7 +12122,6 @@ /obj/structure/closet/secure_closet/miner, /obj/item/storage/medkit/toxin, /obj/item/gps/mining, -/obj/item/perfume/iron, /obj/machinery/button/door/directional/east{ id = "mining_shutters"; name = "Mining Shutters Control"; @@ -22306,7 +22305,6 @@ /obj/structure/closet/secure_closet/miner, /obj/item/storage/medkit/toxin, /obj/item/gps/mining, -/obj/item/perfume/iron, /obj/machinery/light/moonstation/directional/east, /turf/open/floor/iron, /area/station/cargo/miningdock) @@ -35144,10 +35142,6 @@ /area/station/security/brig/entrance) "jIc" = ( /obj/structure/closet/jcloset, -/obj/item/air_refresher, -/obj/item/air_refresher, -/obj/item/air_refresher, -/obj/item/air_refresher, /obj/effect/turf_decal/tile/purple/half/contrasted{ dir = 4 }, @@ -43445,7 +43439,6 @@ /obj/structure/sign/poster/random/directional/east, /obj/item/storage/medkit/toxin, /obj/item/gps/mining, -/obj/item/perfume/iron, /turf/open/floor/iron, /area/station/cargo/miningdock) "lUt" = ( @@ -74545,7 +74538,6 @@ /obj/structure/closet/secure_closet/miner, /obj/item/storage/medkit/toxin, /obj/item/gps/mining, -/obj/item/perfume/iron, /obj/item/radio/intercom/directional/east, /turf/open/floor/iron, /area/station/cargo/miningdock) @@ -75981,7 +75973,6 @@ /obj/effect/mapping_helpers/requests_console/ore_update, /obj/effect/mapping_helpers/requests_console/supplies, /obj/structure/table/wood, -/obj/machinery/pollution_scrubber, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/checker, /area/station/cargo/blacksmith) diff --git a/code/__DEFINES/subsystems.dm b/code/__DEFINES/subsystems.dm index 0776e8f2adc..ea11d2294e5 100644 --- a/code/__DEFINES/subsystems.dm +++ b/code/__DEFINES/subsystems.dm @@ -168,7 +168,6 @@ #define INIT_ORDER_RESTAURANT 34 #define INIT_ORDER_TTS 33 #define INIT_ORDER_FLUIDS 32 // Needs to be above atoms, as some atoms may want to start fluids/gases on init -#define INIT_ORDER_POLLUTION 31 //SKYRAT EDIT ADDITION - //Needs to be above atoms #define INIT_ORDER_ATOMS 30 #define INIT_ORDER_ARMAMENTS 27 // SKYRAT EDIT ADDITION - Needs to be between atoms and default so it runs before gun companies #define INIT_ORDER_LANGUAGE 25 diff --git a/code/__DEFINES/~skyrat_defines/pollution.dm b/code/__DEFINES/~skyrat_defines/pollution.dm deleted file mode 100644 index 72e11bcb695..00000000000 --- a/code/__DEFINES/~skyrat_defines/pollution.dm +++ /dev/null @@ -1,41 +0,0 @@ -#define REGISTER_POLLUTION(pollution) SSpollution.all_polution[pollution] = TRUE -#define UNREGISTER_POLLUTION(pollution) SSpollution.all_polution -= pollution -#define SET_ACTIVE_POLLUTION(pollution) SSpollution.active_pollution[pollution] = TRUE -#define SET_UNACTIVE_POLLUTION(pollution) SSpollution.active_pollution -= pollution -#define SET_PROCESSED_THIS_RUN(pollution) SSpollution.processed_this_run[pollution] = TRUE -#define REMOVE_POLLUTION_CURRENTRUN(pollution) SSpollution.current_run -= pollution - -#define POLLUTION_HEIGHT_DIVISOR 10 - -#define TICKS_TO_DISSIPATE 20 - -#define POLLUTION_TASK_PROCESS 1 -#define POLLUTION_TASK_DISSIPATE 2 - -#define SCENT_DESC_ODOR "odour" -#define SCENT_DESC_SMELL "smell" -#define SCENT_DESC_FRAGRANCE "fragrance" - -#define POLLUTION_DISSIPATION_PLANETARY_MULTIPLIER 4 - -///Minimum amount of smell power to be able to sniff a pollutant -#define POLLUTANT_SMELL_THRESHOLD 3.5 - -#define POLLUTANT_SMELL_NORMAL 20 -#define POLLUTANT_SMELL_STRONG 40 - -#define SMELL_COOLDOWN (1 MINUTES) - -//Bitflags for pollutants -#define POLLUTANT_APPEARANCE (1<<0) //Pollutant has an appearance -#define POLLUTANT_SMELL (1<<1) //Pollutant has a smell -#define POLLUTANT_TOUCH_ACT (1<<2) //Pollutant calls touch_act() on unprotected people touched by it -#define POLLUTANT_BREATHE_ACT (1<<3) //Pollutant calls smell_act() on people breathing it in - -#define POLLUTANT_APPEARANCE_THICKNESS_THRESHOLD 30 -#define THICKNESS_ALPHA_COEFFICIENT 0.0025 - -//Cap for active emitters that can be running for a very long time -#define POLLUTION_ACTIVE_EMITTER_CAP 200 -//For things that you dont want to cause too much pollution -#define POLLUTION_PASSIVE_EMITTER_CAP 70 diff --git a/code/datums/components/crafting/tools.dm b/code/datums/components/crafting/tools.dm index 59ee1276d59..10b0352d376 100644 --- a/code/datums/components/crafting/tools.dm +++ b/code/datums/components/crafting/tools.dm @@ -14,7 +14,7 @@ reqs = list(/obj/item/grown/log = 5) parts = list(/obj/item/grown/log = 5) blacklist = list(/obj/item/grown/log/steel) - result = /obj/structure/bonfire/player_made // SKYRAT EDIT - Pollution - ORIGINAL: result = /obj/structure/bonfire + result = /obj/structure/bonfire category = CAT_TOOLS /datum/crafting_recipe/boneshovel diff --git a/code/datums/components/grillable.dm b/code/datums/components/grillable.dm index e7b1de5e22a..3b3ef047c83 100644 --- a/code/datums/components/grillable.dm +++ b/code/datums/components/grillable.dm @@ -123,11 +123,6 @@ SIGNAL_HANDLER . = COMPONENT_HANDLED_GRILLING - //SKYRAT EDIT ADDITION - if(pollutant_type) - var/turf/parent_turf = get_turf(parent) - parent_turf.pollute_turf(pollutant_type, 10) - //SKYRAT EDIT END current_cook_time += seconds_per_tick * 10 //turn it into ds if(current_cook_time >= required_cook_time) diff --git a/code/game/objects/items/cigarettes.dm b/code/game/objects/items/cigarettes.dm index f2f64f7e28c..7720fe6976f 100644 --- a/code/game/objects/items/cigarettes.dm +++ b/code/game/objects/items/cigarettes.dm @@ -94,10 +94,6 @@ CIGARETTE PACKETS ARE IN FANCY.DM /obj/item/match/proc/matchignite() if(lit || burnt || broken) return - //SKYRAT EDIT ADDITION - var/turf/my_turf = get_turf(src) - my_turf.pollute_turf(/datum/pollutant/sulphur, 5) - //SKYRAT EDIT END playsound(src, 'sound/items/match_strike.ogg', 15, TRUE) lit = TRUE damtype = BURN @@ -232,8 +228,6 @@ CIGARETTE PACKETS ARE IN FANCY.DM /// 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 - /obj/item/cigarette/Initialize(mapload) . = ..() AddComponent(/datum/component/knockoff, 90, list(BODY_ZONE_PRECISE_MOUTH), slot_flags) //90% to knock off when wearing a mask @@ -420,12 +414,6 @@ CIGARETTE PACKETS ARE IN FANCY.DM e.start(src) qdel(src) return - //SKYRAT EDIT ADDITION - // Setting the puffed pollutant to cannabis if we're smoking the space drugs reagent(obtained from cannabis) - if(reagents.has_reagent(/datum/reagent/drug/space_drugs)) - pollution_type = /datum/pollutant/smoke/cannabis - // allowing reagents to react after being lit - //SKYRAT EDIT END reagents.flags &= ~(NO_REACT) reagents.handle_reactions() @@ -553,11 +541,6 @@ CIGARETTE PACKETS ARE IN FANCY.DM extinguish() return - // SKYRAT EDIT ADDITION START - Pollution - var/turf/location = get_turf(src) - location.pollute_turf(pollution_type, 5, POLLUTION_PASSIVE_EMITTER_CAP) - // SKYRAT EDIT END - smoketime -= seconds_per_tick * (1 SECONDS) if(smoketime <= 0) put_out(user) @@ -1123,12 +1106,6 @@ CIGARETTE PACKETS ARE IN FANCY.DM //Time to start puffing those fat vapes, yo. COOLDOWN_START(src, drag_cooldown, dragtime) - //SKYRAT EDIT ADDITION - //open flame removed because vapes are a closed system, they won't light anything on fire - var/turf/my_turf = get_turf(src) - my_turf.pollute_turf(/datum/pollutant/smoke/vape, 5, POLLUTION_PASSIVE_EMITTER_CAP) - //SKYRAT EDIT END - if(obj_flags & EMAGGED) var/datum/effect_system/fluid_spread/smoke/chem/smoke_machine/puff = new puff.set_up(4, holder = src, location = loc, carry = reagents, efficiency = 24) diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index 2a903c0f917..5d50e7a51a4 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -362,7 +362,7 @@ GLOBAL_LIST_INIT(wood_recipes, list ( \ new/datum/stack_recipe("loom", /obj/structure/loom, 10, time = 1.5 SECONDS, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ONE_PER_TURF | CRAFT_ON_SOLID_GROUND, category = CAT_TOOLS), \ new/datum/stack_recipe("mortar", /obj/item/reagent_containers/cup/mortar, 3, crafting_flags = NONE, category = CAT_CHEMISTRY), \ new/datum/stack_recipe("firebrand", /obj/item/match/firebrand, 2, time = 10 SECONDS, crafting_flags = NONE, category = CAT_TOOLS), \ - new/datum/stack_recipe("bonfire", /obj/structure/bonfire/player_made, 10, time = 6 SECONDS, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ONE_PER_TURF | CRAFT_ON_SOLID_GROUND, category = CAT_TOOLS), /* SKYRAT EDIT - Pollution - ORIGINAL: /obj/structure/bonfire */ \ + new/datum/stack_recipe("bonfire", /obj/structure/bonfire, 10, time = 6 SECONDS, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ONE_PER_TURF | CRAFT_ON_SOLID_GROUND, category = CAT_TOOLS), \ new/datum/stack_recipe("easel", /obj/structure/easel, 5, time = 1 SECONDS, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ONE_PER_TURF | CRAFT_ON_SOLID_GROUND, category = CAT_ENTERTAINMENT), \ new/datum/stack_recipe("noticeboard", /obj/item/wallframe/noticeboard, 1, time = 1 SECONDS, crafting_flags = NONE, category = CAT_FURNITURE), \ new/datum/stack_recipe("fish mount", /obj/item/wallframe/fish, 2, time = 3 SECONDS, crafting_flags = NONE, category = CAT_FURNITURE),\ diff --git a/code/game/objects/structures/crates_lockers/closets/job_closets.dm b/code/game/objects/structures/crates_lockers/closets/job_closets.dm index 8b72e6c815c..25745884838 100644 --- a/code/game/objects/structures/crates_lockers/closets/job_closets.dm +++ b/code/game/objects/structures/crates_lockers/closets/job_closets.dm @@ -67,11 +67,6 @@ new /obj/item/watertank/janitor(src) new /obj/item/storage/belt/janitor(src) - //SKYRAT EDIT ADDITION - new /obj/item/air_refresher(src) - new /obj/item/air_refresher(src) - //SKYRAT EDIT END - /obj/structure/closet/lawcloset name = "legal closet" desc = "It's a storage unit for courtroom apparel and items." diff --git a/code/game/turfs/change_turf.dm b/code/game/turfs/change_turf.dm index 12bc1d3f2be..a2f416073ec 100644 --- a/code/game/turfs/change_turf.dm +++ b/code/game/turfs/change_turf.dm @@ -246,17 +246,11 @@ GLOBAL_LIST_INIT(blacklisted_automated_baseturfs, typecacheof(list( var/datum/gas_mixture/stashed_air = new() stashed_air.copy_from(air) var/stashed_state = excited - var/datum/pollution/stashed_pollution = pollution //SKYRAT EDIT ADDITION var/datum/excited_group/stashed_group = excited_group . = ..() //If path == type this will return us, don't bank on making a new type if (!.) // changeturf failed or didn't do anything return var/turf/open/new_turf = . - //SKYRAT EDIT ADDITION - if(stashed_pollution) - new_turf.pollution = stashed_pollution - stashed_pollution.handle_overlay() - //SKYRAT EDIT END new_turf.air.copy_from(stashed_air) new_turf.excited = stashed_state new_turf.excited_group = stashed_group @@ -268,10 +262,6 @@ GLOBAL_LIST_INIT(blacklisted_automated_baseturfs, typecacheof(list( if(stashed_group.should_display || SSair.display_all_groups) stashed_group.display_turf(new_turf) else - //SKYRAT EDIT ADDITION - if(pollution) - qdel(pollution) - //SKYRAT EDIT END if(excited || excited_group) SSair.remove_from_active(src) //Clean up wall excitement, and refresh excited groups if(ispath(path, /turf/closed) || ispath(path, /turf/cordon)) diff --git a/code/modules/admin/verbs/fix_air.dm b/code/modules/admin/verbs/fix_air.dm index d9e81086c72..4da06921b92 100644 --- a/code/modules/admin/verbs/fix_air.dm +++ b/code/modules/admin/verbs/fix_air.dm @@ -7,10 +7,6 @@ ADMIN_VERB_AND_CONTEXT_MENU(fix_air, R_ADMIN, "Fix Air", "Fixes air in a specifi if(valid_range_turf.blocks_air) //skip walls continue - //SKYRAT EDIT ADDITION START - if(valid_range_turf.pollution) - qdel(valid_range_turf.pollution) - //SKYRAT EDIT ADDITION END var/datum/gas_mixture/GM = SSair.parse_gas_string(valid_range_turf.initial_gas_mix, /datum/gas_mixture/turf) valid_range_turf.copy_air(GM) valid_range_turf.temperature = initial(valid_range_turf.temperature) diff --git a/code/modules/atmospherics/environmental/LINDA_system.dm b/code/modules/atmospherics/environmental/LINDA_system.dm index 0556d085adf..87bec361231 100644 --- a/code/modules/atmospherics/environmental/LINDA_system.dm +++ b/code/modules/atmospherics/environmental/LINDA_system.dm @@ -134,8 +134,6 @@ src.atmos_adjacent_turfs = atmos_adjacent_turfs SEND_SIGNAL(src, COMSIG_TURF_CALCULATED_ADJACENT_ATMOS) - update_adjacent_pollutants() //SKYRAT EDIT ADDITION //Atmos adjacency could unlock/block adjacent pollutants, this is dirty flags anyway so its fine having it here - /** * returns a list of adjacent turfs that can share air with this one. * alldir includes adjacent diagonal tiles that can share diff --git a/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm b/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm index 6b591d4010c..cc94f04623b 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm @@ -256,12 +256,6 @@ environment.garbage_collect() - // SKYRAT EDIT ADDITION - if(isopenturf(tile)) - var/turf/open/floor_turf = tile - floor_turf.pollution?.scrub_amount(1) - // SKYRAT EDIT END - //Remix the resulting gases air_contents.merge(filtered_out) update_parents() diff --git a/code/modules/atmospherics/machinery/portable/scrubber.dm b/code/modules/atmospherics/machinery/portable/scrubber.dm index e9a5de25800..b1b094c9db0 100644 --- a/code/modules/atmospherics/machinery/portable/scrubber.dm +++ b/code/modules/atmospherics/machinery/portable/scrubber.dm @@ -69,11 +69,6 @@ scrub(epicentre.return_air()) for(var/turf/open/openturf as anything in epicentre.get_atmos_adjacent_turfs(alldir = TRUE)) scrub(openturf.return_air()) - //SKYRAT EDIT ADDITION - for(var/turf/open/open_turf in view(3, src)) - if(open_turf.pollution) - open_turf.pollution.scrub_amount(POLLUTION_HEIGHT_DIVISOR) - //SKYRAT EDIT END return ..() /** diff --git a/code/modules/food_and_drinks/recipes/drinks/drinks_non-alcoholic.dm b/code/modules/food_and_drinks/recipes/drinks/drinks_non-alcoholic.dm index b3db43009a0..3790c7a3100 100644 --- a/code/modules/food_and_drinks/recipes/drinks/drinks_non-alcoholic.dm +++ b/code/modules/food_and_drinks/recipes/drinks/drinks_non-alcoholic.dm @@ -105,12 +105,10 @@ /datum/chemical_reaction/drink/coffee results = list(/datum/reagent/consumable/coffee = 5) required_reagents = list(/datum/reagent/toxin/coffeepowder = 1, /datum/reagent/water = 5) - pollutant_type = /datum/pollutant/food/coffee //SKYRAT EDIT ADDITION - Pollution /datum/chemical_reaction/drink/tea results = list(/datum/reagent/consumable/tea = 5) required_reagents = list(/datum/reagent/toxin/teapowder = 1, /datum/reagent/water = 5) - pollutant_type = /datum/pollutant/food/tea //SKYRAT EDIT ADDITION /datum/chemical_reaction/drink/cream_soda results = list(/datum/reagent/consumable/cream_soda = 4) diff --git a/code/modules/food_and_drinks/recipes/food_mixtures.dm b/code/modules/food_and_drinks/recipes/food_mixtures.dm index f5a742688bb..e90f3ac6dbc 100644 --- a/code/modules/food_and_drinks/recipes/food_mixtures.dm +++ b/code/modules/food_and_drinks/recipes/food_mixtures.dm @@ -162,14 +162,10 @@ results = list(/datum/reagent/consumable/hot_ramen = 3) required_reagents = list(/datum/reagent/water = 1, /datum/reagent/consumable/dry_ramen = 3) - pollutant_type = /datum/pollutant/food/spicy_noodles //SKYRAT EDIT ADDITION - /datum/chemical_reaction/food/hell_ramen results = list(/datum/reagent/consumable/hell_ramen = 6) required_reagents = list(/datum/reagent/consumable/capsaicin = 1, /datum/reagent/consumable/hot_ramen = 6) - pollutant_type = /datum/pollutant/food/spicy_noodles //SKYRAT EDIT ADDITION - /datum/chemical_reaction/food/imitationcarpmeat required_reagents = list(/datum/reagent/toxin/carpotoxin = 5) required_container = /obj/item/food/tofu diff --git a/code/modules/mob/living/carbon/life.dm b/code/modules/mob/living/carbon/life.dm index 55d9f00a502..bf7b32e6271 100644 --- a/code/modules/mob/living/carbon/life.dm +++ b/code/modules/mob/living/carbon/life.dm @@ -2,13 +2,6 @@ if(HAS_TRAIT(src, TRAIT_NO_TRANSFORM)) return - //SKYRAT EDIT ADDITION - if(isopenturf(loc)) - var/turf/open/my_our_turf = loc - if(my_our_turf.pollution) - my_our_turf.pollution.touch_act(src) - //SKYRAT EDIT END - if(damageoverlaytemp) damageoverlaytemp = 0 update_damage_hud() @@ -131,13 +124,6 @@ visible_message("[src] chokes on [our_turf.liquids.reagents_to_text()]!", \ "You're choking on [our_turf.liquids.reagents_to_text()]!") return FALSE - if(isopenturf(our_turf)) - var/turf/open/open_turf = our_turf - if(open_turf.pollution) - if(next_smell <= world.time) - next_smell = world.time + SMELL_COOLDOWN - open_turf.pollution.smell_act(src) - open_turf.pollution.breathe_act(src) //SKYRAT EDIT END var/breath_moles = 0 if(environment) diff --git a/code/modules/reagents/chemistry/holder/reactions.dm b/code/modules/reagents/chemistry/holder/reactions.dm index aee80400a98..a40dfd9f348 100644 --- a/code/modules/reagents/chemistry/holder/reactions.dm +++ b/code/modules/reagents/chemistry/holder/reactions.dm @@ -214,14 +214,6 @@ if(equilibrium.reaction.mix_sound) playsound(get_turf(my_atom), equilibrium.reaction.mix_sound, 80, TRUE) - //SKYRAT EDIT ADDITION - //If the reaction pollutes, pollute it here if we have an atom - if(equilibrium.reaction.pollutant_type && my_atom) - var/turf/my_turf = get_turf(my_atom) - if(my_turf) // reactions can happen in nullspace (like inside of a mob's stomach for instance). - my_turf.pollute_turf(equilibrium.reaction.pollutant_type, equilibrium.reaction.pollutant_amount * equilibrium.reacted_vol) - //SKYRAT EDIT END - qdel(equilibrium) update_total() @@ -350,13 +342,5 @@ extract.desc = "This extract has been used up." extract.grind_results.Cut() - //SKYRAT EDIT ADDITION - //If the reaction pollutes, pollute it here if we have an atom - if(selected_reaction.pollutant_type && my_atom) - var/turf/my_turf = get_turf(my_atom) - if(my_turf) // just to be safe here - my_turf.pollute_turf(selected_reaction.pollutant_type, selected_reaction.pollutant_amount * multiplier) - //SKYRAT EDIT END - //finish the reaction selected_reaction.on_reaction(src, null, multiplier) diff --git a/code/modules/reagents/chemistry/recipes.dm b/code/modules/reagents/chemistry/recipes.dm index a3f051a27e5..105ce859ffd 100644 --- a/code/modules/reagents/chemistry/recipes.dm +++ b/code/modules/reagents/chemistry/recipes.dm @@ -59,12 +59,6 @@ ///Tagging vars ///A bitflag var for tagging reagents for the reagent loopup functon var/reaction_tags = NONE - //SKYRAT EDIT ADDITION - ///If defined, it'll emitt that pollutant on reaction - var/pollutant_type - ///How much amount per volume of the pollutant shall we emitt if `pollutant_type` is defined - var/pollutant_amount = 1 - //SKYRAT EDIT END ///REACTION PROCS diff --git a/code/modules/reagents/chemistry/recipes/medicine.dm b/code/modules/reagents/chemistry/recipes/medicine.dm index 7cde5cd1160..84f251b759f 100644 --- a/code/modules/reagents/chemistry/recipes/medicine.dm +++ b/code/modules/reagents/chemistry/recipes/medicine.dm @@ -9,11 +9,6 @@ rate_up_lim = 35 reaction_tags = REACTION_TAG_HEALING | REACTION_TAG_EASY - //SKYRAT EDIT ADDITION - pollutant_type = /datum/pollutant/chemical_vapors - pollutant_amount = 0.2 - //SKYRAT EDIT END - /datum/chemical_reaction/medicine/leporazine results = list(/datum/reagent/medicine/leporazine = 2) required_reagents = list(/datum/reagent/silicon = 1, /datum/reagent/copper = 1) diff --git a/modular_skyrat/master_files/code/datums/components/grillable.dm b/modular_skyrat/master_files/code/datums/components/grillable.dm deleted file mode 100644 index 42146559af1..00000000000 --- a/modular_skyrat/master_files/code/datums/components/grillable.dm +++ /dev/null @@ -1,9 +0,0 @@ -/datum/component/grillable - /// What type of pollutant we spread around as we are grilleed, can be none - var/pollutant_type - -/datum/component/grillable/Initialize(cook_result, required_cook_time, positive_result, use_large_steam_sprite, list/added_reagents, pollutant_type) - . = ..() - if(. == COMPONENT_INCOMPATIBLE) - return - src.pollutant_type = pollutant_type diff --git a/modular_skyrat/master_files/code/modules/loadout/categories/pocket.dm b/modular_skyrat/master_files/code/modules/loadout/categories/pocket.dm index 315989ef8cd..93ebbab8c76 100644 --- a/modular_skyrat/master_files/code/modules/loadout/categories/pocket.dm +++ b/modular_skyrat/master_files/code/modules/loadout/categories/pocket.dm @@ -190,51 +190,6 @@ name = "Liberty Cap Seeds" item_path = /obj/item/seeds/liberty -/* -* FRAGRANCES -*/ - -/datum/loadout_item/pocket_items/fragrance_cologne - name = "Cologne Bottle" - item_path = /obj/item/perfume/cologne - -/datum/loadout_item/pocket_items/fragrance_wood - name = "Wood Perfume" - item_path = /obj/item/perfume/wood - -/datum/loadout_item/pocket_items/fragrance_rose - name = "Rose Perfume" - item_path = /obj/item/perfume/rose - -/datum/loadout_item/pocket_items/fragrance_jasmine - name = "Jasmine Perfume" - item_path = /obj/item/perfume/jasmine - -/datum/loadout_item/pocket_items/fragrance_mint - name = "Mint Perfume" - item_path = /obj/item/perfume/mint - -/datum/loadout_item/pocket_items/fragrance_vanilla - name = "Vanilla Perfume" - item_path = /obj/item/perfume/vanilla - -/datum/loadout_item/pocket_items/fragrance_pear - name = "Pear Perfume" - item_path = /obj/item/perfume/pear - -/datum/loadout_item/pocket_items/fragrance_strawberry - name = "Strawberry Perfume" - item_path = /obj/item/perfume/strawberry - -/datum/loadout_item/pocket_items/fragrance_cherry - name = "Cherry Perfume" - item_path = /obj/item/perfume/cherry - -/datum/loadout_item/pocket_items/fragrance_amber - name = "Amber Perfume" - item_path = /obj/item/perfume/amber - - /* * DONATOR */ diff --git a/modular_skyrat/modules/emotes/code/emotes.dm b/modular_skyrat/modules/emotes/code/emotes.dm index 705123724ae..176c3225ff5 100644 --- a/modular_skyrat/modules/emotes/code/emotes.dm +++ b/modular_skyrat/modules/emotes/code/emotes.dm @@ -60,18 +60,6 @@ message_robot = "synthesizes a yawn." message_AI = "synthesizes a yawns." -/datum/emote/living/sniff/run_emote(mob/user, params, type_override, intentional) - . = ..() - if(.) - var/turf/open/current_turf = get_turf(user) - if(istype(current_turf) && current_turf.pollution) - if(iscarbon(user)) - var/mob/living/carbon/carbon_user = user - if(carbon_user.internal) //Breathing from internals means we cant smell - return - carbon_user.next_smell = world.time + SMELL_COOLDOWN - current_turf.pollution.smell_act(user) - /datum/emote/living/peep key = "peep" key_third_person = "peeps" diff --git a/modular_skyrat/modules/liquids/code/liquid_systems/liquid_turf.dm b/modular_skyrat/modules/liquids/code/liquid_systems/liquid_turf.dm index 91fd436b217..92bf6e9d38a 100644 --- a/modular_skyrat/modules/liquids/code/liquid_systems/liquid_turf.dm +++ b/modular_skyrat/modules/liquids/code/liquid_systems/liquid_turf.dm @@ -312,10 +312,6 @@ /* * OPEN TURFS */ -/turf/open - /// Pollution stored on this turf - var/datum/pollution/pollution - //Consider making all of these behaviours a smart component/element? Something that's only applied wherever it needs to be //Could probably have the variables on the turf level, and the behaviours being activated/deactived on the component level as the vars are updated /turf/open/CanPass(atom/movable/mover, turf/location) diff --git a/modular_skyrat/modules/modular_vending/code/wardrobes.dm b/modular_skyrat/modules/modular_vending/code/wardrobes.dm index 982e1ff14ee..fde6aeba880 100644 --- a/modular_skyrat/modules/modular_vending/code/wardrobes.dm +++ b/modular_skyrat/modules/modular_vending/code/wardrobes.dm @@ -104,11 +104,6 @@ /obj/machinery/vending/wardrobe/bar_wardrobe skyrat_products = list( - /obj/item/storage/fancy/candle_box/vanilla = 1, - /obj/item/storage/fancy/candle_box/pear = 1, - /obj/item/storage/fancy/candle_box/amber = 1, - /obj/item/storage/fancy/candle_box/jasmine = 1, - /obj/item/storage/fancy/candle_box/mint = 1, /obj/item/clothing/suit/hooded/wintercoat/skyrat/bartender = 2, ) diff --git a/modular_skyrat/modules/pollution/code/admin_spawn_pollution.dm b/modular_skyrat/modules/pollution/code/admin_spawn_pollution.dm deleted file mode 100644 index 125a9fb740b..00000000000 --- a/modular_skyrat/modules/pollution/code/admin_spawn_pollution.dm +++ /dev/null @@ -1,12 +0,0 @@ -ADMIN_VERB(spawn_pollution, R_ADMIN, "Spawn Pollution", "Spawns an amount of chosen pollutant at your current location.", ADMIN_CATEGORY_FUN) - var/list/singleton_list = SSpollution.singletons - var/choice = tgui_input_list(user, "What type of pollutant would you like to spawn?", "Spawn Pollution", singleton_list) - if(!choice) - return - var/amount_choice = input("Amount of pollution:") as null|num - if(!amount_choice) - return - var/turf/epicenter = get_turf(user.mob) - epicenter.pollute_turf(choice, amount_choice) - message_admins("[ADMIN_LOOKUPFLW(user)] spawned pollution at [epicenter.loc] ([choice] - [amount_choice]).") - log_admin("[key_name(user)] spawned pollution at [epicenter.loc] ([choice] - [amount_choice]).") diff --git a/modular_skyrat/modules/pollution/code/air_refresher.dm b/modular_skyrat/modules/pollution/code/air_refresher.dm deleted file mode 100644 index 53be9661de9..00000000000 --- a/modular_skyrat/modules/pollution/code/air_refresher.dm +++ /dev/null @@ -1,62 +0,0 @@ -/obj/item/air_refresher - name = "air refresher" - desc = "A bottle packed with sickly strong fragrance, with an easy to use pressurized release nozzle." - icon = 'modular_skyrat/modules/pollution/icons/air_refresher.dmi' - icon_state = "air_refresher" - inhand_icon_state = "cleaner" - worn_icon_state = "spraybottle" - lefthand_file = 'icons/mob/inhands/equipment/custodial_lefthand.dmi' - righthand_file = 'icons/mob/inhands/equipment/custodial_righthand.dmi' - w_class = WEIGHT_CLASS_TINY - item_flags = NOBLUDGEON - var/uses_remaining = 20 - -/obj/item/air_refresher/examine(mob/user) - . = ..() - if(uses_remaining) - . += "It has [uses_remaining] use\s left." - else - . += "It is empty." - -/obj/item/air_refresher/ranged_interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) - if(uses_remaining <= 0) - to_chat(user, span_warning("\The [src] is empty!")) - return NONE - uses_remaining-- - var/turf/aimed_turf = get_turf(interacting_with) - aimed_turf.pollute_turf(/datum/pollutant/fragrance/air_refresher, 200) - user.visible_message(span_notice("[user] sprays the air around with \the [src]."), span_notice("You spray the air around with \the [src].")) - user.changeNext_move(CLICK_CD_RANGE*2) - playsound(aimed_turf, 'sound/effects/spray2.ogg', 50, TRUE, -6) - return ITEM_INTERACT_SUCCESS - -/obj/machinery/pollution_scrubber - name = "Pollution Scrubber" - desc = "A scrubber that will process the air and filter out any contaminants." - icon = 'modular_skyrat/modules/pollution/icons/pollution_scrubber.dmi' - icon_state = "scrubber" - var/scrub_amount = 2 - var/on = FALSE - -/obj/machinery/pollution_scrubber/attack_hand(mob/living/user, list/modifiers) - . = ..() - on = !on - balloon_alert(user, "scrubber turned [on ? "on" : "off"]") - - update_appearance() - -/obj/machinery/pollution_scrubber/update_icon(updates) - . = ..() - if(on) - icon_state = "scrubber_on" - else - icon_state = "scrubber" - -/obj/machinery/pollution_scrubber/process() - if(machine_stat) - return - if(on && isopenturf(get_turf(src))) - var/turf/open/open_turf = get_turf(src) - if(open_turf.pollution) - open_turf.pollution.scrub_amount(scrub_amount) - use_energy(100 JOULES) diff --git a/modular_skyrat/modules/pollution/code/bonfire.dm b/modular_skyrat/modules/pollution/code/bonfire.dm deleted file mode 100644 index 5f4e8efd28c..00000000000 --- a/modular_skyrat/modules/pollution/code/bonfire.dm +++ /dev/null @@ -1,19 +0,0 @@ -/obj/structure/bonfire - /// Whether or not this bonfire can cause pollution. - var/produces_smoke = FALSE - -// We basically only want player-made bonfires to make smoke, so it's simpler. -/obj/structure/bonfire/player_made - produces_smoke = TRUE - - -/obj/structure/bonfire/process(seconds_per_tick) - . = ..() - - if(!burning || !produces_smoke) - return - - var/turf/open/my_turf = get_turf(src) - if(istype(my_turf) && !my_turf.planetary_atmos && !is_centcom_level(my_turf.z)) //Pollute, but only when we're not on planetary atmos or on CentCom - my_turf.pollute_turf_list(list(/datum/pollutant/smoke = 15, /datum/pollutant/carbon_air_pollution = 5), POLLUTION_ACTIVE_EMITTER_CAP) - diff --git a/modular_skyrat/modules/pollution/code/fancy_storage_items.dm b/modular_skyrat/modules/pollution/code/fancy_storage_items.dm deleted file mode 100644 index da666f57de2..00000000000 --- a/modular_skyrat/modules/pollution/code/fancy_storage_items.dm +++ /dev/null @@ -1,19 +0,0 @@ -/obj/item/storage/fancy/candle_box/vanilla - name = "vanilla candle pack" - spawn_type = /obj/item/flashlight/flare/candle/vanilla - -/obj/item/storage/fancy/candle_box/pear - name = "pear candle pack" - spawn_type = /obj/item/flashlight/flare/candle/pear - -/obj/item/storage/fancy/candle_box/amber - name = "amber candle pack" - spawn_type = /obj/item/flashlight/flare/candle/amber - -/obj/item/storage/fancy/candle_box/jasmine - name = "jasmine candle pack" - spawn_type = /obj/item/flashlight/flare/candle/jasmine - -/obj/item/storage/fancy/candle_box/mint - name = "mint candle pack" - spawn_type = /obj/item/flashlight/flare/candle/mint diff --git a/modular_skyrat/modules/pollution/code/perfumes.dm b/modular_skyrat/modules/pollution/code/perfumes.dm deleted file mode 100644 index 4fd617b3eb9..00000000000 --- a/modular_skyrat/modules/pollution/code/perfumes.dm +++ /dev/null @@ -1,109 +0,0 @@ -/obj/item/perfume - desc = "A bottle of pleasantly smelling fragrance." - icon = 'modular_skyrat/modules/pollution/icons/perfume.dmi' - icon_state = "perfume" - inhand_icon_state = "cleaner" - worn_icon_state = "spraybottle" - lefthand_file = 'icons/mob/inhands/equipment/custodial_lefthand.dmi' - righthand_file = 'icons/mob/inhands/equipment/custodial_righthand.dmi' - w_class = WEIGHT_CLASS_TINY - item_flags = NOBLUDGEON - /// What type of the pollutant will this perfume be using - var/fragrance_type - /// How many uses remaining has it got - var/uses_remaining = 10 - /// Whether the cap of the perfume is on or off - var/cap = TRUE - /// Whether we have a cap or not - var/has_cap = TRUE - -/obj/item/perfume/Initialize(mapload) - . = ..() - update_appearance() - -/obj/item/perfume/update_icon_state() - icon_state = (has_cap && cap) ? "[initial(icon_state)]_cap" : initial(icon_state) - return ..() - -/obj/item/perfume/examine(mob/user) - . = ..() - if(uses_remaining) - . += "It has [uses_remaining] use\s left." - else - . += "It is empty." - if(has_cap) - . += span_notice("Alt-click [src] to [ cap ? "take the cap off" : "put the cap on"].") - -/obj/item/perfume/click_alt(mob/user) - toggle_cap(user) - return CLICK_ACTION_SUCCESS - -/obj/item/perfume/attack_self(mob/user, modifiers) - toggle_cap(user) - -/// Proc to handle removing the cap of the perfume bottle. -/obj/item/perfume/proc/toggle_cap(mob/user) - if(has_cap && user.can_perform_action(src, NEED_DEXTERITY)) - cap = !cap - to_chat(user, span_notice("The cap on [src] is now [cap ? "on" : "off"].")) - update_appearance() - -/obj/item/perfume/interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) - if(.) - return - if(!ismovable(interacting_with)) - return - if(has_cap && cap) - to_chat(user, span_warning("Take the cap off first!")) - return TRUE - if(uses_remaining <= 0) - to_chat(user, span_warning("\The [src] is empty!")) - return TRUE - uses_remaining-- - var/turf/my_turf = get_turf(user) - my_turf.pollute_turf(fragrance_type, 20) - user.visible_message(span_notice("[user] sprays [interacting_with] with \the [src]."), span_notice("You spray [interacting_with] with \the [src].")) - user.changeNext_move(CLICK_CD_RANGE*2) - playsound(my_turf, 'sound/effects/spray2.ogg', 50, TRUE, -6) - interacting_with.AddComponent(/datum/component/temporary_pollution_emission, fragrance_type, 5, 10 MINUTES) - -/obj/item/perfume/cologne - name = "cologne bottle" - desc = "This one is sure to attract ladies." - fragrance_type = /datum/pollutant/fragrance/cologne - -/obj/item/perfume/wood - name = "wood perfume bottle" - fragrance_type = /datum/pollutant/fragrance/wood - -/obj/item/perfume/rose - name = "rose perfume bottle" - fragrance_type = /datum/pollutant/fragrance/rose - -/obj/item/perfume/jasmine - name = "jasmine perfume bottle" - fragrance_type = /datum/pollutant/fragrance/jasmine - -/obj/item/perfume/mint - name = "mint perfume bottle" - fragrance_type = /datum/pollutant/fragrance/mint - -/obj/item/perfume/vanilla - name = "vanilla perfume bottle" - fragrance_type = /datum/pollutant/fragrance/vanilla - -/obj/item/perfume/pear - name = "pear perfume bottle" - fragrance_type = /datum/pollutant/fragrance/pear - -/obj/item/perfume/strawberry - name = "strawberry perfume bottle" - fragrance_type = /datum/pollutant/fragrance/strawberry - -/obj/item/perfume/cherry - name = "cherry perfume bottle" - fragrance_type = /datum/pollutant/fragrance/cherry - -/obj/item/perfume/amber - name = "amber perfume bottle" - fragrance_type = /datum/pollutant/fragrance/amber diff --git a/modular_skyrat/modules/pollution/code/pollutant_datum.dm b/modular_skyrat/modules/pollution/code/pollutant_datum.dm deleted file mode 100644 index 7d4fc7d8b94..00000000000 --- a/modular_skyrat/modules/pollution/code/pollutant_datum.dm +++ /dev/null @@ -1,27 +0,0 @@ -/datum/pollutant - /// Name of the pollutant, if null will be treated as abstract and wont be initialized as singleton - var/name - /// Flags of the pollutant, determine whether it has an appearance, smell, touch act, breath act - var/pollutant_flags = NONE - /// Below are variables for appearance - /// What color will the pollutant be, can be left null - var/color - /// What is it desired alpha? - var/alpha = 255 - /// How "thick" is it, the thicker the quicker it gets to desired alpha and is stronger than other pollutants in blending appearance - var/thickness = 1 - ///FILL THE BELOW OUT IF ITS SMELLABLE! - /// How intense is one unit of the pollutant for smell purposes? - var/smell_intensity - /// Descriptor of the smell - var/descriptor - /// Scent of the smell - var/scent - -///When a pollutant touches an unprotected carbon mob -/datum/pollutant/proc/touch_act(mob/living/carbon/victim, amount) - return - -///When a carbon mob breathes in the pollutant -/datum/pollutant/proc/breathe_act(mob/living/carbon/victim, amount) - return diff --git a/modular_skyrat/modules/pollution/code/pollutants_generic.dm b/modular_skyrat/modules/pollution/code/pollutants_generic.dm deleted file mode 100644 index da61911adc4..00000000000 --- a/modular_skyrat/modules/pollution/code/pollutants_generic.dm +++ /dev/null @@ -1,183 +0,0 @@ -///Smoke coming from cigarettes and fires -/datum/pollutant/smoke //and mirrors - name = "Smoke" - pollutant_flags = POLLUTANT_APPEARANCE | POLLUTANT_SMELL | POLLUTANT_BREATHE_ACT - smell_intensity = 1 - descriptor = SCENT_DESC_SMELL - scent = "smoke" - -/datum/pollutant/smoke/breathe_act(mob/living/carbon/victim, amount) - if(amount <= 50) - return - if(prob(20)) - victim.emote("cough") - -///From smoking weed -/datum/pollutant/smoke/cannabis - name = "Cannabis" - smell_intensity = 2 //Stronger than the normal smoke - scent = "cannabis" - -/datum/pollutant/smoke/vape - name = "Vape Cloud" - thickness = 2 - scent = "pleasant and soft vapour" - -///Dust from mining drills -/datum/pollutant/dust - name = "Dust" - pollutant_flags = POLLUTANT_APPEARANCE | POLLUTANT_BREATHE_ACT - thickness = 2 - color = "#ffed9c" - -/datum/pollutant/dust/breathe_act(mob/living/carbon/victim, amount) - if(amount <= 10) - return - if(prob(40)) - victim.losebreath += 3 //Get in your lungs real bad - victim.emote("cough") - -///Sulphur coming from igniting matches -/datum/pollutant/sulphur - name = "Sulphur" - pollutant_flags = POLLUTANT_SMELL - smell_intensity = 5 //Very pronounced smell (and good too, sniff sniff) - descriptor = SCENT_DESC_SMELL - scent = "sulphur" - -///Organic waste and garbage makes this -/datum/pollutant/decaying_waste - name = "Decaying Waste" - pollutant_flags = POLLUTANT_SMELL - smell_intensity = 3 - descriptor = SCENT_DESC_ODOR - scent = "decaying waste" - -///Splashing blood makes a tiny bit of this -/datum/pollutant/metallic_scent - name = "Metallic Scent" - pollutant_flags = POLLUTANT_SMELL - smell_intensity = 1 - descriptor = SCENT_DESC_SMELL - scent = "a metallic scent" - -///A special "Quick Dispersal" smoke for special cigars -/datum/pollutant/bright_cosmos - name = "Cosmic Smoke" - pollutant_flags = POLLUTANT_SMELL - smell_intensity = 1 - descriptor = SCENT_DESC_SMELL - scent = "refreshing mint and inoffensive smoke" - -///Green goo piles and medicine chemical reactions make this -/datum/pollutant/chemical_vapors - name = "Chemical Vapors" - pollutant_flags = POLLUTANT_SMELL - smell_intensity = 1 - descriptor = SCENT_DESC_SMELL - scent = "chemicals" - -///Dangerous fires release this from the waste they're burning -/datum/pollutant/carbon_air_pollution - name = "Carbon Air Pollution" - pollutant_flags = POLLUTANT_BREATHE_ACT - -/datum/pollutant/carbon_air_pollution/breathe_act(mob/living/carbon/victim, amount) - if(victim.body_position == LYING_DOWN) - amount *= 0.35 //The victim is inhaling roughly a third when laying down - if(amount <= 10) - return - victim.adjustOxyLoss(rand(5,10)) - victim.adjustToxLoss(1) - if(prob(amount)) - victim.losebreath += 3 - -//Food related smells -/datum/pollutant/food - pollutant_flags = POLLUTANT_SMELL - smell_intensity = 0.5 //Low intensity because we want to carry it farther with more amounts - descriptor = SCENT_DESC_SMELL - -/datum/pollutant/food/fried_meat - name = "Fried Meat" - scent = "fried meat" - -/datum/pollutant/food/fried_bacon - name = "Fried Bacon" - scent = "fried bacon" - -/datum/pollutant/food/fried_fish - name = "Fried Fish" - scent = "fried fish" - -/datum/pollutant/food/pancakes - name = "Pancakes" - scent = "pancakes" - -/datum/pollutant/food/coffee - name = "Coffee" - scent = "coffee" - -/datum/pollutant/food/tea - name = "Tea" - scent = "tea" - -/datum/pollutant/food/chocolate - name = "Chocolate" - scent = "chocolate" - -/datum/pollutant/food/spicy_noodles - name = "Spicy Noodles" - scent = "spicy noodles" - -//Fragrances that we spray on thing to make them smell nice -/datum/pollutant/fragrance - pollutant_flags = POLLUTANT_SMELL - smell_intensity = 1 - descriptor = SCENT_DESC_FRAGRANCE - -/datum/pollutant/fragrance/air_refresher - name = "Air Refresher" - scent = "a strong flowery scent" - smell_intensity = 3 - -//Simple fragrances -/datum/pollutant/fragrance/cologne - name = "Cologne Water" - scent = "cologne" - -/datum/pollutant/fragrance/wood - name = "Wood Perfume" - scent = "aging wood" - -/datum/pollutant/fragrance/rose - name = "Rose Perfume" - scent = "roses" - -/datum/pollutant/fragrance/jasmine - name = "Jasmine Perfume" - scent = "jasmine" - -/datum/pollutant/fragrance/mint - name = "Mint Perfume" - scent = "mint" - -/datum/pollutant/fragrance/vanilla - name = "Vanilla Perfume" - scent = "vanilla" - -/datum/pollutant/fragrance/pear - name = "Pear Perfume" - scent = "pear" - -/datum/pollutant/fragrance/strawberry - name = "Strawberry Perfume" - scent = "strawberries" - -/datum/pollutant/fragrance/cherry - name = "Cherry Perfume" - scent = "cherries" - -/datum/pollutant/fragrance/amber - name = "Amber Perfume" - scent = "a sweet and powdery scent" diff --git a/modular_skyrat/modules/pollution/code/pollution.dm b/modular_skyrat/modules/pollution/code/pollution.dm deleted file mode 100644 index 9377cd49164..00000000000 --- a/modular_skyrat/modules/pollution/code/pollution.dm +++ /dev/null @@ -1,247 +0,0 @@ -/datum/pollution - /// Reference to the turf we're on - var/turf/open/my_turf - /// List of all pollutant types to their amount - var/list/pollutants = list() - /// Total amount - var/total_amount = 0 - /// Height of the pollution, used to create a sandpiling effect - var/height = 0 - /// The vis content we are managing - var/obj/effect/abstract/pollution/managed_overlay - -/datum/pollution/New(turf/open/passed_turf) - . = ..() - my_turf = passed_turf - my_turf.pollution = src - REGISTER_POLLUTION(src) - -/datum/pollution/proc/touch_act(mob/living/carbon/victim) - if(!victim.can_inject()) - return - var/list/singleton_cache = SSpollution.singletons - for(var/type in pollutants) - var/datum/pollutant/pollutant = singleton_cache[type] - if(!(pollutant.pollutant_flags & POLLUTANT_TOUCH_ACT)) - continue - var/amount = pollutants[type] - pollutant.touch_act(victim, amount) - -/datum/pollution/proc/breathe_act(mob/living/carbon/victim) - var/list/singleton_cache = SSpollution.singletons - for(var/type in pollutants) - var/datum/pollutant/pollutant = singleton_cache[type] - if(!(pollutant.pollutant_flags & POLLUTANT_BREATHE_ACT)) - continue - var/amount = pollutants[type] - pollutant.breathe_act(victim, amount) - -/// When a user smells this pollution -/datum/pollution/proc/smell_act(mob/living/sniffer) - if(HAS_TRAIT(sniffer, TRAIT_ANOSMIA)) - return - - var/list/singleton_cache = SSpollution.singletons - var/datum/pollutant/dominant_pollutant - var/dominiant_smell_power - for(var/type in pollutants) - var/datum/pollutant/pollutant = singleton_cache[type] - if(!(pollutant.pollutant_flags & POLLUTANT_SMELL)) - continue - var/smelly_power = pollutant.smell_intensity * pollutants[type] - if(smelly_power < POLLUTANT_SMELL_THRESHOLD) - continue - if(!dominant_pollutant || smelly_power > dominiant_smell_power) - dominant_pollutant = pollutant - dominiant_smell_power = smelly_power - if(!dominant_pollutant) - return - - var/smell_string - switch(dominiant_smell_power) - if(0 to POLLUTANT_SMELL_NORMAL) - if(sniffer.mob_biotypes & MOB_ROBOTIC) - smell_string = "Your sensors detect trace amounts of [dominant_pollutant.scent] in the air." - else - smell_string = "The subtle [dominant_pollutant.descriptor] of [dominant_pollutant.scent] tickles your nose..." - if(POLLUTANT_SMELL_NORMAL to POLLUTANT_SMELL_STRONG) - if(sniffer.mob_biotypes & MOB_ROBOTIC) - smell_string = "Your sensors pick up the presence of [dominant_pollutant.scent] in the air." - else - smell_string = "The [dominant_pollutant.descriptor] of [dominant_pollutant.scent] fills the air." - if(POLLUTANT_SMELL_STRONG to INFINITY) - if(sniffer.mob_biotypes & MOB_ROBOTIC) - smell_string = "Your sensors pick up an intense concentration of [dominant_pollutant.scent]." - else - smell_string = "The unmistakable [dominant_pollutant.descriptor] of [dominant_pollutant.scent] bombards your nostrils." - - if(dominant_pollutant.descriptor == SCENT_DESC_ODOR) - to_chat(sniffer, span_warning(smell_string)) - else - to_chat(sniffer, span_notice(smell_string)) - -/datum/pollution/proc/scrub_amount(amount_to_scrub, update_active = TRUE, planetary_multiplier = FALSE) - if(amount_to_scrub >= total_amount) - qdel(src) - return - if(planetary_multiplier && my_turf.planetary_atmos) //Dissipate faster on planetary atmos - amount_to_scrub *= POLLUTION_DISSIPATION_PLANETARY_MULTIPLIER - for(var/type in pollutants) - pollutants[type] -= amount_to_scrub * pollutants[type] / total_amount - total_amount -= amount_to_scrub - update_height() - handle_overlay() - if(update_active) - my_turf.update_adjacent_pollutants() - -/datum/pollution/proc/add_pollutant(polutant_type, amount) - if(!pollutants[polutant_type]) - pollutants[polutant_type] = 0 - pollutants[polutant_type] += amount - total_amount += amount - update_height() - handle_overlay() - SET_ACTIVE_POLLUTION(src) - -/datum/pollution/proc/add_pollutant_list(list/passed_pollutants) - for(var/polutant_type in passed_pollutants) - if(!pollutants[polutant_type]) - pollutants[polutant_type] = 0 - pollutants[polutant_type] += passed_pollutants[polutant_type] - total_amount += passed_pollutants[polutant_type] - update_height() - handle_overlay() - SET_ACTIVE_POLLUTION(src) - -/datum/pollution/proc/update_height() - height = calculate_height(total_amount) - -/datum/pollution/proc/calculate_height(passed_amount) - return CEILING(passed_amount / POLLUTION_HEIGHT_DIVISOR, 1) - -/datum/pollution/Destroy() - if(managed_overlay) - if(my_turf) - my_turf.vis_contents -= managed_overlay - if(LAZYLEN(managed_overlay.vis_locs) == 0) - qdel(managed_overlay) - managed_overlay = null - REMOVE_POLLUTION_CURRENTRUN(src) - SET_UNACTIVE_POLLUTION(src) - UNREGISTER_POLLUTION(src) - if(my_turf) - my_turf.pollution = null - return ..() - -/datum/pollution/proc/process_cell() - if(height <= 1) - SET_UNACTIVE_POLLUTION(src) - return - var/list/sharing_turfs = list() - var/list/already_processed_cache = SSpollution.processed_this_run - var/list/potential_activers = list() - for(var/turf/open/open_turf as anything in my_turf.atmos_adjacent_turfs) - if(!already_processed_cache[open_turf]) - if(can_share_with(open_turf)) - sharing_turfs[open_turf] = TRUE - else - potential_activers[open_turf] = TRUE - if(!sharing_turfs.len) - SET_UNACTIVE_POLLUTION(src) - return - sharing_turfs[my_turf] = TRUE - //Now we've gotten all the turfs that should share pollution. Gather their total pollutions and split evenly - var/list/total_share_pollutants = list() - var/total_share_amount = 0 - for(var/turf/open/open_turf as anything in sharing_turfs) - if(!open_turf.pollution) - continue - var/datum/pollution/cached_pollution = open_turf.pollution - for(var/type in cached_pollution.pollutants) - if(!total_share_pollutants[type]) - total_share_pollutants[type] = 0 - total_share_pollutants[type] += cached_pollution.pollutants[type] - total_share_amount += cached_pollution.pollutants[type] - - for(var/type in total_share_pollutants) - total_share_pollutants[type] /= sharing_turfs.len - total_share_amount /= sharing_turfs.len - var/new_heights = calculate_height(total_share_amount) - var/obj/effect/abstract/pollution/new_overlay = get_overlay(total_share_pollutants, total_share_amount) - for(var/turf/open/open_turf as anything in sharing_turfs) - if(istype(open_turf, /turf/open/space)) // Space should be voiding pollution, basically. - continue - - assert_pollution(open_turf) - var/datum/pollution/cached_pollution = open_turf.pollution - if(cached_pollution.managed_overlay) - cached_pollution.my_turf.vis_contents -= cached_pollution.managed_overlay - - cached_pollution.managed_overlay = new_overlay - if(new_overlay) - cached_pollution.my_turf.vis_contents += new_overlay - - cached_pollution.pollutants = total_share_pollutants.Copy() - cached_pollution.total_amount = total_share_amount - cached_pollution.height = new_heights - SET_ACTIVE_POLLUTION(cached_pollution) - - for(var/turf/open/open_turf as anything in potential_activers) - if(open_turf.pollution && open_turf.pollution.can_share_with(my_turf)) - SET_ACTIVE_POLLUTION(open_turf.pollution) - -/datum/pollution/proc/can_share_with(turf/open/shareto) - if(!shareto.pollution) - return TRUE - if(shareto.pollution.height + 1 < height) - return TRUE - return FALSE - -/datum/pollution/proc/assert_pollution(turf/open/to_assert) - if(!to_assert.pollution) - new /datum/pollution(to_assert) - -/datum/pollution/proc/handle_overlay() - if(managed_overlay) - my_turf.vis_contents -= managed_overlay - if(LAZYLEN(managed_overlay.vis_locs) == 0) - qdel(managed_overlay) - managed_overlay = get_overlay(pollutants, total_amount) - if(managed_overlay) - my_turf.vis_contents += managed_overlay - -///Probably the most costly thing happening here -/datum/pollution/proc/get_overlay(list/pollutant_list, total_amount) - var/datum/pollutant/pollutant - var/total_thickness - if(pollutant_list.len == 1) - pollutant = SSpollution.singletons[pollutant_list[1]] - if(!(pollutant.pollutant_flags & POLLUTANT_APPEARANCE)) - return - total_thickness = total_amount * pollutant.thickness - else - var/list/pollutant_cache = SSpollution.singletons - var/datum/pollutant/iterated_pollutant - var/calc_thickness - for(var/pollutant_type in pollutant_list) - iterated_pollutant = pollutant_cache[pollutant_type] - if(!(iterated_pollutant.pollutant_flags & POLLUTANT_APPEARANCE)) - continue - calc_thickness = pollutant_list[pollutant_type] * iterated_pollutant.thickness - if(!pollutant || calc_thickness > total_thickness) - pollutant = iterated_pollutant - total_thickness = calc_thickness - - if(!total_thickness || total_thickness < POLLUTANT_APPEARANCE_THICKNESS_THRESHOLD) - return - - var/obj/effect/abstract/pollution/overlay = new() - overlay.alpha = FLOOR(pollutant.alpha * total_thickness * THICKNESS_ALPHA_COEFFICIENT, 1) - overlay.color = pollutant.color - return overlay - -///Atmos adjacency has been updated on this turf, see if it affects any of our pollutants -/turf/proc/update_adjacent_pollutants() - for(var/turf/open/open_turf in atmos_adjacent_turfs) - if(open_turf.pollution) - SET_ACTIVE_POLLUTION(open_turf.pollution) diff --git a/modular_skyrat/modules/pollution/code/pollution_effect.dm b/modular_skyrat/modules/pollution/code/pollution_effect.dm deleted file mode 100644 index ecfea3705d7..00000000000 --- a/modular_skyrat/modules/pollution/code/pollution_effect.dm +++ /dev/null @@ -1,10 +0,0 @@ -/obj/effect/abstract/pollution - icon = 'icons/effects/96x96.dmi' - icon_state = "smoke" - pixel_x = -32 - pixel_y = -32 - anchored = TRUE - plane = ABOVE_GAME_PLANE - layer = FLY_LAYER - mouse_opacity = MOUSE_OPACITY_TRANSPARENT - appearance_flags = KEEP_APART|RESET_TRANSFORM|RESET_COLOR diff --git a/modular_skyrat/modules/pollution/code/pollution_emitters.dm b/modular_skyrat/modules/pollution/code/pollution_emitters.dm deleted file mode 100644 index a632d99aea7..00000000000 --- a/modular_skyrat/modules/pollution/code/pollution_emitters.dm +++ /dev/null @@ -1,39 +0,0 @@ -PROCESSING_SUBSYSTEM_DEF(pollution_emitters) - name = "Pollution Emitters" - priority = FIRE_PRIORITY_OBJ - flags = SS_NO_INIT - wait = 10 SECONDS - -/datum/element/pollution_emitter - element_flags = ELEMENT_DETACH_ON_HOST_DESTROY | ELEMENT_BESPOKE - argument_hash_start_idx = 2 - - /// List of all affected atoms - var/list/affected = list() - /// Type of the spawned pollutions - var/pollutant_type - /// Amount of the pollutants spawned per process - var/pollutant_amount - -/datum/element/pollution_emitter/Attach(datum/target, pollutant_type, pollutant_amount) - . = ..() - if(!isatom(target)) - return ELEMENT_INCOMPATIBLE - src.pollutant_type = pollutant_type - src.pollutant_amount = pollutant_amount - affected[target] = TRUE - - START_PROCESSING(SSpollution_emitters, src) - -/datum/element/pollution_emitter/Detach(datum/target) - . = ..() - - affected -= target - - if(!affected.len) - STOP_PROCESSING(SSpollution_emitters, src) - -/datum/element/pollution_emitter/process(seconds_per_tick) - for(var/atom/affected_atom as anything in affected) - var/turf/my_turf = get_turf(affected_atom) - my_turf.pollute_turf(pollutant_type, pollutant_amount) diff --git a/modular_skyrat/modules/pollution/code/pollution_initializations.dm b/modular_skyrat/modules/pollution/code/pollution_initializations.dm deleted file mode 100644 index 086c8852912..00000000000 --- a/modular_skyrat/modules/pollution/code/pollution_initializations.dm +++ /dev/null @@ -1,35 +0,0 @@ -/obj/effect/decal/cleanable/greenglow/Initialize(mapload) - . = ..() - AddElement(/datum/element/pollution_emitter, /datum/pollutant/chemical_vapors, 10) - -/obj/effect/decal/cleanable/vomit/Initialize(mapload) - . = ..() - AddElement(/datum/element/pollution_emitter, /datum/pollutant/decaying_waste, 10) - -/obj/effect/decal/cleanable/insectguts/Initialize(mapload) - . = ..() - AddElement(/datum/element/pollution_emitter, /datum/pollutant/decaying_waste, 10) - -/obj/effect/decal/cleanable/garbage/Initialize(mapload) - . = ..() - AddElement(/datum/element/pollution_emitter, /datum/pollutant/decaying_waste, 30) - -/obj/effect/decal/cleanable/blood/gibs/old/Initialize(mapload, list/datum/disease/diseases) - . = ..() - AddElement(/datum/element/pollution_emitter, /datum/pollutant/decaying_waste, 30) - -/obj/structure/moisture_trap/Initialize(mapload) - . = ..() - AddElement(/datum/element/pollution_emitter, /datum/pollutant/decaying_waste, 30) - -/obj/item/reagent_containers/cup/glass/coffee/Initialize(mapload) - . = ..() - AddComponent(/datum/component/temporary_pollution_emission, /datum/pollutant/food/coffee, 5, 3 MINUTES) - -/obj/item/reagent_containers/cup/glass/mug/tea/Initialize(mapload) - . = ..() - AddComponent(/datum/component/temporary_pollution_emission, /datum/pollutant/food/tea, 5, 3 MINUTES) - -/obj/item/reagent_containers/cup/glass/mug/coco/Initialize(mapload) - . = ..() - AddComponent(/datum/component/temporary_pollution_emission, /datum/pollutant/food/chocolate, 5, 3 MINUTES) diff --git a/modular_skyrat/modules/pollution/code/pollution_subsystem.dm b/modular_skyrat/modules/pollution/code/pollution_subsystem.dm deleted file mode 100644 index 8d2c7579403..00000000000 --- a/modular_skyrat/modules/pollution/code/pollution_subsystem.dm +++ /dev/null @@ -1,59 +0,0 @@ -SUBSYSTEM_DEF(pollution) - name = "Pollution" - init_order = INIT_ORDER_POLLUTION //Before atoms, because the emitters may need to know the singletons - runlevels = RUNLEVEL_GAME | RUNLEVEL_POSTGAME - wait = 2 SECONDS - /// Currently active pollution - var/list/active_pollution = list() - /// All pollution in the world - var/list/all_polution = list() - /// Currently processed batch of pollutants - var/list/current_run = list() - /// Already processed pollutants in cell process - var/list/processed_this_run = list() - /// Ticker for dissipation task - var/dissapation_ticker = 0 - /// What's the current task we're doing - var/pollution_task = POLLUTION_TASK_PROCESS - /// Associative list of types of pollutants to their instanced singletons - var/list/singletons = list() - -/datum/controller/subsystem/pollution/stat_entry(msg) - msg += "|AT:[active_pollution.len]|P:[all_polution.len]" - return ..() - -/datum/controller/subsystem/pollution/Initialize() - //Initialize singletons - for(var/type in subtypesof(/datum/pollutant)) - var/datum/pollutant/pollutant_cast = type - if(!initial(pollutant_cast.name)) - continue - singletons[type] = new type() - return SS_INIT_SUCCESS - -/datum/controller/subsystem/pollution/fire(resumed = FALSE) - var/list/current_run_cache = current_run - if(pollution_task == POLLUTION_TASK_PROCESS) - if(!current_run_cache.len) - current_run_cache = active_pollution.Copy() - processed_this_run.Cut() - while(current_run_cache.len) - var/datum/pollution/pollution = current_run_cache[current_run_cache.len] - current_run_cache.len-- - processed_this_run[pollution] = TRUE - pollution.process_cell() - if(MC_TICK_CHECK) - return - dissapation_ticker++ - if(dissapation_ticker >= TICKS_TO_DISSIPATE) - pollution_task = POLLUTION_TASK_DISSIPATE - dissapation_ticker = 0 - current_run_cache = all_polution.Copy() - if(pollution_task == POLLUTION_TASK_DISSIPATE) - while(current_run_cache.len) - var/datum/pollution/pollution = current_run_cache[current_run_cache.len] - current_run_cache.len-- - pollution.scrub_amount(POLLUTION_HEIGHT_DIVISOR, FALSE, TRUE) - if(MC_TICK_CHECK) - return - pollution_task = POLLUTION_TASK_PROCESS diff --git a/modular_skyrat/modules/pollution/code/scented_candles.dm b/modular_skyrat/modules/pollution/code/scented_candles.dm deleted file mode 100644 index 49fdedf2584..00000000000 --- a/modular_skyrat/modules/pollution/code/scented_candles.dm +++ /dev/null @@ -1,19 +0,0 @@ -/obj/item/flashlight/flare/candle/vanilla - name = "vanilla scented candle" - scented_type = /datum/pollutant/fragrance/vanilla - -/obj/item/flashlight/flare/candle/pear - name = "pear scented candle" - scented_type = /datum/pollutant/fragrance/pear - -/obj/item/flashlight/flare/candle/amber - name = "amber scented candle" - scented_type = /datum/pollutant/fragrance/amber - -/obj/item/flashlight/flare/candle/jasmine - name = "jasmine scented candle" - scented_type = /datum/pollutant/fragrance/jasmine - -/obj/item/flashlight/flare/candle/mint - name = "mint scented candle" - scented_type = /datum/pollutant/fragrance/mint diff --git a/modular_skyrat/modules/pollution/code/temporary_pollution_emission_component.dm b/modular_skyrat/modules/pollution/code/temporary_pollution_emission_component.dm deleted file mode 100644 index aaab4ec7410..00000000000 --- a/modular_skyrat/modules/pollution/code/temporary_pollution_emission_component.dm +++ /dev/null @@ -1,36 +0,0 @@ -/datum/component/temporary_pollution_emission - dupe_mode = COMPONENT_DUPE_ALLOWED - /// The type of the pollutant we're emitting - var/pollutant_type - /// The amount we emitt every process - var/pollutant_amount - /// When do we expire - var/expiry_time - -/datum/component/temporary_pollution_emission/Initialize(pollutant_type, pollutant_amount, expiry_time) - if(!isatom(parent)) - return COMPONENT_INCOMPATIBLE - src.pollutant_type = pollutant_type - src.pollutant_amount = pollutant_amount - src.expiry_time = world.time + expiry_time - RegisterSignal(parent, COMSIG_COMPONENT_CLEAN_ACT, PROC_REF(wash_off)) - START_PROCESSING(SSobj, src) - -/datum/component/temporary_pollution_emission/Destroy() - UnregisterSignal(parent, COMSIG_COMPONENT_CLEAN_ACT) - STOP_PROCESSING(SSobj, src) - return ..() - -/datum/component/temporary_pollution_emission/process(seconds_per_tick = SSOBJ_DT) - var/turf/my_turf = get_turf(parent) - if(!my_turf || world.time >= expiry_time) - qdel(src) - return - - my_turf.pollute_turf(pollutant_type, pollutant_amount * seconds_per_tick) - -/datum/component/temporary_pollution_emission/proc/wash_off() - SIGNAL_HANDLER - if(ismob(parent)) - to_chat(parent, span_notice("The smell that lingered on your body fades.")) - qdel(src) diff --git a/modular_skyrat/modules/pollution/code/turf_open.dm b/modular_skyrat/modules/pollution/code/turf_open.dm deleted file mode 100644 index ec8313222ee..00000000000 --- a/modular_skyrat/modules/pollution/code/turf_open.dm +++ /dev/null @@ -1,33 +0,0 @@ -/turf/proc/pollute_turf(pollution_type, amount, cap) - return - -/turf/proc/pollute_turf_list(list/pollutions, cap) - return - -/turf/open/pollute_turf(pollution_type, amount, cap) - // Don't add pollution when the subsystem is off. - if(!SSpollution.can_fire) - return - - if(!pollution) - pollution = new(src) - if(cap && pollution.total_amount >= cap) - return - pollution.add_pollutant(pollution_type, amount) - -/turf/open/pollute_turf_list(list/pollutions, cap) - // Don't add pollution when the subsystem is off. - if(!SSpollution.can_fire) - return - - if(!pollution) - pollution = new(src) - if(cap && pollution.total_amount >= cap) - return - pollution.add_pollutant_list(pollutions) - -/turf/open/space/pollute_turf(pollution_type, amount, cap) - return - -/turf/open/space/pollute_turf_list(list/pollutions, cap) - return diff --git a/modular_skyrat/modules/pollution/icons/air_refresher.dmi b/modular_skyrat/modules/pollution/icons/air_refresher.dmi deleted file mode 100644 index 714b99a5e2a15ce449d5b364f6b6051bbf3d83c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 285 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfv=>VS)*8>L*96NSw=FFL~`OEzi zrmWoizhlY&jQW!{-sR@bChvgC7)yfuf*Bm1-ADs+3adgQN?cNllZ!G7N;32F7#J$% z1cwzAm45#cT=4Ph6D@CDt#fD22X6>9xM=*~karp%blm8h+~_yuHl{UD41Yi eR+u2+!N9Qpq+s;PxIbM$?F^o-elF{r5}E*P8fw4* diff --git a/modular_skyrat/modules/pollution/icons/perfume.dmi b/modular_skyrat/modules/pollution/icons/perfume.dmi deleted file mode 100644 index 0925a982129feead7f3a722ad583cf044016721b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 410 zcmV;L0cHM)P);M1nVFgYnE+IZicWfZNM~nGgoT;^|A*n>alO4hU0T3u>b#t=JsT@ z!G-MqVX(bVk(&U_{{WZ00DPMO!SMi@{{V5l09>0kQdBTVO1#}dKj5!W~Fbu#_?r=j(fkOHJ zGZA7Y87kBzUTqmb5F(&dLI-Ka4D!DRMOg)TtedtA@WBJ@hjE&}3(f;-t&JfDjDLfL z84w=OTDxw diff --git a/modular_skyrat/modules/pollution/icons/pollution_scrubber.dmi b/modular_skyrat/modules/pollution/icons/pollution_scrubber.dmi deleted file mode 100644 index 9710221b087c0ba4166b92fc15b7d11a8671f07c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 918 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=ZB-!=B`&GO$wiq3C7Jno3=9=> za!+mKI%FW?_R#XXX5FpOBO%v!dvv8_#5)ERn=~ zNVjt4L5rO7lzW!fSdQ&eo~&{|D0cak0M?#mF<&fw7xB)Vv9%%bWQ?gz%3Jx0xM%;j zDGNW9vrD+qyHxD&iwA7}@h=`|AO3V>wF(0R(`io^$B>FSZ)e$O2q#J$o8OVQYl&VM zt74{_Xv@937Y=qb@8HnVSlG-V`|0@tPySbG78V(u;vNQkd`_C~?K@tius9!V$Ys?O zk=2`g)YE9E#ApcsE_RZ5fYG12aI89jU&y}F??zioY)>Ai}C#>|hW7awBvi6q4&5enY zYNb9ZY`+2(STDT){xLIK*ij(CZu;R_&l8`&&Qnod^lMt;qKhRH{gx+4szuJPVY|`F zwavbKYq0(0jQ+jS%MznF>e}8bsT;=nYUVoDozic~{di>a{UG8QFSI!sM$(OOe zQkub`JY87+mh_EV|0L!y2B$A8_DC|tUARfoG^r%q7e)k6t_%HgXDO>qT z-2Amfb%KxD!{2*9aP&ye{I%tEgQ)oZ@86t0UM=PSx%<1a(9ej0*+Y?J_x^h!<5vt>^E&zp`9&u}9CP`qKC8nbSV(KcMjN%9oc5w?toNNV56$ z|FZo>rl^)mCq|LEOOO2NO=4iMua~bc_^@~K@j6?{ue*F6T@c?TG{;5huHY<|5{5f$ zJ1#O7NI!66KakrXEz7W-F%Kcww#QJZJICzws`VxI4s55sF{cQwlur=X`tWz&B}JDg zrqttUHzlWW?vw|H`K6a4QoiPw{@Iv6F?P5Hq(I6QMGhp?%iYND__N#o|DInu43A#3 zA89Q5%WzZUCjW%aNq-q;YTV|Z&>Hl&!6IOlya4;9UyN7&R^~1F%Dm$D=Q|o#`8$}u n)iqoyZ&71Ja~ryYe=;9mGu!)Em&hkzMq}`F^>bP0l+XkK_dlmU diff --git a/modular_skyrat/modules/salon/code/barbervend.dm b/modular_skyrat/modules/salon/code/barbervend.dm index bc6d5fb1bb4..71844850e3b 100644 --- a/modular_skyrat/modules/salon/code/barbervend.dm +++ b/modular_skyrat/modules/salon/code/barbervend.dm @@ -24,7 +24,6 @@ /obj/item/storage/box/lipsticks = 3, /obj/item/lipstick/quantum = 1, /obj/item/razor = 1, - /obj/item/storage/box/perfume = 1, ) refill_canister = /obj/item/vending_refill/barbervend default_price = PAYCHECK_CREW diff --git a/modular_skyrat/modules/salon/code/misc_items.dm b/modular_skyrat/modules/salon/code/misc_items.dm index e944ae6b38a..b43e8e315ba 100644 --- a/modular_skyrat/modules/salon/code/misc_items.dm +++ b/modular_skyrat/modules/salon/code/misc_items.dm @@ -179,18 +179,3 @@ icon = 'modular_skyrat/modules/salon/icons/items.dmi' icon_state = "barber" buildable_sign = FALSE // Don't want them removed, they look too jank. - -/obj/item/storage/box/perfume - name = "box of perfumes" - -/obj/item/storage/box/perfume/PopulateContents() - new /obj/item/perfume/cologne(src) - new /obj/item/perfume/wood(src) - new /obj/item/perfume/rose(src) - new /obj/item/perfume/jasmine(src) - new /obj/item/perfume/mint(src) - new /obj/item/perfume/vanilla(src) - new /obj/item/perfume/pear(src) - new /obj/item/perfume/strawberry(src) - new /obj/item/perfume/cherry(src) - new /obj/item/perfume/amber(src) diff --git a/modular_zubbers/code/_globalvars/lists/maintenance_loot_common.dm b/modular_zubbers/code/_globalvars/lists/maintenance_loot_common.dm index 3c98377c370..15fc61e395a 100644 --- a/modular_zubbers/code/_globalvars/lists/maintenance_loot_common.dm +++ b/modular_zubbers/code/_globalvars/lists/maintenance_loot_common.dm @@ -1,7 +1,6 @@ GLOBAL_LIST_INIT(common_loot, list( //common: basic items GLOB.arcade_prize_pool = 150, /obj/item/relic = 100, - /obj/item/air_refresher = 25, list( /obj/item/storage/backpack = 200, /obj/item/storage/backpack/duffelbag = 100, @@ -438,18 +437,6 @@ GLOBAL_LIST_INIT(common_loot, list( //common: basic items /obj/item/storage/fancy/cigarettes/dromedaryco = 25, /obj/item/storage/fancy/cigarettes/khi = 25 ) = 100, - list( - /obj/item/perfume/amber = 1, - /obj/item/perfume/cherry = 1, - /obj/item/perfume/cologne = 1, - /obj/item/perfume/jasmine = 1, - /obj/item/perfume/mint = 1, - /obj/item/perfume/pear = 1, - /obj/item/perfume/rose = 1, - /obj/item/perfume/strawberry = 1, - /obj/item/perfume/vanilla = 1, - /obj/item/perfume/wood = 1 - ) = 25, list( /obj/item/assembly/health = 25, /obj/item/assembly/igniter = 100, diff --git a/modular_zubbers/code/_globalvars/lists/maintenance_loot_uncommon.dm b/modular_zubbers/code/_globalvars/lists/maintenance_loot_uncommon.dm index 66bbde19101..61735284b95 100644 --- a/modular_zubbers/code/_globalvars/lists/maintenance_loot_uncommon.dm +++ b/modular_zubbers/code/_globalvars/lists/maintenance_loot_uncommon.dm @@ -149,7 +149,6 @@ GLOBAL_LIST_INIT(uncommon_loot, list(//uncommon: useful items /obj/item/storage/box/papersack/meat = 200, /obj/item/storage/box/party_poppers = 75, /obj/item/storage/box/pdas = 25, - /obj/item/storage/box/perfume = 25, /obj/item/storage/box/petridish = 75, /obj/item/storage/box/pillbottles = 100, /obj/item/storage/box/pinpointer_pairs = 1, diff --git a/modular_zubbers/code/game/objects/effects/spawners/random/moonstation_random.dm b/modular_zubbers/code/game/objects/effects/spawners/random/moonstation_random.dm index 2043d6905ce..fb23b6446c6 100644 --- a/modular_zubbers/code/game/objects/effects/spawners/random/moonstation_random.dm +++ b/modular_zubbers/code/game/objects/effects/spawners/random/moonstation_random.dm @@ -256,7 +256,6 @@ /obj/machinery/fax = 1, /obj/machinery/microwave = 10, /obj/machinery/plantgenes = 5, - /obj/machinery/pollution_scrubber = 10, /obj/machinery/reagentgrinder = 20, /obj/machinery/recharger = 5, /obj/machinery/smartfridge/disks = 10, diff --git a/modular_zubbers/code/modules/loadout/categories/pocket.dm b/modular_zubbers/code/modules/loadout/categories/pocket.dm index 3caf0b44153..1f9eddef25a 100644 --- a/modular_zubbers/code/modules/loadout/categories/pocket.dm +++ b/modular_zubbers/code/modules/loadout/categories/pocket.dm @@ -6,58 +6,6 @@ name = "Wine Bottle" item_path = /obj/item/reagent_containers/cup/glass/bottle/wine -/* -* PERFUME -*/ - -/datum/loadout_item/pocket_items/fragrance_ash - name = "Ash Perfume" - item_path = /obj/item/perfume/ash - -/datum/loadout_item/pocket_items/fragrance_bergamot - name = "Bergamot Perfume" - item_path = /obj/item/perfume/bergamot - -/datum/loadout_item/pocket_items/fragrance_cardamom - name = "Cardamom Perfume" - item_path = /obj/item/perfume/cardamom - -/datum/loadout_item/pocket_items/fragrance_chocolate - name = "Chocolate Perfume" - item_path = /obj/item/perfume/chocolate - -/datum/loadout_item/pocket_items/fragrance_cinnamon - name = "Cinnamon Perfume" - item_path = /obj/item/perfume/cinnamon - -/datum/loadout_item/pocket_items/fragrance_citrus - name = "Citrus Perfume" - item_path = /obj/item/perfume/citrus - -/datum/loadout_item/pocket_items/fragrance_clove - name = "Clove Perfume" - item_path = /obj/item/perfume/clove - -/datum/loadout_item/pocket_items/fragrance_grass - name = "Grass Perfume" - item_path = /obj/item/perfume/grass - -/datum/loadout_item/pocket_items/fragrance_iron - name = "Iron Perfume" - item_path = /obj/item/perfume/iron - -/datum/loadout_item/pocket_items/fragrance_oil - name = "Oil Perfume" - item_path = /obj/item/perfume/oil - -/datum/loadout_item/pocket_items/fragrance_peach - name = "Peach Perfume" - item_path = /obj/item/perfume/peach - -/datum/loadout_item/pocket_items/fragrance_petrichor - name = "Petrichor Perfume" - item_path = /obj/item/perfume/petrichor - /* * OTHER */ diff --git a/modular_zubbers/code/modules/pollution/code/perfumes.dm b/modular_zubbers/code/modules/pollution/code/perfumes.dm deleted file mode 100644 index 4d3dbc05bf1..00000000000 --- a/modular_zubbers/code/modules/pollution/code/perfumes.dm +++ /dev/null @@ -1,47 +0,0 @@ -/obj/item/perfume/ash - name = "ash perfume bottle" - fragrance_type = /datum/pollutant/fragrance/ash - -/obj/item/perfume/bergamot - name = "bergamot perfume bottle" - fragrance_type = /datum/pollutant/fragrance/bergamot - -/obj/item/perfume/cardamom - name = "cardamom perfume bottle" - fragrance_type = /datum/pollutant/fragrance/cardamom - -/obj/item/perfume/chocolate - name = "chocolate perfume bottle" - fragrance_type = /datum/pollutant/food/chocolate - -/obj/item/perfume/cinnamon - name = "cinnamon perfume bottle" - fragrance_type = /datum/pollutant/fragrance/cinnamon - -/obj/item/perfume/citrus - name = "citrus perfume bottle" - fragrance_type = /datum/pollutant/fragrance/citrus - -/obj/item/perfume/clove - name = "clove perfume bottle" - fragrance_type = /datum/pollutant/fragrance/clove - -/obj/item/perfume/grass - name = "grass perfume bottle" - fragrance_type = /datum/pollutant/fragrance/grass - -/obj/item/perfume/iron - name = "iron perfume bottle" - fragrance_type = /datum/pollutant/metallic_scent - -/obj/item/perfume/oil - name = "oil perfume bottle" - fragrance_type = /datum/pollutant/fragrance/oil - -/obj/item/perfume/peach - name = "peach perfume bottle" - fragrance_type = /datum/pollutant/fragrance/peach - -/obj/item/perfume/petrichor - name = "petrichor perfume bottle" - fragrance_type = /datum/pollutant/fragrance/petrichor diff --git a/modular_zubbers/code/modules/pollution/code/pollutants_generic.dm b/modular_zubbers/code/modules/pollution/code/pollutants_generic.dm deleted file mode 100644 index ac2ab26bdc8..00000000000 --- a/modular_zubbers/code/modules/pollution/code/pollutants_generic.dm +++ /dev/null @@ -1,39 +0,0 @@ -/datum/pollutant/fragrance/ash - name = "Ash Perfume" - scent = "ash" - -/datum/pollutant/fragrance/bergamot - name = "Bergamot Perfume" - scent = "a fresh and fruity scent" - -/datum/pollutant/fragrance/cardamom - name = "Cardamom Perfume" - scent = "a minty and lemony scent" - -/datum/pollutant/fragrance/cinnamon - name = "Cinnamon Perfume" - scent = "cinnamon" - -/datum/pollutant/fragrance/citrus - name = "Citrus Perfume" - scent = "citrus" - -/datum/pollutant/fragrance/clove - name = "Clove Perfume" - scent = "a spicy and sweet scent" - -/datum/pollutant/fragrance/grass - name = "Grass Perfume" - scent = "a earthy and natural scent" - -/datum/pollutant/fragrance/oil - name = "Oil Perfume" - scent = "oil" - -/datum/pollutant/fragrance/peach - name = "Peach Perfume" - scent = "a sweet and peachy scent" - -/datum/pollutant/fragrance/petrichor - name = "Petrichor Perfume" - scent = "morning dew and fresh rain scent" diff --git a/tgstation.dme b/tgstation.dme index 4ec67f0f568..a766f2d3a3c 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -474,7 +474,6 @@ #include "code\__DEFINES\~skyrat_defines\obj_flags.dm" #include "code\__DEFINES\~skyrat_defines\opposing_force_defines.dm" #include "code\__DEFINES\~skyrat_defines\pinpointers.dm" -#include "code\__DEFINES\~skyrat_defines\pollution.dm" #include "code\__DEFINES\~skyrat_defines\preferences.dm" #include "code\__DEFINES\~skyrat_defines\projectiles.dm" #include "code\__DEFINES\~skyrat_defines\quirks.dm" @@ -6751,7 +6750,6 @@ #include "modular_skyrat\master_files\code\datums\components\crafting.dm" #include "modular_skyrat\master_files\code\datums\components\damage_tracker.dm" #include "modular_skyrat\master_files\code\datums\components\fullauto.dm" -#include "modular_skyrat\master_files\code\datums\components\grillable.dm" #include "modular_skyrat\master_files\code\datums\components\leash.dm" #include "modular_skyrat\master_files\code\datums\components\prone_mob.dm" #include "modular_skyrat\master_files\code\datums\components\shielded_suit.dm" @@ -8482,21 +8480,6 @@ #include "modular_skyrat\modules\polarized_windows\polarization_controller.dm" #include "modular_skyrat\modules\polarized_windows\polarizer.dm" #include "modular_skyrat\modules\polarized_windows\windows.dm" -#include "modular_skyrat\modules\pollution\code\admin_spawn_pollution.dm" -#include "modular_skyrat\modules\pollution\code\air_refresher.dm" -#include "modular_skyrat\modules\pollution\code\bonfire.dm" -#include "modular_skyrat\modules\pollution\code\fancy_storage_items.dm" -#include "modular_skyrat\modules\pollution\code\perfumes.dm" -#include "modular_skyrat\modules\pollution\code\pollutant_datum.dm" -#include "modular_skyrat\modules\pollution\code\pollutants_generic.dm" -#include "modular_skyrat\modules\pollution\code\pollution.dm" -#include "modular_skyrat\modules\pollution\code\pollution_effect.dm" -#include "modular_skyrat\modules\pollution\code\pollution_emitters.dm" -#include "modular_skyrat\modules\pollution\code\pollution_initializations.dm" -#include "modular_skyrat\modules\pollution\code\pollution_subsystem.dm" -#include "modular_skyrat\modules\pollution\code\scented_candles.dm" -#include "modular_skyrat\modules\pollution\code\temporary_pollution_emission_component.dm" -#include "modular_skyrat\modules\pollution\code\turf_open.dm" #include "modular_skyrat\modules\poly_commands\parrot.dm" #include "modular_skyrat\modules\positronic_alert_console\code\positronic_alert_console.dm" #include "modular_skyrat\modules\power\code\teg.dm" @@ -9452,8 +9435,6 @@ #include "modular_zubbers\code\modules\paperwork\folders_premade.dm" #include "modular_zubbers\code\modules\paperwork\paper_premade.dm" #include "modular_zubbers\code\modules\paperwork\stamps.dm" -#include "modular_zubbers\code\modules\pollution\code\perfumes.dm" -#include "modular_zubbers\code\modules\pollution\code\pollutants_generic.dm" #include "modular_zubbers\code\modules\power\powerator.dm" #include "modular_zubbers\code\modules\power\lighting\light_mapping_helpers.dm" #include "modular_zubbers\code\modules\power\supermatter\supermatter_delam.dm" diff --git a/tools/UpdatePaths/Scripts_Bubber/3725_remove_pollution.txt b/tools/UpdatePaths/Scripts_Bubber/3725_remove_pollution.txt new file mode 100644 index 00000000000..fa46b1a5abe --- /dev/null +++ b/tools/UpdatePaths/Scripts_Bubber/3725_remove_pollution.txt @@ -0,0 +1,9 @@ +/obj/machinery/pollution_scrubber : @DELETE +/obj/item/perfume/@SUBTYPES : @DELETE +/obj/item/air_refresher : @DELETE +/obj/item/storage/box/perfume : @DELETE +/obj/item/storage/fancy/candle_box/amber : @DELETE +/obj/item/storage/fancy/candle_box/pear : @DELETE +/obj/item/storage/fancy/candle_box/vanilla : @DELETE +/obj/item/storage/fancy/candle_box/mint : @DELETE +/obj/item/storage/fancy/candle_box/jasmine : @DELETE From 633c0b5549946b47076106690b4dc88683be58f1 Mon Sep 17 00:00:00 2001 From: Bubberbot <151680451+Bubberbot@users.noreply.github.com> Date: Wed, 7 May 2025 03:52:25 +0200 Subject: [PATCH 10/10] Automatic changelog for PR #3725 [ci skip] --- html/changelogs/AutoChangeLog-bubber-pr-3725.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-bubber-pr-3725.yml diff --git a/html/changelogs/AutoChangeLog-bubber-pr-3725.yml b/html/changelogs/AutoChangeLog-bubber-pr-3725.yml new file mode 100644 index 00000000000..0ece1c48d2c --- /dev/null +++ b/html/changelogs/AutoChangeLog-bubber-pr-3725.yml @@ -0,0 +1,4 @@ +author: "Shadow-Quill" +delete-after: True +changes: + - rscdel: "Due to new environmental regulations, we have removed all pollutants from our space stations." \ No newline at end of file