diff --git a/code/WorkInProgress/Chemistry-Tools.dm b/code/WorkInProgress/Chemistry-Tools.dm index 950195c80d5..1abc69abff7 100644 --- a/code/WorkInProgress/Chemistry-Tools.dm +++ b/code/WorkInProgress/Chemistry-Tools.dm @@ -1024,6 +1024,9 @@ if (reagents.total_volume) user << "\blue You inject [M] with the hypospray." M << "\red You feel a tiny prick!" + + M.attack_log += text("[world.time] - has been injected with [src.name] by [user.name] ([user.ckey])") + user.attack_log += text("[world.time] - has used the [src.name] to inject [M.name] ([M.ckey])") src.reagents.reaction(M, INGEST) if(M.reagents) var/trans = reagents.trans_to(M, amount_per_transfer_from_this) @@ -1089,8 +1092,8 @@ if(!do_mob(user, M)) return - M.attack_log += text("[] []/[] feeds []/[] with []", world.time, user, user.client, M, M.client, src) - user.attack_log += text("[] []/[] feeds []/[] with []", world.time, user, user.client, M, M.client, src) + M.attack_log += text("[world.time] - has been fed [src.name] by [user.name] ([user.ckey]) Reagents: \ref[reagents]") + user.attack_log += text("[world.time] - has fed [M.name] by [M.name] ([M.ckey]) Reagents: \ref[reagents]") for(var/mob/O in viewers(world.view, user)) O.show_message("\red [user] feeds [M] [src].", 1) @@ -1236,6 +1239,10 @@ for(var/mob/O in viewers(world.view, user)) O.show_message("\red [user] feeds [M] [src].", 1) + M.attack_log += text("[world.time] - has been fed [src.name] by [user.name] ([user.ckey]) Reagents: \ref[reagents]") + user.attack_log += text("[world.time] - has fed [M.name] by [M.name] ([M.ckey]) Reagents: \ref[reagents]") + + if(reagents.total_volume) reagents.reaction(M, INGEST) spawn(5) @@ -1354,6 +1361,10 @@ for(var/mob/O in viewers(world.view, user)) O.show_message("\red [user] forces [M] to swallow [src].", 1) + M.attack_log += text("[world.time] - has been fed [src.name] by [user.name] ([user.ckey]) Reagents: \ref[reagents]") + user.attack_log += text("[world.time] - has fed [M.name] by [M.name] ([M.ckey]) Reagents: \ref[reagents]") + + if(reagents.total_volume) reagents.reaction(M, INGEST) spawn(5) @@ -1801,6 +1812,10 @@ for(var/mob/O in viewers(world.view, user)) O.show_message("\red [user] feeds [M] [src].", 1) + M.attack_log += text("[world.time] - has been fed [src.name] by [user.name] ([user.ckey]) Reagents: \ref[reagents]") + user.attack_log += text("[world.time] - has fed [src.name] by [M.name] ([M.ckey]) Reagents: \ref[reagents]") + + if(reagents.total_volume) reagents.reaction(M, INGEST) spawn(5) diff --git a/code/WorkInProgress/recycling/sortingmachinery.dm b/code/WorkInProgress/recycling/sortingmachinery.dm index 9ba99dbd960..f6fd60950b4 100644 --- a/code/WorkInProgress/recycling/sortingmachinery.dm +++ b/code/WorkInProgress/recycling/sortingmachinery.dm @@ -60,6 +60,9 @@ attack(target as obj, mob/user as mob) + + user.attack_log += text("[world.time] - has used [src.name] on \ref[target]") + if (istype(target, /obj/item)) var/obj/item/O = target if (src.amount > 1) diff --git a/code/defines/obj/toy.dm b/code/defines/obj/toy.dm index cf99e2e6f80..6fc215620d1 100644 --- a/code/defines/obj/toy.dm +++ b/code/defines/obj/toy.dm @@ -211,6 +211,7 @@ obj/item/toy/blink if(O.client) O.show_message(text("\red [] casually lines up a shot with []'s head and pulls the trigger!", user, M), 1, "\red You hear the sound of foam against skull", 2) O.show_message(text("\red [] was hit in the head by the foam dart!", M), 1) + playsound(user.loc, 'syringeproj.ogg', 50, 1) new /obj/item/toy/ammo/crossbow(M.loc) src.bullets-- diff --git a/code/game/magic/cultist/ritual.dm b/code/game/magic/cultist/ritual.dm index 69cbb5a94e0..f01b5a9ab04 100644 --- a/code/game/magic/cultist/ritual.dm +++ b/code/game/magic/cultist/ritual.dm @@ -370,6 +370,9 @@ var/runedec = 0 attack(mob/living/M as mob, mob/living/user as mob) + M.attack_log += text("[world.time] - has has had the [src.name] used on him by [user.name] ([user.ckey])") + user.attack_log += text("[world.time] - has used [src.name] on [M.name] ([M.ckey])") + if(istype(M,/mob/dead)) M.invisibility = 0 user.visible_message( \ diff --git a/code/game/objects/devices/aicard.dm b/code/game/objects/devices/aicard.dm index 1315a1ef20b..149a43527ed 100644 --- a/code/game/objects/devices/aicard.dm +++ b/code/game/objects/devices/aicard.dm @@ -13,6 +13,9 @@ if(!istype(M, /mob/living/silicon/ai))//If target is not an AI. return ..() + M.attack_log += text("[world.time] - has been carded with [src.name] by [user.name] ([user.ckey])") + user.attack_log += text("[world.time] - has used the [src.name] to card [M.name] ([M.ckey])") + transfer_ai("AICORE", "AICARD", M, user) return diff --git a/code/game/objects/devices/flash.dm b/code/game/objects/devices/flash.dm index 3ef2a6f6efc..56e58d9e743 100644 --- a/code/game/objects/devices/flash.dm +++ b/code/game/objects/devices/flash.dm @@ -5,6 +5,9 @@ usr.drop_item() return if (src.shots > 0) + M.attack_log += text("[world.time] - has been flashed (attempt) with [src.name] by [user.name] ([user.ckey])") + user.attack_log += text("[world.time] - has used the [src.name] to flash [M.name] ([M.ckey])") + var/safety = null if (istype(M, /mob/living/carbon/human)) var/mob/living/carbon/human/H = M diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 99f9e0da95a..cc335729912 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -34,6 +34,9 @@ usr << "\red You don't have the dexterity to do this!" return if (istype(M, /mob/living/carbon/human)) + M.attack_log += text("[world.time] - has been handcuffed (attempt) by [user.name] ([user.ckey])") + user.attack_log += text("[world.time] - has attempted to handcuff [M.name] ([M.ckey])") + var/obj/equip_e/human/O = new /obj/equip_e/human( ) O.source = user O.target = M @@ -171,6 +174,8 @@ // O.show_message(text("\red [] has been stabbed with [] by [].", M, src, user), 1) user << "\red You stab [M] with the pen." M << "\red You feel a tiny prick!" + M.attack_log += text("[world.time] - has been stabbed with [src.name] by [user.name] ([user.ckey])") + user.attack_log += text("[world.time] - has used the [src.name] to stab [M.name] ([M.ckey])") if(M.reagents) reagents.trans_to(M, 50) //used to be 150 return @@ -188,6 +193,8 @@ if (reagents.total_volume) user << "\red You stab [M] with the penlight." M << "\red You feel a tiny prick!" + M.attack_log += text("[world.time] - has been stabbed with [src.name] by [user.name] ([user.ckey])") + user.attack_log += text("[world.time] - has used the [src.name] to stab [M.name] ([M.ckey])") if(M.reagents) reagents.trans_to(M, 15) ..() return diff --git a/code/game/objects/items/item.dm b/code/game/objects/items/item.dm index e8bf2e79416..8c99b039095 100644 --- a/code/game/objects/items/item.dm +++ b/code/game/objects/items/item.dm @@ -173,6 +173,10 @@ ///////////////////////// user.lastattacked = M M.lastattacker = user + + user.attack_log += " Attacked [M.name] ([M.ckey]) with [src.name]" + M.attack_log += " Attacked by [user.name] ([user.ckey]) with [src.name]" + //spawn(1800) // this wont work right // M.lastattacker = null ///////////////////////// diff --git a/code/game/objects/items/weapons/guns_ammo.dm b/code/game/objects/items/weapons/guns_ammo.dm index 320df2a2a07..87bd2384370 100644 --- a/code/game/objects/items/weapons/guns_ammo.dm +++ b/code/game/objects/items/weapons/guns_ammo.dm @@ -197,6 +197,9 @@ obj/item/weapon/gun/revolver/attackby(obj/item/weapon/ammo/a357/A as obj, mob/li playsound(user, 'Gunshot.ogg', 100, 1) for(var/mob/O in viewers(M, null)) if(O.client) O.show_message(text("\red [] has been shot point-blank by []!", M, user), 1, "\red You hear a gunshot", 2) + M.attack_log += text("[world.time] - has been shot point blank with [src.name] by [user.name] ([user.ckey])") + user.attack_log += text("[world.time] - has used the [src.name] to shoot [M.name] ([M.ckey]) at point blank range.") + M.bullet_act(PROJECTILE_BULLET, src, user.get_organ_target()) src.bullets-- else @@ -598,6 +601,11 @@ obj/item/weapon/gun/revolver/attackby(obj/item/weapon/ammo/a357/A as obj, mob/li return src.add_fingerprint(user) + user.attack_log += text("[world.time] - has fired the [src.name] at [target.name] at ([target.x], [target.y], [target.z])") + if(ismob(target)) + var/mob/TAR = target + TAR.attack_log += text("[world.time] - has been fired at by [src.name] by [user.name] at ([user.ckey])") + if(src.charges < 1) user << "\red *click* *click*" @@ -681,6 +689,12 @@ obj/item/weapon/gun/revolver/attackby(obj/item/weapon/ammo/a357/A as obj, mob/li if ((istype(user, /mob/living/carbon/monkey)) && ticker.mode != "monkey") user << "\red You don't have the dexterity to do this!" return + + user.attack_log += text("[world.time] - has fired the [src.name] at [target.name] at ([target.x], [target.y], [target.z])") + if(ismob(target)) + var/mob/TAR = target + TAR.attack_log += text("[world.time] - has been fired at by [src.name] by [user.name] at ([user.ckey])") + src.add_fingerprint(user) if(!isrobot(user) && src.charges < 1) user << "\red *click* *click*"; @@ -724,6 +738,9 @@ obj/item/weapon/gun/revolver/attackby(obj/item/weapon/ammo/a357/A as obj, mob/li usr.paralysis += 60 return src.add_fingerprint(user) + M.attack_log += text("[world.time] - has been ahot at with a [src.name] by [user.name] ([user.ckey])") + user.attack_log += text("[world.time] - has shot witha [src.name] at [M.name] ([M.ckey])") + var/mob/living/carbon/human/H = M if ((istype(H, /mob/living/carbon/human) && istype(H, /obj/item/clothing/head) && H.flags & 8 && prob(80))) M << "\red The helmet protects you from being hit hard in the head!" @@ -940,6 +957,9 @@ obj/item/weapon/gun/revolver/attackby(obj/item/weapon/ammo/a357/A as obj, mob/li point_blank_teleport(usr) return src.add_fingerprint(user) + M.attack_log += text("[world.time] - has been shot at with [src.name] by [user.name] ([user.ckey])") + user.attack_log += text("[world.time] - has shot with [src.name] at [M.name] ([M.ckey])") + if(src.charges >= 1) if (prob(95)) point_blank_teleport(M) @@ -1082,6 +1102,10 @@ obj/item/weapon/gun/revolver/attackby(obj/item/weapon/ammo/a357/A as obj, mob/li return src.add_fingerprint(user) + user.attack_log += text("[world.time] - has fired the [src.name] at [target.name] at ([target.x], [target.y], [target.z])") + if(ismob(target)) + var/mob/TAR = target + TAR.attack_log += text("[world.time] - has been fired at by [src.name] by [user.name] ([user.ckey])") if(src.charges < 1) user << "\red *click* *click*"; diff --git a/code/game/objects/items/weapons/hydroponics.dm b/code/game/objects/items/weapons/hydroponics.dm index 2dd25d69c66..48dc7582961 100644 --- a/code/game/objects/items/weapons/hydroponics.dm +++ b/code/game/objects/items/weapons/hydroponics.dm @@ -109,6 +109,9 @@ Deathnettle if(!..()) return if(istype(M, /mob/living)) M << "\red You are stunned by the powerful acid of the Deathnettle!" + M.attack_log += text("[world.time] - has had the [src.name] used on them by [user.name] ([user.ckey])") + user.attack_log += text("[world.time] - has used the [src.name] on [M.name] ([M.ckey])") + M.eye_blurry += force/7 if(prob(20)) M.paralysis += force/6 diff --git a/code/game/objects/items/weapons/implants.dm b/code/game/objects/items/weapons/implants.dm index 23a5d343d9f..b7d0e6cb0dc 100644 --- a/code/game/objects/items/weapons/implants.dm +++ b/code/game/objects/items/weapons/implants.dm @@ -301,6 +301,8 @@ the implant may become unstable and either pre-maturely inject the subject or si if (user && src.imp) for (var/mob/O in viewers(M, null)) O.show_message("\red [M] has been implanted by [user].", 1) + M.attack_log += text("[world.time] - has been implanted with [src.name] ([src.imp.name]) by [user.name] ([user.ckey])") + user.attack_log += text("[world.time] - has used the [src.name] ([src.imp.name]) to implant [M.name] ([M.ckey])") src.imp.loc = M src.imp.imp_in = M src.imp.implanted = 1 diff --git a/code/game/objects/items/weapons/kitchen.dm b/code/game/objects/items/weapons/kitchen.dm index 0855e4e22aa..a56fb98a388 100644 --- a/code/game/objects/items/weapons/kitchen.dm +++ b/code/game/objects/items/weapons/kitchen.dm @@ -52,6 +52,9 @@ KNIFE user.take_organ_damage(10) user.paralysis += 2 return + M.attack_log += text("[world.time] - has been attacked with [src.name] by [user.name] ([user.ckey])") + user.attack_log += text("[world.time] - has used the [src.name] to attack [M.name] ([M.ckey])") + if (M.stat < 2 && M.health < 50 && prob(90)) var/mob/H = M // ******* Check @@ -111,6 +114,8 @@ KNIFE if (istype(location, /turf/simulated)) location.add_blood(H) ///Plik plik, the sound of blood + M.attack_log += text("[world.time] - has been attacked with [src.name] by [user.name] ([user.ckey])") + user.attack_log += text("[world.time] - has used the [src.name] to attack [M.name] ([M.ckey])") if(prob(15)) M.weakened += 3 diff --git a/code/game/objects/items/weapons/misc.dm b/code/game/objects/items/weapons/misc.dm index 2f928f332d2..51541ce064c 100644 --- a/code/game/objects/items/weapons/misc.dm +++ b/code/game/objects/items/weapons/misc.dm @@ -63,6 +63,9 @@ DNA INJECTOR if (!(istype(usr, /mob/living/carbon/human) || ticker) && ticker.mode.name != "monkey") user << "\red You don't have the dexterity to do this!" return + M.attack_log += text("[world.time] - has been injected with [src.name] by [user.name] ([user.ckey])") + user.attack_log += text("[world.time] - has used the [src.name] to inject [M.name] ([M.ckey])") + if (user) if (istype(M, /mob/living/carbon/human)) var/obj/equip_e/human/O = new /obj/equip_e/human( ) diff --git a/code/game/objects/items/weapons/papers_bins.dm b/code/game/objects/items/weapons/papers_bins.dm index e3368be2131..35706b34afd 100644 --- a/code/game/objects/items/weapons/papers_bins.dm +++ b/code/game/objects/items/weapons/papers_bins.dm @@ -456,7 +456,7 @@ CLIPBOARDS usr << text("There is about [] square units of paper left!", src.amount) return -/obj/item/weapon/wrapping_paper/attack(target as mob, mob/user as mob) +/obj/item/weapon/wrapping_paper/attack(mob/target as mob, mob/user as mob) if (!istype(target, /mob/living/carbon/human)) return if (istype(target:wear_suit, /obj/item/clothing/suit/straight_jacket) || target:stat) if (src.amount > 2) @@ -468,6 +468,9 @@ CLIPBOARDS target:client:eye = present target:loc = present + target.attack_log += text("[world.time] - has been wrapped with [src.name] by [user.name] ([user.ckey])") + user.attack_log += text("[world.time] - has used the [src.name] to wrap [target.name] ([target.ckey])") + else user << "/blue You need more paper." else diff --git a/code/game/objects/items/weapons/swords_axes_etc.dm b/code/game/objects/items/weapons/swords_axes_etc.dm index 9508f556944..3f2272ab608 100644 --- a/code/game/objects/items/weapons/swords_axes_etc.dm +++ b/code/game/objects/items/weapons/swords_axes_etc.dm @@ -121,6 +121,9 @@ STUN BATON src.add_fingerprint(user) var/mob/living/carbon/human/H = M + M.attack_log += text("[world.time] - has been attacked with [src.name] by [user.name] ([user.ckey])") + user.attack_log += text("[world.time] - has used the [src.name] to attack [M.name] ([M.ckey])") + if (status == 0 || (status == 1 && charges ==0)) if(user.a_intent == "hurt") @@ -215,6 +218,9 @@ STUN BATON return src.add_fingerprint(user) + M.attack_log += text("[world.time] - has been attacked with [src.name] by [user.name] ([user.ckey])") + user.attack_log += text("[world.time] - has used the [src.name] to attack [M.name] ([M.ckey])") + if (user.a_intent == "hurt") if(!..()) return playsound(src.loc, "swing_hit", 50, 1, -1) diff --git a/code/game/objects/secstorage/sbriefcase.dm b/code/game/objects/secstorage/sbriefcase.dm index af6dfa30e8a..3a9b29bbdd3 100644 --- a/code/game/objects/secstorage/sbriefcase.dm +++ b/code/game/objects/secstorage/sbriefcase.dm @@ -22,6 +22,10 @@ user.paralysis += 2 return + + M.attack_log += text("[world.time] - has been attacked with [src.name] by [user.name] ([user.ckey])") + user.attack_log += text("[world.time] - has used the [src.name] to attack [M.name] ([M.ckey])") + var/t = user:zone_sel.selecting if (t == "head") if (M.stat < 2 && M.health < 50 && prob(90)) diff --git a/code/game/objects/storage/bible.dm b/code/game/objects/storage/bible.dm index 868d518c5ac..2e827f50b76 100644 --- a/code/game/objects/storage/bible.dm +++ b/code/game/objects/storage/bible.dm @@ -26,6 +26,10 @@ if(user.mind && (user.mind.assigned_role == "Chaplain")) chaplain = 1 + + M.attack_log += text("[world.time] - has been attacked with [src.name] by [user.name] ([user.ckey])") + user.attack_log += text("[world.time] - has used the [src.name] to attack [M.name] ([M.ckey])") + if (!(istype(user, /mob/living/carbon/human) || ticker) && ticker.mode.name != "monkey") user << "\red You don't have the dexterity to do this!" return diff --git a/code/game/objects/storage/briefcase.dm b/code/game/objects/storage/briefcase.dm index b10c61ec20e..b33d20f29a3 100644 --- a/code/game/objects/storage/briefcase.dm +++ b/code/game/objects/storage/briefcase.dm @@ -17,6 +17,10 @@ user.paralysis += 2 return + + M.attack_log += text("[world.time] - has been attacked with [src.name] by [user.name] ([user.ckey])") + user.attack_log += text("[world.time] - has used the [src.name] to attack [M.name] ([M.ckey])") + if (M.stat < 2 && M.health < 50 && prob(90)) var/mob/H = M // ******* Check diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index c0e47666d9d..d59013db164 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -185,6 +185,9 @@ obj/item/weapon/robot_module/syndicate/New() icon_state = "shock" attack(mob/M as mob, mob/living/silicon/robot/user as mob) + + M.attack_log += text("[world.time] - has been attacked with [src.name] by [user.name] ([user.ckey])") + user.attack_log += text("[world.time] - has used the [src.name] to attack [M.name] ([M.ckey])") user.cell.charge -= 30 if (M.weakened < 5) M.weakened = 5