Improves signaler and bomb logging (#17027)

* Improves signaler and bomb logging

* logs setting up voice recorders

* Better logging for signalers

* 0% tested
This commit is contained in:
EdXbtkOEwGw
2018-01-12 03:23:26 +02:00
committed by DamianX
parent 1138d9e6da
commit 2ffe01636e
11 changed files with 28 additions and 53 deletions

View File

@@ -93,7 +93,6 @@ var/tinted_weldhelh = 1
var/list/jobMax = list()
var/list/bombers = list( )
var/list/admin_log = list ( )
var/list/lastsignalers = list( ) //keeps last 100 signals here in format: "[src] used \ref[src] @ location [src.loc]: [freq]/[code]"
var/list/lawchanges = list( ) //Stores who uploaded laws to which silicon-based lifeform, and what the law was
var/list/shuttles = list( )
var/list/reg_dna = list( )

File diff suppressed because one or more lines are too long

View File

@@ -258,9 +258,7 @@
return
last_transmission = world.time
var/time = time2text(world.realtime,"hh:mm:ss")
var/turf/T = get_turf(src)
lastsignalers.Add("[time] <B>:</B> [usr.key] used [src] @ location ([T.x],[T.y],[T.z]) <B>:</B> [format_frequency(frequency)]/[code]")
investigation_log(I_WIRES, "used as signaler by [key_name(usr)] - [format_frequency(frequency)]/[code]")
var/datum/signal/signal = getFromPool(/datum/signal)
signal.source = src

View File

@@ -191,14 +191,12 @@
signal.data["message"] = "ACTIVATE" //there is no risk that one of the desk bells already there at round start could trigger a signaler
radio_connection.post_signal(src, signal) //(unless it's been deconstructed-reconstructed of course)
var/time = time2text(world.realtime,"hh:mm:ss")
var/turf/T = get_turf(src)
if(usr)
var/mob/user = usr
if(user)
lastsignalers.Add("[time] <B>:</B> [user.key] used [src] @ location ([T.x],[T.y],[T.z]) <B>:</B> [format_frequency(frequency)]/[code]")
investigation_log(I_WIRES, "used as signaler by [key_name(user)] - [format_frequency(frequency)]/[code]")
else
lastsignalers.Add("[time] <B>:</B> (<span class='danger'>NO USER FOUND</span>) used [src] @ location ([T.x],[T.y],[T.z]) <B>:</B> [format_frequency(frequency)]/[code]")
investigation_log(I_WIRES, "used as signaler by UNKNOWN - [format_frequency(frequency)]/[code]")
return
//////////////////

View File

@@ -13,7 +13,7 @@
var/toggle = 1
var/damaged = 0
w_class = W_CLASS_LARGE
flags = FPRINT | PROXMOVE
@@ -23,8 +23,6 @@
if(damaged)
to_chat(user, "<span class='info'>\The [src] appears to be damaged.</span>")
/obj/item/device/transfer_valve/proc/process_activation(var/obj/item/device/D)
/obj/item/device/transfer_valve/IsAssemblyHolder()
return 1
@@ -118,7 +116,7 @@
tank_two = null
update_icon()
else if(href_list["open"])
toggle_valve()
toggle_valve(usr)
else if(attached_device)
if(href_list["rem_device"])
attached_device.forceMove(get_turf(src))
@@ -133,10 +131,10 @@
return
return
/obj/item/device/transfer_valve/process_activation(var/obj/item/device/D)
/obj/item/device/transfer_valve/proc/process_activation(var/obj/item/device/D)
if(toggle)
toggle = 0
toggle_valve()
toggle_valve(D)
spawn(50) // To stop a signal being spammed from a proxy sensor constantly going off or whatever
toggle = 1
@@ -178,30 +176,22 @@
it explodes properly when it gets a signal (and it does).
*/
/obj/item/device/transfer_valve/proc/toggle_valve()
/obj/item/device/transfer_valve/proc/toggle_valve(var/whodunnit)
if(valve_open==0 && (tank_one && tank_two))
valve_open = 1
var/turf/bombturf = get_turf(src)
var/area/A = get_area(bombturf)
var/attacher_name = ""
if(!attacher)
attacher_name = "Unknown"
else
attacher_name = "[attacher.name]([attacher.ckey])"
var/log_str = "Bomb valve opened in <A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[bombturf.x];Y=[bombturf.y];Z=[bombturf.z]'>[A.name]</a> "
log_str += "with [attached_device ? attached_device : "no device"] attacher: [attacher_name]"
if(attacher)
log_str += "(<A HREF='?_src_=holder;adminmoreinfo=\ref[attacher]'>?</A>)"
var/log_str = "Tank transfer valve opened in [formatJumpTo(get_turf(src))], "
if(attached_device && attacher && whodunnit == attached_device)
log_str += "opened by \a [attached_device] attached by [key_name(attacher)]. "
else if(isliving(whodunnit))
log_str += "opened by [key_name(whodunnit)](<A HREF='?_src_=holder;adminmoreinfo=\ref[whodunnit]'>?</A>). "
var/mob/mob = get_mob_by_key(src.fingerprintslast)
var/last_touch_info = ""
if(mob)
last_touch_info = "(<A HREF='?_src_=holder;adminmoreinfo=\ref[mob]'>?</A>)"
log_str += "Last touched by: [src.fingerprintslast][last_touch_info] - Last user processed: [key_name(usr)]"
log_str += " Last touched by: [src.fingerprintslast][last_touch_info]"
bombers += log_str
message_admins(log_str, 0, 1)
log_game(log_str)
@@ -244,4 +234,4 @@
/obj/item/device/transfer_valve/mediumsize
name = "modified tank transfer valve"
desc = "Regulates the transfer of air between two tanks. This one was modified to be smaller."
w_class = W_CLASS_MEDIUM
w_class = W_CLASS_MEDIUM

View File

@@ -745,7 +745,6 @@ var/global/floorIsLava = 0
<BR>
<A href='?src=\ref[src];secretsadmin=clear_bombs'>Remove all bombs currently in existence</A><BR>
<A href='?src=\ref[src];secretsadmin=list_bombers'>Bombing List</A><BR>
<A href='?src=\ref[src];secretsadmin=list_signalers'>Show last [length(lastsignalers)] signalers</A><BR>
<BR>
<A href='?src=\ref[src];secretsadmin=showailaws'>Show AI Laws</A><BR>
<A href='?src=\ref[src];secretsadmin=list_lawchanges'>Show last [length(lawchanges)] law changes</A><BR>

View File

@@ -3656,11 +3656,6 @@
for(var/l in bombers)
dat += text("[l]<BR>")
usr << browse(dat, "window=bombers")
if("list_signalers")
var/dat = "<B>Showing last [length(lastsignalers)] signalers.</B><HR>"
for(var/sig in lastsignalers)
dat += "[sig]<BR>"
usr << browse(dat, "window=lastsignalers;size=800x500")
if("list_lawchanges")
var/dat = "<B>Showing last [length(lawchanges)] law changes.</B><HR>"
for(var/sig in lawchanges)

View File

@@ -141,15 +141,11 @@
signal.data["message"] = "ACTIVATE"
radio_connection.post_signal(src, signal)
var/time = time2text(world.realtime,"hh:mm:ss")
var/turf/T = get_turf(src)
if(usr)
var/mob/user = usr
if(user)
lastsignalers.Add("[time] <B>:</B> [user.key] used [src] @ location ([T.x],[T.y],[T.z]) <B>:</B> [format_frequency(frequency)]/[code]")
else
lastsignalers.Add("[time] <B>:</B> (<span class='danger'>NO USER FOUND</span>) used [src] @ location ([T.x],[T.y],[T.z]) <B>:</B> [format_frequency(frequency)]/[code]")
return
if(istype(loc, /obj/item/device/assembly_holder))
investigation_log(I_WIRES, "used as signaler in \a [loc]. Last touched by: [fingerprintslast], Last user processed: [key_name(usr)] - [format_frequency(frequency)]/[code]")
else
investigation_log(I_WIRES, "used as signaler. Last touched by: [fingerprintslast], Last user processed: [key_name(usr)] - [format_frequency(frequency)]/[code]")
/*
for(var/obj/item/device/assembly/signaler/S in world)
if(!S)

View File

@@ -27,6 +27,8 @@
recorded = speech.message
listening = 0
say("Activation message is '[html_encode(speech.message)]'.")
var/mob/living/user = speech.speaker
investigation_log(I_WIRES, "activation message set to \"[recorded]\" by [key_name(user)]")
else
if(!recorded || findtext(speech.message, recorded))
var/mob/living/L = speech.speaker
@@ -36,6 +38,9 @@
playsound(get_turf(src), 'sound/machines/buzz-sigh.ogg', 25, 1)
else
pulse(0)
var/mob/living/speaker = speech.speaker
investigation_log(I_WIRES, "activated by the keyword \"[recorded]\", said by [key_name(speaker)]")
/obj/item/device/assembly/voice/attackby(obj/item/W, mob/user)
if(ismultitool(W))

View File

@@ -293,8 +293,7 @@
connection.post_signal(S, signal)
var/time = time2text(world.realtime,"hh:mm:ss")
lastsignalers.Add("[time] <B>:</B> [S.id] sent a signal command, which was triggered by NTSL.<B>:</B> [format_frequency(freq)]/[code]")
S.investigation_log(I_WIRES, "NTSL-triggered signaler activated by [S.id] - [format_frequency(frequency)]/[code]")
/datum/signal/proc/tcombroadcast(var/message, var/freq, var/source, var/job)

View File

@@ -152,7 +152,7 @@ Code:
last_transmission = world.time
spawn( 0 )
var/time = time2text(world.realtime,"hh:mm:ss")
lastsignalers.Add("[time] <B>:</B> [usr.key] used [src.master] @ location ([src.master.loc.x],[src.master.loc.y],[src.master.loc.z]) <B>:</B> [format_frequency(send_freq)]/[send_code]")
master.investigation_log(I_WIRES, "used as signaler by [key_name(usr)] - [format_frequency(frequency)]/[code]")
var/datum/signal/signal = new
signal.source = src