mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-28 18:11:16 +00:00
## About The Pull Request This PR adds a skillchip that allows the user to perform normal surgeries on themselves, albeit with a 1.5x speed penalty and a flat 33% increase to the probability of screwing up each step. You can find this skillchip occasionally on the black market. It is also contraband, and can be detected by n-spect scanners. ## Why It's Good For The Game Provides a risky alternate means of obtaining surgical intervention, such as if you either can't trust anybody else to do surgery on you or can't be trusted to have certain surgeries done on you. ## Changelog 🆑 add: The Centcom Department of Import Control has become aware of the use of highly-illegal and medically dubious self-surgery skillchips aboard company stations. We suspect they are being sold to the station through the black market. /🆑
30 lines
1.5 KiB
Plaintext
30 lines
1.5 KiB
Plaintext
/obj/item/skillchip/self_surgery
|
|
name = "4U70-P3R4710N skillchip"
|
|
desc = "A skillchip containing old Nanotrasen medical training protocols, which one could use to perform surgical operations on themselves. \
|
|
This one doesn't look like it's in the best condition - bit rot has probably rendered it somewhat risky to use."
|
|
auto_traits = list(TRAIT_SELF_SURGERY)
|
|
skill_name = "Self Surgery"
|
|
skill_description = "Allows you to perform surgery on yourself."
|
|
skill_icon = FA_ICON_USER_DOCTOR
|
|
activate_message = span_notice("You realize there's nothing stopping you from performing surgery on yourself.")
|
|
deactivate_message = span_notice("You suddenly feel like you should never perform surgery on yourself.")
|
|
|
|
/obj/item/skillchip/self_surgery/Initialize(mapload, is_removable)
|
|
. = ..()
|
|
ADD_TRAIT(src, TRAIT_CONTRABAND, INNATE_TRAIT)
|
|
|
|
/obj/item/skillchip/self_surgery/on_activate(mob/living/carbon/user, silent)
|
|
. = ..()
|
|
RegisterSignal(user, COMSIG_LIVING_INITIATE_SURGERY_STEP, PROC_REF(apply_surgery_penalty))
|
|
|
|
/obj/item/skillchip/self_surgery/on_deactivate(mob/living/carbon/user, silent)
|
|
. = ..()
|
|
UnregisterSignal(user, COMSIG_LIVING_INITIATE_SURGERY_STEP)
|
|
|
|
/obj/item/skillchip/self_surgery/proc/apply_surgery_penalty(mob/living/carbon/_source, mob/living/user, mob/living/target, target_zone, obj/item/tool, datum/surgery/surgery, datum/surgery_step/step, list/modifiers)
|
|
SIGNAL_HANDLER
|
|
if(user != target)
|
|
return
|
|
modifiers[FAIL_PROB_INDEX] += 33
|
|
modifiers[SPEED_MOD_INDEX] *= 1.5
|