diff --git a/code/_helpers/global_lists_vr.dm b/code/_helpers/global_lists_vr.dm index 225c32aa482..e2c1097513a 100644 --- a/code/_helpers/global_lists_vr.dm +++ b/code/_helpers/global_lists_vr.dm @@ -68,6 +68,13 @@ var/global/list/death_sounds = list( 'sound/vore/death9.ogg', 'sound/vore/death10.ogg') +var/global/list/hunger_sounds = list( + 'sound/vore/growl1.ogg', + 'sound/vore/growl2.ogg', + 'sound/vore/growl3.ogg', + 'sound/vore/growl4.ogg', + 'sound/vore/growl5.ogg') + var/global/list/vore_sounds = list( "Gulp" = 'sound/vore/gulp.ogg', "Insert" = 'sound/vore/insert.ogg', diff --git a/code/modules/vore/eating/living_vr.dm b/code/modules/vore/eating/living_vr.dm index b7adf59dcf9..63485522d5e 100644 --- a/code/modules/vore/eating/living_vr.dm +++ b/code/modules/vore/eating/living_vr.dm @@ -16,6 +16,7 @@ var/openpanel = 0 // Is the vore panel open? var/conceal_nif = 0 // Do they wish to conceal their NIF from examine? var/nif_examine = "There's a certain spark to their eyes" //The examine text of their NIF. This is the default placeholder. + var/noisy = 0 // Toggle audible hunger. // // Hook for generic creation of stuff on new creatures @@ -178,6 +179,15 @@ if(B.internal_contents.len) B.process_Life() //AKA 'do bellymodes_vr.dm' + if(noisy > 0 && nutrition < 100 && prob(10)) + var/growlsound = pick(hunger_sounds) + if(nutrition < 50) + for(var/mob/hearer in range(1,src)) + hearer << sound(growlsound,volume=80) + else + for(var/mob/hearer in range(1,src)) + hearer << sound(growlsound,volume=35) + if(air_master.current_cycle%90 != 1) return //Occasionally do supercleanups. for (var/I in vore_organs) var/datum/belly/B = vore_organs[I] diff --git a/code/modules/vore/eating/vorepanel_vr.dm b/code/modules/vore/eating/vorepanel_vr.dm index ceea1c88bcd..61d6f2a5029 100644 --- a/code/modules/vore/eating/vorepanel_vr.dm +++ b/code/modules/vore/eating/vorepanel_vr.dm @@ -273,6 +273,7 @@ dat += "Save Prefs" dat += "Refresh" dat += "Set Flavor" + dat += "
Toggle Hunger Noises" switch(user.digestable) if(1) @@ -765,5 +766,15 @@ if(user.client.prefs_vr) user.client.prefs_vr.digestable = user.digestable + if(href_list["togglenoisy"]) + var/choice = alert(user, "Toggle audible hunger noises. Currently: [user.noisy ? "Enabled" : "Disabled"]", "", "Enable audible hunger", "Cancel", "Disable audible hunger") + switch(choice) + if("Cancel") + return 0 + if("Enable audible hunger") + user.noisy = 1 + if("Disable audible hunger") + user.noisy = 0 + //Refresh when interacted with, returning 1 makes vore_look.Topic update return 1 diff --git a/sound/vore/growl1.ogg b/sound/vore/growl1.ogg new file mode 100644 index 00000000000..6a9cef89884 Binary files /dev/null and b/sound/vore/growl1.ogg differ diff --git a/sound/vore/growl2.ogg b/sound/vore/growl2.ogg new file mode 100644 index 00000000000..17a9a945599 Binary files /dev/null and b/sound/vore/growl2.ogg differ diff --git a/sound/vore/growl3.ogg b/sound/vore/growl3.ogg new file mode 100644 index 00000000000..f5a2f75434b Binary files /dev/null and b/sound/vore/growl3.ogg differ diff --git a/sound/vore/growl4.ogg b/sound/vore/growl4.ogg new file mode 100644 index 00000000000..5fb3c2db79a Binary files /dev/null and b/sound/vore/growl4.ogg differ diff --git a/sound/vore/growl5.ogg b/sound/vore/growl5.ogg new file mode 100644 index 00000000000..95ba675a751 Binary files /dev/null and b/sound/vore/growl5.ogg differ