From 3d26d406ea64612214f531b98192e63bbb13ff43 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Nov 2022 18:46:55 +0000 Subject: [PATCH 01/12] Bump @xmldom/xmldom from 0.7.5 to 0.7.8 in /tgui Bumps [@xmldom/xmldom](https://github.com/xmldom/xmldom) from 0.7.5 to 0.7.8. - [Release notes](https://github.com/xmldom/xmldom/releases) - [Changelog](https://github.com/xmldom/xmldom/blob/master/CHANGELOG.md) - [Commits](https://github.com/xmldom/xmldom/compare/0.7.5...0.7.8) --- updated-dependencies: - dependency-name: "@xmldom/xmldom" dependency-type: indirect ... Signed-off-by: dependabot[bot] --- tgui/yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tgui/yarn.lock b/tgui/yarn.lock index 5aed04b4dc..d89a5d35ad 100644 --- a/tgui/yarn.lock +++ b/tgui/yarn.lock @@ -2083,9 +2083,9 @@ __metadata: linkType: hard "@xmldom/xmldom@npm:^0.7.2": - version: 0.7.5 - resolution: "@xmldom/xmldom@npm:0.7.5" - checksum: 8d7ec35c1ef6183b4f621df08e01d7e61f244fb964a4719025e65fe6ac06fac418919be64fb40fe5908e69158ef728f2d936daa082db326fe04603012b5f2a84 + version: 0.7.8 + resolution: "@xmldom/xmldom@npm:0.7.8" + checksum: 3bae232f9e6e8218a2c4ab4baa0e2afd5d15d070236cd14b36a59261e5bc9ab26ddf919671fd3ed7474552c7528cf659f14993fdb12f26418f568121f8f4385f languageName: node linkType: hard From 6ab173d9f7818ddb804587b4c509374eaa69a9fc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 16 Nov 2022 01:25:13 +0000 Subject: [PATCH 02/12] Bump loader-utils from 1.4.0 to 1.4.2 in /tgui Bumps [loader-utils](https://github.com/webpack/loader-utils) from 1.4.0 to 1.4.2. - [Release notes](https://github.com/webpack/loader-utils/releases) - [Changelog](https://github.com/webpack/loader-utils/blob/v1.4.2/CHANGELOG.md) - [Commits](https://github.com/webpack/loader-utils/compare/v1.4.0...v1.4.2) --- updated-dependencies: - dependency-name: loader-utils dependency-type: indirect ... Signed-off-by: dependabot[bot] --- tgui/yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tgui/yarn.lock b/tgui/yarn.lock index 5aed04b4dc..2dcf782a4f 100644 --- a/tgui/yarn.lock +++ b/tgui/yarn.lock @@ -5585,13 +5585,13 @@ __metadata: linkType: hard "loader-utils@npm:^1.4.0": - version: 1.4.0 - resolution: "loader-utils@npm:1.4.0" + version: 1.4.2 + resolution: "loader-utils@npm:1.4.2" dependencies: big.js: ^5.2.2 emojis-list: ^3.0.0 json5: ^1.0.1 - checksum: d150b15e7a42ac47d935c8b484b79e44ff6ab4c75df7cc4cb9093350cf014ec0b17bdb60c5d6f91a37b8b218bd63b973e263c65944f58ca2573e402b9a27e717 + checksum: eb6fb622efc0ffd1abdf68a2022f9eac62bef8ec599cf8adb75e94d1d338381780be6278534170e99edc03380a6d29bc7eb1563c89ce17c5fed3a0b17f1ad804 languageName: node linkType: hard From 61aeb9e4864f3a8e320f0b811a5985ab5c197914 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 22 Nov 2022 08:53:39 +0000 Subject: [PATCH 03/12] Bump pillow from 8.3.2 to 9.3.0 in /tools Bumps [pillow](https://github.com/python-pillow/Pillow) from 8.3.2 to 9.3.0. - [Release notes](https://github.com/python-pillow/Pillow/releases) - [Changelog](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst) - [Commits](https://github.com/python-pillow/Pillow/compare/8.3.2...9.3.0) --- updated-dependencies: - dependency-name: pillow dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- tools/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/requirements.txt b/tools/requirements.txt index a9abe5e826..af387db66f 100644 --- a/tools/requirements.txt +++ b/tools/requirements.txt @@ -1,6 +1,6 @@ pygit2==1.0.1 bidict==0.13.1 -Pillow==8.3.2 +Pillow==9.3.0 # changelogs PyYaml==5.4 From a440952a14dd3108add615f04b6700ac6dcb4c86 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 12 Dec 2022 17:21:30 +0000 Subject: [PATCH 04/12] Bump qs from 6.5.2 to 6.5.3 in /tgui Bumps [qs](https://github.com/ljharb/qs) from 6.5.2 to 6.5.3. - [Release notes](https://github.com/ljharb/qs/releases) - [Changelog](https://github.com/ljharb/qs/blob/main/CHANGELOG.md) - [Commits](https://github.com/ljharb/qs/compare/v6.5.2...v6.5.3) --- updated-dependencies: - dependency-name: qs dependency-type: indirect ... Signed-off-by: dependabot[bot] --- tgui/yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tgui/yarn.lock b/tgui/yarn.lock index 5aed04b4dc..6cf2fda117 100644 --- a/tgui/yarn.lock +++ b/tgui/yarn.lock @@ -6593,9 +6593,9 @@ __metadata: linkType: hard "qs@npm:~6.5.2": - version: 6.5.2 - resolution: "qs@npm:6.5.2" - checksum: 24af7b9928ba2141233fba2912876ff100403dba1b08b20c3b490da9ea6c636760445ea2211a079e7dfa882a5cf8f738337b3748c8bdd0f93358fa8881d2db8f + version: 6.5.3 + resolution: "qs@npm:6.5.3" + checksum: 6f20bf08cabd90c458e50855559539a28d00b2f2e7dddcb66082b16a43188418cb3cb77cbd09268bcef6022935650f0534357b8af9eeb29bf0f27ccb17655692 languageName: node linkType: hard From a0cbb5247916a74d8956567c2bf13d2dfd6bb603 Mon Sep 17 00:00:00 2001 From: Lin Date: Mon, 12 Dec 2022 19:10:50 -0700 Subject: [PATCH 05/12] slash -> claw --- code/modules/mob/living/carbon/human/species_types/arachnid.dm | 2 +- code/modules/mob/living/carbon/human/species_types/bugmen.dm | 2 +- .../mob/living/carbon/human/species_types/lizardpeople.dm | 2 +- code/modules/mob/living/carbon/human/species_types/podpeople.dm | 2 +- code/modules/mob/living/carbon/human/species_types/xeno.dm | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/code/modules/mob/living/carbon/human/species_types/arachnid.dm b/code/modules/mob/living/carbon/human/species_types/arachnid.dm index 7495e2500e..6dc19d928a 100644 --- a/code/modules/mob/living/carbon/human/species_types/arachnid.dm +++ b/code/modules/mob/living/carbon/human/species_types/arachnid.dm @@ -7,7 +7,7 @@ species_traits = list(LIPS, NOEYES, NO_UNDERWEAR, HAS_FLESH, HAS_BONE) inherent_biotypes = MOB_ORGANIC|MOB_HUMANOID|MOB_BUG mutant_bodyparts = list("arachnid_legs" = "Plain", "arachnid_spinneret" = "Plain", "arachnid_mandibles" = "Plain") - attack_verb = "slash" + attack_verb = "claw" attack_sound = 'sound/weapons/slash.ogg' miss_sound = 'sound/weapons/slashmiss.ogg' meat = /obj/item/reagent_containers/food/snacks/meat/slab/spider diff --git a/code/modules/mob/living/carbon/human/species_types/bugmen.dm b/code/modules/mob/living/carbon/human/species_types/bugmen.dm index df4abf864a..bddb0cdc56 100644 --- a/code/modules/mob/living/carbon/human/species_types/bugmen.dm +++ b/code/modules/mob/living/carbon/human/species_types/bugmen.dm @@ -7,7 +7,7 @@ inherent_biotypes = MOB_ORGANIC|MOB_HUMANOID|MOB_BUG mutant_bodyparts = list("mcolor" = "FFFFFF","mcolor2" = "FFFFFF","mcolor3" = "FFFFFF", "mam_tail" = "None", "mam_ears" = "None", "insect_wings" = "None", "insect_fluff" = "None", "mam_snouts" = "None", "taur" = "None", "insect_markings" = "None", "mam_body_markings" = list()) - attack_verb = "slash" + attack_verb = "claw" attack_sound = 'sound/weapons/slash.ogg' miss_sound = 'sound/weapons/slashmiss.ogg' meat = /obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/insect diff --git a/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm b/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm index ef8fd35c45..c334e6ef3e 100644 --- a/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm @@ -13,7 +13,7 @@ mutant_bodyparts = list("mcolor" = "0F0", "mcolor2" = "0F0", "mcolor3" = "0F0", "tail_lizard" = "Smooth", "mam_snouts" = "Round", "horns" = "None", "frills" = "None", "spines" = "None", "mam_body_markings" = list(), "legs" = "Digitigrade", "taur" = "None", "deco_wings" = "None") - attack_verb = "slash" + attack_verb = "claw" attack_sound = 'sound/weapons/slash.ogg' miss_sound = 'sound/weapons/slashmiss.ogg' meat = /obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/lizard diff --git a/code/modules/mob/living/carbon/human/species_types/podpeople.dm b/code/modules/mob/living/carbon/human/species_types/podpeople.dm index ed0fa9ae87..d2c4aab157 100644 --- a/code/modules/mob/living/carbon/human/species_types/podpeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/podpeople.dm @@ -4,7 +4,7 @@ id = SPECIES_POD default_color = "59CE00" species_traits = list(MUTCOLORS,EYECOLOR,CAN_SCAR,HAS_FLESH,HAS_BONE) - attack_verb = "slash" + attack_verb = "claw" attack_sound = 'sound/weapons/slice.ogg' miss_sound = 'sound/weapons/slashmiss.ogg' burnmod = 1.25 diff --git a/code/modules/mob/living/carbon/human/species_types/xeno.dm b/code/modules/mob/living/carbon/human/species_types/xeno.dm index cd3ba8d5cc..3d710988e5 100644 --- a/code/modules/mob/living/carbon/human/species_types/xeno.dm +++ b/code/modules/mob/living/carbon/human/species_types/xeno.dm @@ -6,7 +6,7 @@ default_color = "00FF00" species_traits = list(MUTCOLORS,EYECOLOR,LIPS,CAN_SCAR,HAS_FLESH,HAS_BONE) mutant_bodyparts = list("xenotail"="Xenomorph Tail","xenohead"="Standard","xenodorsal"="Standard", "mam_body_markings" = list(),"mcolor" = "0F0","mcolor2" = "0F0","mcolor3" = "0F0","taur" = "None", "legs" = "Digitigrade","deco_wings"= "None") - attack_verb = "slash" + attack_verb = "claw" attack_sound = 'sound/weapons/slash.ogg' miss_sound = 'sound/weapons/slashmiss.ogg' meat = /obj/item/reagent_containers/food/snacks/meat/slab/xeno From dd617049606adbb36789987111b7edf7b8467d34 Mon Sep 17 00:00:00 2001 From: Darius <5933805+LeDrascol@users.noreply.github.com> Date: Sat, 17 Dec 2022 10:12:58 -0500 Subject: [PATCH 06/12] Automatically implant High Luminosity Eyes Prevents the need for an auto-surgeon by automatically replacing the character's eyes on spawn. --- code/datums/traits/good.dm | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/code/datums/traits/good.dm b/code/datums/traits/good.dm index 3bcca275a5..e2de71d006 100644 --- a/code/datums/traits/good.dm +++ b/code/datums/traits/good.dm @@ -187,10 +187,13 @@ lose_text = "High-tech gizmos are a scam..." /datum/quirk/trandening/on_spawn() - var/mob/living/carbon/human/H = quirk_holder - var/obj/item/autosurgeon/gloweyes/gloweyes = new(get_turf(H)) - H.equip_to_slot(gloweyes, ITEM_SLOT_BACKPACK) - H.regenerate_icons() + // Get targets + var/obj/item/organ/eyes/old_eyes = quirk_holder.getorganslot(ORGAN_SLOT_EYES) + var/obj/item/organ/eyes/robotic/glow/new_eyes = new + + // Replace eyes + qdel(old_eyes) + new_eyes.Insert(quirk_holder) /datum/quirk/bloodpressure name = "Polycythemia vera" From f0a154106e62409bd85a711dac8476f344de5c63 Mon Sep 17 00:00:00 2001 From: Hatterhat <31829017+Hatterhat@users.noreply.github.com> Date: Mon, 19 Dec 2022 08:33:59 -0600 Subject: [PATCH 07/12] no more titanium req --- code/datums/components/crafting/recipes/recipes_clothing.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/datums/components/crafting/recipes/recipes_clothing.dm b/code/datums/components/crafting/recipes/recipes_clothing.dm index 75d00bbfcd..7dbbf01a1d 100644 --- a/code/datums/components/crafting/recipes/recipes_clothing.dm +++ b/code/datums/components/crafting/recipes/recipes_clothing.dm @@ -287,7 +287,7 @@ name = "Durathread Reinforcement Kit" result = /obj/item/armorkit reqs = list(/obj/item/stack/sheet/durathread = 4) - tools = list(/obj/item/stack/sheet/mineral/titanium, TOOL_WIRECUTTER) // tough needle for a tough fabric + tools = list(TOOL_WIRECUTTER) time = 40 category = CAT_CLOTHING From 55826b9eb8888787b0d3fc957b54bda545c5143b Mon Sep 17 00:00:00 2001 From: Hatterhat Date: Tue, 20 Dec 2022 20:02:28 -0600 Subject: [PATCH 08/12] oops --- code/modules/client/preferences_savefile.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm index a46300ab54..146390edb8 100644 --- a/code/modules/client/preferences_savefile.dm +++ b/code/modules/client/preferences_savefile.dm @@ -471,6 +471,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car S["preferred_chaos"] >> preferred_chaos S["auto_ooc"] >> auto_ooc S["no_tetris_storage"] >> no_tetris_storage + S["recoil_screenshake"] >> recoil_screenshake //favorite outfits S["favorite_outfits"] >> favorite_outfits @@ -652,6 +653,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car WRITE_FILE(S["preferred_chaos"], preferred_chaos) WRITE_FILE(S["auto_ooc"], auto_ooc) WRITE_FILE(S["no_tetris_storage"], no_tetris_storage) + WRITE_FILE(S["recoil_screenshake"], recoil_screenshake) if(length(unlockable_loadout_data)) WRITE_FILE(S["unlockable_loadout"], safe_json_encode(unlockable_loadout_data)) From 3ea2c35832b07027667f6f8504344781ead19a04 Mon Sep 17 00:00:00 2001 From: Hatterhat <31829017+Hatterhat@users.noreply.github.com> Date: Fri, 23 Dec 2022 02:25:26 -0600 Subject: [PATCH 09/12] mismatch --- code/modules/cargo/bounties/science.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/cargo/bounties/science.dm b/code/modules/cargo/bounties/science.dm index ffa608f8fd..4079a6ffbe 100644 --- a/code/modules/cargo/bounties/science.dm +++ b/code/modules/cargo/bounties/science.dm @@ -8,7 +8,7 @@ name = "Trash Bag of Holding" description = "Nanotrasen would make good use of high-capacity trash bags. If you have any, please ship them." reward = 3000 - wanted_types = list(/obj/item/storage/backpack/holding) + wanted_types = list(/obj/item/storage/bag/trash/bluespace) /datum/bounty/item/science/bluespace_syringe name = "Bluespace Syringe" From d3e018720cbd3e4a22d22241f3e561e681d8ba62 Mon Sep 17 00:00:00 2001 From: Darius <5933805+LeDrascol@users.noreply.github.com> Date: Sat, 24 Dec 2022 15:57:11 -0500 Subject: [PATCH 10/12] Port the Bluespace Light Replacer - Ports the Bluespace Light Replacer from TG -- Added to Applied Bluespace Research instead of Advanced Sanitation Technology - Makes the basic Light Replacer a default tech node --- .../objects/items/devices/lightreplacer.dm | 17 ++++++++++++++++- code/modules/research/designs/misc_designs.dm | 10 ++++++++++ .../modules/research/techweb/_techweb_node.dm | 2 +- .../research/techweb/nodes/bluespace_nodes.dm | 2 +- icons/obj/janitor.dmi | Bin 28064 -> 29389 bytes 5 files changed, 28 insertions(+), 3 deletions(-) diff --git a/code/game/objects/items/devices/lightreplacer.dm b/code/game/objects/items/devices/lightreplacer.dm index 9ab6115634..97c61caffd 100644 --- a/code/game/objects/items/devices/lightreplacer.dm +++ b/code/game/objects/items/devices/lightreplacer.dm @@ -67,6 +67,9 @@ // when we get this many shards, we get a free bulb. var/shards_required = 4 + // whether it is "bluespace powered" (can be used at a range) + var/bluespace_toggle = FALSE + /obj/item/lightreplacer/New() uses = max_uses / 2 failmsg = "The [name]'s refill light blinks red." @@ -242,7 +245,7 @@ /obj/item/lightreplacer/afterattack(atom/T, mob/U, proximity) . = ..() - if(!proximity) + if(!proximity && !bluespace_toggle) return if(!isturf(T)) return @@ -253,6 +256,9 @@ break used = TRUE if(istype(A, /obj/machinery/light)) + if(!proximity && bluespace_toggle) + U.Beam(A, icon_state = "rped_upgrade", time = 1 SECONDS) + playsound(src, 'sound/items/pshoom.ogg', 40, 1) ReplaceLight(A, U) if(!used) @@ -266,6 +272,15 @@ /obj/item/lightreplacer/cyborg/janicart_insert(mob/user, obj/structure/janitorialcart/J) return +/obj/item/lightreplacer/blue + name = "bluespace light replacer" + desc = "A modified light replacer that zaps lights into place. Refill with broken or working lightbulbs, or sheets of glass." + icon_state = "lightreplacer_blue" + bluespace_toggle = TRUE + +/obj/item/lightreplacer/blue/emag_act() + return // balancing against longrange explosions + #undef LIGHT_OK #undef LIGHT_EMPTY #undef LIGHT_BROKEN diff --git a/code/modules/research/designs/misc_designs.dm b/code/modules/research/designs/misc_designs.dm index 630a3629cf..a2471ce553 100644 --- a/code/modules/research/designs/misc_designs.dm +++ b/code/modules/research/designs/misc_designs.dm @@ -407,6 +407,16 @@ category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_SERVICE | DEPARTMENTAL_FLAG_ENGINEERING +/datum/design/light_replacer_blue + name = "Bluespace Light Replacer" + desc = "A device to automatically replace lights at a distance. Refill with working light bulbs." + id = "light_replacer_blue" + build_type = PROTOLATHE + materials = list(/datum/material/iron = 1500, /datum/material/silver = 150, /datum/material/glass = 3000, /datum/material/bluespace = 300) + build_path = /obj/item/lightreplacer/blue + category = list("Equipment") + departmental_flags = DEPARTMENTAL_FLAG_SERVICE | DEPARTMENTAL_FLAG_ENGINEERING + /datum/design/normtrash name = "Trashbag" desc = "It's a bag for trash, you put garbage in it." diff --git a/code/modules/research/techweb/_techweb_node.dm b/code/modules/research/techweb/_techweb_node.dm index 92eaa2bd41..8ea4b95d03 100644 --- a/code/modules/research/techweb/_techweb_node.dm +++ b/code/modules/research/techweb/_techweb_node.dm @@ -106,4 +106,4 @@ "destructive_analyzer", "circuit_imprinter", "experimentor", "rdconsole", "bepis", "design_disk", "tech_disk", "rdserver", "rdservercontrol", "mechfab", "paystand", "space_heater", "beaker", "large_beaker", "xlarge_beaker", "bucket", "hypovial", "large_hypovial", "syringe", "pillbottle", "sec_shellclip", "sec_beanbag", "sec_rshot", "sec_bshot", "sec_slug", "sec_islug", "sec_dart", "sec_38", "sec_38lethal", - "rglass","plasteel","plastitanium","plasmaglass","plasmareinforcedglass","titaniumglass","plastitaniumglass", "salestagger") + "rglass","plasteel","plastitanium","plasmaglass","plasmareinforcedglass","titaniumglass","plastitaniumglass", "salestagger", "light_replacer") diff --git a/code/modules/research/techweb/nodes/bluespace_nodes.dm b/code/modules/research/techweb/nodes/bluespace_nodes.dm index 802f7854b1..28cda2cfa3 100644 --- a/code/modules/research/techweb/nodes/bluespace_nodes.dm +++ b/code/modules/research/techweb/nodes/bluespace_nodes.dm @@ -13,7 +13,7 @@ display_name = "Applied Bluespace Research" description = "Using bluespace to make things faster and better." prereq_ids = list("bluespace_basic", "engineering") - design_ids = list("bs_rped","biobag_holding","minerbag_holding", "bluespacebeaker", "bluespacesyringe", "phasic_scanning", "bluespacesmartdart", "xenobio_slimebasic", "bluespace_tray") + design_ids = list("bs_rped","biobag_holding","minerbag_holding", "bluespacebeaker", "bluespacesyringe", "phasic_scanning", "bluespacesmartdart", "xenobio_slimebasic", "bluespace_tray", "light_replacer_blue") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 5000) /datum/techweb_node/adv_bluespace diff --git a/icons/obj/janitor.dmi b/icons/obj/janitor.dmi index 50975dc828bb4423fef6e1f4323ebfbbf29b65cf..74ec51176845203b394b5069330867a3f79e02bb 100644 GIT binary patch delta 9329 zcmZ8{by!qUxA&n@R1gu676C!&ZUzPEMnFQ86e%fzA7fe1^uJFZU@nw@7mGr^u#6OcDaz%p_{^WvHsArAs-AH+%OD zgbfElwm<2S#dL*@PGesjd_>_+XkohjQ|vE_H*bu4C(RhO)1w=^X)U(?%;bbd-LbjP zA~UvBn>thMuvGc3_`@=%i!=Yk0n*h>h|=Ouo7==RIxtW!8}kWbV@uu%aHtzhQQ(Uf z&pXUu;`wFHDQ_=trbUhl%a4r|xqeiHCPrTZ*RD%sZ_8cfZ}3>bQaKJHQj$i$phdHU z<$s_)gFNM-yT+L>XuYM2 z&Nl}M5)BBr(PujaIx6<@=9P9kkFdZd{-1hZ8>)*n>d{UeMuLn*+?;S)97EHqHxG61DOt~IXL-nCaj{~P-+H0g+EGaOfQ?*HFt|LZV0DL zH*8QQH?$NODQL4tzs>5rAuz$;Z)nJN3TF5G&Bhf?zOqjKHZ?b}5S_pMp~7OO|HbTv zPZP_`fCw3?OlEU?byr;K_+2X=-a27KqW#I){BgL!kMB+PuyAOGqGqLja_&Y6@u%ff z?s>)Ewpfm3NbHi`ezmZ!`J-q4DQob{w9MI?d(jagCJizJo(3!H==?L9O@kc~@dnm*{v!TH$lgm9wQ#eLgBQ}eUrZ93BHS~tIG8gYebJTX->qQPbj7QN81$dh6y zGA(+~Yz=|nqTEYv#uYNhsY8bN_>HZN+CIM(q$72(f6%2bJHRR7FaAV}PvV3x6y4|@^*Ys@U>?!W#UViQzFT-`$XK4TOWIFX;?DH%Lc< z2{e%?jrGOo9R7fY2TT!ni>Xk>J|ZyaF05RaK#2HZkv{NiBltn%oaTN|3$H?L113u6ICz66f} zWo6~E$)+5w@(d1K_dVQ{u%ku&&P_+htp{-rT<%pFvkX;>T8e7xS;E50q$h71Q#-5WHre#LOf+}kBnNkv9 z?2*O7L~ovL!0j6&c!}3zo@nOQ$wO7e8m`DOR>Z$zisdvVPKQ|U>h}}KK=ya4^jbVP zBo8-A3QfAR!10u@;`hag$Hgp>D8DkcOY;88a;NlnmF^aa>{M|=ax%zV8F=WV*Qei1 zJ3nHeLh)>1qx{JC>H?-U@=~@8l@FnLn;{m9S9=f>FBSad@=)|k^M<5{SL zP(tJTBKI>5#C4d*3gSx!TthD-l=i32K;O^ad8#Zexea(rO-poc&%XY~G9P-A6)dj& zHnzN{T%!%Vxx(^s2nlljI!ggglTShdGQ5-|1QuQgnHG|8tXGn9335lrG-Hec+VXat z=T7V?aGad!_cA%I3V)%=qzRUZ4VwQH;dn$#y?Bwr+W4e%U`cWBfPK zi#6wSdR0;O&Nx@P?s>5f;js-GF>3Kb3}tM8yMpBQ4~nrZZ8g;mDmy7cig!y9$U$a>I#+#H7RhD5gA=`R(f9BSL&)+Y67uL4KaBkH(MpPmA+ZWCoHW0fmtj(S0ncO zGN<3i(PyI7Yi!5TV1kfUEq`y42vc!!F+*BWc46syJN6*L0eVe8zpSjRZ^U4Bc9xaR zQ<8-Owo6tTXup3u)Uj(-pFlOO4${54N^|iPPo1fJUJI(` zm80_B!BhhLvudsw;}S3`cK#c0la_gDcG?*J?v1*dml(>_%(cpM3-y*sylq;!!Q1Hc zwI&1tA-nT2D(bpUqTrCyX~mPOM*^}&4}VO**r5(iRv_i%n{k(hd!{$eSab$=e_jau+U~@c{%PZe|=KrQ?PuIl))bh-cb&S zs$T8S#BfQLkL^U}9_1Q+O&C*NTu4U-{~K%!u?in|9V&r(s4gTo8J0U9n`pYQAF#FOK~%$eb#SRfpt>=l!4Klj^pVAnbJ)+_Oc1l9t2z zE;XB+w;E*I=j8A}cjQ`3bTnY7f3?*j#H;Xe&n+rySd1KNw1y6SY17qE{!lKJ zS?4V0#;#jibLIL@<|Xuy^h>B_43H)M*9W1gl0iLM5Xp8Okl%s==_xrm-1=#^igVy)m<)G7tg#dfGZBv{ccr_4O9#*FD7C7%MrEs zlN~v#tU!#0J8mZgRfh1wJaotH;#x0Sopb2eOi|T8)U=&Zo@J9 z2Ywk3j>K<~TSh!Ifk17s#;AH?5a%y^NR>qsJo|WIGo0b{-mfETYz3^2w0SFM-c+`X zD(mEz2s+)$HWgfzAe=_>yTLMl#VC;jCX&|jwQu1lKA2Dgwo43AeNCvO z5wa(*tuWZWBFh7;h3xButd1wGpz8nFN*#VaU{Gu@_a341Z+|ogGa%4uGiZwRuaq9e zvz=E)f7hlZ1+O^|Q;)EWh2eLwAp^AO+|+L(BkNvV_S4qZj@f*90{kC_wC+$|U)$|( z6Tvez!9b5e|5tQLu-;bQ`N()V1~SLij>Ed)TsYHR1Grg#x}+W5`6oXAzg$@?po>ed zS@!Y40jVV;^_D#4{}3h2#Kyd_HIT7c#hg>D6@f3~_743={3?)2n}}3GOK$g@BmL*2 zxQt+Eb+}Q4jNumP&&JoctF|ul@=AT+0JnNF^#yMHdcAh-ropx8_rab zQe7f34~7Br&{o)f65DHOF6IUxoD3A&!tL2%Aa|i9XLX*`{r|W_zkD0 zkm3&1HlNt-7il^LRaxIDJRGcyrx-`S?it?HbR6Vg;bvq)(1?hIyJj*$JZd3~z< z!}nhEnvuGmKw7YQ3|=wY%ioxn-SW5}T-)on0+T{RgP)}72^${7yzIZFxW5KXICKoB zA1Dp*^9nT+xdCsuxD^(OX2hAs43+&HqBSBL}{3I zxPA~EMvmjObX9!b&Cg}K@qX5D5`0#L^2lKGrxgjyh!Gw?~KC)Icm7>I4hDh>K|A}qF3vs~uVnN?oc;n0&ev@90 z5(cu{fUf`gNiK)kHSF7ey#J0x)#&4WXIE>@ax?0+oYtG5tUr75@6ac=8b7mQ$h{AI zJ>tn)mzVRuCMF&1j}eAwe5n%RPIPVnP z@%S-B%l|G_H2R+P>Dx$F^@K6564f6Mb~r{`@SN8+I zurQy30xN9M&V-KTwa+zT9mElzGZxG!%RHfqBHj5~l{oiq$8aj!X%PoM<>i}`!-pF z8@x9<)!XH%C1u7Wd>8l{Q!;H~PgLCFzDc*O6v)5puZ?e!LwJfNqszk~J|;>JIk(x+ zw)Hy+@-jZET!WlHV6H5qz5t;BIA)Zp8n6A5BI zs7Jld(w=kHtB3Igo;QW-J~*2|>9H=Sp?KlSAV-)6O;6iD9PSof?i^nZH>$;$1b`n>+8O(IIgEpp9Vmo2gC$R zs(57M97t;m&TGMAJUl$W#iP1I!-&>;f1SOQ^Y6v^o_tY*8qw|Z%5bB$6jOOk)a2%FoX2?V`$aoM zD8p0HP524UqK#jrbG@;?K5Ap*rTQ#p_M84!PF&S`-;!wt2i!<n!ic5!mv;`yB<9 z-&jsYkC+5PEem+JuS-prc{(2=aygsyzk;CSxPjjC`nkA}OJ>oFs+ROV+X0Ns?;bw{ z{|)J1F%LP}B5C$kk9@zfs7QZcI-*SMNSGJ6yiT#iF0U^#g~w(hb*Jt@>py7t${3nf z!`}qNpLKS0yvGP|YnZ6e5sh9NQy(22&B%(>P6wXNF7|1wkVAele*5>$W50lqMh*U_ z^XeF5Rd+fP3rDja0oA!BCE9?s%xd7Z56IZ<5m-)zLzB4e8{wI}zayvcu}rKY)egtN zv4+RHFT@!o+c*7ld9qWdf*4xGfv|lioQ_R*fKLl`h;O`|!9Pzk+d|C50;wU{(!*2O ztvt4=-&5PTHOkW%-JNThZJ><6G&Py^HqWi$LXmYQyn1_WaUv9RdMfGveqDl+?0Ai2 zRO2f7_&-wjU*GwgUWO8nFJ@B8DfE;0gE1`8aD|*ElF#INsMDMAC1*@eyQ-5z>{oWz zAXzJNIyySUa+*0XGdr8GuYk(0Zg@Am!NSe4zpOI7TD#U}@p^;+p6F|rzT_`2xxFZ6 zi?1@b$E7O>l$T{!50??1ua^Do{u}3qp)Rl#~qWKoQ%)&JspqHeJJQAwdqLZ?-!Dn z0n}t^_s-*}${!yZch|Q+a}Ac^n@hWoB{o$Cr*HH9EyG6;dx(w~g8z2TgA{nE*K7zY zvfqR(i@UKRtJm1?-gRWnj^+>WZ6 zP?-qIpl7`9C>Huck-~vpkWF1xl?3=-N%camx!38TU8IUfwiYhCR5sX91Gi8r3t}^g zV>_z57@1!y{<#cB`xN#auNY^}=)i`<+rOh&&%Seq75VSh#_Us)lS>AuJtR6ni|-Cv zkz&V*!_QcXrcDmycXi2*Qo2KHHRxeTg5R z?h)-=o9HC!GNLVu`QsxaGc#9EULaGYynD7qZv!M$^ZB1k7ZcDUsWaQ9{y6wz-=+Qb z1Z`c~H^R3ut@j$g@?MlcIFwT3?r2B{wcOG8^d5^11`ZAmWCKS!Pi-1{zAL=;E#ew_ z#`yWATS$n?^$kc-@#A32c+%qE<3GQd7m;N@mwDt>$z^pT#2JBnxupauo?Q0hlD(+4 zolOy$n;|8ZOg^->LU?6l%*iP!?}d%ju9b2YRpA*{i$D{_so$msCW24Cs|6nR$xv{W zMYIxmA&1qhlQG=9nW8+1_?lWJ1TREoyf{{d4Oa~CKXttSrgE*CuN;LjrK~U^V*amR z;cj}CNVL~6#{3;vZlX9$9KyQUSQ3D+u&{>OqP&(C4Ajunv?J=q-L8QFCOjSwq{(`< zA8;g-zD0}C?rJk|_`bc(!c_aw`cQwqEvz8%73!N z-Y&Ph0ft^HDEl!@`}_MbY6CE?%Lm?ub=pbqN-6vvv6Kc~jKtWb=irYYNX>DAp{H#E zXx=Z!YNb#>JL#%+2pNMpqnx@5Vlu zFWhBFZ{*n4lgh}#;l#T}hXv7yR{~T}emRx%qZv?VC>$|&!Hb$cSxs0U6`A@U_WJF1 zHTm!}Pi1C)VE7pOhzUF#v$ExOLHw=eZ<4sdx+{#K+_Z_dByyOLL9*H5={#|)3we%% zrqehPi}qy_6b;05{etMDW57}?=p}BVusNY`DtJQOeElUJx~35Bd~bxjRUhdE%$T31 zEH|fz{yRNBxD`1*GKroH)da58JJSK3$2?YZEZzfLpTNK~fBq1;tJOEI`)E|qv+m9b zQ|ABs_fNg=OsOFSk$YrvXO;S-OKpK8rD**GyYbFu(Q?J#cEMTEB!%zk?6=+>$9PO* zhg6@xfw-H>X!enU1F&~!bGIWwy&YQm)+5N3Xz-}{3@FooG!Ql2=Ma2Y>mdYcY?||` zyO@CpbD1srZWmN#yFF|;?Tn;sk2#B{FeFk*Pjdr)lp_7eWjvUq;N!X>hFzFq^lw(7 znS_`817MJ~c|`crsKLjyJKXOnbxB&4#EoR->57;LzxD20T6Zmbx|M;DUTGZ{ha)o0HdTMT2%xveMe^0HJ@>_1K`L6-M_s117`}_Mjzqg(GO$nCB zN#)n0yC@{`*O3W{)G9%l?*w^1m%BA9MJh@Wo+m>13ppfi@kDCq=#1)kLTR%#~BZ$b?X4dZvWXQkTd$yp@8Ry%xeVslZRxCS`| zMO=Kmef(L{*W}vHFP1?L+m-IB8^l!o7QoZzecCm_jb8G~$<5tNPD*_(XM%H$Oht}k zoZ=aYU#y(Zi(EKiygGIFwQQwBu1WDaq(2bPH26zT9x9`fQxp03CRmILL^}eXC8IKT z<@Z}h(M_4pv}=m^${zRI(&F&AbDB*Kh{KXQx46M@Wv_gty}I>`RckO6!9 zEp3TE`32-$M!bwsfkz56l7>2me)~ipHYBxA@g#U8Q(s6AejB%E%=RlA`N!WuQ&tcm*nUln9FAfM#l*+>O`1 zz@UzblF}?apzJIFiQw8(nLxZSJ0Ce5u;}-~9MFDnDqn8?_DvMti%W8Zt7R77`FnzZ z0Er@L-L7>`ue`>u1AI8?B;pQ%$Mt8|&OA0YPXe5IU=>-W@zES%8-uF`7r56pGJm0vZ-;iv7|%XwW^`YBOJ7COtAE5H}m;j~K% z5iL^Vst^NHvNSjAUKJIqvf^W+X7(Zx4}?}u1_l^qM0qq0h|j~Ra`4ucw4fvLtC28D z)%grhw8ZN7zjaTK<9DQyWtkI6k|mn`rTvZeIKeM*SxP9tbBL2QnDCP0>3tjqg)GN-(^(AP8x4C> z&e1kIcZ6ON>6O0p13VU_)429P8`qyN;z=G~ec41OIL^=)v%FT0;xH8PEfzsfM{kj6 z^00rF^I4g=g$~***GoNqpBK71m}LK-dUjqH$3?YUR^U4oSKLK8d*`8xk&zLUNtHWJ zGmU(yg$H;yBS8(b5BehHd6nolI-9WRI|3hx z#q;6oE?%_rV^=SbAG|<*9-=SMiBCx7Ax_#U2wesc9)EeijI>0!*nf5E<9s&7%qzF8 z;6O*@<;!uO6ene2>VJ?LOqhBi3g$CQK4U&)oSokCIxwOmlE|U$I|kgOK-fpPSx?4= zc-8hxf?Pzu?`52tPT~810CT^RhfeJRLsL4N-34-qi#6F`7doSliudk22eh?yr|q@M zRqCN-7jsjbLJilq{15N2*<6bPi6bv`V@P4KCs(D@oAQ?O^g6YOFLvx(`&{ATACx{M zf&h^rZZAP1M{`iuct<>8IA7;&DLpxac=cFt*!4HL!03Cn@d}&!nU{EoC$OE&I6!KA zwRvFly5j!O^NiCqQ9}A2@Gz*u5?@Y9c@fa44dW{VS=NrOf+G7wv%E0%FHSqv&M6oA z%OR1b09+5Lez;;ilUo*e8yR(pZ1a4|M{kk<1gx7Fk~OK#&|xR8R@l0Ur!9Ah zq`!O$(^CRmjxHG6cX6cJ>6&J58^Nl+zg_;cz+llXF!&45pn%0V4&+_L=rdj j^>v_yT$tHc0-5(-y5o)PB0J(AivTTkeYJ`Q&%*x;gWt-` delta 8011 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 V6F0k+V1Jo|R21JR)X7 Date: Mon, 26 Dec 2022 01:38:44 -0600 Subject: [PATCH 11/12] sanitize --- code/modules/client/preferences_savefile.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm index 146390edb8..962260c2b5 100644 --- a/code/modules/client/preferences_savefile.dm +++ b/code/modules/client/preferences_savefile.dm @@ -531,6 +531,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car cit_toggles = sanitize_integer(cit_toggles, 0, 16777215, initial(cit_toggles)) auto_ooc = sanitize_integer(auto_ooc, 0, 1, initial(auto_ooc)) no_tetris_storage = sanitize_integer(no_tetris_storage, 0, 1, initial(no_tetris_storage)) + recoil_screenshake = sanitize_integer(recoil_screenshake, 0, 800, initial(recoil_screenshake)) key_bindings = sanitize_islist(key_bindings, list()) modless_key_bindings = sanitize_islist(modless_key_bindings, list()) favorite_outfits = SANITIZE_LIST(favorite_outfits) From 50a0991ce3aedce69d5fe7f711e61bdd167905ee Mon Sep 17 00:00:00 2001 From: Hatterhat <31829017+Hatterhat@users.noreply.github.com> Date: Mon, 26 Dec 2022 12:00:54 -0600 Subject: [PATCH 12/12] minor point dupe kill --- code/modules/mining/machine_vending.dm | 1 - 1 file changed, 1 deletion(-) diff --git a/code/modules/mining/machine_vending.dm b/code/modules/mining/machine_vending.dm index bdb72de271..670d8244c2 100644 --- a/code/modules/mining/machine_vending.dm +++ b/code/modules/mining/machine_vending.dm @@ -11,7 +11,6 @@ var/obj/item/card/id/inserted_id var/list/prize_list = list( //if you add something to this, please, for the love of god, sort it by price/type. use tabs and not spaces. new /datum/data/mining_equipment("1 Marker Beacon", /obj/item/stack/marker_beacon, 10), - new /datum/data/mining_equipment("50 Point Transfer Card", /obj/item/card/mining_point_card, 50), new /datum/data/mining_equipment("10 Marker Beacons", /obj/item/stack/marker_beacon/ten, 100), new /datum/data/mining_equipment("30 Marker Beacons", /obj/item/stack/marker_beacon/thirty, 300), new /datum/data/mining_equipment("Whiskey", /obj/item/reagent_containers/food/drinks/bottle/whiskey, 100),