diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index b744630a56..eddfa997b8 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -647,6 +647,9 @@ for(var/X in bodyparts) var/obj/item/bodypart/LB = X missing -= LB.body_zone + if(LB.is_pseudopart) //don't show injury text for fake bodyparts; ie chainsaw arms or synthetic armblades + continue + var/limb_max_damage = LB.max_damage var/status = "" var/brutedamage = LB.brute_dam var/burndamage = LB.burn_dam @@ -663,20 +666,21 @@ else if(brutedamage > 0) - status = "bruised" - if(brutedamage > 20) - status = "battered" - if(brutedamage > 40) - status = "mangled" + status = LB.light_brute_msg + if(brutedamage > (limb_max_damage*0.4)) + status = LB.medium_brute_msg + if(brutedamage > (limb_max_damage*0.8)) + status = LB.heavy_brute_msg if(brutedamage > 0 && burndamage > 0) status += " and " - if(burndamage > 40) - status += "peeling away" - else if(burndamage > 10) - status += "blistered" + if(burndamage > (limb_max_damage*0.8)) + status += LB.heavy_burn_msg + else if(burndamage > (limb_max_damage*0.2)) + status += LB.medium_burn_msg else if(burndamage > 0) - status += "numb" + status += LB.light_burn_msg + if(status == "") status = "OK" var/no_damage diff --git a/code/modules/surgery/bodyparts/bodyparts.dm b/code/modules/surgery/bodyparts/bodyparts.dm index 9878130144..1f432ae0ee 100644 --- a/code/modules/surgery/bodyparts/bodyparts.dm +++ b/code/modules/surgery/bodyparts/bodyparts.dm @@ -43,6 +43,15 @@ var/species_flags_list = list() var/dmg_overlay_type //the type of damage overlay (if any) to use when this bodypart is bruised/burned. + //Damage messages used by help_shake_act() + var/light_brute_msg = "bruised" + var/medium_brute_msg = "battered" + var/heavy_brute_msg = "mangled" + + var/light_burn_msg = "numb" + var/medium_burn_msg = "blistered" + var/heavy_burn_msg = "peeling away" + /obj/item/bodypart/examine(mob/user) ..() if(brute_dam > 0) diff --git a/code/modules/surgery/bodyparts/robot_bodyparts.dm b/code/modules/surgery/bodyparts/robot_bodyparts.dm index 6921d7e3a2..b255c32f11 100644 --- a/code/modules/surgery/bodyparts/robot_bodyparts.dm +++ b/code/modules/surgery/bodyparts/robot_bodyparts.dm @@ -1,4 +1,10 @@ +#define ROBOTIC_LIGHT_BRUTE_MSG "marred" +#define ROBOTIC_MEDIUM_BRUTE_MSG "dented" +#define ROBOTIC_HEAVY_BRUTE_MSG "falling apart" +#define ROBOTIC_LIGHT_BURN_MSG "scorched" +#define ROBOTIC_MEDIUM_BURN_MSG "charred" +#define ROBOTIC_HEAVY_BURN_MSG "smoldering" /obj/item/bodypart/l_arm/robot name = "cyborg left arm" @@ -10,6 +16,13 @@ icon_state = "borg_l_arm" status = BODYPART_ROBOTIC + light_brute_msg = ROBOTIC_LIGHT_BRUTE_MSG + medium_brute_msg = ROBOTIC_MEDIUM_BRUTE_MSG + heavy_brute_msg = ROBOTIC_HEAVY_BRUTE_MSG + + light_burn_msg = ROBOTIC_LIGHT_BURN_MSG + medium_burn_msg = ROBOTIC_MEDIUM_BURN_MSG + heavy_burn_msg = ROBOTIC_HEAVY_BURN_MSG /obj/item/bodypart/r_arm/robot name = "cyborg right arm" @@ -21,6 +34,13 @@ icon_state = "borg_r_arm" status = BODYPART_ROBOTIC + light_brute_msg = ROBOTIC_LIGHT_BRUTE_MSG + medium_brute_msg = ROBOTIC_MEDIUM_BRUTE_MSG + heavy_brute_msg = ROBOTIC_HEAVY_BRUTE_MSG + + light_burn_msg = ROBOTIC_LIGHT_BURN_MSG + medium_burn_msg = ROBOTIC_MEDIUM_BURN_MSG + heavy_burn_msg = ROBOTIC_HEAVY_BURN_MSG /obj/item/bodypart/l_leg/robot name = "cyborg left leg" @@ -32,6 +52,13 @@ icon_state = "borg_l_leg" status = BODYPART_ROBOTIC + light_brute_msg = ROBOTIC_LIGHT_BRUTE_MSG + medium_brute_msg = ROBOTIC_MEDIUM_BRUTE_MSG + heavy_brute_msg = ROBOTIC_HEAVY_BRUTE_MSG + + light_burn_msg = ROBOTIC_LIGHT_BURN_MSG + medium_burn_msg = ROBOTIC_MEDIUM_BURN_MSG + heavy_burn_msg = ROBOTIC_HEAVY_BURN_MSG /obj/item/bodypart/r_leg/robot name = "cyborg right leg" @@ -43,6 +70,13 @@ icon_state = "borg_r_leg" status = BODYPART_ROBOTIC + light_brute_msg = ROBOTIC_LIGHT_BRUTE_MSG + medium_brute_msg = ROBOTIC_MEDIUM_BRUTE_MSG + heavy_brute_msg = ROBOTIC_HEAVY_BRUTE_MSG + + light_burn_msg = ROBOTIC_LIGHT_BURN_MSG + medium_burn_msg = ROBOTIC_MEDIUM_BURN_MSG + heavy_burn_msg = ROBOTIC_HEAVY_BURN_MSG /obj/item/bodypart/chest/robot name = "cyborg torso" @@ -52,6 +86,15 @@ flags_1 = CONDUCT_1 icon_state = "borg_chest" status = BODYPART_ROBOTIC + + light_brute_msg = ROBOTIC_LIGHT_BRUTE_MSG + medium_brute_msg = ROBOTIC_MEDIUM_BRUTE_MSG + heavy_brute_msg = ROBOTIC_HEAVY_BRUTE_MSG + + light_burn_msg = ROBOTIC_LIGHT_BURN_MSG + medium_burn_msg = ROBOTIC_MEDIUM_BURN_MSG + heavy_burn_msg = ROBOTIC_HEAVY_BURN_MSG + var/wired = 0 var/obj/item/stock_parts/cell/cell = null @@ -102,6 +145,15 @@ flags_1 = CONDUCT_1 icon_state = "borg_head" status = BODYPART_ROBOTIC + + light_brute_msg = ROBOTIC_LIGHT_BRUTE_MSG + medium_brute_msg = ROBOTIC_MEDIUM_BRUTE_MSG + heavy_brute_msg = ROBOTIC_HEAVY_BRUTE_MSG + + light_burn_msg = ROBOTIC_LIGHT_BURN_MSG + medium_burn_msg = ROBOTIC_MEDIUM_BURN_MSG + heavy_burn_msg = ROBOTIC_HEAVY_BURN_MSG + var/obj/item/device/assembly/flash/handheld/flash1 = null var/obj/item/device/assembly/flash/handheld/flash2 = null @@ -189,3 +241,12 @@ icon = 'icons/mob/augmentation/surplus_augments.dmi' icon_state = "r_leg" max_damage = 20 + + +#undef ROBOTIC_LIGHT_BRUTE_MSG +#undef ROBOTIC_MEDIUM_BRUTE_MSG +#undef ROBOTIC_HEAVY_BRUTE_MSG + +#undef ROBOTIC_LIGHT_BURN_MSG +#undef ROBOTIC_MEDIUM_BURN_MSG +#undef ROBOTIC_HEAVY_BURN_MSG