mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-19 22:23:11 +00:00
* Organ movement refactor *Un-nullspaces your organs* * Fix conflicts I checked the conflicts on the two weird conflicts and no previous TG pr touches them i assume its just github being github because those shoulden't be conflicts *shrug * Fix #1 uhh...this is going to be a long one * Fix #2 Modular Movement Flags * Fix #3 It builds now * Fix #4 Oh god it builds now, I missed some things * Fix #5 No more Runtimesplosion Now time for Synths * Update nightmare_organs.dm * on_mob_insert * https://github.com/Skyrat-SS13/Skyrat-tg/pull/25664 * https://github.com/Skyrat-SS13/Skyrat-tg/pull/25685 * https://github.com/Skyrat-SS13/Skyrat-tg/pull/25582 * https://github.com/Skyrat-SS13/Skyrat-tg/pull/25686 * bro the fucking brain does not go into the chest. * seriously? undocumented code causing shit. if it breaks ghouls, so be it. --------- Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com> Co-authored-by: SomeRandomOwl <somerandomowl@ratchtnet.com> Co-authored-by: SomeRandomOwl <2568378+SomeRandomOwl@users.noreply.github.com> Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
38 lines
1.9 KiB
Plaintext
38 lines
1.9 KiB
Plaintext
/datum/quirk/tin_man
|
|
name = "Tin Man"
|
|
desc = "Oops! All Prosthetics! Due to some truly cruel cosmic punishment, most of your internal organs have been replaced with surplus prosthetics."
|
|
icon = FA_ICON_USER_GEAR
|
|
value = -6
|
|
medical_record_text = "During physical examination, patient was found to have numerous low-budget prosthetic internal organs. \
|
|
<b>Removal of these organs is known to be dangerous to the patient as well as the practitioner.</b>"
|
|
hardcore_value = 6
|
|
mail_goodies = list(/obj/item/storage/organbox)
|
|
|
|
/datum/quirk/tin_man/add_unique(client/client_source)
|
|
var/mob/living/carbon/human/human_holder = quirk_holder
|
|
var/static/list/organ_slots = list(
|
|
ORGAN_SLOT_HEART = /obj/item/organ/internal/heart/cybernetic/surplus,
|
|
ORGAN_SLOT_LUNGS = /obj/item/organ/internal/lungs/cybernetic/surplus,
|
|
ORGAN_SLOT_LIVER = /obj/item/organ/internal/liver/cybernetic/surplus,
|
|
ORGAN_SLOT_STOMACH = /obj/item/organ/internal/stomach/cybernetic/surplus,
|
|
)
|
|
var/list/possible_organ_slots = organ_slots.Copy()
|
|
if(HAS_TRAIT(human_holder, TRAIT_NOBLOOD))
|
|
possible_organ_slots -= ORGAN_SLOT_HEART
|
|
if(HAS_TRAIT(human_holder, TRAIT_NOBREATH))
|
|
possible_organ_slots -= ORGAN_SLOT_LUNGS
|
|
if(HAS_TRAIT(human_holder, TRAIT_LIVERLESS_METABOLISM))
|
|
possible_organ_slots -= ORGAN_SLOT_LIVER
|
|
if(HAS_TRAIT(human_holder, TRAIT_NOHUNGER))
|
|
possible_organ_slots -= ORGAN_SLOT_STOMACH
|
|
if(!length(organ_slots)) //what the hell
|
|
return
|
|
for(var/organ_slot in possible_organ_slots)
|
|
var/organ_path = possible_organ_slots[organ_slot]
|
|
var/obj/item/organ/new_organ = new organ_path()
|
|
new_organ.Insert(human_holder, special = TRUE, movement_flags = DELETE_IF_REPLACED)
|
|
|
|
/datum/quirk/tin_man/post_add()
|
|
to_chat(quirk_holder, span_boldannounce("Most of your internal organs have been replaced with surplus prosthetics. They are fragile and will easily come apart under duress. \
|
|
Additionally, any EMP will make them stop working entirely."))
|