From 76272dfd6bc447093e7b206ec5ed2eecf4af427f Mon Sep 17 00:00:00 2001 From: ToasterBiome Date: Mon, 27 Sep 2021 16:34:10 -0500 Subject: [PATCH 1/4] meow meow meow meow meow --- code/modules/language/felinid.dm | 13 +++++++++++++ code/modules/language/language_holder.dm | 6 ++++++ .../carbon/human/species_types/felinid.dm | 1 + icons/misc/language.dmi | Bin 5512 -> 5752 bytes yogstation.dme | 1 + .../scripting/Implementations/Telecomms.dm | 6 ++++++ 6 files changed, 27 insertions(+) create mode 100644 code/modules/language/felinid.dm diff --git a/code/modules/language/felinid.dm b/code/modules/language/felinid.dm new file mode 100644 index 000000000000..453fbb6c241e --- /dev/null +++ b/code/modules/language/felinid.dm @@ -0,0 +1,13 @@ +/datum/language/felinid + name = "Felinid" + desc = "A language devised by felinids to communicate without their masters knowing." + exclaim_verb = "nyas" + key = "f" + flags = TONGUELESS_SPEECH + space_chance = 90 + syllables = list( + "meow", "nya", "nyam","mm","mrow" + ) + icon_state = "felinid" + default_priority = 90 + sing_verb = "purrs" diff --git a/code/modules/language/language_holder.dm b/code/modules/language/language_holder.dm index 059e07f3ddde..852b665c397f 100644 --- a/code/modules/language/language_holder.dm +++ b/code/modules/language/language_holder.dm @@ -361,6 +361,12 @@ Key procs spoken_languages = list(/datum/language/common = list(LANGUAGE_ATOM), /datum/language/ratvar = list(LANGUAGE_ATOM),) +/datum/language_holder/felinid + understood_languages = list(/datum/language/common = list(LANGUAGE_ATOM), + /datum/language/felinid = list(LANGUAGE_ATOM)) + spoken_languages = list(/datum/language/common = list(LANGUAGE_ATOM), + /datum/language/felinid = list(LANGUAGE_ATOM)) + /datum/language_holder/empty understood_languages = list() spoken_languages = list() diff --git a/code/modules/mob/living/carbon/human/species_types/felinid.dm b/code/modules/mob/living/carbon/human/species_types/felinid.dm index f485cdf762b8..f68d71359302 100644 --- a/code/modules/mob/living/carbon/human/species_types/felinid.dm +++ b/code/modules/mob/living/carbon/human/species_types/felinid.dm @@ -10,6 +10,7 @@ mutantears = /obj/item/organ/ears/cat mutanttail = /obj/item/organ/tail/cat changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC | RACE_SWAP | ERT_SPAWN | SLIME_EXTRACT + species_language_holder = /datum/language_holder/felinid /datum/species/human/felinid/qualifies_for_rank(rank, list/features) return TRUE diff --git a/icons/misc/language.dmi b/icons/misc/language.dmi index b05b6cab7c2daa4ea8f58df9300cd23d9a184543..449150d4a1fd03a09c2c99f61d75419e6cd36af0 100644 GIT binary patch delta 5740 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 diff --git a/yogstation.dme b/yogstation.dme index b002e518256d..bdf9b8b4d95a 100644 --- a/yogstation.dme +++ b/yogstation.dme @@ -2072,6 +2072,7 @@ #include "code\modules\language\egg.dm" #include "code\modules\language\encrypted.dm" #include "code\modules\language\etherean.dm" +#include "code\modules\language\felinid.dm" #include "code\modules\language\language.dm" #include "code\modules\language\language_holder.dm" #include "code\modules\language\language_menu.dm" diff --git a/yogstation/code/modules/scripting/Implementations/Telecomms.dm b/yogstation/code/modules/scripting/Implementations/Telecomms.dm index 26ff7dbc6b0f..34780af33625 100644 --- a/yogstation/code/modules/scripting/Implementations/Telecomms.dm +++ b/yogstation/code/modules/scripting/Implementations/Telecomms.dm @@ -14,6 +14,7 @@ #define ETHEREAN 128 #define BONE 256 #define MOTH 512 +#define CAT 1024 GLOBAL_LIST_INIT(allowed_custom_spans,list(SPAN_ROBOT,SPAN_YELL,SPAN_ITALICS,SPAN_SANS,SPAN_COMMAND,SPAN_CLOWN))//Span classes that players are allowed to set in a radio transmission. //this is fucking broken @@ -170,6 +171,8 @@ GLOBAL_LIST_INIT(allowed_translations,list(/datum/language/common,/datum/languag oldlang = BONE else if(oldlang == /datum/language/mothian) oldlang = MOTH + else if(oldlang == /datum/language/felinid) + oldlang = CAT // Signal data var/datum/n_struct/signal/script_signal = new(list( @@ -306,6 +309,8 @@ GLOBAL_LIST_INIT(allowed_translations,list(/datum/language/common,/datum/languag return /datum/language/bonespeak if(MOTH) return /datum/language/mothian + if(CAT) + return /datum/language/felinid /datum/n_function/default/mem name = "mem" @@ -479,3 +484,4 @@ GLOBAL_LIST_INIT(allowed_translations,list(/datum/language/common,/datum/languag #undef ETHEREAN #undef BONE #undef MOTH +#undef CAT From 02dfa7aef3d0726280d2957b0c048c84397413f6 Mon Sep 17 00:00:00 2001 From: ToasterBiome Date: Mon, 27 Sep 2021 17:08:22 -0500 Subject: [PATCH 2/4] tongues --- code/modules/language/felinid.dm | 2 +- code/modules/surgery/organs/tongue.dm | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/code/modules/language/felinid.dm b/code/modules/language/felinid.dm index 453fbb6c241e..b9b47625afd5 100644 --- a/code/modules/language/felinid.dm +++ b/code/modules/language/felinid.dm @@ -6,7 +6,7 @@ flags = TONGUELESS_SPEECH space_chance = 90 syllables = list( - "meow", "nya", "nyam","mm","mrow" + "meow", "nya", "nyam","mm","mrow","mmrrrr" ) icon_state = "felinid" default_priority = 90 diff --git a/code/modules/surgery/organs/tongue.dm b/code/modules/surgery/organs/tongue.dm index 7d2755f33442..35523bbe9e98 100644 --- a/code/modules/surgery/organs/tongue.dm +++ b/code/modules/surgery/organs/tongue.dm @@ -26,7 +26,8 @@ /datum/language/japanese, /datum/language/machine, //yogs /datum/language/darkspawn, //also yogs - /datum/language/encrypted + /datum/language/encrypted, + /datum/language/felinid )) /obj/item/organ/tongue/Initialize(mapload) From e34044cf4eceb16895f5e0db4f10660d171a2d84 Mon Sep 17 00:00:00 2001 From: ToasterBiome Date: Mon, 27 Sep 2021 18:51:05 -0500 Subject: [PATCH 3/4] putting on cat ears makes you more degenerate --- code/__DEFINES/language.dm | 1 + code/modules/clothing/head/misc_special.dm | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/code/__DEFINES/language.dm b/code/__DEFINES/language.dm index d5fa67406a53..71da814b8b50 100644 --- a/code/__DEFINES/language.dm +++ b/code/__DEFINES/language.dm @@ -21,3 +21,4 @@ #define LANGUAGE_SOFTWARE "software" #define LANGUAGE_STONER "stoner" #define LANGUAGE_VOICECHANGE "voicechange" +#define LANGUAGE_CATEARS "cat" diff --git a/code/modules/clothing/head/misc_special.dm b/code/modules/clothing/head/misc_special.dm index 7b23392e720a..9171147cd6ed 100644 --- a/code/modules/clothing/head/misc_special.dm +++ b/code/modules/clothing/head/misc_special.dm @@ -134,6 +134,17 @@ if(ishuman(user) && slot == SLOT_HEAD) update_icon(user) user.update_inv_head() //Color might have been changed by update_icon. + var/datum/language_holder/LH = user.get_language_holder() + if(!LH.has_language(/datum/language/felinid) || !LH.can_speak_language(/datum/language/felinid)) + to_chat(user, "Your mind floods with thoughts of hairballs.") + LH.grant_language(/datum/language/felinid,TRUE,TRUE,LANGUAGE_CATEARS) + ..() + +/obj/item/clothing/head/kitty/dropped(mob/user) + var/datum/language_holder/LH = user.get_language_holder() + if(LH.has_language(/datum/language/felinid) || LH.can_speak_language(/datum/language/felinid)) //sanity + to_chat(user, "You rid yourself of degeneracy.") + LH.remove_language(/datum/language/felinid,TRUE,TRUE,LANGUAGE_CATEARS) ..() /obj/item/clothing/head/kitty/update_icon(mob/living/carbon/human/user) From 034677476d6b945bd918554a04dcbf8458da9d98 Mon Sep 17 00:00:00 2001 From: Byemoh Date: Mon, 27 Sep 2021 18:58:36 -0500 Subject: [PATCH 4/4] council bonks horny --- code/modules/language/felinid.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/language/felinid.dm b/code/modules/language/felinid.dm index b9b47625afd5..913eb3e248f9 100644 --- a/code/modules/language/felinid.dm +++ b/code/modules/language/felinid.dm @@ -1,6 +1,6 @@ /datum/language/felinid name = "Felinid" - desc = "A language devised by felinids to communicate without their masters knowing." + desc = "A language devised by felinids to secretly plot against regular humans" exclaim_verb = "nyas" key = "f" flags = TONGUELESS_SPEECH