diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm
index f02292d81f..9331819654 100644
--- a/code/modules/admin/admin.dm
+++ b/code/modules/admin/admin.dm
@@ -612,7 +612,7 @@ proc/admin_notice(var/message, var/rights)
Bombing List
Show current traitors and objectives
Show last [length(lastsignalers)] signalers
- Show last [length(lawchanges)] law changes
+ Show last [lawchanges.len] law change\s
Show AI Laws
Show Game Mode
Show Crew Manifest
diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm
index 983292ebc3..45397fa097 100644
--- a/code/modules/admin/topic.dm
+++ b/code/modules/admin/topic.dm
@@ -2300,7 +2300,7 @@
dat += "[sig]
"
usr << browse(dat, "window=lastsignalers;size=800x500")
if("list_lawchanges")
- var/dat = "Showing last [length(lawchanges)] law changes.
"
+ var/dat = "Showing last [lawchanges.len] law change\s.
"
for(var/sig in lawchanges)
dat += "[sig]
"
usr << browse(dat, "window=lawchanges;size=800x500")
diff --git a/code/modules/mob/living/silicon/laws.dm b/code/modules/mob/living/silicon/laws.dm
index 5c2068abdf..90236d2e52 100644
--- a/code/modules/mob/living/silicon/laws.dm
+++ b/code/modules/mob/living/silicon/laws.dm
@@ -12,7 +12,7 @@
/mob/living/silicon/proc/set_zeroth_law(var/law, var/law_borg)
laws_sanity_check()
laws.set_zeroth_law(law, law_borg)
- log_and_message_admins("has given [src] the zeroth laws: [law]/[law_borg ? law_borg : "N/A"]")
+ log_law("has given [src] the zeroth law: '[law]'[law_borg ? " / '[law_borg]'" : ""]")
/mob/living/silicon/robot/set_zeroth_law(var/law, var/law_borg)
..()
@@ -22,40 +22,40 @@
/mob/living/silicon/proc/add_ion_law(var/law)
laws_sanity_check()
laws.add_ion_law(law)
- log_and_message_admins("has given [src] the ion law: [law]")
+ log_law("has given [src] the ion law: [law]")
/mob/living/silicon/proc/add_inherent_law(var/law)
laws_sanity_check()
laws.add_inherent_law(law)
- log_and_message_admins("has given [src] the inherent law: [law]")
+ log_law("has given [src] the inherent law: [law]")
/mob/living/silicon/proc/add_supplied_law(var/number, var/law)
laws_sanity_check()
laws.add_supplied_law(number, law)
- log_and_message_admins("has given [src] the supplied law: [law]")
+ log_law("has given [src] the supplied law: [law]")
/mob/living/silicon/proc/delete_law(var/datum/ai_law/law)
laws_sanity_check()
laws.delete_law(law)
- log_and_message_admins("has deleted a law belonging to [src]: [law.law]")
+ log_law("has deleted a law belonging to [src]: [law.law]")
/mob/living/silicon/proc/clear_inherent_laws(var/silent = 0)
laws_sanity_check()
laws.clear_inherent_laws()
if(!silent)
- log_and_message_admins("cleared the inherent laws of [src]")
+ log_law("cleared the inherent laws of [src]")
/mob/living/silicon/proc/clear_ion_laws(var/silent = 0)
laws_sanity_check()
laws.clear_ion_laws()
if(!silent)
- log_and_message_admins("cleared the ion laws of [src]")
+ log_law("cleared the ion laws of [src]")
/mob/living/silicon/proc/clear_supplied_laws(var/silent = 0)
laws_sanity_check()
laws.clear_supplied_laws()
if(!silent)
- log_and_message_admins("cleared the supplied laws of [src]")
+ log_law("cleared the supplied laws of [src]")
/mob/living/silicon/proc/statelaws(var/datum/ai_laws/laws)
var/prefix = ""
@@ -102,3 +102,7 @@
/mob/living/silicon/proc/lawsync()
laws_sanity_check()
laws.sort_laws()
+
+/mob/living/silicon/proc/log_law(var/law_message)
+ log_and_message_admins(law_message)
+ lawchanges += "[worldtime2text()] - [usr ? "[key_name(usr)]" : "EVENT"] [law_message]"