mirror of
https://github.com/Skyrat-SS13/Skyrat-tg.git
synced 2026-08-24 05:18:33 +01:00
* Bow Update: Fletching instruction manual, bows using projectile damage multipliers, unhardcoded bow sprites, hot pink death * Conflict Removal * Update bow_arrows.dm * Update bow_arrows.dm * tthis also update the actual bow & arrow code * Update arrow.dm * [MIRROR] Bow Update: Fletching instruction manual, bows using projectile damage multipliers, unhardcoded bow sprites, hot pink death [MDB IGNORE] (#3595) * Bow Update: Fletching instruction manual, bows using projectile damage multipliers, unhardcoded bow sprites, hot pink death * modularize bone dice(???) * gives the cargo crate arrows * conflict * icon updates rotates our bows the same way, adds invisible pixels for easier loading to our primitive bows, removes bow/arrow icons that are clones of upstream's also a hack for arrow overlays on bows- currently just defaults to default arrows if an overlay doesn't exist for it, but our only arrows aren't that distinct with default arrows at that size (we do not have alternative arrow overlay sprites) * recipe changes im not gonna try explaining everything here but the general idea is that the cargo fletching kit is sorta novelty bows, and the big boy stuff you get from smithing * update ammo hud for bows * this shouldn't be here * i forgot to save these cleans up the recipes, ashwalker arrows are just made by combining by hand (you could already do this, the recipes were a noobtrap) and the cargo kit is cheaper * un-nerf the chaplain bow --------- Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com> Co-authored-by: Fluffles <piecopresident@gmail.com> * Refactor Synths away from /Robot/ limbs, Cybernetically augmented humanoids have alternative surgeries (#3970) * [NO SELF SURGERY] Cybernetically augmented humanoids have alternative surgeries (both standard and advanced) [NO SELF SURGERY], as well as other misc additions * 1 * p1 * Update limbs.dm * oh yeah Taurs * Limbs and Techwebs for them * 3 * EMP * Surgery Removals from Synths * 5 * test * Look Ma, no more surgery * Update tgstation.dme * Update hepatectomy.dm * little bit more edit cleanup and diff reset * Update surgery.dm * Synth Organ Surgery! * Update lungs.dm * target * 4 * Update synth_defines.dm * you add the metal before the zap zap * Apply suggestions from code review Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com> * 1 * Update code/modules/surgery/hepatectomy.dm * Update code/modules/surgery/advanced/brainwashing.dm --------- Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com> Co-authored-by: Fluffles <piecopresident@gmail.com> Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com> * Update tgstation.dme * fix stuff * Update declarations.dm * fix duplicate defines --------- Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com> Co-authored-by: projectkepler-RU <99981766+projectkepler-ru@users.noreply.github.com> Co-authored-by: NovaBot <154629622+NovaBot13@users.noreply.github.com> Co-authored-by: Fluffles <piecopresident@gmail.com> Co-authored-by: Zergspower <22140677+Zergspower@users.noreply.github.com> Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com> Co-authored-by: Andrew <mt.forspam@gmail.com>
154 lines
6.3 KiB
Plaintext
154 lines
6.3 KiB
Plaintext
//open shell
|
|
/datum/surgery_step/mechanic_open
|
|
name = "unscrew shell (screwdriver or scalpel)"
|
|
implements = list(
|
|
TOOL_SCREWDRIVER = 100,
|
|
TOOL_SCALPEL = 75, // med borgs could try to unscrew shell with scalpel
|
|
/obj/item/knife = 50,
|
|
/obj/item = 10) // 10% success with any sharp item.
|
|
time = 24
|
|
preop_sound = 'sound/items/screwdriver.ogg'
|
|
success_sound = 'sound/items/screwdriver2.ogg'
|
|
|
|
/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_notice("You begin to unscrew the shell of [target]'s [target.parse_zone_with_bodypart(target_zone)]..."),
|
|
span_notice("[user] begins to unscrew the shell of [target]'s [target.parse_zone_with_bodypart(target_zone)]."),
|
|
span_notice("[user] begins to unscrew the shell of [target]'s [target.parse_zone_with_bodypart(target_zone)]."),
|
|
)
|
|
display_pain(target, "You can feel your [target.parse_zone_with_bodypart(target_zone)] grow numb as the sensory panel is unscrewed.", TRUE)
|
|
|
|
/datum/surgery_step/mechanic_open/tool_check(mob/user, obj/item/tool)
|
|
if(implement_type == /obj/item && !tool.get_sharpness())
|
|
return FALSE
|
|
if(tool.usesound)
|
|
preop_sound = tool.usesound
|
|
|
|
return TRUE
|
|
|
|
//close shell
|
|
/datum/surgery_step/mechanic_close
|
|
name = "screw shell (screwdriver or scalpel)"
|
|
implements = list(
|
|
TOOL_SCREWDRIVER = 100,
|
|
TOOL_SCALPEL = 75,
|
|
/obj/item/knife = 50,
|
|
/obj/item = 10) // 10% success with any sharp item.
|
|
time = 24
|
|
preop_sound = 'sound/items/screwdriver.ogg'
|
|
success_sound = 'sound/items/screwdriver2.ogg'
|
|
|
|
/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_notice("You begin to screw the shell of [target]'s [target.parse_zone_with_bodypart(target_zone)]..."),
|
|
span_notice("[user] begins to screw the shell of [target]'s [target.parse_zone_with_bodypart(target_zone)]."),
|
|
span_notice("[user] begins to screw the shell of [target]'s [target.parse_zone_with_bodypart(target_zone)]."),
|
|
)
|
|
display_pain(target, "You feel the faint pricks of sensation return as your [target.parse_zone_with_bodypart(target_zone)]'s panel is screwed in.", TRUE)
|
|
|
|
/datum/surgery_step/mechanic_close/tool_check(mob/user, obj/item/tool)
|
|
if(implement_type == /obj/item && !tool.get_sharpness())
|
|
return FALSE
|
|
if(tool.usesound)
|
|
preop_sound = tool.usesound
|
|
|
|
return TRUE
|
|
|
|
//prepare electronics
|
|
/datum/surgery_step/prepare_electronics
|
|
name = "prepare electronics (multitool or hemostat)"
|
|
implements = list(
|
|
TOOL_MULTITOOL = 100,
|
|
TOOL_HEMOSTAT = 75)
|
|
time = 24
|
|
preop_sound = 'sound/items/taperecorder/tape_flip.ogg'
|
|
success_sound = 'sound/items/taperecorder/taperecorder_close.ogg'
|
|
|
|
/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_notice("You begin to prepare electronics in [target]'s [target.parse_zone_with_bodypart(target_zone)]..."),
|
|
span_notice("[user] begins to prepare electronics in [target]'s [target.parse_zone_with_bodypart(target_zone)]."),
|
|
span_notice("[user] begins to prepare electronics in [target]'s [target.parse_zone_with_bodypart(target_zone)]."),
|
|
)
|
|
display_pain(target, "You can feel a faint buzz in your [target.parse_zone_with_bodypart(target_zone)] as the electronics reboot.", TRUE)
|
|
|
|
//unwrench
|
|
/datum/surgery_step/mechanic_unwrench
|
|
name = "unwrench bolts (wrench or retractor)"
|
|
implements = list(
|
|
TOOL_WRENCH = 100,
|
|
TOOL_RETRACTOR = 75)
|
|
time = 24
|
|
preop_sound = 'sound/items/ratchet.ogg'
|
|
|
|
/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_notice("You begin to unwrench some bolts in [target]'s [target.parse_zone_with_bodypart(target_zone)]..."),
|
|
span_notice("[user] begins to unwrench some bolts in [target]'s [target.parse_zone_with_bodypart(target_zone)]."),
|
|
span_notice("[user] begins to unwrench some bolts in [target]'s [target.parse_zone_with_bodypart(target_zone)]."),
|
|
)
|
|
display_pain(target, "You feel a jostle in your [target.parse_zone_with_bodypart(target_zone)] as the bolts begin to loosen.", TRUE)
|
|
|
|
/datum/surgery_step/mechanic_unwrench/tool_check(mob/user, obj/item/tool)
|
|
if(tool.usesound)
|
|
preop_sound = tool.usesound
|
|
|
|
return TRUE
|
|
|
|
//wrench
|
|
/datum/surgery_step/mechanic_wrench
|
|
name = "wrench bolts (wrench or retractor)"
|
|
implements = list(
|
|
TOOL_WRENCH = 100,
|
|
TOOL_RETRACTOR = 75)
|
|
time = 24
|
|
preop_sound = 'sound/items/ratchet.ogg'
|
|
|
|
/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_notice("You begin to wrench some bolts in [target]'s [target.parse_zone_with_bodypart(target_zone)]..."),
|
|
span_notice("[user] begins to wrench some bolts in [target]'s [target.parse_zone_with_bodypart(target_zone)]."),
|
|
span_notice("[user] begins to wrench some bolts in [target]'s [target.parse_zone_with_bodypart(target_zone)]."),
|
|
)
|
|
display_pain(target, "You feel a jostle in your [target.parse_zone_with_bodypart(target_zone)] as the bolts begin to tighten.", TRUE)
|
|
|
|
/datum/surgery_step/mechanic_wrench/tool_check(mob/user, obj/item/tool)
|
|
if(tool.usesound)
|
|
preop_sound = tool.usesound
|
|
|
|
return TRUE
|
|
|
|
//open hatch
|
|
/datum/surgery_step/open_hatch
|
|
name = "open the hatch (hand)"
|
|
accept_hand = TRUE
|
|
time = 10
|
|
preop_sound = 'sound/items/ratchet.ogg'
|
|
preop_sound = 'sound/machines/doorclick.ogg'
|
|
|
|
/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_notice("You begin to open the hatch holders in [target]'s [target.parse_zone_with_bodypart(target_zone)]..."),
|
|
span_notice("[user] begins to open the hatch holders in [target]'s [target.parse_zone_with_bodypart(target_zone)]."),
|
|
span_notice("[user] begins to open the hatch holders in [target]'s [target.parse_zone_with_bodypart(target_zone)]."),
|
|
)
|
|
display_pain(target, "The last faint pricks of tactile sensation fade from your [target.parse_zone_with_bodypart(target_zone)] as the hatch is opened.", TRUE)
|
|
|
|
/datum/surgery_step/open_hatch/tool_check(mob/user, obj/item/tool)
|
|
if(tool.usesound)
|
|
preop_sound = tool.usesound
|
|
|
|
return TRUE
|