From 8d04e8b9c6d48351d13b29a9a4572bbd2bc861a4 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Mon, 11 Aug 2014 20:01:13 -0400 Subject: [PATCH] Fixes a few issues with get_wound_type() Fixes damage causing "healing" wound types that can't bleed. Fixes flesh wounds not bleeding the instant they heal any damage. --- code/modules/organs/organ_external.dm | 20 ++++++++++---------- code/modules/organs/wound.dm | 5 +++-- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/code/modules/organs/organ_external.dm b/code/modules/organs/organ_external.dm index 7c0229e6568..7e0d4097d53 100644 --- a/code/modules/organs/organ_external.dm +++ b/code/modules/organs/organ_external.dm @@ -269,22 +269,22 @@ This function completely restores a damaged organ to perfect condition. wounds += W /datum/organ/external/proc/get_wound_type(var/type = CUT, var/damage) - //if you look a the names in the wound's stages list for each wound type you will see the logic behind these values + //if you look a the names in the wound's stages list for each wound type you will see the logic behind these values. switch(type) if(CUT) - if (damage <= 5) return /datum/wound/cut/small - if (damage <= 15) return /datum/wound/cut/deep - if (damage <= 25) return /datum/wound/cut/flesh - if (damage <= 50) return /datum/wound/cut/gaping - if (damage <= 60) return /datum/wound/cut/gaping_big + if (damage < 15) return /datum/wound/cut/small + if (damage < 25) return /datum/wound/cut/deep + if (damage < 50) return /datum/wound/cut/flesh + if (damage < 60) return /datum/wound/cut/gaping + if (damage < 70) return /datum/wound/cut/gaping_big return /datum/wound/cut/massive if(BRUISE) return /datum/wound/bruise if(BURN) - if (damage <= 5) return /datum/wound/burn/moderate - if (damage <= 15) return /datum/wound/burn/large - if (damage <= 30) return /datum/wound/burn/severe - if (damage <= 40) return /datum/wound/burn/deep + if (damage < 15) return /datum/wound/burn/moderate + if (damage < 30) return /datum/wound/burn/large + if (damage < 40) return /datum/wound/burn/severe + if (damage < 50) return /datum/wound/burn/deep return /datum/wound/burn/carbonised /**************************************************** diff --git a/code/modules/organs/wound.dm b/code/modules/organs/wound.dm index 383e6be0149..80bae8d50c4 100644 --- a/code/modules/organs/wound.dm +++ b/code/modules/organs/wound.dm @@ -220,7 +220,7 @@ damage_type = CUT /datum/wound/cut/flesh - max_bleeding_stage = 3 + max_bleeding_stage = 4 stages = list("ugly ripped flesh wound" = 35, "ugly flesh wound" = 30, "flesh wound" = 25, "blood soaked clot" = 15, "large scab" = 5, "fresh skin" = 0) damage_type = CUT @@ -268,6 +268,7 @@ datum/wound/cut/massive stages = list("carbonised area" = 50, "treated carbonised area" = 20, "massive burn scar" = 0) damage_type = BURN +/** INTERNAL BLEEDING **/ /datum/wound/internal_bleeding internal = 1 stages = list("severed vein" = 30, "cut vein" = 20, "damaged vein" = 10, "bruised vein" = 5) @@ -284,4 +285,4 @@ datum/wound/cut/massive return 0 //cannot be merged /datum/wound/lost_limb/small - stages = list("ripped stump" = 40, "bloody stump" = 30, "clotted stump" = 15, "scarred stump" = 0) \ No newline at end of file + stages = list("ripped stump" = 40, "bloody stump" = 30, "clotted stump" = 15, "scarred stump" = 0)