From 2ac6275ea377cd607a281bddef390ea1e36e281d Mon Sep 17 00:00:00 2001 From: lessthanthree <83487515+lessthnthree@users.noreply.github.com> Date: Wed, 23 Apr 2025 10:40:14 -0700 Subject: [PATCH] Fix synthflesh patch unhusking, improved feedback #90514 --- code/__DEFINES/~skyrat_defines/reagents.dm | 3 --- .../items/devices/scanners/health_analyzer.dm | 23 ++++++++----------- .../reagents/cat2_medicine_reagents.dm | 2 +- .../chemistry/reagents/medicine_reagents.dm | 4 ++-- 4 files changed, 12 insertions(+), 20 deletions(-) diff --git a/code/__DEFINES/~skyrat_defines/reagents.dm b/code/__DEFINES/~skyrat_defines/reagents.dm index 73e5f37cccc..5a6b518716a 100644 --- a/code/__DEFINES/~skyrat_defines/reagents.dm +++ b/code/__DEFINES/~skyrat_defines/reagents.dm @@ -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" diff --git a/code/game/objects/items/devices/scanners/health_analyzer.dm b/code/game/objects/items/devices/scanners/health_analyzer.dm index a3eea0e3523..53f2c49d4d2 100644 --- a/code/game/objects/items/devices/scanners/health_analyzer.dm +++ b/code/game/objects/items/devices/scanners/health_analyzer.dm @@ -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 += "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)].
" - else if (HAS_TRAIT_FROM(target, TRAIT_HUSK, CHANGELING_DRAIN)) - render_list += "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)].
" - // BUBBER EDIT END - else - render_list += "Subject has been husked by mysterious causes.
" + husk_reason = "severe burns" + else if(HAS_TRAIT_FROM(target, TRAIT_HUSK, CHANGELING_DRAIN)) + husk_reason = "desiccation" - else - render_list += "Subject has been husked.
" + render_list += "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].
" + // BUBBER EDIT END if(target.getStaminaLoss()) if(advanced) @@ -420,11 +418,8 @@ render_list += "Treatment Guide: Euthanasia." else render_list += span_userdanger("Classified viral infection detected.") - if(cling_infection.was_changeling_husked) - render_list += "Treatment Guide: Apply [SYNTHFLESH_LING_UNHUSK_AMOUNT]u of synthflesh or inject rezadone." - else - render_list += "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." - render_list += "Patient's infection is currently [cling_infection.can_cure ? "EXPOSED" : "INCUBATING"]." + render_list += "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." + render_list += "Patient's infection is currently [cling_infection.can_cure ? "EXPOSED" : "INCUBATING"]." //BUBBERSTATION EDIT END // Time of death diff --git a/code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.dm index 5fe17b94080..b9ebb838283 100644 --- a/code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.dm @@ -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 diff --git a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm index afbefa1a19b..0dd695ffe17 100644 --- a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm @@ -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