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:
@@ -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
@@ -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'))
|
||||
*/
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user