diff --git a/code/modules/mob/living/death.dm b/code/modules/mob/living/death.dm index f6888a21ec..11e0c56d9e 100644 --- a/code/modules/mob/living/death.dm +++ b/code/modules/mob/living/death.dm @@ -8,6 +8,8 @@ spill_organs(no_brain, no_organs, no_bodyparts) + release_vore_contents(silent = TRUE) // return of the bomb safe internals. + if(!no_bodyparts) spread_bodyparts(no_brain, no_organs) @@ -36,6 +38,7 @@ buckled.unbuckle_mob(src, force = TRUE) dust_animation() + release_vore_contents(silent = TRUE) //technically grief protection, I guess? if they're SM'd it doesn't matter seconds after anyway. spawn_dust(just_ash) QDEL_IN(src,5) // since this is sometimes called in the middle of movement, allow half a second for movement to finish, ghosting to happen and animation to play. Looks much nicer and doesn't cause multiple runtimes. diff --git a/modular_citadel/code/modules/vore/eating/belly_obj_vr.dm b/modular_citadel/code/modules/vore/eating/belly_obj_vr.dm index 87c4ba495c..e931f37520 100644 --- a/modular_citadel/code/modules/vore/eating/belly_obj_vr.dm +++ b/modular_citadel/code/modules/vore/eating/belly_obj_vr.dm @@ -170,7 +170,8 @@ if(is_wet && !recent_sound) for(var/mob/M in get_hearers_in_view(2, get_turf(owner))) if(M.client && (M.client.prefs.cit_toggles & EATING_NOISES)) - playsound(get_turf(owner),"[src.vore_sound]",50,0,-5,0,ignore_walls = FALSE,channel=CHANNEL_PRED) + var/sound/devourments = GLOB.vore_sounds[vore_sound] + playsound(get_turf(owner),devourments,50,0,-5,0,ignore_walls = FALSE,channel=CHANNEL_PRED) recent_sound = TRUE //Messages if it's a mob @@ -207,7 +208,8 @@ count++ for(var/mob/M in get_hearers_in_view(2, get_turf(owner))) if(M.client && (M.client.prefs.cit_toggles & EATING_NOISES)) - playsound(get_turf(owner),"[src.release_sound]",50,0,-5,0,ignore_walls = FALSE,channel=CHANNEL_PRED) + var/sound/releasement = GLOB.release_sounds[release_sound] + playsound(get_turf(owner),releasement,50,0,-5,0,ignore_walls = FALSE,channel=CHANNEL_PRED) //Clean up our own business items_preserved.Cut() @@ -232,7 +234,8 @@ items_preserved -= M for(var/mob/H in get_hearers_in_view(2, get_turf(owner))) if(H.client && (H.client.prefs.cit_toggles & EATING_NOISES)) - playsound(get_turf(owner),"[src.release_sound]",50,0,-5,0,ignore_walls = FALSE,channel=CHANNEL_PRED) + var/sound/releasement = GLOB.release_sounds[release_sound] + playsound(get_turf(owner),releasement,50,0,-5,0,ignore_walls = FALSE,channel=CHANNEL_PRED) if(istype(M,/mob/living)) var/mob/living/ML = M @@ -315,7 +318,8 @@ if(!silent) for(var/mob/M in get_hearers_in_view(5, get_turf(owner))) if(M.client && (M.client.prefs.cit_toggles & EATING_NOISES)) - playsound(get_turf(owner),"[src.vore_sound]",50,0,-5,0,ignore_walls = FALSE,channel=CHANNEL_PRED) + var/sound/devourments = GLOB.vore_sounds[vore_sound] + playsound(get_turf(owner),devourments,50,0,-5,0,ignore_walls = FALSE,channel=CHANNEL_PRED) owner.updateVRPanel() for(var/mob/living/M in contents) M.updateVRPanel() diff --git a/modular_citadel/code/modules/vore/eating/vorepanel_vr.dm b/modular_citadel/code/modules/vore/eating/vorepanel_vr.dm index 1a1ec27093..c83ee788cb 100644 --- a/modular_citadel/code/modules/vore/eating/vorepanel_vr.dm +++ b/modular_citadel/code/modules/vore/eating/vorepanel_vr.dm @@ -116,6 +116,8 @@ spanstyle = "color:purple;" if(DM_ABSORB) spanstyle = "color:purple;" + if(DM_DRAGON) + spanstyle = "color:blue;" dat += " ([B.contents.len])" @@ -550,9 +552,9 @@ selected.release_sound = choice if(href_list["b_releasesoundtest"]) - var/soundfile = selected.release_sound - if(soundfile) - user << soundfile + var/sound/releasetest = GLOB.release_sounds[selected.release_sound] + if(releasetest) + user << releasetest if(href_list["b_sound"]) var/choice = input(user,"Currently set to [selected.vore_sound]","Select Sound") as null|anything in GLOB.vore_sounds @@ -563,9 +565,9 @@ selected.vore_sound = choice if(href_list["b_soundtest"]) - var/soundfile = selected.vore_sound - if(soundfile) - user << soundfile + var/sound/voretest = GLOB.vore_sounds[selected.vore_sound] + if(voretest) + user << voretest if(href_list["b_tastes"]) selected.can_taste = !selected.can_taste