diff --git a/code/_onclick/item_attack.dm b/code/_onclick/item_attack.dm
index 0ba92809470..c3d906c7742 100644
--- a/code/_onclick/item_attack.dm
+++ b/code/_onclick/item_attack.dm
@@ -9,7 +9,7 @@
/atom/movable/attackby(obj/item/W, mob/living/user)
user.do_attack_animation(src)
if(W && !(W.flags&NOBLUDGEON))
- visible_message("[src] has been hit by [user] with [W].")
+ visible_message("[user] has hit [src] with [W].")
/mob/living/attackby(obj/item/I, mob/user)
user.changeNext_move(CLICK_CD_MELEE)
@@ -23,18 +23,21 @@
if(istype(location, /turf/simulated))
location.add_blood_floor(src)
- var/showname = "."
- if(user)
- showname = " by [user]!"
- user.do_attack_animation(src)
- if(!(user in viewers(src, null)))
- showname = "."
+ var/message_verb = ""
if(I.attack_verb && I.attack_verb.len)
- src.visible_message("[src] has been [pick(I.attack_verb)] with [I][showname]",
- "[src] has been [pick(I.attack_verb)] with [I][showname]")
+ message_verb = "[pick(I.attack_verb)]"
else if(I.force)
- src.visible_message("[src] has been attacked with [I][showname]",
- "[src] has been attacked with [I][showname]")
+ message_verb = "attacked"
+
+ var/attack_message = "[src] has been [message_verb] with [I]."
+ if(user)
+ user.do_attack_animation(src)
+ if(user in viewers(src, null))
+ attack_message = "[user] has [message_verb] [src] with [I]!"
+ if(message_verb)
+ visible_message("[attack_message]",
+ "[attack_message]")
+
// Proximity_flag is 1 if this afterattack was called on something adjacent, in your square, or on your person.
// Click parameters is the params string from byond Click() code, see that documentation.
diff --git a/code/game/gamemodes/blob/theblob.dm b/code/game/gamemodes/blob/theblob.dm
index ce290d754f1..cc729bb32b1 100644
--- a/code/game/gamemodes/blob/theblob.dm
+++ b/code/game/gamemodes/blob/theblob.dm
@@ -154,7 +154,7 @@
user.changeNext_move(CLICK_CD_MELEE)
user.do_attack_animation(src)
playsound(src.loc, 'sound/effects/attackblob.ogg', 50, 1)
- src.visible_message("The [src.name] has been attacked with \the [W][(user ? " by [user]" : "")]!")
+ visible_message("[user] has attacked the [src.name] with \the [W]!")
var/damage = 0
switch(W.damtype)
if("fire")
@@ -172,7 +172,7 @@
M.changeNext_move(CLICK_CD_MELEE)
M.do_attack_animation(src)
playsound(src.loc, 'sound/effects/attackblob.ogg', 50, 1)
- src.visible_message("The [src.name] has been attacked by \the [M]!")
+ visible_message("\The [M] has attacked the [src.name]!")
var/damage = rand(M.melee_damage_lower, M.melee_damage_upper)
if(!damage) // Avoid divide by zero errors
return
diff --git a/code/game/machinery/bots/ed209bot.dm b/code/game/machinery/bots/ed209bot.dm
index b9a2e1b766b..b5de2fb95a7 100644
--- a/code/game/machinery/bots/ed209bot.dm
+++ b/code/game/machinery/bots/ed209bot.dm
@@ -267,8 +267,8 @@ Auto Patrol[]"},
if(declare_arrests)
var/area/location = get_area(src)
speak("[arrest_type ? "Detaining" : "Arresting"] level [threatlevel] scumbag [target] in [location].", radio_frequency)
- target.visible_message("[target] has been stunned by [src]!",\
- "[target] has been stunned by [src]!")
+ target.visible_message("[src] has stunned [target]!",\
+ "[src] has stunned [target]!")
mode = BOT_PREP_ARREST
anchored = 1
diff --git a/code/game/machinery/bots/secbot.dm b/code/game/machinery/bots/secbot.dm
index dc04bb2fdb9..51f7faec68e 100644
--- a/code/game/machinery/bots/secbot.dm
+++ b/code/game/machinery/bots/secbot.dm
@@ -230,8 +230,8 @@ Auto Patrol: []"},
if(declare_arrests)
var/area/location = get_area(src)
speak("[arrest_type ? "Detaining" : "Arresting"] level [threatlevel] scumbag [target] in [location].", radio_frequency)
- target.visible_message("[target] has been stunned by [src]!",\
- "[target] has been stunned by [src]!")
+ target.visible_message("[src] has stunned [target]!",\
+ "[src] has stunned [target]!")
mode = BOT_PREP_ARREST
anchored = 1
diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm
index 28c7bf2c642..500a12326dd 100644
--- a/code/game/machinery/camera/camera.dm
+++ b/code/game/machinery/camera/camera.dm
@@ -221,7 +221,7 @@
spark_system.start()
playsound(loc, 'sound/weapons/blade1.ogg', 50, 1)
playsound(loc, "sparks", 50, 1)
- visible_message("The camera has been sliced apart by [] with an energy blade!")
+ visible_message("[user] has sliced the camera apart with an energy blade!")
qdel(src)
else if(istype(W, /obj/item/device/laser_pointer))
var/obj/item/device/laser_pointer/L = W
diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm
index cea529f563e..916b49e5956 100644
--- a/code/game/machinery/doors/airlock.dm
+++ b/code/game/machinery/doors/airlock.dm
@@ -898,7 +898,7 @@ About the new airlock wires panel:
if( !istype(src, /obj/machinery/door/airlock) || !user || !W || !W.isOn() || !user.loc )
return playsound(loc, 'sound/items/Welder2.ogg', 50, 1)
welded = !welded
- user.visible_message("[src] has been [welded? "welded shut":"unwelded"] by [user.name].", \
+ user.visible_message("[user.name] has [welded? "welded shut":"unwelded"] [src].", \
"You've [welded ? "welded the airlock shut":"unwelded the airlock"].")
update_icon()
return
diff --git a/code/game/machinery/doors/windowdoor.dm b/code/game/machinery/doors/windowdoor.dm
index 05caa8ff585..b50ac0e9a1f 100644
--- a/code/game/machinery/doors/windowdoor.dm
+++ b/code/game/machinery/doors/windowdoor.dm
@@ -201,7 +201,7 @@
if(M.damtype == "brute")
playsound(src.loc, 'sound/effects/Glasshit.ogg', 75, 1)
M.occupant_message("You hit [src].")
- visible_message("[src] has been hit by [M.name].")
+ visible_message("[M.name] has hit [src].")
take_damage(M.force)
return
@@ -350,7 +350,7 @@
return
var/aforce = I.force
playsound(src.loc, 'sound/effects/Glasshit.ogg', 75, 1)
- visible_message("\The [src] has been hit by [user] with [I].")
+ visible_message("[user] has hit \the [src] with [I].")
if(I.damtype == BURN || I.damtype == BRUTE)
take_damage(aforce)
return
diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm
index 02fe27be028..c62aa6c8016 100644
--- a/code/game/mecha/mecha.dm
+++ b/code/game/mecha/mecha.dm
@@ -321,7 +321,7 @@ obj/mecha/proc/can_use(mob/user)
else
return
M.occupant_message("You hit [src].")
- visible_message("[src] has been hit by [M.name].")
+ visible_message("[M.name] has hit [src].")
take_damage(M.force, damtype)
add_logs(M.occupant, src, "attacked", object=M, addition="(INTENT: [uppertext(M.occupant.a_intent)]) (DAMTYPE: [uppertext(M.damtype)])")
return
diff --git a/code/game/objects/effects/aliens.dm b/code/game/objects/effects/aliens.dm
index 0b0979c96d3..4dbb5afcfda 100644
--- a/code/game/objects/effects/aliens.dm
+++ b/code/game/objects/effects/aliens.dm
@@ -218,9 +218,9 @@
/obj/structure/alien/weeds/attackby(obj/item/I, mob/user)
user.changeNext_move(CLICK_CD_MELEE)
if(I.attack_verb.len)
- visible_message("[src] has been [pick(I.attack_verb)] with [I] by [user].")
+ visible_message("[user] has [pick(I.attack_verb)] [src] with [I]!")
else
- visible_message("[src] has been attacked with [I] by [user]!")
+ visible_message("[user] has attacked [src] with [I]!")
var/damage = I.force / 4.0
if(istype(I, /obj/item/weapon/weldingtool))
@@ -373,9 +373,9 @@
/obj/structure/alien/egg/attackby(obj/item/I, mob/user)
if(I.attack_verb.len)
- visible_message("[src] has been [pick(I.attack_verb)] with [I] by [user].")
+ visible_message("[user] has [pick(I.attack_verb)] [src] with [I]!")
else
- visible_message("[src] has been attacked with [I] by [user]!")
+ visible_message("[user] has attacked [src] with [I]!")
var/damage = I.force / 4
if(istype(I, /obj/item/weapon/weldingtool))
diff --git a/code/game/objects/effects/spiders.dm b/code/game/objects/effects/spiders.dm
index 14f54676cab..520a1390086 100644
--- a/code/game/objects/effects/spiders.dm
+++ b/code/game/objects/effects/spiders.dm
@@ -22,9 +22,9 @@
/obj/effect/spider/attackby(var/obj/item/weapon/W, var/mob/user)
if(W.attack_verb.len)
- visible_message("\The [src] has been [pick(W.attack_verb)] with \the [W][(user ? " by [user]" : "")]!")
+ visible_message("[user] has [pick(W.attack_verb)] \the [src] with \the [W]!")
else
- visible_message("\The [src] has been attacked with \the [W][(user ? " by [user]" : "")]!")
+ visible_message("[user] has attacked \the [src] with \the [W]!")
var/damage = W.force / 4.0
diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm
index 6329d782411..20e4c335908 100644
--- a/code/game/objects/items.dm
+++ b/code/game/objects/items.dm
@@ -313,7 +313,7 @@
M.adjustBruteLoss(10)
*/
if(M != user)
- M.visible_message("[M] has been stabbed in the eye with [src] by [user]!", \
+ M.visible_message("[user] has stabbed [M] in the eye with [src]!", \
"[user] stabs you in the eye with [src]!")
else
user.visible_message( \
diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm
index 17e2190d6f6..74ee638df91 100644
--- a/code/game/objects/items/stacks/medical.dm
+++ b/code/game/objects/items/stacks/medical.dm
@@ -32,7 +32,7 @@
if (user)
if (M != user)
user.visible_message( \
- "[M] has been applied with [src] by [user].", \
+ "[user] has applied [src] on [M].", \
"You apply \the [src] to [M]." \
)
else
diff --git a/code/game/objects/items/weapons/defib.dm b/code/game/objects/items/weapons/defib.dm
index bfab4fd6c63..d21ad9f84ec 100644
--- a/code/game/objects/items/weapons/defib.dm
+++ b/code/game/objects/items/weapons/defib.dm
@@ -272,7 +272,8 @@
else
if(user.a_intent == "harm" && !defib.safety)
busy = 1
- H.visible_message("[M.name] has been touched with [src] by [user]!")
+ H.visible_message("[user] has touched [H.name] with [src]!", \
+ "[user] has touched [H.name] with [src]!")
H.adjustStaminaLoss(50)
H.Weaken(5)
H.updatehealth() //forces health update before next life tick
diff --git a/code/game/objects/items/weapons/implants/implantchair.dm b/code/game/objects/items/weapons/implants/implantchair.dm
index ced385ba06e..5cca21dc9fe 100644
--- a/code/game/objects/items/weapons/implants/implantchair.dm
+++ b/code/game/objects/items/weapons/implants/implantchair.dm
@@ -130,7 +130,7 @@
for(var/obj/item/weapon/implant/loyalty/imp in implant_list)
if(!imp) continue
if(istype(imp, /obj/item/weapon/implant/loyalty))
- M.visible_message("[M] has been implanted by the [src.name].")
+ M.visible_message("[M] has been implanted by the [src.name].")
if(imp.implanted(M))
imp.loc = M
diff --git a/code/game/objects/items/weapons/implants/implanter.dm b/code/game/objects/items/weapons/implants/implanter.dm
index 2311672e056..e8ebdd6d7dc 100644
--- a/code/game/objects/items/weapons/implants/implanter.dm
+++ b/code/game/objects/items/weapons/implants/implanter.dm
@@ -25,7 +25,7 @@
var/turf/T = get_turf(M)
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.visible_message("[user] has implanted [M].")
add_logs(user, M, "implanted", object="[name]")
user << "You implanted the implant into [M]."
if(imp.implanted(M))
diff --git a/code/game/objects/items/weapons/melee/misc.dm b/code/game/objects/items/weapons/melee/misc.dm
index 66f46b0c758..0fbfa179960 100644
--- a/code/game/objects/items/weapons/melee/misc.dm
+++ b/code/game/objects/items/weapons/melee/misc.dm
@@ -53,14 +53,14 @@
M.stuttering = 7
M.Stun(7)
M.Weaken(7)
- M.visible_message("[M] has been beaten with [src] by [user]!", \
- "[M] has been beaten with [src] by [user]!")
+ M.visible_message("[user] has beaten [M] with [src]!", \
+ "[user] has beaten [M] with [src]!")
else
playsound(loc, 'sound/effects/woodhit.ogg', 50, 1, -1)
M.Stun(7)
M.Weaken(7)
- M.visible_message("[M] has been stunned with [src] by [user]!", \
- "[M] has been stunned with [src] by [user]!")
+ M.visible_message("[user] has stunned [M] with [src]!", \
+ "[user] has stunned [M] with [src]!")
if(ishuman(M))
var/mob/living/carbon/human/H = M
@@ -127,7 +127,8 @@
target.Weaken(3)
add_logs(user, target, "stunned", object="telescopic baton")
src.add_fingerprint(user)
- target.visible_message("[target] has been knocked down with \the [src] by [user]!")
+ target.visible_message("[user] has knocked down [target] with \the [src]!", \
+ "[user] has knocked down [target] with \the [src]!")
if(!iscarbon(user))
target.LAssailant = null
else
diff --git a/code/game/objects/items/weapons/storage/lockbox.dm b/code/game/objects/items/weapons/storage/lockbox.dm
index 30e44e3425b..10e38838953 100644
--- a/code/game/objects/items/weapons/storage/lockbox.dm
+++ b/code/game/objects/items/weapons/storage/lockbox.dm
@@ -46,12 +46,11 @@
spark_system.start()
playsound(src.loc, 'sound/weapons/blade1.ogg', 50, 1)
playsound(src.loc, "sparks", 50, 1)
- for(var/mob/O in viewers(user, 3))
- O.show_message(text("\The [src] has been sliced open by [] with an energy blade!", user), 1, text("You hear metal being sliced and sparks flying."), 2)
+ visible_message("[user] has sliced open \the [src] with an energy blade!", "You hear metal being sliced and sparks flying.")
return
else
for(var/mob/O in viewers(user, 3))
- O.show_message(text("\The [src] has been broken by [] with an electromagnetic card!", user), 1, text("You hear a faint electrical spark."), 2)
+ O.show_message("[user] has broken \the [src] with an electromagnetic card!", 1, "You hear a faint electrical spark.", 2)
return
if(!locked)
..()
diff --git a/code/game/objects/items/weapons/stunbaton.dm b/code/game/objects/items/weapons/stunbaton.dm
index c51cbf3c21c..c21bb64f252 100644
--- a/code/game/objects/items/weapons/stunbaton.dm
+++ b/code/game/objects/items/weapons/stunbaton.dm
@@ -121,8 +121,8 @@
user.do_attack_animation(L)
baton_stun(L, user)
else
- L.visible_message("[L] has been prodded with [src] by [user]. Luckily it was off.", \
- "You've been prodded with [src] by [user]. Luckily it was off")
+ L.visible_message("[user] has prodded [L] with [src]. Luckily it was off.", \
+ "[user] has prodded you with [src]. Luckily it was off")
return
else
..()
@@ -138,8 +138,8 @@
L.Weaken(stunforce)
L.apply_effect(STUTTER, stunforce)
- L.visible_message("[L] has been stunned with [src] by [user]!", \
- "You've been stunned with [src] by [user]!")
+ L.visible_message("[user] has stunned [L] with [src]!", \
+ "[user] has stunned you with [src]!")
playsound(loc, 'sound/weapons/Egloves.ogg', 50, 1, -1)
if(isrobot(loc))
diff --git a/code/game/objects/structures.dm b/code/game/objects/structures.dm
index 9d6b1269e9f..eadb7c6d32d 100644
--- a/code/game/objects/structures.dm
+++ b/code/game/objects/structures.dm
@@ -13,6 +13,6 @@
/obj/structure/mech_melee_attack(obj/mecha/M)
if(M.damtype == "brute")
M.occupant_message("You hit [src].")
- visible_message("[src] has been hit by [M.name].")
+ visible_message("[M.name] has hit [src].")
return 1
return 0
diff --git a/code/game/objects/structures/OpTable.dm b/code/game/objects/structures/OpTable.dm
index e186ed03c5c..1efdde80ab6 100644
--- a/code/game/objects/structures/OpTable.dm
+++ b/code/game/objects/structures/OpTable.dm
@@ -37,7 +37,7 @@
var/mob/M = G.affecting
M.resting = 1
M.loc = loc
- visible_message("[M] has been laid on [src] by [user].")
+ visible_message("[user] has laid [M] on [src].")
patient = M
check_patient()
qdel(W)
diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm
index e498f4fab23..03430503585 100644
--- a/code/game/objects/structures/crates_lockers/closets.dm
+++ b/code/game/objects/structures/crates_lockers/closets.dm
@@ -176,7 +176,7 @@
return
playsound(loc, 'sound/items/Welder2.ogg', 50, 1)
new /obj/item/stack/sheet/metal(src.loc)
- visible_message("\The [src] has been cut apart by [user] with \the [WT].", "You hear welding.")
+ visible_message("[user] has cut \the [src] apart with \the [WT].", "You hear welding.")
qdel(src)
return
@@ -198,9 +198,9 @@
return
playsound(loc, 'sound/items/welder.ogg', 50, 1)
welded = !welded
- user << "You [welded ? "welded the [src] shut":"unwelded the [src]"]"
+ user << "You [welded ? "welded [src] shut":"unwelded [src]"]."
update_icon()
- user.visible_message("[src] has been [welded? "welded shut":"unwelded"] by [user.name].")
+ user.visible_message("[user.name] has [welded ? "welded [src] shut":"unwelded [src]"].")
return
else if(!place(user, W))
src.attack_hand(user)
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm b/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm
index 5b25d80bc0e..68bcbe41c49 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm
@@ -46,7 +46,7 @@
add_fingerprint(user)
for(var/mob/O in viewers(user, 3))
if((O.client && !( O.blinded )))
- O << "The locker has been [locked ? null : "un"]locked by [user]."
+ O << "[user] has [locked ? null : "un"]locked the locker."
if(src.locked)
src.icon_state = src.icon_locked
else
@@ -77,11 +77,10 @@
spark_system.start()
playsound(src.loc, 'sound/weapons/blade1.ogg', 50, 1)
playsound(src.loc, "sparks", 50, 1)
- for(var/mob/O in viewers(user, 3))
- O.show_message("The locker has been sliced open by [user] with an energy blade!", 1, "You hear metal being sliced and sparks flying.", 2)
+ visible_message("[user] has sliced the locker open with an energy blade!", "You hear metal being sliced and sparks flying.")
else
for(var/mob/O in viewers(user, 3))
- O.show_message("The locker has been broken by [user] with an electromagnetic card!", 1, "You hear a faint electrical spark.", 2)
+ O.show_message("[user] has broken the locker with an electromagnetic card!", 1, "You hear a faint electrical spark.", 2)
else
..(W, user)
diff --git a/code/game/turfs/simulated/walls.dm b/code/game/turfs/simulated/walls.dm
index 0ea09fc2316..0656f9ce28f 100644
--- a/code/game/turfs/simulated/walls.dm
+++ b/code/game/turfs/simulated/walls.dm
@@ -78,7 +78,7 @@
if(M.damtype == "brute")
playsound(src, 'sound/weapons/punch4.ogg', 50, 1)
M.occupant_message("You hit [src].")
- visible_message("[src] has been hit by [M.name].")
+ visible_message("[M.name] has hit [src]!")
if(prob(5) && M.force > 20)
dismantle_wall(1)
M.occupant_message("You smash through the wall.")
diff --git a/code/modules/detectivework/footprints_and_rag.dm b/code/modules/detectivework/footprints_and_rag.dm
index 779a9800be2..098f7bfea7c 100644
--- a/code/modules/detectivework/footprints_and_rag.dm
+++ b/code/modules/detectivework/footprints_and_rag.dm
@@ -41,7 +41,7 @@
/obj/item/weapon/reagent_containers/glass/rag/attack(atom/target as obj|turf|area, mob/user as mob , flag)
if(ismob(target) && target.reagents && reagents.total_volume)
- user.visible_message("\The [target] has been smothered with \the [src] by \the [user]!", "You smother \the [target] with \the [src]!", "You hear some struggling and muffled cries of surprise")
+ user.visible_message("[user] has smothered \the [target] with \the [src]!", "You smother \the [target] with \the [src]!", "You hear some struggling and muffled cries of surprise")
src.reagents.reaction(target, TOUCH)
src.reagents.clear_reagents()
return
diff --git a/code/modules/flufftext/Hallucination.dm b/code/modules/flufftext/Hallucination.dm
index 312635711ff..f20b06ebcb6 100644
--- a/code/modules/flufftext/Hallucination.dm
+++ b/code/modules/flufftext/Hallucination.dm
@@ -248,7 +248,7 @@ proc/check_panel(mob/M)
/obj/effect/fake_attacker/attackby(var/obj/item/weapon/P as obj, mob/user as mob)
step_away(src,my_target,2)
my_target.visible_message("[my_target] flails around wildly.", \
- "[src] has been attacked by [my_target] ")
+ "[my_target] has attacked [src]!")
src.health -= P.force
@@ -305,7 +305,7 @@ proc/check_panel(mob/M)
if(prob(15))
if(weapon_name)
my_target << sound(pick('sound/weapons/genhit1.ogg', 'sound/weapons/genhit2.ogg', 'sound/weapons/genhit3.ogg'))
- my_target.show_message("[my_target] has been attacked with [weapon_name] by [src.name]!", 1)
+ my_target.show_message("[src.name] has attacked [my_target] with [weapon_name]!", 1)
my_target.staminaloss += 30
if(prob(20)) my_target.eye_blurry += 3
if(prob(33))
diff --git a/code/modules/food&drinks/drinks/drinks/bottle.dm b/code/modules/food&drinks/drinks/drinks/bottle.dm
index 06f0707f6af..b5ef66b0700 100644
--- a/code/modules/food&drinks/drinks/drinks/bottle.dm
+++ b/code/modules/food&drinks/drinks/drinks/bottle.dm
@@ -80,21 +80,20 @@
target.apply_damage(force, BRUTE, affecting, armor_block)
// You are going to knock someone out for longer if they are not wearing a helmet.
+ var/head_attack_message = ""
if(affecting == "head" && istype(target, /mob/living/carbon/))
-
- //Display an attack message.
- for(var/mob/O in viewers(user, null))
- if(target != user) O.show_message(text("[target] has been hit over the head with a bottle of [src.name], by [user]!"), 1)
- else O.show_message(text("[target] hits himself with a bottle of [src.name] on the head!"), 1)
+ head_attack_message = " on the head"
//Weaken the target for the duration that we calculated and divide it by 5.
if(armor_duration)
target.apply_effect(min(armor_duration, 10) , WEAKEN) // Never weaken more than a flash!
+ //Display an attack message.
+ if(target != user)
+ target.visible_message("[user] has hit [target][head_attack_message] with a bottle of [src.name]!", \
+ "[user] has hit [target][head_attack_message] with a bottle of [src.name]!")
else
- //Default attack message and don't weaken the target.
- for(var/mob/O in viewers(user, null))
- if(target != user) O.show_message(text("[target] has been attacked with a bottle of [src.name], by [user]!"), 1)
- else O.show_message(text("[target] has attacked himself with a bottle of [src.name]!"), 1)
+ user.visible_message("[target] hits himself with a bottle of [src.name][head_attack_message]!", \
+ "[target] hits himself with a bottle of [src.name][head_attack_message]!")
//Attack logs
add_logs(user, target, "attacked", object="bottle")
diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm
index 80ccb14492d..7594938f076 100644
--- a/code/modules/mob/living/carbon/human/human_defense.dm
+++ b/code/modules/mob/living/carbon/human/human_defense.dm
@@ -138,11 +138,11 @@ emp_act
return 0
if(I.attack_verb && I.attack_verb.len)
- visible_message("[src] has been [pick(I.attack_verb)] in the [hit_area] with [I] by [user]!", \
- "[src] has been [pick(I.attack_verb)] in the [hit_area] with [I] by [user]!")
+ visible_message("[user] has [pick(I.attack_verb)] [src] in the [hit_area] with [I]!", \
+ "[user] has [pick(I.attack_verb)] [src] in the [hit_area] with [I]!")
else if(I.force)
- visible_message("[src] has been attacked in the [hit_area] with [I] by [user]!", \
- "[src] has been attacked in the [hit_area] with [I] by [user]!")
+ visible_message("[user] has attacked [src] in the [hit_area] with [I]!", \
+ "[user] has attacked [src] in the [hit_area] with [I]!")
else
return 0
@@ -442,8 +442,8 @@ emp_act
updatehealth()
M.occupant_message("You hit [src].")
- visible_message("[src] has been hit by [M.name].", \
- "[src] has been hit by [M.name].")
+ visible_message("[M.name] has hit [src]!", \
+ "[M.name] has hit [src]!")
add_logs(M.occupant, src, "attacked", object=M, addition="(INTENT: [uppertext(M.occupant.a_intent)]) (DAMTYPE: [uppertext(M.damtype)])")
else
diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm
index 3d26f84da37..68cce4e3755 100644
--- a/code/modules/mob/living/carbon/human/species.dm
+++ b/code/modules/mob/living/carbon/human/species.dm
@@ -811,11 +811,11 @@
return 0
if(I.attack_verb && I.attack_verb.len)
- H.visible_message("[H] has been [pick(I.attack_verb)] in the [hit_area] with [I] by [user]!", \
- "[H] has been [pick(I.attack_verb)] in the [hit_area] with [I] by [user]!")
+ H.visible_message("[user] has [pick(I.attack_verb)] [H] in the [hit_area] with [I]!", \
+ "[user] has [pick(I.attack_verb)] [H] in the [hit_area] with [I]!")
else if(I.force)
- H.visible_message("[H] has been attacked in the [hit_area] with [I] by [user]!", \
- "[H] has been attacked in the [hit_area] with [I] by [user]!")
+ H.visible_message("[user] has attacked [H] in the [hit_area] with [I]!", \
+ "[user] has attacked [H] in the [hit_area] with [I]!")
else
return 0
@@ -896,23 +896,20 @@
if(istype(location, /turf/simulated))
location.add_blood_floor(H)
- var/showname = "."
- if(user)
- showname = " by [user]!"
- if(user != src)
- user.do_attack_animation(H)
- if(!(user in viewers(I, null)))
- showname = "."
-
+ var/message_verb = ""
if(I.attack_verb && I.attack_verb.len)
- H.visible_message("[H] has been [pick(I.attack_verb)] with [I][showname]",
- "[H] has been [pick(I.attack_verb)] with [I][showname]")
+ message_verb = "[pick(I.attack_verb)]"
else if(I.force)
- H.visible_message("[H] has been attacked with [I][showname]",
- "[H] has been attacked with [I][showname]")
- if(!showname && user)
- if(user.client)
- user << "You attack [H] with [I]. "
+ message_verb = "attacked"
+
+ var/attack_message = "[H] has been [message_verb] with [I]."
+ if(user)
+ user.do_attack_animation(src)
+ if(user in viewers(src, null))
+ attack_message = "[user] has [message_verb] [H] with [I]!"
+ if(message_verb)
+ H.visible_message("[attack_message]",
+ "[attack_message]")
return
diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm
index 7d9357582f6..d15120ce55f 100644
--- a/code/modules/mob/living/living.dm
+++ b/code/modules/mob/living/living.dm
@@ -471,8 +471,7 @@
if (prob(75))
var/obj/item/weapon/grab/G = pick(M.grabbed_by)
if (istype(G, /obj/item/weapon/grab))
- for(var/mob/O in viewers(M, null))
- O.show_message(text("[] has been pulled from []'s grip by []", G.affecting, G.assailant, src), 1)
+ visible_message("[src] has pulled [G.affecting] from [G.assailant]'s grip.")
qdel(G)
else
ok = 0
diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm
index 87e9a0741c4..54898ef7638 100644
--- a/code/modules/mob/living/living_defense.dm
+++ b/code/modules/mob/living/living_defense.dm
@@ -87,8 +87,8 @@ proc/vol_by_throwforce_and_or_w_class(var/obj/item/I)
return
updatehealth()
M.occupant_message("You hit [src].")
- visible_message("[src] has been hit by [M.name].", \
- "[src] has been hit by [M.name].")
+ visible_message("[M.name] has hit [src]!", \
+ "[M.name] has hit [src]!")
add_logs(M.occupant, src, "attacked", object=M, addition="(INTENT: [uppertext(M.occupant.a_intent)]) (DAMTYPE: [uppertext(M.damtype)])")
else
step_away(src,M)
diff --git a/code/modules/mob/living/simple_animal/hostile/syndicate.dm b/code/modules/mob/living/simple_animal/hostile/syndicate.dm
index de4d1fd2b3b..1919d88db64 100644
--- a/code/modules/mob/living/simple_animal/hostile/syndicate.dm
+++ b/code/modules/mob/living/simple_animal/hostile/syndicate.dm
@@ -64,7 +64,7 @@
if (O.damtype == STAMINA)
damage = 0
health -= damage
- visible_message("[src] has been attacked with [O] by [user]!")
+ visible_message("[user] has attacked [src] with [O]!")
else
visible_message("[src] blocks [O] with its shield!")
playsound(loc, O.hitsound, 25, 1, -1)
diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm
index b295ffa078e..ad4c46943aa 100644
--- a/code/modules/mob/living/simple_animal/simple_animal.dm
+++ b/code/modules/mob/living/simple_animal/simple_animal.dm
@@ -357,8 +357,8 @@
damage = O.force
if (O.damtype == STAMINA)
damage = 0
- visible_message("[src] has been [O.attack_verb.len ? "[pick(O.attack_verb)]": "attacked"] with [O] by [user]!",\
- "[src] has been attacked with [O] by [user]!")
+ visible_message("[user] has [O.attack_verb.len ? "[pick(O.attack_verb)]": "attacked"] [src] with [O]!",\
+ "[user] has [O.attack_verb.len ? "[pick(O.attack_verb)]": "attacked"] you with [O]!")
else
visible_message("[O] bounces harmlessly off of [src].",\
"[O] bounces harmlessly off of [src].")
diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm
index 5adebd7b81f..9e160b5c2f4 100644
--- a/code/modules/power/apc.dm
+++ b/code/modules/power/apc.dm
@@ -548,12 +548,12 @@
if (emagged || malfhack || (stat & BROKEN) || opened==2)
new /obj/item/stack/sheet/metal(loc)
user.visible_message(\
- "[src] has been cut apart by [user.name] with the weldingtool.",\
+ "[user.name] has cut [src] apart with [W].",\
"You disassembled the broken APC frame.")
else
new /obj/item/apc_frame(loc)
user.visible_message(\
- "[src] has been cut from the wall by [user.name] with the weldingtool.",\
+ "[user.name] has cut [src] from the wall with [W].",\
"You cut the APC frame from the wall.")
qdel(src)
return
@@ -588,7 +588,7 @@
&& W.w_class >= 3.0 \
&& prob(20) )
opened = 2
- user.visible_message("The APC cover was knocked down with the [W.name] by [user.name]!", \
+ user.visible_message("[user.name] has knocked down the APC cover with the [W.name]!", \
"You knock down the APC cover with your [W.name]!", \
"You hear bang")
update_icon()
@@ -600,7 +600,7 @@
istype(W, /obj/item/weapon/wirecutters) || istype(W, /obj/item/device/assembly/signaler)))
return src.attack_hand(user)
user.do_attack_animation(src)
- user.visible_message("The [src.name] has been hit with the [W.name] by [user.name]!", \
+ user.visible_message("[user.name] has hit the [src.name] with the [W.name]!", \
"You hit the [src.name] with your [W.name]!", \
"You hear bang")
diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm
index ca1af24a7bd..92c325faedf 100644
--- a/code/modules/reagents/reagent_containers/glass.dm
+++ b/code/modules/reagents/reagent_containers/glass.dm
@@ -43,8 +43,8 @@
if(ismob(target) && target.reagents && reagents.total_volume)
var/mob/M = target
var/R
- target.visible_message("[target] has been splashed with something by [user]!", \
- "[target] has been splashed with something by [user]!")
+ target.visible_message("[user] has splashed [target] with something!", \
+ "[user] has splashed [target] with something!")
if(reagents)
for(var/datum/reagent/A in reagents.reagent_list)
R += A.id + " ("
diff --git a/code/modules/recycling/disposal.dm b/code/modules/recycling/disposal.dm
index c64905ab810..307a806d6bd 100644
--- a/code/modules/recycling/disposal.dm
+++ b/code/modules/recycling/disposal.dm
@@ -156,8 +156,8 @@
user.visible_message("[user] climbs into [src].", \
"[user] climbs into [src].")
else
- target.visible_message("[target] has been placed in [src] by [user].", \
- "[target] has been placed in [src] by [user].")
+ target.visible_message("[user] has placed [target] in [src].", \
+ "[user] has placed [target] in [src].")
add_logs(user, target, "stuffed", addition="into [src]")
update()