Files
Bubberstation/code/datums/quirks/negative_quirks/tin_man.dm
SkyratBot b79167c173 [MIRROR] Organ movement refactor *Un-nullspaces your organs* [MDB IGNORE] (#25530)
* 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>
2023-12-24 19:06:09 +00:00

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."))