Skip to content
This repository was archived by the owner on May 22, 2025. It is now read-only.

Commit f13f241

Browse files
Revert "Removes felinid language (#17825)" (#17856)
This reverts commit e75cb0a.
1 parent c53b3bc commit f13f241

10 files changed

Lines changed: 52 additions & 2 deletions

File tree

code/datums/traits/good.dm

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -430,6 +430,13 @@
430430
gain_text = span_notice("You have learned to understand Draconic.")
431431
lose_text = span_notice("You have forgotten how to understand Draconic.")
432432

433+
/datum/quirk/multilingual/felinid
434+
name = "Multilingual (Felinid)"
435+
desc = "You spent a portion of your life learning to understand Felinid. You may or may not be able to speak it based on your anatomy."
436+
specific = /datum/language/felinid
437+
gain_text = span_notice("You have learned to understand Felinid.")
438+
lose_text = span_notice("You have forgotten how to understand Felinid.")
439+
433440
/datum/quirk/multilingual/sylvan
434441
name = "Multilingual (Sylvan)"
435442
desc = "You spent a portion of your life learning to understand Sylvan. You may or may not be able to speak it based on your anatomy."

code/game/objects/items/robot/robot_upgrades.dm

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,7 @@
174174
/datum/language/draconic,
175175
/datum/language/english,
176176
/datum/language/etherean,
177+
/datum/language/felinid,
177178
/datum/language/mothian,
178179
/datum/language/polysmorph,
179180
/datum/language/sylvan
@@ -187,6 +188,7 @@
187188
/datum/language/draconic,
188189
/datum/language/english,
189190
/datum/language/etherean,
191+
/datum/language/felinid,
190192
/datum/language/mothian,
191193
/datum/language/polysmorph,
192194
/datum/language/sylvan,

code/modules/clothing/head/misc_special.dm

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,18 @@
136136
if(ishuman(user) && slot == SLOT_HEAD)
137137
update_icon(user)
138138
user.update_inv_head() //Color might have been changed by update_icon.
139+
var/datum/language_holder/LH = user.get_language_holder()
140+
if(!LH.has_language(/datum/language/felinid) || !LH.can_speak_language(/datum/language/felinid))
141+
to_chat(user, "Your mind is filled with the knowledge of huntspeak... Well thats what felinids want you to believe anyway.")
142+
LH.grant_language(/datum/language/felinid,TRUE,TRUE,LANGUAGE_CATEARS)
139143
..()
144+
145+
/obj/item/clothing/head/kitty/dropped(mob/user)
146+
..()
147+
var/datum/language_holder/LH = user.get_language_holder()
148+
if(LH.has_language(/datum/language/felinid) || LH.can_speak_language(/datum/language/felinid)) //sanity
149+
to_chat(user, "You lose the keenness in your ears.")
150+
LH.remove_language(/datum/language/felinid,TRUE,TRUE,LANGUAGE_CATEARS)
140151

141152

142153
/obj/item/clothing/head/kitty/update_icon(mob/living/carbon/human/user)

code/modules/language/felinid.dm

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
/datum/language/felinid
2+
name = "Felinid"
3+
desc = "A language devised by felinids to collaborate and hunt more efficiently... well thats what it sounds like in their minds anyway."
4+
exclaim_verb = "miaows"
5+
key = "f"
6+
flags = TONGUELESS_SPEECH
7+
space_chance = 90
8+
syllables = list(
9+
"mhm", "mew", "mia","meow","miaow","mmrrrr"
10+
)
11+
icon_state = "felinid"
12+
default_priority = 90
13+
sing_verb = "mews"

code/modules/language/language_holder.dm

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -361,8 +361,16 @@ Key procs
361361
/datum/language/ratvar = list(LANGUAGE_ATOM),)
362362
spoken_languages = list(/datum/language/common = list(LANGUAGE_ATOM),
363363
/datum/language/ratvar = list(LANGUAGE_ATOM),)
364+
365+
/datum/language_holder/felinid
366+
understood_languages = list(/datum/language/common = list(LANGUAGE_ATOM),
367+
/datum/language/felinid = list(LANGUAGE_ATOM))
368+
spoken_languages = list(/datum/language/common = list(LANGUAGE_ATOM),
369+
/datum/language/felinid = list(LANGUAGE_ATOM))
370+
364371
/datum/language_holder/spiderbot
365372
understood_languages = list(/datum/language/common = list(LANGUAGE_ATOM),
373+
/datum/language/felinid = list(LANGUAGE_ATOM), ///Spiderbots, I am sorry for making you understand this shit
366374
/datum/language/english = list(LANGUAGE_ATOM),
367375
/datum/language/mothian = list(LANGUAGE_ATOM),
368376
/datum/language/polysmorph = list(LANGUAGE_ATOM),
@@ -372,6 +380,7 @@ Key procs
372380
/datum/language/draconic = list(LANGUAGE_ATOM),
373381
/datum/language/machine = list(LANGUAGE_ATOM))
374382
spoken_languages = list(/datum/language/common = list(LANGUAGE_ATOM),
383+
/datum/language/felinid = list(LANGUAGE_ATOM),
375384
/datum/language/english = list(LANGUAGE_ATOM),
376385
/datum/language/mothian = list(LANGUAGE_ATOM),
377386
/datum/language/polysmorph = list(LANGUAGE_ATOM),

code/modules/mob/living/carbon/human/species_types/felinid.dm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
mutanttail = /obj/item/organ/tail/cat
1919
changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC | RACE_SWAP | ERT_SPAWN | SLIME_EXTRACT
2020
swimming_component = /datum/component/swimming/felinid
21-
species_language_holder = /datum/language_holder/english
21+
species_language_holder = /datum/language_holder/felinid
2222

2323
screamsound = list('sound/voice/feline/scream1.ogg', 'sound/voice/feline/scream2.ogg', 'sound/voice/feline/scream3.ogg')
2424

code/modules/surgery/organs/tongue.dm

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
/datum/language/machine, //yogs
3131
/datum/language/darkspawn, //also yogs
3232
/datum/language/encrypted,
33+
/datum/language/felinid,
3334
/datum/language/english,
3435
/datum/language/french
3536
))

