diff --git a/code/datums/log_record.dm b/code/datums/log_record.dm index 7d127eedc7d..2a659477b47 100644 --- a/code/datums/log_record.dm +++ b/code/datums/log_record.dm @@ -3,8 +3,8 @@ var/raw_time // When did this happen? var/what // What happened var/who // Who did it - var/target // Who/what was targeted (can be a string) - var/turf/where // Where did it happen + var/target // Who/what was targeted + var/where // Where did it happen /datum/log_record/New(_log_type, _who, _what, _target, _where, _raw_time) log_type = _log_type @@ -12,9 +12,13 @@ who = get_subject_text(_who, _log_type) what = _what target = get_subject_text(_target, _log_type) - if(!_where) + if(!istext(_where) && !isturf(_where)) _where = get_turf(_who) - where = _where + if(isturf(_where)) + var/turf/T = _where + where = ADMIN_COORDJMP(T) + else + where = _where if(!_raw_time) _raw_time = world.time raw_time = _raw_time diff --git a/code/datums/log_viewer.dm b/code/datums/log_viewer.dm index 5f7084a738b..c5a17507606 100644 --- a/code/datums/log_viewer.dm +++ b/code/datums/log_viewer.dm @@ -4,6 +4,9 @@ if(!result || result.ckey != __ckey){\ selected_ckeys_mobs[__ckey] = result;\ } +#define RECORD_WARN_LIMIT 1000 +#define RECORD_HARD_LIMIT 2500 + /datum/log_viewer var/time_from = 0 var/time_to = 4 HOURS // 4 Hours should be enough. INFINITY would screw the UI up @@ -23,7 +26,7 @@ if(!result || result.ckey != __ckey){\ log_records.Cut() return -/datum/log_viewer/proc/search() +/datum/log_viewer/proc/search(user) log_records.Cut() // Empty the old results var/list/invalid_mobs = list() var/list/ckeys = selected_ckeys.Copy() @@ -47,8 +50,8 @@ if(!result || result.ckey != __ckey){\ continue log_records.Add(logs.Copy(start_index, end_index + 1)) - if(invalid_mobs.len) - to_chat(usr, "The search criteria contained invalid mobs. They have been removed from the criteria.") + if(length(invalid_mobs)) + to_chat(user, "The search criteria contained invalid mobs. They have been removed from the criteria.") for(var/i in invalid_mobs) selected_mobs -= i // Cleanup @@ -103,13 +106,13 @@ if(!result || result.ckey != __ckey){\ return 0 /datum/log_viewer/proc/add_mobs(list/mob/mobs) - if(!mobs?.len) + if(!length(mobs)) return for(var/i in mobs) add_mob(usr, i, FALSE) /datum/log_viewer/proc/add_ckey(mob/user, ckey) - if(!user || !user) + if(!user || !ckey) return selected_ckeys |= ckey UPDATE_CKEY_MOB(ckey) @@ -127,7 +130,7 @@ if(!result || result.ckey != __ckey){\ var/all_log_types = ALL_LOGS var/trStyleTop = "border-top:2px solid; border-bottom:2px solid; padding-top: 5px; padding-bottom: 5px;" var/trStyle = "border-top:1px solid; border-bottom:1px solid; padding-top: 5px; padding-bottom: 5px;" - var/dat + var/list/dat = list() dat += "
" dat += "