diff --git a/code/_helpers/logging_vr.dm b/code/_helpers/logging_vr.dm index 2f4c48acc6..b87da0a8b5 100644 --- a/code/_helpers/logging_vr.dm +++ b/code/_helpers/logging_vr.dm @@ -1,11 +1,11 @@ -/proc/log_nsay(text,inside) +/proc/log_nsay(text, inside, mob/speaker) if (config.log_say) - diary << "\[[time_stamp()]]NSAY (NIF:[inside]): [text][log_end]" + diary << "\[[time_stamp()]]NSAY (NIF:[inside]): [speaker.simple_info_line()]: [text][log_end]" -/proc/log_nme(text,inside) +/proc/log_nme(text, inside, mob/speaker) if (config.log_emote) - diary << "\[[time_stamp()]]NME (NIF:[inside]): [text][log_end]" + diary << "\[[time_stamp()]]NME (NIF:[inside]): [speaker.simple_info_line()]: [text][log_end]" -/proc/log_subtle(text) +/proc/log_subtle(text, mob/speaker) if (config.log_emote) - diary << "\[[time_stamp()]]SUBTLE: [text][log_end]" + diary << "\[[time_stamp()]]SUBTLE: [speaker.simple_info_line()]: [text][log_end]" diff --git a/code/game/objects/structures/morgue_vr.dm b/code/game/objects/structures/morgue_vr.dm index abe82bdbac..eaf27b5ad0 100644 --- a/code/game/objects/structures/morgue_vr.dm +++ b/code/game/objects/structures/morgue_vr.dm @@ -44,10 +44,6 @@ if (C.can_feel_pain()) C.emote("scream") - //Logging for this causes runtimes resulting in the cremator locking up. Commenting it out until that's figured out. - //M.attack_log += "\[[time_stamp()]\] Has been cremated by [user]/[user.ckey]" //No point in this when the mob's about to be deleted - //user.attack_log +="\[[time_stamp()]\] Cremated [M]/[M.ckey]" - //log_attack("\[[time_stamp()]\] [user]/[user.ckey] cremated [M]/[M.ckey]") M.death(1) M.ghostize() qdel(M) diff --git a/code/modules/mob/living/carbon/human/species/station/station_special_abilities_vr.dm b/code/modules/mob/living/carbon/human/species/station/station_special_abilities_vr.dm index fe1d90aae1..036cd1cc9d 100644 --- a/code/modules/mob/living/carbon/human/species/station/station_special_abilities_vr.dm +++ b/code/modules/mob/living/carbon/human/species/station/station_special_abilities_vr.dm @@ -437,9 +437,7 @@ C.absorbing_prey = 0 to_chat(C, "You have completely drained [T], causing them to pass out.") to_chat(T, "You feel weak, as if you have no control over your body whatsoever as [C] finishes draining you.!") - T.attack_log += text("\[[time_stamp()]\] Was drained by [key_name(C)]") - C.attack_log += text("\[[time_stamp()]\] Drained [key_name(T)]") - msg_admin_attack("[key_name(T)] was completely drained of all nutrition by [key_name(C)]") + add_attack_logs(C,T,"Succubus drained") return if(!do_mob(src, T, 50) || G.state != GRAB_NECK) //One drain tick every 5 seconds. @@ -516,9 +514,7 @@ absorbing_prey = 0 to_chat(src, "You have completely drained [T], killing them.") to_chat(T, "You feel... So... Weak...") - T.attack_log += text("\[[time_stamp()]\] Was drained by [key_name(src)]") - src.attack_log += text("\[[time_stamp()]\] Drained [key_name(T)]") - msg_admin_attack("[key_name(T)] was completely drained of all nutrition by [key_name(src)]") + add_attack_logs(src,T,"Succubus drained (almost lethal)") return if(drain_finalized == 1 || T.getBrainLoss() < 55) //Let's not kill them with this unless the drain is finalized. This will still stack up to 55, since 60 is lethal. T.adjustBrainLoss(5) //Will kill them after a short bit! @@ -533,9 +529,7 @@ to_chat(src, "You have completely drained [T], killing them in the process.") to_chat(T, "You... Feel... So... Weak...") visible_message("[src] seems to finish whatever they were doing to [T].") - T.attack_log += text("\[[time_stamp()]\] Was drained by [key_name(src)]") - src.attack_log += text("\[[time_stamp()]\] Drained [key_name(T)]") - msg_admin_attack("[key_name(T)] was completely drained of all nutrition by [key_name(src)]") + add_attack_logs(src,T,"Succubus drained (lethal)") return if(!do_mob(src, T, 50) || G.state != GRAB_NECK) //One drain tick every 5 seconds. @@ -595,9 +589,7 @@ C.absorbing_prey = 0 to_chat(C, "You have completely fed [T] every part of your body!") to_chat(T, "You feel quite strong and well fed, as [C] finishes feeding \himself to you!") - T.attack_log += text("\[[time_stamp()]\] Was fed via slime feed by [key_name(C)]") - C.attack_log += text("\[[time_stamp()]\] Fed via slime feed [key_name(T)]") - msg_admin_attack("[key_name(C)] fed [key_name(T)] via slime feed, resulting in them being eaten!") + add_attack_logs(C,T,"Slime fed") C.feed_grabbed_to_self_falling_nom(T,C) //Reused this proc instead of making a new one to cut down on code usage. return @@ -740,9 +732,7 @@ T.apply_damage(25, BRUTE, T_ext) visible_message("[src] severely damages [T]'s [T_ext.name]!") - src.attack_log += text("\[[time_stamp()]\] Shred_limb'd [T.real_name] ([T.ckey])") - T.attack_log += text("\[[time_stamp()]\] [src.real_name] ([src.ckey]) shred_limb'd me") - msg_admin_attack("[src.real_name] ([src.ckey]) shredded (shred_limb) [T.real_name] ([T.ckey]) (JMP)") + add_attack_logs(src,T,"Shredded (hardvore)") /mob/living/proc/flying_toggle() set name = "Toggle Flight" diff --git a/code/modules/mob/say_vr.dm b/code/modules/mob/say_vr.dm index c0e7c6b9ce..5153a3c23f 100644 --- a/code/modules/mob/say_vr.dm +++ b/code/modules/mob/say_vr.dm @@ -36,13 +36,12 @@ input = message if(input) + log_subtle(message,src) message = "[src] [input]" else return if (message) - log_subtle("[name]/[key] : [message]") - var/list/vis = get_mobs_and_objs_in_view_fast(get_turf(src),1,2) //Turf, Range, and type 2 is emote var/list/vis_mobs = vis["mobs"] var/list/vis_objs = vis["objs"] diff --git a/code/modules/nifsoft/software/13_soulcatcher.dm b/code/modules/nifsoft/software/13_soulcatcher.dm index 8bd92831dc..dfa9e87246 100644 --- a/code/modules/nifsoft/software/13_soulcatcher.dm +++ b/code/modules/nifsoft/software/13_soulcatcher.dm @@ -77,7 +77,6 @@ proc/say_into(var/message, var/mob/living/sender, var/mob/eyeobj) var/sender_name = eyeobj ? eyeobj.name : sender.name - log_nsay("[sender_name]/[sender.key] : [message]",nif.human) //AR Projecting if(eyeobj) @@ -85,15 +84,15 @@ //Not AR Projecting else - log_nsay("[sender_name]/[sender.key] : [message]",nif.human) to_chat(nif.human,"\[\icon[nif.big_icon]NIF\] [sender_name] speaks, \"[message]\"") for(var/brainmob in brainmobs) var/mob/living/carbon/brain/caught_soul/CS = brainmob to_chat(CS,"\[\icon[nif.big_icon]NIF\] [sender_name] speaks, \"[message]\"") + log_nsay(message,nif.human.real_name,src) + proc/emote_into(var/message, var/mob/living/sender, var/mob/eyeobj) var/sender_name = eyeobj ? eyeobj.name : sender.name - log_nme("[sender_name]/[sender.key] : [message]",nif.human) //AR Projecting if(eyeobj) @@ -106,6 +105,8 @@ var/mob/living/carbon/brain/caught_soul/CS = brainmob to_chat(CS,"\[\icon[nif.big_icon]NIF\] [sender_name] [message]") + log_nme(message,nif.human.real_name,src) + proc/show_settings(var/mob/living/carbon/human/H) set waitfor = FALSE var/settings_list = list( diff --git a/code/modules/vehicles/Securitrain_vr.dm b/code/modules/vehicles/Securitrain_vr.dm index 01ff285ada..2ab76f315c 100644 --- a/code/modules/vehicles/Securitrain_vr.dm +++ b/code/modules/vehicles/Securitrain_vr.dm @@ -183,8 +183,8 @@ var/mob/living/carbon/human/D = load to_chat(D, "You ran over \the [H]!" visible_message("\The [src] ran over \the [H]!") + add_attack_logs(D,H,"Ran over with [src.name]") attack_log += text("\[[time_stamp()]\] ran over [H.name] ([H.ckey]), driven by [D.name] ([D.ckey])") - msg_admin_attack("[D.name] ([D.ckey]) ran over [H.name] ([H.ckey]). (JMP)") else attack_log += text("\[[time_stamp()]\] ran over [H.name] ([H.ckey])") diff --git a/code/modules/vehicles/rover_vr.dm b/code/modules/vehicles/rover_vr.dm index aec7254bf7..3d7892b4b2 100644 --- a/code/modules/vehicles/rover_vr.dm +++ b/code/modules/vehicles/rover_vr.dm @@ -182,8 +182,8 @@ var/mob/living/carbon/human/D = load to_chat(D, "You ran over \the [H]!") visible_message("\The [src] ran over \the [H]!") + add_attack_logs(D,H,"Ran over with [src.name]") attack_log += text("\[[time_stamp()]\] ran over [H.name] ([H.ckey]), driven by [D.name] ([D.ckey])") - msg_admin_attack("[D.name] ([D.ckey]) ran over [H.name] ([H.ckey]). (JMP)") else attack_log += text("\[[time_stamp()]\] ran over [H.name] ([H.ckey])") diff --git a/code/modules/vore/eating/living_vr.dm b/code/modules/vore/eating/living_vr.dm index a1ce795bcc..1482e226b8 100644 --- a/code/modules/vore/eating/living_vr.dm +++ b/code/modules/vore/eating/living_vr.dm @@ -414,9 +414,9 @@ // Inform Admins if (pred == user) - msg_admin_attack("[key_name(pred)] ate [key_name(prey)]. ([pred ? "JMP" : "null"])") + add_attack_logs(pred,prey,"Eaten via [belly.name]") else - msg_admin_attack("[key_name(user)] forced [key_name(pred)] to eat [key_name(prey)]. ([pred ? "JMP" : "null"])") + add_attack_logs(user,pred,"Forced to eat [key_name(prey)]") return 1 // diff --git a/code/modules/vore/resizing/resize_vr.dm b/code/modules/vore/resizing/resize_vr.dm index d76955eb7f..05f9a377e2 100644 --- a/code/modules/vore/resizing/resize_vr.dm +++ b/code/modules/vore/resizing/resize_vr.dm @@ -233,7 +233,7 @@ var/const/RESIZE_A_SMALLTINY = (RESIZE_SMALL + RESIZE_TINY) / 2 tmob.resting = 1 //Force them down to the ground. //Log it for admins (as opposed to walk which logs damage) - admin_attack_log(src, tmob, "Pinned [tmob.name] under foot.", "Was pinned under foot by [src.name].", "Pinned [tmob.name] under foot.") + add_attack_logs(src,tmob,"Pinned underfoot") //Not a human, or not a taur, generic message only if(!H || !isTaurTail(H.tail_style)) @@ -255,7 +255,7 @@ var/const/RESIZE_A_SMALLTINY = (RESIZE_SMALL + RESIZE_TINY) / 2 tmob.resting = 1 //Log it for admins (as opposed to run which logs no damage) - admin_attack_log(src, tmob, "Pinned [tmob.name] under foot for [damage] HALLOSS.", "Was pinned under foot by [src.name] for [damage] HALLOSS.", "Pinned [tmob.name] under foot for [damage] HALLOSS.") + add_attack_logs(src,tmob,"Pinned underfoot (+HALLOSS)") //Not a human, or not a taur, generic message only if(!H || !isTaurTail(H.tail_style)) @@ -306,7 +306,7 @@ var/const/RESIZE_A_SMALLTINY = (RESIZE_SMALL + RESIZE_TINY) / 2 for(var/obj/item/organ/external/I in Ht.organs) I.take_damage(calculated_damage, 0) // 5 damage min, 26.25 damage max, depending on size & RNG. If they're only stepped on once, the damage will (probably not...) heal over time. Ht.drip(0.1) - admin_attack_log(src, Ht, "crushed [Ht] under foot for [calculated_damage * 11] damage.", "Was crushed under foot by [Ht] for [calculated_damage * 11] damage.", "Crushed [Ht] for [damage * 10] damage.") + add_attack_logs(src,tmob,"Crushed underfoot") //Walking on I_HURT else @@ -318,7 +318,7 @@ var/const/RESIZE_A_SMALLTINY = (RESIZE_SMALL + RESIZE_TINY) / 2 for(var/obj/item/organ/I in Ht.organs) I.take_damage(calculated_damage, 0) Ht.drip(3) - admin_attack_log(src, Ht, "Crushed [Ht] under foot for [calculated_damage * 11] damage.", "Was crushed under foot by [Ht] for [calculated_damage * 11] damage.", "Crushed [Ht] for [calculated_damage * 11] damage.") + add_attack_logs(src,tmob,"Crushed underfoot") //Not a human, or not a taur, generic message only if(!H || !isTaurTail(H.tail_style)) @@ -347,7 +347,7 @@ var/const/RESIZE_A_SMALLTINY = (RESIZE_SMALL + RESIZE_TINY) / 2 forceMove(tmob.loc) //Log it for admins (still a mechanical attack due to the pin) - admin_attack_log(src, tmob, "Pinned (grab w/ shoes) [tmob.name] under foot.", "Was pinned (grab w/ shoes) under foot by [src.name].", "Pinned (grab w/ shoes) [tmob.name] under foot.") + add_attack_logs(src,tmob,"Pinned (grab w/ shoes) underfoot") //Not a human, or not a taur while wearing shoes = no grab if(!H || (!isTaurTail(H.tail_style) && H.shoes))