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.
This commit is contained in:
mwerezak
2014-08-11 20:01:13 -04:00
parent e8ff236ae4
commit 44cc7159c4
2 changed files with 12 additions and 11 deletions

View File

@@ -266,22 +266,22 @@ This function completely restores a damaged organ to perfect condition.
wounds += W wounds += W
/datum/organ/external/proc/get_wound_type(var/type = CUT, var/damage) /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) switch(type)
if(CUT) if(CUT)
if (damage <= 5) return /datum/wound/cut/small if (damage < 15) return /datum/wound/cut/small
if (damage <= 15) return /datum/wound/cut/deep if (damage < 25) return /datum/wound/cut/deep
if (damage <= 25) return /datum/wound/cut/flesh if (damage < 50) return /datum/wound/cut/flesh
if (damage <= 50) return /datum/wound/cut/gaping if (damage < 60) return /datum/wound/cut/gaping
if (damage <= 60) return /datum/wound/cut/gaping_big if (damage < 70) return /datum/wound/cut/gaping_big
return /datum/wound/cut/massive return /datum/wound/cut/massive
if(BRUISE) if(BRUISE)
return /datum/wound/bruise return /datum/wound/bruise
if(BURN) if(BURN)
if (damage <= 5) return /datum/wound/burn/moderate if (damage < 15) return /datum/wound/burn/moderate
if (damage <= 15) return /datum/wound/burn/large if (damage < 30) return /datum/wound/burn/large
if (damage <= 30) return /datum/wound/burn/severe if (damage < 40) return /datum/wound/burn/severe
if (damage <= 40) return /datum/wound/burn/deep if (damage < 50) return /datum/wound/burn/deep
return /datum/wound/burn/carbonised return /datum/wound/burn/carbonised
/**************************************************** /****************************************************

View File

@@ -220,7 +220,7 @@
damage_type = CUT damage_type = CUT
/datum/wound/cut/flesh /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) 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 damage_type = CUT
@@ -268,6 +268,7 @@ datum/wound/cut/massive
stages = list("carbonised area" = 50, "treated carbonised area" = 20, "massive burn scar" = 0) stages = list("carbonised area" = 50, "treated carbonised area" = 20, "massive burn scar" = 0)
damage_type = BURN damage_type = BURN
/** INTERNAL BLEEDING **/
/datum/wound/internal_bleeding /datum/wound/internal_bleeding
internal = 1 internal = 1
stages = list("severed vein" = 30, "cut vein" = 20, "damaged vein" = 10, "bruised vein" = 5) stages = list("severed vein" = 30, "cut vein" = 20, "damaged vein" = 10, "bruised vein" = 5)