mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-21 12:02:31 +01:00
Radio Jammers (#502)
Adds radio jammers for antags and improvised version as well.
This commit is contained in:
@@ -100,7 +100,11 @@
|
||||
|
||||
|
||||
proc/signal()
|
||||
if(!radio_connection) return
|
||||
if(!radio_connection)
|
||||
return
|
||||
|
||||
if(within_jamming_range(src))
|
||||
return
|
||||
|
||||
var/datum/signal/signal = new
|
||||
signal.source = src
|
||||
@@ -129,9 +133,18 @@
|
||||
|
||||
|
||||
receive_signal(datum/signal/signal)
|
||||
if(!signal) return 0
|
||||
if(signal.encryption != code) return 0
|
||||
if(!(src.wires & WIRE_RADIO_RECEIVE)) return 0
|
||||
if(!signal)
|
||||
return 0
|
||||
|
||||
if(within_jamming_range(src))
|
||||
return 0
|
||||
|
||||
if(signal.encryption != code)
|
||||
return 0
|
||||
|
||||
if(!(src.wires & WIRE_RADIO_RECEIVE))
|
||||
return 0
|
||||
|
||||
pulse(1)
|
||||
|
||||
if(!holder)
|
||||
|
||||
@@ -91,8 +91,13 @@
|
||||
speaker_mask = speaker.name
|
||||
var/msg = "<i><span class='game say'>[name], <span class='name'>[speaker_mask]</span> [format_message(message, get_spoken_verb(message))]</span></i>"
|
||||
|
||||
if (within_jamming_range(speaker))
|
||||
// The user thinks that the message got through.
|
||||
speaker << msg
|
||||
return
|
||||
|
||||
for(var/mob/player in player_list)
|
||||
if(istype(player,/mob/dead) || ((src in player.languages) || check_special_condition(player)))
|
||||
if(istype(player,/mob/dead) || ((src in player.languages && !within_jamming_range(player)) || check_special_condition(player)))
|
||||
player << msg
|
||||
|
||||
/datum/language/bug/check_special_condition(var/mob/other)
|
||||
@@ -102,6 +107,8 @@
|
||||
return 0
|
||||
if(istype(M, /mob/new_player))
|
||||
return 0
|
||||
if(within_jamming_range(other))
|
||||
return 0
|
||||
if(locate(/obj/item/organ/vaurca/neuralsocket) in M.internal_organs)
|
||||
return 1
|
||||
|
||||
|
||||
@@ -103,7 +103,15 @@
|
||||
message_admins("LOG: [user.name] ([user.ckey]) injected a power cell with phoron, rigging it to explode.")
|
||||
|
||||
S.reagents.clear_reagents()
|
||||
else if(istype(W, /obj/item/device/assembly_holder))
|
||||
var/obj/item/device/assembly_holder/assembly = W
|
||||
if (istype(assembly.a_left, /obj/item/device/assembly/signaler) && istype(assembly.a_right, /obj/item/device/assembly/signaler))
|
||||
user.drop_item()
|
||||
user.drop_from_inventory(src)
|
||||
|
||||
new /obj/item/device/radiojammer/improvised(assembly, src, user)
|
||||
else
|
||||
user << "<span class='notice'>You'd need both devices to be signallers for this to work.</span>"
|
||||
|
||||
/obj/item/weapon/cell/proc/explode()
|
||||
var/turf/T = get_turf(src.loc)
|
||||
|
||||
Reference in New Issue
Block a user