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
/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
/****************************************************

View File

@@ -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)