Merge pull request #6264 from Citadel-Station-13/upstream-merge-36645
[MIRROR] Fixes mannitol not curing minor brain traumas
This commit is contained in:
@@ -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)
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user