From 5a6d7cff96c4ae859dc387f3d558550508613d7b Mon Sep 17 00:00:00 2001 From: Matt Atlas Date: Wed, 4 Sep 2019 20:21:24 +0200 Subject: [PATCH] Bigger, more varied pain messages. (#6914) * MY BONES, MY BONES, AAAAA * get me off mr pain's wild ride * Kore ga Requiem da. * I hate you Travis. Die die die die die die die die. --- .../mob/living/carbon/carbon_defense.dm | 12 +++--- .../mob/living/carbon/human/human_defense.dm | 4 +- .../mob/living/simple_animal/hostile/carp.dm | 4 +- code/modules/organs/blood.dm | 8 ++-- code/modules/organs/organ_external.dm | 15 +++---- code/modules/organs/pain.dm | 12 +++--- code/modules/projectiles/projectile.dm | 2 +- html/changelogs/mattatlas-6914.yml | 42 +++++++++++++++++++ 8 files changed, 71 insertions(+), 28 deletions(-) create mode 100644 html/changelogs/mattatlas-6914.yml diff --git a/code/modules/mob/living/carbon/carbon_defense.dm b/code/modules/mob/living/carbon/carbon_defense.dm index 9029101f54a..42b1b326104 100644 --- a/code/modules/mob/living/carbon/carbon_defense.dm +++ b/code/modules/mob/living/carbon/carbon_defense.dm @@ -19,7 +19,7 @@ show_ssd = H.species.show_ssd if(H && show_ssd && !client && !teleop) if(H.bg) - visible_message(span("danger", "[src] was hit by [AM] waking [t_him] up!")) + visible_message(span("danger", "[src] is hit by [AM] waking [t_him] up!")) if(H.health / H.maxHealth < 0.5) H.bg.awaken_impl(TRUE) sleeping = 0 @@ -27,9 +27,9 @@ else to_chat(H, span("danger", "You sense great disturbance to your physical body!")) else - visible_message(span("danger","[src] was hit by [AM], but they do not respond... Maybe they have S.S.D?")) + visible_message(span("danger","[src] is hit by [AM], but they do not respond... Maybe they have S.S.D?")) else if(client && willfully_sleeping) - visible_message(span("danger", "[src] was hit by [AM] waking [t_him] up!")) + visible_message(span("danger", "[src] is hit by [AM] waking [t_him] up!")) sleeping = 0 willfully_sleeping = 0 @@ -81,11 +81,11 @@ else to_chat(H, span("danger", "You sense great disturbance to your physical body!")) else - user.visible_message("[user] attacked [src] with [I] waking [t_him] up!", \ - "You attacked [src] with [I], but they do not respond... Maybe they have S.S.D?") + user.visible_message("[user] attacks [src] with [I] waking [t_him] up!", \ + "You attack [src] with [I], but they do not respond... Maybe they have S.S.D?") else if(client && willfully_sleeping) user.visible_message("[user] attacked [src] with [I] waking [t_him] up!", \ - "You attacked [src] with [I] waking [t_him] up!") + "You attack [src] with [I], waking [t_him] up!") sleeping = 0 willfully_sleeping = 0 diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index 2039268e1c7..c2f8c2db779 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -382,8 +382,8 @@ emp_act var/obj/item/organ/external/affecting = get_organ(zone) var/hit_area = affecting.name - src.visible_message("[src] has been hit in the [hit_area] by [O].") - var/armor = run_armor_check(affecting, "melee", O.armor_penetration, "Your armor has protected your [hit_area].", "Your armor has softened hit to your [hit_area].") //I guess "melee" is the best fit here + src.visible_message("[src] has been hit in the [hit_area] by [O].", "You're hit in the [hit_area] by [O]!") + var/armor = run_armor_check(affecting, "melee", O.armor_penetration, "Your armor has protected your [hit_area].", "Your armor has softened the hit to your [hit_area].") //I guess "melee" is the best fit here if(armor < 100) apply_damage(throw_damage, dtype, zone, armor, is_sharp(O), has_edge(O), O) diff --git a/code/modules/mob/living/simple_animal/hostile/carp.dm b/code/modules/mob/living/simple_animal/hostile/carp.dm index f3b7619e7b3..6c61d65d001 100644 --- a/code/modules/mob/living/simple_animal/hostile/carp.dm +++ b/code/modules/mob/living/simple_animal/hostile/carp.dm @@ -73,7 +73,7 @@ if(istype(target_mob, /obj/effect/energy_field)) var/obj/effect/energy_field/e = target_mob e.Stress(rand(1,2)) - visible_message("\the [src] has attacked [e]!") + visible_message("\the [src] bites \the [e]!") src.do_attack_animation(e) return e @@ -83,7 +83,7 @@ var/obj/effect/energy_field/e = locate(/obj/effect/energy_field, get_step(src, dir)) if(e) e.Stress(rand(1,2)) - visible_message("\the [src] has attacked [e]!") + visible_message("\the [src] bites \the [e]!") src.do_attack_animation(e) target_mob = e stance = HOSTILE_STANCE_ATTACKING diff --git a/code/modules/organs/blood.dm b/code/modules/organs/blood.dm index 631ba459563..6ecc0221aa2 100644 --- a/code/modules/organs/blood.dm +++ b/code/modules/organs/blood.dm @@ -91,10 +91,10 @@ var/const/BLOOD_VOLUME_SURVIVE = 122 pale = 1 update_body() var/word = pick("dizzy","woosey","faint") - to_chat(src, "You feel [word]") + to_chat(src, "You feel [word]...") if(prob(1)) var/word = pick("dizzy","woosey","faint") - to_chat(src, "You feel [word]") + to_chat(src, "You feel [word]...") if(BLOOD_VOLUME_BAD to BLOOD_VOLUME_OKAY) if(!pale) pale = 1 @@ -104,13 +104,13 @@ var/const/BLOOD_VOLUME_SURVIVE = 122 if(prob(15)) Paralyse(rand(1,3)) var/word = pick("dizzy","woosey","faint") - to_chat(src, "You feel extremely [word]") + to_chat(src, "You feel extremely [word]...") if(BLOOD_VOLUME_SURVIVE to BLOOD_VOLUME_BAD) oxyloss += 3 toxloss += 3 if(prob(15)) var/word = pick("dizzy","woosey","faint") - to_chat(src, "You feel extremely [word]") + to_chat(src, "You feel extremely [word]...") if(0 to BLOOD_VOLUME_SURVIVE) // There currently is a strange bug here. If the mob is not below -100 health // when death() is called, apparently they will be just fine, and this way it'll diff --git a/code/modules/organs/organ_external.dm b/code/modules/organs/organ_external.dm index 4db61c088f7..61b3da90ebc 100644 --- a/code/modules/organs/organ_external.dm +++ b/code/modules/organs/organ_external.dm @@ -747,20 +747,20 @@ Note that amputating the affected organ does in fact remove the infection from t var/gore_sound = "[(status & ORGAN_ROBOT) ? "tortured metal" : "ripping tendons and flesh"]" owner.visible_message( "\The [owner]'s [src.name] flies off in an arc!",\ - "Your [src.name] goes flying off!",\ + "Your [src.name] goes flying off!",\ "You hear the terrible sound of [gore_sound].") if(DROPLIMB_BURN) var/gore = "[(status & ORGAN_ROBOT) ? "": " of burning flesh"]" owner.visible_message( "\The [owner]'s [src.name] flashes away into ashes!",\ - "Your [src.name] flashes away into ashes!",\ + "Your [src.name] flashes away into ashes!",\ "You hear the crackling sound[gore].") if(DROPLIMB_BLUNT) var/gore = "[(status & ORGAN_ROBOT) ? "": " in a shower of gore"]" var/gore_sound = "[(status & ORGAN_ROBOT) ? "rending sound of tortured metal" : "sickening splatter of gore"]" owner.visible_message( "\The [owner]'s [src.name] explodes[gore]!",\ - "Your [src.name] explodes[gore]!",\ + "Your [src.name] explodes[gore]!",\ "You hear the [gore_sound].") var/mob/living/carbon/human/victim = owner //Keep a reference for post-removed(). @@ -913,10 +913,11 @@ Note that amputating the affected organ does in fact remove the infection from t return if(owner) + var/message = pick("snapped in half", "shattered", "was pulverized") owner.visible_message(\ - "You hear a loud cracking sound coming from \the [owner].",\ - "Something feels like it shattered in your [name]!",\ - "You hear a sickening crack.") + "You hear a loud cracking sound coming from \the [owner]!",\ + "Something feels like it [message] in your [name]!",\ + "You hear a sickening crack!") if(owner.species && (owner.can_feel_pain())) owner.emote("scream") @@ -1028,7 +1029,7 @@ Note that amputating the affected organ does in fact remove the infection from t if(supplied_message) owner.visible_message("[supplied_message]") else - owner.visible_message("\The [W] sticks in the wound!") + owner.visible_message("\The [W] sticks in [owner]'s wound!", "\The [W] sticks in your wound!") implants += W owner.embedded_flag = 1 owner.verbs += /mob/proc/yank_out_object diff --git a/code/modules/organs/pain.dm b/code/modules/organs/pain.dm index ac396365b75..f0a0190f1a7 100644 --- a/code/modules/organs/pain.dm +++ b/code/modules/organs/pain.dm @@ -28,20 +28,20 @@ mob/living/carbon/proc/pain(var/partname, var/amount, var/force, var/burning = 0 msg = "Your [partname] burns." if(11 to 90) flash_weak_pain() - msg = "Your [partname] burns horribly!" + msg = "Your [partname] burns horribly!" if(91 to 10000) flash_pain() - msg = "Your [partname] feels like it's on fire!" + msg = "Your [partname] feels like it's on fire!" else switch(amount) - if(1 to 10) + if(5 to 14) msg = "Your [partname] hurts." - if(11 to 90) + if(15 to 90) flash_weak_pain() - msg = "Your [partname] hurts badly!" + msg = "Your [partname] hurts badly!" if(91 to 10000) flash_pain() - msg = "Your [partname] is screaming out in pain!" + msg = "Your [partname] is screaming out in pain!" if(msg && (msg != last_pain_message || prob(10))) last_pain_message = msg to_chat(src, msg) diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index 5d37d7ee67b..460fe76c392 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -184,7 +184,7 @@ if(silenced) to_chat(target_mob, "You've been hit in the [parse_zone(def_zone)] by \the [src]!") else - target_mob.visible_message("\The [target_mob] is hit by \the [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 + target_mob.visible_message("\The [target_mob] is hit by \the [src] in the [parse_zone(def_zone)]!", "You're hit by \the [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 //admin logs if(!no_attack_log) diff --git a/html/changelogs/mattatlas-6914.yml b/html/changelogs/mattatlas-6914.yml new file mode 100644 index 00000000000..27f15227700 --- /dev/null +++ b/html/changelogs/mattatlas-6914.yml @@ -0,0 +1,42 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# maptweak +# spellcheck (typo fixes) +# experiment +# balance +# admin +# backend +# security +# refactor +################################# + +# Your name. +author: MattAtlas + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. +# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. +changes: + - tweak: "Intense pain messages should now be bigger." + - tweak: "Re-worded some pain messages and added some others."