diff --git a/code/game/machinery/telecomms/machine_interactions.dm b/code/game/machinery/telecomms/machine_interactions.dm index 1205bc17d701..0674c6231026 100644 --- a/code/game/machinery/telecomms/machine_interactions.dm +++ b/code/game/machinery/telecomms/machine_interactions.dm @@ -40,7 +40,9 @@ dat += "
[temp]
" dat += "
Power Status: [toggled ? "On" : "Off"]" if(on && toggled) - if(id != "" && id) + if(obj_flags & EMAGGED) + dat += "
[Gibberish("Identification String: NULL",100)]" + else if(id != "" && id) dat += "
Identification String: [id]" else dat += "
Identification String: NULL" @@ -53,6 +55,8 @@ dat += Options_Menu() dat += "
Linked Network Entities:
    " + if(obj_flags & EMAGGED) + dat += "
  1. [Gibberish("NULL NULL (NULL)",100)]
  2. " var/i = 0 for(var/obj/machinery/telecomms/T in links) @@ -64,6 +68,9 @@ dat += "
    Filtering Frequencies: " + if(obj_flags & EMAGGED) + dat += "
  3. [Gibberish("357353 GHz",100)]
  4. " + i = 0 if(length(freq_listening)) for(var/x in freq_listening) @@ -80,6 +87,8 @@ if(P) var/obj/machinery/telecomms/T = P.buffer + if(obj_flags & EMAGGED) + dat += "
    [Gibberish("MULTITOOL BUFFER: NULL (NULL)",100)]" if(istype(T)) dat += "

    MULTITOOL BUFFER: [T] ([T.id]) \[Link\] \[Flush\]" else @@ -157,6 +166,22 @@ change_frequency = 0 temp = "-% Frequency changing deactivated %-" +/obj/machinery/telecomms/processor/Options_Menu() + var/dat = "" + if(obj_flags & EMAGGED) + dat = "
    Compressing signa;:
    [process_mode ? "YES" : "NO"]" + return dat + +/obj/machinery/telecomms/processor/Options_Topic(href, href_list) + if(obj_flags & EMAGGED) + if(href_list["proc_mode"]) + if(canAccess(usr)) + if(process_mode == 1) + process_mode = 0 + temp = "-% Compressing Signal activated %-" + else + process_mode = 1 + temp = "-% Signal Compression halted %-" /obj/machinery/telecomms/Topic(href, href_list) if(..()) @@ -174,7 +199,7 @@ if("toggle") toggled = !toggled - temp = "-% [src] has been [toggled ? "activated" : "deactivated"]." + temp = " [src] has been [toggled ? "activated" : "deactivated"]." update_power() diff --git a/code/game/machinery/telecomms/machines/server.dm b/code/game/machinery/telecomms/machines/server.dm index 0653084bce23..4b6207a0dc7a 100644 --- a/code/game/machinery/telecomms/machines/server.dm +++ b/code/game/machinery/telecomms/machines/server.dm @@ -39,7 +39,7 @@ // If the signal is still compressed, make the log entry gibberish var/compression = signal.data["compression"] - if(compression > 0) + if(compression > 0 || (obj_flags & EMAGGED)) log.input_type = "Corrupt File" log.parameters["name"] = Gibberish(signal.data["name"], compression + 50) log.parameters["job"] = Gibberish(signal.data["job"], compression + 50) diff --git a/code/game/machinery/telecomms/telecomunications.dm b/code/game/machinery/telecomms/telecomunications.dm index 31de3ed34f3d..f30081e268ae 100644 --- a/code/game/machinery/telecomms/telecomunications.dm +++ b/code/game/machinery/telecomms/telecomunications.dm @@ -184,4 +184,9 @@ GLOBAL_LIST_EMPTY(telecomms_list) addtimer(CALLBACK(src, .proc/de_emp), rand(duration - 20, duration + 20)) /obj/machinery/telecomms/proc/de_emp() - stat &= ~EMPED \ No newline at end of file + stat &= ~EMPED + +/obj/machinery/telecomms/emag_act() + obj_flags |= EMAGGED + visible_message("Sparks fly out of the[src]!") + traffic += 50 \ No newline at end of file