icons/misc/language.dmi

166 Bytes
Binary file not shown.

yogstation.dme

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2347,6 +2347,7 @@
23472347
#include "code\modules\language\encrypted.dm"
23482348
#include "code\modules\language\english.dm"
23492349
#include "code\modules\language\etherean.dm"
2350+
#include "code\modules\language\felinid.dm"
23502351
#include "code\modules\language\french.dm"
23512352
#include "code\modules\language\language.dm"
23522353
#include "code\modules\language\language_holder.dm"

yogstation/code/modules/scripting/Implementations/Telecomms.dm

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@
1414
#define ETHEREAN 128
1515
#define BONE 256
1616
#define MOTH 512
17-
#define ENGLISH 1024
17+
#define CAT 1024
18+
#define ENGLISH 2048
1819

1920
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.
2021
//this is fucking broken
@@ -172,6 +173,8 @@ GLOBAL_LIST_INIT(allowed_translations,list(/datum/language/common,/datum/languag
172173
oldlangbits = BONE
173174
else if(oldlang == /datum/language/mothian)
174175
oldlangbits = MOTH
176+
else if(oldlang == /datum/language/felinid)
177+
oldlangbits = CAT
175178
else if(oldlang == /datum/language/english)
176179
oldlangbits = ENGLISH
177180
// Signal data
@@ -310,6 +313,8 @@ GLOBAL_LIST_INIT(allowed_translations,list(/datum/language/common,/datum/languag
310313
return /datum/language/bonespeak
311314
if(MOTH)
312315
return /datum/language/mothian
316+
if(CAT)
317+
return /datum/language/felinid
313318
if(ENGLISH)
314319
return /datum/language/english
315320

@@ -485,4 +490,5 @@ GLOBAL_LIST_INIT(allowed_translations,list(/datum/language/common,/datum/languag
485490
#undef ETHEREAN
486491
#undef BONE
487492
#undef MOTH
493+
#undef CAT
488494
#undef ENGLISH

0 commit comments

Comments
 (0)