diff --git a/GainStation13/code/game/sound.dm b/GainStation13/code/game/sound.dm
new file mode 100644
index 00000000..9546ce94
--- /dev/null
+++ b/GainStation13/code/game/sound.dm
@@ -0,0 +1,32 @@
+/proc/gs13_get_sfx(soundin)
+ if(istext(soundin))
+ switch(soundin)
+ if("belch")
+ soundin = pick( 'GainStation13/sound/voice/belch1.ogg',
+ 'GainStation13/sound/voice/belch2.ogg',
+ 'GainStation13/sound/voice/belch3.ogg',
+ 'GainStation13/sound/voice/belch4.ogg',
+ 'GainStation13/sound/voice/belch5.ogg',
+ 'GainStation13/sound/voice/belch6.ogg')
+ if("brap")
+ soundin = pick( 'GainStation13/sound/voice/brap1.ogg',
+ 'GainStation13/sound/voice/brap2.ogg',
+ 'GainStation13/sound/voice/brap3.ogg',
+ 'GainStation13/sound/voice/brap4.ogg',
+ 'GainStation13/sound/voice/brap5.ogg',
+ 'GainStation13/sound/voice/brap6.ogg',
+ 'GainStation13/sound/voice/brap7.ogg',
+ 'GainStation13/sound/voice/brap8.ogg')
+ if("burp")
+ soundin = pick( 'GainStation13/sound/voice/burp1.ogg')
+ if("burunyu")
+ soundin = pick( 'GainStation13/sound/voice/funnycat.ogg')
+ if("fart")
+ soundin = pick( 'GainStation13/sound/voice/fart1.ogg',
+ 'GainStation13/sound/voice/fart2.ogg',
+ 'GainStation13/sound/voice/fart3.ogg',
+ 'GainStation13/sound/voice/fart4.ogg')
+ if("gurgle")
+ soundin = pick( 'GainStation13/sound/voice/gurgle1.ogg',
+ 'GainStation13/sound/voice/gurgle2.ogg')
+ return soundin
diff --git a/GainStation13/code/mobs/shitass.dm b/GainStation13/code/mobs/shitass.dm
deleted file mode 100644
index 6abe0025..00000000
--- a/GainStation13/code/mobs/shitass.dm
+++ /dev/null
@@ -1,50 +0,0 @@
-//This mob is now shitass
-//code probably made by quotefox, idk.
-
-/mob/living/simple_animal/hostile/shitass
- name = "Shitass"
- desc = "The ultimate lifeform, Shitass can destroy his enemies by simply punching them."
- icon = 'gainstation/icons/mobs/shitass.dmi'
- icon_state = "shitass"
- icon_living = "shitass"
- icon_dead = "idle"
- gender = MALE
- speak_chance = 0
- turns_per_move = 2
- turns_per_move = 3
- maxHealth = 999
- health = 999
- see_in_dark = 2
- response_help = "pets"
- response_disarm = "pushes aside"
- response_harm = "attacks"
- melee_damage_lower = 10
- melee_damage_upper = 40
- attacktext = "attacks"
- attack_sound = 'sound/weapons/punch4.ogg'
- faction = list("hostile")
- ranged = 1
- harm_intent_damage = 56
- obj_damage = 60
- a_intent = INTENT_HARM
- ventcrawler = 1
- death_sound = 'sound/voice/ed209_20sec.ogg'
- deathmessage = "W-What, how did you? What the fuck."
- move_to_delay = 8
-
-
- atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0)
- minbodytemp = 150
- maxbodytemp = 500
- do_footstep = TRUE
-
-/mob/living/simple_animal/hostile/carrion/OpenFire(atom/the_target)
- var/dist = get_dist(src,the_target)
- Beam(the_target, "tentacle", time=dist*2, maxdistance=dist, beam_sleep_time = 5)
- the_target.attack_animal(src)
-
-/mob/living/simple_animal/hostile/carrion/Initialize()
-//Move the sprite into position, cant use Pixel_X and Y, causes issues with the tenticle sprite!
- ..()
- var/matrix/M = src.transform
- src.transform = M.Translate(-32,-32)
\ No newline at end of file
diff --git a/GainStation13/code/modules/mob/living/brap.dm b/GainStation13/code/modules/mob/living/brap.dm
deleted file mode 100644
index b51e368b..00000000
--- a/GainStation13/code/modules/mob/living/brap.dm
+++ /dev/null
@@ -1,39 +0,0 @@
-/datum/emote/living/brap
- key = "brap"
- key_third_person = "braps"
- message = " "
- emote_type = EMOTE_AUDIBLE
-
-/datum/emote/living/brap/select_message_type(mob/user)
- return pick("farts loudly!", "cuts a fat one!", "rips absolute ass!")
-
-
-
-/datum/emote/living/brap/run_emote(mob/living/user, params)
- if(!ishuman(user))
- return FALSE
-
- var/fartSoundChoice = rand(7)
- switch(fartSoundChoice)
- if(0)
- playsound(user, 'GainStation13/sound/voice/brap3.ogg', 50, 1, -1)
- if(1)
- playsound(user, 'GainStation13/sound/voice/brap4.ogg', 50, 1, -1)
- if(2)
- playsound(user, 'GainStation13/sound/voice/brap2.ogg', 50, 1, -1)
- if(3)
- playsound(user, 'GainStation13/sound/voice/brap1.ogg', 50, 1, -1)
- if(4)
- playsound(user, 'GainStation13/sound/voice/brap5.ogg', 50, 1, -1)
- if(5)
- playsound(user, 'GainStation13/sound/voice/brap6.ogg', 50, 1, -1)
- if(6)
- playsound(user, 'GainStation13/sound/voice/brap7.ogg', 50, 1, -1)
- if(7)
- playsound(user, 'GainStation13/sound/voice/brap8.ogg', 50, 1, -1)
-
- . = ..()
-
-
-
-
diff --git a/GainStation13/code/modules/mob/living/emote.dm b/GainStation13/code/modules/mob/living/emote.dm
index 35a21417..f95c92c0 100644
--- a/GainStation13/code/modules/mob/living/emote.dm
+++ b/GainStation13/code/modules/mob/living/emote.dm
@@ -1,3 +1,74 @@
+/datum/emote/living/proc/make_noise(var/mob/living/user, noise_name, pref_toggle)
+ if(!ishuman(user))
+ return FALSE
+
+ var/turf/source = get_turf(user)
+ var/sound/noise = sound(gs13_get_sfx(noise_name))
+ for(var/mob/living/M in get_hearers_in_view(3, source))
+ if ((pref_toggle == 0) || (M.client && M.client.prefs.cit_toggles & pref_toggle))
+ SEND_SOUND(M, noise)
+
+/datum/emote/living/belch
+ key = "belch"
+ key_third_person = "belches loudly"
+ message = "belches"
+ emote_type = EMOTE_AUDIBLE
+ //god hates me for this -Metha
+
+/datum/emote/living/belch/run_emote(mob/living/user, params)
+ if(!ishuman(user))
+ return FALSE
+
+ make_noise(user, "belch", BURPING_NOISES)
+
+ . = ..()
+
+/datum/emote/living/brap
+ key = "brap"
+ key_third_person = "braps"
+ message = " "
+ emote_type = EMOTE_AUDIBLE
+
+/datum/emote/living/brap/select_message_type(var/mob/living/user)
+ return pick("farts loudly!", "cuts a fat one!", "rips absolute ass!")
+
+/datum/emote/living/brap/run_emote(var/mob/living/user, params)
+ if(!ishuman(user))
+ return FALSE
+
+ make_noise(user, "brap", FARTING_NOISES)
+
+ . = ..()
+
+/datum/emote/living/burp
+ key = "burp"
+ key_third_person = "burps"
+ message = "burps."
+ emote_type = EMOTE_AUDIBLE
+
+/datum/emote/living/burp/run_emote(mob/living/user, params)
+ if(!ishuman(user))
+ return FALSE
+
+ make_noise(user, "burp", BURPING_NOISES)
+
+ . = ..()
+
+/datum/emote/living/fart
+ key = "fart"
+ key_third_person = "farts"
+ message = "farts"
+ emote_type = EMOTE_AUDIBLE
+ //god hates me for this -Metha
+
+/datum/emote/living/fart/run_emote(mob/living/user, params)
+ if(!ishuman(user))
+ return FALSE
+
+ make_noise(user, "fart", FARTING_NOISES)
+
+ . = ..()
+
/datum/emote/living/gurgle
key = "gurgle"
key_third_person = "gurgles"
@@ -8,46 +79,10 @@
if(!ishuman(user))
return FALSE
- if(prob(50))
- playsound(user, 'GainStation13/sound/voice/gurgle1.ogg', 50, 1, -1)
- else
- playsound(user, 'GainStation13/sound/voice/gurgle2.ogg', 50, 1, -1)
+ make_noise(user, "gurgle", 0)
. = ..()
-/datum/emote/living/burp/run_emote(mob/living/user, params)
- if(!ishuman(user))
- return FALSE
-
- playsound(user, 'GainStation13/sound/voice/burp1.ogg', 50, 1, -1)
- . = ..()
-
-/datum/emote/living/fart
- key = "fart"
- key_third_person = "farts"
- message = "farts"
- emote_type = EMOTE_AUDIBLE
-
-
- //god hates me for this -Metha
-
-/datum/emote/living/fart/run_emote(mob/living/user, params)
- if(!ishuman(user))
- return FALSE
-
- var/fartSoundChoice = rand(3)
- switch(fartSoundChoice)
- if (0)
- playsound(user, 'GainStation13/sound/voice/fart3.ogg', 50, 1, -1)
- if (1)
- playsound(user, 'GainStation13/sound/voice/fart4.ogg', 50, 1, -1)
- if (2)
- playsound(user, 'GainStation13/sound/voice/fart2.ogg', 50, 1, -1)
- if (3)
- playsound(user, 'GainStation13/sound/voice/fart1.ogg', 50, 1, -1)
-
- . = ..()
-
//Shhh... It's a secret! Don't tell or I'll steal your legs
/datum/emote/living/burunyu
key = "burunyu"
@@ -56,35 +91,9 @@
emote_type = EMOTE_AUDIBLE
/datum/emote/living/burunyu/run_emote(mob/living/user, params)
- playsound(user, 'GainStation13/sound/voice/funnycat.ogg', 50, 1, -1)
- . = ..()
-
-
-/datum/emote/living/belch
- key = "belch"
- key_third_person = "belches loudly"
- message = "belches"
- emote_type = EMOTE_AUDIBLE
-
- //god hates me for this -Metha
-
-/datum/emote/living/belch/run_emote(mob/living/user, params)
if(!ishuman(user))
- return FALSE
-
- var/fartSoundChoice = rand(5)
- switch(fartSoundChoice)
- if(0)
- playsound(user, 'GainStation13/sound/voice/belch3.ogg', 50, 1, -1)
- if(1)
- playsound(user, 'GainStation13/sound/voice/belch4.ogg', 50, 1, -1)
- if(2)
- playsound(user, 'GainStation13/sound/voice/belch2.ogg', 50, 1, -1)
- if(3)
- playsound(user, 'GainStation13/sound/voice/belch1.ogg', 50, 1, -1)
- if(4)
- playsound(user, 'GainStation13/sound/voice/belch5.ogg', 50, 1, -1)
- if(5)
- playsound(user, 'GainStation13/sound/voice/belch6.ogg', 50, 1, -1)
+ return FALSE
- . = ..()
+ make_noise(user, "burunyu", 0)
+
+ . = ..()
diff --git a/_maps/RandomRuins/LavaRuins/caloriteshrine.dmm b/_maps/RandomRuins/LavaRuins/caloriteshrine.dmm
new file mode 100644
index 00000000..6d159f44
--- /dev/null
+++ b/_maps/RandomRuins/LavaRuins/caloriteshrine.dmm
@@ -0,0 +1,59 @@
+"a" = (/turf/open/floor/plating/asteroid/basalt,/area/lavaland/surface/outdoors)
+"b" = (/mob/living/simple_animal/butterfly,/turf/open/floor/wood,/area/ruin/unpowered/caloriteshrine)
+"c" = (/turf/open/floor/plasteel/stairs/right,/area/ruin/unpowered/caloriteshrine)
+"f" = (/turf/open/floor/plasteel/stairs/medium,/area/ruin/unpowered/caloriteshrine)
+"h" = (/obj/structure/flora/tree/jungle,/turf/open/floor/grass,/area/ruin/unpowered/caloriteshrine)
+"j" = (/turf/open/floor/plasteel/stairs/left,/area/ruin/unpowered/caloriteshrine)
+"l" = (/obj/structure/flora/ausbushes/sparsegrass,/turf/open/floor/grass,/area/ruin/unpowered/caloriteshrine)
+"p" = (/obj/structure/flora/ausbushes/genericbush,/turf/open/floor/grass,/area/ruin/unpowered/caloriteshrine)
+"r" = (/turf/open/indestructible/cobble/side{dir = 4},/area/ruin/unpowered/caloriteshrine)
+"s" = (/turf/open/floor/wood,/area/ruin/unpowered/caloriteshrine)
+"t" = (/obj/structure/flora/ausbushes/grassybush,/turf/open/floor/grass,/area/ruin/unpowered/caloriteshrine)
+"u" = (/turf/closed/wall/mineral/calorite,/area/lavaland/surface/outdoors)
+"y" = (/obj/effect/turf_decal/loading_area{icon_state = "drain"; name = "drain"},/turf/open/water,/area/ruin/unpowered/caloriteshrine)
+"z" = (/turf/open/floor/mineral/crimsonstone_floor,/area/ruin/unpowered/caloriteshrine)
+"E" = (/turf/open/floor/grass,/area/ruin/unpowered/caloriteshrine)
+"G" = (/turf/closed/wall/mineral/calorite,/area/ruin/unpowered/caloriteshrine)
+"H" = (/turf/open/indestructible/cobble,/area/ruin/unpowered/caloriteshrine)
+"M" = (/obj/structure/flora/ausbushes/brflowers,/turf/open/floor/grass,/area/ruin/unpowered/caloriteshrine)
+"N" = (/turf/open/water,/area/ruin/unpowered/caloriteshrine)
+"O" = (/turf/open/indestructible/cobble/side{dir = 8},/area/ruin/unpowered/caloriteshrine)
+"Q" = (/obj/structure/flora/tree/jungle/small,/obj/structure/flora/ausbushes/sparsegrass,/turf/open/floor/grass,/area/ruin/unpowered/caloriteshrine)
+"R" = (/obj/structure/flora/ausbushes/reedbush,/turf/open/water,/area/ruin/unpowered/caloriteshrine)
+"S" = (/mob/living/simple_animal/butterfly,/turf/open/floor/grass,/area/ruin/unpowered/caloriteshrine)
+"T" = (/obj/structure/statue/calorite/fatty{anchored = 1},/obj/item/flashlight/lantern{anchored = 1; icon_state = null; icon = null},/turf/open/floor/mineral/calorite/strong,/area/ruin/unpowered/caloriteshrine)
+"U" = (/obj/effect/turf_decal/loading_area{icon_state = "drain"; name = "drain"},/turf/closed/wall/mineral/calorite,/area/ruin/unpowered/caloriteshrine)
+"V" = (/obj/structure/flora/tree/jungle/small,/turf/open/floor/grass,/area/ruin/unpowered/caloriteshrine)
+"X" = (/turf/template_noop,/area/template_noop)
+
+(1,1,1) = {"
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+XXXXXXXXXXXXXXXaaaaaaaaaaaaaaaXXXXXXXXXXXXXXX
+XXXXXXXXXXXXXaaaGGGGGGGGGGGGGaaXXXXXXXXXXXXXX
+XXXXXXXXXXXXXaaGGESlEEEEEEEEGGaaXXXXXaaaaXXXX
+XXXXXXXXXXXXXaGGEEEEzzzzzEEEEGGaaaXXaaaaaaXXX
+XXXXXXXXXXXXaaGEEEEzzzzzzzEEEEGaaaXaaaaaaaXXX
+XXXXXXXXXXXXaaGEEEEzzzzzzzEEESGaaaaaaaaaaaXXX
+XXXXXXXXXXXXaaGEEhEzzzzzzzlhEEGaaaaaaaaaaaXXX
+XXXXXXXXXXXXaaGESlEzzzzzzzEElEGaaaaaaaaaaaXXX
+XXXXXXXXXXXXaaGEEEEzzzzzzzEEEEGaaaaaaaaaaaXXX
+XXXXXXXXXXXXaaGGlEEEzzzzzEEEEGGaaaaaaaaaaXXXX
+XXXXXXXXXXXaaaGGGGGEEzzzlEGGGGGaaaaaaaaaXXXXX
+XXXXXXXXXXXaaGGEEtUUUjfcUUUEMEGGaaaaaaXXXXXXX
+XXXXXXXXXXXaaGEtEENNNOHrNNNEEStGaaaaXXXXXXXXX
+XXXXXXXXXXaaGGEEQENTNOHrNTNlEEEGGaaaXXXXXXXXX
+XXXXXXXXXXaaGMESEMNNNOHrNNNEEEEEGaaaXXXXXXXXX
+XXXXXXXXXXaaGEEEEEsssOHrsssEEEQEGaaaXXXXXXXXX
+XXXXXXXXXXaaGEEEEEsssOHrssbEEEEEGaaaXXXXXXXXX
+XXXXXXXXXaaaGEMEEEsssOHrsssEEEMEGaaaXXXXXXXXX
+XXXXXXXXXaaaGGEEtENNROHrNNNEVEEGGaaaXXXXXXXXX
+XXXXXXXXXaaaaGtEESNTNOHrNTNEtSEGaaaXXXXXXXXXX
+XXXXXXXXXXaaaGGEEEyyyOHryyyEEEGGaaXXXXXXXXXXX
+XXXXXXXXXXXaaaGGEpGGGGHGGGGEMGGaaXXXXXXXXXXXX
+XXXXXXXXXXXXaaaGGGGaaaaaaaGGGGaaaXXXXXXXXXXXX
+XXXXXXXXXXXXXaaaaaaauaaauaaaaaaaXXXXXXXXXXXXX
+XXXXXXXXXXXXXXaaaaaaaaaaaaaaaaaaXXXXXXXXXXXXX
+XXXXXXXXXXXXXXXaaaaaaaaaaaaaaaaaXXXXXXXXXXXXX
+XXXXXXXXXXXXXXXXXaaauaaauaaaaaaXXXXXXXXXXXXXX
+XXXXXXXXXXXXXXXXXXXaaaaaaaaaaXXXXXXXXXXXXXXXX
+"}
diff --git a/code/__DEFINES/citadel_defines.dm b/code/__DEFINES/citadel_defines.dm
index 859824ee..aa0efeb6 100644
--- a/code/__DEFINES/citadel_defines.dm
+++ b/code/__DEFINES/citadel_defines.dm
@@ -125,15 +125,19 @@
#define STAMINA_SOFTCRIT_TRADITIONAL 0 //same as STAMINA_SOFTCRIT except for the more traditional health calculations
#define STAMINA_CRIT_TRADITIONAL -40 //ditto, but for STAMINA_CRIT
-#define CRAWLUNDER_DELAY 30 //Delay for crawling under a standing mob
+#define CRAWLUNDER_DELAY 30 //Delay for crawling under a standing mob
//Citadel toggles because bitflag memes
#define MEDIHOUND_SLEEPER (1<<0)
-#define EATING_NOISES (1<<1)
-#define DIGESTION_NOISES (1<<2)
-#define TRASH_FORCEFEED (1<<3)
+#define EATING_NOISES (1<<1) //Vore
+#define DIGESTION_NOISES (1<<2) //Vore
-#define TOGGLES_CITADEL (EATING_NOISES|DIGESTION_NOISES)
+#define TRASH_FORCEFEED (1<<3) //GS13
+#define FARTING_NOISES (1<<4) //GS13
+#define BURPING_NOISES (1<<5) //GS13
+
+//toggles on by default
+#define TOGGLES_CITADEL (EATING_NOISES|DIGESTION_NOISES|FARTING_NOISES|BURPING_NOISES)
//component stuff
#define COMSIG_COMBAT_TOGGLED "combatmode_toggled" //called by combat mode toggle on all equipped items. args: (mob/user, combatmode)
diff --git a/code/__DEFINES/sound.dm b/code/__DEFINES/sound.dm
index ccee8f3c..bd54ef58 100644
--- a/code/__DEFINES/sound.dm
+++ b/code/__DEFINES/sound.dm
@@ -10,7 +10,6 @@
#define CHANNEL_BUZZ 1018
#define CHANNEL_BICYCLE 1017
-
//CIT CHANNELS - TRY NOT TO REGRESS
#define CHANNEL_PRED 1010
#define CHANNEL_DIGEST 1009
@@ -19,17 +18,17 @@
//Hyperstation Channels
#define CHANNEL_REACTOR_ALERT 1007 // reactor sounds
+//GS13 Channels
+#define CHANNEL_BURP 1006
+#define CHANNEL_FART 1005
//THIS SHOULD ALWAYS BE THE LOWEST ONE!
//KEEP IT UPDATED
-
-#define CHANNEL_HIGHEST_AVAILABLE 1006 //CIT CHANGE - COMPENSATES FOR VORESOUND CHANNELS
-
+#define CHANNEL_HIGHEST_AVAILABLE 1004
#define SOUND_MINIMUM_PRESSURE 10
#define FALLOFF_SOUNDS 1
-
//Ambience types
#define GENERIC list('sound/ambience/ambigen1.ogg','sound/ambience/ambigen3.ogg',\
@@ -136,4 +135,4 @@
#define PICKUP_SOUND_VOLUME 40
#define DROP_SOUND_VOLUME 50
-#define YEET_SOUND_VOLUME 90
\ No newline at end of file
+#define YEET_SOUND_VOLUME 90
diff --git a/code/game/area/areas/ruins/lavaland.dm b/code/game/area/areas/ruins/lavaland.dm
index 99245f71..5d327f3d 100644
--- a/code/game/area/areas/ruins/lavaland.dm
+++ b/code/game/area/areas/ruins/lavaland.dm
@@ -93,3 +93,12 @@
//ash walker nest
/area/ruin/unpowered/ash_walkers
icon_state = "red"
+
+
+
+
+// GS13 CONTENT STARTS HERE!!!
+
+/area/ruin/unpowered/caloriteshrine
+ name = "Calorite Shrine"
+ icon_state = "away"
\ No newline at end of file
diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm
index 18d631b6..c0e71527 100644
--- a/code/modules/client/preferences.dm
+++ b/code/modules/client/preferences.dm
@@ -1021,15 +1021,18 @@ GLOBAL_LIST_EMPTY(preferences_datums)
dat += "Exhibitionist:[features["exhibitionist"] == TRUE ? "Yes" : "No"]
"
dat += "Hear Vore Sounds: [(cit_toggles & EATING_NOISES) ? "Yes" : "No"]
"
dat += "Hear Vore Digestion Sounds: [(cit_toggles & DIGESTION_NOISES) ? "Yes" : "No"]
"
- dat += "Allow trash forcefeeding (requires Trashcan quirk) [(cit_toggles & TRASH_FORCEFEED) ? "Yes" : "No"]
"
dat += "Lewdchem:[lewdchem == TRUE ? "Enabled" : "Disabled"]
"
dat += "Widescreen: [widescreenpref ? "Enabled ([CONFIG_GET(string/default_view)])" : "Disabled (15x15)"]
"
dat += "Auto stand: [autostand ? "Enabled" : "Disabled"]
"
dat += "Screen Shake: [(screenshake==100) ? "Full" : ((screenshake==0) ? "None" : "[screenshake]")]
"
if (user && user.client && !user.client.prefs.screenshake==0)
dat += "Damage Screen Shake: [(damagescreenshake==1) ? "On" : ((damagescreenshake==0) ? "Off" : "Only when down")]
"
- //GS13 stuff goes here
+
+ //GS13
dat += "
GS13 Preferences
"
+ dat += "Hear Burp Sounds: [(cit_toggles & BURPING_NOISES) ? "Yes" : "No"]
"
+ dat += "Hear Fart Sounds: [(cit_toggles & FARTING_NOISES) ? "Yes" : "No"]
"
+ dat += "Trashcan Forcefeeding: [(cit_toggles & TRASH_FORCEFEED) ? "Yes" : "No"]
"
dat += "Maximum Weight:[max_weight == FALSE ? "None" : max_weight]
"
dat += "NonCon - Weight Gain:[noncon_weight_gain == TRUE ? "Enabled" : "Disabled"]
"
@@ -2797,14 +2800,16 @@ GLOBAL_LIST_EMPTY(preferences_datums)
// Citadel edit - Prefs don't work outside of this. :c
if("hound_sleeper")
cit_toggles ^= MEDIHOUND_SLEEPER
-
if("toggleeatingnoise")
cit_toggles ^= EATING_NOISES
-
if("toggledigestionnoise")
cit_toggles ^= DIGESTION_NOISES
- if("toggleforcefeedtrash") //gs13 added for flint
+ if("toggleforcefeedtrash") //GS13
cit_toggles ^= TRASH_FORCEFEED
+ if("toggleburpingnoise") //GS13
+ cit_toggles ^= BURPING_NOISES
+ if("togglefartingnoise") //GS13
+ cit_toggles ^= FARTING_NOISES
//END CITADEL EDIT
if("ambientocclusion")
diff --git a/code/modules/mob/living/emote.dm b/code/modules/mob/living/emote.dm
index 01aedf2b..68464e5a 100644
--- a/code/modules/mob/living/emote.dm
+++ b/code/modules/mob/living/emote.dm
@@ -16,18 +16,6 @@
message_param = "bows to %t."
restraint_check = TRUE
-/datum/emote/living/burp
- key = "burp"
- key_third_person = "burps"
- message = "burps."
- emote_type = EMOTE_AUDIBLE
-
-/datum/emote/living/belch
- key = "belch"
- key_third_person = "belches loudly"
- message = "belches."
- emote_type = EMOTE_AUDIBLE
-
/datum/emote/living/choke
key = "choke"
key_third_person = "chokes"
diff --git a/hyperstation/icons/obj/genitals/belly.dmi b/hyperstation/icons/obj/genitals/belly.dmi
index 09f3f9b1..cd659864 100644
Binary files a/hyperstation/icons/obj/genitals/belly.dmi and b/hyperstation/icons/obj/genitals/belly.dmi differ
diff --git a/hyperstation/icons/obj/genitals/butt.dmi b/hyperstation/icons/obj/genitals/butt.dmi
index 3addf814..713c0e18 100644
Binary files a/hyperstation/icons/obj/genitals/butt.dmi and b/hyperstation/icons/obj/genitals/butt.dmi differ
diff --git a/icons/turf/areas.dmi b/icons/turf/areas.dmi
index ca1204cf..f775ebcc 100644
Binary files a/icons/turf/areas.dmi and b/icons/turf/areas.dmi differ
diff --git a/modular_citadel/code/modules/client/preferences.dm b/modular_citadel/code/modules/client/preferences.dm
index db072732..6b8c846b 100644
--- a/modular_citadel/code/modules/client/preferences.dm
+++ b/modular_citadel/code/modules/client/preferences.dm
@@ -19,9 +19,13 @@
var/lewdchem = TRUE
//vore prefs
+ var/hound_sleeper = TRUE
var/toggleeatingnoise = TRUE
var/toggledigestionnoise = TRUE
- var/hound_sleeper = TRUE
+ //GS13
+ var/toggleburpingnoise = TRUE
+ var/togglefartingnoise = TRUE
+ //default toggles
var/cit_toggles = TOGGLES_CITADEL
//Hyper prefs
diff --git a/modular_citadel/code/modules/client/preferences_toggles.dm b/modular_citadel/code/modules/client/preferences_toggles.dm
index 350c19ab..9d91c09c 100644
--- a/modular_citadel/code/modules/client/preferences_toggles.dm
+++ b/modular_citadel/code/modules/client/preferences_toggles.dm
@@ -9,7 +9,6 @@ TOGGLE_CHECKBOX(/datum/verbs/menu/Settings/Sound, toggleeatingnoise)()
/datum/verbs/menu/Settings/Sound/toggleeatingnoise/Get_checked(client/C)
return C.prefs.cit_toggles & EATING_NOISES
-
TOGGLE_CHECKBOX(/datum/verbs/menu/Settings/Sound, toggledigestionnoise)()
set name = "Toggle Digestion Noises"
set category = "Preferences"
@@ -21,6 +20,28 @@ TOGGLE_CHECKBOX(/datum/verbs/menu/Settings/Sound, toggledigestionnoise)()
/datum/verbs/menu/Settings/Sound/toggledigestionnoise/Get_checked(client/C)
return C.prefs.cit_toggles & DIGESTION_NOISES
+TOGGLE_CHECKBOX(/datum/verbs/menu/Settings/Sound, toggleburpingnoise)()
+ set name = "Toggle Burping Noises"
+ set category = "Preferences"
+ set desc = "Hear Burping noises"
+ usr.client.prefs.cit_toggles ^= BURPING_NOISES
+ usr.client.prefs.save_preferences()
+ usr.stop_sound_channel(CHANNEL_BURP)
+ to_chat(usr, "You will [(usr.client.prefs.cit_toggles & BURPING_NOISES) ? "now" : "no longer"] hear burping noises.")
+/datum/verbs/menu/Settings/Sound/toggleburpingnoise/Get_checked(client/C)
+ return C.prefs.cit_toggles & BURPING_NOISES
+
+TOGGLE_CHECKBOX(/datum/verbs/menu/Settings/Sound, togglefartingnoise)()
+ set name = "Toggle Farting Noises"
+ set category = "Preferences"
+ set desc = "Hear Farting noises"
+ usr.client.prefs.cit_toggles ^= FARTING_NOISES
+ usr.client.prefs.save_preferences()
+ usr.stop_sound_channel(CHANNEL_FART)
+ to_chat(usr, "You will [(usr.client.prefs.cit_toggles & FARTING_NOISES) ? "now" : "no longer"] hear farting noises.")
+/datum/verbs/menu/Settings/Sound/togglefartingnoise/Get_checked(client/C)
+ return C.prefs.cit_toggles & FARTING_NOISES
+
TOGGLE_CHECKBOX(/datum/verbs/menu/Settings/Sound, togglehoundsleeper)()
set name = "Toggle Voracious Hound Sleepers"
set category = "Preferences"
diff --git a/modular_citadel/icons/mob/mam_ears.dmi b/modular_citadel/icons/mob/mam_ears.dmi
index bb25e374..f31d52f0 100644
Binary files a/modular_citadel/icons/mob/mam_ears.dmi and b/modular_citadel/icons/mob/mam_ears.dmi differ
diff --git a/sound/music/Sam.ogg b/sound/music/Sam.ogg
deleted file mode 100644
index c7c5e77d..00000000
Binary files a/sound/music/Sam.ogg and /dev/null differ
diff --git a/sound/music/byebyethere.ogg b/sound/music/byebyethere.ogg
new file mode 100644
index 00000000..8a1acdd6
Binary files /dev/null and b/sound/music/byebyethere.ogg differ
diff --git a/sound/music/davesprite.ogg b/sound/music/davesprite.ogg
new file mode 100644
index 00000000..8ef5df59
Binary files /dev/null and b/sound/music/davesprite.ogg differ
diff --git a/sound/music/eek.ogg b/sound/music/eek.ogg
new file mode 100644
index 00000000..02886613
Binary files /dev/null and b/sound/music/eek.ogg differ
diff --git a/sound/music/nuclear_mission_jam.ogg b/sound/music/nuclear_mission_jam.ogg
new file mode 100644
index 00000000..8f12f365
Binary files /dev/null and b/sound/music/nuclear_mission_jam.ogg differ
diff --git a/strings/round_start_sounds.txt b/strings/round_start_sounds.txt
index cc7986e6..034e28d3 100644
--- a/strings/round_start_sounds.txt
+++ b/strings/round_start_sounds.txt
@@ -29,7 +29,10 @@ sound/music/thewizard.ogg
sound/music/thesettler.ogg
sound/music/thelessImichael.ogg
sound/music/PigstepSilva.ogg
-sound/music/Sam.ogg
sound/music/credits.ogg
sound/music/TinTinOnMark2.ogg
-sound/music/CInferno.ogg
\ No newline at end of file
+sound/music/CInferno.ogg
+sound/music/eek.ogg
+sound/music/davesprite.ogg
+sound/music/byebyethere.ogg
+sound/music/nuclear_mission_jam.ogg
\ No newline at end of file
diff --git a/tgstation.dme b/tgstation.dme
index f4ce85c7..aba0aa0d 100644
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -6,253 +6,6 @@
// BEGIN_FILE_DIR
#define FILE_DIR .
-#define FILE_DIR "code"
-#define FILE_DIR "code/modules"
-#define FILE_DIR "code/modules/research"
-#define FILE_DIR "code/modules/research/xenoarch"
-#define FILE_DIR "code/modules/research/xenoarch/xenobotany"
-#define FILE_DIR "code/modules/research/xenoarch/xenobotany/icons"
-#define FILE_DIR "config"
-#define FILE_DIR "config/jukebox_music"
-#define FILE_DIR "config/jukebox_music/sounds"
-#define FILE_DIR "config/title_screens"
-#define FILE_DIR "GainStation13"
-#define FILE_DIR "GainStation13/icons"
-#define FILE_DIR "GainStation13/icons/mob"
-#define FILE_DIR "GainStation13/icons/mob/uniforms"
-#define FILE_DIR "GainStation13/icons/obj"
-#define FILE_DIR "GainStation13/icons/obj/clothing"
-#define FILE_DIR "GainStation13/icons/obj/lavaland_demone"
-#define FILE_DIR "GainStation13/icons/obj/spells"
-#define FILE_DIR "GainStation13/icons/obj/sugarland"
-#define FILE_DIR "GainStation13/icons/turf"
-#define FILE_DIR "GainStation13/sound"
-#define FILE_DIR "GainStation13/sound/voice"
-#define FILE_DIR "goon"
-#define FILE_DIR "goon/icons"
-#define FILE_DIR "goon/icons/obj"
-#define FILE_DIR "goon/sound"
-#define FILE_DIR "goon/sound/effects"
-#define FILE_DIR "goon/sound/machinery"
-#define FILE_DIR "html"
-#define FILE_DIR "hyperstation"
-#define FILE_DIR "hyperstation/icons"
-#define FILE_DIR "hyperstation/icons/chat"
-#define FILE_DIR "hyperstation/icons/decals"
-#define FILE_DIR "hyperstation/icons/effects"
-#define FILE_DIR "hyperstation/icons/mob"
-#define FILE_DIR "hyperstation/icons/mob/clothes"
-#define FILE_DIR "hyperstation/icons/mobs"
-#define FILE_DIR "hyperstation/icons/mobs/dancer"
-#define FILE_DIR "hyperstation/icons/obj"
-#define FILE_DIR "hyperstation/icons/obj/cargo"
-#define FILE_DIR "hyperstation/icons/obj/cargo/sweatshop"
-#define FILE_DIR "hyperstation/icons/obj/clothing"
-#define FILE_DIR "hyperstation/icons/obj/genitals"
-#define FILE_DIR "hyperstation/icons/obj/machinery"
-#define FILE_DIR "hyperstation/icons/obj/structures"
-#define FILE_DIR "hyperstation/sound"
-#define FILE_DIR "hyperstation/sound/ambience"
-#define FILE_DIR "hyperstation/sound/creatures"
-#define FILE_DIR "hyperstation/sound/creatures/mimic"
-#define FILE_DIR "hyperstation/sound/effects"
-#define FILE_DIR "hyperstation/sound/effects/rbmk"
-#define FILE_DIR "hyperstation/sound/effects/ship"
-#define FILE_DIR "hyperstation/sound/effects/ship/freespace2"
-#define FILE_DIR "hyperstation/sound/effects/ship/reactor"
-#define FILE_DIR "hyperstation/sound/halflife"
-#define FILE_DIR "hyperstation/sound/machines"
-#define FILE_DIR "hyperstation/sound/machines/sm"
-#define FILE_DIR "hyperstation/sound/machines/sm/accent"
-#define FILE_DIR "hyperstation/sound/machines/sm/accent/normal"
-#define FILE_DIR "hyperstation/sound/misc"
-#define FILE_DIR "icons"
-#define FILE_DIR "icons/ass"
-#define FILE_DIR "icons/effects"
-#define FILE_DIR "icons/mecha"
-#define FILE_DIR "icons/minimaps"
-#define FILE_DIR "icons/misc"
-#define FILE_DIR "icons/mob"
-#define FILE_DIR "icons/mob/actions"
-#define FILE_DIR "icons/mob/augmentation"
-#define FILE_DIR "icons/mob/inhands"
-#define FILE_DIR "icons/mob/inhands/antag"
-#define FILE_DIR "icons/mob/inhands/equipment"
-#define FILE_DIR "icons/mob/inhands/misc"
-#define FILE_DIR "icons/mob/inhands/weapons"
-#define FILE_DIR "icons/mob/jungle"
-#define FILE_DIR "icons/mob/large-worn-icons"
-#define FILE_DIR "icons/mob/large-worn-icons/64x64"
-#define FILE_DIR "icons/mob/lavaland"
-#define FILE_DIR "icons/obj"
-#define FILE_DIR "icons/obj/assemblies"
-#define FILE_DIR "icons/obj/atmospherics"
-#define FILE_DIR "icons/obj/atmospherics/components"
-#define FILE_DIR "icons/obj/atmospherics/pipes"
-#define FILE_DIR "icons/obj/clothing"
-#define FILE_DIR "icons/obj/doors"
-#define FILE_DIR "icons/obj/doors/airlocks"
-#define FILE_DIR "icons/obj/doors/airlocks/abductor"
-#define FILE_DIR "icons/obj/doors/airlocks/centcom"
-#define FILE_DIR "icons/obj/doors/airlocks/clockwork"
-#define FILE_DIR "icons/obj/doors/airlocks/cult"
-#define FILE_DIR "icons/obj/doors/airlocks/cult/runed"
-#define FILE_DIR "icons/obj/doors/airlocks/cult/unruned"
-#define FILE_DIR "icons/obj/doors/airlocks/external"
-#define FILE_DIR "icons/obj/doors/airlocks/glass_large"
-#define FILE_DIR "icons/obj/doors/airlocks/hatch"
-#define FILE_DIR "icons/obj/doors/airlocks/highsec"
-#define FILE_DIR "icons/obj/doors/airlocks/shuttle"
-#define FILE_DIR "icons/obj/doors/airlocks/station"
-#define FILE_DIR "icons/obj/doors/airlocks/station2"
-#define FILE_DIR "icons/obj/doors/airlocks/survival"
-#define FILE_DIR "icons/obj/doors/airlocks/vault"
-#define FILE_DIR "icons/obj/flora"
-#define FILE_DIR "icons/obj/food"
-#define FILE_DIR "icons/obj/guns"
-#define FILE_DIR "icons/obj/hydroponics"
-#define FILE_DIR "icons/obj/lavaland"
-#define FILE_DIR "icons/obj/machines"
-#define FILE_DIR "icons/obj/power_cond"
-#define FILE_DIR "icons/obj/smooth_structures"
-#define FILE_DIR "icons/obj/smooth_structures/alien"
-#define FILE_DIR "icons/obj/tesla_engine"
-#define FILE_DIR "icons/pda_icons"
-#define FILE_DIR "icons/program_icons"
-#define FILE_DIR "icons/rooms"
-#define FILE_DIR "icons/rooms/box"
-#define FILE_DIR "icons/stamp_icons"
-#define FILE_DIR "icons/Testing"
-#define FILE_DIR "icons/turf"
-#define FILE_DIR "icons/turf/floors"
-#define FILE_DIR "icons/turf/walls"
-#define FILE_DIR "icons/UI_Icons"
-#define FILE_DIR "icons/UI_Icons/chat"
-#define FILE_DIR "icons/UI_Icons/minesweeper_tiles"
-#define FILE_DIR "icons/UI_Icons/Pills"
-#define FILE_DIR "icons/vending_icons"
-#define FILE_DIR "modular_citadel"
-#define FILE_DIR "modular_citadel/code"
-#define FILE_DIR "modular_citadel/code/game"
-#define FILE_DIR "modular_citadel/code/game/area"
-#define FILE_DIR "modular_citadel/icons"
-#define FILE_DIR "modular_citadel/icons/effects"
-#define FILE_DIR "modular_citadel/icons/eutactic"
-#define FILE_DIR "modular_citadel/icons/eutactic/item"
-#define FILE_DIR "modular_citadel/icons/eutactic/mob"
-#define FILE_DIR "modular_citadel/icons/lavaknight"
-#define FILE_DIR "modular_citadel/icons/lavaknight/item"
-#define FILE_DIR "modular_citadel/icons/lavaknight/mob"
-#define FILE_DIR "modular_citadel/icons/misc"
-#define FILE_DIR "modular_citadel/icons/mob"
-#define FILE_DIR "modular_citadel/icons/mob/actions"
-#define FILE_DIR "modular_citadel/icons/mob/citadel"
-#define FILE_DIR "modular_citadel/icons/mob/citadel_refs"
-#define FILE_DIR "modular_citadel/icons/mob/clothing"
-#define FILE_DIR "modular_citadel/icons/mob/inhands"
-#define FILE_DIR "modular_citadel/icons/obj"
-#define FILE_DIR "modular_citadel/icons/obj/clothing"
-#define FILE_DIR "modular_citadel/icons/obj/food"
-#define FILE_DIR "modular_citadel/icons/obj/genitals"
-#define FILE_DIR "modular_citadel/icons/obj/guns"
-#define FILE_DIR "modular_citadel/icons/polyclothes"
-#define FILE_DIR "modular_citadel/icons/polyclothes/item"
-#define FILE_DIR "modular_citadel/icons/polyclothes/mob"
-#define FILE_DIR "modular_citadel/icons/ui"
-#define FILE_DIR "modular_citadel/sound"
-#define FILE_DIR "modular_citadel/sound/misc"
-#define FILE_DIR "modular_citadel/sound/voice"
-#define FILE_DIR "modular_citadel/sound/weapons"
-#define FILE_DIR "nsv13"
-#define FILE_DIR "nsv13/icons"
-#define FILE_DIR "nsv13/icons/obj"
-#define FILE_DIR "nsv13/sound"
-#define FILE_DIR "nsv13/sound/effects"
-#define FILE_DIR "nsv13/sound/effects/computer"
-#define FILE_DIR "sound"
-#define FILE_DIR "sound/AI"
-#define FILE_DIR "sound/alien"
-#define FILE_DIR "sound/alien/Effects"
-#define FILE_DIR "sound/alien/Voice"
-#define FILE_DIR "sound/ambience"
-#define FILE_DIR "sound/ambience/antag"
-#define FILE_DIR "sound/arcade"
-#define FILE_DIR "sound/bloodsucker"
-#define FILE_DIR "sound/chatter"
-#define FILE_DIR "sound/creatures"
-#define FILE_DIR "sound/effects"
-#define FILE_DIR "sound/effects/footstep"
-#define FILE_DIR "sound/FermiChem"
-#define FILE_DIR "sound/hallucinations"
-#define FILE_DIR "sound/health"
-#define FILE_DIR "sound/instruments"
-#define FILE_DIR "sound/instruments/accordion"
-#define FILE_DIR "sound/instruments/bikehorn"
-#define FILE_DIR "sound/instruments/eguitar"
-#define FILE_DIR "sound/instruments/glockenspiel"
-#define FILE_DIR "sound/instruments/guitar"
-#define FILE_DIR "sound/instruments/harmonica"
-#define FILE_DIR "sound/instruments/piano"
-#define FILE_DIR "sound/instruments/recorder"
-#define FILE_DIR "sound/instruments/saxophone"
-#define FILE_DIR "sound/instruments/trombone"
-#define FILE_DIR "sound/instruments/violin"
-#define FILE_DIR "sound/instruments/xylophone"
-#define FILE_DIR "sound/items"
-#define FILE_DIR "sound/items/equip"
-#define FILE_DIR "sound/items/geiger"
-#define FILE_DIR "sound/items/handling"
-#define FILE_DIR "sound/lavaland"
-#define FILE_DIR "sound/lewd"
-#define FILE_DIR "sound/machines"
-#define FILE_DIR "sound/machines/clockcult"
-#define FILE_DIR "sound/machines/fryer"
-#define FILE_DIR "sound/machines/generator"
-#define FILE_DIR "sound/machines/microwave"
-#define FILE_DIR "sound/machines/nuke"
-#define FILE_DIR "sound/machines/shower"
-#define FILE_DIR "sound/machines/sm"
-#define FILE_DIR "sound/magic"
-#define FILE_DIR "sound/magic/clockwork"
-#define FILE_DIR "sound/mecha"
-#define FILE_DIR "sound/misc"
-#define FILE_DIR "sound/music"
-#define FILE_DIR "sound/roundend"
-#define FILE_DIR "sound/spookoween"
-#define FILE_DIR "sound/vehicles"
-#define FILE_DIR "sound/voice"
-#define FILE_DIR "sound/voice/beepsky"
-#define FILE_DIR "sound/voice/catpeople"
-#define FILE_DIR "sound/voice/complionator"
-#define FILE_DIR "sound/voice/firebot"
-#define FILE_DIR "sound/voice/human"
-#define FILE_DIR "sound/voice/medbot"
-#define FILE_DIR "sound/voice/scream"
-#define FILE_DIR "sound/vore"
-#define FILE_DIR "sound/vore/pred"
-#define FILE_DIR "sound/vore/prey"
-#define FILE_DIR "sound/vox_fem"
-#define FILE_DIR "sound/weapons"
-#define FILE_DIR "sound/weapons/effects"
-#define FILE_DIR "sound/weather"
-#define FILE_DIR "sound/weather/ashstorm"
-#define FILE_DIR "sound/weather/ashstorm/inside"
-#define FILE_DIR "sound/weather/ashstorm/outside"
-#define FILE_DIR "sound/weather/oxygenrain"
-#define FILE_DIR "sound/weather/oxygenrain/inside"
-#define FILE_DIR "sound/weather/oxygenrain/outside"
-#define FILE_DIR "tools"
-#define FILE_DIR "tools/HumanScissors"
-#define FILE_DIR "tools/SS13SmoothingCutter"
-#define FILE_DIR "yogstation"
-#define FILE_DIR "yogstation/icons"
-#define FILE_DIR "yogstation/icons/obj"
-#define FILE_DIR "yogstation/icons/obj/clothing"
-#define FILE_DIR "yogstation/icons/turf"
-#define FILE_DIR "yogstation/sound"
-#define FILE_DIR "yogstation/sound/effects"
-#define FILE_DIR "yogstation/sound/misc"
-#define FILE_DIR "yogstation/sound/voice"
// END_FILE_DIR
// BEGIN_PREFERENCES
@@ -3320,6 +3073,7 @@
#include "code\modules\zombie\items.dm"
#include "code\modules\zombie\organs.dm"
#include "GainStation13\code\clothing\calorite_collar.dm"
+#include "GainStation13\code\game\sound.dm"
#include "GainStation13\code\game\area\ruins.dm"
#include "GainStation13\code\machinery\feeding_tube.dm"
#include "GainStation13\code\mechanics\fatness.dm"