mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-22 12:41:09 +01:00
Removes some unnecessary species mentions from kapuparts (#66112)
#65523 made some changes to bodypart names that messed with the grammar of a few messages around the codebase by inserting the species of a bodypart where it's really not needed. For example: For most general combat/health cases, we don't need to worry about the species of a bodypart. So, this changes combat and wound messages back to simply displaying the relevant bodypart zone being attacked/affected. See below: dreamseeker_2022-04-10_02-05-55.png Let me know if I missed any! Why It's Good For The Game Better grammar Changelog cl Ryll/Shaps spellcheck: Wound and combat messages will no longer mention the species of an attacked bodypart when not appropriate /cl
This commit is contained in:
+24
-19
@@ -763,26 +763,31 @@ GLOBAL_LIST_EMPTY(species_list)
|
||||
if(mob.ckey == key)
|
||||
return mob
|
||||
|
||||
///Return a string for the specified body zone
|
||||
///Return a string for the specified body zone. Should be used for parsing non-instantiated bodyparts, otherwise use [/obj/item/bodypart/var/plaintext_zone]
|
||||
/proc/parse_zone(zone)
|
||||
if(zone == BODY_ZONE_PRECISE_R_HAND)
|
||||
return "right hand"
|
||||
else if (zone == BODY_ZONE_PRECISE_L_HAND)
|
||||
return "left hand"
|
||||
else if (zone == BODY_ZONE_L_ARM)
|
||||
return "left arm"
|
||||
else if (zone == BODY_ZONE_R_ARM)
|
||||
return "right arm"
|
||||
else if (zone == BODY_ZONE_L_LEG)
|
||||
return "left leg"
|
||||
else if (zone == BODY_ZONE_R_LEG)
|
||||
return "right leg"
|
||||
else if (zone == BODY_ZONE_PRECISE_L_FOOT)
|
||||
return "left foot"
|
||||
else if (zone == BODY_ZONE_PRECISE_R_FOOT)
|
||||
return "right foot"
|
||||
else
|
||||
return zone
|
||||
switch(zone)
|
||||
if(BODY_ZONE_CHEST)
|
||||
return "chest"
|
||||
if(BODY_ZONE_HEAD)
|
||||
return "head"
|
||||
if(BODY_ZONE_PRECISE_R_HAND)
|
||||
return "right hand"
|
||||
if(BODY_ZONE_PRECISE_L_HAND)
|
||||
return "left hand"
|
||||
if(BODY_ZONE_L_ARM)
|
||||
return "left arm"
|
||||
if(BODY_ZONE_R_ARM)
|
||||
return "right arm"
|
||||
if(BODY_ZONE_L_LEG)
|
||||
return "left leg"
|
||||
if(BODY_ZONE_R_LEG)
|
||||
return "right leg"
|
||||
if(BODY_ZONE_PRECISE_L_FOOT)
|
||||
return "left foot"
|
||||
if(BODY_ZONE_PRECISE_R_FOOT)
|
||||
return "right foot"
|
||||
else
|
||||
return zone
|
||||
|
||||
///Returns the direction that the initiator and the target are facing
|
||||
/proc/check_target_facings(mob/living/initiator, mob/living/target)
|
||||
|
||||
@@ -147,14 +147,14 @@
|
||||
return
|
||||
|
||||
if(!silent && !demoted)
|
||||
var/msg = span_danger("[victim]'s [limb.name] [occur_text]!")
|
||||
var/msg = span_danger("[victim]'s [limb.plaintext_zone] [occur_text]!")
|
||||
var/vis_dist = COMBAT_MESSAGE_RANGE
|
||||
|
||||
if(severity != WOUND_SEVERITY_MODERATE)
|
||||
msg = "<b>[msg]</b>"
|
||||
vis_dist = DEFAULT_MESSAGE_RANGE
|
||||
|
||||
victim.visible_message(msg, span_userdanger("Your [limb.name] [occur_text]!"), vision_distance = vis_dist)
|
||||
victim.visible_message(msg, span_userdanger("Your [limb.plaintext_zone] [occur_text]!"), vision_distance = vis_dist)
|
||||
if(sound_effect)
|
||||
playsound(L.owner, sound_effect, 70 + 20 * severity, TRUE)
|
||||
|
||||
@@ -405,7 +405,7 @@
|
||||
* * mob/user: The user examining the wound's owner, if that matters
|
||||
*/
|
||||
/datum/wound/proc/get_examine_description(mob/user)
|
||||
. = "[victim.p_their(TRUE)] [limb.name] [examine_desc]"
|
||||
. = "[victim.p_their(TRUE)] [limb.plaintext_zone] [examine_desc]"
|
||||
. = severity <= WOUND_SEVERITY_MODERATE ? "[.]." : "<B>[.]!</B>"
|
||||
|
||||
/datum/wound/proc/get_scanner_description(mob/user)
|
||||
|
||||
+40
-40
@@ -48,7 +48,7 @@
|
||||
I = victim.get_inactive_held_item()
|
||||
|
||||
if(I && victim.dropItemToGround(I))
|
||||
victim.visible_message(span_danger("[victim] drops [I] in shock!"), span_warning("<b>The force on your [parse_zone(limb.body_zone)] causes you to drop [I]!</b>"), vision_distance=COMBAT_MESSAGE_RANGE)
|
||||
victim.visible_message(span_danger("[victim] drops [I] in shock!"), span_warning("<b>The force on your [limb.plaintext_zone] causes you to drop [I]!</b>"), vision_distance=COMBAT_MESSAGE_RANGE)
|
||||
|
||||
update_inefficiencies()
|
||||
|
||||
@@ -91,7 +91,7 @@
|
||||
if(!victim || !limb)
|
||||
qdel(src)
|
||||
return
|
||||
to_chat(victim, span_green("Your [parse_zone(limb.body_zone)] has recovered from its [name]!"))
|
||||
to_chat(victim, span_green("Your [limb.plaintext_zone] has recovered from its [name]!"))
|
||||
remove_wound()
|
||||
|
||||
/// If we're a human who's punching something with a broken arm, we might hurt ourselves doing so
|
||||
@@ -105,11 +105,11 @@
|
||||
if(prob((severity - 1) * 15))
|
||||
// And you have a 70% or 50% chance to actually land the blow, respectively
|
||||
if(prob(70 - 20 * (severity - 1)))
|
||||
to_chat(victim, span_userdanger("The fracture in your [parse_zone(limb.body_zone)] shoots with pain as you strike [target]!"))
|
||||
to_chat(victim, span_userdanger("The fracture in your [limb.plaintext_zone] shoots with pain as you strike [target]!"))
|
||||
limb.receive_damage(brute=rand(1,5))
|
||||
else
|
||||
victim.visible_message(span_danger("[victim] weakly strikes [target] with [victim.p_their()] broken [parse_zone(limb.body_zone)], recoiling from pain!"), \
|
||||
span_userdanger("You fail to strike [target] as the fracture in your [parse_zone(limb.body_zone)] lights up in unbearable pain!"), vision_distance=COMBAT_MESSAGE_RANGE)
|
||||
victim.visible_message(span_danger("[victim] weakly strikes [target] with [victim.p_their()] broken [limb.plaintext_zone], recoiling from pain!"), \
|
||||
span_userdanger("You fail to strike [target] as the fracture in your [limb.plaintext_zone] lights up in unbearable pain!"), vision_distance=COMBAT_MESSAGE_RANGE)
|
||||
INVOKE_ASYNC(victim, /mob.proc/emote, "scream")
|
||||
victim.Stun(0.5 SECONDS)
|
||||
limb.receive_damage(brute=rand(3,7))
|
||||
@@ -149,7 +149,7 @@
|
||||
|
||||
var/list/msg = list()
|
||||
if(!limb.current_gauze)
|
||||
msg += "[victim.p_their(TRUE)] [parse_zone(limb.body_zone)] [examine_desc]"
|
||||
msg += "[victim.p_their(TRUE)] [limb.plaintext_zone] [examine_desc]"
|
||||
else
|
||||
var/sling_condition = ""
|
||||
// how much life we have left in these bandages
|
||||
@@ -163,7 +163,7 @@
|
||||
if(4 to INFINITY)
|
||||
sling_condition = "tightly"
|
||||
|
||||
msg += "[victim.p_their(TRUE)] [parse_zone(limb.body_zone)] is [sling_condition] fastened in a sling of [limb.current_gauze.name]"
|
||||
msg += "[victim.p_their(TRUE)] [limb.plaintext_zone] is [sling_condition] fastened in a sling of [limb.current_gauze.name]"
|
||||
|
||||
if(taped)
|
||||
msg += ", [span_notice("and appears to be reforming itself under some surgical tape!")]"
|
||||
@@ -231,7 +231,7 @@
|
||||
/datum/wound/blunt/moderate/proc/door_crush()
|
||||
SIGNAL_HANDLER
|
||||
if(prob(40))
|
||||
victim.visible_message(span_danger("[victim]'s dislocated [parse_zone(limb.body_zone)] pops back into place!"), span_userdanger("Your dislocated [parse_zone(limb.body_zone)] pops back into place! Ow!"))
|
||||
victim.visible_message(span_danger("[victim]'s dislocated [limb.plaintext_zone] pops back into place!"), span_userdanger("Your dislocated [limb.plaintext_zone] pops back into place! Ow!"))
|
||||
remove_wound()
|
||||
|
||||
/datum/wound/blunt/moderate/try_handling(mob/living/carbon/human/user)
|
||||
@@ -243,8 +243,8 @@
|
||||
return TRUE
|
||||
|
||||
if(user.grab_state >= GRAB_AGGRESSIVE)
|
||||
user.visible_message(span_danger("[user] begins twisting and straining [victim]'s dislocated [parse_zone(limb.body_zone)]!"), span_notice("You begin twisting and straining [victim]'s dislocated [parse_zone(limb.body_zone)]..."), ignored_mobs=victim)
|
||||
to_chat(victim, span_userdanger("[user] begins twisting and straining your dislocated [parse_zone(limb.body_zone)]!"))
|
||||
user.visible_message(span_danger("[user] begins twisting and straining [victim]'s dislocated [limb.plaintext_zone]!"), span_notice("You begin twisting and straining [victim]'s dislocated [limb.plaintext_zone]..."), ignored_mobs=victim)
|
||||
to_chat(victim, span_userdanger("[user] begins twisting and straining your dislocated [limb.plaintext_zone]!"))
|
||||
if(!user.combat_mode)
|
||||
chiropractice(user)
|
||||
else
|
||||
@@ -259,14 +259,14 @@
|
||||
return
|
||||
|
||||
if(prob(65))
|
||||
user.visible_message(span_danger("[user] snaps [victim]'s dislocated [parse_zone(limb.body_zone)] back into place!"), span_notice("You snap [victim]'s dislocated [parse_zone(limb.body_zone)] back into place!"), ignored_mobs=victim)
|
||||
to_chat(victim, span_userdanger("[user] snaps your dislocated [parse_zone(limb.body_zone)] back into place!"))
|
||||
user.visible_message(span_danger("[user] snaps [victim]'s dislocated [limb.plaintext_zone] back into place!"), span_notice("You snap [victim]'s dislocated [limb.plaintext_zone] back into place!"), ignored_mobs=victim)
|
||||
to_chat(victim, span_userdanger("[user] snaps your dislocated [limb.plaintext_zone] back into place!"))
|
||||
victim.emote("scream")
|
||||
limb.receive_damage(brute=20, wound_bonus=CANT_WOUND)
|
||||
qdel(src)
|
||||
else
|
||||
user.visible_message(span_danger("[user] wrenches [victim]'s dislocated [parse_zone(limb.body_zone)] around painfully!"), span_danger("You wrench [victim]'s dislocated [parse_zone(limb.body_zone)] around painfully!"), ignored_mobs=victim)
|
||||
to_chat(victim, span_userdanger("[user] wrenches your dislocated [parse_zone(limb.body_zone)] around painfully!"))
|
||||
user.visible_message(span_danger("[user] wrenches [victim]'s dislocated [limb.plaintext_zone] around painfully!"), span_danger("You wrench [victim]'s dislocated [limb.plaintext_zone] around painfully!"), ignored_mobs=victim)
|
||||
to_chat(victim, span_userdanger("[user] wrenches your dislocated [limb.plaintext_zone] around painfully!"))
|
||||
limb.receive_damage(brute=10, wound_bonus=CANT_WOUND)
|
||||
chiropractice(user)
|
||||
|
||||
@@ -278,33 +278,33 @@
|
||||
return
|
||||
|
||||
if(prob(65))
|
||||
user.visible_message(span_danger("[user] snaps [victim]'s dislocated [parse_zone(limb.body_zone)] with a sickening crack!"), span_danger("You snap [victim]'s dislocated [parse_zone(limb.body_zone)] with a sickening crack!"), ignored_mobs=victim)
|
||||
to_chat(victim, span_userdanger("[user] snaps your dislocated [parse_zone(limb.body_zone)] with a sickening crack!"))
|
||||
user.visible_message(span_danger("[user] snaps [victim]'s dislocated [limb.plaintext_zone] with a sickening crack!"), span_danger("You snap [victim]'s dislocated [limb.plaintext_zone] with a sickening crack!"), ignored_mobs=victim)
|
||||
to_chat(victim, span_userdanger("[user] snaps your dislocated [limb.plaintext_zone] with a sickening crack!"))
|
||||
victim.emote("scream")
|
||||
limb.receive_damage(brute=25, wound_bonus=30)
|
||||
else
|
||||
user.visible_message(span_danger("[user] wrenches [victim]'s dislocated [parse_zone(limb.body_zone)] around painfully!"), span_danger("You wrench [victim]'s dislocated [parse_zone(limb.body_zone)] around painfully!"), ignored_mobs=victim)
|
||||
to_chat(victim, span_userdanger("[user] wrenches your dislocated [parse_zone(limb.body_zone)] around painfully!"))
|
||||
user.visible_message(span_danger("[user] wrenches [victim]'s dislocated [limb.plaintext_zone] around painfully!"), span_danger("You wrench [victim]'s dislocated [limb.plaintext_zone] around painfully!"), ignored_mobs=victim)
|
||||
to_chat(victim, span_userdanger("[user] wrenches your dislocated [limb.plaintext_zone] around painfully!"))
|
||||
limb.receive_damage(brute=10, wound_bonus=CANT_WOUND)
|
||||
malpractice(user)
|
||||
|
||||
|
||||
/datum/wound/blunt/moderate/treat(obj/item/I, mob/user)
|
||||
if(victim == user)
|
||||
victim.visible_message(span_danger("[user] begins resetting [victim.p_their()] [parse_zone(limb.body_zone)] with [I]."), span_warning("You begin resetting your [parse_zone(limb.body_zone)] with [I]..."))
|
||||
victim.visible_message(span_danger("[user] begins resetting [victim.p_their()] [limb.plaintext_zone] with [I]."), span_warning("You begin resetting your [limb.plaintext_zone] with [I]..."))
|
||||
else
|
||||
user.visible_message(span_danger("[user] begins resetting [victim]'s [parse_zone(limb.body_zone)] with [I]."), span_notice("You begin resetting [victim]'s [parse_zone(limb.body_zone)] with [I]..."))
|
||||
user.visible_message(span_danger("[user] begins resetting [victim]'s [limb.plaintext_zone] with [I]."), span_notice("You begin resetting [victim]'s [limb.plaintext_zone] with [I]..."))
|
||||
|
||||
if(!do_after(user, base_treat_time * (user == victim ? 1.5 : 1), target = victim, extra_checks=CALLBACK(src, .proc/still_exists)))
|
||||
return
|
||||
|
||||
if(victim == user)
|
||||
limb.receive_damage(brute=15, wound_bonus=CANT_WOUND)
|
||||
victim.visible_message(span_danger("[user] finishes resetting [victim.p_their()] [parse_zone(limb.body_zone)]!"), span_userdanger("You reset your [parse_zone(limb.body_zone)]!"))
|
||||
victim.visible_message(span_danger("[user] finishes resetting [victim.p_their()] [limb.plaintext_zone]!"), span_userdanger("You reset your [limb.plaintext_zone]!"))
|
||||
else
|
||||
limb.receive_damage(brute=10, wound_bonus=CANT_WOUND)
|
||||
user.visible_message(span_danger("[user] finishes resetting [victim]'s [parse_zone(limb.body_zone)]!"), span_nicegreen("You finish resetting [victim]'s [parse_zone(limb.body_zone)]!"), ignored_mobs=victim)
|
||||
to_chat(victim, span_userdanger("[user] resets your [parse_zone(limb.body_zone)]!"))
|
||||
user.visible_message(span_danger("[user] finishes resetting [victim]'s [limb.plaintext_zone]!"), span_nicegreen("You finish resetting [victim]'s [limb.plaintext_zone]!"), ignored_mobs=victim)
|
||||
to_chat(victim, span_userdanger("[user] resets your [limb.plaintext_zone]!"))
|
||||
|
||||
victim.emote("scream")
|
||||
qdel(src)
|
||||
@@ -375,10 +375,10 @@
|
||||
return
|
||||
|
||||
if(gelled)
|
||||
to_chat(user, span_warning("[user == victim ? "Your" : "[victim]'s"] [parse_zone(limb.body_zone)] is already coated with bone gel!"))
|
||||
to_chat(user, span_warning("[user == victim ? "Your" : "[victim]'s"] [limb.plaintext_zone] is already coated with bone gel!"))
|
||||
return
|
||||
|
||||
user.visible_message(span_danger("[user] begins hastily applying [I] to [victim]'s' [parse_zone(limb.body_zone)]..."), span_warning("You begin hastily applying [I] to [user == victim ? "your" : "[victim]'s"] [parse_zone(limb.body_zone)], disregarding the warning label..."))
|
||||
user.visible_message(span_danger("[user] begins hastily applying [I] to [victim]'s' [limb.plaintext_zone]..."), span_warning("You begin hastily applying [I] to [user == victim ? "your" : "[victim]'s"] [limb.plaintext_zone], disregarding the warning label..."))
|
||||
|
||||
if(!do_after(user, base_treat_time * 1.5 * (user == victim ? 1.5 : 1), target = victim, extra_checks=CALLBACK(src, .proc/still_exists)))
|
||||
return
|
||||
@@ -386,8 +386,8 @@
|
||||
I.use(1)
|
||||
victim.emote("scream")
|
||||
if(user != victim)
|
||||
user.visible_message(span_notice("[user] finishes applying [I] to [victim]'s [parse_zone(limb.body_zone)], emitting a fizzing noise!"), span_notice("You finish applying [I] to [victim]'s [parse_zone(limb.body_zone)]!"), ignored_mobs=victim)
|
||||
to_chat(victim, span_userdanger("[user] finishes applying [I] to your [parse_zone(limb.body_zone)], and you can feel the bones exploding with pain as they begin melting and reforming!"))
|
||||
user.visible_message(span_notice("[user] finishes applying [I] to [victim]'s [limb.plaintext_zone], emitting a fizzing noise!"), span_notice("You finish applying [I] to [victim]'s [limb.plaintext_zone]!"), ignored_mobs=victim)
|
||||
to_chat(victim, span_userdanger("[user] finishes applying [I] to your [limb.plaintext_zone], and you can feel the bones exploding with pain as they begin melting and reforming!"))
|
||||
else
|
||||
var/painkiller_bonus = 0
|
||||
if(victim.drunkenness > 10)
|
||||
@@ -402,10 +402,10 @@
|
||||
painkiller_bonus += 20
|
||||
|
||||
if(prob(25 + (20 * (severity - 2)) - painkiller_bonus)) // 25%/45% chance to fail self-applying with severe and critical wounds, modded by painkillers
|
||||
victim.visible_message(span_danger("[victim] fails to finish applying [I] to [victim.p_their()] [parse_zone(limb.body_zone)], passing out from the pain!"), span_notice("You pass out from the pain of applying [I] to your [parse_zone(limb.body_zone)] before you can finish!"))
|
||||
victim.visible_message(span_danger("[victim] fails to finish applying [I] to [victim.p_their()] [limb.plaintext_zone], passing out from the pain!"), span_notice("You pass out from the pain of applying [I] to your [limb.plaintext_zone] before you can finish!"))
|
||||
victim.AdjustUnconscious(5 SECONDS)
|
||||
return
|
||||
victim.visible_message(span_notice("[victim] finishes applying [I] to [victim.p_their()] [parse_zone(limb.body_zone)], grimacing from the pain!"), span_notice("You finish applying [I] to your [parse_zone(limb.body_zone)], and your bones explode in pain!"))
|
||||
victim.visible_message(span_notice("[victim] finishes applying [I] to [victim.p_their()] [limb.plaintext_zone], grimacing from the pain!"), span_notice("You finish applying [I] to your [limb.plaintext_zone], and your bones explode in pain!"))
|
||||
|
||||
limb.receive_damage(25, stamina=100, wound_bonus=CANT_WOUND)
|
||||
gelled = TRUE
|
||||
@@ -416,20 +416,20 @@
|
||||
return // poser
|
||||
|
||||
if(gelled)
|
||||
to_chat(user, span_warning("[user == victim ? "Your" : "[victim]'s"] [parse_zone(limb.body_zone)] is already coated with bone gel!"))
|
||||
to_chat(user, span_warning("[user == victim ? "Your" : "[victim]'s"] [limb.plaintext_zone] is already coated with bone gel!"))
|
||||
return
|
||||
|
||||
user.visible_message(span_danger("[user] begins applying [I] to [victim]'s' [parse_zone(limb.body_zone)]..."), span_warning("You begin applying [I] to [user == victim ? "your" : "[victim]'s"] [parse_zone(limb.body_zone)]..."))
|
||||
user.visible_message(span_danger("[user] begins applying [I] to [victim]'s' [limb.plaintext_zone]..."), span_warning("You begin applying [I] to [user == victim ? "your" : "[victim]'s"] [limb.plaintext_zone]..."))
|
||||
|
||||
if(!do_after(user, base_treat_time * (user == victim ? 1.5 : 1), target = victim, extra_checks=CALLBACK(src, .proc/still_exists)))
|
||||
return
|
||||
|
||||
I.use(1)
|
||||
if(user != victim)
|
||||
user.visible_message(span_notice("[user] finishes applying [I] to [victim]'s [parse_zone(limb.body_zone)], emitting a fizzing noise!"), span_notice("You finish applying [I] to [victim]'s [parse_zone(limb.body_zone)]!"), ignored_mobs=victim)
|
||||
to_chat(victim, span_userdanger("[user] finishes applying [I] to your [parse_zone(limb.body_zone)], and you feel a funny fizzy tickling as they begin to reform!"))
|
||||
user.visible_message(span_notice("[user] finishes applying [I] to [victim]'s [limb.plaintext_zone], emitting a fizzing noise!"), span_notice("You finish applying [I] to [victim]'s [limb.plaintext_zone]!"), ignored_mobs=victim)
|
||||
to_chat(victim, span_userdanger("[user] finishes applying [I] to your [limb.plaintext_zone], and you feel a funny fizzy tickling as they begin to reform!"))
|
||||
else
|
||||
victim.visible_message(span_notice("[victim] finishes applying [I] to [victim.p_their()] [parse_zone(limb.body_zone)], emitting a funny fizzing sound!"), span_notice("You finish applying [I] to your [parse_zone(limb.body_zone)], and feel a funny fizzy tickling as the bone begins to reform!"))
|
||||
victim.visible_message(span_notice("[victim] finishes applying [I] to [victim.p_their()] [limb.plaintext_zone], emitting a funny fizzing sound!"), span_notice("You finish applying [I] to your [limb.plaintext_zone], and feel a funny fizzy tickling as the bone begins to reform!"))
|
||||
|
||||
gelled = TRUE
|
||||
processes = TRUE
|
||||
@@ -437,13 +437,13 @@
|
||||
/// if someone is using surgical tape on our wound
|
||||
/datum/wound/blunt/proc/tape(obj/item/stack/sticky_tape/surgical/I, mob/user)
|
||||
if(!gelled)
|
||||
to_chat(user, span_warning("[user == victim ? "Your" : "[victim]'s"] [parse_zone(limb.body_zone)] must be coated with bone gel to perform this emergency operation!"))
|
||||
to_chat(user, span_warning("[user == victim ? "Your" : "[victim]'s"] [limb.plaintext_zone] must be coated with bone gel to perform this emergency operation!"))
|
||||
return
|
||||
if(taped)
|
||||
to_chat(user, span_warning("[user == victim ? "Your" : "[victim]'s"] [parse_zone(limb.body_zone)] is already wrapped in [I.name] and reforming!"))
|
||||
to_chat(user, span_warning("[user == victim ? "Your" : "[victim]'s"] [limb.plaintext_zone] is already wrapped in [I.name] and reforming!"))
|
||||
return
|
||||
|
||||
user.visible_message(span_danger("[user] begins applying [I] to [victim]'s' [parse_zone(limb.body_zone)]..."), span_warning("You begin applying [I] to [user == victim ? "your" : "[victim]'s"] [parse_zone(limb.body_zone)]..."))
|
||||
user.visible_message(span_danger("[user] begins applying [I] to [victim]'s' [limb.plaintext_zone]..."), span_warning("You begin applying [I] to [user == victim ? "your" : "[victim]'s"] [limb.plaintext_zone]..."))
|
||||
|
||||
if(!do_after(user, base_treat_time * (user == victim ? 1.5 : 1), target = victim, extra_checks=CALLBACK(src, .proc/still_exists)))
|
||||
return
|
||||
@@ -453,10 +453,10 @@
|
||||
|
||||
I.use(1)
|
||||
if(user != victim)
|
||||
user.visible_message(span_notice("[user] finishes applying [I] to [victim]'s [parse_zone(limb.body_zone)], emitting a fizzing noise!"), span_notice("You finish applying [I] to [victim]'s [parse_zone(limb.body_zone)]!"), ignored_mobs=victim)
|
||||
to_chat(victim, span_green("[user] finishes applying [I] to your [parse_zone(limb.body_zone)], you immediately begin to feel your bones start to reform!"))
|
||||
user.visible_message(span_notice("[user] finishes applying [I] to [victim]'s [limb.plaintext_zone], emitting a fizzing noise!"), span_notice("You finish applying [I] to [victim]'s [limb.plaintext_zone]!"), ignored_mobs=victim)
|
||||
to_chat(victim, span_green("[user] finishes applying [I] to your [limb.plaintext_zone], you immediately begin to feel your bones start to reform!"))
|
||||
else
|
||||
victim.visible_message(span_notice("[victim] finishes applying [I] to [victim.p_their()] [parse_zone(limb.body_zone)], !"), span_green("You finish applying [I] to your [parse_zone(limb.body_zone)], and you immediately begin to feel your bones start to reform!"))
|
||||
victim.visible_message(span_notice("[victim] finishes applying [I] to [victim.p_their()] [limb.plaintext_zone], !"), span_green("You finish applying [I] to your [limb.plaintext_zone], and you immediately begin to feel your bones start to reform!"))
|
||||
|
||||
taped = TRUE
|
||||
processes = TRUE
|
||||
|
||||
+21
-21
@@ -37,7 +37,7 @@
|
||||
if(strikes_to_lose_limb == 0) // we've already hit sepsis, nothing more to do
|
||||
victim.adjustToxLoss(0.25 * delta_time)
|
||||
if(DT_PROB(0.5, delta_time))
|
||||
victim.visible_message(span_danger("The infection on the remnants of [victim]'s [limb.name] shift and bubble nauseatingly!"), span_warning("You can feel the infection on the remnants of your [limb.name] coursing through your veins!"), vision_distance = COMBAT_MESSAGE_RANGE)
|
||||
victim.visible_message(span_danger("The infection on the remnants of [victim]'s [limb.plaintext_zone] shift and bubble nauseatingly!"), span_warning("You can feel the infection on the remnants of your [limb.plaintext_zone] coursing through your veins!"), vision_distance = COMBAT_MESSAGE_RANGE)
|
||||
return
|
||||
|
||||
if(victim.reagents)
|
||||
@@ -63,7 +63,7 @@
|
||||
|
||||
// here's the check to see if we're cleared up
|
||||
if((flesh_damage <= 0) && (infestation <= WOUND_INFECTION_MODERATE))
|
||||
to_chat(victim, span_green("The burns on your [limb.name] have cleared up!"))
|
||||
to_chat(victim, span_green("The burns on your [limb.plaintext_zone] have cleared up!"))
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
@@ -81,15 +81,15 @@
|
||||
if(DT_PROB(15, delta_time))
|
||||
victim.adjustToxLoss(0.2)
|
||||
if(prob(6))
|
||||
to_chat(victim, span_warning("The blisters on your [limb.name] ooze a strange pus..."))
|
||||
to_chat(victim, span_warning("The blisters on your [limb.plaintext_zone] ooze a strange pus..."))
|
||||
if(WOUND_INFECTION_SEVERE to WOUND_INFECTION_CRITICAL)
|
||||
if(!disabling)
|
||||
if(DT_PROB(1, delta_time))
|
||||
to_chat(victim, span_warning("<b>Your [limb.name] completely locks up, as you struggle for control against the infection!</b>"))
|
||||
to_chat(victim, span_warning("<b>Your [limb.plaintext_zone] completely locks up, as you struggle for control against the infection!</b>"))
|
||||
set_disabling(TRUE)
|
||||
return
|
||||
else if(DT_PROB(4, delta_time))
|
||||
to_chat(victim, span_notice("You regain sensation in your [limb.name], but it's still in terrible shape!"))
|
||||
to_chat(victim, span_notice("You regain sensation in your [limb.plaintext_zone], but it's still in terrible shape!"))
|
||||
set_disabling(FALSE)
|
||||
return
|
||||
|
||||
@@ -99,17 +99,17 @@
|
||||
if(WOUND_INFECTION_CRITICAL to WOUND_INFECTION_SEPTIC)
|
||||
if(!disabling)
|
||||
if(DT_PROB(1.5, delta_time))
|
||||
to_chat(victim, span_warning("<b>You suddenly lose all sensation of the festering infection in your [limb.name]!</b>"))
|
||||
to_chat(victim, span_warning("<b>You suddenly lose all sensation of the festering infection in your [limb.plaintext_zone]!</b>"))
|
||||
set_disabling(TRUE)
|
||||
return
|
||||
else if(DT_PROB(1.5, delta_time))
|
||||
to_chat(victim, span_notice("You can barely feel your [limb.name] again, and you have to strain to retain motor control!"))
|
||||
to_chat(victim, span_notice("You can barely feel your [limb.plaintext_zone] again, and you have to strain to retain motor control!"))
|
||||
set_disabling(FALSE)
|
||||
return
|
||||
|
||||
if(DT_PROB(2.48, delta_time))
|
||||
if(prob(20))
|
||||
to_chat(victim, span_warning("You contemplate life without your [limb.name]..."))
|
||||
to_chat(victim, span_warning("You contemplate life without your [limb.plaintext_zone]..."))
|
||||
victim.adjustToxLoss(0.75)
|
||||
else
|
||||
victim.adjustToxLoss(1)
|
||||
@@ -118,13 +118,13 @@
|
||||
if(DT_PROB(0.5 * infestation, delta_time))
|
||||
switch(strikes_to_lose_limb)
|
||||
if(3 to INFINITY)
|
||||
to_chat(victim, span_deadsay("The skin on your [limb.name] is literally dripping off, you feel awful!"))
|
||||
to_chat(victim, span_deadsay("The skin on your [limb.plaintext_zone] is literally dripping off, you feel awful!"))
|
||||
if(2)
|
||||
to_chat(victim, span_deadsay("<b>The infection in your [limb.name] is literally dripping off, you feel horrible!</b>"))
|
||||
to_chat(victim, span_deadsay("<b>The infection in your [limb.plaintext_zone] is literally dripping off, you feel horrible!</b>"))
|
||||
if(1)
|
||||
to_chat(victim, span_deadsay("<b>Infection has just about completely claimed your [limb.name]!</b>"))
|
||||
to_chat(victim, span_deadsay("<b>Infection has just about completely claimed your [limb.plaintext_zone]!</b>"))
|
||||
if(0)
|
||||
to_chat(victim, span_deadsay("<b>The last of the nerve endings in your [limb.name] wither away, as the infection completely paralyzes your joint connector.</b>"))
|
||||
to_chat(victim, span_deadsay("<b>The last of the nerve endings in your [limb.plaintext_zone] wither away, as the infection completely paralyzes your joint connector.</b>"))
|
||||
threshold_penalty = 120 // piss easy to destroy
|
||||
var/datum/brain_trauma/severe/paralysis/sepsis = new (limb.body_zone)
|
||||
victim.gain_trauma(sepsis)
|
||||
@@ -132,9 +132,9 @@
|
||||
|
||||
/datum/wound/burn/get_examine_description(mob/user)
|
||||
if(strikes_to_lose_limb <= 0)
|
||||
return span_deadsay("<B>[victim.p_their(TRUE)] [limb.name] has locked up completely and is non-functional.</B>")
|
||||
return span_deadsay("<B>[victim.p_their(TRUE)] [limb.plaintext_zone] has locked up completely and is non-functional.</B>")
|
||||
|
||||
var/list/condition = list("[victim.p_their(TRUE)] [limb.name] [examine_desc]")
|
||||
var/list/condition = list("[victim.p_their(TRUE)] [limb.plaintext_zone] [examine_desc]")
|
||||
if(limb.current_gauze)
|
||||
var/bandage_condition
|
||||
switch(limb.current_gauze.absorption_capacity)
|
||||
@@ -157,7 +157,7 @@
|
||||
if(WOUND_INFECTION_CRITICAL to WOUND_INFECTION_SEPTIC)
|
||||
condition += ", [span_deadsay("with streaks of rotten infection!")]"
|
||||
if(WOUND_INFECTION_SEPTIC to INFINITY)
|
||||
return span_deadsay("<B>[victim.p_their(TRUE)] [limb.name] is a mess of charred skin and infected rot!</B>")
|
||||
return span_deadsay("<B>[victim.p_their(TRUE)] [limb.plaintext_zone] is a mess of charred skin and infected rot!</B>")
|
||||
else
|
||||
condition += "!"
|
||||
|
||||
@@ -197,20 +197,20 @@
|
||||
|
||||
/// if someone is using ointment or mesh on our burns
|
||||
/datum/wound/burn/proc/ointmentmesh(obj/item/stack/medical/I, mob/user)
|
||||
user.visible_message(span_notice("[user] begins applying [I] to [victim]'s [limb.name]..."), span_notice("You begin applying [I] to [user == victim ? "your" : "[victim]'s"] [limb.name]..."))
|
||||
user.visible_message(span_notice("[user] begins applying [I] to [victim]'s [limb.plaintext_zone]..."), span_notice("You begin applying [I] to [user == victim ? "your" : "[victim]'s"] [limb.plaintext_zone]..."))
|
||||
if (I.amount <= 0)
|
||||
return
|
||||
if(!do_after(user, (user == victim ? I.self_delay : I.other_delay), extra_checks = CALLBACK(src, .proc/still_exists)))
|
||||
return
|
||||
|
||||
limb.heal_damage(I.heal_brute, I.heal_burn)
|
||||
user.visible_message(span_green("[user] applies [I] to [victim]."), span_green("You apply [I] to [user == victim ? "your" : "[victim]'s"] [limb.name]."))
|
||||
user.visible_message(span_green("[user] applies [I] to [victim]."), span_green("You apply [I] to [user == victim ? "your" : "[victim]'s"] [limb.plaintext_zone]."))
|
||||
I.use(1)
|
||||
sanitization += I.sanitization
|
||||
flesh_healing += I.flesh_regeneration
|
||||
|
||||
if((infestation <= 0 || sanitization >= infestation) && (flesh_damage <= 0 || flesh_healing > flesh_damage))
|
||||
to_chat(user, span_notice("You've done all you can with [I], now you must wait for the flesh on [victim]'s [limb.name] to recover."))
|
||||
to_chat(user, span_notice("You've done all you can with [I], now you must wait for the flesh on [victim]'s [limb.plaintext_zone] to recover."))
|
||||
else
|
||||
try_treating(I, user)
|
||||
|
||||
@@ -220,10 +220,10 @@
|
||||
to_chat(user, span_notice("[I] is still recharging!"))
|
||||
return
|
||||
if(infestation <= 0 || infestation < sanitization)
|
||||
to_chat(user, span_notice("There's no infection to treat on [victim]'s [limb.name]!"))
|
||||
to_chat(user, span_notice("There's no infection to treat on [victim]'s [limb.plaintext_zone]!"))
|
||||
return
|
||||
|
||||
user.visible_message(span_notice("[user] flashes the burns on [victim]'s [limb] with [I]."), span_notice("You flash the burns on [user == victim ? "your" : "[victim]'s"] [limb.name] with [I]."), vision_distance=COMBAT_MESSAGE_RANGE)
|
||||
user.visible_message(span_notice("[user] flashes the burns on [victim]'s [limb] with [I]."), span_notice("You flash the burns on [user == victim ? "your" : "[victim]'s"] [limb.plaintext_zone] with [I]."), vision_distance=COMBAT_MESSAGE_RANGE)
|
||||
sanitization += I.uv_power
|
||||
COOLDOWN_START(I, uv_cooldown, I.uv_cooldown_length)
|
||||
|
||||
@@ -245,7 +245,7 @@
|
||||
if(flesh_healing > 0)
|
||||
flesh_damage = max(flesh_damage - (0.1 * delta_time), 0)
|
||||
if((flesh_damage <= 0) && (infestation <= 1))
|
||||
to_chat(victim, span_green("The burns on your [limb.name] have cleared up!"))
|
||||
to_chat(victim, span_green("The burns on your [limb.plaintext_zone] have cleared up!"))
|
||||
qdel(src)
|
||||
return
|
||||
if(sanitization > 0)
|
||||
|
||||
@@ -40,14 +40,14 @@
|
||||
if(1 to 6)
|
||||
victim.bleed(blood_bled, TRUE)
|
||||
if(7 to 13)
|
||||
victim.visible_message("<span class='smalldanger'>Blood droplets fly from the hole in [victim]'s [limb.name].</span>", span_danger("You cough up a bit of blood from the blow to your [limb.name]."), vision_distance=COMBAT_MESSAGE_RANGE)
|
||||
victim.visible_message("<span class='smalldanger'>Blood droplets fly from the hole in [victim]'s [limb.plaintext_zone].</span>", span_danger("You cough up a bit of blood from the blow to your [limb.plaintext_zone]."), vision_distance=COMBAT_MESSAGE_RANGE)
|
||||
victim.bleed(blood_bled, TRUE)
|
||||
if(14 to 19)
|
||||
victim.visible_message("<span class='smalldanger'>A small stream of blood spurts from the hole in [victim]'s [limb.name]!</span>", span_danger("You spit out a string of blood from the blow to your [limb.name]!"), vision_distance=COMBAT_MESSAGE_RANGE)
|
||||
victim.visible_message("<span class='smalldanger'>A small stream of blood spurts from the hole in [victim]'s [limb.plaintext_zone]!</span>", span_danger("You spit out a string of blood from the blow to your [limb.plaintext_zone]!"), vision_distance=COMBAT_MESSAGE_RANGE)
|
||||
new /obj/effect/temp_visual/dir_setting/bloodsplatter(victim.loc, victim.dir)
|
||||
victim.bleed(blood_bled)
|
||||
if(20 to INFINITY)
|
||||
victim.visible_message(span_danger("A spray of blood streams from the gash in [victim]'s [limb.name]!"), span_danger("<b>You choke up on a spray of blood from the blow to your [limb.name]!</b>"), vision_distance=COMBAT_MESSAGE_RANGE)
|
||||
victim.visible_message(span_danger("A spray of blood streams from the gash in [victim]'s [limb.plaintext_zone]!"), span_danger("<b>You choke up on a spray of blood from the blow to your [limb.plaintext_zone]!</b>"), vision_distance=COMBAT_MESSAGE_RANGE)
|
||||
victim.bleed(blood_bled)
|
||||
new /obj/effect/temp_visual/dir_setting/bloodsplatter(victim.loc, victim.dir)
|
||||
victim.add_splatter_floor(get_step(victim.loc, victim.dir))
|
||||
@@ -65,7 +65,7 @@
|
||||
if(victim.bodytemperature < (BODYTEMP_NORMAL - 10))
|
||||
adjust_blood_flow(-0.1 * delta_time)
|
||||
if(DT_PROB(2.5, delta_time))
|
||||
to_chat(victim, span_notice("You feel the [lowertext(name)] in your [limb.name] firming up from the cold!"))
|
||||
to_chat(victim, span_notice("You feel the [lowertext(name)] in your [limb.plaintext_zone] firming up from the cold!"))
|
||||
|
||||
if(HAS_TRAIT(victim, TRAIT_BLOODY_MESS))
|
||||
adjust_blood_flow(0.25 * delta_time) // old heparin used to just add +2 bleed stacks per tick, this adds 0.5 bleed flow to all open cuts which is probably even stronger as long as you can cut them first
|
||||
@@ -103,7 +103,7 @@
|
||||
/// If someone is using a suture to close this puncture
|
||||
/datum/wound/pierce/proc/suture(obj/item/stack/medical/suture/I, mob/user)
|
||||
var/self_penalty_mult = (user == victim ? 1.4 : 1)
|
||||
user.visible_message(span_notice("[user] begins stitching [victim]'s [limb.name] with [I]..."), span_notice("You begin stitching [user == victim ? "your" : "[victim]'s"] [limb.name] with [I]..."))
|
||||
user.visible_message(span_notice("[user] begins stitching [victim]'s [limb.plaintext_zone] with [I]..."), span_notice("You begin stitching [user == victim ? "your" : "[victim]'s"] [limb.plaintext_zone] with [I]..."))
|
||||
if(!do_after(user, base_treat_time * self_penalty_mult, target=victim, extra_checks = CALLBACK(src, .proc/still_exists)))
|
||||
return
|
||||
user.visible_message(span_green("[user] stitches up some of the bleeding on [victim]."), span_green("You stitch up some of the bleeding on [user == victim ? "yourself" : "[victim]"]."))
|
||||
@@ -115,14 +115,14 @@
|
||||
if(blood_flow > 0)
|
||||
try_treating(I, user)
|
||||
else
|
||||
to_chat(user, span_green("You successfully close the hole in [user == victim ? "your" : "[victim]'s"] [limb.name]."))
|
||||
to_chat(user, span_green("You successfully close the hole in [user == victim ? "your" : "[victim]'s"] [limb.plaintext_zone]."))
|
||||
|
||||
/// If someone is using either a cautery tool or something with heat to cauterize this pierce
|
||||
/datum/wound/pierce/proc/tool_cauterize(obj/item/I, mob/user)
|
||||
var/improv_penalty_mult = (I.tool_behaviour == TOOL_CAUTERY ? 1 : 1.25) // 25% longer and less effective if you don't use a real cautery
|
||||
var/self_penalty_mult = (user == victim ? 1.5 : 1) // 50% longer and less effective if you do it to yourself
|
||||
|
||||
user.visible_message(span_danger("[user] begins cauterizing [victim]'s [limb.name] with [I]..."), span_warning("You begin cauterizing [user == victim ? "your" : "[victim]'s"] [limb.name] with [I]..."))
|
||||
user.visible_message(span_danger("[user] begins cauterizing [victim]'s [limb.plaintext_zone] with [I]..."), span_warning("You begin cauterizing [user == victim ? "your" : "[victim]'s"] [limb.plaintext_zone] with [I]..."))
|
||||
if(!do_after(user, base_treat_time * self_penalty_mult * improv_penalty_mult, target=victim, extra_checks = CALLBACK(src, .proc/still_exists)))
|
||||
return
|
||||
|
||||
|
||||
+10
-10
@@ -67,7 +67,7 @@
|
||||
if(!limb.current_gauze)
|
||||
return ..()
|
||||
|
||||
var/list/msg = list("The cuts on [victim.p_their()] [limb.name] are wrapped with ")
|
||||
var/list/msg = list("The cuts on [victim.p_their()] [limb.plaintext_zone] are wrapped with ")
|
||||
// how much life we have left in these bandages
|
||||
switch(limb.current_gauze.absorption_capacity)
|
||||
if(0 to 1.25)
|
||||
@@ -135,7 +135,7 @@
|
||||
if(demotes_to)
|
||||
replace_wound(demotes_to)
|
||||
else
|
||||
to_chat(victim, span_green("The cut on your [limb.name] has stopped bleeding!"))
|
||||
to_chat(victim, span_green("The cut on your [limb.plaintext_zone] has stopped bleeding!"))
|
||||
qdel(src)
|
||||
|
||||
|
||||
@@ -188,13 +188,13 @@
|
||||
continue
|
||||
user.ForceContractDisease(iter_disease)
|
||||
|
||||
user.visible_message(span_notice("[user] begins licking the wounds on [victim]'s [limb.name]."), span_notice("You begin licking the wounds on [victim]'s [limb.name]..."), ignored_mobs=victim)
|
||||
to_chat(victim, span_notice("[user] begins to lick the wounds on your [limb.name]."))
|
||||
user.visible_message(span_notice("[user] begins licking the wounds on [victim]'s [limb.plaintext_zone]."), span_notice("You begin licking the wounds on [victim]'s [limb.plaintext_zone]..."), ignored_mobs=victim)
|
||||
to_chat(victim, span_notice("[user] begins to lick the wounds on your [limb.plaintext_zone]."))
|
||||
if(!do_after(user, base_treat_time, target=victim, extra_checks = CALLBACK(src, .proc/still_exists)))
|
||||
return
|
||||
|
||||
user.visible_message(span_notice("[user] licks the wounds on [victim]'s [limb.name]."), span_notice("You lick some of the wounds on [victim]'s [limb.name]"), ignored_mobs=victim)
|
||||
to_chat(victim, span_green("[user] licks the wounds on your [limb.name]!"))
|
||||
user.visible_message(span_notice("[user] licks the wounds on [victim]'s [limb.plaintext_zone]."), span_notice("You lick some of the wounds on [victim]'s [limb.plaintext_zone]"), ignored_mobs=victim)
|
||||
to_chat(victim, span_green("[user] licks the wounds on your [limb.plaintext_zone]!"))
|
||||
adjust_blood_flow(-0.5)
|
||||
|
||||
if(blood_flow > minimum_flow)
|
||||
@@ -213,7 +213,7 @@
|
||||
/// If someone's putting a laser gun up to our cut to cauterize it
|
||||
/datum/wound/slash/proc/las_cauterize(obj/item/gun/energy/laser/lasgun, mob/user)
|
||||
var/self_penalty_mult = (user == victim ? 1.25 : 1)
|
||||
user.visible_message(span_warning("[user] begins aiming [lasgun] directly at [victim]'s [limb.name]..."), span_userdanger("You begin aiming [lasgun] directly at [user == victim ? "your" : "[victim]'s"] [limb.name]..."))
|
||||
user.visible_message(span_warning("[user] begins aiming [lasgun] directly at [victim]'s [limb.plaintext_zone]..."), span_userdanger("You begin aiming [lasgun] directly at [user == victim ? "your" : "[victim]'s"] [limb.plaintext_zone]..."))
|
||||
if(!do_after(user, base_treat_time * self_penalty_mult, target=victim, extra_checks = CALLBACK(src, .proc/still_exists)))
|
||||
return
|
||||
var/damage = lasgun.chambered.loaded_projectile.damage
|
||||
@@ -222,7 +222,7 @@
|
||||
if(!lasgun.process_fire(victim, victim, TRUE, null, limb.body_zone))
|
||||
return
|
||||
victim.emote("scream")
|
||||
adjust_blood_flow(-damage / (5 * self_penalty_mult)) // 20 / 5 = 4 bloodflow removed, p good
|
||||
blood_flow -= damage / (5 * self_penalty_mult) // 20 / 5 = 4 bloodflow removed, p good
|
||||
victim.visible_message(span_warning("The cuts on [victim]'s [limb.name] scar over!"))
|
||||
|
||||
/// If someone is using either a cautery tool or something with heat to cauterize this cut
|
||||
@@ -230,7 +230,7 @@
|
||||
var/improv_penalty_mult = (I.tool_behaviour == TOOL_CAUTERY ? 1 : 1.25) // 25% longer and less effective if you don't use a real cautery
|
||||
var/self_penalty_mult = (user == victim ? 1.5 : 1) // 50% longer and less effective if you do it to yourself
|
||||
|
||||
user.visible_message(span_danger("[user] begins cauterizing [victim]'s [limb.name] with [I]..."), span_warning("You begin cauterizing [user == victim ? "your" : "[victim]'s"] [limb.name] with [I]..."))
|
||||
user.visible_message(span_danger("[user] begins cauterizing [victim]'s [limb.plaintext_zone] with [I]..."), span_warning("You begin cauterizing [user == victim ? "your" : "[victim]'s"] [limb.plaintext_zone] with [I]..."))
|
||||
if(!do_after(user, base_treat_time * self_penalty_mult * improv_penalty_mult, target=victim, extra_checks = CALLBACK(src, .proc/still_exists)))
|
||||
return
|
||||
|
||||
@@ -249,7 +249,7 @@
|
||||
/// If someone is using a suture to close this cut
|
||||
/datum/wound/slash/proc/suture(obj/item/stack/medical/suture/I, mob/user)
|
||||
var/self_penalty_mult = (user == victim ? 1.4 : 1)
|
||||
user.visible_message(span_notice("[user] begins stitching [victim]'s [limb.name] with [I]..."), span_notice("You begin stitching [user == victim ? "your" : "[victim]'s"] [limb.name] with [I]..."))
|
||||
user.visible_message(span_notice("[user] begins stitching [victim]'s [limb.plaintext_zone] with [I]..."), span_notice("You begin stitching [user == victim ? "your" : "[victim]'s"] [limb.plaintext_zone] with [I]..."))
|
||||
|
||||
if(!do_after(user, base_treat_time * self_penalty_mult, target=victim, extra_checks = CALLBACK(src, .proc/still_exists)))
|
||||
return
|
||||
|
||||
@@ -214,7 +214,7 @@
|
||||
//i need to create a body part manually using a set icon (otherwise it doesnt appear)
|
||||
var/obj/item/bodypart/limb
|
||||
limb = new buildpath(loc)
|
||||
limb.name = "\improper synthetic [selected_category] [parse_zone(limb.body_zone)]"
|
||||
limb.name = "\improper synthetic [selected_category] [limb.plaintext_zone]"
|
||||
limb.limb_id = selected_category
|
||||
limb.mutation_color = "#62A262"
|
||||
limb.update_icon_dropped()
|
||||
|
||||
@@ -234,7 +234,7 @@
|
||||
|
||||
if(mode == SCANNER_VERBOSE)
|
||||
for(var/obj/item/bodypart/limb as anything in damaged)
|
||||
dmgreport += "<tr><td><font color='#cc3333'>[capitalize(parse_zone(limb.body_zone))]:</font></td>"
|
||||
dmgreport += "<tr><td><font color='#cc3333'>[capitalize(limb.plaintext_zone)]:</font></td>"
|
||||
dmgreport += "<td><font color='#cc3333'>[(limb.brute_dam > 0) ? "[CEILING(limb.brute_dam,1)]" : "0"]</font></td>"
|
||||
dmgreport += "<td><font color='#ff9933'>[(limb.burn_dam > 0) ? "[CEILING(limb.burn_dam,1)]" : "0"]</font></td></tr>"
|
||||
dmgreport += "</font></table>"
|
||||
|
||||
@@ -82,7 +82,7 @@
|
||||
if(!affecting) //missing limb? we select the first bodypart (you can never have zero, because of chest)
|
||||
affecting = bodyparts[1]
|
||||
SEND_SIGNAL(I, COMSIG_ITEM_ATTACK_ZONE, src, user, affecting)
|
||||
send_item_attack_message(I, user, parse_zone(affecting.body_zone), affecting)
|
||||
send_item_attack_message(I, user, affecting.plaintext_zone, affecting)
|
||||
if(I.force)
|
||||
var/attack_direction = get_dir(user, src)
|
||||
apply_damage(I.force, I.damtype, affecting, wound_bonus = I.wound_bonus, bare_wound_bonus = I.bare_wound_bonus, sharpness = I.get_sharpness(), attack_direction = attack_direction)
|
||||
|
||||
@@ -1260,7 +1260,7 @@ GLOBAL_LIST_EMPTY(features_by_species)
|
||||
if(!affecting) //Something went wrong. Maybe the limb is missing?
|
||||
affecting = H.bodyparts[1]
|
||||
|
||||
hit_area = affecting.name
|
||||
hit_area = affecting.plaintext_zone
|
||||
var/def_zone = affecting.body_zone
|
||||
|
||||
var/armor_block = H.run_armor_check(affecting, MELEE, span_notice("Your armor has protected your [hit_area]!"), span_warning("Your armor has softened a hit to your [hit_area]!"),I.armour_penetration, weak_against_armour = I.weak_against_armour)
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
limb.skin_tone ||= skintone
|
||||
limb.limb_id = SPECIES_HUMAN
|
||||
limb.should_draw_greyscale = TRUE
|
||||
limb.name = "human [parse_zone(limb.body_zone)]"
|
||||
limb.name = "human [limb.plaintext_zone]"
|
||||
limb.update_limb()
|
||||
limb.brute_reduction = 5
|
||||
limb.burn_reduction = 4
|
||||
|
||||
@@ -39,6 +39,8 @@
|
||||
|
||||
/// BODY_ZONE_CHEST, BODY_ZONE_L_ARM, etc , used for def_zone
|
||||
var/body_zone
|
||||
/// The body zone of this part in english ("chest", "left arm", etc) without the species attached to it
|
||||
var/plaintext_zone
|
||||
var/aux_zone // used for hands
|
||||
var/aux_layer
|
||||
/// bitflag used to check which clothes cover this bodypart
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
max_damage = 200
|
||||
body_zone = BODY_ZONE_HEAD
|
||||
body_part = HEAD
|
||||
plaintext_zone = "head"
|
||||
w_class = WEIGHT_CLASS_BULKY //Quite a hefty load
|
||||
slowdown = 1 //Balancing measure
|
||||
throw_range = 2 //No head bowling
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
max_damage = 200
|
||||
body_zone = BODY_ZONE_CHEST
|
||||
body_part = CHEST
|
||||
plaintext_zone = "chest"
|
||||
is_dimorphic = TRUE
|
||||
px_x = 0
|
||||
px_y = 0
|
||||
@@ -71,6 +72,7 @@
|
||||
max_stamina_damage = 50
|
||||
body_zone = BODY_ZONE_L_ARM
|
||||
body_part = ARM_LEFT
|
||||
plaintext_zone = "left arm"
|
||||
aux_zone = BODY_ZONE_PRECISE_L_HAND
|
||||
aux_layer = HANDS_PART_LAYER
|
||||
body_damage_coeff = 0.75
|
||||
@@ -169,6 +171,7 @@
|
||||
max_damage = 50
|
||||
body_zone = BODY_ZONE_R_ARM
|
||||
body_part = ARM_RIGHT
|
||||
plaintext_zone = "right arm"
|
||||
aux_zone = BODY_ZONE_PRECISE_R_HAND
|
||||
aux_layer = HANDS_PART_LAYER
|
||||
body_damage_coeff = 0.75
|
||||
@@ -266,6 +269,7 @@
|
||||
max_damage = 50
|
||||
body_zone = BODY_ZONE_L_LEG
|
||||
body_part = LEG_LEFT
|
||||
plaintext_zone = "left leg"
|
||||
body_damage_coeff = 0.75
|
||||
px_x = -2
|
||||
px_y = 12
|
||||
@@ -356,6 +360,7 @@
|
||||
max_damage = 50
|
||||
body_zone = BODY_ZONE_R_LEG
|
||||
body_part = LEG_RIGHT
|
||||
plaintext_zone = "right leg"
|
||||
body_damage_coeff = 0.75
|
||||
px_x = 2
|
||||
px_y = 12
|
||||
|
||||
Reference in New Issue
Block a user