Files
Bubberstation/code/datums/quirks/negative_quirks/blindness.dm
FlufflesTheDog 0f3d4596f3 Dullahan fixes (#93365)
## About The Pull Request
Fixes up some of the blaring problems with the woefully unloved
dullahans, making them at least playable in time for halloween. List of
individual fixes in the changelog, but notable code changes include that
visible/audible messages can (currently exists for dullahan heads and
holopad projections) now be proxied, so that detached cameras can
optionally relay TTS, emotes, and other messages to the proper client.
## Why It's Good For The Game
Its spooky month!
## Changelog
🆑
fix: Dullahans spawn with their intended organs
fix: Dullahans can hear/see emotes
fix: Dullahan heads properly have preferences applied to them
fix: Dullahan heads no longer appear eyeless
fix: Dullahans can hear things from their head regardless of if their
body is nearby
fix: Dullahans can hear TTS messages
fix: Dullahans have a TTS voice
qol: Dullahans have a head in the character preview, for the sake of
easier customization
/🆑
2025-10-29 00:20:58 +01:00

33 lines
1.3 KiB
Plaintext

/datum/quirk/item_quirk/blindness
name = "Blind"
desc = "You are completely blind, nothing can counteract this."
icon = FA_ICON_BLIND
value = -16
gain_text = span_danger("You can't see anything.")
lose_text = span_notice("You miraculously gain back your vision.")
medical_record_text = "Patient has permanent blindness."
hardcore_value = 15
quirk_flags = QUIRK_HUMAN_ONLY|QUIRK_CHANGES_APPEARANCE
mail_goodies = list(/obj/item/clothing/glasses/sunglasses, /obj/item/cane/white)
/datum/quirk_constant_data/blindfoldcolor
associated_typepath = /datum/quirk/item_quirk/blindness
customization_options = list(/datum/preference/color/blindfold_color)
/datum/quirk/item_quirk/blindness/add_unique(client/client_source)
var/obj/item/clothing/glasses/blindfold/white/blindfold = new
blindfold.add_atom_colour(client_source?.prefs.read_preference(/datum/preference/color/blindfold_color), FIXED_COLOUR_PRIORITY)
blindfold.colored_before = TRUE
give_item_to_holder(blindfold, list(LOCATION_EYES, LOCATION_HANDS))
/datum/quirk/item_quirk/blindness/is_species_appropriate(datum/species/mob_species)
if(ispath(mob_species, /datum/species/dullahan))
return FALSE
return ..()
/datum/quirk/item_quirk/blindness/add(client/client_source)
quirk_holder.become_blind(QUIRK_TRAIT)
/datum/quirk/item_quirk/blindness/remove()
quirk_holder.cure_blind(QUIRK_TRAIT)