diff --git a/code/game/objects/explosion.dm b/code/game/objects/explosion.dm
index 933baa31e02..9f440d4b4fa 100644
--- a/code/game/objects/explosion.dm
+++ b/code/game/objects/explosion.dm
@@ -54,7 +54,7 @@ proc/explosion(turf/epicenter, devastation_range, heavy_impact_range, light_impa
if(adminlog)
message_admins("Explosion with size ([devastation_range], [heavy_impact_range], [light_impact_range], [flame_range]) in area [epicenter.loc.name] ([epicenter.x],[epicenter.y],[epicenter.z])")
- log_game("Explosion with size ([devastation_range], [heavy_impact_range], [light_impact_range], [flame_range]) in area [epicenter.loc.name] ")
+ log_game("Explosion with size ([devastation_range], [heavy_impact_range], [light_impact_range], [flame_range]) in area [epicenter.loc.name] ([epicenter.x],[epicenter.y],[epicenter.z])")
// Play sounds; we want sounds to be different depending on distance so we will manually do it ourselves.
// Stereo users will also hear the direction of the explosion!
diff --git a/code/game/objects/items/devices/powersink.dm b/code/game/objects/items/devices/powersink.dm
index ccb2501541f..1798038265e 100644
--- a/code/game/objects/items/devices/powersink.dm
+++ b/code/game/objects/items/devices/powersink.dm
@@ -94,6 +94,8 @@
"[user] activates \the [src]!", \
"You activate \the [src]!",
"You hear a click.")
+ message_admins("Power sink activated by [key_name(user, user.client)](?) at ([x],[y],[z] - JMP)")
+ log_game("Power sink activated by [key_name(user)] at ([x],[y],[z])")
set_mode(OPERATING)
if(OPERATING)
@@ -131,7 +133,9 @@
A.charging = 1 // It's no longer full
if(power_drained > max_power * 0.95)
+ message_admins("Power sink at ([x],[y],[z] - JMP) is about to explode")
playsound(src, 'sound/effects/screech.ogg', 100, 1, 1)
+
if(power_drained >= max_power)
processing_objects.Remove(src)
explosion(src.loc, 3,6,9,12)
diff --git a/code/game/objects/items/weapons/explosives.dm b/code/game/objects/items/weapons/explosives.dm
index b00dd4efbf3..2807cc8f36c 100644
--- a/code/game/objects/items/weapons/explosives.dm
+++ b/code/game/objects/items/weapons/explosives.dm
@@ -34,6 +34,7 @@
message_say = "FOR NARSIE!"
user.say(message_say)
target = user
+ message_admins("[key_name(user, user.client)](?) suicided with C4 at ([x],[y],[z] - JMP)",0,1)
explode(get_turf(user))
return .
@@ -72,6 +73,12 @@
if (ismob(target))
add_logs(user, target, "planted [name] on")
user.visible_message("\red [user.name] finished planting an explosive on [target.name]!")
+ message_admins("[key_name(user, user.client)](?) planted C4 on [key_name(target)](?) with [timer] second fuse",0,1)
+ log_game("[key_name(user)] planted C4 on [key_name(target)] with [timer] second fuse")
+
+ else
+ message_admins("[key_name(user, user.client)](?) planted C4 on [target.name] at ([target.x],[target.y],[target.z] - JMP) with [timer] second fuse",0,1)
+ log_game("[key_name(user)] planted C4 on [target.name] at ([target.x],[target.y],[target.z]) with [timer] second fuse")
target.overlays += image('icons/obj/assemblies.dmi', "plastic-explosive2")
user << "Bomb has been planted. Timer counting down from [timer]."
diff --git a/code/modules/power/singularity/singularity.dm b/code/modules/power/singularity/singularity.dm
index 2157c61ecc8..65c37bb0cd8 100644
--- a/code/modules/power/singularity/singularity.dm
+++ b/code/modules/power/singularity/singularity.dm
@@ -62,6 +62,7 @@ var/global/list/uneatable = list(
switch(severity)
if(1.0)
if(prob(25))
+ investigate_log("has been destroyed by an explosion.","singulo")
del(src)
return
else
@@ -189,6 +190,7 @@ var/global/list/uneatable = list(
/obj/machinery/singularity/proc/check_energy()
if(energy <= 0)
+ investigate_log("collapsed.","singulo")
del(src)
return 0
switch(energy)//Some of these numbers might need to be changed up later -Mport
@@ -251,6 +253,7 @@ var/global/list/uneatable = list(
if(H.mind.assigned_role == "Clown")
gain = rand(-300, 300) // HONK
+ investigate_log(" has consumed [key_name(A)].","singulo") //Oh that's where the clown ended up!
spawn()
A:gib()
sleep(1)
diff --git a/code/modules/power/smes.dm b/code/modules/power/smes.dm
index e5f08b47f1e..706d5fbb2a4 100644
--- a/code/modules/power/smes.dm
+++ b/code/modules/power/smes.dm
@@ -42,6 +42,11 @@
updateicon()
return
+/obj/machinery/power/smes/Del()
+ message_admins("SMES deleted at ([x],[y],[z] - JMP)")
+ log_game("SMES deleted at ([x],[y],[z])")
+ investigate_log("deleted at ([x],[y],[z])","singulo")
+ ..()
/obj/machinery/power/smes/proc/updateicon()
overlays.Cut()
@@ -114,6 +119,7 @@
if(charge < 0.0001)
online = 0 // stop output if charge falls to zero
+ investigate_log("lost power and turned off","singulo")
// only update icon if state changed
if(last_disp != chargedisplay() || last_chrg != charging || last_onln != online)
@@ -219,11 +225,14 @@
chargemode = !chargemode
if(!chargemode)
charging = 0
+ investigate_log("input/output; [chargelevel>output?"":""][chargelevel]/[output] | Output-mode: [online?"on":"off"] | Input-mode: [chargemode?"auto":"off"] by [usr.key]","singulo")
updateicon()
else if( href_list["online"] )
online = !online
+ investigate_log("input/output; [chargelevel>output?"":""][chargelevel]/[output] | Output-mode: [online?"on":"off"] | Input-mode: [chargemode?"auto":"off"] by [usr.key]","singulo")
updateicon()
+
else if( href_list["input"] )
var/i = text2num(href_list["input"])
@@ -250,6 +259,8 @@
chargelevel += d
chargelevel = max(0, min(SMESMAXCHARGELEVEL, chargelevel)) // clamp to range
+ investigate_log("input/output; [chargelevel>output?"":""][chargelevel]/[output] | Output-mode: [online?"on":"off"] | Input-mode: [chargemode?"auto":"off"] by [usr.key]","singulo")
+ src.updateUsrDialog()
else if( href_list["output"] )
diff --git a/code/modules/telesci/telesci_computer.dm b/code/modules/telesci/telesci_computer.dm
index d6c2246d76d..b0761e14c37 100644
--- a/code/modules/telesci/telesci_computer.dm
+++ b/code/modules/telesci/telesci_computer.dm
@@ -193,7 +193,6 @@
temp_msg += "
Calibration required soon."
else
temp_msg += "Data printed below."
- investigate_log("[key_name(usr)]/[user] has teleported with Telescience at [trueX],[trueY],[z_co], in [A ? A.name : "null area"].","telesci")
var/sparks = get_turf(target)
var/datum/effect/effect/system/spark_spread/y = new /datum/effect/effect/system/spark_spread
@@ -202,6 +201,9 @@
var/turf/source = target
var/turf/dest = get_turf(telepad)
+ var/log_msg = ""
+ log_msg += ": [key_name(user)] has teleported "
+
if(sending)
source = dest
dest = target
@@ -217,11 +219,39 @@
// TP people on office chairs
if(L.buckled.anchored)
continue
+
+ log_msg += "[key_name(L)] (on a chair), "
else
continue
else if(!isobserver(ROI))
continue
+ if(ismob(ROI))
+ var/mob/T = ROI
+ log_msg += "[key_name(T)], "
+ else
+ log_msg += "[ROI.name]"
+ if (istype(ROI, /obj/structure/closet))
+ var/obj/structure/closet/C = ROI
+ log_msg += " ("
+ for(var/atom/movable/Q as mob|obj in C)
+ if(ismob(Q))
+ log_msg += "[key_name(Q)], "
+ else
+ log_msg += "[Q.name], "
+ if (dd_hassuffix(log_msg, "("))
+ log_msg += "empty)"
+ else
+ log_msg = dd_limittext(log_msg, length(log_msg) - 2)
+ log_msg += ")"
+ log_msg += ", "
do_teleport(ROI, dest)
+
+ if (dd_hassuffix(log_msg, ", "))
+ log_msg = dd_limittext(log_msg, length(log_msg) - 2)
+ else
+ log_msg += "nothing"
+ log_msg += " [sending ? "to" : "from"] [trueX], [trueY], [z_co] ([A ? A.name : "null area"])"
+ investigate_log(log_msg, "telesci")
updateDialog()
/obj/machinery/computer/telescience/proc/teleport(mob/user)