Fix brain trauma surgery (#3403)

## About The Pull Request

Fixes the highest level of trauma surgery leaving leftover traumas.
Applies a status effect instead of the random roll of a new trauma.

## Why It's Good For The Game

Having to do lobotomy surgery over and over until you hit the 25% RNG to
make it successfully go away isn't a good gameplay experience. Better to
just apply a status effect for a while instead.

## Changelog

🆑 LT3
fix: Lobotomy/blessed lobotomy should correctly remove all surgery based
traumas
balance: Lobotomy/blessed lobotomy now provides a predictable status
effect instead of a trauma RNG roll
/🆑
This commit is contained in:
LT3
2025-04-03 13:14:07 -07:00
committed by GitHub
parent 95d97cf4a2
commit 1f3aedc6c1
2 changed files with 9 additions and 5 deletions

View File

@@ -13,6 +13,9 @@
/// How much extra bleeding the mob is given
var/bleed_modifier_addition = 1
/datum/status_effect/vulnerable_to_damage/surgery
duration = 15 MINUTES
/datum/status_effect/vulnerable_to_damage/on_apply()
to_chat(owner, span_userdanger("Your body suddenly feals weak and fragile!"))
var/mob/living/carbon/human/carbon_owner = owner

View File

@@ -1,5 +1,5 @@
/datum/surgery/advanced/lobotomy
desc = "An invasive surgical procedure which guarantees removal of deep-rooted brain traumas, but might cause a different, deeper trauma in return."
desc = "An invasive surgical procedure which guarantees removal of deep-rooted brain traumas, but takes a while for the body to recover."
/datum/surgery_step/lobotomize/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE)
display_results(
@@ -11,11 +11,11 @@
)
display_pain(target, "Your head goes totally numb for a moment, the pain is overwhelming!")
target.cure_all_traumas(TRAUMA_RESILIENCE_SURGERY)
target.cure_all_traumas(TRAUMA_RESILIENCE_LOBOTOMY)
target.apply_status_effect(/datum/status_effect/vulnerable_to_damage/surgery)
if(target.mind && target.mind.has_antag_datum(/datum/antagonist/brainwashed))
target.mind.remove_antag_datum(/datum/antagonist/brainwashed)
if(prob(75))
target.gain_trauma_type(BRAIN_TRAUMA_MILD, TRAUMA_RESILIENCE_MAGIC)
return ..()
/datum/surgery/advanced/blessed_lobotomy
@@ -58,12 +58,13 @@
)
display_pain(target, "Your head goes totally numb for a moment, the pain is overwhelming! You begin to see the light... ")
target.cure_all_traumas(TRAUMA_RESILIENCE_SURGERY)
target.cure_all_traumas(TRAUMA_RESILIENCE_LOBOTOMY)
target.cure_all_traumas(TRAUMA_RESILIENCE_MAGIC)
target.apply_status_effect(/datum/status_effect/vulnerable_to_damage/surgery)
playsound(source = get_turf(target), soundin = 'sound/effects/magic/repulse.ogg', vol = 75, vary = TRUE, falloff_distance = 2)
if(target.mind && target.mind.has_antag_datum(/datum/antagonist/brainwashed))
target.mind.remove_antag_datum(/datum/antagonist/brainwashed)
if(prob(75))
target.gain_trauma_type(BRAIN_TRAUMA_MILD, TRAUMA_RESILIENCE_MAGIC)
return ..()
/datum/design/surgery/lobotomy/blessed