mirror of
https://github.com/CHOMPstation/CHOMPstation.git
synced 2026-08-24 20:46:29 +01:00
Merge branch 'master' of https://github.com/PolarisSS13/Polaris into aro-sync01222018
# Conflicts: # code/modules/mob/mob.dm - Whitespace? No real conflict. # code/modules/mob/mob_planes.dm - Comment conflict, was a late port to Polaris.
This commit is contained in:
@@ -56,9 +56,55 @@
|
||||
affected.take_damage(5, 0)
|
||||
|
||||
///////////////////////////////////////////////////////////////
|
||||
// Necrosis Surgery
|
||||
// Necrosis Surgery Step 1
|
||||
///////////////////////////////////////////////////////////////
|
||||
/datum/surgery_step/fix_dead_tissue //Debridement
|
||||
priority = 2
|
||||
allowed_tools = list(
|
||||
/obj/item/weapon/surgical/scalpel = 100, \
|
||||
/obj/item/weapon/material/knife = 75, \
|
||||
/obj/item/weapon/material/shard = 50, \
|
||||
)
|
||||
|
||||
can_infect = 1
|
||||
blood_level = 1
|
||||
|
||||
min_duration = 110
|
||||
max_duration = 160
|
||||
|
||||
/datum/surgery_step/fix_dead_tissue/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
if(!hasorgans(target))
|
||||
return 0
|
||||
|
||||
if (target_zone == O_MOUTH || target_zone == O_EYES)
|
||||
return 0
|
||||
|
||||
var/obj/item/organ/external/affected = target.get_organ(target_zone)
|
||||
|
||||
return affected && affected.open >= 2 && (affected.status & ORGAN_DEAD)
|
||||
|
||||
/datum/surgery_step/fix_dead_tissue/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
var/obj/item/organ/external/affected = target.get_organ(target_zone)
|
||||
user.visible_message("[user] starts cutting away necrotic tissue in [target]'s [affected.name] with \the [tool]." , \
|
||||
"You start cutting away necrotic tissue in [target]'s [affected.name] with \the [tool].")
|
||||
target.custom_pain("The pain in [affected.name] is unbearable!", 100)
|
||||
..()
|
||||
|
||||
/datum/surgery_step/fix_dead_tissue/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
var/obj/item/organ/external/affected = target.get_organ(target_zone)
|
||||
user.visible_message("<font color='blue'>[user] has cut away necrotic tissue in [target]'s [affected.name] with \the [tool].</font>", \
|
||||
"<font color='blue'>You have cut away necrotic tissue in [target]'s [affected.name] with \the [tool].</font>")
|
||||
affected.open = 3
|
||||
|
||||
/datum/surgery_step/fix_dead_tissue/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
var/obj/item/organ/external/affected = target.get_organ(target_zone)
|
||||
user.visible_message("<font color='red'>[user]'s hand slips, slicing an artery inside [target]'s [affected.name] with \the [tool]!</font>", \
|
||||
"<font color='red'>Your hand slips, slicing an artery inside [target]'s [affected.name] with \the [tool]!</font>")
|
||||
affected.createwound(CUT, 20, 1)
|
||||
|
||||
///////////////////////////////////////////////////////////////
|
||||
// Necrosis Surgery Step 2
|
||||
///////////////////////////////////////////////////////////////
|
||||
/datum/surgery_step/treat_necrosis
|
||||
priority = 2
|
||||
allowed_tools = list(
|
||||
|
||||
@@ -128,9 +128,9 @@
|
||||
// Not staying still fails you too.
|
||||
if(success)
|
||||
var/calc_duration = rand(S.min_duration, S.max_duration)
|
||||
if(!do_mob(user, M, calc_duration * toolspeed))
|
||||
if(!do_mob(user, M, calc_duration * toolspeed, zone))
|
||||
success = FALSE
|
||||
to_chat(user, "<span class='warning'>You must remain close to your patient to conduct surgery.</span>")
|
||||
to_chat(user, "<span class='warning'>You must remain close to and keep focused on your patient to conduct surgery.</span>")
|
||||
|
||||
if(success)
|
||||
S.end_step(user, M, zone, src)
|
||||
|
||||
Reference in New Issue
Block a user