diff --git a/code/__defines/species_languages_vr.dm b/code/__defines/species_languages_vr.dm
index e8cf9a88b9..ec9165653d 100644
--- a/code/__defines/species_languages_vr.dm
+++ b/code/__defines/species_languages_vr.dm
@@ -13,5 +13,7 @@
#define LANGUAGE_ECHOSONG "Echo Song"
#define LANGUAGE_ANIMAL "Animal"
+#define LANGUAGE_TEPPI "Teppi"
+#define LANGUAGE_MOUSE "Mouse"
#define LANGUAGE_SHADEKIN "Shadekin Empathy"
diff --git a/code/modules/mob/language/monkey.dm b/code/modules/mob/language/animal.dm
similarity index 95%
rename from code/modules/mob/language/monkey.dm
rename to code/modules/mob/language/animal.dm
index 8224ca7aa8..9135babe24 100644
--- a/code/modules/mob/language/monkey.dm
+++ b/code/modules/mob/language/animal.dm
@@ -9,7 +9,7 @@
machine_understands = 0
/datum/language/mouse
- name = "Mouse"
+ name = LANGUAGE_MOUSE
desc = "A set of squeaks that only mice can understand."
speech_verb = "squeaks"
ask_verb = "squeaks"
@@ -21,7 +21,7 @@
syllables = list("squeak") // , "gripes", "oi", "meow")
/datum/language/teppi
- name = "Teppi"
+ name = LANGUAGE_TEPPI
desc = "A set of gyohs that only teppi can understand."
speech_verb = "rumbles"
ask_verb = "tilts"
diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/catslug.dm b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/catslug.dm
index 7a6a3458d9..c5b5e14276 100644
--- a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/catslug.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/catslug.dm
@@ -51,7 +51,7 @@
say_list_type = /datum/say_list/catslug
player_msg = "You have escaped the foul weather, into this much more pleasant place. You are an intelligent creature capable of more than most think. You can pick up and use many things, and even carry some of them with you into the vents, which you can use to move around quickly. You're quiet and capable, you speak with your hands and your deeds!
- - - - -
Keep in mind, your goal should generally be to survive. You're expected to follow the same rules as everyone else, so don't go self antagging without permission from the staff team, but you are able and capable of defending yourself from those who would attack you for no reason."
- has_langs = list("Sign Language")
+ has_langs = list(LANGUAGE_SIGN)
var/picked_color = FALSE
diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/teppi.dm b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/teppi.dm
index 036e07c2d4..55dd265705 100644
--- a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/teppi.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/teppi.dm
@@ -128,7 +128,7 @@ GLOBAL_VAR_INIT(teppi_count, 0) // How mant teppi DO we have?
mob_size = MOB_LARGE
- has_langs = list("Teppi")
+ has_langs = list(LANGUAGE_TEPPI)
say_list_type = /datum/say_list/teppi
player_msg = "Teppi are large omnivorous quadrupeds. You have four toes on each paw, a long, strong tail, and are quite tough and powerful. You’re a lot more intimidating than you are actually harmful though. Your kind are ordinarily rather passive, only really rising to violence when someone does violence to you or others like you. You’re not stupid though, you can commiunicate with others of your kind, and form bonds with those who are kind to you, be they Teppi or otherwise.
- - - - -
While you may have access to galactic common, this is purely meant for making it so you can understand people in an OOC manner, for facilitating roleplay. You almost certainly should not be speaking to people or roleplaying as though you understand everything everyone says perfectly, but it's not unreasonable to be able to intuit intent and such through people's tones when they speak. Teppi are kind of smart, but they are animals, and should be roleplayed as such. ADDITIONALLY, you have the ability to produce offspring if you're well fed enough every once in a while, and the ability to disable this from happening to you. These verbs exist for to preserve the mechanical functionality of the mob you are playing. You should be aware of your surroundings when you use this verb, and NEVER use it to prefbreak or be disruptive. If in doubt, don't use it. Also, to note, AI Teppi will never initiate breeding with player Teppi."
loot_list = list(/obj/item/weapon/bone/horn = 100)
diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/farm animals/chicken.dm b/code/modules/mob/living/simple_mob/subtypes/animal/farm animals/chicken.dm
index 78ca8e1a06..222d829a84 100644
--- a/code/modules/mob/living/simple_mob/subtypes/animal/farm animals/chicken.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/animal/farm animals/chicken.dm
@@ -22,7 +22,7 @@ GLOBAL_VAR_INIT(chicken_count, 0) // How mant chickens DO we have?
organ_names = /decl/mob_organ_names/chicken
- has_langs = list("Bird")
+ has_langs = list(LANGUAGE_ANIMAL)
say_list_type = /datum/say_list/chicken
@@ -122,7 +122,7 @@ GLOBAL_VAR_INIT(chicken_count, 0) // How mant chickens DO we have?
response_harm = "kicks"
attacktext = list("kicked")
- has_langs = list("Bird")
+ has_langs = list(LANGUAGE_ANIMAL)
say_list_type = /datum/say_list/chick
diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/passive/mouse.dm b/code/modules/mob/living/simple_mob/subtypes/animal/passive/mouse.dm
index 266174b7c3..e0184b210a 100644
--- a/code/modules/mob/living/simple_mob/subtypes/animal/passive/mouse.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/animal/passive/mouse.dm
@@ -32,7 +32,7 @@
minbodytemp = 223 //Below -50 Degrees Celcius
maxbodytemp = 323 //Above 50 Degrees Celcius
- has_langs = list("Mouse")
+ has_langs = list(LANGUAGE_MOUSE)
holder_type = /obj/item/weapon/holder/mouse
meat_amount = 1
diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/passive/penguin.dm b/code/modules/mob/living/simple_mob/subtypes/animal/passive/penguin.dm
index 5616b4b524..a3b0d537d7 100644
--- a/code/modules/mob/living/simple_mob/subtypes/animal/passive/penguin.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/animal/passive/penguin.dm
@@ -24,8 +24,6 @@
melee_damage_upper = 15
attacktext = list("pecked")
- has_langs = list("Bird")
-
/mob/living/simple_mob/animal/passive/penguin/tux
name = "Tux"
desc = "A penguin that has been known to associate with gnus."
diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/pets/bird.dm b/code/modules/mob/living/simple_mob/subtypes/animal/pets/bird.dm
index d7c2bf37db..5b3f2762b2 100644
--- a/code/modules/mob/living/simple_mob/subtypes/animal/pets/bird.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/animal/pets/bird.dm
@@ -28,7 +28,6 @@
attacktext = list("clawed", "pecked")
speak_emote = list("chirps", "caws")
- has_langs = list("Bird")
response_help = "pets"
response_disarm = "gently moves aside"
response_harm = "swats"
diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/pets/cat.dm b/code/modules/mob/living/simple_mob/subtypes/animal/pets/cat.dm
index c29ce4d137..d1e1c1e806 100644
--- a/code/modules/mob/living/simple_mob/subtypes/animal/pets/cat.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/animal/pets/cat.dm
@@ -46,8 +46,6 @@ var/list/_cat_default_emotes = list(
holder_type = /obj/item/weapon/holder/cat
mob_size = MOB_SMALL
- has_langs = list("Cat")
-
var/mob/living/friend = null // Our best pal, who we'll follow. Meow.
var/named = FALSE //have I been named yet?
var/friend_name = null //VOREStation Edit - Lock befriending to this character
diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/pets/dog.dm b/code/modules/mob/living/simple_mob/subtypes/animal/pets/dog.dm
index 8c305e7ef8..8e74d7e873 100644
--- a/code/modules/mob/living/simple_mob/subtypes/animal/pets/dog.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/animal/pets/dog.dm
@@ -17,7 +17,7 @@
mob_size = MOB_SMALL
- has_langs = list("Dog")
+ has_langs = list(LANGUAGE_ANIMAL)
say_list_type = /datum/say_list/dog
diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/pets/fennec.dm b/code/modules/mob/living/simple_mob/subtypes/animal/pets/fennec.dm
index 0408c7ff27..249af03a4e 100644
--- a/code/modules/mob/living/simple_mob/subtypes/animal/pets/fennec.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/animal/pets/fennec.dm
@@ -15,7 +15,7 @@
holder_type = /obj/item/weapon/holder/fennec
mob_size = MOB_SMALL
- has_langs = list("Cat, Dog") //they're similar, why not.
+ has_langs = list(LANGUAGE_ANIMAL)
/mob/living/simple_mob/animal/passive/fennec/faux
name = "faux"
diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/pets/parrot.dm b/code/modules/mob/living/simple_mob/subtypes/animal/pets/parrot.dm
index d64810ff1d..c03327b5bd 100644
--- a/code/modules/mob/living/simple_mob/subtypes/animal/pets/parrot.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/animal/pets/parrot.dm
@@ -3,7 +3,7 @@
name = "parrot"
description_info = "You can give it a headset by clicking on it with a headset. \
To remove it, click the bird while on grab intent."
- has_langs = list("Galactic Common", "Bird")
+ has_langs = list(LANGUAGE_GALCOM, LANGUAGE_ANIMAL)
ai_holder_type = /datum/ai_holder/simple_mob/passive/parrot
diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/space/bats.dm b/code/modules/mob/living/simple_mob/subtypes/animal/space/bats.dm
index 595e3557cf..f4c4719059 100644
--- a/code/modules/mob/living/simple_mob/subtypes/animal/space/bats.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/animal/space/bats.dm
@@ -30,7 +30,7 @@
ai_holder_type = /datum/ai_holder/simple_mob/melee/evasive
- has_langs = list("Mouse")
+ has_langs = list(LANGUAGE_MOUSE, LANGUAGE_ECHOSONG) // Haha squeak
meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat
meat_amount = 2
diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/space/goose.dm b/code/modules/mob/living/simple_mob/subtypes/animal/space/goose.dm
index 840b424994..875434ebea 100644
--- a/code/modules/mob/living/simple_mob/subtypes/animal/space/goose.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/animal/space/goose.dm
@@ -23,7 +23,7 @@
organ_names = /decl/mob_organ_names/goose
- has_langs = list("Bird")
+ has_langs = list(LANGUAGE_ANIMAL)
meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat/chicken
meat_amount = 3
diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/c_pet.dm b/code/modules/mob/living/simple_mob/subtypes/vore/c_pet.dm
index 4b36fb7b1e..02cf178447 100644
--- a/code/modules/mob/living/simple_mob/subtypes/vore/c_pet.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/vore/c_pet.dm
@@ -39,7 +39,7 @@
"rad" = 0
)
- has_langs = list("Animal")
+ has_langs = list(LANGUAGE_ANIMAL)
/mob/living/simple_mob/animal/passive/honkpet/attack_hand(mob/living/user as mob)
if(user.a_intent == I_DISARM)
diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/shadekin.dm b/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/shadekin.dm
index ee27fb1c97..c84ab019f9 100644
--- a/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/shadekin.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/shadekin.dm
@@ -18,7 +18,7 @@
has_hands = TRUE //Pawbs
seedarkness = FALSE //SHAAAADEkin
attack_sound = 'sound/weapons/bladeslice.ogg'
- has_langs = list(LANGUAGE_GALCOM,LANGUAGE_SHADEKIN)
+ has_langs = list(LANGUAGE_GALCOM, LANGUAGE_SHADEKIN)
melee_damage_lower = 10
melee_damage_upper = 20
@@ -212,7 +212,7 @@
phase_shift() // shifting back in, nobody present
else if (non_kin_count && !(ability_flags & AB_PHASE_SHIFTED))
phase_shift() // shifting out, scaredy
-
+
/mob/living/simple_mob/shadekin/update_icon()
. = ..()
diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/softdog.dm b/code/modules/mob/living/simple_mob/subtypes/vore/softdog.dm
index be4e903681..f6a3a0a973 100644
--- a/code/modules/mob/living/simple_mob/subtypes/vore/softdog.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/vore/softdog.dm
@@ -50,7 +50,7 @@
mob_size = MOB_SMALL
- has_langs = list("Dog", "Canilunzt", "Galactic Common")
+ has_langs = list(LANGUAGE_ANIMAL, LANGUAGE_CANILUNZT, LANGUAGE_GALCOM)
say_list_type = /datum/say_list/softdog
swallowTime = 0.1 SECONDS
diff --git a/vorestation.dme b/vorestation.dme
index 16a2d8c51a..b6e5fe7f0c 100644
--- a/vorestation.dme
+++ b/vorestation.dme
@@ -2724,9 +2724,9 @@
#include "code\modules\mob\freelook\mask\cultnet.dm"
#include "code\modules\mob\freelook\mask\eye.dm"
#include "code\modules\mob\freelook\mask\update_triggers.dm"
+#include "code\modules\mob\language\animal.dm"
#include "code\modules\mob\language\generic.dm"
#include "code\modules\mob\language\language.dm"
-#include "code\modules\mob\language\monkey.dm"
#include "code\modules\mob\language\outsider.dm"
#include "code\modules\mob\language\station.dm"
#include "code\modules\mob\language\station_vr.dm"