Files
SpaceLoveSs13 2e1a819c4f Novastation Synthetic Refactor Port (#29204)
* 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>
2024-08-11 19:56:17 +05:30

69 lines
2.6 KiB
Plaintext

/datum/surgery/autopsy
name = "Autopsy"
surgery_flags = SURGERY_IGNORE_CLOTHES | SURGERY_REQUIRE_RESTING | SURGERY_REQUIRE_LIMB | SURGERY_MORBID_CURIOSITY
possible_locs = list(BODY_ZONE_CHEST)
steps = list(
/datum/surgery_step/incise,
/datum/surgery_step/retract_skin,
/datum/surgery_step/autopsy,
/datum/surgery_step/close,
)
/datum/surgery/autopsy/mechanic
name = "System Failure Analysis"
requires_bodypart_type = BODYTYPE_ROBOTIC
steps = list(
/datum/surgery_step/mechanic_open,
/datum/surgery_step/open_hatch,
/datum/surgery_step/autopsy,
/datum/surgery_step/mechanic_close,
)
/datum/surgery/autopsy/can_start(mob/user, mob/living/patient)
if(!..())
return FALSE
if(patient.stat != DEAD)
return FALSE
if(HAS_TRAIT_FROM(patient, TRAIT_DISSECTED, AUTOPSY_TRAIT))
return FALSE
return TRUE
/datum/surgery_step/autopsy
name = "Perform Autopsy (autopsy scanner)"
implements = list(/obj/item/autopsy_scanner = 100)
time = 10 SECONDS
success_sound = 'sound/machines/printer.ogg'
/datum/surgery_step/autopsy/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
display_results(
user,
target,
span_notice("You begins performing an autopsy on [target]..."),
span_notice("[user] uses [tool] to perform an autopsy on [target]."),
span_notice("[user] uses [tool] on [target]'s chest."),
)
display_pain(target, "You feel a burning sensation in your chest!")
/datum/surgery_step/autopsy/success(mob/user, mob/living/carbon/target, target_zone, obj/item/autopsy_scanner/tool, datum/surgery/surgery, default_display_results = FALSE)
ADD_TRAIT(target, TRAIT_DISSECTED, AUTOPSY_TRAIT)
if(!HAS_TRAIT(src, TRAIT_SURGICALLY_ANALYZED))
ADD_TRAIT(target, TRAIT_SURGICALLY_ANALYZED, AUTOPSY_TRAIT)
tool.scan_cadaver(user, target)
var/obj/machinery/computer/operating/operating_computer = surgery.locate_operating_computer(get_turf(target))
if (!isnull(operating_computer))
SEND_SIGNAL(operating_computer, COMSIG_OPERATING_COMPUTER_AUTOPSY_COMPLETE, target)
if(HAS_MIND_TRAIT(user, TRAIT_MORBID) && ishuman(user))
var/mob/living/carbon/human/morbid_weirdo = user
morbid_weirdo.add_mood_event("morbid_dissection_success", /datum/mood_event/morbid_dissection_success)
return ..()
/datum/surgery_step/autopsy/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
display_results(
user,
target,
span_warning("You screw up, bruising [target]'s chest!"),
span_warning("[user] screws up, brusing [target]'s chest!"),
span_warning("[user] screws up!"),
)
target.adjustBruteLoss(5)