mirror of
https://github.com/vgstation-coders/vgstation13.git
synced 2025-12-10 10:21:11 +00:00
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:
@@ -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
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
//////////////////
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user