Fix synthflesh patch unhusking, improved feedback #90514

This commit is contained in:
lessthanthree
2025-04-23 10:40:14 -07:00
parent b3debd2a6b
commit 2ac6275ea3
4 changed files with 12 additions and 20 deletions
@@ -1,9 +1,6 @@
/// This reagent is useful for blood regeneration. Useful for Hemophages.
#define REAGENT_BLOOD_REGENERATING (1<<0)
///Amount of synthflesh required to unhusk someone
#define SYNTHFLESH_LING_UNHUSK_AMOUNT 200
//used by chem masters and pill presses
// The categories of reagent packaging
#define CAT_HYPOS "hypos"
@@ -168,18 +168,16 @@
// Husk detection
if(HAS_TRAIT(target, TRAIT_HUSK))
var/husk_reason = "unknown causes"
if(advanced)
// BUBBER EDIT BEGIN - Better unhusk info with rezadone and exact units mentioned
if(HAS_TRAIT_FROM(target, TRAIT_HUSK, BURN))
// BUBBER EDIT BEGIN - Better unhusk info with rezadone and exact units mentioned
render_list += "<span class='alert ml-1'>Subject has been husked by [conditional_tooltip("severe burns", "Tend burns and apply [SYNTHFLESH_UNHUSK_AMOUNT]u [/datum/reagent/medicine/c2/synthflesh::name] or use [/datum/reagent/medicine/rezadone::name].", tochat)].</span><br>"
else if (HAS_TRAIT_FROM(target, TRAIT_HUSK, CHANGELING_DRAIN))
render_list += "<span class='alert ml-1'>Subject has been husked by [conditional_tooltip("desiccation", "Apply [SYNTHFLESH_LING_UNHUSK_AMOUNT]u [/datum/reagent/medicine/c2/synthflesh::name] or use [/datum/reagent/medicine/rezadone::name]", tochat)].</span><br>"
// BUBBER EDIT END
else
render_list += "<span class='alert ml-1'>Subject has been husked by mysterious causes.</span><br>"
husk_reason = "severe burns"
else if(HAS_TRAIT_FROM(target, TRAIT_HUSK, CHANGELING_DRAIN))
husk_reason = "desiccation"
else
render_list += "<span class='alert ml-1'>Subject has been husked.</span><br>"
render_list += "<span class='alert ml-1'>Subject has been [conditional_tooltip("husked", "Repair burns, then apply choice of: [SYNTHFLESH_UNHUSK_AMOUNT]u pure [/datum/reagent/medicine/c2/synthflesh::name] / up to [SYNTHFLESH_UNHUSK_MAX]u impure [/datum/reagent/medicine/c2/synthflesh::name] / 5u [/datum/reagent/medicine/rezadone::name].", tochat)] due to [husk_reason].</span><br>"
// BUBBER EDIT END
if(target.getStaminaLoss())
if(advanced)
@@ -420,11 +418,8 @@
render_list += "<span class='alert ml-1'>Treatment Guide: Euthanasia.</span>"
else
render_list += span_userdanger("Classified viral infection detected.")
if(cling_infection.was_changeling_husked)
render_list += "<span class='alert ml-1'>Treatment Guide: Apply [SYNTHFLESH_LING_UNHUSK_AMOUNT]u of synthflesh or inject rezadone.</span>"
else
render_list += "<span class='alert ml-1'>Treatment Guide: Wait until patient receives more than [CHANGELING_ZOMBIE_TOXINS_THRESHOLD_TO_CURE] units of toxin damage to expose the infection from the incubation stage, then treat toxins to cure.</span>"
render_list += "<span class='alert ml-1'>Patient's infection is currently <b><i>[cling_infection.can_cure ? "EXPOSED" : "INCUBATING"]</i></b>.</span>"
render_list += "<span class='alert ml-1'>Treatment Guide: Wait until patient receives more than [CHANGELING_ZOMBIE_TOXINS_THRESHOLD_TO_CURE] units of toxin damage to expose the infection from the incubation stage, then treat toxins to cure.</span>"
render_list += "<span class='alert ml-1'>Patient's infection is currently <b><i>[cling_infection.can_cure ? "EXPOSED" : "INCUBATING"]</i></b>.</span>"
//BUBBERSTATION EDIT END
// Time of death
@@ -520,7 +520,7 @@
carbies.add_mood_event("painful_medicine", /datum/mood_event/painful_medicine)
//don't unhusked non husked mobs
if (!HAS_TRAIT_FROM(exposed_mob, TRAIT_HUSK, BURN))
if (!HAS_TRAIT(exposed_mob, TRAIT_HUSK)) // BUBBER EDIT CHANGE - Synthflesh works on ling husks - Original: if (!HAS_TRAIT_FROM(exposed_mob, TRAIT_HUSK, BURN))
return
//don't try to unhusk mobs above burn damage threshold
@@ -238,8 +238,8 @@
return
var/mob/living/carbon/patient = exposed_mob
if(reac_volume >= 5 && HAS_TRAIT_FROM(patient, TRAIT_HUSK, BURN) && patient.getFireLoss() < UNHUSK_DAMAGE_THRESHOLD) //One carp yields 12u rezadone.
patient.cure_husk(BURN)
if(reac_volume >= 5 && HAS_TRAIT(patient, TRAIT_HUSK) && patient.getFireLoss() < UNHUSK_DAMAGE_THRESHOLD) //One carp yields 12u rezadone. // BUBBER EDIT CHANGE - Synthflesh works on ling husks - Original: HAS_TRAIT_FROM(patient, TRAIT_HUSK, BURN)
patient.cure_husk() // BUBBER EDIT CHANGE - Synthflesh works on ling husks - Original: patient.cure_husk(BURN)
patient.visible_message(span_nicegreen("[patient]'s body rapidly absorbs moisture from the environment, taking on a more healthy appearance."))
/datum/reagent/medicine/spaceacillin