From d38d2ce8e29abea6f9241bb3b3db8af8d9158cc3 Mon Sep 17 00:00:00 2001 From: Mothblocks <35135081+Mothblocks@users.noreply.github.com> Date: Sat, 15 Mar 2025 00:21:12 -0700 Subject: [PATCH] Make a craftable version of the radio jammers, and make the traitor radio jammer cost 1 TC instead of 5 (#89829) ## About The Pull Request Makes makeshift radio jammers craftable with: 1. Universal scanner 2. Headset encryption key (it doesn't steal the one from your headset don't worry) 3. Cable coil Makeshift radio jammers are the same as Syndicate ones, except with a smaller active range (12 -> 5) and smaller disruptor range (7 -> 3) Lowers the cost of radio jammers from 5 TC to 1 TC. ## Why It's Good For The Game This is intended as a potentially overkill solution to the problem of people shouting that they are being killed right away. Common is not going away, but we need to do something to aide this style of gameplay over going loud etc. By making radio jammers craftable, we allow all antagonists to use this instead of just traitors. ## Changelog :cl: add: You can now craft radio jammers. balance: Radio jammers have had their cost lowered from 5 TC to 1 TC. /:cl: --------- Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com> --- code/datums/components/crafting/tools.dm | 10 +++++++++ .../objects/items/devices/traitordevices.dm | 21 +++++++++++++++++-- .../uplink/uplink_items/stealthy_tools.dm | 2 +- 3 files changed, 30 insertions(+), 3 deletions(-) diff --git a/code/datums/components/crafting/tools.dm b/code/datums/components/crafting/tools.dm index a1e1fd1ab76..10b0352d376 100644 --- a/code/datums/components/crafting/tools.dm +++ b/code/datums/components/crafting/tools.dm @@ -109,3 +109,13 @@ continue if(crayon.use_charges(user, 10)) return + +/datum/crafting_recipe/makeshift_radio_jammer + name = "Makeshift Radio Jammer" + result = /obj/item/jammer/makeshift + reqs = list( + /obj/item/universal_scanner = 1, + /obj/item/encryptionkey = 1, + /obj/item/stack/cable_coil = 5, + ) + category = CAT_TOOLS diff --git a/code/game/objects/items/devices/traitordevices.dm b/code/game/objects/items/devices/traitordevices.dm index 91a8a066661..2fb6de0c03e 100644 --- a/code/game/objects/items/devices/traitordevices.dm +++ b/code/game/objects/items/devices/traitordevices.dm @@ -327,7 +327,14 @@ effective or pretty fucking useless. icon = 'icons/obj/devices/syndie_gadget.dmi' icon_state = "jammer" var/active = FALSE + + /// The range of devices to disable while active var/range = 12 + + /// The range of the disruptor wave, disabling radios + var/disruptor_range = 7 + + /// The delay between using the disruptor wave var/jam_cooldown_duration = 15 SECONDS COOLDOWN_DECLARE(jam_cooldown) @@ -348,7 +355,7 @@ effective or pretty fucking useless. user.balloon_alert(user, "disruptor wave released!") to_chat(user, span_notice("You release a disruptor wave, disabling all nearby radio devices.")) - for (var/atom/potential_owner in view(7, user)) + for (var/atom/potential_owner in view(disruptor_range, user)) disable_radios_on(potential_owner, ignore_syndie = TRUE) COOLDOWN_START(src, jam_cooldown, jam_cooldown_duration) @@ -372,7 +379,7 @@ effective or pretty fucking useless. if(. & ITEM_INTERACT_ANY_BLOCKER) return - if (!(interacting_with in view(7, user))) + if (!(interacting_with in view(disruptor_range, user))) user.balloon_alert(user, "out of reach!") return @@ -392,6 +399,16 @@ effective or pretty fucking useless. GLOB.active_jammers -= src return ..() +/obj/item/jammer/makeshift + name = "makeshift radio jammer" + desc = "A jury-rigged device that disrupts nearby radio communication. Its crude construction provides a significantly smaller area of effect compared to its Syndicate counterpart." + range = 5 + disruptor_range = 3 + +/obj/item/jammer/makeshift/Initialize(mapload) + . = ..() + ADD_TRAIT(src, TRAIT_CONTRABAND, INNATE_TRAIT) + /obj/item/storage/toolbox/emergency/turret desc = "You feel a strange urge to hit this with a wrench." diff --git a/code/modules/uplink/uplink_items/stealthy_tools.dm b/code/modules/uplink/uplink_items/stealthy_tools.dm index 5959be8e9fd..e99c41cc4c8 100644 --- a/code/modules/uplink/uplink_items/stealthy_tools.dm +++ b/code/modules/uplink/uplink_items/stealthy_tools.dm @@ -83,7 +83,7 @@ name = "Radio Jammer" desc = "This device will disrupt any nearby outgoing radio communication when activated. Does not affect binary chat." item = /obj/item/jammer - cost = 5 + cost = 1 /datum/uplink_item/stealthy_tools/smugglersatchel name = "Smuggler's Satchel"