diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm
index 0c742d49236..1651a561bbd 100644
--- a/code/game/objects/items/toys.dm
+++ b/code/game/objects/items/toys.dm
@@ -1155,7 +1155,7 @@ obj/item/toy/cards/deck/syndicate/black
if(!cooldown) //for the sanity of everyone
var/message = pick("You won't get away this time, Griffin!", "Stop right there, criminal!", "Hoot! Hoot!", "I am the night!")
to_chat(user, "You pull the string on the [src].")
- playsound(user, 'sound/misc/hoot.ogg', 25, 1)
+ playsound(user, 'sound/creatures/hoot.ogg', 25, 1)
visible_message("[bicon(src)] [message]")
cooldown = 1
spawn(30) cooldown = 0
@@ -1174,7 +1174,7 @@ obj/item/toy/cards/deck/syndicate/black
if(!cooldown) //for the sanity of everyone
var/message = pick("You can't stop me, Owl!", "My plan is flawless! The vault is mine!", "Caaaawwww!", "You will never catch me!")
to_chat(user, "You pull the string on the [src].")
- playsound(user, 'sound/misc/caw.ogg', 25, 1)
+ playsound(user, 'sound/creatures/caw.ogg', 25, 1)
visible_message("[bicon(src)] [message]")
cooldown = 1
spawn(30) cooldown = 0
diff --git a/code/modules/clothing/head/misc.dm b/code/modules/clothing/head/misc.dm
index e5c81eb8d18..ff497f909ba 100644
--- a/code/modules/clothing/head/misc.dm
+++ b/code/modules/clothing/head/misc.dm
@@ -424,7 +424,7 @@
/obj/item/clothing/head/griffin/proc/caw()
if(cooldown < world.time - 20) // A cooldown, to stop people being jerks
- playsound(src.loc, 'sound/misc/caw.ogg', 50, 1)
+ playsound(src.loc, 'sound/creatures/caw.ogg', 50, 1)
cooldown = world.time
diff --git a/code/modules/clothing/masks/gasmask.dm b/code/modules/clothing/masks/gasmask.dm
index 76db9086ebd..cb12bb6ae0f 100644
--- a/code/modules/clothing/masks/gasmask.dm
+++ b/code/modules/clothing/masks/gasmask.dm
@@ -187,7 +187,7 @@
/obj/item/clothing/mask/gas/owl_mask/proc/hoot()
if(cooldown < world.time - 35) // A cooldown, to stop people being jerks
- playsound(src.loc, 'sound/misc/hoot.ogg', 50, 1)
+ playsound(src.loc, 'sound/creatures/hoot.ogg', 50, 1)
cooldown = world.time
// ********************************************************************
diff --git a/code/modules/mob/living/simple_animal/friendly/cat.dm b/code/modules/mob/living/simple_animal/friendly/cat.dm
index e1d61c5aa55..be70338664d 100644
--- a/code/modules/mob/living/simple_animal/friendly/cat.dm
+++ b/code/modules/mob/living/simple_animal/friendly/cat.dm
@@ -11,6 +11,7 @@
speak_emote = list("purrs", "meows")
emote_hear = list("meows", "mews")
emote_see = list("shakes its head", "shivers")
+ var/meow_sound = 'sound/creatures/cat_meow.ogg' //Used in emote.
speak_chance = 1
turns_per_move = 5
see_in_dark = 6
@@ -146,6 +147,40 @@
stop_automated_movement = 1
walk_to(src,movement_target,0,3)
+/mob/living/simple_animal/pet/cat/emote(act, m_type=1, message = null)
+ if(stat != CONSCIOUS)
+ return
+
+ var/on_CD = 0
+ act = lowertext(act)
+ switch(act)
+ if("meow")
+ on_CD = handle_emote_CD()
+ if("hiss")
+ on_CD = handle_emote_CD()
+ if("purr")
+ on_CD = handle_emote_CD()
+ else
+ on_CD = 0
+
+ if(on_CD == 1)
+ return
+
+ switch(act)
+ if("meow")
+ message = "[src] meows!"
+ m_type = 2 //audible
+ playsound(src, meow_sound, 50, 0.75)
+ if("hiss")
+ message = "[src] hisses!"
+ m_type = 2
+ if("purr")
+ message = "[src] purrs."
+ m_type = 2
+ if("help")
+ to_chat(src, "scream, meow, hiss, purr")
+
+ ..()
/mob/living/simple_animal/pet/cat/Proc
name = "Proc"
@@ -168,6 +203,7 @@
icon_living = "Syndicat"
icon_dead = "Syndicat_dead"
icon_resting = "Syndicat_rest"
+ meow_sound = null //Need robo-meow.
gender = FEMALE
mutations = list(BREATHLESS)
faction = list("syndicate")
diff --git a/code/modules/mob/living/simple_animal/friendly/corgi.dm b/code/modules/mob/living/simple_animal/friendly/corgi.dm
index e26a004e2c3..7cb9d709228 100644
--- a/code/modules/mob/living/simple_animal/friendly/corgi.dm
+++ b/code/modules/mob/living/simple_animal/friendly/corgi.dm
@@ -13,6 +13,8 @@
speak_emote = list("barks", "woofs")
emote_hear = list("barks", "woofs", "yaps","pants")
emote_see = list("shakes its head", "shivers")
+ var/bark_sound = list('sound/creatures/dog_bark1.ogg','sound/creatures/dog_bark2.ogg') //Used in emote.
+ var/yelp_sound = 'sound/creatures/dog_yelp.ogg' //Used on death.
speak_chance = 1
turns_per_move = 10
butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/corgi = 3)
@@ -394,6 +396,40 @@
return valid
+/mob/living/simple_animal/pet/corgi/death(gibbed)
+ playsound(src, yelp_sound, 75, 1)
+ ..()
+
+/mob/living/simple_animal/pet/corgi/emote(act, m_type=1, message = null)
+ if(stat != CONSCIOUS)
+ return
+
+ var/on_CD = 0
+ act = lowertext(act)
+ switch(act)
+ if("bark")
+ on_CD = handle_emote_CD()
+ if("growl")
+ on_CD = handle_emote_CD()
+ else
+ on_CD = 0
+
+ if(on_CD == 1)
+ return
+
+ switch(act)
+ if("bark")
+ message = "[src] [pick(src.speak_emote)]!"
+ m_type = 2 //audible
+ playsound(src, pick(src.bark_sound), 50, 0.85)
+ if("growl")
+ message = "[src] growls!"
+ m_type = 2 //audible
+ if("help")
+ to_chat(src, "scream, bark, growl")
+
+ ..()
+
//IAN! SQUEEEEEEEEE~
/mob/living/simple_animal/pet/corgi/Ian
@@ -567,6 +603,8 @@
desc = "It's a borgi."
icon_state = "borgi"
icon_living = "borgi"
+ bark_sound = null //No robo-bjork...
+ yelp_sound = null //Or robo-Yelp.
var/emagged = 0
atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0)
minbodytemp = 0
diff --git a/code/modules/mob/living/simple_animal/friendly/diona.dm b/code/modules/mob/living/simple_animal/friendly/diona.dm
index 0ca0d287ede..49ab7f83f6d 100644
--- a/code/modules/mob/living/simple_animal/friendly/diona.dm
+++ b/code/modules/mob/living/simple_animal/friendly/diona.dm
@@ -32,7 +32,7 @@
melee_damage_upper = 8
attacktext = "bites"
attack_sound = 'sound/weapons/bite.ogg'
- var/chirp_sound = 'sound/misc/nymphchirp.ogg' //used in emote
+ var/chirp_sound = 'sound/creatures/nymphchirp.ogg' //used in emote
speed = 0
stop_automated_movement = 0
diff --git a/code/modules/mob/living/simple_animal/friendly/mouse.dm b/code/modules/mob/living/simple_animal/friendly/mouse.dm
index e6cc5fb8dc8..d5d981f5df7 100644
--- a/code/modules/mob/living/simple_animal/friendly/mouse.dm
+++ b/code/modules/mob/living/simple_animal/friendly/mouse.dm
@@ -9,7 +9,7 @@
speak_emote = list("squeeks","squeaks","squiks")
emote_hear = list("squeeks","squeaks","squiks")
emote_see = list("runs in a circle", "shakes", "scritches at something")
- var/squeak_sound = 'sound/effects/mousesqueek.ogg'
+ var/squeak_sound = 'sound/creatures/mousesqueak.ogg'
speak_chance = 1
turns_per_move = 5
see_in_dark = 6
@@ -72,7 +72,6 @@
desc = "It's a small [mouse_color] rodent, often seen hiding in maintenance areas and making a nuisance of itself."
/mob/living/simple_animal/mouse/proc/splat()
- playsound(src, squeak_sound, 40, 1)
src.health = 0
src.stat = DEAD
src.icon_dead = "mouse_[mouse_color]_splat"
@@ -100,6 +99,7 @@
/mob/living/simple_animal/mouse/death(gibbed)
// Only execute the below if we successfully died
+ playsound(src, squeak_sound, 40, 1)
. = ..(gibbed)
if(!.)
return FALSE
diff --git a/sound/creatures/cat_meow.ogg b/sound/creatures/cat_meow.ogg
new file mode 100644
index 00000000000..f52cbd2a172
Binary files /dev/null and b/sound/creatures/cat_meow.ogg differ
diff --git a/sound/misc/caw.ogg b/sound/creatures/caw.ogg
similarity index 100%
rename from sound/misc/caw.ogg
rename to sound/creatures/caw.ogg
diff --git a/sound/creatures/dog_bark1.ogg b/sound/creatures/dog_bark1.ogg
new file mode 100644
index 00000000000..809f3897c88
Binary files /dev/null and b/sound/creatures/dog_bark1.ogg differ
diff --git a/sound/creatures/dog_bark2.ogg b/sound/creatures/dog_bark2.ogg
new file mode 100644
index 00000000000..e4e27b0f862
Binary files /dev/null and b/sound/creatures/dog_bark2.ogg differ
diff --git a/sound/creatures/dog_yelp.ogg b/sound/creatures/dog_yelp.ogg
new file mode 100644
index 00000000000..22f1586014d
Binary files /dev/null and b/sound/creatures/dog_yelp.ogg differ
diff --git a/sound/misc/hoot.ogg b/sound/creatures/hoot.ogg
similarity index 100%
rename from sound/misc/hoot.ogg
rename to sound/creatures/hoot.ogg
diff --git a/sound/effects/mousesqueek.ogg b/sound/creatures/mousesqueak.ogg
similarity index 100%
rename from sound/effects/mousesqueek.ogg
rename to sound/creatures/mousesqueak.ogg
diff --git a/sound/misc/nymphchirp.ogg b/sound/creatures/nymphchirp.ogg
similarity index 100%
rename from sound/misc/nymphchirp.ogg
rename to sound/creatures/nymphchirp.ogg