979bc54530
Since people were talking about deep-rooted trauma's, I buffed lobotomy. Lobotomy removes deep-rooted trauma's, but gives a trauma back that can be cured with basic brain surgery, if you fail the lobotomy, it just adds another lobotomy based trauma.
90 lines
4.0 KiB
Plaintext
90 lines
4.0 KiB
Plaintext
/datum/surgery/advanced/lobotomy
|
|
name = "Lobotomy"
|
|
desc = "An invasive surgical procedure which guarantees removal of almost all brain traumas, at the cost of severe, albeit repairable, brain damage."
|
|
steps = list(
|
|
/datum/surgery_step/incise,
|
|
/datum/surgery_step/retract_skin,
|
|
/datum/surgery_step/saw,
|
|
/datum/surgery_step/clamp_bleeders,
|
|
/datum/surgery_step/lobotomize,
|
|
/datum/surgery_step/close)
|
|
|
|
target_mobtypes = list(/mob/living/carbon/human, /mob/living/carbon/monkey)
|
|
possible_locs = list(BODY_ZONE_HEAD)
|
|
requires_bodypart_type = 0
|
|
|
|
/datum/surgery/advanced/lobotomy/can_start(mob/user, mob/living/carbon/target, obj/item/tool)
|
|
if(!..())
|
|
return FALSE
|
|
var/obj/item/organ/brain/B = target.getorganslot(ORGAN_SLOT_BRAIN)
|
|
if(!B)
|
|
return FALSE
|
|
return TRUE
|
|
|
|
/datum/surgery_step/lobotomize
|
|
name = "perform lobotomy"
|
|
implements = list(TOOL_SCALPEL = 90, /obj/item/melee/transforming/energy/sword = 55, /obj/item/kitchen/knife = 35,
|
|
/obj/item/shard = 25, /obj/item = 20)
|
|
time = 100
|
|
preop_sound = 'sound/surgery/scalpel1.ogg'
|
|
success_sound = 'sound/surgery/scalpel2.ogg'
|
|
failure_sound = 'sound/surgery/organ2.ogg'
|
|
|
|
/datum/surgery_step/lobotomize/tool_check(mob/user, obj/item/tool)
|
|
if(implement_type == /obj/item && !tool.get_sharpness())
|
|
return FALSE
|
|
return TRUE
|
|
|
|
/datum/surgery_step/lobotomize/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
|
display_results(user, target, "<span class='notice'>You begin to perform a lobotomy on [target]'s brain...</span>",
|
|
"[user] begins to perform a lobotomy on [target]'s brain.",
|
|
"[user] begins to perform surgery on [target]'s brain.")
|
|
|
|
/datum/surgery_step/lobotomize/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
|
display_results(user, target, "<span class='notice'>You succeed in lobotomizing [target].</span>",
|
|
"[user] successfully lobotomizes [target]!",
|
|
"[user] completes the surgery on [target]'s brain.")
|
|
target.cure_all_traumas(TRAUMA_RESILIENCE_LOBOTOMY)
|
|
if(target.mind && target.mind.has_antag_datum(/datum/antagonist/brainwashed))
|
|
target.mind.remove_antag_datum(/datum/antagonist/brainwashed)
|
|
/* GS13 EDIT START
|
|
if(prob(50))
|
|
switch(rand(1,3))//Now let's see what hopefully-not-important part of the brain we cut off
|
|
if(1)
|
|
target.gain_trauma_type(BRAIN_TRAUMA_MILD, TRAUMA_RESILIENCE_SURGERY)
|
|
if(2)
|
|
target.gain_trauma_type(BRAIN_TRAUMA_SEVERE, TRAUMA_RESILIENCE_SURGERY)
|
|
if(3)
|
|
target.gain_trauma_type(BRAIN_TRAUMA_SPECIAL, TRAUMA_RESILIENCE_SURGERY)
|
|
// you're cutting off a part of the brain.w
|
|
var/obj/item/organ/brain/B = target.getorganslot(ORGAN_SLOT_BRAIN)
|
|
B.applyOrganDamage(50, 100)
|
|
*/
|
|
switch(rand(1,4))//Now let's see what hopefully-not-important part of the brain we cut off
|
|
if(1)
|
|
target.gain_trauma_type(BRAIN_TRAUMA_MILD, TRAUMA_RESILIENCE_SURGERY)
|
|
if(2)
|
|
target.gain_trauma_type(BRAIN_TRAUMA_SEVERE, TRAUMA_RESILIENCE_SURGERY)
|
|
if(3)
|
|
target.gain_trauma_type(BRAIN_TRAUMA_SPECIAL, TRAUMA_RESILIENCE_SURGERY)
|
|
//GS13 EDIT END
|
|
return TRUE
|
|
|
|
/datum/surgery_step/lobotomize/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
|
var/obj/item/organ/brain/B = target.getorganslot(ORGAN_SLOT_BRAIN)
|
|
if(B)
|
|
display_results(user, target, "<span class='warning'>You remove the wrong part, causing more damage!</span>",
|
|
"[user] successfully lobotomizes [target]!",
|
|
"[user] completes the surgery on [target]'s brain.")
|
|
B.applyOrganDamage(80)
|
|
switch(rand(1,3))
|
|
if(1)
|
|
target.gain_trauma_type(BRAIN_TRAUMA_MILD, TRAUMA_RESILIENCE_LOBOTOMY)
|
|
if(2)
|
|
target.gain_trauma_type(BRAIN_TRAUMA_SEVERE, TRAUMA_RESILIENCE_LOBOTOMY)
|
|
if(3)
|
|
target.gain_trauma_type(BRAIN_TRAUMA_SPECIAL, TRAUMA_RESILIENCE_LOBOTOMY)
|
|
else
|
|
user.visible_message("<span class='warning'>[user] suddenly notices that the brain [user.p_they()] [user.p_were()] working on is not there anymore.", "<span class='warning'>You suddenly notice that the brain you were working on is not there anymore.</span>")
|
|
return FALSE
|