Adds Radio Jammers

This commit is contained in:
Fox-McCloud
2017-06-30 18:20:21 -04:00
parent 52af2d8c0e
commit 08c8ba569c
6 changed files with 37 additions and 2 deletions
+1 -1
View File
@@ -42,4 +42,4 @@ var/global/list/global_radios = list() //list of all radios, across all z-lev
var/global/list/meteor_list = list() //list of all meteors
var/global/list/poi_list = list() //list of points of interest for observe/follow
var/global/list/active_jammers = list() // List of active radio jammers
+7
View File
@@ -1116,6 +1116,13 @@ var/list/uplink_items = list()
cost = 1
surplus = 0
/datum/uplink_item/device_tools/jammer
name = "Radio Jammer"
desc = "This device will disrupt any nearby outgoing radio communication when activated."
reference = "RJ"
item = /obj/item/device/jammer
cost = 5
/datum/uplink_item/device_tools/teleporter
name = "Teleporter Circuit Board"
desc = "A printed circuit board that completes the teleporter onboard the mothership. Advise you test fire the teleporter before entering it, as malfunctions can occur."
@@ -332,6 +332,12 @@ var/global/list/default_medbay_channels = list(
var/datum/radio_frequency/connection = message_mode
var/turf/position = get_turf(src)
var/jammed = FALSE
for(var/obj/item/device/jammer/jammer in active_jammers)
if(get_dist(position, get_turf(jammer)) < jammer.range)
jammed = TRUE
break
//#### Tagging the signal with all appropriate identity values ####//
// ||-- The mob's name identity --||
@@ -345,6 +351,9 @@ var/global/list/default_medbay_channels = list(
var/jobname // the mob's "job"
if(jammed)
message = Gibberish(message, 100)
// --- Human: use their actual job ---
if(ishuman(M))
var/mob/living/carbon/human/H = M
@@ -146,3 +146,22 @@ effective or pretty fucking useless.
attack_self(usr)
add_fingerprint(usr)
return
/obj/item/device/jammer
name = "radio jammer"
desc = "Device used to disrupt nearby radio communication."
icon_state = "jammer"
var/active = FALSE
var/range = 12
/obj/item/device/jammer/Destroy()
active_jammers -= src
return ..()
/obj/item/device/jammer/attack_self(mob/user)
to_chat(user,"<span class='notice'>You [active ? "deactivate" : "activate"] the [src]<span>")
active = !active
if(active)
active_jammers |= src
else
active_jammers -= src
+1 -1
View File
@@ -242,7 +242,7 @@ proc/slur(phrase, var/list/slurletters = ("'"))//use a different list as an inpu
return sanitize(copytext(t,1,MAX_MESSAGE_LEN))
proc/Gibberish(t, p)//t is the inputted message, and any value higher than 70 for p will cause letters to be replaced instead of added
/proc/Gibberish(t, p)//t is the inputted message, and any value higher than 70 for p will cause letters to be replaced instead of added
/* Turn text into complete gibberish! */
var/returntext = ""
for(var/i = 1, i <= length(t), i++)
Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 34 KiB