From 17ad4b204a71191d3f9b97c5bc18270289cbaaec Mon Sep 17 00:00:00 2001 From: matttheficus <57759731+matttheficus@users.noreply.github.com> Date: Sat, 20 Jun 2026 19:52:40 -0400 Subject: [PATCH 01/10] RTO pack tweaks --- code/game/machinery/vending/vendor_types/requisitions.dm | 3 +-- .../vending/vendor_types/squad_prep/squad_engineer.dm | 1 - .../vending/vendor_types/squad_prep/squad_medic.dm | 1 - .../machinery/vending/vendor_types/squad_prep/squad_prep.dm | 1 - .../vending/vendor_types/squad_prep/squad_specialist.dm | 1 - .../machinery/vending/vendor_types/squad_prep/squad_tl.dm | 6 ++---- 6 files changed, 3 insertions(+), 10 deletions(-) diff --git a/code/game/machinery/vending/vendor_types/requisitions.dm b/code/game/machinery/vending/vendor_types/requisitions.dm index eb6d07a99c07..71966fcd8b4e 100644 --- a/code/game/machinery/vending/vendor_types/requisitions.dm +++ b/code/game/machinery/vending/vendor_types/requisitions.dm @@ -84,7 +84,6 @@ list("Mortar Shell Backpack", floor(scale * 1), /obj/item/storage/backpack/marine/mortarpack, VENDOR_ITEM_REGULAR), list("Technician Welder-Satchel", floor(scale * 5), /obj/item/storage/backpack/marine/engineerpack/satchel, VENDOR_ITEM_REGULAR), list("IMP Ammo Rack", floor(scale * 2), /obj/item/storage/backpack/marine/ammo_rack, VENDOR_ITEM_REGULAR), - list("Radio Telephone Pack", floor(scale * 2), /obj/item/storage/backpack/marine/satchel/rto, VENDOR_ITEM_REGULAR), list("Parachute", floor(scale * 20), /obj/item/parachute, VENDOR_ITEM_REGULAR), list("Grenade Satchel", floor(scale * 2), /obj/item/storage/backpack/marine/grenadepack, VENDOR_ITEM_REGULAR), @@ -153,7 +152,7 @@ list("Nailgun Magazine (7x45mm)", floor(scale * 4), /obj/item/ammo_magazine/smg/nailgun, VENDOR_ITEM_REGULAR), list("SKILL PAMPHLETS", -1, null, null), - list("JTAC Pamphlet", floor(scale * 1), /obj/item/pamphlet/upgradeable/jtac, VENDOR_ITEM_REGULAR), + list("JTAC Kit", floor(scale * 1), /obj/item/storage/box/kit/mini_jtac, VENDOR_ITEM_REGULAR), list("Engineering Pamphlet", floor(scale * 1), /obj/item/pamphlet/upgradeable/engineer, VENDOR_ITEM_REGULAR), list("Powerloader Certification", 0.75, /obj/item/pamphlet/upgradeable/powerloader, VENDOR_ITEM_REGULAR), diff --git a/code/game/machinery/vending/vendor_types/squad_prep/squad_engineer.dm b/code/game/machinery/vending/vendor_types/squad_prep/squad_engineer.dm index 50ecbef3b1a7..b8b88bbeff40 100644 --- a/code/game/machinery/vending/vendor_types/squad_prep/squad_engineer.dm +++ b/code/game/machinery/vending/vendor_types/squad_prep/squad_engineer.dm @@ -70,7 +70,6 @@ GLOBAL_LIST_INIT(cm_vending_gear_engi, list( list("CLOTHING ITEMS", 0, null, null, null), list("Machete Scabbard (Full)", 6, /obj/item/storage/large_holster/machete/full, null, VENDOR_ITEM_REGULAR), list("Machete Pouch (Full)", 8, /obj/item/storage/pouch/machete/full, null, VENDOR_ITEM_REGULAR), - list("USCM Radio Telephone Pack", 15, /obj/item/storage/backpack/marine/satchel/rto, null, VENDOR_ITEM_REGULAR), list("Fuel Tank Strap Pouch", 4, /obj/item/storage/pouch/flamertank, null, VENDOR_ITEM_REGULAR), list("Sling Pouch", 6, /obj/item/storage/pouch/sling, null, VENDOR_ITEM_REGULAR), list("Large General Pouch", 6, /obj/item/storage/pouch/general/large, null, VENDOR_ITEM_REGULAR), diff --git a/code/game/machinery/vending/vendor_types/squad_prep/squad_medic.dm b/code/game/machinery/vending/vendor_types/squad_prep/squad_medic.dm index aff6d853d87b..1c99a0229317 100644 --- a/code/game/machinery/vending/vendor_types/squad_prep/squad_medic.dm +++ b/code/game/machinery/vending/vendor_types/squad_prep/squad_medic.dm @@ -86,7 +86,6 @@ GLOBAL_LIST_INIT(cm_vending_gear_medic, list( list("CLOTHING ITEMS", 0, null, null, null), list("Machete Pouch (Full)", 8, /obj/item/storage/pouch/machete/full, null, VENDOR_ITEM_REGULAR), - list("USCM Radio Telephone Pack", 15, /obj/item/storage/backpack/marine/satchel/rto, null, VENDOR_ITEM_REGULAR), list("Welding Goggles", 3, /obj/item/clothing/glasses/welding, null, VENDOR_ITEM_REGULAR), list("UTILITIES", 0, null, null, null), diff --git a/code/game/machinery/vending/vendor_types/squad_prep/squad_prep.dm b/code/game/machinery/vending/vendor_types/squad_prep/squad_prep.dm index e5f472260823..035b1beb2059 100644 --- a/code/game/machinery/vending/vendor_types/squad_prep/squad_prep.dm +++ b/code/game/machinery/vending/vendor_types/squad_prep/squad_prep.dm @@ -149,7 +149,6 @@ list("RESTRICTED BACKPACKS", -1, null, null), list("USCM Technician Welderpack", 1.25, /obj/item/storage/backpack/marine/engineerpack, VENDOR_ITEM_REGULAR), list("Technician Welder-Satchel", floor(scale * 2), /obj/item/storage/backpack/marine/engineerpack/satchel, VENDOR_ITEM_REGULAR), - list("Radio Telephone Backpack", 0.75, /obj/item/storage/backpack/marine/satchel/rto, VENDOR_ITEM_REGULAR), list("BELTS", -1, null, null), list("M276 Pattern Ammo Load Rig", floor(scale * 15), /obj/item/storage/belt/marine, VENDOR_ITEM_REGULAR), diff --git a/code/game/machinery/vending/vendor_types/squad_prep/squad_specialist.dm b/code/game/machinery/vending/vendor_types/squad_prep/squad_specialist.dm index 35cd1dffa73f..3b179b32d40a 100644 --- a/code/game/machinery/vending/vendor_types/squad_prep/squad_specialist.dm +++ b/code/game/machinery/vending/vendor_types/squad_prep/squad_specialist.dm @@ -174,7 +174,6 @@ GLOBAL_LIST_INIT(cm_vending_clothing_specialist, list( list("CLOTHING ITEMS", 0, null, null, null), list("Machete Scabbard (Full)", 6, /obj/item/storage/large_holster/machete/full, null, VENDOR_ITEM_REGULAR), list("Machete Pouch (Full)", 15, /obj/item/storage/pouch/machete/full, null, VENDOR_ITEM_REGULAR), - list("USCM Radio Telephone Pack", 15, /obj/item/storage/backpack/marine/satchel/rto, null, VENDOR_ITEM_REGULAR), list("Fuel Tank Strap Pouch", 5, /obj/item/storage/pouch/flamertank, null, VENDOR_ITEM_REGULAR), list("Welding Goggles", 3, /obj/item/clothing/glasses/welding, null, VENDOR_ITEM_REGULAR), list("Large General Pouch", 10, /obj/item/storage/pouch/general/large, null, VENDOR_ITEM_REGULAR), diff --git a/code/game/machinery/vending/vendor_types/squad_prep/squad_tl.dm b/code/game/machinery/vending/vendor_types/squad_prep/squad_tl.dm index 71ba527ed47e..c9ec93a4a465 100644 --- a/code/game/machinery/vending/vendor_types/squad_prep/squad_tl.dm +++ b/code/game/machinery/vending/vendor_types/squad_prep/squad_tl.dm @@ -99,11 +99,9 @@ GLOBAL_LIST_INIT(cm_vending_clothing_tl, list( list("M4 Pattern Armor", 0, /obj/item/clothing/suit/storage/marine/medium/rto, MARINE_CAN_BUY_ARMOR, VENDOR_ITEM_MANDATORY), list("MRE", 0, /obj/item/storage/box/mre, MARINE_CAN_BUY_MRE, VENDOR_ITEM_MANDATORY), list("Map", 0, /obj/item/map/current_map, MARINE_CAN_BUY_MAP, VENDOR_ITEM_MANDATORY), - list("Essential Fireteam Leader Utilities", 0, /obj/effect/essentials_set/tl, MARINE_CAN_BUY_ESSENTIALS, VENDOR_ITEM_MANDATORY), - - list("TEAM LEADER SPECIALIZATION (CHOOSE 1)", 0, null, null, null), - list("USCM Radio Telephone Pack", 0, /obj/item/storage/backpack/marine/satchel/rto, MARINE_CAN_BUY_SPECIALIZATION, VENDOR_ITEM_MANDATORY), + list("USCM Radio Telephone Pack", 0, /obj/item/storage/backpack/marine/satchel/rto, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_MANDATORY), list("Trench Whistle", 0, /obj/item/clothing/accessory/device/whistle/trench, MARINE_CAN_BUY_SPECIALIZATION, VENDOR_ITEM_MANDATORY), + list("Essential Fireteam Leader Utilities", 0, /obj/effect/essentials_set/tl, MARINE_CAN_BUY_ESSENTIALS, VENDOR_ITEM_MANDATORY), list("BELT (CHOOSE 1)", 0, null, null, null), list("G8-A General Utility Pouch", 0, /obj/item/storage/backpack/general_belt, MARINE_CAN_BUY_BELT, VENDOR_ITEM_REGULAR), From 480f91fa103391c230ae89f3a3bdc961a1875dcc Mon Sep 17 00:00:00 2001 From: matttheficus <57759731+matttheficus@users.noreply.github.com> Date: Sat, 20 Jun 2026 20:03:32 -0400 Subject: [PATCH 02/10] Command radio pruning --- code/game/objects/items/devices/radio/encryptionkey.dm | 8 ++++---- code/game/objects/items/devices/radio/headset.dm | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/code/game/objects/items/devices/radio/encryptionkey.dm b/code/game/objects/items/devices/radio/encryptionkey.dm index 21f4ac227371..6490ad0beace 100644 --- a/code/game/objects/items/devices/radio/encryptionkey.dm +++ b/code/game/objects/items/devices/radio/encryptionkey.dm @@ -137,7 +137,7 @@ /obj/item/device/encryptionkey/mcom/cl name = "\improper Corporate Liaison radio encryption key" icon_state = "cap_key" - channels = list(RADIO_CHANNEL_COMMAND = TRUE, RADIO_CHANNEL_ENGI = TRUE, RADIO_CHANNEL_MEDSCI = TRUE, RADIO_CHANNEL_REQ = TRUE, RADIO_CHANNEL_JTAC = TRUE, RADIO_CHANNEL_INTEL = TRUE, RADIO_CHANNEL_ALMAYER = TRUE, RADIO_CHANNEL_WY = TRUE, RADIO_CHANNEL_WY_PUB = TRUE) + channels = list(RADIO_CHANNEL_ENGI = TRUE, RADIO_CHANNEL_MEDSCI = TRUE, RADIO_CHANNEL_REQ = TRUE, RADIO_CHANNEL_JTAC = TRUE, RADIO_CHANNEL_INTEL = TRUE, RADIO_CHANNEL_ALMAYER = TRUE, RADIO_CHANNEL_WY = TRUE, RADIO_CHANNEL_WY_PUB = TRUE) /obj/item/device/encryptionkey/mcom/rep name = "\improper Representative radio encryption key" @@ -147,12 +147,12 @@ /obj/item/device/encryptionkey/po name = "\improper Marine Pilot Officer Radio Encryption Key" icon_state = "cap_key" - channels = list(RADIO_CHANNEL_COMMAND = TRUE, RADIO_CHANNEL_ENGI = TRUE, RADIO_CHANNEL_JTAC = TRUE, RADIO_CHANNEL_MEDSCI = TRUE, RADIO_CHANNEL_INTEL = TRUE) + channels = list(RADIO_CHANNEL_ENGI = TRUE, RADIO_CHANNEL_JTAC = TRUE, RADIO_CHANNEL_MEDSCI = TRUE, RADIO_CHANNEL_INTEL = TRUE) /obj/item/device/encryptionkey/io name = "\improper Marine Intelligence Officer Radio Encryption Key" icon_state = "cap_key" - channels = list(RADIO_CHANNEL_COMMAND = TRUE, RADIO_CHANNEL_ENGI = TRUE, RADIO_CHANNEL_REQ = TRUE, RADIO_CHANNEL_JTAC = TRUE, RADIO_CHANNEL_MEDSCI = TRUE, SQUAD_MARINE_1 = FALSE, SQUAD_MARINE_2 = FALSE, SQUAD_MARINE_3 = FALSE, SQUAD_MARINE_4 = FALSE, SQUAD_MARINE_5 = FALSE, SQUAD_MARINE_CRYO = FALSE) + channels = list(RADIO_CHANNEL_ENGI = TRUE, RADIO_CHANNEL_REQ = TRUE, RADIO_CHANNEL_JTAC = TRUE, RADIO_CHANNEL_MEDSCI = TRUE, SQUAD_MARINE_1 = FALSE, SQUAD_MARINE_2 = FALSE, SQUAD_MARINE_3 = FALSE, SQUAD_MARINE_4 = FALSE, SQUAD_MARINE_5 = FALSE, SQUAD_MARINE_CRYO = FALSE) /obj/item/device/encryptionkey/vc name = "\improper Marine Vehicle Crewman Radio Encryption Key" @@ -162,7 +162,7 @@ /obj/item/device/encryptionkey/req/mst name = "Supply Radio Encryption Key" icon_state = "req_key" - channels = list(RADIO_CHANNEL_REQ = TRUE, RADIO_CHANNEL_COMMAND = FALSE) + channels = list(RADIO_CHANNEL_REQ = TRUE) /obj/item/device/encryptionkey/cmpcom/synth/ai //AI only. name = "AI Integrated Radio Encryption Key" diff --git a/code/game/objects/items/devices/radio/headset.dm b/code/game/objects/items/devices/radio/headset.dm index 0eceb62e9724..9196ee1b7544 100644 --- a/code/game/objects/items/devices/radio/headset.dm +++ b/code/game/objects/items/devices/radio/headset.dm @@ -673,7 +673,7 @@ desc = "Used by the CL to convince people to sign NDAs. Channels are as follows: :v - marine command, :a - alpha squad, :b - bravo squad, :c - charlie squad, :d - delta squad, :n - engineering, :m - medbay, :u - requisitions, :j - JTAC, :t - intel, :y for WY." icon_state = "wy_headset" maximum_keys = 5 - initial_keys = list(/obj/item/device/encryptionkey/mcom/cl) + initial_keys = list(/obj/item/device/encryptionkey/mcom/cl, /obj/item/device/encryptionkey/command) additional_hud_types = list(MOB_HUD_FACTION_WY, MOB_HUD_FACTION_PMC) spy_bug_type = /obj/item/device/radio/listening_bug/radio_linked/fax/wy From beeb66a45f422d7256b0698c0e66dc4c47ddd52b Mon Sep 17 00:00:00 2001 From: matttheficus <57759731+matttheficus@users.noreply.github.com> Date: Sat, 20 Jun 2026 23:38:43 -0400 Subject: [PATCH 03/10] scout comms and command handsets --- code/game/jobs/job/marine/squads.dm | 11 ++--------- .../game/objects/items/devices/radio/encryptionkey.dm | 6 ++++++ code/game/objects/items/devices/radio/radio.dm | 4 ++++ .../crates_lockers/closets/secure/cm_closets.dm | 3 +++ code/modules/cm_marines/equipment/kit_boxes.dm | 2 +- 5 files changed, 16 insertions(+), 10 deletions(-) diff --git a/code/game/jobs/job/marine/squads.dm b/code/game/jobs/job/marine/squads.dm index 8d6f74f22bc3..5372040a8b25 100644 --- a/code/game/jobs/job/marine/squads.dm +++ b/code/game/jobs/job/marine/squads.dm @@ -473,11 +473,7 @@ if(only_leader) if(squad_leader && squad_leader.stat == CONSCIOUS && squad_leader.client) - playsound_client(squad_leader.client, 'sound/effects/radiostatic.ogg', squad_leader.loc, 25, FALSE) - if(squad_leader in targets_to_garble) - squad_leader.play_screen_text("[title_text]
[garbled_text]", /atom/movable/screen/text/screen_text/command_order, message_color) - else - squad_leader.play_screen_text("[title_text]
[text]", /atom/movable/screen/text/screen_text/command_order, message_color) + squad_leader.play_screen_text("[title_text]
[text]", /atom/movable/screen/text/screen_text/command_order, message_color) return for(var/mob/living/carbon/human/marine in marines_list) @@ -499,10 +495,7 @@ if(squad_leader && squad_leader.stat == CONSCIOUS && squad_leader.client) if(transmitter) squad_leader << sound('sound/effects/tech_notification.ogg') - if(squad_leader in targets_to_garble) - to_chat(squad_leader, "[SPAN_BLUE("SL Overwatch: [nametext][garbled_text]")]", type = MESSAGE_TYPE_RADIO) - else - to_chat(squad_leader, "[SPAN_BLUE("SL Overwatch: [nametext][text]")]", type = MESSAGE_TYPE_RADIO) + to_chat(squad_leader, "[SPAN_BLUE("SL Overwatch: [nametext][text]")]", type = MESSAGE_TYPE_RADIO) return for(var/mob/living/carbon/human/marine in marines_list) diff --git a/code/game/objects/items/devices/radio/encryptionkey.dm b/code/game/objects/items/devices/radio/encryptionkey.dm index 6490ad0beace..57d4e0c3aca8 100644 --- a/code/game/objects/items/devices/radio/encryptionkey.dm +++ b/code/game/objects/items/devices/radio/encryptionkey.dm @@ -169,6 +169,12 @@ channels = list(RADIO_CHANNEL_COMMAND = TRUE, RADIO_CHANNEL_MP = TRUE, SQUAD_MARINE_1 = TRUE, SQUAD_MARINE_2 = TRUE, SQUAD_MARINE_3 = TRUE, SQUAD_MARINE_4 = TRUE, SQUAD_MARINE_5 = TRUE, SQUAD_MARINE_CRYO = TRUE, RADIO_CHANNEL_ENGI = TRUE, RADIO_CHANNEL_MEDSCI = TRUE, RADIO_CHANNEL_REQ = TRUE, RADIO_CHANNEL_JTAC = TRUE, RADIO_CHANNEL_INTEL = TRUE, RADIO_CHANNEL_WY = TRUE) translate_apollo = TRUE +/obj/item/device/encryptionkey/scout + name = "\improper Marine Scout Specialist Radio Encryption Key" + icon_state = "scout_key" + channels = list(RADIO_CHANNEL_COMMAND = TRUE, SQUAD_MARINE_1 = TRUE, SQUAD_MARINE_2 = TRUE, SQUAD_MARINE_3 = TRUE, SQUAD_MARINE_4 = TRUE, SQUAD_MARINE_5 = TRUE, SQUAD_MARINE_CRYO = TRUE, RADIO_CHANNEL_REQ = TRUE, RADIO_CHANNEL_JTAC = TRUE, RADIO_CHANNEL_INTEL = TRUE) + + // MARINE SQUADS /obj/item/device/encryptionkey/squadlead diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm index b18bb335f0cd..03a1e3e930e4 100644 --- a/code/game/objects/items/devices/radio/radio.dm +++ b/code/game/objects/items/devices/radio/radio.dm @@ -450,3 +450,7 @@ /obj/item/device/radio/marine frequency = PUB_FREQ + +/obj/item/device/radio/marine/command + frequency = COMM_FREQ + name = "command shortwave radio" diff --git a/code/game/objects/structures/crates_lockers/closets/secure/cm_closets.dm b/code/game/objects/structures/crates_lockers/closets/secure/cm_closets.dm index d1d6c00b834e..0c6764fb68b9 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/cm_closets.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/cm_closets.dm @@ -378,6 +378,9 @@ GLOBAL_LIST_EMPTY(co_secure_boxes) . = ..() new /obj/item/device/radio/headset/almayer/mcom/spare(src) new /obj/item/device/cotablet(src) + new /obj/item/device/radio/marine/command(src) + new /obj/item/device/radio/marine/command(src) + new /obj/item/device/radio/marine/command(src) /obj/structure/closet/secure_closet/cmdcabinet/comms_mp name = "communications cabinet" diff --git a/code/modules/cm_marines/equipment/kit_boxes.dm b/code/modules/cm_marines/equipment/kit_boxes.dm index 7175c7bd90e7..4b34cbdda42d 100644 --- a/code/modules/cm_marines/equipment/kit_boxes.dm +++ b/code/modules/cm_marines/equipment/kit_boxes.dm @@ -156,7 +156,7 @@ new /obj/item/bodybag/tarp/reactive/scout(src) new /obj/item/explosive/plastic(src) new /obj/item/explosive/plastic(src) - new /obj/item/device/encryptionkey/jtac(src) + new /obj/item/device/encryptionkey/scout(src) if(SSmapping.configs[GROUND_MAP].map_name == MAP_WHISKEY_OUTPOST) new /obj/item/device/binoculars/designator(src) else From 800cfb8f7ecbf772fa4fa5ff7bd8d85d0d58942f Mon Sep 17 00:00:00 2001 From: matttheficus <57759731+matttheficus@users.noreply.github.com> Date: Sat, 20 Jun 2026 23:48:02 -0400 Subject: [PATCH 04/10] anti-garble alert --- code/modules/cm_marines/overwatch.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/cm_marines/overwatch.dm b/code/modules/cm_marines/overwatch.dm index f78155165bfc..46db2d0a0b20 100644 --- a/code/modules/cm_marines/overwatch.dm +++ b/code/modules/cm_marines/overwatch.dm @@ -663,7 +663,7 @@ GLOBAL_LIST_EMPTY_TYPED(active_overwatch_consoles, /obj/structure/machinery/comp if("sl_message") if(current_squad) - var/input = sanitize_control_chars(tgui_input_text(user, "Please write a message to announce to the squad leader:", "SL Message")) + var/input = sanitize_control_chars(tgui_input_text(user, "Please write a message to announce to the squad leader - it cannot be garbled:", "SL Message")) if(input) current_squad.transmit_alert("", input, "", "Squad Leader Message:", user, only_leader=TRUE) //message, adds username, only to leader visible_message("[icon2html(src, viewers(src))] [SPAN_BOLDNOTICE("Message '[input]' sent to Squad Leader [current_squad.squad_leader] of squad '[current_squad]'.")]") From b7b41e1793d454c522c579e21f78701d9c5d3f1d Mon Sep 17 00:00:00 2001 From: matttheficus <57759731+matttheficus@users.noreply.github.com> Date: Sat, 20 Jun 2026 23:52:10 -0400 Subject: [PATCH 05/10] forgot CTs --- code/game/objects/items/devices/radio/encryptionkey.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/items/devices/radio/encryptionkey.dm b/code/game/objects/items/devices/radio/encryptionkey.dm index 57d4e0c3aca8..2655eb2b24cd 100644 --- a/code/game/objects/items/devices/radio/encryptionkey.dm +++ b/code/game/objects/items/devices/radio/encryptionkey.dm @@ -121,7 +121,7 @@ /obj/item/device/encryptionkey/req/ct name = "Supply Radio Encryption Key" icon_state = "req_key" - channels = list(RADIO_CHANNEL_REQ = TRUE, RADIO_CHANNEL_COMMAND = FALSE, RADIO_CHANNEL_ENGI = FALSE) + channels = list(RADIO_CHANNEL_REQ = TRUE, RADIO_CHANNEL_ENGI = FALSE) /obj/item/device/encryptionkey/req name = "Supply Radio Encryption Key" From 0f82e27fb8150fef097de6c1d6a573e1204ef9d5 Mon Sep 17 00:00:00 2001 From: matttheficus <57759731+matttheficus@users.noreply.github.com> Date: Sun, 21 Jun 2026 00:13:45 -0400 Subject: [PATCH 06/10] RTO bag bypass for Squad Orders --- code/game/jobs/job/marine/squads.dm | 2 ++ .../game/machinery/vending/vendor_types/crew/senior_officers.dm | 1 + 2 files changed, 3 insertions(+) diff --git a/code/game/jobs/job/marine/squads.dm b/code/game/jobs/job/marine/squads.dm index 5372040a8b25..c3e2a164a84a 100644 --- a/code/game/jobs/job/marine/squads.dm +++ b/code/game/jobs/job/marine/squads.dm @@ -577,6 +577,8 @@ var/is_shipside = is_mainship_level(current_turf?.z) if(!is_shipside && !(current_turf?.z in coms_zs)) targets_to_garble += current_mob + if(current_mob.back == /obj/item/storage/backpack/marine/satchel/rto) + targets_to_garble -= current_mob return targets_to_garble diff --git a/code/game/machinery/vending/vendor_types/crew/senior_officers.dm b/code/game/machinery/vending/vendor_types/crew/senior_officers.dm index 7cec38d3f0cc..2458bae4cc7f 100644 --- a/code/game/machinery/vending/vendor_types/crew/senior_officers.dm +++ b/code/game/machinery/vending/vendor_types/crew/senior_officers.dm @@ -114,6 +114,7 @@ GLOBAL_LIST_INIT(cm_vending_clothing_chief_engineer, list( list("BACKPACK (CHOOSE 1)", 0, null, null, null), list("Leather Satchel", 0, /obj/item/storage/backpack/satchel, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_REGULAR), + list("USCM Radio Telephone Pack", 0, /obj/item/storage/backpack/marine/satchel/rto, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_REGULAR), list("Technician Chestrig", 0, /obj/item/storage/backpack/marine/satchel/tech, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_REGULAR), list("Technician Welder-Satchel", 0, /obj/item/storage/backpack/marine/engineerpack/satchel, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_REGULAR), list("Technician Welderpack", 0, /obj/item/storage/backpack/marine/engineerpack, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_REGULAR), From 09fa3789e1a10b17a5f5729419e42f17a2108820 Mon Sep 17 00:00:00 2001 From: matttheficus <57759731+matttheficus@users.noreply.github.com> Date: Sun, 21 Jun 2026 00:25:36 -0400 Subject: [PATCH 07/10] rto price tweaks + fix scout key --- .../game/machinery/vending/vendor_types/crew/senior_officers.dm | 2 +- code/game/machinery/vending/vendor_types/crew/staff_officer.dm | 2 +- code/game/objects/items/devices/radio/encryptionkey.dm | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/code/game/machinery/vending/vendor_types/crew/senior_officers.dm b/code/game/machinery/vending/vendor_types/crew/senior_officers.dm index 2458bae4cc7f..65eb8dd5dec6 100644 --- a/code/game/machinery/vending/vendor_types/crew/senior_officers.dm +++ b/code/game/machinery/vending/vendor_types/crew/senior_officers.dm @@ -396,7 +396,7 @@ GLOBAL_LIST_INIT(cm_vending_gear_xo, list( list("Insulated Gloves", 3, /obj/item/clothing/gloves/yellow, null, VENDOR_ITEM_REGULAR), list("Entrenching Tool", 1, /obj/item/tool/shovel/etool, null, VENDOR_ITEM_REGULAR), list("Magnetic Harness", 12, /obj/item/attachable/magnetic_harness, null, VENDOR_ITEM_RECOMMENDED), - list("Radio Telephone Pack", 15, /obj/item/storage/backpack/marine/satchel/rto, null, VENDOR_ITEM_RECOMMENDED), + list("Radio Telephone Pack", 5, /obj/item/storage/backpack/marine/satchel/rto, null, VENDOR_ITEM_RECOMMENDED), list("Motion Detector", 5, /obj/item/device/motiondetector, null, VENDOR_ITEM_RECOMMENDED), list("Machete Scabbard (Full)", 5, /obj/item/storage/large_holster/machete/full, null, VENDOR_ITEM_REGULAR), list("Binoculars", 5,/obj/item/device/binoculars, null, VENDOR_ITEM_REGULAR), diff --git a/code/game/machinery/vending/vendor_types/crew/staff_officer.dm b/code/game/machinery/vending/vendor_types/crew/staff_officer.dm index 8b3cbd9def53..fcb5b84fda63 100644 --- a/code/game/machinery/vending/vendor_types/crew/staff_officer.dm +++ b/code/game/machinery/vending/vendor_types/crew/staff_officer.dm @@ -135,7 +135,7 @@ GLOBAL_LIST_INIT(cm_vending_gear_staff_officer_armory, list( list("Insulated Gloves", 3, /obj/item/clothing/gloves/yellow, null, VENDOR_ITEM_REGULAR), list("Entrenching Tool", 1, /obj/item/tool/shovel/etool, null, VENDOR_ITEM_REGULAR), list("Magnetic Harness", 12, /obj/item/attachable/magnetic_harness, null, VENDOR_ITEM_RECOMMENDED), - list("Radio Telephone Pack", 15, /obj/item/storage/backpack/marine/satchel/rto, null, VENDOR_ITEM_RECOMMENDED), + list("Radio Telephone Pack", 10, /obj/item/storage/backpack/marine/satchel/rto, null, VENDOR_ITEM_RECOMMENDED), list("Motion Detector", 5, /obj/item/device/motiondetector, null, VENDOR_ITEM_RECOMMENDED), list("Machete Scabbard (Full)", 5, /obj/item/storage/large_holster/machete/full, null, VENDOR_ITEM_REGULAR), list("Binoculars", 5,/obj/item/device/binoculars, null, VENDOR_ITEM_REGULAR), diff --git a/code/game/objects/items/devices/radio/encryptionkey.dm b/code/game/objects/items/devices/radio/encryptionkey.dm index 2655eb2b24cd..4e737a1b21e3 100644 --- a/code/game/objects/items/devices/radio/encryptionkey.dm +++ b/code/game/objects/items/devices/radio/encryptionkey.dm @@ -171,7 +171,7 @@ /obj/item/device/encryptionkey/scout name = "\improper Marine Scout Specialist Radio Encryption Key" - icon_state = "scout_key" + icon_state = "cap_key" channels = list(RADIO_CHANNEL_COMMAND = TRUE, SQUAD_MARINE_1 = TRUE, SQUAD_MARINE_2 = TRUE, SQUAD_MARINE_3 = TRUE, SQUAD_MARINE_4 = TRUE, SQUAD_MARINE_5 = TRUE, SQUAD_MARINE_CRYO = TRUE, RADIO_CHANNEL_REQ = TRUE, RADIO_CHANNEL_JTAC = TRUE, RADIO_CHANNEL_INTEL = TRUE) From c3e0b5d476a53e60925a95083edf3e40100015e5 Mon Sep 17 00:00:00 2001 From: matttheficus <57759731+matttheficus@users.noreply.github.com> Date: Sun, 21 Jun 2026 10:09:21 -0400 Subject: [PATCH 08/10] forgot an RTO bag + CIC access for SLs --- .../machinery/vending/vendor_types/squad_prep/squad_rifleman.dm | 1 - code/modules/gear_presets/uscm.dm | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/code/game/machinery/vending/vendor_types/squad_prep/squad_rifleman.dm b/code/game/machinery/vending/vendor_types/squad_prep/squad_rifleman.dm index 5fda20f0117a..d19412eef25f 100644 --- a/code/game/machinery/vending/vendor_types/squad_prep/squad_rifleman.dm +++ b/code/game/machinery/vending/vendor_types/squad_prep/squad_rifleman.dm @@ -101,7 +101,6 @@ GLOBAL_LIST_INIT(cm_vending_clothing_marine, list( list("Shoulder Holster", 15, /obj/item/clothing/accessory/storage/holster, null, VENDOR_ITEM_REGULAR), list("Machete Scabbard (Full)", 15, /obj/item/storage/large_holster/machete/full, null, VENDOR_ITEM_REGULAR), list("Machete Pouch (Full)", 15, /obj/item/storage/pouch/machete/full, null, VENDOR_ITEM_REGULAR), - list("USCM Radio Telephone Pack", 15, /obj/item/storage/backpack/marine/satchel/rto, null, VENDOR_ITEM_REGULAR), list("Fuel Tank Strap Pouch", 5, /obj/item/storage/pouch/flamertank, null, VENDOR_ITEM_REGULAR), list("Welding Goggles", 5, /obj/item/clothing/glasses/welding, null, VENDOR_ITEM_REGULAR), list("Sling Pouch", 15, /obj/item/storage/pouch/sling, null, VENDOR_ITEM_REGULAR), diff --git a/code/modules/gear_presets/uscm.dm b/code/modules/gear_presets/uscm.dm index ddc80ba82e76..d2771f0cbeb9 100644 --- a/code/modules/gear_presets/uscm.dm +++ b/code/modules/gear_presets/uscm.dm @@ -408,7 +408,7 @@ name = "USCM Squad Leader" flags = EQUIPMENT_PRESET_EXTRA|EQUIPMENT_PRESET_MARINE - access = list(ACCESS_MARINE_PREP, ACCESS_MARINE_LEADER, ACCESS_MARINE_DROPSHIP) + access = list(ACCESS_MARINE_PREP, ACCESS_MARINE_LEADER, ACCESS_MARINE_DROPSHIP, ACCESS_MARINE_COMMAND) assignment = JOB_SQUAD_LEADER job_title = JOB_SQUAD_LEADER paygrades = list(PAY_SHORT_ME5 = JOB_PLAYTIME_TIER_0, PAY_SHORT_ME6 = JOB_PLAYTIME_TIER_1, PAY_SHORT_ME7 = JOB_PLAYTIME_TIER_3) From 332f3dc241a4b2d39dec4668deb5b9a40835e95c Mon Sep 17 00:00:00 2001 From: matttheficus <57759731+matttheficus@users.noreply.github.com> Date: Sun, 21 Jun 2026 10:17:38 -0400 Subject: [PATCH 09/10] kit name tweak + Google review --- code/game/machinery/vending/vendor_types/requisitions.dm | 2 +- code/game/objects/items/devices/radio/encryptionkey.dm | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/machinery/vending/vendor_types/requisitions.dm b/code/game/machinery/vending/vendor_types/requisitions.dm index 71966fcd8b4e..0c3e97d7c633 100644 --- a/code/game/machinery/vending/vendor_types/requisitions.dm +++ b/code/game/machinery/vending/vendor_types/requisitions.dm @@ -152,7 +152,7 @@ list("Nailgun Magazine (7x45mm)", floor(scale * 4), /obj/item/ammo_magazine/smg/nailgun, VENDOR_ITEM_REGULAR), list("SKILL PAMPHLETS", -1, null, null), - list("JTAC Kit", floor(scale * 1), /obj/item/storage/box/kit/mini_jtac, VENDOR_ITEM_REGULAR), + list("JTAC Radio Kit", floor(scale * 1), /obj/item/storage/box/kit/mini_jtac, VENDOR_ITEM_REGULAR), list("Engineering Pamphlet", floor(scale * 1), /obj/item/pamphlet/upgradeable/engineer, VENDOR_ITEM_REGULAR), list("Powerloader Certification", 0.75, /obj/item/pamphlet/upgradeable/powerloader, VENDOR_ITEM_REGULAR), diff --git a/code/game/objects/items/devices/radio/encryptionkey.dm b/code/game/objects/items/devices/radio/encryptionkey.dm index 4e737a1b21e3..31040b71a25e 100644 --- a/code/game/objects/items/devices/radio/encryptionkey.dm +++ b/code/game/objects/items/devices/radio/encryptionkey.dm @@ -172,7 +172,7 @@ /obj/item/device/encryptionkey/scout name = "\improper Marine Scout Specialist Radio Encryption Key" icon_state = "cap_key" - channels = list(RADIO_CHANNEL_COMMAND = TRUE, SQUAD_MARINE_1 = TRUE, SQUAD_MARINE_2 = TRUE, SQUAD_MARINE_3 = TRUE, SQUAD_MARINE_4 = TRUE, SQUAD_MARINE_5 = TRUE, SQUAD_MARINE_CRYO = TRUE, RADIO_CHANNEL_REQ = TRUE, RADIO_CHANNEL_JTAC = TRUE, RADIO_CHANNEL_INTEL = TRUE) + channels = list(SQUAD_MARINE_1 = TRUE, SQUAD_MARINE_2 = TRUE, SQUAD_MARINE_3 = TRUE, SQUAD_MARINE_4 = TRUE, SQUAD_MARINE_5 = TRUE, SQUAD_MARINE_CRYO = TRUE, RADIO_CHANNEL_REQ = TRUE, RADIO_CHANNEL_JTAC = TRUE) // MARINE SQUADS From 7a01d9210007316cb376db854a6462ff706b0846 Mon Sep 17 00:00:00 2001 From: matttheficus <57759731+matttheficus@users.noreply.github.com> Date: Sun, 21 Jun 2026 21:18:35 -0400 Subject: [PATCH 10/10] CC tweak --- code/game/objects/items/devices/radio/encryptionkey.dm | 5 +++++ code/game/objects/items/devices/radio/headset.dm | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/code/game/objects/items/devices/radio/encryptionkey.dm b/code/game/objects/items/devices/radio/encryptionkey.dm index 31040b71a25e..f332bbefdeac 100644 --- a/code/game/objects/items/devices/radio/encryptionkey.dm +++ b/code/game/objects/items/devices/radio/encryptionkey.dm @@ -174,6 +174,11 @@ icon_state = "cap_key" channels = list(SQUAD_MARINE_1 = TRUE, SQUAD_MARINE_2 = TRUE, SQUAD_MARINE_3 = TRUE, SQUAD_MARINE_4 = TRUE, SQUAD_MARINE_5 = TRUE, SQUAD_MARINE_CRYO = TRUE, RADIO_CHANNEL_REQ = TRUE, RADIO_CHANNEL_JTAC = TRUE) +/obj/item/device/encryptionkey/cc + name = "\improper Combat Correspondent Radio Encryption Key" + icon_state = "cap_key" + channels = list(SQUAD_MARINE_1 = TRUE, SQUAD_MARINE_2 = TRUE, SQUAD_MARINE_3 = TRUE, SQUAD_MARINE_4 = TRUE, SQUAD_MARINE_5 = TRUE, SQUAD_MARINE_CRYO = TRUE, RADIO_CHANNEL_ENGI = TRUE, RADIO_CHANNEL_MEDSCI = TRUE, RADIO_CHANNEL_REQ = TRUE, RADIO_CHANNEL_JTAC = TRUE, RADIO_CHANNEL_INTEL = TRUE) + // MARINE SQUADS diff --git a/code/game/objects/items/devices/radio/headset.dm b/code/game/objects/items/devices/radio/headset.dm index 9196ee1b7544..e5fac20ee008 100644 --- a/code/game/objects/items/devices/radio/headset.dm +++ b/code/game/objects/items/devices/radio/headset.dm @@ -686,7 +686,7 @@ /obj/item/device/radio/headset/almayer/reporter name = "reporter radio headset" desc = "Used by the combat correspondent to get the scoop. Channels are as follows: :v - marine command, :a - alpha squad, :b - bravo squad, :c - charlie squad, :d - delta squad, :n - engineering, :m - medbay, :u - requisitions, :j - JTAC, :t - intel." - initial_keys = list(/obj/item/device/encryptionkey/mcom) + initial_keys = list(/obj/item/device/encryptionkey/cc) /obj/item/device/radio/headset/almayer/rep name = "representative radio headset"