diff --git a/modular_nova/master_files/code/datums/traits/neutral.dm b/modular_nova/master_files/code/datums/traits/neutral.dm index 5330be68755..27b1c690f47 100644 --- a/modular_nova/master_files/code/datums/traits/neutral.dm +++ b/modular_nova/master_files/code/datums/traits/neutral.dm @@ -229,13 +229,20 @@ GLOBAL_VAR_INIT(DNR_trait_overlay, generate_DNR_trait_overlay()) /datum/quirk/feline_aspect name = "Feline Traits" - desc = "You happen to act like a feline, for whatever reason." + desc = "You happen to act like a feline, for whatever reason. This will replace most other tongue-based speech quirks." gain_text = span_notice("Nya could go for some catnip right about now...") lose_text = span_notice("You feel less attracted to lasers.") medical_record_text = "Patient seems to possess behavior much like a feline." mob_trait = TRAIT_FELINE icon = FA_ICON_CAT +/datum/quirk/feline_aspect/add_unique(client/client_source) + var/mob/living/carbon/human/human_holder = quirk_holder + var/obj/item/organ/internal/tongue/cat/new_tongue = new(get_turf(human_holder)) + + new_tongue.copy_traits_from(human_holder.get_organ_slot(ORGAN_SLOT_TONGUE)) + new_tongue.Insert(human_holder, special = TRUE, movement_flags = DELETE_IF_REPLACED) + /datum/quirk/item_quirk/canine name = "Canidae Traits" desc = "Bark. You seem to act like a canine for whatever reason. This will replace most other tongue-based speech quirks." diff --git a/modular_nova/modules/organs/code/tongue.dm b/modular_nova/modules/organs/code/tongue.dm index 593211a652c..55bcfce5739 100644 --- a/modular_nova/modules/organs/code/tongue.dm +++ b/modular_nova/modules/organs/code/tongue.dm @@ -27,6 +27,20 @@ speaker.verb_sing = initial(verb_sing) speaker.verb_yell = initial(verb_yell) +/obj/item/organ/internal/tongue/cat/Insert(mob/living/carbon/signer, special = FALSE, movement_flags = DELETE_IF_REPLACED) + . = ..() + signer.verb_ask = "mrrps" + signer.verb_exclaim = "mrrowls" + signer.verb_whisper = "purrs" + signer.verb_yell = "yowls" + +/obj/item/organ/internal/tongue/cat/Remove(mob/living/carbon/speaker, special = FALSE) + . = ..() + speaker.verb_ask = initial(verb_ask) + speaker.verb_exclaim = initial(verb_exclaim) + speaker.verb_whisper = initial(verb_whisper) + speaker.verb_yell = initial(verb_yell) + /obj/item/organ/internal/tongue/avian name = "avian tongue" desc = "A short and stubby tongue that craves seeds."