Merge pull request #6264 from Citadel-Station-13/upstream-merge-36645

[MIRROR] Fixes mannitol not curing minor brain traumas
This commit is contained in:
deathride58
2018-04-04 21:11:28 +00:00
committed by GitHub
4 changed files with 19 additions and 13 deletions

View File

@@ -56,9 +56,9 @@
var/mob/living/carbon/C = M
if(prob(10))
if(trauma_heal_severe)
C.cure_trauma_type(TRAUMA_RESILIENCE_LOBOTOMY)
C.cure_trauma_type(resilience = TRAUMA_RESILIENCE_LOBOTOMY)
else
C.cure_trauma_type(TRAUMA_RESILIENCE_BASIC)
C.cure_trauma_type(resilience = TRAUMA_RESILIENCE_BASIC)

View File

@@ -179,12 +179,19 @@
////////////////////////////////////TRAUMAS////////////////////////////////////////
/obj/item/organ/brain/proc/has_trauma_type(brain_trauma_type, resilience = TRAUMA_RESILIENCE_ABSOLUTE)
/obj/item/organ/brain/proc/has_trauma_type(brain_trauma_type = /datum/brain_trauma, resilience = TRAUMA_RESILIENCE_ABSOLUTE)
for(var/X in traumas)
var/datum/brain_trauma/BT = X
if(istype(BT, brain_trauma_type) && (BT.resilience <= resilience))
return BT
/obj/item/organ/brain/proc/get_traumas_type(brain_trauma_type = /datum/brain_trauma, resilience = TRAUMA_RESILIENCE_ABSOLUTE)
. = list()
for(var/X in traumas)
var/datum/brain_trauma/BT = X
if(istype(BT, brain_trauma_type) && (BT.resilience <= resilience))
. += BT
/obj/item/organ/brain/proc/can_gain_trauma(datum/brain_trauma/trauma, resilience)
if(!ispath(trauma))
trauma = trauma.type
@@ -267,13 +274,12 @@
gain_trauma(trauma_type, resilience)
//Cure a random trauma of a certain resilience level
/obj/item/organ/brain/proc/cure_trauma_type(resilience = TRAUMA_RESILIENCE_BASIC)
var/datum/brain_trauma/trauma = has_trauma_type(resilience)
if(trauma)
qdel(trauma)
/obj/item/organ/brain/proc/cure_trauma_type(brain_trauma_type = /datum/brain_trauma, resilience = TRAUMA_RESILIENCE_BASIC)
var/list/traumas = get_traumas_type(brain_trauma_type, resilience)
if(LAZYLEN(traumas))
qdel(pick(traumas))
/obj/item/organ/brain/proc/cure_all_traumas(resilience = TRAUMA_RESILIENCE_BASIC)
var/list/traumas = get_traumas_type(resilience = resilience)
for(var/X in traumas)
var/datum/brain_trauma/trauma = X
if(trauma.resilience <= resilience)
qdel(trauma)
qdel(X)

View File

@@ -93,10 +93,10 @@
if(B)
. = B.gain_trauma_type(brain_trauma_type, resilience)
/mob/living/carbon/proc/cure_trauma_type(resilience)
/mob/living/carbon/proc/cure_trauma_type(brain_trauma_type = /datum/brain_trauma, resilience)
var/obj/item/organ/brain/B = getorganslot(ORGAN_SLOT_BRAIN)
if(B)
. = B.cure_trauma_type(resilience)
. = B.cure_trauma_type(brain_trauma_type, resilience)
/mob/living/carbon/proc/cure_all_traumas(resilience)
var/obj/item/organ/brain/B = getorganslot(ORGAN_SLOT_BRAIN)

View File

@@ -833,7 +833,7 @@
if(iscarbon(M))
var/mob/living/carbon/C = M
if(prob(10))
C.cure_trauma_type(TRAUMA_RESILIENCE_BASIC)
C.cure_trauma_type(resilience = TRAUMA_RESILIENCE_BASIC)
..()
/datum/reagent/medicine/mutadone