diff --git a/code/datums/wires/nuclearbomb.dm b/code/datums/wires/nuclearbomb.dm
index a83532ef143..b67ffc3a604 100644
--- a/code/datums/wires/nuclearbomb.dm
+++ b/code/datums/wires/nuclearbomb.dm
@@ -30,7 +30,7 @@ var/const/NUCLEARBOMB_WIRE_SAFETY = 4
if(NUCLEARBOMB_WIRE_TIMING)
if(N.timing)
spawn
- log_and_message_admins_with_location("pulsed a nuclear bomb's detonation wire, causing it to explode.", holder.x, holder.y, holder.z)
+ log_and_message_admins("pulsed a nuclear bomb's detonation wire, causing it to explode.")
N.explode()
if(NUCLEARBOMB_WIRE_SAFETY)
N.safety = !N.safety
@@ -49,7 +49,7 @@ var/const/NUCLEARBOMB_WIRE_SAFETY = 4
N.safety = mended
if(N.timing)
spawn
- log_and_message_admins_with_location("cut a nuclear bomb's timing wire, causing it to explode.", holder.x, holder.y, holder.z)
+ log_and_message_admins("cut a nuclear bomb's timing wire, causing it to explode.")
N.explode()
if(NUCLEARBOMB_WIRE_TIMING)
N.secure_device()
diff --git a/code/game/machinery/nuclear_bomb.dm b/code/game/machinery/nuclear_bomb.dm
index 0bd3e922000..a16a47560a9 100644
--- a/code/game/machinery/nuclear_bomb.dm
+++ b/code/game/machinery/nuclear_bomb.dm
@@ -285,7 +285,7 @@ var/bomb_set
if (!timing && !safety)
timing = 1
- log_and_message_admins_with_location("engaged a nuclear bomb", x, y, ,z)
+ log_and_message_admins("engaged a nuclear bomb")
bomb_set++ //There can still be issues with this resetting when there are multiple bombs. Not a big deal though for Nuke/N
update_icon()
else
@@ -413,7 +413,7 @@ if(!N.lighthack)
var/turf/T = pick_area_turf(/area/maintenance, list(/proc/is_station_turf, /proc/not_turf_contains_dense_objects))
if(T)
var/obj/D = new /obj/item/weapon/disk/nuclear(T)
- log_and_message_admins_with_location("[src], the last authentication disk, has been destroyed. Spawning [D] at ([D.x], [D.y], [D.z]).", T.x, T.y, T.z)
+ log_and_message_admins("[src], the last authentication disk, has been destroyed. Spawning [D] at ([D.x], [D.y], [D.z]).", location = T)
else
log_and_message_admins("[src], the last authentication disk, has been destroyed. Failed to respawn disc!")
return ..()
diff --git a/code/modules/admin/admin_attack_log.dm b/code/modules/admin/admin_attack_log.dm
index 918739ec8ff..dd49331a7e0 100644
--- a/code/modules/admin/admin_attack_log.dm
+++ b/code/modules/admin/admin_attack_log.dm
@@ -2,10 +2,11 @@
/mob/var/lastattacked = null
/mob/var/attack_log = list()
-proc/log_and_message_admins_with_location(var/message, var/x, var/y, var/z, var/mob/user = usr)
- log_and_message_admins("[message] (JMP)", user)
+proc/log_and_message_admins(var/message as text, var/mob/user = usr, var/turf/location)
+ var/turf/T = location ? location : (user ? get_turf(user) : null)
+ if(T)
+ message = message + " (JMP)"
-proc/log_and_message_admins(var/message as text, var/mob/user = usr)
log_admin(user ? "[key_name(user)] [message]" : "EVENT [message]")
message_admins(user ? "[key_name_admin(user)] [message]" : "EVENT [message]")
diff --git a/code/modules/events/blob.dm b/code/modules/events/blob.dm
index 7ca66a8260a..78eb7eeeae6 100644
--- a/code/modules/events/blob.dm
+++ b/code/modules/events/blob.dm
@@ -13,7 +13,7 @@
kill()
return
- log_and_message_admins_with_location("Event: Blob spawned at \the [get_area(T)] ([T.x],[T.y],[T.z])", T.x, T.y, T.z)
+ log_and_message_admins("Blob spawned at \the [get_area(T)]", location = T)
Blob = new /obj/effect/blob/core(T)
for(var/i = 1; i < rand(3, 4), i++)
Blob.process()
diff --git a/code/modules/hydroponics/spreading/spreading.dm b/code/modules/hydroponics/spreading/spreading.dm
index 0faf957787f..14e4741565e 100644
--- a/code/modules/hydroponics/spreading/spreading.dm
+++ b/code/modules/hydroponics/spreading/spreading.dm
@@ -16,7 +16,7 @@
vine.mature_time = 0
vine.process()
- log_and_message_admins_with_location("Event: Spacevines spawned at [T.loc] ([T.x],[T.y],[T.z])", T.x, T.y, T.z)
+ log_and_message_admins("Spacevines spawned at \the [get_area(T)]", location = T)
return
log_and_message_admins("Event: Spacevines failed to find a viable turf.")
diff --git a/code/modules/library/lib_machines.dm b/code/modules/library/lib_machines.dm
index c921ac51645..997a434124a 100644
--- a/code/modules/library/lib_machines.dm
+++ b/code/modules/library/lib_machines.dm
@@ -353,6 +353,7 @@ datum/borrowbook // Datum used to keep track of who has borrowed what when and f
if(!query.Execute())
usr << query.ErrorMsg()
else
+ log_and_message_admins("has uploaded the book titled [scanner.cache.name], [length(scanner.cache.dat)] signs")
log_game("[usr.name]/[usr.key] has uploaded the book titled [scanner.cache.name], [length(scanner.cache.dat)] signs")
alert("Upload Complete.")