diff --git a/code/controllers/subsystem/processing/quirks.dm b/code/controllers/subsystem/processing/quirks.dm index a98ce4ac7dd..3d213c2f462 100644 --- a/code/controllers/subsystem/processing/quirks.dm +++ b/code/controllers/subsystem/processing/quirks.dm @@ -48,6 +48,7 @@ GLOBAL_LIST_INIT_TYPED(quirk_blacklist, /list/datum/quirk, list( list(/datum/quirk/dominant_aura, /datum/quirk/well_trained), list(/datum/quirk/equipping/entombed, /datum/quirk/equipping/seamless_clothes), list(/datum/quirk/equipping/entombed, /datum/quirk/badback), + list(/datum/quirk/unblinking, /datum/quirk/item_quirk/fluoride_stare), //BUBBER EDIT ADDITION END )) diff --git a/modular_zubbers/code/datums/quirks/neutral_quirks/unblinking.dm b/modular_zubbers/code/datums/quirks/neutral_quirks/unblinking.dm new file mode 100644 index 00000000000..afd5a9e8c6e --- /dev/null +++ b/modular_zubbers/code/datums/quirks/neutral_quirks/unblinking.dm @@ -0,0 +1,32 @@ +/datum/quirk/unblinking + name = "Unblinking" + desc = "For whatever reason, you do not need to blink to keep your eyes (or equivalent visual apparatus) functional." + icon = FA_ICON_FACE_FLUSHED + value = 0 + gain_text = span_danger("You no longer feel the need to blink.") + lose_text = span_notice("You feel the need to blink again.") + medical_record_text = "Patient is incapable of blinking." + mob_trait = TRAIT_NO_EYELIDS //Also prevents eye shutting in knockout state and death. + +/datum/quirk/unblinking/add(client/client_source) + . = ..() + var/obj/item/organ/eyes/eyes = quirk_holder.get_organ_slot(ORGAN_SLOT_EYES) + if(!eyes) + return + + eyes.blink_animation = FALSE + + // interrupt the animations + if(eyes.eyelid_left) + animate(eyes.eyelid_left, alpha = 0, time = 0) + if(eyes.eyelid_right) + animate(eyes.eyelid_right, alpha = 0, time = 0) + +/datum/quirk/unblinking/remove() + . = ..() + var/obj/item/organ/eyes/eyes = quirk_holder.get_organ_slot(ORGAN_SLOT_EYES) + if(!eyes) + return + + eyes.blink_animation = TRUE + quirk_holder.update_body() diff --git a/tgstation.dme b/tgstation.dme index 692bc60760e..84b0f181ebe 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -8926,6 +8926,7 @@ #include "modular_zubbers\code\datums\quirks\neutral_quirks\oversized_quirk.dm" #include "modular_zubbers\code\datums\quirks\neutral_quirks\pet_owner.dm" #include "modular_zubbers\code\datums\quirks\neutral_quirks\seamless_clothes.dm" +#include "modular_zubbers\code\datums\quirks\neutral_quirks\unblinking.dm" #include "modular_zubbers\code\datums\quirks\neutral_quirks\waddle.dm" #include "modular_zubbers\code\datums\quirks\positive_quirks\defensive.dm" #include "modular_zubbers\code\datums\quirks\positive_quirks\dominant_aura.dm"