mirror of
https://github.com/KabKebab/GS13.git
synced 2026-07-20 04:17:45 +01:00
whew
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
/datum/surgery/lobectomy
|
||||
name = "Lobectomy" //not to be confused with lobotomy
|
||||
steps = list(/datum/surgery_step/incise, /datum/surgery_step/retract_skin, /datum/surgery_step/saw, /datum/surgery_step/clamp_bleeders,
|
||||
/datum/surgery_step/lobectomy, /datum/surgery_step/close)
|
||||
possible_locs = list(BODY_ZONE_CHEST)
|
||||
|
||||
/datum/surgery/lobectomy/can_start(mob/user, mob/living/carbon/target)
|
||||
var/obj/item/organ/lungs/L = target.getorganslot(ORGAN_SLOT_LUNGS)
|
||||
if(L)
|
||||
if(L.damage > 60 && !L.operated)
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
|
||||
//lobectomy, removes the most damaged lung lobe with a 95% base success chance
|
||||
/datum/surgery_step/lobectomy
|
||||
name = "excise damaged lung node"
|
||||
implements = list(/obj/item/scalpel = 95, /obj/item/melee/transforming/energy/sword = 65, /obj/item/kitchen/knife = 45,
|
||||
/obj/item/shard = 35)
|
||||
time = 42
|
||||
|
||||
/datum/surgery_step/lobectomy/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 make an incision in [target]'s lungs...</span>",
|
||||
"[user] begins to make an incision in [target].",
|
||||
"[user] begins to make an incision in [target].")
|
||||
|
||||
/datum/surgery_step/lobectomy/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
||||
if(ishuman(target))
|
||||
var/mob/living/carbon/human/H = target
|
||||
var/obj/item/organ/lungs/L = H.getorganslot(ORGAN_SLOT_LUNGS)
|
||||
L.operated = TRUE
|
||||
H.setOrganLoss(ORGAN_SLOT_LUNGS, 60)
|
||||
display_results(user, target, "<span class='notice'>You successfully excise [H]'s most damaged lobe.</span>",
|
||||
"Successfully removes a piece of [H]'s lungs.",
|
||||
"")
|
||||
return TRUE
|
||||
|
||||
/datum/surgery_step/lobectomy/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
||||
if(ishuman(target))
|
||||
var/mob/living/carbon/human/H = target
|
||||
display_results(user, target, "<span class='warning'>You screw up, failing to excise [H]'s damaged lobe!</span>",
|
||||
"<span class='warning'>[user] screws up!</span>",
|
||||
"<span class='warning'>[user] screws up!</span>")
|
||||
H.losebreath += 4
|
||||
H.adjustOrganLoss(ORGAN_SLOT_LUNGS, 10)
|
||||
return FALSE
|
||||
Reference in New Issue
Block a user