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"