diff --git a/code/_onclick/item_attack.dm b/code/_onclick/item_attack.dm index 7cb27f60d35..0d4179e4c11 100644 --- a/code/_onclick/item_attack.dm +++ b/code/_onclick/item_attack.dm @@ -101,7 +101,12 @@ /obj/attacked_by(obj/item/I, mob/living/user) var/damage = I.force if(I.force) - user.visible_message("[user] has hit [src] with [I]!", "You hit [src] with [I]!") + user.visible_message( + "[user] has hit [src] with [I]!", + "You hit [src] with [I]!", + "You hear something being struck by a weapon!" + ) + if(ishuman(user)) var/mob/living/carbon/human/H = user damage += H.physiology.melee_bonus @@ -125,11 +130,19 @@ /mob/living/simple_animal/attacked_by(obj/item/I, mob/living/user) if(!I.force) - user.visible_message("[user] gently taps [src] with [I].",\ - "This weapon is ineffective, it does no damage!") + user.visible_message( + "[user] gently taps [src] with [I].", + "This weapon is ineffective, it does no damage!", + "You hear a gentle tapping." + ) + else if(I.force < force_threshold || I.damtype == STAMINA) - visible_message("[I] bounces harmlessly off of [src].",\ - "[I] bounces harmlessly off of [src]!") + visible_message( + "[I] bounces harmlessly off of [src].", + "[I] bounces harmlessly off of [src]!", + "You hear something being struck by a weapon!" + ) + else return ..() @@ -159,6 +172,9 @@ var/attack_message = "[src] has been [message_verb][message_hit_area] with [I]." if(user in viewers(src, null)) attack_message = "[user] has [message_verb] [src][message_hit_area] with [I]!" - visible_message("[attack_message]",\ - "[attack_message]") - return 1 + visible_message( + "[attack_message]", + "[attack_message]", + "You hear someone being attacked with a weapon!" + ) + return TRUE diff --git a/code/datums/spells/bloodcrawl.dm b/code/datums/spells/bloodcrawl.dm index e5c99fac868..b1ab9853096 100644 --- a/code/datums/spells/bloodcrawl.dm +++ b/code/datums/spells/bloodcrawl.dm @@ -102,7 +102,10 @@ /datum/spell/bloodcrawl/proc/sink_animation(atom/A, mob/living/L) var/turf/mob_loc = get_turf(L) - mob_loc.visible_message("[L] sinks into [A].") + mob_loc.visible_message( + "[L] sinks into [A].", + "You hear something sinking into a thick liquid." + ) playsound(mob_loc, 'sound/misc/enter_blood.ogg', 100, TRUE, -1) new /obj/effect/temp_visual/dir_setting/bloodcrawl(mob_loc, L.dir, "jaunt") @@ -113,16 +116,25 @@ if(!istype(victim)) return if(victim.stat == CONSCIOUS) - A.visible_message("[victim] kicks free of [A] just before entering it!") + A.visible_message( + "[victim] kicks free of [A] just before entering it!", + "You hear something sinking into a thick liquid and someone struggling!" + ) L.stop_pulling() return victim.forceMove(holder) victim.emote("scream") - A.visible_message("[L] drags [victim] into [A]!") + A.visible_message( + "[L] drags [victim] into [A]!", + "You hear something being dragged into a thick liquid!" + ) L.stop_pulling() - to_chat(L, "You begin to feast on [victim]. You can not move while you are doing this.") - A.visible_message("Loud eating sounds come from the blood...") + to_chat(L, "You begin to feast on [victim]. You cannot move while you are doing this.") + A.visible_message( + "Loud eating sounds come from the blood...", + "The sound of torn flesh and snapping bones fills the air..." + ) var/sound if(isslaughterdemon(L)) var/mob/living/simple_animal/demon/slaughter/SD = L @@ -200,7 +212,10 @@ if(prob(25) && isdemon(L)) var/list/voice = list('sound/hallucinations/behind_you1.ogg', 'sound/hallucinations/im_here1.ogg', 'sound/hallucinations/turn_around1.ogg', 'sound/hallucinations/i_see_you1.ogg') playsound(tele_loc, pick(voice),50, TRUE, -1) - A.visible_message("[L] rises out of [A]!") + A.visible_message( + "[L] rises out of [A]!", + "You hear something rising out of a thick liquid!" + ) playsound(get_turf(tele_loc), 'sound/misc/exit_blood.ogg', 100, TRUE, -1) /datum/spell/bloodcrawl/proc/unblock_hands(mob/living/carbon/C) @@ -210,7 +225,10 @@ qdel(BC) /datum/spell/bloodcrawl/proc/rise_message(atom/A) - A.visible_message("[A] starts to bubble...") + A.visible_message( + "[A] starts to bubble...", + "You can hear bubbling..." + ) /datum/spell/bloodcrawl/proc/post_phase_out(atom/A, mob/living/L) if(isslaughterdemon(L)) diff --git a/code/datums/spells/mimic.dm b/code/datums/spells/mimic.dm index af1ec3e5b4a..10795b832f7 100644 --- a/code/datums/spells/mimic.dm +++ b/code/datums/spells/mimic.dm @@ -132,7 +132,11 @@ selected_form = form /datum/spell/mimic/proc/show_change_form_message(mob/user, old_name, new_name) - user.visible_message("[old_name] contorts and slowly becomes [new_name]!", "You take form of [new_name].", "You hear loud cracking noises!") + user.visible_message( + "[old_name] contorts and slowly becomes [new_name]!", + "You take the form of [new_name].", + "You hear loud cracking noises!" + ) /datum/spell/mimic/proc/restore_form(mob/user, show_message = TRUE) selected_form = null @@ -157,7 +161,11 @@ UnregisterSignal(user, list(COMSIG_PARENT_EXAMINE, COMSIG_MOB_DEATH)) /datum/spell/mimic/proc/show_restore_form_message(mob/user, old_name, new_name) - user.visible_message("[old_name] shakes and contorts and quickly becomes [new_name]!", "You take return to your normal self.", "You hear loud cracking noises!") + user.visible_message( + "[old_name] shakes and contorts and quickly becomes [new_name]!", + "You return to your normal self.", + "You hear loud cracking noises!" + ) /datum/spell/mimic/proc/examine_override(datum/source, mob/user, list/examine_list) examine_list.Cut() @@ -171,7 +179,11 @@ show_death_message(user) /datum/spell/mimic/proc/show_death_message(mob/user) - user.visible_message("[user] shakes and contorts as [user.p_they()] die[user.p_s()], returning to [user.p_their()] true form!", "Your disguise fails as your life forces drain away.", "You hear loud cracking noises followed by a thud!") + user.visible_message( + "[user] shakes and contorts as [user.p_they()] die[user.p_s()], returning to [user.p_their()] true form!", + "Your disguise fails as your life forces drain away.", + "You hear loud cracking noises followed by a thud!" + ) /datum/mimic_form @@ -208,13 +220,22 @@ user.restore() /datum/spell/mimic/morph/show_change_form_message(mob/user, old_name, new_name) - user.visible_message("[old_name] suddenly twists and changes shape, becoming a copy of [new_name]!", \ - "You twist your body and assume the form of [new_name].") + user.visible_message( + "[old_name] suddenly twists and changes shape, becoming a copy of [new_name]!", + "You twist your body and assume the form of [new_name].", + "You hear loud cracking noises!" + ) /datum/spell/mimic/morph/show_restore_form_message(mob/user, old_name, new_name) - user.visible_message("[old_name] suddenly collapses in on itself, dissolving into a pile of green flesh!", \ - "You reform to your normal body.") + user.visible_message( + "[old_name] suddenly collapses in on itself, dissolving into a pile of green flesh!", + "You reform to your normal body.", + "You hear loud cracking noises followed by a thud!" + ) /datum/spell/mimic/morph/show_death_message(mob/user) - user.visible_message("[user] twists and dissolves into a pile of green flesh!", \ - "Your skin ruptures! Your flesh breaks apart! No disguise can ward off de--") + user.visible_message( + "[user] twists and dissolves into a pile of green flesh!", + "Your skin ruptures! Your flesh breaks apart! No disguise can ward off de--", + "You hear loud cracking noises followed by a thud!" + ) diff --git a/code/game/objects/buckling.dm b/code/game/objects/buckling.dm index ac9c02cd97b..5a8a61cdeb0 100644 --- a/code/game/objects/buckling.dm +++ b/code/game/objects/buckling.dm @@ -148,15 +148,19 @@ . = buckle_mob(M, check_loc = check_loc) if(.) if(M == user) - M.visible_message("[M] buckles [M.p_themselves()] to [src].",\ - "You buckle yourself to [src].",\ - "You hear metal clanking.") + M.visible_message( + "[M] buckles [M.p_themselves()] to [src].", + "You buckle yourself to [src].", + "You hear the click of a buckle being secured." + ) M.create_log(ATTACK_LOG, "Buckles [M.p_themselves()] to [src]", M) log_attack(M, M, "Buckles themselves to [src]") else - M.visible_message("[user] buckles [M] to [src]!",\ - "[user] buckles you to [src]!",\ - "You hear metal clanking.") + M.visible_message( + "[user] buckles [M] to [src]!", + "[user] buckles you to [src]!", + "You hear the click of a buckle being secured." + ) user.create_log(ATTACK_LOG, "[user] has buckled [M] to [src]", M) M.create_log(DEFENSE_LOG, "[M] has been buckled by [user] to [src]", user) log_attack(user, M, "Buckled to [src]") @@ -166,16 +170,20 @@ var/mob/living/M = unbuckle_mob(buckled_mob) if(M) if(M != user) - M.visible_message("[user] unbuckles [M] from [src].",\ - "[user] unbuckles you from [src].",\ - "You hear metal clanking.") + M.visible_message( + "[user] unbuckles [M] from [src].", + "[user] unbuckles you from [src].", + "You hear the click of a buckle being undone." + ) user.create_log(ATTACK_LOG, "[user] has unbuckled [M] from [src]", M) M.create_log(DEFENSE_LOG, "[M] has been unbuckled by [user] from [src]", user) log_attack(user, M, "Unbuckled from [src]") else - M.visible_message("[M] unbuckles [M.p_themselves()] from [src].",\ - "You unbuckle yourself from [src].",\ - "You hear metal clanking.") + M.visible_message( + "[M] unbuckles [M.p_themselves()] from [src].", + "You unbuckle yourself from [src].", + "You hear the click of a buckle being undone." + ) M.create_log(ATTACK_LOG, "Unbuckles [M.p_themselves()] from [src]", M) log_attack(M, M, "Unbuckles themselves from [src]") add_fingerprint(user) diff --git a/code/modules/games/cards.dm b/code/modules/games/cards.dm index a794a6c784a..199a7add0bc 100644 --- a/code/modules/games/cards.dm +++ b/code/modules/games/cards.dm @@ -163,7 +163,11 @@ H.parentdeck = src H.update_values() H.update_appearance(UPDATE_NAME|UPDATE_DESC|UPDATE_OVERLAYS) - user.visible_message("[user] draws a card.","You draw a card.") + user.visible_message( + "[user] draws a card.", + "You draw a card.", + "You hear a card being drawn." + ) to_chat(user,"It's the [P].") /obj/item/deck/proc/deal_card() @@ -217,12 +221,19 @@ H.concealed = TRUE H.update_appearance(UPDATE_NAME|UPDATE_DESC|UPDATE_OVERLAYS) if(user == target) - user.visible_message("[user] deals [dcard] card(s) to [user.p_themselves()].") + user.visible_message( + "[user] deals [dcard] card\s to [user.p_themselves()].", + "You deal [dcard] card\s to yourself.", + "You hear cards being dealt." + ) else - user.visible_message("[user] deals [dcard] card(s) to [target].") + user.visible_message( + "[user] deals [dcard] card\s to [target].", + "You deal [dcard] card\s to [target].", + "You hear cards being dealt." + ) H.throw_at(get_step(target, target.dir), 3, 1, null) - /obj/item/deck/attack_self() deckshuffle() @@ -235,7 +246,11 @@ cards = shuffle(cards) if(user) - user.visible_message("[user] shuffles [src].") + user.visible_message( + "[user] shuffles [src].", + "You shuffle [src].", + "You hear cards being shuffled." + ) playsound(user, 'sound/items/cardshuffle.ogg', 50, TRUE) cooldown = world.time @@ -244,6 +259,7 @@ var/mob/M = usr if(M.incapacitated() || !Adjacent(M)) return + if(!ishuman(M)) return @@ -278,7 +294,11 @@ /obj/item/pack/attack_self(mob/user as mob) - user.visible_message("[name] rips open [src]!", "You rip open [src]!") + user.visible_message( + "[name] rips open [src]!", + "You rip open [src]!", + "You hear the sound of a packet being ripped open." + ) var/obj/item/cardhand/H = new(get_turf(user)) H.cards += cards @@ -352,7 +372,11 @@ /obj/item/cardhand/proc/turn_hand(mob/user) concealed = !concealed update_appearance(UPDATE_NAME|UPDATE_DESC|UPDATE_OVERLAYS) - user.visible_message("[user] [concealed ? "conceals" : "reveals"] their hand.") + user.visible_message( + "[user] [concealed ? "conceals" : "reveals"] their hand.", + "You[concealed ? "conceal" : "reveal"] your hand.", + "You hear a hand of cards being flipped over." + ) /obj/item/cardhand/interact(mob/user) var/dat = "You have:
" @@ -440,7 +464,11 @@ var/datum/playingcard/card = pickablecards[pickedcard] if(loc != user) // Don't want people teleporting cards return - user.visible_message("[user] draws a card from [user.p_their()] hand.", "You take the [pickedcard] from your hand.") + user.visible_message( + "[user] draws a card from [user.p_their()] hand.", + "You take \the [pickedcard] from your hand.", + "You hear a card being drawn." + ) pickedcard = null var/obj/item/cardhand/H = new(get_turf(src)) @@ -492,7 +520,11 @@ if(length(cards)) update_appearance(UPDATE_NAME|UPDATE_DESC|UPDATE_OVERLAYS) if(length(H.cards)) - user.visible_message("[user] plays the [discarding].", "You play the [discarding].") + user.visible_message( + "[user] plays \the [discarding].", + "You play \the [discarding].", + "You hear a card being played." + ) H.loc = get_step(user, user.dir) if(!length(cards)) diff --git a/code/modules/games/tarot.dm b/code/modules/games/tarot.dm index eba209dd892..6f0485d0da3 100644 --- a/code/modules/games/tarot.dm +++ b/code/modules/games/tarot.dm @@ -25,7 +25,11 @@ newcards += P cards -= P cards = newcards - playsound(user, 'sound/items/cardshuffle.ogg', 50, 1) - user.visible_message("[user] shuffles [src].", "You shuffle [src].") + playsound(user, 'sound/items/cardshuffle.ogg', 50, TRUE) + user.visible_message( + "[user] shuffles [src].", + "You shuffle [src].", + "You hear cards being shuffled." + ) cooldown = world.time diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index 0b877bd3b45..6bab66d46c8 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -150,10 +150,18 @@ playsound(user, fire_sound, 50, 1) if(message) if(pointblank) - user.visible_message("[user] fires [src] point blank at [target]!", "You fire [src] point blank at [target]!", "You hear \a [fire_sound_text]!") + user.visible_message( + "[user] fires [src] point blank at [target]!", + "You fire [src] point blank at [target]!", + "You hear \a [fire_sound_text]!" + ) else - user.visible_message("[user] fires [src]!", "You fire [src]!", "You hear \a [fire_sound_text]!") - if(chambered?.muzzle_flash_effect) + user.visible_message( + "[user] fires [src]!", + "You fire [src]!", + "You hear \a [fire_sound_text]!" + ) + if(chambered.muzzle_flash_effect) var/obj/effect/temp_visual/target_angled/muzzle_flash/effect = new chambered.muzzle_flash_effect(get_turf(src), target, muzzle_flash_time) effect.alpha = min(255, muzzle_strength * 255) if(chambered.muzzle_flash_color) @@ -193,7 +201,11 @@ if(flag) if(user.zone_selected == "mouth") if(target == user && HAS_TRAIT(user, TRAIT_BADASS)) // Check if we are blowing smoke off of our own gun, otherwise we are trying to execute someone - user.visible_message("[user] blows smoke off of [src]'s barrel. What a badass.") + user.visible_message( + "[user] blows smoke off of [src]'s barrel. What a badass.", + "You blow smoke off of [src]'s barrel.", + "You hear someone blowing over a hollow tube." + ) else handle_suicide(user, target, params) return @@ -473,11 +485,15 @@ if(user == target) if(!ishuman(user)) // Borg suicide needs a refactor for this to work. return - target.visible_message("[user] sticks [src] in [user.p_their()] mouth, ready to pull the trigger...", \ - "You stick [src] in your mouth, ready to pull the trigger...") + target.visible_message( + "[user] sticks [src] in [user.p_their()] mouth, ready to pull the trigger...", + "You stick [src] in your mouth, ready to pull the trigger..." + ) else - target.visible_message("[user] points [src] at [target]'s head, ready to pull the trigger...", \ - "[user] points [src] at your head, ready to pull the trigger...") + target.visible_message( + "[user] points [src] at [target]'s head, ready to pull the trigger...", + "[user] points [src] at your head, ready to pull the trigger..." + ) semicd = 1 @@ -486,13 +502,19 @@ if(user == target) user.visible_message("[user] decided life was worth living.") else if(target && target.Adjacent(user)) - target.visible_message("[user] has decided to spare [target]'s life.", "[user] has decided to spare your life!") + target.visible_message( + "[user] has decided to spare [target]'s life.", + "[user] has decided to spare your life!" + ) semicd = 0 return semicd = 0 - target.visible_message("[user] pulls the trigger!", "[user] pulls the trigger!") + target.visible_message( + "[user] pulls the trigger!", + "[user] pulls the trigger!" + ) if(chambered && chambered.BB) chambered.BB.damage *= 5