From 9fa38637adaf4f8111963ae30736e749d4ab3641 Mon Sep 17 00:00:00 2001 From: Alek2ander Date: Sun, 19 Jan 2014 21:16:30 +0400 Subject: [PATCH 1/2] Logs everywhere Explosion game log now has epicenter coords Powersink placement and explosion notifications C4 notifications and logs Logging singulo munchies and death All SMES interactions now logged, because any of them can mess stuff up Telesci logs what was teleported --- code/game/objects/explosion.dm | 2 +- code/game/objects/items/devices/powersink.dm | 4 +++ code/game/objects/items/weapons/explosives.dm | 9 +++++- code/modules/power/singularity/singularity.dm | 3 ++ code/modules/power/smes.dm | 11 +++++++ code/modules/telesci/telesci_computer.dm | 32 ++++++++++++++++++- 6 files changed, 58 insertions(+), 3 deletions(-) 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..7b72735463e 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]." @@ -93,7 +100,7 @@ else target.ex_act(1) if (isobj(target)) - if (target) + if (target && !istype(target, /obj/structure/safe) && !istype(target, /obj/machinery/nuclearbomb)) //Nope! del(target) del(src) 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) From ecf50f2de8a25ee982bfef1a31adb49b5a84951c Mon Sep 17 00:00:00 2001 From: Alek2ander Date: Sun, 19 Jan 2014 22:15:28 +0400 Subject: [PATCH 2/2] Goodbye nuke --- code/game/objects/items/weapons/explosives.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/items/weapons/explosives.dm b/code/game/objects/items/weapons/explosives.dm index 7b72735463e..2807cc8f36c 100644 --- a/code/game/objects/items/weapons/explosives.dm +++ b/code/game/objects/items/weapons/explosives.dm @@ -100,7 +100,7 @@ else target.ex_act(1) if (isobj(target)) - if (target && !istype(target, /obj/structure/safe) && !istype(target, /obj/machinery/nuclearbomb)) //Nope! + if (target) del(target) del(src)