Vore sound tweaks (#491)

* sound overhaul

* renaming folders correctly

* sound code and compile fixes

* sounds working

testing prey-induced loop, as well

* loops should stop upon ejections
This commit is contained in:
Poojawa
2017-04-20 09:08:26 -05:00
committed by GitHub
parent 5732fa5b2d
commit e760a8a472
137 changed files with 165 additions and 68 deletions
+5 -2
View File
@@ -4,8 +4,11 @@
#define CHANNEL_VOX 1022
#define CHANNEL_JUKEBOX 1021
//Citadel code
#define CHANNEL_PRED 1020
#define CHANNEL_PREY 1019
//THIS SHOULD ALWAYS BE THE LOWEST ONE!
//KEEP IT UPDATED
#define CHANNEL_HIGHEST_AVAILABLE 1020
#define CHANNEL_HIGHEST_AVAILABLE 1018
+103 -49
View File
@@ -10,58 +10,112 @@
/* // removing sizeplay again
GLOBAL_LIST_INIT(player_sizes_list, list("Macro" = SIZESCALE_HUGE, "Big" = SIZESCALE_BIG, "Normal" = SIZESCALE_NORMAL, "Small" = SIZESCALE_SMALL, "Tiny" = SIZESCALE_TINY))
// moved to sound.dm // Edited to make the new travis check go away
// Edited to make the new travis check go away
GLOBAL_LIST_INIT(digestion_sounds = list(
'sound/vore/digest1.ogg',
'sound/vore/digest2.ogg',
'sound/vore/digest3.ogg',
'sound/vore/digest4.ogg',
'sound/vore/digest5.ogg',
'sound/vore/digest6.ogg',
'sound/vore/digest7.ogg',
'sound/vore/digest8.ogg',
'sound/vore/digest9.ogg',
'sound/vore/digest10.ogg',
'sound/vore/digest11.ogg',
'sound/vore/digest12.ogg')
GLOBAL_LIST_INIT(death_sounds = list(
'sound/vore/death1.ogg',
'sound/vore/death2.ogg',
'sound/vore/death3.ogg',
'sound/vore/death4.ogg',
'sound/vore/death5.ogg',
'sound/vore/death6.ogg',
'sound/vore/death7.ogg',
'sound/vore/death8.ogg',
'sound/vore/death9.ogg',
'sound/vore/death10.ogg') */
GLOBAL_LIST_INIT(digest_pred, list(
'sound/vore/pred/digest_01.ogg',
'sound/vore/pred/digest_02.ogg',
'sound/vore/pred/digest_03.ogg',
'sound/vore/pred/digest_04.ogg',
'sound/vore/pred/digest_05.ogg',
'sound/vore/pred/digest_06.ogg',
'sound/vore/pred/digest_07.ogg',
'sound/vore/pred/digest_08.ogg',
'sound/vore/pred/digest_09.ogg',
'sound/vore/pred/digest_10.ogg',
'sound/vore/pred/digest_11.ogg',
'sound/vore/pred/digest_12.ogg',
'sound/vore/pred/digest_13.ogg',
'sound/vore/pred/digest_14.ogg',
'sound/vore/pred/digest_15.ogg',
'sound/vore/pred/digest_16.ogg',
'sound/vore/pred/digest_17.ogg',
'sound/vore/pred/digest_18.ogg'))
GLOBAL_LIST_INIT(vore_sounds, list(
"Gulp" = 'sound/vore/gulp.ogg',
"Insert" = 'sound/vore/insert.ogg',
"Insertion1" = 'sound/vore/insertion1.ogg',
"Insertion2" = 'sound/vore/insertion2.ogg',
"Insertion3" = 'sound/vore/insertion3.ogg',
"Schlorp" = 'sound/vore/schlorp.ogg',
"Squish1" = 'sound/vore/squish1.ogg',
"Squish2" = 'sound/vore/squish2.ogg',
"Squish3" = 'sound/vore/squish3.ogg',
"Squish4" = 'sound/vore/squish4.ogg'))
GLOBAL_LIST_INIT(struggle_sounds, list(
"Squish1" = 'sound/vore/squish1.ogg',
"Squish2" = 'sound/vore/squish2.ogg',
"Squish3" = 'sound/vore/squish3.ogg',
"Squish4" = 'sound/vore/squish4.ogg'))
GLOBAL_LIST_INIT(death_pred, list(
'sound/vore/pred/death_01.ogg',
'sound/vore/pred/death_02.ogg',
'sound/vore/pred/death_03.ogg',
'sound/vore/pred/death_04.ogg',
'sound/vore/pred/death_05.ogg',
'sound/vore/pred/death_06.ogg',
'sound/vore/pred/death_07.ogg',
'sound/vore/pred/death_08.ogg',
'sound/vore/pred/death_09.ogg',
'sound/vore/pred/death_10.ogg'))
*/
/* also moved to sound.dmi
GLOBAL_LIST_INIT(pred_vore_sounds, list(
"Gulp" = 'sound/vore/pred/swallow_01.ogg',
"Swallow" = 'sound/vore/pred/swallow_02.ogg',
"Insertion1" = 'sound/vore/pred/insertion_01.ogg',
"Insertion2" = 'sound/vore/pred/insertion_02.ogg',
"Tauric Swallow" = 'sound/vore/pred/taurswallow.ogg',
"Schlorp" = 'sound/vore/pred/schlorp.ogg',
"Squish1" = 'sound/vore/pred/squish_01.ogg',
"Squish2" = 'sound/vore/pred/squish_02.ogg',
"Squish3" = 'sound/vore/pred/squish_03.ogg',
"Squish4" = 'sound/vore/pred/squish_04.ogg',
"Rustle (cloth)" = 'sound/effects/rustle5.ogg',
"None" = null))
/*
GLOBAL_LIST_INIT(pred_struggle_sounds, list(
"Struggle1" = 'sound/vore/pred/struggle_01.ogg',
"Struggle2" = 'sound/vore/pred/struggle_02.ogg',
"Struggle3" = 'sound/vore/pred/struggle_03.ogg',
"Struggle4" = 'sound/vore/pred/struggle_04.ogg',
"Struggle5" = 'sound/vore/pred/struggle_05.ogg'))
*/
GLOBAL_LIST_INIT(prey_vore_sounds, list(
"Gulp" = 'sound/vore/prey/swallow_01.ogg',
"Swallow" = 'sound/vore/prey/swallow_02.ogg',
"Insertion1" = 'sound/vore/prey/insertion_01.ogg',
"Insertion2" = 'sound/vore/prey/insertion_02.ogg',
"Tauric Swallow" = 'sound/vore/prey/taurswallow.ogg',
"Schlorp" = 'sound/vore/prey/schlorp.ogg',
"Squish1" = 'sound/vore/prey/squish_01.ogg',
"Squish2" = 'sound/vore/prey/squish_02.ogg',
"Squish3" = 'sound/vore/prey/squish_03.ogg',
"Squish4" = 'sound/vore/prey/squish_04.ogg'))
/proc/log_debug(text)
if (config.log_debug)
diary << "\[[time_stamp()]]DEBUG: [text][log_end]"
/*
GLOBAL_LIST_INIT(prey_struggle_sounds, list(
"Struggle1" = 'sound/vore/prey/struggle_01.ogg',
"Struggle2" = 'sound/vore/prey/struggle_02.ogg',
"Struggle3" = 'sound/vore/prey/struggle_03.ogg',
"Struggle4" = 'sound/vore/prey/struggle_04.ogg',
"Struggle5" = 'sound/vore/prey/struggle_05.ogg'))
for(var/client/C in admins)
if(C.prefs.toggles & CHAT_DEBUGLOGS)
C << "DEBUG: [text]" */
GLOBAL_LIST_INIT(digest_prey, list(
"digest1" = 'sound/vore/prey/digest_01.ogg',
"digest2" = 'sound/vore/prey/digest_02.ogg',
"digest3" = 'sound/vore/prey/digest_03.ogg',
"digest4" = 'sound/vore/prey/digest_04.ogg',
"digest5" = 'sound/vore/prey/digest_05.ogg',
"digest6" = 'sound/vore/prey/digest_06.ogg',
"digest7" = 'sound/vore/prey/digest_07.ogg',
"digest8" = 'sound/vore/prey/digest_08.ogg',
"digest9" = 'sound/vore/prey/digest_09.ogg',
"digest10" = 'sound/vore/prey/digest_10.ogg',
"digest11" = 'sound/vore/prey/digest_11.ogg',
"digest12" = 'sound/vore/prey/digest_12.ogg',
"digest13" = 'sound/vore/prey/digest_13.ogg',
"digest14" = 'sound/vore/prey/digest_14.ogg',
"digest15" = 'sound/vore/prey/digest_15.ogg',
"digest16" = 'sound/vore/prey/digest_16.ogg',
"digest17" = 'sound/vore/prey/digest_17.ogg',
"digest18" = 'sound/vore/prey/digest_18.ogg'))
GLOBAL_LIST_INIT(death_prey, list(
"death1" = 'sound/vore/prey/death_01.ogg',
"death2" = 'sound/vore/prey/death_02.ogg',
"death3" = 'sound/vore/prey/death_03.ogg',
"death4" = 'sound/vore/prey/death_04.ogg',
"death5" = 'sound/vore/prey/death_05.ogg',
"death6" = 'sound/vore/prey/death_06.ogg',
"death7" = 'sound/vore/prey/death_07.ogg',
"death8" = 'sound/vore/prey/death_08.ogg',
"death9" = 'sound/vore/prey/death_09.ogg',
"death10" = 'sound/vore/prey/death_10.ogg'))
*/
+29
View File
@@ -134,6 +134,35 @@
soundin = pick('sound/machines/terminal_button01.ogg', 'sound/machines/terminal_button02.ogg', 'sound/machines/terminal_button03.ogg', \
'sound/machines/terminal_button04.ogg', 'sound/machines/terminal_button05.ogg', 'sound/machines/terminal_button06.ogg', \
'sound/machines/terminal_button07.ogg', 'sound/machines/terminal_button08.ogg')
if ("struggle_sound")
soundin = pick( 'sound/vore/pred/struggle_01.ogg','sound/vore/pred/struggle_02.ogg','sound/vore/pred/struggle_03.ogg',
'sound/vore/pred/struggle_04.ogg','sound/vore/pred/struggle_05.ogg')
if ("digest_pred")
soundin = pick( 'sound/vore/pred/digest_01.ogg','sound/vore/pred/digest_02.ogg','sound/vore/pred/digest_03.ogg',
'sound/vore/pred/digest_04.ogg','sound/vore/pred/digest_05.ogg','sound/vore/pred/digest_06.ogg',
'sound/vore/pred/digest_07.ogg','sound/vore/pred/digest_08.ogg','sound/vore/pred/digest_09.ogg',
'sound/vore/pred/digest_10.ogg','sound/vore/pred/digest_11.ogg','sound/vore/pred/digest_12.ogg',
'sound/vore/pred/digest_13.ogg','sound/vore/pred/digest_14.ogg','sound/vore/pred/digest_15.ogg',
'sound/vore/pred/digest_16.ogg','sound/vore/pred/digest_17.ogg','sound/vore/pred/digest_18.ogg')
if ("death_pred")
soundin = pick( 'sound/vore/pred/death_01.ogg','sound/vore/pred/death_02.ogg','sound/vore/pred/death_03.ogg',
'sound/vore/pred/death_04.ogg','sound/vore/pred/death_05.ogg','sound/vore/pred/death_06.ogg',
'sound/vore/pred/death_07.ogg','sound/vore/pred/death_08.ogg','sound/vore/pred/death_09.ogg',
'sound/vore/pred/death_10.ogg')
if ("digest_prey")
soundin = pick( 'sound/vore/prey/digest_01.ogg','sound/vore/prey/digest_02.ogg','sound/vore/prey/digest_03.ogg',
'sound/vore/prey/digest_04.ogg','sound/vore/prey/digest_05.ogg','sound/vore/prey/digest_06.ogg',
'sound/vore/prey/digest_07.ogg','sound/vore/prey/digest_08.ogg','sound/vore/prey/digest_09.ogg',
'sound/vore/prey/digest_10.ogg','sound/vore/prey/digest_11.ogg','sound/vore/prey/digest_12.ogg',
'sound/vore/prey/digest_13.ogg','sound/vore/prey/digest_14.ogg','sound/vore/prey/digest_15.ogg',
'sound/vore/prey/digest_16.ogg','sound/vore/prey/digest_17.ogg','sound/vore/prey/digest_18.ogg')
if ("death_prey")
soundin = pick( 'sound/vore/prey/death_01.ogg','sound/vore/prey/death_02.ogg','sound/vore/prey/death_03.ogg',
'sound/vore/prey/death_04.ogg','sound/vore/prey/death_05.ogg','sound/vore/prey/death_06.ogg',
'sound/vore/prey/death_07.ogg','sound/vore/prey/death_08.ogg','sound/vore/prey/death_09.ogg',
'sound/vore/prey/death_10.ogg')
return soundin
/proc/playsound_global(file, repeat=0, wait, channel, volume)
+7 -4
View File
@@ -11,7 +11,7 @@
/datum/belly
var/name // Name of this location
var/inside_flavor // Flavor text description of inside sight/sound/smells/feels.
var/vore_sound = 'sound/vore/gulp.ogg' // Sound when ingesting someone
var/vore_sound = 'sound/vore/pred/swallow_01.ogg' // Sound when ingesting someone
var/vore_verb = "ingest" // Verb for eating with this in messages
var/human_prey_swallow_time = 100 // Time in deciseconds to swallow /mob/living/carbon/human
var/nonhuman_prey_swallow_time = 60 // Time in deciseconds to swallow anything else
@@ -106,6 +106,7 @@
return 0
for (var/atom/movable/M in internal_contents)
M.forceMove(owner.loc) // Move the belly contents into the same location as belly's owner.
M << sound(null, repeat = 0, wait = 0, volume = 80, channel = 50)
internal_contents.Remove(M) // Remove from the belly contents
var/datum/belly/B = check_belly(owner) // This makes sure that the mob behaves properly if released into another mob
@@ -123,6 +124,7 @@
return FALSE // They weren't in this belly anyway
M.forceMove(owner.loc) // Move the belly contents into the same location as belly's owner.
M << sound(null, repeat = 0, wait = 0, volume = 80, channel = 50)
src.internal_contents.Add(M) // Remove from the belly contents
var/datum/belly/B = check_belly(owner)
if(B)
@@ -141,6 +143,7 @@
prey.forceMove(owner)
internal_contents.Add(prey)
prey << sound('sound/vore/prey/loop.ogg', repeat = 1, wait = 0, volume = 80, channel = 50)
if(inside_flavor)
prey << "<span class='notice'><B>[inside_flavor]</B></span>"
@@ -221,7 +224,7 @@
/datum/belly/proc/digestion_death(var/mob/living/M)
is_full = TRUE
internal_contents.Remove(M)
M << sound(null, repeat = 0, wait = 0, volume = 80, channel = 50)
// If digested prey is also a pred... anyone inside their bellies gets moved up.
if (is_vore_predator(M))
for (var/bellytype in M.vore_organs)
@@ -285,7 +288,7 @@
// for(var/mob/M in hearers(4, owner))
// M.visible_message(struggle_outer_message) // hearable
R.visible_message( "<span class='alert'>[struggle_outer_message]</span>", "<span class='alert'>[struggle_user_message]</span>")
playsound(R.loc, "struggle_sounds", 50, 0, -5)
playsound(R.loc, "struggle_sound", 80, 0, -5)
if(escapable && R.a_intent != "help") //If the stomach has escapable enabled and the person is actually trying to kick out
to_chat(R, "<span class='warning'>You attempt to climb out of \the [name].</span>")
@@ -296,7 +299,7 @@
release_specific_contents(R)
to_chat(R, "<span class='warning'>You climb out of \the [name].</span>")
to_chat(owner, "<span class='warning'>[R] climbs out of your [name]!</span>")
for(var/mob/M in hearers(4, owner))
for(var/mob/M in viewers(4, owner))
M.visible_message("<span class='warning'>[R] climbs out of [owner]'s [name]!</span>", 2)
return
else if(!(R in internal_contents)) //Aren't even in the belly. Quietly fail.
+16 -8
View File
@@ -18,11 +18,13 @@
//////////////////////////// DM_DIGEST ////////////////////////////
if(digest_mode == DM_DIGEST)
if(prob(50))
playsound(owner.loc, "digestion_sounds", 50, 0, -5)
for (var/mob/living/M in internal_contents)
if(prob(50))
M.stop_sound_channel(CHANNEL_PRED)
playsound(owner.loc,"digest_pred",75,0,-5,channel=CHANNEL_PRED)
M.stop_sound_channel(CHANNEL_PRED)
M.playsound_local(get_turf(M),"digest_prey",80, channel=CHANNEL_PREY)
//Pref protection!
if (!M.digestable)
continue
@@ -46,7 +48,10 @@
M.visible_message("<span class='notice'>You watch as [owner]'s form loses its additions.</span>", "<span class='warning'>[digest_alert_prey]</span>")
owner.nutrition += 400 // so eating dead mobs gives you *something*.
playsound(owner.loc, "death_gurgles", 50, 0, -5)
M.stop_sound_channel(CHANNEL_PRED)
playsound(owner.loc,"death_pred",75,0,-5,channel=CHANNEL_PRED)
M.stop_sound_channel(CHANNEL_PRED)
M.playsound_local(get_turf(M),"death_prey",80, channel=CHANNEL_PREY)
digestion_death(M)
owner.update_icons()
continue
@@ -60,10 +65,13 @@
///////////////////////////// DM_HEAL /////////////////////////////
if(digest_mode == DM_HEAL)
if(prob(50))
playsound(owner.loc, "digestion_sounds", 45, 0, -6) //very quiet gurgles, supposedly.
for (var/mob/living/M in internal_contents)
if(prob(50))
M.stop_sound_channel(CHANNEL_PRED)
playsound(owner.loc,"digest_pred",75,0,-5,channel=CHANNEL_PRED)
M.stop_sound_channel(CHANNEL_PRED)
M.playsound_local(get_turf(M),"digest_prey",80, channel=CHANNEL_PREY)
if(M.stat != DEAD)
if(owner.nutrition >= NUTRITION_LEVEL_STARVING && (M.health < M.maxHealth))
M.adjustBruteLoss(-1)
+5 -5
View File
@@ -231,7 +231,7 @@
return TRUE
selected.release_all_contents()
playsound(user, 'sound/effects/splat.ogg', 50, 1)
playsound(user, 'sound/vore/pred/escape.ogg', volume=80)
user.loc << "<span class='danger'>Everything is released from [user]!</span>"
if("Move all")
@@ -252,7 +252,7 @@
to_chat(tgt, "<span class='warning'>You're squished from [user]'s [selected] to their [B]!</span>")
for(var/mob/hearer in range(1,user))
hearer << sound('sound/vore/squish2.ogg',volume=80)
hearer << sound('sound/vore/pred/stomachmove.ogg',volume=80)
return TRUE
@@ -288,7 +288,7 @@
to_chat(tgt, "<span class='warning'>You're squished from [user]'s [lowertext(selected.name)] to their [lowertext(B.name)]!</span>")
for(var/mob/hearer in range(1,user))
hearer << sound('sound/vore/squish2.ogg',volume=80)
hearer << sound('sound/vore/pred/stomachmove.ogg',volume=80)
if(href_list["newbelly"])
if(user.vore_organs.len >= 10)
@@ -414,12 +414,12 @@
selected.vore_verb = new_verb
if(href_list["b_sound"])
var/choice = input(user,"Currently set to [selected.vore_sound]","Select Sound") in GLOB.vore_sounds + "Cancel - No Changes"
var/choice = input(user,"Currently set to [selected.vore_sound]","Select Sound") in GLOB.pred_vore_sounds + "Cancel - No Changes"
if(choice == "Cancel")
return 1
selected.vore_sound = GLOB.vore_sounds[choice]
selected.vore_sound = GLOB.pred_vore_sounds[choice]
if(href_list["b_soundtest"])
user << selected.vore_sound
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More