mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-15 11:39:18 +00:00
About The Pull Request Part of #44440 Surgery now gives detailed description to the surgeon and anyone within one tile of distance, and more vague or ambiguous descriptions to the patient and anyone further away. This can lead to a surgeon being able to perform a brainwashing in place of a brain surgery with nobody being the wiser, or implanting a different organ than the one agreed on, and so on. Changelog cl add: Surgery steps are now shown in detail only to the surgeon and anyone standing adjacent to them; the patient and people watching from further away get a more vague/ambiguous description. /cl
91 lines
4.0 KiB
Plaintext
91 lines
4.0 KiB
Plaintext
//open shell
|
|
/datum/surgery_step/mechanic_open
|
|
name = "unscrew shell"
|
|
implements = list(
|
|
TOOL_SCREWDRIVER = 100,
|
|
/obj/item/scalpel = 75, // med borgs could try to unskrew shell with scalpel
|
|
/obj/item/kitchen/knife = 50,
|
|
/obj/item = 10) // 10% success with any sharp item.
|
|
time = 24
|
|
|
|
/datum/surgery_step/mechanic_open/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 unscrew the shell of [target]'s [parse_zone(target_zone)]...</span>",
|
|
"[user] begins to unscrew the shell of [target]'s [parse_zone(target_zone)].",
|
|
"[user] begins to unscrew the shell of [target]'s [parse_zone(target_zone)].")
|
|
|
|
/datum/surgery_step/mechanic_incise/tool_check(mob/user, obj/item/tool)
|
|
if(implement_type == /obj/item && !tool.is_sharp())
|
|
return FALSE
|
|
|
|
return TRUE
|
|
|
|
//close shell
|
|
/datum/surgery_step/mechanic_close
|
|
name = "screw shell"
|
|
implements = list(
|
|
TOOL_SCREWDRIVER = 100,
|
|
/obj/item/scalpel = 75,
|
|
/obj/item/kitchen/knife = 50,
|
|
/obj/item = 10) // 10% success with any sharp item.
|
|
time = 24
|
|
|
|
/datum/surgery_step/mechanic_close/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 screw the shell of [target]'s [parse_zone(target_zone)]...</span>",
|
|
"[user] begins to screw the shell of [target]'s [parse_zone(target_zone)].",
|
|
"[user] begins to screw the shell of [target]'s [parse_zone(target_zone)].")
|
|
|
|
/datum/surgery_step/mechanic_close/tool_check(mob/user, obj/item/tool)
|
|
if(implement_type == /obj/item && !tool.is_sharp())
|
|
return FALSE
|
|
|
|
return TRUE
|
|
|
|
//prepare electronics
|
|
/datum/surgery_step/prepare_electronics
|
|
name = "prepare electronics"
|
|
implements = list(
|
|
TOOL_MULTITOOL = 100,
|
|
/obj/item/hemostat = 10) // try to reboot internal controllers via short circuit with some conductor
|
|
time = 24
|
|
|
|
/datum/surgery_step/prepare_electronics/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 prepare electronics in [target]'s [parse_zone(target_zone)]...</span>",
|
|
"[user] begins to prepare electronics in [target]'s [parse_zone(target_zone)].",
|
|
"[user] begins to prepare electronics in [target]'s [parse_zone(target_zone)].")
|
|
|
|
//unwrench
|
|
/datum/surgery_step/mechanic_unwrench
|
|
name = "unwrench bolts"
|
|
implements = list(
|
|
TOOL_WRENCH = 100,
|
|
/obj/item/retractor = 10)
|
|
time = 24
|
|
|
|
/datum/surgery_step/mechanic_unwrench/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 unwrench some bolts in [target]'s [parse_zone(target_zone)]...</span>",
|
|
"[user] begins to unwrench some bolts in [target]'s [parse_zone(target_zone)].",
|
|
"[user] begins to unwrench some bolts in [target]'s [parse_zone(target_zone)].")
|
|
|
|
//wrench
|
|
/datum/surgery_step/mechanic_wrench
|
|
name = "wrench bolts"
|
|
implements = list(
|
|
TOOL_WRENCH = 100,
|
|
/obj/item/retractor = 10)
|
|
time = 24
|
|
|
|
/datum/surgery_step/mechanic_wrench/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 wrench some bolts in [target]'s [parse_zone(target_zone)]...</span>",
|
|
"[user] begins to wrench some bolts in [target]'s [parse_zone(target_zone)].",
|
|
"[user] begins to wrench some bolts in [target]'s [parse_zone(target_zone)].")
|
|
|
|
//open hatch
|
|
/datum/surgery_step/open_hatch
|
|
name = "open the hatch"
|
|
accept_hand = 1
|
|
time = 10
|
|
|
|
/datum/surgery_step/open_hatch/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 open the hatch holders in [target]'s [parse_zone(target_zone)]...</span>",
|
|
"[user] begins to open the hatch holders in [target]'s [parse_zone(target_zone)].",
|
|
"[user] begins to open the hatch holders in [target]'s [parse_zone(target_zone)].") |