Merge pull request #10906 from Hatterhat/tg-48717-48726
husking is stupid - 5u rezadone/100u synthflesh heals husking, husking takes more burn
This commit is contained in:
@@ -40,6 +40,8 @@
|
|||||||
#define ADD_REAGENT 2 // reagent added
|
#define ADD_REAGENT 2 // reagent added
|
||||||
#define REM_REAGENT 3 // reagent removed (may still exist)
|
#define REM_REAGENT 3 // reagent removed (may still exist)
|
||||||
|
|
||||||
|
#define THRESHOLD_UNHUSK 50 // health threshold for synthflesh/rezadone to unhusk someone
|
||||||
|
|
||||||
//reagent bitflags, used for altering how they works
|
//reagent bitflags, used for altering how they works
|
||||||
#define REAGENT_DEAD_PROCESS (1<<0) //calls on_mob_dead() if present in a dead body
|
#define REAGENT_DEAD_PROCESS (1<<0) //calls on_mob_dead() if present in a dead body
|
||||||
#define REAGENT_DONOTSPLIT (1<<1) //Do not split the chem at all during processing
|
#define REAGENT_DONOTSPLIT (1<<1) //Do not split the chem at all during processing
|
||||||
|
|||||||
@@ -559,7 +559,7 @@
|
|||||||
health = round(maxHealth - getOxyLoss() - getToxLoss() - getCloneLoss() - total_burn - total_brute, DAMAGE_PRECISION)
|
health = round(maxHealth - getOxyLoss() - getToxLoss() - getCloneLoss() - total_burn - total_brute, DAMAGE_PRECISION)
|
||||||
staminaloss = round(total_stamina, DAMAGE_PRECISION)
|
staminaloss = round(total_stamina, DAMAGE_PRECISION)
|
||||||
update_stat()
|
update_stat()
|
||||||
if(((maxHealth - total_burn) < HEALTH_THRESHOLD_DEAD) && stat == DEAD )
|
if(((maxHealth - total_burn) < HEALTH_THRESHOLD_DEAD*2) && stat == DEAD )
|
||||||
become_husk("burn")
|
become_husk("burn")
|
||||||
med_hud_set_health()
|
med_hud_set_health()
|
||||||
if(stat == SOFT_CRIT)
|
if(stat == SOFT_CRIT)
|
||||||
@@ -986,4 +986,4 @@
|
|||||||
if(H.clothing_flags & SCAN_REAGENTS)
|
if(H.clothing_flags & SCAN_REAGENTS)
|
||||||
return TRUE
|
return TRUE
|
||||||
if(isclothing(wear_mask) && (wear_mask.clothing_flags & SCAN_REAGENTS))
|
if(isclothing(wear_mask) && (wear_mask.clothing_flags & SCAN_REAGENTS))
|
||||||
return TRUE
|
return TRUE
|
||||||
|
|||||||
@@ -216,6 +216,14 @@
|
|||||||
..()
|
..()
|
||||||
. = 1
|
. = 1
|
||||||
|
|
||||||
|
/datum/reagent/medicine/rezadone/reaction_mob(mob/living/M, method=TOUCH, reac_volume)
|
||||||
|
. = ..()
|
||||||
|
if(iscarbon(M))
|
||||||
|
var/mob/living/carbon/patient = M
|
||||||
|
if(reac_volume >= 5 && HAS_TRAIT_FROM(patient, TRAIT_HUSK, "burn") && patient.getFireLoss() < THRESHOLD_UNHUSK) //One carp yields 12u rezadone.
|
||||||
|
patient.cure_husk("burn")
|
||||||
|
patient.visible_message("<span class='nicegreen'>[patient]'s body rapidly absorbs moisture from the enviroment, taking on a more healthy appearance.")
|
||||||
|
|
||||||
/datum/reagent/medicine/spaceacillin
|
/datum/reagent/medicine/spaceacillin
|
||||||
name = "Spaceacillin"
|
name = "Spaceacillin"
|
||||||
description = "Spaceacillin will prevent a patient from conventionally spreading any diseases they are currently infected with."
|
description = "Spaceacillin will prevent a patient from conventionally spreading any diseases they are currently infected with."
|
||||||
@@ -436,6 +444,10 @@ datum/reagent/medicine/styptic_powder/overdose_start(mob/living/M)
|
|||||||
if(show_message)
|
if(show_message)
|
||||||
to_chat(M, "<span class='danger'>You feel your burns and bruises healing! It stings like hell!</span>")
|
to_chat(M, "<span class='danger'>You feel your burns and bruises healing! It stings like hell!</span>")
|
||||||
SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "painful_medicine", /datum/mood_event/painful_medicine)
|
SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "painful_medicine", /datum/mood_event/painful_medicine)
|
||||||
|
//Has to be at less than THRESHOLD_UNHUSK burn damage and have 100 synthflesh before unhusking. Corpses dont metabolize.
|
||||||
|
if(HAS_TRAIT_FROM(M, TRAIT_HUSK, "burn") && M.getFireLoss() < THRESHOLD_UNHUSK && M.reagents.has_reagent(/datum/reagent/medicine/synthflesh, 100))
|
||||||
|
M.cure_husk("burn")
|
||||||
|
M.visible_message("<span class='nicegreen'>Most of [M]'s burnt off or charred flesh has been restored.")
|
||||||
..()
|
..()
|
||||||
|
|
||||||
/datum/reagent/medicine/synthflesh/overdose_start(mob/living/M)
|
/datum/reagent/medicine/synthflesh/overdose_start(mob/living/M)
|
||||||
|
|||||||
Reference in New Issue
Block a user