From 50450698995300a65a4501010a8730c1ef6ae136 Mon Sep 17 00:00:00 2001 From: Razharas Date: Sun, 15 Dec 2013 05:23:50 +0400 Subject: [PATCH 1/5] More logging and fingerprints Added helper proc for general logging, replaced some logging with this proc Pulling now leaves fingerprints Judging by the opinions in the thread will add some more logging/fingerprints --- code/__HELPERS/mobs.dm | 22 ++++++++++++++++--- code/_onclick/item_attack.dm | 4 +--- .../living/carbon/human/human_attackhand.dm | 14 ++++++------ code/modules/mob/mob.dm | 1 + 4 files changed, 28 insertions(+), 13 deletions(-) diff --git a/code/__HELPERS/mobs.dm b/code/__HELPERS/mobs.dm index fa7d1cdd380..d684c524397 100644 --- a/code/__HELPERS/mobs.dm +++ b/code/__HELPERS/mobs.dm @@ -34,9 +34,9 @@ proc/random_name(gender, attempts_to_find_unique_name=10) for(var/i=1, i<=attempts_to_find_unique_name, i++) if(gender==FEMALE) . = capitalize(pick(first_names_female)) + " " + capitalize(pick(last_names)) else . = capitalize(pick(first_names_male)) + " " + capitalize(pick(last_names)) - + if(i != attempts_to_find_unique_name && !findname(.)) - break + break proc/random_skin_tone() return pick(skin_tones) @@ -67,4 +67,20 @@ proc/age2agedescription(age) if(45 to 60) return "middle-aged" if(60 to 70) return "aging" if(70 to INFINITY) return "elderly" - else return "unknown" \ No newline at end of file + else return "unknown" + +/* +Proc for attack log creation, because really why not +1 argument is the actor +2 argument is the target of action +3 is the description of action(like punched, throwed, or any other verb) +4 is the tool with which the action was made(usually item) +5 is additional information, anything that needs to be added +*/ + +proc/add_logs(mob/user, mob/target, what_done, var/object=null, var/addition=null) + if(ismob(user)) + user.attack_log += text("\[[time_stamp()]\] Has [what_done] [target.name][ismob(target) ? "([target.ckey])" : ""][object ? " with [object]" : " "][addition]") + if(ismob(target)) + target.attack_log += text("\[[time_stamp()]\] Has been [what_done] by [user.name][ismob(user) ? "([user.ckey])" : ""][object ? " with [object]" : " "][addition]") + log_attack("[user.name][ismob(user) ? "([user.ckey])" : ""] [what_done] [target.name][ismob(target) ? "([target.ckey])" : ""][object ? " with [object]" : " "][addition]") \ No newline at end of file diff --git a/code/_onclick/item_attack.dm b/code/_onclick/item_attack.dm index 25ccdb506b4..3bc540be44d 100644 --- a/code/_onclick/item_attack.dm +++ b/code/_onclick/item_attack.dm @@ -35,9 +35,7 @@ user.lastattacked = M M.lastattacker = user - user.attack_log += "\[[time_stamp()]\] Attacked [M.name] ([M.ckey]) with [name] (INTENT: [uppertext(user.a_intent)]) (DAMTYE: [uppertext(damtype)])" - M.attack_log += "\[[time_stamp()]\] Attacked by [user.name] ([user.ckey]) with [name] (INTENT: [uppertext(user.a_intent)]) (DAMTYE: [uppertext(damtype)])" - log_attack("[user.name] ([user.ckey]) attacked [M.name] ([M.ckey]) with [name] (INTENT: [uppertext(user.a_intent)]) (DAMTYE: [uppertext(damtype)])" ) + add_logs(user, M, "attacked", src.name, "(INTENT: [uppertext(user.a_intent)]) (DAMTYE: [uppertext(damtype)])") //spawn(1800) // this wont work right // M.lastattacker = null diff --git a/code/modules/mob/living/carbon/human/human_attackhand.dm b/code/modules/mob/living/carbon/human/human_attackhand.dm index 4125971cf02..79637a8470c 100644 --- a/code/modules/mob/living/carbon/human/human_attackhand.dm +++ b/code/modules/mob/living/carbon/human/human_attackhand.dm @@ -3,6 +3,7 @@ return if((M != src) && check_shields(0, M.name)) + add_logs(src, M, "attenmped to touch") visible_message("[M] attempted to touch [src]!") return 0 @@ -10,6 +11,7 @@ if("help") if(health >= 0) help_shake_act(M) + add_logs(src, M, "shaked") return 1 //CPR @@ -21,6 +23,7 @@ return 0 if(cpr_time < world.time + 30) + add_logs(src, M, "CPRed") visible_message("[M] is trying to perform CPR on [src]!") if(!do_mob(M, src)) return 0 @@ -33,6 +36,8 @@ src << "You feel a breath of fresh air enter your lungs. It feels good." if("grab") + add_logs(src, M, "grabbed", addition="passively") + if(M == src || anchored) return 0 if(w_uniform) @@ -53,10 +58,7 @@ return 1 if("harm") - M.attack_log += text("\[[time_stamp()]\] Punched [src.name] ([src.ckey])") - src.attack_log += text("\[[time_stamp()]\] Has been punched by [M.name] ([M.ckey])") - - log_attack("[M.name] ([M.ckey]) punched [src.name] ([src.ckey])") + add_logs(src, M, "punched") var/attack_verb = "punch" if(lying) @@ -105,9 +107,7 @@ forcesay(hit_appends) if("disarm") - M.attack_log += text("\[[time_stamp()]\] Disarmed [src.name] ([src.ckey])") - src.attack_log += text("\[[time_stamp()]\] Has been disarmed by [M.name] ([M.ckey])") - log_attack("[M.name] ([M.ckey]) disarmed [src.name] ([src.ckey])") + add_logs(src, M, "disarmed") if(w_uniform) w_uniform.add_fingerprint(M) diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index d9941e57a35..a930f07f26f 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -528,6 +528,7 @@ var/list/slot_equipment_priority = list( \ if ( !AM || !usr || src==AM || !isturf(src.loc) ) //if there's no person pulling OR the person is pulling themself OR the object being pulled is inside something: abort! return if (!( AM.anchored )) + AM.add_fingerprint(src) // If we're pulling something then drop what we're currently pulling and pull this instead. if(pulling) From 4dfbe1cbf7147021a58c3889c4c721e43d8696cc Mon Sep 17 00:00:00 2001 From: Razharas Date: Sun, 15 Dec 2013 07:26:54 +0400 Subject: [PATCH 2/5] Mistook the mobs in human_attackhand, fixed now Happy little accident --- .../mob/living/carbon/human/human_attackhand.dm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/code/modules/mob/living/carbon/human/human_attackhand.dm b/code/modules/mob/living/carbon/human/human_attackhand.dm index 79637a8470c..859da7eab32 100644 --- a/code/modules/mob/living/carbon/human/human_attackhand.dm +++ b/code/modules/mob/living/carbon/human/human_attackhand.dm @@ -3,7 +3,7 @@ return if((M != src) && check_shields(0, M.name)) - add_logs(src, M, "attenmped to touch") + add_logs(M, src, "attenmped to touch") visible_message("[M] attempted to touch [src]!") return 0 @@ -11,7 +11,7 @@ if("help") if(health >= 0) help_shake_act(M) - add_logs(src, M, "shaked") + add_logs(M, src, "shaked") return 1 //CPR @@ -36,7 +36,7 @@ src << "You feel a breath of fresh air enter your lungs. It feels good." if("grab") - add_logs(src, M, "grabbed", addition="passively") + add_logs(M, src, "grabbed", addition="passively") if(M == src || anchored) return 0 @@ -58,7 +58,7 @@ return 1 if("harm") - add_logs(src, M, "punched") + add_logs(M, src, "punched") var/attack_verb = "punch" if(lying) @@ -107,7 +107,7 @@ forcesay(hit_appends) if("disarm") - add_logs(src, M, "disarmed") + add_logs(M, src, "disarmed") if(w_uniform) w_uniform.add_fingerprint(M) From f2e0e5a1932d8ce5ef637dfc974245cba2d05116 Mon Sep 17 00:00:00 2001 From: Razharas Date: Sun, 15 Dec 2013 20:58:28 +0400 Subject: [PATCH 3/5] Fixed minor typos and more use of new proc Removed previously added ling logging proc, replaced with new one Fixed some language Fixed help and grab intent logging when you do it to yourself --- .../gamemodes/changeling/changeling_powers.dm | 17 ++++++----------- .../mob/living/carbon/human/human_attackhand.dm | 10 ++++++---- 2 files changed, 12 insertions(+), 15 deletions(-) diff --git a/code/game/gamemodes/changeling/changeling_powers.dm b/code/game/gamemodes/changeling/changeling_powers.dm index c909f9ec6bc..eb336d00c50 100644 --- a/code/game/gamemodes/changeling/changeling_powers.dm +++ b/code/game/gamemodes/changeling/changeling_powers.dm @@ -532,11 +532,6 @@ var/list/datum/dna/hivemind_bank = list() //STINGS// //They get a pretty header because there's just so fucking many of them ;_; ////////// -/mob/living/carbon/proc/add_sting_logs(mob/T, sting_name, datum/dna/DNA) - src.attack_log += "\[[time_stamp()]\] Stung [T.name] ([T.ckey]) with [sting_name] sting[!DNA ? "." : ", giving him [DNA.real_name] appearance."]" - T.attack_log += "\[[time_stamp()]\] Was stung by [src.name] ([src.ckey]) with [sting_name] sting[!DNA ? "." : ", and took [DNA.real_name] appearance."]" - log_attack("[src.name] ([src.ckey]) stung [T.name] ([T.ckey]) with [sting_name] sting[!DNA ? "." : ", giving him [DNA.real_name] appearance."]" ) - /mob/living/carbon/proc/set_sting(A, icon, dna=null) //setting the sting and ui icon for it src << "We prepare our sting, use alt+click on target to sting them." src.mind.changeling.chosen_sting = A @@ -585,7 +580,7 @@ var/list/datum/dna/hivemind_bank = list() set_sting(/mob/living/carbon/proc/sting_effect_trasnform, "sting_transform", D) /mob/living/carbon/proc/sting_effect_trasnform(mob/living/carbon/T) - add_sting_logs(T, "transformation", src.mind.changeling.chosen_dna) + add_logs(src, T, "stinged", "transformation sting", "new identity is [src.mind.changeling.chosen_dna.real_name]") if(!sting_can_reach(T, 40)) return 0 if((HUSK in T.mutations) || !check_dna_integrity(T)) @@ -607,7 +602,7 @@ var/list/datum/dna/hivemind_bank = list() set_sting(/mob/living/carbon/proc/sting_effect_extract, "sting_extract") /mob/living/carbon/proc/sting_effect_extract(mob/living/carbon/T) - add_sting_logs(T, "extracting") + add_logs(src, T, "stinged", "extraction sting") if(!sting_can_reach(T, 25)) return 0 if(src.mind.changeling.can_absorb_dna(T, usr)) @@ -626,7 +621,7 @@ var/list/datum/dna/hivemind_bank = list() set_sting(/mob/living/carbon/proc/sting_effect_mute, "sting_mute") /mob/living/carbon/proc/sting_effect_mute(mob/living/carbon/T) - add_sting_logs(T, "mute") + add_logs(src, T, "stinged", "mute sting") if(!sting_can_reach(T, 20)) return 0 T.silent += 30 @@ -641,7 +636,7 @@ var/list/datum/dna/hivemind_bank = list() set_sting(/mob/living/carbon/proc/sting_effect_blind, "sting_blind") /mob/living/carbon/proc/sting_effect_blind(mob/living/carbon/T) - add_sting_logs(T, "blind") + add_logs(src, T, "stinged", "blind sting") if(!sting_can_reach(T, 25)) return 0 T << "Your eyes burn horrifically!" @@ -659,7 +654,7 @@ var/list/datum/dna/hivemind_bank = list() set_sting(/mob/living/carbon/proc/sting_effect_lsd, "sting_lsd") /mob/living/carbon/proc/sting_effect_lsd(mob/living/carbon/T) - add_sting_logs(T, "LSD") + add_logs(src, T, "stinged", "LSD sting") if(!sting_can_reach(T, 5)) return 0 spawn(rand(300,600)) @@ -675,7 +670,7 @@ var/list/datum/dna/hivemind_bank = list() set_sting(/mob/living/carbon/proc/sting_effect_cryo, "sting_cryo") /mob/living/carbon/proc/sting_effect_cryo(mob/living/carbon/T) - add_sting_logs(T, "cryo") + add_logs(src, T, "stinged", "cryo sting") if(!sting_can_reach(T, 15)) return 0 if(T.reagents) diff --git a/code/modules/mob/living/carbon/human/human_attackhand.dm b/code/modules/mob/living/carbon/human/human_attackhand.dm index 859da7eab32..940ce1091c4 100644 --- a/code/modules/mob/living/carbon/human/human_attackhand.dm +++ b/code/modules/mob/living/carbon/human/human_attackhand.dm @@ -3,7 +3,7 @@ return if((M != src) && check_shields(0, M.name)) - add_logs(M, src, "attenmped to touch") + add_logs(M, src, "attempted to touch") visible_message("[M] attempted to touch [src]!") return 0 @@ -11,7 +11,8 @@ if("help") if(health >= 0) help_shake_act(M) - add_logs(M, src, "shaked") + if(src != M) + add_logs(M, src, "shaked") return 1 //CPR @@ -36,10 +37,11 @@ src << "You feel a breath of fresh air enter your lungs. It feels good." if("grab") - add_logs(M, src, "grabbed", addition="passively") - if(M == src || anchored) return 0 + + add_logs(M, src, "grabbed", addition="passively") + if(w_uniform) w_uniform.add_fingerprint(M) From b88af75828604684b253be821788e23825518bcd Mon Sep 17 00:00:00 2001 From: Razharas Date: Sun, 15 Dec 2013 23:12:56 +0400 Subject: [PATCH 4/5] And some more mistakes fixings Yeah i suck at english sorry --- code/game/gamemodes/changeling/changeling_powers.dm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/code/game/gamemodes/changeling/changeling_powers.dm b/code/game/gamemodes/changeling/changeling_powers.dm index eb336d00c50..fefaabe3b0c 100644 --- a/code/game/gamemodes/changeling/changeling_powers.dm +++ b/code/game/gamemodes/changeling/changeling_powers.dm @@ -580,7 +580,7 @@ var/list/datum/dna/hivemind_bank = list() set_sting(/mob/living/carbon/proc/sting_effect_trasnform, "sting_transform", D) /mob/living/carbon/proc/sting_effect_trasnform(mob/living/carbon/T) - add_logs(src, T, "stinged", "transformation sting", "new identity is [src.mind.changeling.chosen_dna.real_name]") + add_logs(src, T, "stung", "transformation sting", "new identity is [src.mind.changeling.chosen_dna.real_name]") if(!sting_can_reach(T, 40)) return 0 if((HUSK in T.mutations) || !check_dna_integrity(T)) @@ -602,7 +602,7 @@ var/list/datum/dna/hivemind_bank = list() set_sting(/mob/living/carbon/proc/sting_effect_extract, "sting_extract") /mob/living/carbon/proc/sting_effect_extract(mob/living/carbon/T) - add_logs(src, T, "stinged", "extraction sting") + add_logs(src, T, "stung", "extraction sting") if(!sting_can_reach(T, 25)) return 0 if(src.mind.changeling.can_absorb_dna(T, usr)) @@ -621,7 +621,7 @@ var/list/datum/dna/hivemind_bank = list() set_sting(/mob/living/carbon/proc/sting_effect_mute, "sting_mute") /mob/living/carbon/proc/sting_effect_mute(mob/living/carbon/T) - add_logs(src, T, "stinged", "mute sting") + add_logs(src, T, "stung", "mute sting") if(!sting_can_reach(T, 20)) return 0 T.silent += 30 @@ -636,7 +636,7 @@ var/list/datum/dna/hivemind_bank = list() set_sting(/mob/living/carbon/proc/sting_effect_blind, "sting_blind") /mob/living/carbon/proc/sting_effect_blind(mob/living/carbon/T) - add_logs(src, T, "stinged", "blind sting") + add_logs(src, T, "stung", "blind sting") if(!sting_can_reach(T, 25)) return 0 T << "Your eyes burn horrifically!" @@ -654,7 +654,7 @@ var/list/datum/dna/hivemind_bank = list() set_sting(/mob/living/carbon/proc/sting_effect_lsd, "sting_lsd") /mob/living/carbon/proc/sting_effect_lsd(mob/living/carbon/T) - add_logs(src, T, "stinged", "LSD sting") + add_logs(src, T, "stung", "LSD sting") if(!sting_can_reach(T, 5)) return 0 spawn(rand(300,600)) @@ -670,7 +670,7 @@ var/list/datum/dna/hivemind_bank = list() set_sting(/mob/living/carbon/proc/sting_effect_cryo, "sting_cryo") /mob/living/carbon/proc/sting_effect_cryo(mob/living/carbon/T) - add_logs(src, T, "stinged", "cryo sting") + add_logs(src, T, "stung", "cryo sting") if(!sting_can_reach(T, 15)) return 0 if(T.reagents) From 358a85eb3db8a71f7bd4d553b43cbdac23d5de80 Mon Sep 17 00:00:00 2001 From: Razharas Date: Tue, 17 Dec 2013 22:56:04 +0400 Subject: [PATCH 5/5] Completed the transition to a new proc All the logging i have found in the code was changed to use the proc(maybe i missed something) Killed all runtimes found so far Proc now handles all the checks, no need to add checks in the body of object --- code/__HELPERS/mobs.dm | 18 ++++++++++-------- code/datums/wires/airlock.dm | 4 ++-- code/game/gamemodes/cult/ritual.dm | 7 +------ code/game/gamemodes/wizard/soulstone.dm | 6 +----- code/game/machinery/bots/bots.dm | 2 +- code/game/machinery/doors/airlock.dm | 4 ++-- code/game/machinery/kitchen/gibber.dm | 4 +--- code/game/machinery/turrets.dm | 2 +- code/game/mecha/combat/combat.dm | 4 +--- .../mecha/equipment/tools/medical_tools.dm | 11 ++--------- code/game/mecha/equipment/tools/tools.dm | 12 +++--------- code/game/mecha/equipment/weapons/weapons.dm | 8 +------- code/game/mecha/mecha.dm | 4 ++-- code/game/objects/items.dm | 7 ++----- code/game/objects/items/devices/aicard.dm | 6 +----- code/game/objects/items/devices/flash.dm | 5 +---- code/game/objects/items/devices/flashlight.dm | 4 +--- .../game/objects/items/devices/laserpointer.dm | 13 +++---------- .../objects/items/devices/traitordevices.dm | 2 +- code/game/objects/items/robot/robot_items.dm | 4 ---- .../game/objects/items/weapons/dna_injector.dm | 9 ++------- code/game/objects/items/weapons/explosives.dm | 5 ++--- code/game/objects/items/weapons/handcuffs.dm | 5 +---- .../items/weapons/implants/implanter.dm | 5 +---- code/game/objects/items/weapons/kitchen.dm | 10 ++-------- code/game/objects/items/weapons/melee/misc.dm | 5 +---- .../objects/items/weapons/storage/bible.dm | 6 +----- .../objects/items/weapons/storage/briefcase.dm | 6 +----- code/game/objects/items/weapons/stunbaton.dm | 4 +--- code/modules/hydroponics/hydroitemcode.dm | 5 +---- .../mob/living/carbon/alien/larva/larva.dm | 3 +-- code/modules/mob/living/carbon/carbon.dm | 3 +-- code/modules/mob/living/carbon/human/human.dm | 3 +-- .../mob/living/carbon/metroid/metroid.dm | 3 +-- .../modules/mob/living/carbon/monkey/monkey.dm | 3 +-- code/modules/mob/living/living_defense.dm | 4 +--- code/modules/mob/living/silicon/ai/ai.dm | 3 +-- code/modules/mob/living/silicon/robot/robot.dm | 3 +-- .../mob/living/simple_animal/constructs.dm | 3 +-- .../mob/living/simple_animal/simple_animal.dm | 3 +-- code/modules/mob/mob_grab.dm | 8 ++------ code/modules/paperwork/pen.dm | 5 +---- code/modules/projectiles/projectile.dm | 9 +-------- .../reagents/reagent_containers/dropper.dm | 4 +--- .../reagent_containers/food/condiment.dm | 7 +------ .../reagents/reagent_containers/food/drinks.dm | 12 +++--------- .../reagent_containers/food/drinks/bottle.dm | 4 +--- .../reagents/reagent_containers/food/snacks.dm | 9 ++------- .../reagents/reagent_containers/glass.dm | 4 +--- .../reagents/reagent_containers/hypospray.dm | 5 +---- .../reagents/reagent_containers/pill.dm | 7 +------ .../reagents/reagent_containers/syringes.dm | 5 +---- code/modules/recycling/sortingmachinery.dm | 1 - code/modules/surgery/brain_removal.dm | 4 +--- code/modules/surgery/helpers.dm | 4 +--- code/modules/surgery/limb augmentation.dm | 4 +--- 56 files changed, 79 insertions(+), 231 deletions(-) diff --git a/code/__HELPERS/mobs.dm b/code/__HELPERS/mobs.dm index d684c524397..b5fab892896 100644 --- a/code/__HELPERS/mobs.dm +++ b/code/__HELPERS/mobs.dm @@ -74,13 +74,15 @@ Proc for attack log creation, because really why not 1 argument is the actor 2 argument is the target of action 3 is the description of action(like punched, throwed, or any other verb) -4 is the tool with which the action was made(usually item) -5 is additional information, anything that needs to be added +4 should it make adminlog note or not +5 is the tool with which the action was made(usually item) 5 and 6 are very similar(5 have "by " before it, that it) and are separated just to keep things in a bit more in order +6 is additional information, anything that needs to be added */ -proc/add_logs(mob/user, mob/target, what_done, var/object=null, var/addition=null) - if(ismob(user)) - user.attack_log += text("\[[time_stamp()]\] Has [what_done] [target.name][ismob(target) ? "([target.ckey])" : ""][object ? " with [object]" : " "][addition]") - if(ismob(target)) - target.attack_log += text("\[[time_stamp()]\] Has been [what_done] by [user.name][ismob(user) ? "([user.ckey])" : ""][object ? " with [object]" : " "][addition]") - log_attack("[user.name][ismob(user) ? "([user.ckey])" : ""] [what_done] [target.name][ismob(target) ? "([target.ckey])" : ""][object ? " with [object]" : " "][addition]") \ No newline at end of file +proc/add_logs(mob/user, mob/target, what_done, var/admin=1, var/object=null, var/addition=null) + if(user && ismob(user)) + user.attack_log += text("\[[time_stamp()]\] Has [what_done] [target ? "[target.name][target.ckey ? "([target.ckey])" : ""]" : "NON-EXISTANT SUBJECT"][object ? " with [object]" : " "][addition]") + if(target && ismob(target)) + target.attack_log += text("\[[time_stamp()]\] Has been [what_done] by [user ? "[user.name][user.ckey ? "([user.ckey])" : ""]" : "NON-EXISTANT SUBJECT"][object ? " with [object]" : " "][addition]") + if(admin) + log_attack("[user ? "[user.name][(ismob(user) && user.ckey) ? "([user.ckey])" : ""]" : "NON-EXISTANT SUBJECT"] [what_done] [target ? "[target.name][(ismob(target) && target.ckey)? "([target.ckey])" : ""]" : "NON-EXISTANT SUBJECT"][object ? " with [object]" : " "][addition]") \ No newline at end of file diff --git a/code/datums/wires/airlock.dm b/code/datums/wires/airlock.dm index bfb29aaa342..f8863b0569b 100644 --- a/code/datums/wires/airlock.dm +++ b/code/datums/wires/airlock.dm @@ -97,7 +97,7 @@ var/const/AIRLOCK_WIRE_LIGHT = 2048 //Cutting this wire electrifies the door, so that the next person to touch the door without insulated gloves gets electrocuted. if(A.secondsElectrified != -1) A.shockedby += text("\[[time_stamp()]\][usr](ckey:[usr.ckey])") - usr.attack_log += text("\[[time_stamp()]\] Electrified the [A.name] at [A.x] [A.y] [A.z]") + add_logs(usr, A, "electrified", admin=0, addition="at [A.x],[A.y],[A.z]") A.secondsElectrified = -1 else if(A.secondsElectrified == -1) @@ -163,7 +163,7 @@ var/const/AIRLOCK_WIRE_LIGHT = 2048 //one wire for electrifying the door. Sending a pulse through this electrifies the door for 30 seconds. if(A.secondsElectrified==0) A.shockedby += text("\[[time_stamp()]\][usr](ckey:[usr.ckey])") - usr.attack_log += text("\[[time_stamp()]\] Electrified the [A.name] at [A.x] [A.y] [A.z]") + add_logs(usr, A, "electrified", admin=0, addition="at [A.x],[A.y],[A.z]") A.secondsElectrified = 30 spawn(10) if(A) diff --git a/code/game/gamemodes/cult/ritual.dm b/code/game/gamemodes/cult/ritual.dm index 12df5237a1f..31b7ea0c884 100644 --- a/code/game/gamemodes/cult/ritual.dm +++ b/code/game/gamemodes/cult/ritual.dm @@ -460,12 +460,7 @@ var/engwords = list("travel", "blood", "join", "hell", "destroy", "technology", // usr << browse(null, "window=tank") attack(mob/living/M as mob, mob/living/user as mob) - M.attack_log += text("\[[time_stamp()]\] Has had the [name] used on him by [user.name] ([user.ckey])") - user.attack_log += text("\[[time_stamp()]\] Used [name] on [M.name] ([M.ckey])") - - log_attack("[user.name] ([user.ckey]) used [name] on [M.name] ([M.ckey])") - - + add_logs(user, M, "smacked", object=src) if(istype(M,/mob/dead)) M.invisibility = 0 user.visible_message( \ diff --git a/code/game/gamemodes/wizard/soulstone.dm b/code/game/gamemodes/wizard/soulstone.dm index c91452b7992..5db247ee458 100644 --- a/code/game/gamemodes/wizard/soulstone.dm +++ b/code/game/gamemodes/wizard/soulstone.dm @@ -18,11 +18,7 @@ return ..() if(istype(M, /mob/living/carbon/human/dummy)) return..() - M.attack_log += text("\[[time_stamp()]\] Has had their soul captured with [src.name] by [user.name] ([user.ckey])") - user.attack_log += text("\[[time_stamp()]\] Used the [src.name] to capture the soul of [M.name] ([M.ckey])") - - log_attack("[user.name] ([user.ckey]) used the [src.name] to capture the soul of [M.name] ([M.ckey])") - + add_logs(user, M, "captured [M.name]'s soul", object=src) transfer_soul("VICTIM", M, user) return diff --git a/code/game/machinery/bots/bots.dm b/code/game/machinery/bots/bots.dm index 8ef8c76f62c..1d752a03258 100644 --- a/code/game/machinery/bots/bots.dm +++ b/code/game/machinery/bots/bots.dm @@ -64,7 +64,7 @@ if(M.melee_damage_upper == 0) return src.health -= M.melee_damage_upper src.visible_message("\red [M] has [M.attacktext] [src]!") - M.attack_log += text("\[[time_stamp()]\] attacked [src.name]") + add_logs(M, src, "attacked", admin=0) if(prob(10)) new /obj/effect/decal/cleanable/oil(src.loc) healthcheck() diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 28bd134663f..65565f86b73 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -764,7 +764,7 @@ About the new airlock wires panel: usr << text("The door is already electrified. You can't re-electrify it while it's already electrified.
\n") else shockedby += text("\[[time_stamp()]\][usr](ckey:[usr.ckey])") - usr.attack_log += text("\[[time_stamp()]\] Electrified the [name] at [x] [y] [z]") + add_logs(usr, src, "electrified", admin=0, addition="at [x],[y],[z]") src.secondsElectrified = 30 spawn(10) while (src.secondsElectrified>0) @@ -783,7 +783,7 @@ About the new airlock wires panel: usr << text("The door is already electrified. You can't re-electrify it while it's already electrified.
\n") else shockedby += text("\[[time_stamp()]\][usr](ckey:[usr.ckey])") - usr.attack_log += text("\[[time_stamp()]\] Electrified the [name] at [x] [y] [z]") + add_logs(usr, src, "electrified", admin=0, addition="at [x],[y],[z]") src.secondsElectrified = -1 if (8) // Not in order >.> diff --git a/code/game/machinery/kitchen/gibber.dm b/code/game/machinery/kitchen/gibber.dm index 0e6306bc13a..da354f5261e 100644 --- a/code/game/machinery/kitchen/gibber.dm +++ b/code/game/machinery/kitchen/gibber.dm @@ -153,9 +153,7 @@ src.occupant.reagents.trans_to (newmeat, round (sourcetotalreagents / totalslabs, 1)) // Transfer all the reagents from the allmeat[i] = newmeat - src.occupant.attack_log += "\[[time_stamp()]\] Was gibbed by [user]/[user.ckey]" //One shall not simply gib a mob unnoticed! - user.attack_log += "\[[time_stamp()]\] Gibbed [src.occupant]/[src.occupant.ckey]" - log_attack("\[[time_stamp()]\] [user]/[user.ckey] gibbed [src.occupant]/[src.occupant.ckey]") + add_logs(user, occupant, "gibbed") src.occupant.death(1) src.occupant.ghostize() del(src.occupant) diff --git a/code/game/machinery/turrets.dm b/code/game/machinery/turrets.dm index 39da02b0e1d..0ebb0332c89 100644 --- a/code/game/machinery/turrets.dm +++ b/code/game/machinery/turrets.dm @@ -408,7 +408,7 @@ if(M.melee_damage_upper == 0) return if(!(stat & BROKEN)) visible_message("\red [M] [M.attacktext] [src]!") - M.attack_log += text("\[[time_stamp()]\] attacked [src.name]") + add_logs(M, src, "attacked", admin=0) //src.attack_log += text("\[[time_stamp()]\] was attacked by [M.name] ([M.ckey])") src.health -= M.melee_damage_upper if (src.health <= 0) diff --git a/code/game/mecha/combat/combat.dm b/code/game/mecha/combat/combat.dm index 47a9dceb58f..8bc32a61042 100644 --- a/code/game/mecha/combat/combat.dm +++ b/code/game/mecha/combat/combat.dm @@ -79,9 +79,7 @@ M.updatehealth() src.occupant_message("You hit [target].") src.visible_message("[src.name] hits [target].") - occupant.attack_log += "\[[time_stamp()]\] Attacked [M.name] ([M.ckey]) with [name] (INTENT: [uppertext(occupant.a_intent)]) (DAMTYE: [uppertext(damtype)])" - M.attack_log += "\[[time_stamp()]\] Attacked by [occupant.name] ([occupant.ckey]) with [name] (INTENT: [uppertext(occupant.a_intent)]) (DAMTYE: [uppertext(damtype)])" - log_attack("[occupant.name] ([occupant.ckey]) attacked [M.name] ([M.ckey]) with [name] (INTENT: [uppertext(occupant.a_intent)]) (DAMTYE: [uppertext(src.damtype)])" ) + add_logs(occupant, M, "attacked", object=src, addition="(INTENT: [uppertext(occupant.a_intent)]) (DAMTYE: [uppertext(damtype)])") else step_away(M,src) src.occupant_message("You push [target] out of the way.") diff --git a/code/game/mecha/equipment/tools/medical_tools.dm b/code/game/mecha/equipment/tools/medical_tools.dm index 596286850fc..26b63577644 100644 --- a/code/game/mecha/equipment/tools/medical_tools.dm +++ b/code/game/mecha/equipment/tools/medical_tools.dm @@ -195,9 +195,7 @@ if(to_inject && occupant.reagents.get_reagent_amount(R.id) + to_inject <= inject_amount*2) occupant_message("Injecting [occupant] with [to_inject] units of [R.name].") log_message("Injecting [occupant] with [to_inject] units of [R.name].") - occupant.attack_log += "\[[time_stamp()]\] Has been injected with [name] ([R] - [to_inject] units) by [chassis.occupant.name] ([chassis.occupant.ckey])" - chassis.occupant.attack_log += "\[[time_stamp()]\] Used the [name] ([R] - [to_inject] units) to inject [occupant.name] ([occupant.ckey])" - log_attack("[chassis.occupant.name] ([chassis.occupant.ckey]) used the [name] ([R] - [to_inject] units) to inject [occupant.name] ([occupant.ckey])") + add_logs(chassis.occupant, occupant, "injected", object="[name] ([R] - [to_inject] units)") SG.reagents.trans_id_to(occupant,R.id,to_inject) update_equip_info() return @@ -468,8 +466,6 @@ S.icon_state = "syringeproj" playsound(chassis, 'sound/items/syringeproj.ogg', 50, 1) log_message("Launched [S] from [src], targeting [target].") - var/O = "[chassis.occupant]" - var/C = "[chassis.occupant.ckey]" var/mob/originaloccupant = chassis.occupant spawn(-1) src = null //if src is deleted, still process the syringe @@ -492,10 +488,7 @@ S.reagents.trans_to(M, S.reagents.total_volume) M.take_organ_damage(2) S.visible_message(" [M] was hit by the syringe!") - M.attack_log += "\[[time_stamp()]\] [O]/[C] shot [M]/[M.ckey] with a syringegun ([R])" - if(originaloccupant) - originaloccupant.attack_log += "\[[time_stamp()]\] [originaloccupant]/[originaloccupant.ckey] shot [M]/[M.ckey] with a syringegun ([R])" - log_attack("[O] ([C]) shot [M] ([M.ckey]) with a syringegun ([R])") + add_logs(originaloccupant, M, "shot", object="syringegun") break else if(S.loc == trg) S.icon_state = initial(S.icon_state) diff --git a/code/game/mecha/equipment/tools/tools.dm b/code/game/mecha/equipment/tools/tools.dm index 2e473dfbc92..45af1887d34 100644 --- a/code/game/mecha/equipment/tools/tools.dm +++ b/code/game/mecha/equipment/tools/tools.dm @@ -54,9 +54,7 @@ M.updatehealth() occupant_message("\red You squeeze [target] with [src.name]. Something cracks.") chassis.visible_message("\red [chassis] squeezes [target].") - chassis.occupant.attack_log += "\[[time_stamp()]\] Attacked [M.name] ([M.ckey]) with [name] (INTENT: [uppertext(chassis.occupant.a_intent)]) (DAMTYE: [uppertext(damtype)])" - M.attack_log += "\[[time_stamp()]\] Attacked by [chassis.occupant.name] ([chassis.occupant.ckey]) with [name] (INTENT: [uppertext(chassis.occupant.a_intent)]) (DAMTYE: [uppertext(damtype)])" - log_attack("[chassis.occupant.name] ([chassis.occupant.ckey]) attacked [M.name] ([M.ckey]) with [name] (INTENT: [uppertext(chassis.occupant.a_intent)]) (DAMTYE: [uppertext(src.damtype)])" ) + add_logs(chassis.occupant, M, "attacked", object="[name]", addition="(INTENT: [uppertext(chassis.occupant.a_intent)]) (DAMTYE: [uppertext(damtype)])") else step_away(M,chassis) occupant_message("You push [target] out of the way.") @@ -115,9 +113,7 @@ log_message("Drilled through [target]") if(ismob(target)) var/mob/M = target - chassis.occupant.attack_log += "\[[time_stamp()]\] Attacked [M.name] ([M.ckey]) with [name] (INTENT: [uppertext(chassis.occupant.a_intent)]) (DAMTYE: [uppertext(damtype)])" - M.attack_log += "\[[time_stamp()]\] Attacked by [chassis.occupant.name] ([chassis.occupant.ckey]) with [name] (INTENT: [uppertext(chassis.occupant.a_intent)]) (DAMTYE: [uppertext(damtype)])" - log_attack("[chassis.occupant.name] ([chassis.occupant.ckey]) attacked [M.name] ([M.ckey]) with [name] (INTENT: [uppertext(chassis.occupant.a_intent)]) (DAMTYE: [uppertext(src.damtype)])" ) + add_logs(chassis.occupant, M, "attacked", object="[name]", addition="(INTENT: [uppertext(chassis.occupant.a_intent)]) (DAMTYE: [uppertext(damtype)])") target.ex_act(2) return 1 @@ -177,9 +173,7 @@ log_message("Drilled through [target]") if(ismob(target)) var/mob/M = target - chassis.occupant.attack_log += "\[[time_stamp()]\] Attacked [M.name] ([M.ckey]) with [name] (INTENT: [uppertext(chassis.occupant.a_intent)]) (DAMTYE: [uppertext(damtype)])" - M.attack_log += "\[[time_stamp()]\] Attacked by [chassis.occupant.name] ([chassis.occupant.ckey]) with [name] (INTENT: [uppertext(chassis.occupant.a_intent)]) (DAMTYE: [uppertext(damtype)])" - log_attack("[chassis.occupant.name] ([chassis.occupant.ckey]) attacked [M.name] ([M.ckey]) with [name] (INTENT: [uppertext(chassis.occupant.a_intent)]) (DAMTYE: [uppertext(src.damtype)])" ) + add_logs(chassis.occupant, M, "attacked", object="[name]", addition="(INTENT: [uppertext(chassis.occupant.a_intent)]) (DAMTYE: [uppertext(damtype)])") target.ex_act(2) return 1 diff --git a/code/game/mecha/equipment/weapons/weapons.dm b/code/game/mecha/equipment/weapons/weapons.dm index 9e925a7c83c..7f11042aff4 100644 --- a/code/game/mecha/equipment/weapons/weapons.dm +++ b/code/game/mecha/equipment/weapons/weapons.dm @@ -84,13 +84,7 @@ src.life -= 10 if(ismob(A)) var/mob/M = A - if(istype(firer, /mob)) - M.attack_log += "\[[time_stamp()]\] [firer]/[firer.ckey] shot [M]/[M.ckey] with a [src]" - firer.attack_log += "\[[time_stamp()]\] [firer]/[firer.ckey] shot [M]/[M.ckey] with a [src]" - log_attack("[firer] ([firer.ckey]) shot [M] ([M.ckey]) with a [src]") - else - M.attack_log += "\[[time_stamp()]\] UNKNOWN SUBJECT (No longer exists) shot [M]/[M.ckey] with a [src]" - log_attack("UNKNOWN shot [M] ([M.ckey]) with a [src]") + add_logs(firer, M, "shot", object="[src]") if(life <= 0) del(src) return diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index 384b5731552..770d34972c6 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -458,13 +458,13 @@ src.take_damage(damage) src.check_for_internal_damage(list(MECHA_INT_TEMP_CONTROL,MECHA_INT_TANK_BREACH,MECHA_INT_CONTROL_LOST)) visible_message("\red [user] [user.attacktext] [src]!") - user.attack_log += text("\[[time_stamp()]\] attacked [src.name]") + add_logs(user, src, "attacked", admin=0) else src.log_append_to_last("Armor saved.") playsound(src.loc, 'sound/weapons/slash.ogg', 50, 1, -1) src.occupant_message("\blue The [user]'s attack is stopped by the armor.") visible_message("\blue The [user] rebounds off [src.name]'s armor!") - user.attack_log += text("\[[time_stamp()]\] attacked [src.name]") + add_logs(user, src, "attacked", admin=0) return /obj/mecha/attack_tk() diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index cbc47d65df8..0d161121de8 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -195,7 +195,7 @@ rejections += I.type // therefore full bags are still a little spammy failure = 1 continue - + success = 1 S.handle_item_insertion(I, 1) //The 1 stops the "You put the [src] into [S]" insertion message from being displayed. if(success && !failure) @@ -488,10 +488,7 @@ user << "\red You cannot locate any eyes on this creature!" return - user.attack_log += "\[[time_stamp()]\] Attacked [M.name] ([M.ckey]) with [src.name] (INTENT: [uppertext(user.a_intent)])" - M.attack_log += "\[[time_stamp()]\] Attacked by [user.name] ([user.ckey]) with [src.name] (INTENT: [uppertext(user.a_intent)])" - - log_attack(" [user.name] ([user.ckey]) attacked [M.name] ([M.ckey]) with [src.name] (INTENT: [uppertext(user.a_intent)])") + add_logs(user, M, "attacked", object="[src.name]", addition="(INTENT: [uppertext(user.a_intent)])") src.add_fingerprint(user) //if((CLUMSY in user.mutations) && prob(50)) diff --git a/code/game/objects/items/devices/aicard.dm b/code/game/objects/items/devices/aicard.dm index 9da2de88f06..abc5d6b2fdd 100644 --- a/code/game/objects/items/devices/aicard.dm +++ b/code/game/objects/items/devices/aicard.dm @@ -14,11 +14,7 @@ if(!istype(M, /mob/living/silicon/ai))//If target is not an AI. return ..() - M.attack_log += text("\[[time_stamp()]\] Has been carded with [src.name] by [user.name] ([user.ckey])") - user.attack_log += text("\[[time_stamp()]\] Used the [src.name] to card [M.name] ([M.ckey])") - - log_attack("[user.name] ([user.ckey]) used the [src.name] to card [M.name] ([M.ckey])") - + add_logs(user, M, "carded", object="[src.name]") transfer_ai("AICORE", "AICARD", M, user) return diff --git a/code/game/objects/items/devices/flash.dm b/code/game/objects/items/devices/flash.dm index 6fe599cdc4c..5fa3f153db6 100644 --- a/code/game/objects/items/devices/flash.dm +++ b/code/game/objects/items/devices/flash.dm @@ -40,11 +40,8 @@ /obj/item/device/flash/attack(mob/living/M, mob/user) if(!user || !M) return //sanity - M.attack_log += text("\[[time_stamp()]\] Has been flashed (attempt) with [src.name] by [user.name] ([user.ckey])") - user.attack_log += text("\[[time_stamp()]\] Used the [src.name] to flash [M.name] ([M.ckey])") - - log_attack("[user.name] ([user.ckey]) Used the [src.name] to flash [M.name] ([M.ckey])") + add_logs(user, M, "flashed", object="[src.name]") if(!clown_check(user)) return if(broken) diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm index 732541f6d3d..9bb8d49df9e 100644 --- a/code/game/objects/items/devices/flashlight.dm +++ b/code/game/objects/items/devices/flashlight.dm @@ -235,9 +235,7 @@ "[user] blinks \the [src] at \the [A].") if(ismob(A)) var/mob/M = A - M.attack_log += "\[[time_stamp()]\] [user]/[user.ckey] attacked [M]/[M.ckey] with an EMP-light" - user.attack_log += "\[[time_stamp()]\] [user]/[user.ckey] attacked [M]/[M.ckey] with an EMP-light" - log_attack("[user] ([user.ckey]) attacked [M] ([M.ckey]) with an EMP-light") + add_logs(user, M, "attacked", object="EMP-light") emp_charges -= 1 else user << "The [src] is out of charges!" diff --git a/code/game/objects/items/devices/laserpointer.dm b/code/game/objects/items/devices/laserpointer.dm index bb327ce0160..061feddbdce 100644 --- a/code/game/objects/items/devices/laserpointer.dm +++ b/code/game/objects/items/devices/laserpointer.dm @@ -73,9 +73,7 @@ //20% chance to actually hit the eyes if(prob(20)) - C.attack_log += text("\[[time_stamp()]\] Has had a laser pointer shone in their eyes by [user.name] ([user.ckey])") - user.attack_log += text("\[[time_stamp()]\] Shone a laser pointer in the eyes of [C.name] ([C.ckey])") - log_attack("[user.name] ([user.ckey]) Shone a laser pointer in the eyes of [C.name] ([C.ckey])") + add_logs(user, C, "shone in the eyes", object="laser pointer") //eye target check outmsg = "You blind [C] by shining [src] in their eyes." @@ -127,10 +125,7 @@ S.Weaken(rand(5,10)) S << "Your sensors were overloaded by a laser!" outmsg = "You overload [S] by shining [src] at their sensors." - - S.attack_log += text("\[[time_stamp()]\] Has had a laser pointer shone in their eyes by [user.name] ([user.ckey])") - user.attack_log += text("\[[time_stamp()]\] Shone a laser pointer in the eyes of [S.name] ([S.ckey])") - log_attack("[user.name] ([user.ckey]) Shone a laser pointer in the eyes of [S.name] ([S.ckey])") + add_logs(user, S, "shone in the sensors", object="laser pointer") else outmsg = "You fail to overload [S] by shining [src] at their sensors." @@ -140,9 +135,7 @@ if(prob(20)) C.emp_act(1) outmsg = "You hit the lens of [C] with [src], temporarily disabling the camera!" - - log_admin("\[[time_stamp()]\] [user.name] ([user.ckey]) EMPd a camera with a laser pointer") - user.attack_log += text("\[[time_stamp()]\] [user.name] ([user.ckey]) EMPd a camera with a laser pointer") + add_logs(user, C, "EMPed", object="laser pointer") else outmsg = "You missed the lens of [C] with [src]." diff --git a/code/game/objects/items/devices/traitordevices.dm b/code/game/objects/items/devices/traitordevices.dm index 9cb58f01c7e..62eb994bfd4 100644 --- a/code/game/objects/items/devices/traitordevices.dm +++ b/code/game/objects/items/devices/traitordevices.dm @@ -36,7 +36,7 @@ effective or pretty fucking useless. user << "\red The mind batterer has been burnt out!" return - user.attack_log += text("\[[time_stamp()]\] Used [src] to knock down people in the area.") + add_logs(user, null, "knocked down people in the area", admin=0, object="[src]") for(var/mob/living/carbon/human/M in orange(10, user)) spawn() diff --git a/code/game/objects/items/robot/robot_items.dm b/code/game/objects/items/robot/robot_items.dm index cb3f99fa4c3..bb3bac188bd 100644 --- a/code/game/objects/items/robot/robot_items.dm +++ b/code/game/objects/items/robot/robot_items.dm @@ -10,10 +10,6 @@ icon_state = "shock" attack(mob/M as mob, mob/living/silicon/robot/user as mob) - M.attack_log += text("\[[time_stamp()]\] Has been attacked with [src.name] by [user.name] ([user.ckey])") - user.attack_log += text("\[[time_stamp()]\] Used the [src.name] to attack [M.name] ([M.ckey])") - - log_attack(" [user.name] ([user.ckey]) used the [src.name] to attack [M.name] ([M.ckey])") user.cell.charge -= 30 diff --git a/code/game/objects/items/weapons/dna_injector.dm b/code/game/objects/items/weapons/dna_injector.dm index c0a891ff786..55b4b82d0c0 100644 --- a/code/game/objects/items/weapons/dna_injector.dm +++ b/code/game/objects/items/weapons/dna_injector.dm @@ -44,10 +44,7 @@ if(!ishuman(user)) user << "You don't have the dexterity to do this!" return - - target.attack_log += "\[[time_stamp()]\] [user.name] ([user.ckey]) attempted to inject with [name]" - user.attack_log += "\[[time_stamp()]\] Used the [name] to attempt to inject [target.name] ([target.ckey])" - log_attack("[user.name] ([user.ckey]) used the [name] to attempt to inject [target.name] ([target.ckey])") + add_logs(user, target, "attempted to inject", object="[name]") if(target != user) target.visible_message("[user] is trying to inject [target] with [src]!", "[user] is trying to inject [target] with [src]!") @@ -58,9 +55,7 @@ else user << "You inject yourself with [src]." - target.attack_log += "\[[time_stamp()]\] Has been injected with [name] by [user.name] ([user.ckey])" - user.attack_log += "\[[time_stamp()]\] Used the [name] to inject [target.name] ([target.ckey])" - log_attack("[user.name] ([user.ckey]) used the [name] to inject [target.name] ([target.ckey])") + add_logs(user, target, "injected", object="[name]") user.drop_item() inject(target, user) //Now we actually do the heavy lifting. diff --git a/code/game/objects/items/weapons/explosives.dm b/code/game/objects/items/weapons/explosives.dm index bc10c25778e..5531dda9ca1 100644 --- a/code/game/objects/items/weapons/explosives.dm +++ b/code/game/objects/items/weapons/explosives.dm @@ -60,8 +60,7 @@ return user << "Planting explosives..." if(ismob(target)) - user.attack_log += "\[[time_stamp()]\] [user.real_name] tried planting [name] on [target:real_name] ([target:ckey])" - log_attack(" [user.real_name] ([user.ckey]) tried planting [name] on [target:real_name] ([target:ckey])") + add_logs(user, target, "tried to plant explosives on", object="[name]") user.visible_message("\red [user.name] is trying to plant some kind of explosive on [target.name]!") @@ -71,7 +70,7 @@ loc = null if (ismob(target)) - target:attack_log += "\[[time_stamp()]\] Had the [name] planted on them by [user.real_name] ([user.ckey])" + add_logs(user, target, "planted [name] on") user.visible_message("\red [user.name] finished planting an explosive on [target.name]!") target.overlays += image('icons/obj/assemblies.dmi', "plastic-explosive2") diff --git a/code/game/objects/items/weapons/handcuffs.dm b/code/game/objects/items/weapons/handcuffs.dm index 82bb759e4dc..bb3761a00e9 100644 --- a/code/game/objects/items/weapons/handcuffs.dm +++ b/code/game/objects/items/weapons/handcuffs.dm @@ -53,10 +53,7 @@ else feedback_add_details("handcuffs","H") - C.attack_log += text("\[[time_stamp()]\] Has been handcuffed (attempt) by [user.name] ([user.ckey])") - user.attack_log += text("\[[time_stamp()]\] Attempted to handcuff [C.name] ([C.ckey])") - log_attack("[user.name] ([user.ckey]) Attempted to handcuff [C.name] ([C.ckey])") - + add_logs(user, C, "handcuffed") /obj/item/weapon/handcuffs/cable name = "cable restraints" diff --git a/code/game/objects/items/weapons/implants/implanter.dm b/code/game/objects/items/weapons/implants/implanter.dm index c625b4c087d..8aba8b023fa 100644 --- a/code/game/objects/items/weapons/implants/implanter.dm +++ b/code/game/objects/items/weapons/implants/implanter.dm @@ -26,10 +26,7 @@ if(T && (M == user || do_after(user, 50))) if(user && M && (get_turf(M) == T) && src && imp) M.visible_message("[M] has been implanted by [user].") - M.attack_log += text("\[[time_stamp()]\] Implanted with [name] ([imp.name]) by [user.name] ([user.ckey])") - user.attack_log += text("\[[time_stamp()]\] Used the [name] ([imp.name]) to implant [M.name] ([M.ckey])") - log_attack("[user.name] ([user.ckey]) implanted [M.name] ([M.ckey]) with [name] (INTENT: [uppertext(user.a_intent)])") - + add_logs(user, M, "implanted", object="[name]") user << "You implanted the implant into [M]." if(imp.implanted(M)) imp.loc = M diff --git a/code/game/objects/items/weapons/kitchen.dm b/code/game/objects/items/weapons/kitchen.dm index 53bec2de81f..0e976b8038c 100644 --- a/code/game/objects/items/weapons/kitchen.dm +++ b/code/game/objects/items/weapons/kitchen.dm @@ -165,10 +165,8 @@ user.take_organ_damage(10) user.Paralyse(2) return - M.attack_log += text("\[[time_stamp()]\] Has been attacked with [src.name] by [user.name] ([user.ckey])") - user.attack_log += text("\[[time_stamp()]\] Used the [src.name] to attack [M.name] ([M.ckey])") - log_attack("[user.name] ([user.ckey]) used the [src.name] to attack [M.name] ([M.ckey])") + add_logs(user, M, "attacked", object="[src.name]") var/t = user:zone_sel.selecting if (t == "head") @@ -249,11 +247,7 @@ if (istype(location, /turf/simulated)) location.add_blood(H) ///Plik plik, the sound of blood - M.attack_log += text("\[[time_stamp()]\] Has been attacked with [src.name] by [user.name] ([user.ckey])") - user.attack_log += text("\[[time_stamp()]\] Used the [src.name] to attack [M.name] ([M.ckey])") - - log_attack("[user.name] ([user.ckey]) used the [src.name] to attack [M.name] ([M.ckey])") - + add_logs(user, M, "attacked", object="[src.name]") if(prob(15)) M.Weaken(3) diff --git a/code/game/objects/items/weapons/melee/misc.dm b/code/game/objects/items/weapons/melee/misc.dm index a5b8b6dcf55..379e1f319a5 100644 --- a/code/game/objects/items/weapons/melee/misc.dm +++ b/code/game/objects/items/weapons/melee/misc.dm @@ -39,10 +39,7 @@ else user.take_organ_damage(2 * force) return - - M.attack_log += text("\[[time_stamp()]\] Has been attacked with [src.name] by [user.name] ([user.ckey])") - user.attack_log += text("\[[time_stamp()]\] Used the [src.name] to attack [M.name] ([M.ckey])") - log_attack("[user.name] ([user.ckey]) attacked [M.name] ([M.ckey]) with [src.name] (INTENT: [uppertext(user.a_intent)])") + add_logs(user, M, "attacked", object="[src.name]") if(user.a_intent == "harm") if(!..()) return diff --git a/code/game/objects/items/weapons/storage/bible.dm b/code/game/objects/items/weapons/storage/bible.dm index 944c33382af..b9d760bdf11 100644 --- a/code/game/objects/items/weapons/storage/bible.dm +++ b/code/game/objects/items/weapons/storage/bible.dm @@ -38,11 +38,7 @@ if(user.mind && (user.mind.assigned_role == "Chaplain")) chaplain = 1 - - M.attack_log += text("\[[time_stamp()]\] Has been attacked with [src.name] by [user.name] ([user.ckey])") - user.attack_log += text("\[[time_stamp()]\] Used the [src.name] to attack [M.name] ([M.ckey])") - - log_attack("[user.name] ([user.ckey]) attacked [M.name] ([M.ckey]) with [src.name] (INTENT: [uppertext(user.a_intent)])") + add_logs(user, M, "attacked", object="[src.name]") if (!(istype(user, /mob/living/carbon/human) || ticker) && ticker.mode.name != "monkey") user << "\red You don't have the dexterity to do this!" diff --git a/code/game/objects/items/weapons/storage/briefcase.dm b/code/game/objects/items/weapons/storage/briefcase.dm index f5dcc2135f0..23b73d51474 100644 --- a/code/game/objects/items/weapons/storage/briefcase.dm +++ b/code/game/objects/items/weapons/storage/briefcase.dm @@ -29,11 +29,7 @@ user.Paralyse(2) return - - M.attack_log += text("\[[time_stamp()]\] Has been attacked with [src.name] by [user.name] ([user.ckey])") - user.attack_log += text("\[[time_stamp()]\] Used the [src.name] to attack [M.name] ([M.ckey])") - - log_attack("[user.name] ([user.ckey]) attacked [M.name] ([M.ckey]) with [src.name] (INTENT: [uppertext(user.a_intent)])") + add_logs(user, M, "attacked", object="[src.name]") if (M.stat < 2 && M.health < 50 && prob(90)) var/mob/H = M diff --git a/code/game/objects/items/weapons/stunbaton.dm b/code/game/objects/items/weapons/stunbaton.dm index 65eefe00a51..6e5ee52781b 100644 --- a/code/game/objects/items/weapons/stunbaton.dm +++ b/code/game/objects/items/weapons/stunbaton.dm @@ -137,9 +137,7 @@ var/mob/living/carbon/human/H = L H.forcesay(hit_appends) - user.attack_log += "\[[time_stamp()]\] Stunned [L.name] ([L.ckey]) with [name]" - L.attack_log += "\[[time_stamp()]\] Stunned by [user.name] ([user.ckey]) with [name]" - log_attack("[user.name] ([user.ckey]) stunned [L.name] ([L.ckey]) with [name]" ) + add_logs(user, L, "stunned") /obj/item/weapon/melee/baton/emp_act(severity) if(bcell) diff --git a/code/modules/hydroponics/hydroitemcode.dm b/code/modules/hydroponics/hydroitemcode.dm index 5923ee8af38..8d2093dd126 100644 --- a/code/modules/hydroponics/hydroitemcode.dm +++ b/code/modules/hydroponics/hydroitemcode.dm @@ -70,10 +70,7 @@ if(!..()) return if(istype(M, /mob/living)) M << "\red You are stunned by the powerful acid of the Deathnettle!" - M.attack_log += text("\[[time_stamp()]\] Had the [src.name] used on them by [user.name] ([user.ckey])") - user.attack_log += text("\[[time_stamp()]\] Used the [src.name] on [M.name] ([M.ckey])") - - log_attack(" [user.name] ([user.ckey]) used the [src.name] on [M.name] ([M.ckey])") + add_logs(user, M, "attacked", object="[src.name]") playsound(loc, 'sound/weapons/bladeslice.ogg', 50, 1, -1) diff --git a/code/modules/mob/living/carbon/alien/larva/larva.dm b/code/modules/mob/living/carbon/alien/larva/larva.dm index 69537b98bbf..f7ca9723844 100644 --- a/code/modules/mob/living/carbon/alien/larva/larva.dm +++ b/code/modules/mob/living/carbon/alien/larva/larva.dm @@ -143,8 +143,7 @@ O.show_message("\red [M] [M.attacktext] [src]!", 1) var/damage = rand(M.melee_damage_lower, M.melee_damage_upper) adjustBruteLoss(damage) - M.attack_log += text("\[[time_stamp()]\] attacked [src.name] ([src.ckey])") - src.attack_log += text("\[[time_stamp()]\] was attacked by [M.name] ([M.ckey])") + add_logs(M, src, "attacked", admin=0) updatehealth() diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 871f9a7712a..d9e5925f20e 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -365,8 +365,7 @@ var/start_T_descriptor = "tile at [start_T.x], [start_T.y], [start_T.z] in area [get_area(start_T)]" var/end_T_descriptor = "tile at [end_T.x], [end_T.y], [end_T.z] in area [get_area(end_T)]" - M.attack_log += text("\[[time_stamp()]\] Has been thrown by [usr.name] ([usr.ckey]) from [start_T_descriptor] with the target [end_T_descriptor]") - usr.attack_log += text("\[[time_stamp()]\] Has thrown [M.name] ([M.ckey]) from [start_T_descriptor] with the target [end_T_descriptor]") + add_logs(usr, M, "thrown", admin=0, addition="from [start_T_descriptor] with the target [end_T_descriptor]") if(!item) return //Grab processing has a chance of returning null diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 0125ca4ff44..65d636566f6 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -237,8 +237,7 @@ playsound(loc, M.attack_sound, 50, 1, 1) for(var/mob/O in viewers(src, null)) O.show_message("\red [M] [M.attacktext] [src]!", 1) - M.attack_log += text("\[[time_stamp()]\] attacked [src.name] ([src.ckey])") - src.attack_log += text("\[[time_stamp()]\] was attacked by [M.name] ([M.ckey])") + add_logs(M, src, "attacked", admin=0) var/damage = rand(M.melee_damage_lower, M.melee_damage_upper) var/dam_zone = pick("chest", "l_hand", "r_hand", "l_leg", "r_leg") var/obj/item/organ/limb/affecting = get_organ(ran_zone(dam_zone)) diff --git a/code/modules/mob/living/carbon/metroid/metroid.dm b/code/modules/mob/living/carbon/metroid/metroid.dm index 62c6efc75df..7e967fbf1f9 100644 --- a/code/modules/mob/living/carbon/metroid/metroid.dm +++ b/code/modules/mob/living/carbon/metroid/metroid.dm @@ -318,8 +318,7 @@ playsound(loc, M.attack_sound, 50, 1, 1) for(var/mob/O in viewers(src, null)) O.show_message("\red [M] [M.attacktext] [src]!", 1) - M.attack_log += text("\[[time_stamp()]\] attacked [src.name] ([src.ckey])") - src.attack_log += text("\[[time_stamp()]\] was attacked by [M.name] ([M.ckey])") + add_logs(M, src, "attacked", admin=0) var/damage = rand(M.melee_damage_lower, M.melee_damage_upper) adjustBruteLoss(damage) updatehealth() diff --git a/code/modules/mob/living/carbon/monkey/monkey.dm b/code/modules/mob/living/carbon/monkey/monkey.dm index d85711f414d..a37cc7af9a5 100644 --- a/code/modules/mob/living/carbon/monkey/monkey.dm +++ b/code/modules/mob/living/carbon/monkey/monkey.dm @@ -254,8 +254,7 @@ playsound(loc, M.attack_sound, 50, 1, 1) for(var/mob/O in viewers(src, null)) O.show_message("\red [M] [M.attacktext] [src]!", 1) - M.attack_log += text("\[[time_stamp()]\] attacked [src.name] ([src.ckey])") - src.attack_log += text("\[[time_stamp()]\] was attacked by [M.name] ([M.ckey])") + add_logs(M, src, "attacked", admin=0) var/damage = rand(M.melee_damage_lower, M.melee_damage_upper) adjustBruteLoss(damage) updatehealth() diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index 7daac632502..b43fddb1a83 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -71,9 +71,7 @@ var/client/assailant = directory[ckey(O.fingerprintslast)] if(assailant && assailant.mob && istype(assailant.mob,/mob)) var/mob/M = assailant.mob - src.attack_log += text("\[[time_stamp()]\] Has been hit with [O], last touched by [M.name] ([assailant.ckey])") - M.attack_log += text("\[[time_stamp()]\] Hit [src.name] ([src.ckey]) with [O]") - log_attack("[src.name] ([src.ckey]) was hit by [O], last touched by [M.name] ([assailant.ckey])") + add_logs(M, src, "hit", object="[O]") //Mobs on Fire /mob/living/proc/IgniteMob() diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index 746eeb0b287..eb6292fa4a5 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -438,8 +438,7 @@ var/list/ai_list = list() playsound(loc, M.attack_sound, 50, 1, 1) for(var/mob/O in viewers(src, null)) O.show_message("\red [M] [M.attacktext] [src]!", 1) - M.attack_log += text("\[[time_stamp()]\] attacked [src.name] ([src.ckey])") - src.attack_log += text("\[[time_stamp()]\] was attacked by [M.name] ([M.ckey])") + add_logs(M, src, "attacked", admin=0) var/damage = rand(M.melee_damage_lower, M.melee_damage_upper) adjustBruteLoss(damage) updatehealth() diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index d304938bd40..79d8a321b66 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -719,8 +719,7 @@ playsound(loc, M.attack_sound, 50, 1, 1) for(var/mob/O in viewers(src, null)) O.show_message("\red [M] [M.attacktext] [src]!", 1) - M.attack_log += text("\[[time_stamp()]\] attacked [src.name] ([src.ckey])") - src.attack_log += text("\[[time_stamp()]\] was attacked by [M.name] ([M.ckey])") + add_logs(M, src, "attacked", admin=0) var/damage = rand(M.melee_damage_lower, M.melee_damage_upper) adjustBruteLoss(damage) updatehealth() diff --git a/code/modules/mob/living/simple_animal/constructs.dm b/code/modules/mob/living/simple_animal/constructs.dm index af9d801b5a0..47078644b3a 100644 --- a/code/modules/mob/living/simple_animal/constructs.dm +++ b/code/modules/mob/living/simple_animal/constructs.dm @@ -99,8 +99,7 @@ playsound(loc, M.attack_sound, 50, 1, 1) for(var/mob/O in viewers(src, null)) O.show_message("\The [M] [M.attacktext] \the [src]!", 1) - M.attack_log += text("\[[time_stamp()]\] attacked [src.name] ([src.ckey])") - src.attack_log += text("\[[time_stamp()]\] was attacked by [M.name] ([M.ckey])") + add_logs(M, src, "attacked", admin=0) var/damage = rand(M.melee_damage_lower, M.melee_damage_upper) adjustBruteLoss(damage) diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index 64d25530f96..9f12a4b03bd 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -246,8 +246,7 @@ playsound(loc, M.attack_sound, 50, 1, 1) for(var/mob/O in viewers(src, null)) O.show_message("\red \The [M] [M.attacktext] [src]!", 1) - M.attack_log += text("\[[time_stamp()]\] attacked [src.name] ([src.ckey])") - src.attack_log += text("\[[time_stamp()]\] was attacked by [M.name] ([M.ckey])") + add_logs(M, src, "attacked", admin=0) var/damage = rand(M.melee_damage_lower, M.melee_damage_upper) adjustBruteLoss(damage) diff --git a/code/modules/mob/mob_grab.dm b/code/modules/mob/mob_grab.dm index 5ce7ec26399..9107fcd7577 100644 --- a/code/modules/mob/mob_grab.dm +++ b/code/modules/mob/mob_grab.dm @@ -134,9 +134,7 @@ icon_state = "grabbed+1" if(!affecting.buckled) affecting.loc = assailant.loc - affecting.attack_log += "\[[time_stamp()]\] Has had their neck grabbed by [assailant.name] ([assailant.ckey])" - assailant.attack_log += "\[[time_stamp()]\] Grabbed the neck of [affecting.name] ([affecting.ckey])" - log_attack("[assailant.name] ([assailant.ckey]) grabbed the neck of [affecting.name] ([affecting.ckey])") + add_logs(assailant, affecting, "neck-grabbed") hud.icon_state = "disarm/kill" hud.name = "disarm/kill" else @@ -155,9 +153,7 @@ return state = GRAB_KILL assailant.visible_message("[assailant] has tightened \his grip on [affecting]'s neck!") - affecting.attack_log += "\[[time_stamp()]\] Has been strangled (kill intent) by [assailant.name] ([assailant.ckey])" - assailant.attack_log += "\[[time_stamp()]\] Strangled (kill intent) [affecting.name] ([affecting.ckey])" - log_attack("[assailant.name] ([assailant.ckey]) Strangled (kill intent) [affecting.name] ([affecting.ckey])") + add_logs(assailant, affecting, "strangled") assailant.next_move = world.time + 10 affecting.losebreath += 1 diff --git a/code/modules/paperwork/pen.dm b/code/modules/paperwork/pen.dm index 2ab3c71d57a..ec082b6d205 100644 --- a/code/modules/paperwork/pen.dm +++ b/code/modules/paperwork/pen.dm @@ -49,10 +49,7 @@ user << "You stab [M] with the pen." M << "\red You feel a tiny prick!" - M.attack_log += text("\[[time_stamp()]\] Has been stabbed with [name] by [user.name] ([user.ckey])") - user.attack_log += text("\[[time_stamp()]\] Used the [name] to stab [M.name] ([M.ckey])") - log_attack("[user.name] ([user.ckey]) Used the [name] to stab [M.name] ([M.ckey])") - + add_logs(user, M, "stabbed", object="[name]") /* * Sleepy Pens diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index 0c642252bc4..7bf4f1f059f 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -85,14 +85,7 @@ else M.visible_message("[M] is hit by [src] in the [parse_zone(def_zone)]!", \ "[M] is hit by [src] in the [parse_zone(def_zone)]!") //X has fired Y is now given by the guns so you cant tell who shot you if you could not see the shooter - - if(istype(firer, /mob)) - M.attack_log += "\[[time_stamp()]\] [firer]/[firer.ckey] shot [M]/[M.ckey] with a [src]" - firer.attack_log += "\[[time_stamp()]\] [firer]/[firer.ckey] shot [M]/[M.ckey] with a [src]" - log_attack("[firer] ([firer.ckey]) shot [M] ([M.ckey]) with a [src]") - else - M.attack_log += "\[[time_stamp()]\] UNKNOWN SUBJECT (No longer exists) shot [M]/[M.ckey] with a [src]" - log_attack("UNKNOWN shot [M] ([M.ckey]) with a [src]") + add_logs(firer, M, "shot", object="[src]") spawn(0) if(A) diff --git a/code/modules/reagents/reagent_containers/dropper.dm b/code/modules/reagents/reagent_containers/dropper.dm index 465b51d966a..84c7982c123 100644 --- a/code/modules/reagents/reagent_containers/dropper.dm +++ b/code/modules/reagents/reagent_containers/dropper.dm @@ -63,9 +63,7 @@ for(var/datum/reagent/A in src.reagents.reagent_list) R += A.id + " (" R += num2text(A.volume) + ")," - user.attack_log += "\[[time_stamp()]\] [user]/[user.ckey] squirted [M]/[M.ckey] with ([R])" - M.attack_log += "\[[time_stamp()]\] [user]/[user.ckey] squirted [M]/[M.ckey] with ([R])" - log_attack("\[[time_stamp()]\] [user]/[user.ckey] squirted [M]/[M.ckey] with ([R])") + add_logs(user, M, "squirted", object="[R]") trans = src.reagents.trans_to(target, amount_per_transfer_from_this) user << "You transfer [trans] unit\s of the solution." diff --git a/code/modules/reagents/reagent_containers/food/condiment.dm b/code/modules/reagents/reagent_containers/food/condiment.dm index 06fd2b45319..cb072c3f6ae 100644 --- a/code/modules/reagents/reagent_containers/food/condiment.dm +++ b/code/modules/reagents/reagent_containers/food/condiment.dm @@ -42,12 +42,7 @@ if(!do_mob(user, M)) return for(var/mob/O in viewers(world.view, user)) O.show_message("\red [user] feeds [M] [src].", 1) - - M.attack_log += text("\[[time_stamp()]\] Has been fed [src.name] by [user.name] ([user.ckey]) Reagents: [reagentlist(src)]") - user.attack_log += text("\[[time_stamp()]\] Fed [src.name] by [M.name] ([M.ckey]) Reagents: [reagentlist(src)]") - - - log_attack("[user.name] ([user.ckey]) fed [M.name] ([M.ckey]) with [src.name] (INTENT: [uppertext(user.a_intent)])") + add_logs(user, M, "fed", object="[reagentlist(src)]") if(reagents.total_volume) reagents.reaction(M, INGEST) diff --git a/code/modules/reagents/reagent_containers/food/drinks.dm b/code/modules/reagents/reagent_containers/food/drinks.dm index 8929907d7d9..c4fe671ebec 100644 --- a/code/modules/reagents/reagent_containers/food/drinks.dm +++ b/code/modules/reagents/reagent_containers/food/drinks.dm @@ -42,13 +42,7 @@ if(!do_mob(user, M)) return for(var/mob/O in viewers(world.view, user)) O.show_message("\red [user] feeds [M] [src].", 1) - - M.attack_log += text("\[[time_stamp()]\] Has been fed [src.name] by [user.name] ([user.ckey]) Reagents: [reagentlist(src)]") - user.attack_log += text("\[[time_stamp()]\] Fed [M.name] by [M.name] ([M.ckey]) Reagents: [reagentlist(src)]") - - log_attack("[user.name] ([user.ckey]) fed [M.name] ([M.ckey]) with [src.name] (INTENT: [uppertext(user.a_intent)])") - - + add_logs(user, M, "fed", object="[reagentlist(src)]") if(reagents.total_volume) reagents.reaction(M, INGEST) spawn(5) @@ -327,7 +321,7 @@ icon_state = "lemon-lime" New() ..() - name = "Lemon-Lime" + name = "Lemon-Lime" reagents.add_reagent("lemon_lime", 30) src.pixel_x = rand(-10.0, 10) src.pixel_y = rand(-10.0, 10) @@ -381,4 +375,4 @@ ..() reagents.add_reagent("dr_gibb", 30) src.pixel_x = rand(-10.0, 10) - src.pixel_y = rand(-10.0, 10) + src.pixel_y = rand(-10.0, 10) diff --git a/code/modules/reagents/reagent_containers/food/drinks/bottle.dm b/code/modules/reagents/reagent_containers/food/drinks/bottle.dm index 3216877d305..cadaecc6918 100644 --- a/code/modules/reagents/reagent_containers/food/drinks/bottle.dm +++ b/code/modules/reagents/reagent_containers/food/drinks/bottle.dm @@ -97,9 +97,7 @@ else O.show_message(text("\red [target] has attacked himself with a bottle of [src.name]!"), 1) //Attack logs - user.attack_log += text("\[[time_stamp()]\] Has attacked [target.name] ([target.ckey]) with a bottle!") - target.attack_log += text("\[[time_stamp()]\] Has been smashed with a bottle by [user.name] ([user.ckey])") - log_attack("[user.name] ([user.ckey]) attacked [target.name] with a bottle. ([target.ckey])") + add_logs(user, target, "attacked", object="bottle") //The reagents in the bottle splash all over the target, thanks for the idea Nodrak if(src.reagents) diff --git a/code/modules/reagents/reagent_containers/food/snacks.dm b/code/modules/reagents/reagent_containers/food/snacks.dm index a837fab76fe..e6a36f1cf5e 100644 --- a/code/modules/reagents/reagent_containers/food/snacks.dm +++ b/code/modules/reagents/reagent_containers/food/snacks.dm @@ -71,12 +71,7 @@ return 0 if(!do_mob(user, M)) return - - M.attack_log += text("\[[time_stamp()]\] Has been fed [src.name] by [user.name] ([user.ckey]) Reagents: [reagentlist(src)]") - user.attack_log += text("\[[time_stamp()]\] Fed [src.name] by [M.name] ([M.ckey]) Reagents: [reagentlist(src)]") - - log_attack("[user.name] ([user.ckey]) fed [M.name] ([M.ckey]) with [src.name] (INTENT: [uppertext(user.a_intent)])") - + add_logs(user, M, "fed", object="[reagentlist(src)]") M.visible_message("[user] forces [M] to eat [src].", \ "[user] feeds [M] to eat [src].") @@ -2427,4 +2422,4 @@ ..() reagents.add_reagent("nutriment", 2) reagents.add_reagent("sugar", 5) - bitesize = 2 + bitesize = 2 diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm index 392f5e7444d..4a86e0a7ba4 100644 --- a/code/modules/reagents/reagent_containers/glass.dm +++ b/code/modules/reagents/reagent_containers/glass.dm @@ -55,9 +55,7 @@ for(var/datum/reagent/A in reagents.reagent_list) R += A.id + " (" R += num2text(A.volume) + ")," - user.attack_log += "\[[time_stamp()]\] [user]/[user.ckey] splashed [M]/[M.ckey] with ([R])" - M.attack_log += "\[[time_stamp()]\] [user]/[user.ckey] splashed [M]/[M.ckey] with ([R])" - log_attack("\[[time_stamp()]\] [user]/[user.ckey] splashed [M]/[M.ckey] with ([R])") + add_logs(user, M, "splashed", object="[R]") reagents.reaction(target, TOUCH) spawn(5) reagents.clear_reagents() return diff --git a/code/modules/reagents/reagent_containers/hypospray.dm b/code/modules/reagents/reagent_containers/hypospray.dm index d9024c461d3..d4046ae4e23 100644 --- a/code/modules/reagents/reagent_containers/hypospray.dm +++ b/code/modules/reagents/reagent_containers/hypospray.dm @@ -40,10 +40,7 @@ var/contained = english_list(injected) - log_attack("[user.name] ([user.ckey]) injected [M.name] ([M.ckey]) with [src.name], which had [contained] (INTENT: [uppertext(user.a_intent)])") - M.attack_log += text("\[[time_stamp()]\] Has been injected ([contained]) with [src.name] by [user.name] ([user.ckey])") - user.attack_log += text("\[[time_stamp()]\] Used the [src.name] to inject [M.name] ([M.ckey]) with [contained]") - + add_logs(user, M, "injected", object="[src.name]", addition="([contained])") /obj/item/weapon/reagent_containers/hypospray/combat name = "combat stimulant injector" diff --git a/code/modules/reagents/reagent_containers/pill.dm b/code/modules/reagents/reagent_containers/pill.dm index f83fa490191..7a4ae30f964 100644 --- a/code/modules/reagents/reagent_containers/pill.dm +++ b/code/modules/reagents/reagent_containers/pill.dm @@ -41,12 +41,7 @@ M.visible_message("[user] forces [M] to swallow [src].", \ "[user] forces [M] to swallow [src].") - - M.attack_log += text("\[[time_stamp()]\] Has been fed [src.name] by [user.name] ([user.ckey]) Reagents: [reagentlist(src)]") - user.attack_log += text("\[[time_stamp()]\] Fed [src.name] to [M.name] ([M.ckey]) Reagents: [reagentlist(src)]") - - - log_attack("[user.name] ([user.ckey]) fed [M.name] ([M.ckey]) with [src.name] (INTENT: [uppertext(user.a_intent)])") + add_logs(user, M, "fed", object="[reagentlist(src)]") if(reagents.total_volume) reagents.reaction(M, INGEST) diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm index be3311fa5b8..f7c107f682f 100644 --- a/code/modules/reagents/reagent_containers/syringes.dm +++ b/code/modules/reagents/reagent_containers/syringes.dm @@ -141,10 +141,7 @@ rinject += R.name var/contained = english_list(rinject) var/mob/M = target - log_attack("[user.name] ([user.ckey]) injected [M.name] ([M.ckey]) with [src.name], which had [contained] (INTENT: [uppertext(user.a_intent)])") - M.attack_log += text("\[[time_stamp()]\] Has been injected ([contained]) with [src.name] by [user.name] ([user.ckey])") - user.attack_log += text("\[[time_stamp()]\] Used the [src.name] to inject [M.name] ([M.ckey]) with [contained]") - + add_logs(user, M, "injected", object="[src.name]", addition="which had [contained]") reagents.reaction(target, INGEST) if(ismob(target) && target == user) //Attack log entries are produced here due to failure to produce elsewhere. Remove them here if you have doubles from normal syringes. diff --git a/code/modules/recycling/sortingmachinery.dm b/code/modules/recycling/sortingmachinery.dm index 5fcf44a777f..39b581abdb7 100644 --- a/code/modules/recycling/sortingmachinery.dm +++ b/code/modules/recycling/sortingmachinery.dm @@ -117,7 +117,6 @@ user.attack_log += text("\[[time_stamp()]\] Has used [name] on \ref[target]") - if(istype(target, /obj/item) && !(istype(target, /obj/item/weapon/storage) && !istype(target,/obj/item/weapon/storage/box))) var/obj/item/O = target if(amount > 1) diff --git a/code/modules/surgery/brain_removal.dm b/code/modules/surgery/brain_removal.dm index a04864fb6ba..41c3b4ee68c 100644 --- a/code/modules/surgery/brain_removal.dm +++ b/code/modules/surgery/brain_removal.dm @@ -28,9 +28,7 @@ var/mob/living/carbon/human/H = target H.update_hair(0) H.apply_damage(25,"brute","head") - user.attack_log += "\[[time_stamp()]\] Debrained [target.name] ([target.ckey]) INTENT: [uppertext(user.a_intent)])" - target.attack_log += "\[[time_stamp()]\] Debrained by [user.name] ([user.ckey]) (INTENT: [uppertext(user.a_intent)])" - log_attack("[user.name] ([user.ckey]) debrained [target.name] ([target.ckey]) (INTENT: [uppertext(user.a_intent)])") + add_logs(user, target, "debrained", addition="INTENT: [uppertext(user.a_intent)]") else user.visible_message("[user] can't find a brain in [target]!") return 1 diff --git a/code/modules/surgery/helpers.dm b/code/modules/surgery/helpers.dm index 23866878825..01b164c3ce5 100644 --- a/code/modules/surgery/helpers.dm +++ b/code/modules/surgery/helpers.dm @@ -38,9 +38,7 @@ M.surgeries += procedure user.visible_message("[user] drapes [I] over [M]'s [parse_zone(procedure.location)] to prepare for \an [procedure.name].") - user.attack_log += "\[[time_stamp()]\]Initiated a [procedure.name] on [M.name] ([M.ckey])" - M.attack_log += "\[[time_stamp()]\][user.name] ([user.ckey]) initiated a [procedure.name]" - log_attack("[user.name] ([user.ckey]) initiated a [procedure.name] on [M.name] ([M.ckey])") + add_logs(user, M, "operated", addition="Operation type: [procedure.name]") return 1 else user << "You need to expose [M]'s [procedure.location] first." diff --git a/code/modules/surgery/limb augmentation.dm b/code/modules/surgery/limb augmentation.dm index 79ee6030520..80a308dad21 100644 --- a/code/modules/surgery/limb augmentation.dm +++ b/code/modules/surgery/limb augmentation.dm @@ -70,9 +70,7 @@ del(tool) H.update_damage_overlays(0) H.update_augments() //Gives them the Cyber limb overlay - user.attack_log += "\[[time_stamp()]\] Augmented [target.name]'s [parse_zone(user.zone_sel.selecting)] ([target.ckey]) INTENT: [uppertext(user.a_intent)])" - target.attack_log += "\[[time_stamp()]\] Augmented by [user.name] ([user.ckey]) (INTENT: [uppertext(user.a_intent)])" - log_attack("[user.name] ([user.ckey]) augmented [target.name] ([target.ckey]) (INTENT: [uppertext(user.a_intent)])") + add_logs(user, target, "augmented", addition="by giving him new [parse_zone(user.zone_sel.selecting)] INTENT: [uppertext(user.a_intent)]") else user.visible_message("[user] [target] has no organic [parse_zone(user.zone_sel.selecting)] there!") return 1