From 12b3ccb2e27df5dd9721155ddbfa4d2b2044eb98 Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Thu, 4 Feb 2016 23:57:11 -0500 Subject: [PATCH] why --- code/_onclick/item_attack.dm | 2 +- code/modules/surgery/bones.dm | 36 +++--- code/modules/surgery/encased.dm | 28 ++-- code/modules/surgery/face.dm | 32 ++--- code/modules/surgery/generic.dm | 56 ++++---- code/modules/surgery/limb_reattach.dm | 7 +- .../surgery/organs/augments_internal.dm | 2 +- code/modules/surgery/organs_internal.dm | 120 +++++++++++++++++- code/modules/surgery/slime.dm | 2 +- icons/mob/inhands/guns_lefthand.dmi | Bin 41215 -> 41422 bytes icons/mob/inhands/guns_righthand.dmi | Bin 41561 -> 41673 bytes 11 files changed, 199 insertions(+), 86 deletions(-) diff --git a/code/_onclick/item_attack.dm b/code/_onclick/item_attack.dm index b766acb1300..99427712b43 100644 --- a/code/_onclick/item_attack.dm +++ b/code/_onclick/item_attack.dm @@ -38,7 +38,7 @@ if(!attempt_initiate_surgery(src, M, user)) return 0 if(is_sharp(src)) - if( isslime(M) && !attempt_initiate_surgery(src, M, user)) + if(isslime(M) && !attempt_initiate_surgery(src, M, user)) return 0 if(!attempt_initiate_surgery(src, M, user)) return 0 diff --git a/code/modules/surgery/bones.dm b/code/modules/surgery/bones.dm index b822552bd5c..29f7c1574f5 100644 --- a/code/modules/surgery/bones.dm +++ b/code/modules/surgery/bones.dm @@ -52,16 +52,16 @@ /datum/surgery_step/glue_bone/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("\blue [user] applies some [tool] to [target]'s bone in [affected.name]", \ - "\blue You apply some [tool] to [target]'s bone in [affected.name] with \the [tool].") + user.visible_message(" [user] applies some [tool] to [target]'s bone in [affected.name]", \ + " You apply some [tool] to [target]'s bone in [affected.name] with \the [tool].") affected.stage = 1 return 1 /datum/surgery_step/glue_bone/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("\red [user]'s hand slips, smearing [tool] in the incision in [target]'s [affected.name]!" , \ - "\red Your hand slips, smearing [tool] in the incision in [target]'s [affected.name]!") + user.visible_message(" [user]'s hand slips, smearing [tool] in the incision in [target]'s [affected.name]!" , \ + " Your hand slips, smearing [tool] in the incision in [target]'s [affected.name]!") return 0 /datum/surgery_step/set_bone @@ -88,19 +88,19 @@ /datum/surgery_step/set_bone/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) if (affected.status & ORGAN_BROKEN) - user.visible_message("\blue [user] sets the bone in [target]'s [affected.name] in place with \the [tool].", \ - "\blue You set the bone in [target]'s [affected.name] in place with \the [tool].") + user.visible_message(" [user] sets the bone in [target]'s [affected.name] in place with \the [tool].", \ + " You set the bone in [target]'s [affected.name] in place with \the [tool].") affected.stage = 2 return 1 else - user.visible_message("\blue [user] sets the bone in [target]'s [affected.name] in place with \the [tool].", \ - "\blue You set the bone in [target]'s [affected.name] in place with \the [tool].") + user.visible_message(" [user] sets the bone in [target]'s [affected.name] in place with \the [tool].", \ + " You set the bone in [target]'s [affected.name] in place with \the [tool].") return 1 /datum/surgery_step/set_bone/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("\red [user]'s hand slips, damaging the bone in [target]'s [affected.name] with \the [tool]!" , \ - "\red Your hand slips, damaging the bone in [target]'s [affected.name] with \the [tool]!") + user.visible_message(" [user]'s hand slips, damaging the bone in [target]'s [affected.name] with \the [tool]!" , \ + " Your hand slips, damaging the bone in [target]'s [affected.name] with \the [tool]!") affected.createwound(BRUISE, 5) return 0 @@ -125,16 +125,16 @@ /datum/surgery_step/mend_skull/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("\blue [user] sets [target]'s skull with \the [tool]." , \ - "\blue You set [target]'s skull with \the [tool].") + user.visible_message(" [user] sets [target]'s skull with \the [tool]." , \ + " You set [target]'s skull with \the [tool].") affected.stage = 2 return 1 /datum/surgery_step/mend_skull/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("\red [user]'s hand slips, damaging [target]'s face with \the [tool]!" , \ - "\red Your hand slips, damaging [target]'s face with \the [tool]!") + user.visible_message(" [user]'s hand slips, damaging [target]'s face with \the [tool]!" , \ + " Your hand slips, damaging [target]'s face with \the [tool]!") var/obj/item/organ/external/head/h = affected h.createwound(BRUISE, 10) h.disfigured = 1 @@ -164,8 +164,8 @@ /datum/surgery_step/finish_bone/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("\blue [user] has mended the damaged bones in [target]'s [affected.name] with \the [tool]." , \ - "\blue You have mended the damaged bones in [target]'s [affected.name] with \the [tool]." ) + user.visible_message(" [user] has mended the damaged bones in [target]'s [affected.name] with \the [tool]." , \ + " You have mended the damaged bones in [target]'s [affected.name] with \the [tool]." ) affected.status &= ~ORGAN_BROKEN affected.status &= ~ORGAN_SPLINTED affected.stage = 0 @@ -175,6 +175,6 @@ /datum/surgery_step/finish_bone/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("\red [user]'s hand slips, smearing [tool] in the incision in [target]'s [affected.name]!" , \ - "\red Your hand slips, smearing [tool] in the incision in [target]'s [affected.name]!") + user.visible_message(" [user]'s hand slips, smearing [tool] in the incision in [target]'s [affected.name]!" , \ + " Your hand slips, smearing [tool] in the incision in [target]'s [affected.name]!") return 0 \ No newline at end of file diff --git a/code/modules/surgery/encased.dm b/code/modules/surgery/encased.dm index 46d65e8b149..ebe1aa404ef 100644 --- a/code/modules/surgery/encased.dm +++ b/code/modules/surgery/encased.dm @@ -49,8 +49,8 @@ return var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("\blue [user] has cut [target]'s [affected.encased] open with \the [tool].", \ - "\blue You have cut [target]'s [affected.encased] open with \the [tool].") + user.visible_message(" [user] has cut [target]'s [affected.encased] open with \the [tool].", \ + " You have cut [target]'s [affected.encased] open with \the [tool].") affected.open = 2.5 return 1 @@ -60,8 +60,8 @@ return var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("\red [user]'s hand slips, cracking [target]'s [affected.encased] with \the [tool]!" , \ - "\red Your hand slips, cracking [target]'s [affected.encased] with \the [tool]!" ) + user.visible_message(" [user]'s hand slips, cracking [target]'s [affected.encased] with \the [tool]!" , \ + " Your hand slips, cracking [target]'s [affected.encased] with \the [tool]!" ) affected.createwound(CUT, 20) affected.fracture() @@ -103,8 +103,8 @@ return var/obj/item/organ/external/affected = target.get_organ(target_zone) - var/msg = "\blue [user] forces open [target]'s [affected.encased] with \the [tool]." - var/self_msg = "\blue You force open [target]'s [affected.encased] with \the [tool]." + var/msg = " [user] forces open [target]'s [affected.encased] with \the [tool]." + var/self_msg = " You force open [target]'s [affected.encased] with \the [tool]." user.visible_message(msg, self_msg) affected.open = 3 @@ -121,8 +121,8 @@ return var/obj/item/organ/external/affected = target.get_organ(target_zone) - var/msg = "\red [user]'s hand slips, cracking [target]'s [affected.encased]!" - var/self_msg = "\red Your hand slips, cracking [target]'s [affected.encased]!" + var/msg = " [user]'s hand slips, cracking [target]'s [affected.encased]!" + var/self_msg = " Your hand slips, cracking [target]'s [affected.encased]!" user.visible_message(msg, self_msg) affected.createwound(BRUISE, 20) @@ -165,8 +165,8 @@ return var/obj/item/organ/external/affected = target.get_organ(target_zone) - var/msg = "\blue [user] bends [target]'s [affected.encased] back into place with \the [tool]." - var/self_msg = "\blue You bend [target]'s [affected.encased] back into place with \the [tool]." + var/msg = " [user] bends [target]'s [affected.encased] back into place with \the [tool]." + var/self_msg = " You bend [target]'s [affected.encased] back into place with \the [tool]." user.visible_message(msg, self_msg) affected.open = 2.5 @@ -179,8 +179,8 @@ return var/obj/item/organ/external/affected = target.get_organ(target_zone) - var/msg = "\red [user]'s hand slips, bending [target]'s [affected.encased] the wrong way!" - var/self_msg = "\red Your hand slips, bending [target]'s [affected.encased] the wrong way!" + var/msg = " [user]'s hand slips, bending [target]'s [affected.encased] the wrong way!" + var/self_msg = " Your hand slips, bending [target]'s [affected.encased] the wrong way!" user.visible_message(msg, self_msg) affected.createwound(BRUISE, 20) @@ -222,8 +222,8 @@ return var/obj/item/organ/external/affected = target.get_organ(target_zone) - var/msg = "\blue [user] applied \the [tool] to [target]'s [affected.encased]." - var/self_msg = "\blue You applied \the [tool] to [target]'s [affected.encased]." + var/msg = " [user] applied \the [tool] to [target]'s [affected.encased]." + var/self_msg = " You applied \the [tool] to [target]'s [affected.encased]." user.visible_message(msg, self_msg) affected.open = 2 diff --git a/code/modules/surgery/face.dm b/code/modules/surgery/face.dm index 1b48f015dd5..6e53e4dbee5 100644 --- a/code/modules/surgery/face.dm +++ b/code/modules/surgery/face.dm @@ -42,16 +42,16 @@ ..() /datum/surgery_step/generic/cut_face/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool,datum/surgery/surgery) - user.visible_message("\blue [user] has cut open [target]'s face and neck with \the [tool]." , \ - "\blue You have cut open [target]'s face and neck with \the [tool].",) + user.visible_message(" [user] has cut open [target]'s face and neck with \the [tool]." , \ + " You have cut open [target]'s face and neck with \the [tool].",) //target.op_stage.face = 1//DID I MENTION I NEED TO REPLACE THE OPSTAGE SHIT! return 1 /datum/surgery_step/generic/cut_face/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool,datum/surgery/surgery) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("\red [user]'s hand slips, slicing [target]'s throat wth \the [tool]!" , \ - "\red Your hand slips, slicing [target]'s throat wth \the [tool]!" ) + user.visible_message(" [user]'s hand slips, slicing [target]'s throat wth \the [tool]!" , \ + " Your hand slips, slicing [target]'s throat wth \the [tool]!" ) affected.createwound(CUT, 60) target.losebreath += 4 @@ -77,14 +77,14 @@ ..() /datum/surgery_step/face/mend_vocal/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool,datum/surgery/surgery) - user.visible_message("\blue [user] mends [target]'s vocal cords with \the [tool].", \ - "\blue You mend [target]'s vocal cords with \the [tool].") + user.visible_message(" [user] mends [target]'s vocal cords with \the [tool].", \ + " You mend [target]'s vocal cords with \the [tool].") //target.op_stage.face = 2//I NEED TO REPLACE THE OPSTAGE SHIT! return 1 /datum/surgery_step/face/mend_vocal/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool,datum/surgery/surgery) - user.visible_message("\red [user]'s hand slips, clamping [target]'s trachea shut for a moment with \the [tool]!", \ - "\red Your hand slips, clamping [user]'s trachea shut for a moment with \the [tool]!") + user.visible_message(" [user]'s hand slips, clamping [target]'s trachea shut for a moment with \the [tool]!", \ + " Your hand slips, clamping [user]'s trachea shut for a moment with \the [tool]!") target.losebreath += 4 return 0 @@ -107,15 +107,15 @@ ..() /datum/surgery_step/face/fix_face/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool,datum/surgery/surgery) - user.visible_message("\blue [user] pulls skin on [target]'s face back in place with \the [tool].", \ - "\blue You pull skin on [target]'s face back in place with \the [tool].") + user.visible_message(" [user] pulls skin on [target]'s face back in place with \the [tool].", \ + " You pull skin on [target]'s face back in place with \the [tool].") //target.op_stage.face = 3//I NEED TO REPLACE THE OPSTAGE SHIT! return 1 /datum/surgery_step/face/fix_face/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool,datum/surgery/surgery) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("\red [user]'s hand slips, tearing skin on [target]'s face with \the [tool]!", \ - "\red Your hand slips, tearing skin on [target]'s face with \the [tool]!") + user.visible_message(" [user]'s hand slips, tearing skin on [target]'s face with \the [tool]!", \ + " Your hand slips, tearing skin on [target]'s face with \the [tool]!") target.apply_damage(10, BRUTE, affected, sharp=1, sharp=1) return 0 @@ -143,8 +143,8 @@ /datum/surgery_step/face/cauterize/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool,datum/surgery/surgery) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("\blue [user] cauterizes the incision on [target]'s face and neck with \the [tool].", \ - "\blue You cauterize the incision on [target]'s face and neck with \the [tool].") + user.visible_message(" [user] cauterizes the incision on [target]'s face and neck with \the [tool].", \ + " You cauterize the incision on [target]'s face and neck with \the [tool].") affected.open = 0 affected.status &= ~ORGAN_BLEEDING //if (target.op_stage.face == 3)//I NEED TO REPLACE THE OPSTAGE SHIT! @@ -158,8 +158,8 @@ /datum/surgery_step/face/cauterize/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool,datum/surgery/surgery) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("\red [user]'s hand slips, leaving a small burn on [target]'s face with \the [tool]!", \ - "\red Your hand slips, leaving a small burn on [target]'s face with \the [tool]!") + user.visible_message(" [user]'s hand slips, leaving a small burn on [target]'s face with \the [tool]!", \ + " Your hand slips, leaving a small burn on [target]'s face with \the [tool]!") target.apply_damage(4, BURN, affected) return 0 \ No newline at end of file diff --git a/code/modules/surgery/generic.dm b/code/modules/surgery/generic.dm index a8c24c4e843..167aa46f1a0 100644 --- a/code/modules/surgery/generic.dm +++ b/code/modules/surgery/generic.dm @@ -54,8 +54,8 @@ /datum/surgery_step/generic/cut_open/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool,datum/surgery/surgery) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("\blue [user] has made an incision on [target]'s [affected.name] with \the [tool].", \ - "\blue You have made an incision on [target]'s [affected.name] with \the [tool].",) + user.visible_message(" [user] has made an incision on [target]'s [affected.name] with \the [tool].", \ + " You have made an incision on [target]'s [affected.name] with \the [tool].",) affected.open = 1 affected.status |= ORGAN_BLEEDING affected.createwound(CUT, 1) @@ -65,8 +65,8 @@ /datum/surgery_step/generic/cut_open/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool,datum/surgery/surgery) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("\red [user]'s hand slips, slicing open [target]'s [affected.name] in a wrong spot with \the [tool]!", \ - "\red Your hand slips, slicing open [target]'s [affected.name] in a wrong spot with \the [tool]!") + user.visible_message(" [user]'s hand slips, slicing open [target]'s [affected.name] in a wrong spot with \the [tool]!", \ + " Your hand slips, slicing open [target]'s [affected.name] in a wrong spot with \the [tool]!") affected.createwound(CUT, 10) return 0 @@ -100,16 +100,16 @@ /datum/surgery_step/generic/clamp_bleeders/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool,datum/surgery/surgery) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("\blue [user] clamps bleeders in [target]'s [affected.name] with \the [tool].", \ - "\blue You clamp bleeders in [target]'s [affected.name] with \the [tool].") + user.visible_message(" [user] clamps bleeders in [target]'s [affected.name] with \the [tool].", \ + " You clamp bleeders in [target]'s [affected.name] with \the [tool].") affected.clamp() spread_germs_to_organ(affected, user) return 1 /datum/surgery_step/generic/clamp_bleeders/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool,datum/surgery/surgery) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("\red [user]'s hand slips, tearing blood vessals and causing massive bleeding in [target]'s [affected.name] with \the [tool]!", \ - "\red Your hand slips, tearing blood vessels and causing massive bleeding in [target]'s [affected.name] with \the [tool]!",) + user.visible_message(" [user]'s hand slips, tearing blood vessals and causing massive bleeding in [target]'s [affected.name] with \the [tool]!", \ + " Your hand slips, tearing blood vessels and causing massive bleeding in [target]'s [affected.name] with \the [tool]!",) affected.createwound(CUT, 10) return 0 @@ -145,28 +145,28 @@ /datum/surgery_step/generic/retract_skin/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool,datum/surgery/surgery) var/obj/item/organ/external/affected = target.get_organ(target_zone) - var/msg = "\blue [user] keeps the incision open on [target]'s [affected.name] with \the [tool]." - var/self_msg = "\blue You keep the incision open on [target]'s [affected.name] with \the [tool]." + var/msg = " [user] keeps the incision open on [target]'s [affected.name] with \the [tool]." + var/self_msg = " You keep the incision open on [target]'s [affected.name] with \the [tool]." if (target_zone == "chest") - msg = "\blue [user] keeps the ribcage open on [target]'s torso with \the [tool]." - self_msg = "\blue You keep the ribcage open on [target]'s torso with \the [tool]." + msg = " [user] keeps the ribcage open on [target]'s torso with \the [tool]." + self_msg = " You keep the ribcage open on [target]'s torso with \the [tool]." if (target_zone == "groin") - msg = "\blue [user] keeps the incision open on [target]'s lower abdomen with \the [tool]." - self_msg = "\blue You keep the incision open on [target]'s lower abdomen with \the [tool]." + msg = " [user] keeps the incision open on [target]'s lower abdomen with \the [tool]." + self_msg = " You keep the incision open on [target]'s lower abdomen with \the [tool]." user.visible_message(msg, self_msg) affected.open = 2 return 1 /datum/surgery_step/generic/retract_skin/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool,datum/surgery/surgery) var/obj/item/organ/external/affected = target.get_organ(target_zone) - var/msg = "\red [user]'s hand slips, tearing the edges of incision on [target]'s [affected.name] with \the [tool]!" - var/self_msg = "\red Your hand slips, tearing the edges of incision on [target]'s [affected.name] with \the [tool]!" + var/msg = " [user]'s hand slips, tearing the edges of incision on [target]'s [affected.name] with \the [tool]!" + var/self_msg = " Your hand slips, tearing the edges of incision on [target]'s [affected.name] with \the [tool]!" if (target_zone == "chest") - msg = "\red [user]'s hand slips, damaging several organs [target]'s torso with \the [tool]!" - self_msg = "\red Your hand slips, damaging several organs [target]'s torso with \the [tool]!" + msg = " [user]'s hand slips, damaging several organs [target]'s torso with \the [tool]!" + self_msg = " Your hand slips, damaging several organs [target]'s torso with \the [tool]!" if (target_zone == "groin") - msg = "\red [user]'s hand slips, damaging several organs [target]'s lower abdomen with \the [tool]" - self_msg = "\red Your hand slips, damaging several organs [target]'s lower abdomen with \the [tool]!" + msg = " [user]'s hand slips, damaging several organs [target]'s lower abdomen with \the [tool]" + self_msg = " Your hand slips, damaging several organs [target]'s lower abdomen with \the [tool]!" user.visible_message(msg, self_msg) target.apply_damage(12, BRUTE, affected, sharp=1) return 0 @@ -200,8 +200,8 @@ /datum/surgery_step/generic/cauterize/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool,datum/surgery/surgery) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("\blue [user] cauterizes the incision on [target]'s [affected.name] with \the [tool].", \ - "\blue You cauterize the incision on [target]'s [affected.name] with \the [tool].") + user.visible_message(" [user] cauterizes the incision on [target]'s [affected.name] with \the [tool].", \ + " You cauterize the incision on [target]'s [affected.name] with \the [tool].") affected.open = 0 affected.germ_level = 0 affected.status &= ~ORGAN_BLEEDING @@ -209,8 +209,8 @@ /datum/surgery_step/generic/cauterize/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool,datum/surgery/surgery) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("\red [user]'s hand slips, leaving a small burn on [target]'s [affected.name] with \the [tool]!", \ - "\red Your hand slips, leaving a small burn on [target]'s [affected.name] with \the [tool]!") + user.visible_message(" [user]'s hand slips, leaving a small burn on [target]'s [affected.name] with \the [tool]!", \ + " Your hand slips, leaving a small burn on [target]'s [affected.name] with \the [tool]!") target.apply_damage(3, BURN, affected) return 0 @@ -248,8 +248,8 @@ /datum/surgery_step/generic/amputate/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool,datum/surgery/surgery) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("\blue [user] amputates [target]'s [affected.name] at the [affected.amputation_point] with \the [tool].", \ - "\blue You amputate [target]'s [affected.name] with \the [tool].") + user.visible_message(" [user] amputates [target]'s [affected.name] at the [affected.amputation_point] with \the [tool].", \ + " You amputate [target]'s [affected.name] with \the [tool].") add_logs(target,user ,"surgically removed [affected.name] from", addition="INTENT: [uppertext(user.a_intent)]") @@ -258,8 +258,8 @@ /datum/surgery_step/generic/amputate/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool,datum/surgery/surgery) var/obj/item/organ/external/affected = target.get_organ(target_zone) - user.visible_message("\red [user]'s hand slips, sawing through the bone in [target]'s [affected.name] with \the [tool]!", \ - "\red Your hand slips, sawwing through the bone in [target]'s [affected.name] with \the [tool]!") + user.visible_message(" [user]'s hand slips, sawing through the bone in [target]'s [affected.name] with \the [tool]!", \ + " Your hand slips, sawwing through the bone in [target]'s [affected.name] with \the [tool]!") affected.createwound(CUT, 30) affected.fracture() return 0 \ No newline at end of file diff --git a/code/modules/surgery/limb_reattach.dm b/code/modules/surgery/limb_reattach.dm index 883d090b6b5..acca5d25ef4 100644 --- a/code/modules/surgery/limb_reattach.dm +++ b/code/modules/surgery/limb_reattach.dm @@ -13,8 +13,7 @@ if(ishuman(target)) var/mob/living/carbon/human/H = target var/obj/item/organ/external/affected = H.get_organ(user.zone_sel.selecting) - if(affected && (affected.status && ORGAN_DESTROYED)) - return 0 + if(affected.is_stump()) return 0 @@ -32,8 +31,6 @@ var/obj/item/organ/external/affected = H.get_organ(user.zone_sel.selecting) if(affected && (affected.status && ORGAN_DESTROYED)) return 1 - if(affected.is_stump()) - return 1 return 0 @@ -48,8 +45,6 @@ var/obj/item/organ/external/affected = H.get_organ(user.zone_sel.selecting) if(affected && (affected.status && ORGAN_DESTROYED)) return 1 - if(affected.is_stump()) - return 1 return 0 diff --git a/code/modules/surgery/organs/augments_internal.dm b/code/modules/surgery/organs/augments_internal.dm index b6450f8257a..82ce2b8e5d9 100644 --- a/code/modules/surgery/organs/augments_internal.dm +++ b/code/modules/surgery/organs/augments_internal.dm @@ -317,7 +317,7 @@ datumvars//note i am putting External in robolimbs. organ_action_name = "Toggle Arm Cannon Taser" /obj/item/organ/internal/cyberimp/chest/arm_mod/tase/New()//when the implant is created... - holder = new /obj/item/weapon/gun/energy/gun/advtaser/mounted(src)//assign a brand new item to it. (in this case, a gun) + holder = new /obj/item/weapon/gun/energy/advtaser/mounted(src)//assign a brand new item to it. (in this case, a gun) /obj/item/organ/internal/cyberimp/chest/arm_mod/lase//mounted, self-charging laser! name = "Arm-cannon laser implant" diff --git a/code/modules/surgery/organs_internal.dm b/code/modules/surgery/organs_internal.dm index 9eee3833c8f..5ef964b372b 100644 --- a/code/modules/surgery/organs_internal.dm +++ b/code/modules/surgery/organs_internal.dm @@ -19,7 +19,7 @@ possible_locs = list("chest", "head", "groin", "eyes", "mouth") allowed_mob = list(/mob/living/carbon/alien/humanoid) disallowed_mob = list(/mob/living/carbon/human) - steps = list(/datum/surgery_step/generic/cut_open, /datum/surgery_step/generic/retract_skin, /datum/surgery_step/open_encased/saw, /datum/surgery_step/internal/manipulate_organs,/datum/surgery_step/generic/cauterize) + steps = list(/datum/surgery_step/saw_carapace,/datum/surgery_step/cut_carapace, /datum/surgery_step/retract_carapace, /datum/surgery_step/open_encased/saw, /datum/surgery_step/internal/manipulate_organs) /datum/surgery/organ_manipulation/can_start(mob/user, mob/living/carbon/target) @@ -351,6 +351,124 @@ return 0 + +////////////////////////////////////////////////////////////////// +// SPESHUL AYLIUM STUPS // +////////////////////////////////////////////////////////////////// + +/datum/surgery_step/saw_carapace + name = "saw carapace" + allowed_tools = list( + /obj/item/weapon/circular_saw = 100, \ + /obj/item/weapon/melee/energy/sword/cyborg/saw = 100, \ + /obj/item/weapon/hatchet = 75 + ) + + max_duration = 70 + + +/datum/surgery_step/saw_carapace/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool,datum/surgery/surgery) + + user.visible_message("[user] begins to cut through [target]'s [target_zone] with \the [tool].", \ + "You begin to cut through [target]'s [target_zone] with \the [tool].") + ..() + +/datum/surgery_step/saw_carapace/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool,datum/surgery/surgery) + + user.visible_message(" [user] has cut [target]'s [target_zone] open with \the [tool].", \ + " You have cut [target]'s [target_zone] open with \the [tool].") + return 1 + +/datum/surgery_step/saw_carapace/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool,datum/surgery/surgery) + + user.visible_message(" [user]'s hand slips, cracking [target]'s [target_zone] with \the [tool]!" , \ + " Your hand slips, cracking [target]'s [target_zone] with \the [tool]!" ) + return 0 + +/datum/surgery_step/cut_carapace + name = "cut carapace" + allowed_tools = list( + /obj/item/weapon/scalpel/laser3 = 115, \ + /obj/item/weapon/scalpel/laser2 = 110, \ + /obj/item/weapon/scalpel/laser1 = 105, \ + /obj/item/weapon/scalpel/manager = 120, \ + /obj/item/weapon/scalpel = 100, \ + /obj/item/weapon/kitchen/knife = 75, \ + /obj/item/weapon/shard = 50, \ + /obj/item/weapon/scissors = 10, \ + /obj/item/weapon/twohanded/chainsaw = 1, \ + /obj/item/weapon/claymore = 5, \ + /obj/item/weapon/melee/energy/ = 5, \ + /obj/item/weapon/pen/edagger = 5, \ + ) + + max_duration = 60 + +/datum/surgery_step/cut_carapace/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool,datum/surgery/surgery) + + user.visible_message("[user] starts the incision on [target]'s [target_zone] with \the [tool].", \ + "You start the incision on [target]'s [target_zone] with \the [tool].") + ..() + +/datum/surgery_step/cut_carapace/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool,datum/surgery/surgery) + + user.visible_message(" [user] has made an incision on [target]'s [target_zone] with \the [tool].", \ + " You have made an incision on [target]'s [target_zone] with \the [tool].",) + return 1 + +/datum/surgery_step/cut_carapace/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool,datum/surgery/surgery) + + user.visible_message(" [user]'s hand slips, slicing open [target]'s [target_zone] in a wrong spot with \the [tool]!", \ + " Your hand slips, slicing open [target]'s [target_zone] in a wrong spot with \the [tool]!") + return 0 + +/datum/surgery_step/retract_carapace + name = "retract carapace" + + allowed_tools = list( + /obj/item/weapon/scalpel/manager = 120, \ + /obj/item/weapon/retractor = 100, \ + /obj/item/weapon/crowbar = 75, \ + /obj/item/weapon/kitchen/utensil/fork = 50 + ) + + max_duration = 40 + +/datum/surgery_step/retract_carapace/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool,datum/surgery/surgery) + var/msg = "[user] starts to pry open the incision on [target]'s [target_zone] with \the [tool]." + var/self_msg = "You start to pry open the incision on [target]'s [target_zone] with \the [tool]." + if (target_zone == "chest") + msg = "[user] starts to separate the ribcage and rearrange the organs in [target]'s torso with \the [tool]." + self_msg = "You start to separate the ribcage and rearrange the organs in [target]'s torso with \the [tool]." + if (target_zone == "groin") + msg = "[user] starts to pry open the incision and rearrange the organs in [target]'s lower abdomen with \the [tool]." + self_msg = "You start to pry open the incision and rearrange the organs in [target]'s lower abdomen with \the [tool]." + user.visible_message(msg, self_msg) + ..() + +/datum/surgery_step/retract_carapace/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool,datum/surgery/surgery) + var/msg = " [user] keeps the incision open on [target]'s [target_zone] with \the [tool]." + var/self_msg = " You keep the incision open on [target]'s [target_zone] with \the [tool]." + if (target_zone == "chest") + msg = " [user] keeps the ribcage open on [target]'s torso with \the [tool]." + self_msg = " You keep the ribcage open on [target]'s torso with \the [tool]." + if (target_zone == "groin") + msg = " [user] keeps the incision open on [target]'s lower abdomen with \the [tool]." + self_msg = " You keep the incision open on [target]'s lower abdomen with \the [tool]." + user.visible_message(msg, self_msg) + return 1 + +/datum/surgery_step/generic/retract_carapace/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool,datum/surgery/surgery) + var/msg = " [user]'s hand slips, tearing the edges of incision on [target]'s [target_zone] with \the [tool]!" + var/self_msg = " Your hand slips, tearing the edges of incision on [target]'s [target_zone] with \the [tool]!" + if (target_zone == "chest") + msg = " [user]'s hand slips, damaging several organs [target]'s torso with \the [tool]!" + self_msg = " Your hand slips, damaging several organs [target]'s torso with \the [tool]!" + if (target_zone == "groin") + msg = " [user]'s hand slips, damaging several organs [target]'s lower abdomen with \the [tool]" + self_msg = " Your hand slips, damaging several organs [target]'s lower abdomen with \the [tool]!" + user.visible_message(msg, self_msg) + return 0 ////////////////////////////////////////////////////////////////// // HEART SURGERY // ////////////////////////////////////////////////////////////////// diff --git a/code/modules/surgery/slime.dm b/code/modules/surgery/slime.dm index 39db3765469..41c2f43c76c 100644 --- a/code/modules/surgery/slime.dm +++ b/code/modules/surgery/slime.dm @@ -4,7 +4,7 @@ /datum/surgery/core_removal name = "core removal" steps = list(/datum/surgery_step/slime/cut_flesh, /datum/surgery_step/slime/cut_innards, /datum/surgery_step/slime/saw_core) - allowed_mob = list( /mob/living/carbon/slime) + allowed_mob = list(/mob/living/carbon/slime) /datum/surgery_step/slime diff --git a/icons/mob/inhands/guns_lefthand.dmi b/icons/mob/inhands/guns_lefthand.dmi index 0d4e61b7cac98f93af6339109b14cea9060e4338..e7571df2d11c7f285689ae379c976b352642607a 100644 GIT binary patch delta 1518 zcmVoL!EIy%j&7e{EjH`ejqRDbL!HSc&DgX)!tKDl}px7V~1#C|x(9`@um5C061_ zR&PPF@;Ak#(w@aiEQ`tB%T}>iiP>kc(kypIO}`e*i%F%7Jc*T<-7PMve`nJR`pXN> zA958B*=s!EYjB8kr3V}$(U{7nxpF>D_gg8Qff}=H zyd_&lN|W9)@9gpagZFHWu9A4AWNlR1AVtd8r-L>o15KBFV3GD4XrTE97-+o#1{$w} zIRNz?P;?LIRUBy83-B5ae=y+1-pE#k#@nOv+w`|T;IlMtWeayca^D)u*cI-<_ZZIQ z(@vZTkdmKCfV!V4fa0GifDY&tP&SNVd^2c1jQI?Az>FB<8NNU{F^2J-pjk2IGkgK_ zVvGa6XiKH^J5A|JHK6Ht&EoD$A!5%!1Lh1cV9fwy#(2F4vZe>~e@*dvk3~(-VupCV zhr*>t0W%JoRL~`o=^3bbERAJVwKDzU=~=QEZJi>V1iuRXR~Z?pYyhzRk*-l|H3y1y ztwNF|t67zj$fm8Q2vw-V(%bAfq?J1oXygtA+PDLOCU*MWo%A>VqUlGGGm=|b#t?v# zJ5sTgL6`SI(jkpUf5Yhja?vpG#BtFulr}CJMxw?=!${7!Xc!3@uWdk@k{gh7N_q%9 zc}=xK(4bmZM*`l~J(=#Ho}9zv0w$L*nXXSyKEmV^Ony(2N9)_h8nt!a{#IqM9_i)J zs;%{sYUm<-76V;;amA~&!1cPg;8j}S-d|ksD(ycU5SU^4OSa4LYo>8yEizsk^T>Q{ z%tHgV5f6Qri{#l!f!T^lFT^wBuS?Xk==$d|rPI0k82OS;K3__u^ zpFlzI`Ux5+)IkUYbjsu;qJw0p9mI5LB9ts861WbRE4|i4$vuDGg4EpOr{|x=ZDBIu5TY&C9eUo0h zxh46}<%luHS!L7Fv8-?JiAc5xrlaG?GopV;^tX-vw$a}<`rB5vzqe}u(#crT$yn|m zJajTnIvG2f+3NY$ZWeAe$eRt@kDQD{|JhXcKcK&Fnt%JV|NE!8f93iIC*#n6Hu~FE zroXoXz=NY*XJb`sb!TI(qUrfSPLjGz&j+!m^4sWj%h_1;pHF4~Bl?G;u|NBNI2!x2 z|A(Wo{}1;6V9NCOasc@AWr#&zmU1=Ds(U>6Bpa=cY_vMDry?Ts4{dV#nf``N2K2W~ zR;JOL_X@+{4dLX|LN~rrICn;*8X;|{})wjbxFTJi#?5C*#C>@AI6PFB4-Qk z|K1J&`KEN(C_mPj!o`jG@=d9-lZf=YrN*NF@_)(yD9vu^Zw>puZNuTF$gm?Knd=Z!<&G)y`i+)!^egu?=NH^JEyXbeNTB}Qp$47?#w$a}<`rAf-+m^Mz zmji&SMakm+Kl#NUS}p>je^~UljsCXL-!}T&R;ItVR{&fsN^OgKme?P`b&}|Mzb*a4 zqIZ8>^e>`+SoDvJ{zdc;YtjB*F9LS8D77u_zlnJ|eb;`W@?=c^Fz6p2{jZ{b81#>i z{#VgIj57V#dcB^*sQ>@~0MLw!fB^si07Ezc00000hHwA?0000C;Q#;t000>B3s$SP U^YWAf)c^nh07*qoM6N<$f}aEpy8r+H delta 1317 zcmV+=1={+~!vg=o0+1vD*pVe8f0Li~;7j44$RT-!fR<>9HMJzTWQ@Fh4~i<)iNK-K zqk(Tka&|c;_EP+O`1SZKc2AGRtMaTZiLJQ#wk#GWU4=$$#b#YB8l~$dbU!%Apu|>O z$m%snR{o+`RNAxHiko6_@Um4bwqo@WtTfBLQOnN->tazUBj3bUtgbebf9ln8LO;FW z`ZiZ_o4v+8z6OU#Gd$kKDJ$GIoV~@I8ie z`Lq*f0;J?;5}@v93ZVFB3ZMge1(XeA7~c$<4`V*V9WW!tc!n=fPK;rECumlT`3zsc zycpwvFWOQm{a#c0QVnSOU9-9RREXF!(11Au3|KS3m@!@-fUN1ke|%HCK44MPvzQ@X zAE0pQQNWC&CKYsvWO@c_?n+}>Rjo|FczTvBMq8%{C&8~m|5ZjtDjNW7f23>FTFrrC zU8|5}$!b=mB(iDiDMA(Mu=F-N4r%3%1RA*mfi~_ypoyJ+cPIVLzi9eVz+(^P*1L5as!h$Fqy7TPu{`gJxqR2k|*oi#v1kFy#1}pU_H{y zA5|~bORAxZ@KFqO@#KoLw7~V6TyT~axc8F_&eDG2fWQpPLbqLx&zZ)Jwa9pF%p>!) zF%J#cMm#hg>;*F?vS;!f3o-_*XObKva%RQ7#>nY^)JyU3yc4^p$KnsVk>dSQ#1%`k z4g)fP0v)omLW2Su6GYcf0U{z}v)k>F9s&^&5rr9FlaOn1lOUT1lg6GFf1ikmhytP8 zD*!)OxlO2ljIf>m-`*XwHW7w#0Drsq2}+ha*>4cPK(>Mq7h81D(V=E5boK){37((8 zKtTtgaD!7ON6|qtlnz2%G(*W!0)caoD^yTR``*28lHU(P$nxCF{g>ytyZ6$TdxICP zuCqQbTRR7rey1k?cI28re*loLMh1ZU&)-+KZr=^{=ekWvtU9Y~F+I6x{igx`p!X}+0WsVD0SrjcRA({ z0OYH&0pQWwXVGePy8URiR?*^Y5>AVLSe#8#FXh7Y-5^>m`TtvvfB6Fd`D$bU`13J@ z>pqqctIn!>I{6&72ghN1aGZK6Aq4riZT|gBR`~+}d2947KaNR_CttxCm?sJ^55JoLinWl2LP_7u>qiNN{{w#Uh9YEX6e*T>E><`!nnLqE%^fg z#N&^^BH90Vr#c^(f1xZ6TYV3ESsZShkIT^M_Ct!}^PBtufMwCh01&Gw(cD~3z486^9KO(v@sfuQm+9>q}S`EUIGBnGMj(_0AP(6CjbBdV2v06003Z(7ytkO bV2%6&^b9hM?egPl00000NkvXXu0mjf2-<{7 diff --git a/icons/mob/inhands/guns_righthand.dmi b/icons/mob/inhands/guns_righthand.dmi index 94fe615fb56ecfe1f286c71335ada18d84823549..cdd8499b5909315de2f40676d0bb3c651828e983 100644 GIT binary patch delta 2280 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 NhYn!v%WVCx{0sjeIyL|R