diff --git a/code/__DEFINES/citadel_defines.dm b/code/__DEFINES/citadel_defines.dm
index 261e7c7586..870816975b 100644
--- a/code/__DEFINES/citadel_defines.dm
+++ b/code/__DEFINES/citadel_defines.dm
@@ -123,3 +123,10 @@
#define MIN_MELEE_STAMCOST 1.25 //Minimum cost for swinging items around. Will be extra useful when stats and skills are introduced.
#define CRAWLUNDER_DELAY 30 //Delay for crawling under a standing mob
+
+//Citadel toggles because bitflag memes
+#define MEDIHOUND_SLEEPER 1
+#define EATING_NOISES 2
+#define DIGESTION_NOISES 4
+
+#define TOGGLES_CITADEL (MEDIHOUND_SLEEPER|EATING_NOISES|DIGESTION_NOISES)
\ No newline at end of file
diff --git a/code/__DEFINES/preferences.dm b/code/__DEFINES/preferences.dm
index b4a9f41213..2ed8c86eec 100644
--- a/code/__DEFINES/preferences.dm
+++ b/code/__DEFINES/preferences.dm
@@ -14,10 +14,8 @@
#define SOUND_ANNOUNCEMENTS 2048
#define DISABLE_DEATHRATTLE 4096
#define DISABLE_ARRIVALRATTLE 8192
-#define MEDIHOUND_SLEEPER 16384 //CITADEL EDITS, vore prefs.
-#define EATING_NOISES 32768
-#define DIGESTION_NOISES 65536
-#define TOGGLES_DEFAULT (SOUND_ADMINHELP|SOUND_MIDI|SOUND_AMBIENCE|SOUND_LOBBY|MEMBER_PUBLIC|INTENT_STYLE|MIDROUND_ANTAG|SOUND_INSTRUMENTS|SOUND_SHIP_AMBIENCE|SOUND_PRAYERS|SOUND_ANNOUNCEMENTS|MEDIHOUND_SLEEPER|EATING_NOISES|DIGESTION_NOISES)
+
+#define TOGGLES_DEFAULT (SOUND_ADMINHELP|SOUND_MIDI|SOUND_AMBIENCE|SOUND_LOBBY|MEMBER_PUBLIC|INTENT_STYLE|MIDROUND_ANTAG|SOUND_INSTRUMENTS|SOUND_SHIP_AMBIENCE|SOUND_PRAYERS|SOUND_ANNOUNCEMENTS)
//Chat toggles
#define CHAT_OOC 1
diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm
index cddf64b6db..86413bbb6b 100644
--- a/code/modules/client/preferences.dm
+++ b/code/modules/client/preferences.dm
@@ -156,11 +156,16 @@ GLOBAL_LIST_EMPTY(preferences_datums)
/datum/preferences/proc/ShowChoices(mob/user)
if(!user || !user.client)
return
- update_preview_icon()
+ if(current_tab == 2) //CITADEL EDIT, for muh nudies
+ update_preview_icon(nude=TRUE)
+ else
+ update_preview_icon(nude=FALSE) //EDIT END
user << browse_rsc(preview_icon, "previewicon.png")
var/dat = "
"
- dat += "Character Settings "
+ dat += "Character Settings"
+ dat += "Character Appearance"
+ dat += "Loadout"
dat += "Game Preferences"
if(!path)
@@ -236,7 +241,8 @@ GLOBAL_LIST_EMPTY(preferences_datums)
dat += "Backpack:
[backbag]
"
dat += "Uplink Spawn Location:
[uplink_spawn_loc]
"
- if(pref_species.use_skintones)
+// CITADEL EDIT - ALL OF THESE ARE HANDLED IN THE MODULAR VERSION, TAB 2
+ /* if(pref_species.use_skintones)
dat += ""
@@ -246,6 +252,8 @@ GLOBAL_LIST_EMPTY(preferences_datums)
dat += " | "
+ dat = add_citadel_choices(dat)
+
if(HAIR in pref_species.species_traits)
dat += ""
@@ -359,7 +367,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
dat += " | "
- dat = add_citadel_choices(dat)
+
if(CONFIG_GET(flag/join_with_mutant_humans))
@@ -388,7 +396,8 @@ GLOBAL_LIST_EMPTY(preferences_datums)
dat += "[features["wings"]]
"
- dat += ""
+ dat += ""*/
+ dat += citadel_dat_replace(current_tab)
dat += ""
@@ -508,8 +517,11 @@ GLOBAL_LIST_EMPTY(preferences_datums)
else
dat += "Be [capitalize(i)]: [(i in be_special) ? "Yes" : "No"]
"
+ dat += citadel_dat_replace(current_tab)
+
dat += ""
+
else
dat = citadel_dat_replace(current_tab)
diff --git a/config/game_options.txt b/config/game_options.txt
index ee080b6014..5599030e39 100644
--- a/config/game_options.txt
+++ b/config/game_options.txt
@@ -512,6 +512,7 @@ ROUNDSTART_RACES insect
ROUNDSTART_RACES xeno
ROUNDSTART_RACES datashark
ROUNDSTART_RACES guilmon
+ROUNDSTART_RACES ipc
## CREW OBJECTIVES ##
## Comment to disable objectives for innocent crew members.
diff --git a/modular_citadel/code/game/objects/items.dm b/modular_citadel/code/game/objects/items.dm
index 3cd0d12b8b..31ab57ee47 100644
--- a/modular_citadel/code/game/objects/items.dm
+++ b/modular_citadel/code/game/objects/items.dm
@@ -1,2 +1,14 @@
/obj/item
var/total_mass //Total mass in arbitrary pound-like values. If there's no balance reasons for an item to have otherwise, this var should be the item's weight in pounds.
+
+ var/list/alternate_screams = list() //REEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
+
+// lazy for screaming.
+/obj/item/clothing/head/xenos
+ alternate_screams = list('sound/voice/hiss6.ogg')
+
+/obj/item/clothing/head/cardborg
+ alternate_screams = list('modular_citadel/sound/voice/scream_silicon.ogg')
+
+/obj/item/clothing/head/ushanka
+ alternate_screams = list('modular_citadel/sound/misc/cyka1.ogg', 'modular_citadel/sound/misc/cheekibreeki.ogg')
\ No newline at end of file
diff --git a/modular_citadel/code/modules/client/loadout/uniform_trek.dm b/modular_citadel/code/modules/client/loadout/uniform_trek.dm
index dd03d3c446..3189021be1 100644
--- a/modular_citadel/code/modules/client/loadout/uniform_trek.dm
+++ b/modular_citadel/code/modules/client/loadout/uniform_trek.dm
@@ -131,25 +131,25 @@
restricted_roles = list("Chief Engineer","Atmospheric Technician","Station Engineer","Warden","Detective","Security Officer","Head of Security","Cargo Technician", "Shaft Miner", "Quartermaster")
//Hats!
-/datum/gear/hat/job_trek/cap
+/datum/gear/hat/job_trek
name = "Federation Officer's Cap"
category = slot_head
path = /obj/item/clothing/head/caphat/formal/fedcover
restricted_roles = list("Captain","Head of Personnel")
-/datum/gear/hat/job_trek/cap/medisci
+/datum/gear/hat/job_trek/medisci
name = "Federation Officer's Cap"
category = slot_head
path = /obj/item/clothing/head/caphat/formal/fedcover/medsci
restricted_roles = list("Chief Medical Officer","Medical Doctor","Chemist","Virologist","Geneticist","Research Director","Scientist", "Roboticist")
-/datum/gear/hat/job_trek/cap/eng
+/datum/gear/hat/job_trek/eng
name = "Federation Officer's Cap"
category = slot_head
path = /obj/item/clothing/head/caphat/formal/fedcover/eng
restricted_roles = list("Chief Engineer","Atmospheric Technician","Station Engineer","Warden","Detective","Security Officer","Head of Security","Cargo Technician", "Shaft Miner", "Quartermaster")
-/datum/gear/hat/job_trek/cap/sec
+/datum/gear/hat/job_trek/sec
name = "Federation Officer's Cap"
category = slot_head
path = /obj/item/clothing/head/caphat/formal/fedcover/sec
diff --git a/modular_citadel/code/modules/client/preferences.dm b/modular_citadel/code/modules/client/preferences.dm
index 398a0c0b91..c3dd517afb 100644
--- a/modular_citadel/code/modules/client/preferences.dm
+++ b/modular_citadel/code/modules/client/preferences.dm
@@ -12,7 +12,11 @@
var/arousable = TRUE
var/widescreenpref = TRUE
var/autostand = TRUE
+ var/toggleeatingnoise = TRUE
+ var/toggledigestionnoise = TRUE
+ var/hound_sleeper = TRUE
max_save_slots = 10
+ var/cit_toggles = TOGGLES_CITADEL
features = list("mcolor" = "FFF",
"tail_lizard" = "Smooth",
"tail_human" = "None",
@@ -86,13 +90,10 @@
..()
LAZYINITLIST(chosen_gear)
-/datum/preferences/proc/add_citadel_choices(dat)
- if(current_tab == 2)
- update_preview_icon(nude=TRUE)
- else
- update_preview_icon(nude=FALSE)
+/datum/preferences/proc/add_citadel_choices(.)
+
- return dat
+ return .
/datum/preferences/proc/process_citadel_link(mob/user, list/href_list)
if(href_list["task"] == "input")
@@ -357,10 +358,9 @@
features["vag_color"] = sanitize_hexcolor(new_vagcolor)
else
user << "Invalid color. Your color is not bright enough."
-
- if("input")
+
+ else
switch(href_list["preference"])
-
//genital code
if("genital_colour")
switch(features["genitals_use_skintone"])
@@ -473,8 +473,7 @@
features["exhibitionist"] = TRUE
else
features["exhibitionist"] = FALSE
- else
- switch(href_list["preference"])
+
if("widescreenpref")
widescreenpref = !widescreenpref
user.client.change_view(CONFIG_GET(string/default_view))
@@ -514,7 +513,7 @@
if(i == href_list["select_category"])
gear_tab = i
if(href_list["toggle_gear_path"])
- var/datum/gear/G = GLOB.loadout_items[gear_tab][html_decode(href_list["toggle_gear_path"])]
+ var/datum/gear/G = GLOB.loadout_items[gear_tab][href_list["toggle_gear_path"]]
if(!G)
return
var/toggle = text2num(href_list["toggle_gear"])
@@ -525,9 +524,6 @@
if(!is_loadout_slot_available(G.category))
to_chat(user, "You cannot take this loadout, as you've already chosen too many of the same category!")
return
- if(G.ckeywhitelist && G.ckeywhitelist.len && !(user.ckey in G.ckeywhitelist))
- to_chat(user, "This is an item intended for donator use only. You are not authorized to use this item.")
- return
if(gear_points >= initial(G.cost))
LAZYADD(chosen_gear, G.type)
gear_points -= initial(G.cost)
@@ -535,6 +531,7 @@
/datum/preferences/proc/citadel_dat_replace(current_tab)
var/mob/user
+
//This proc is for menus other than game pref and char pref
. = ""
@@ -550,25 +547,26 @@
. += ""
. += "
"
- if(current_tab == 0)
+ if(current_tab == 1)
+ . += ""
//Character Appearance
if(current_tab == 2)
. += ""
- . += " "
+ . += " "
. += "Set Flavor Text "
if(lentext(features["flavor_text"]) <= 40)
if(!lentext(features["flavor_text"]))
@@ -695,6 +693,7 @@
. += " | "
*/
. += "
"
+
if(current_tab == 3)
if(!gear_tab)
gear_tab = GLOB.loadout_items[1]
@@ -767,7 +766,7 @@
datum/preferences/copy_to(mob/living/carbon/human/character, icon_updates = 1)
..()
character.give_genitals(TRUE)
- character.flavor_text = features["flavor_text"] //Let's update their flavor_text at least initially
+ character.flavor_text = features["flavor_text"] //Let's up.e their flavor_text at least initially
character.canbearoused = arousable
if(icon_updates)
character.update_genitals()
\ No newline at end of file
diff --git a/modular_citadel/code/modules/client/preferences_savefile.dm b/modular_citadel/code/modules/client/preferences_savefile.dm
index 599dfcf61f..8f8c7a94e9 100644
--- a/modular_citadel/code/modules/client/preferences_savefile.dm
+++ b/modular_citadel/code/modules/client/preferences_savefile.dm
@@ -1,6 +1,9 @@
/datum/preferences/proc/cit_character_pref_load(savefile/S)
//ipcs
S["feature_ipc_screen"] >> features["ipc_screen"]
+
+ //Citadel toggles
+ S["cit_toggles"] >> cit_toggles
features["ipc_screen"] = sanitize_inlist(features["ipc_screen"], GLOB.ipc_screens_list)
//Citadel
@@ -11,6 +14,7 @@
features["mcolor3"] = pick("FFFFFF","7F7F7F", "7FFF7F", "7F7FFF", "FF7F7F", "7FFFFF", "FF7FFF", "FFFF7F")
features["mcolor2"] = sanitize_hexcolor(features["mcolor2"], 3, 0)
features["mcolor3"] = sanitize_hexcolor(features["mcolor3"], 3, 0)
+ cit_toggles = sanitize_integer(toggles, 0, 65535, initial(toggles))
//gear loadout
var/text_to_load
@@ -69,6 +73,8 @@
//flavor text
WRITE_FILE(S["feature_flavor_text"], features["flavor_text"])
+ WRITE_FILE(S["cit_toggles"], cit_toggles)
+
//gear loadout
if(islist(chosen_gear))
if(chosen_gear.len)
diff --git a/modular_citadel/code/modules/client/preferences_toggles.dm b/modular_citadel/code/modules/client/preferences_toggles.dm
index a475d65106..7e3a78144e 100644
--- a/modular_citadel/code/modules/client/preferences_toggles.dm
+++ b/modular_citadel/code/modules/client/preferences_toggles.dm
@@ -2,35 +2,35 @@ TOGGLE_CHECKBOX(/datum/verbs/menu/Settings/Sound, toggleeatingnoise)()
set name = "Toggle Eating Noises"
set category = "Preferences"
set desc = "Hear Eating noises"
- usr.client.prefs.toggles ^= EATING_NOISES
+ usr.client.prefs.cit_toggles ^= EATING_NOISES
usr.client.prefs.save_preferences()
usr.stop_sound_channel(CHANNEL_PRED)
- to_chat(usr, "You will [(usr.client.prefs.toggles & EATING_NOISES) ? "now" : "no longer"] hear eating noises.")
+ to_chat(usr, "You will [(usr.client.prefs.cit_toggles & EATING_NOISES) ? "now" : "no longer"] hear eating noises.")
/datum/verbs/menu/Settings/Sound/toggleeatingnoise/Get_checked(client/C)
- return !(C.prefs.toggles & EATING_NOISES)
+ return C.prefs.cit_toggles & EATING_NOISES
TOGGLE_CHECKBOX(/datum/verbs/menu/Settings/Sound, toggledigestionnoise)()
set name = "Toggle Digestion Noises"
set category = "Preferences"
set desc = "Hear digestive noises"
- usr.client.prefs.toggles ^= DIGESTION_NOISES
+ usr.client.prefs.cit_toggles ^= DIGESTION_NOISES
usr.client.prefs.save_preferences()
usr.stop_sound_channel(CHANNEL_DIGEST)
- to_chat(usr, "You will [(usr.client.prefs.toggles & DIGESTION_NOISES) ? "now" : "no longer"] hear digestion noises.")
+ to_chat(usr, "You will [(usr.client.prefs.cit_toggles & DIGESTION_NOISES) ? "now" : "no longer"] hear digestion noises.")
/datum/verbs/menu/Settings/Sound/toggledigestionnoise/Get_checked(client/C)
- return !(C.prefs.toggles & DIGESTION_NOISES)
+ return C.prefs.cit_toggles & DIGESTION_NOISES
TOGGLE_CHECKBOX(/datum/verbs/menu/Settings/Sound, togglehoundsleeper)()
set name = "Allow/Deny Hound Sleeper"
set category = "Preferences"
set desc = "Allow MediHound Sleepers"
- usr.client.prefs.toggles ^= MEDIHOUND_SLEEPER
+ usr.client.prefs.cit_toggles ^= MEDIHOUND_SLEEPER
usr.client.prefs.save_preferences()
- if(usr.client.prefs.toggles & MEDIHOUND_SLEEPER)
+ if(usr.client.prefs.cit_toggles & MEDIHOUND_SLEEPER)
to_chat(usr, "You will now allow MediHounds to place you in their sleeper.")
else
to_chat(usr, "You will no longer allow MediHounds to place you in their sleeper.")
- SSblackbox.record_feedback("nested tally", "preferences_verb", 1, list("Toggle MediHound Sleeper", "[usr.client.prefs.toggles & MEDIHOUND_SLEEPER ? "Enabled" : "Disabled"]")) //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
+ SSblackbox.record_feedback("nested tally", "preferences_verb", 1, list("Toggle MediHound Sleeper", "[usr.client.prefs.cit_toggles & MEDIHOUND_SLEEPER ? "Enabled" : "Disabled"]")) //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
/datum/verbs/menu/Settings/Sound/togglehoundsleeper/Get_checked(client/C)
- return C.prefs.toggles & MEDIHOUND_SLEEPER
\ No newline at end of file
+ return C.prefs.cit_toggles & MEDIHOUND_SLEEPER
\ No newline at end of file
diff --git a/modular_citadel/code/modules/mob/cit_emotes.dm b/modular_citadel/code/modules/mob/cit_emotes.dm
index 86cb2a4d89..65b6d43a77 100644
--- a/modular_citadel/code/modules/mob/cit_emotes.dm
+++ b/modular_citadel/code/modules/mob/cit_emotes.dm
@@ -1,3 +1,103 @@
+/mob
+ var/nextsoundemote = 1
+
//Disables the custom emote blacklist from TG that normally applies to slimes.
/datum/emote/living/custom
- mob_type_blacklist_typecache = list(/mob/living/brain)
\ No newline at end of file
+ mob_type_blacklist_typecache = list(/mob/living/brain)
+
+/datum/emote/living/scream/run_emote(mob/living/user, params) //I can't not port this shit, come on.
+ if(user.nextsoundemote >= world.time || user.stat != CONSCIOUS)
+ return
+ var/sound
+ var/miming = user.mind ? user.mind.miming : 0
+ if(!user.is_muzzled() && !miming)
+ user.nextsoundemote = world.time + 7
+ if(issilicon(user))
+ sound = 'modular_citadel/sound/voice/scream_silicon.ogg'
+ if(iscyborg(user))
+ var/mob/living/silicon/robot/S = user
+ if(S.cell.charge < 20)
+ to_chat(S, "Scream module deactivated. Please recharge.")
+ return
+ S.cell.use(200)
+ if(ismonkey(user))
+ sound = 'modular_citadel/sound/voice/scream_monkey.ogg'
+ if(istype(user, /mob/living/simple_animal/hostile/gorilla))
+ sound = 'sound/creatures/gorilla.ogg'
+ if(ishuman(user))
+ user.adjustOxyLoss(5)
+ sound = pick('modular_citadel/sound/voice/scream_m1.ogg', 'modular_citadel/sound/voice/scream_m2.ogg')
+ if(user.gender == FEMALE)
+ sound = pick('modular_citadel/sound/voice/scream_f1.ogg', 'modular_citadel/sound/voice/scream_f2.ogg')
+ if(is_species(user, /datum/species/android) || is_species(user, /datum/species/synth) || is_species(user, /datum/species/ipc))
+ sound = 'modular_citadel/sound/voice/scream_silicon.ogg'
+ if(is_species(user, /datum/species/lizard))
+ sound = 'modular_citadel/sound/voice/scream_lizard.ogg'
+ if(is_species(user, /datum/species/skeleton))
+ sound = 'modular_citadel/sound/voice/scream_skeleton.ogg'
+ if (is_species(user, /datum/species/fly) || is_species(user, /datum/species/moth))
+ sound = 'modular_citadel/sound/voice/scream_moth.ogg'
+ if(isalien(user))
+ sound = 'sound/voice/hiss6.ogg'
+ LAZYINITLIST(user.alternate_screams)
+ if(LAZYLEN(user.alternate_screams))
+ sound = pick(user.alternate_screams)
+ playsound(user.loc, sound, 50, 1, 4, 1.2)
+ message = "screams!"
+ else if(miming)
+ message = "acts out a scream."
+ else
+ message = "makes a very loud noise."
+ . = ..()
+
+/datum/emote/sound/carbon/snap
+ key = "snap"
+ key_third_person = "snaps"
+ muzzle_ignore = TRUE
+ restraint_check = TRUE
+ emote_type = EMOTE_AUDIBLE
+ sound = 'sound/effects/snap01.ogg'
+ mob_type_allowed_typecache = list(/mob/living/carbon/)
+
+
+/datum/emote/living/snap
+ key = "snap"
+ key_third_person = "snaps"
+ message = "snaps their fingers."
+ emote_type = EMOTE_AUDIBLE
+
+/datum/emote/living/snap/run_emote(mob/living/user, params)
+ if(ishuman(user))
+ if(user.nextsoundemote >= world.time)
+ return
+ user.nextsoundemote = world.time + 7
+ playsound(user, 'modular_citadel/sound/voice/snap.ogg', 50, 1, -1)
+ . = ..()
+
+/datum/emote/living/snap2
+ key = "snap2"
+ key_third_person = "snaps twice"
+ message = "snaps twice."
+ emote_type = EMOTE_AUDIBLE
+
+/datum/emote/living/snap2/run_emote(mob/living/user, params)
+ if(ishuman(user))
+ if(user.nextsoundemote >= world.time)
+ return
+ user.nextsoundemote = world.time + 7
+ playsound(user, 'modular_citadel/sound/voice/snap2.ogg', 50, 1, -1)
+ . = ..()
+
+/datum/emote/living/snap3
+ key = "snap3"
+ key_third_person = "snaps thrice"
+ message = "snaps thrice."
+ emote_type = EMOTE_AUDIBLE
+
+/datum/emote/living/snap3/run_emote(mob/living/user, params)
+ if(ishuman(user))
+ if(user.nextsoundemote >= world.time)
+ return
+ user.nextsoundemote = world.time + 7
+ playsound(user, 'modular_citadel/sound/voice/snap3.ogg', 50, 1, -1)
+ . = ..()
\ No newline at end of file
diff --git a/modular_citadel/code/modules/mob/living/carbon/reindex_screams.dm b/modular_citadel/code/modules/mob/living/carbon/reindex_screams.dm
new file mode 100644
index 0000000000..7f5d625f62
--- /dev/null
+++ b/modular_citadel/code/modules/mob/living/carbon/reindex_screams.dm
@@ -0,0 +1,45 @@
+/mob/living
+ var/list/alternate_screams
+
+/mob/living/carbon/proc/reindex_screams()
+ clear_screams()
+ if(head)
+ add_screams(head.alternate_screams)
+ if(wear_mask)
+ add_screams(wear_mask.alternate_screams)
+ if(back)
+ add_screams(back.alternate_screams)
+
+/mob/living/carbon/human/reindex_screams()
+ ..()
+ //More slots in humans.
+ if(ears)
+ add_screams(ears.alternate_screams)
+ if(wear_suit)
+ add_screams(wear_suit.alternate_screams)
+ if(w_uniform)
+ add_screams(w_uniform.alternate_screams)
+ if(glasses)
+ add_screams(glasses.alternate_screams)
+ if(gloves)
+ add_screams(gloves.alternate_screams)
+ if(shoes)
+ add_screams(shoes.alternate_screams)
+ if(belt)
+ add_screams(belt.alternate_screams)
+ if(s_store)
+ add_screams(s_store.alternate_screams)
+ if(wear_id)
+ add_screams(wear_id.alternate_screams)
+
+//Note that the following two are for /mob/living, while the above two are for /carbon and /human
+/mob/living/proc/add_screams(var/list/screams)
+ LAZYINITLIST(alternate_screams)
+ if(!screams || screams.len == 0)
+ return
+ for(var/S in screams)
+ LAZYADD(alternate_screams, S)
+
+/mob/living/proc/clear_screams()
+ LAZYINITLIST(alternate_screams)
+ LAZYCLEARLIST(alternate_screams)
\ No newline at end of file
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 14ded0b7cc..3a59c37618 100644
--- a/modular_citadel/code/modules/vore/eating/belly_obj_vr.dm
+++ b/modular_citadel/code/modules/vore/eating/belly_obj_vr.dm
@@ -163,7 +163,7 @@
//Sound w/ antispam flag setting
if(!silent && !recent_sound)
for(var/mob/M in get_hearers_in_view(5, get_turf(owner)))
- if(M.client && M.client.prefs.toggles & EATING_NOISES)
+ 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)
recent_sound = TRUE
@@ -194,7 +194,7 @@
AM.forceMove(destination) // Move the belly contents into the same location as belly's owner.
count++
for(var/mob/M in get_hearers_in_view(5, get_turf(owner)))
- if(M.client && M.client.prefs.toggles & EATING_NOISES)
+ 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)
items_preserved.Cut()
owner.visible_message("[owner] expels everything from their [lowertext(name)]!")
@@ -215,7 +215,7 @@
P.stop_sound_channel(CHANNEL_PREYLOOP)
if(release_sound)
for(var/mob/H in get_hearers_in_view(5, get_turf(owner)))
- if(H.client && H.client.prefs.toggles & EATING_NOISES)
+ 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)
if(istype(M,/mob/living))
@@ -507,7 +507,7 @@
if(!silent)
for(var/mob/M in get_hearers_in_view(5, get_turf(owner)))
- if(M.client && M.client.prefs.toggles & EATING_NOISES)
+ if(M.client && M.client.prefs.cit_toggles & EATING_NOISES)
playsound(get_turf(owner),"struggle_sound",35,0,-5,1,ignore_walls = FALSE,channel=CHANNEL_PRED)
R.stop_sound_channel(CHANNEL_PRED)
var/sound/prey_struggle = sound(get_sfx("prey_struggle"))
@@ -584,7 +584,7 @@
target.nom_mob(content, target.owner)
if(!silent)
for(var/mob/M in get_hearers_in_view(5, get_turf(owner)))
- if(M.client && M.client.prefs.toggles & EATING_NOISES)
+ 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)
owner.updateVRPanel()
for(var/mob/living/M in contents)
diff --git a/modular_citadel/code/modules/vore/eating/bellymodes_vr.dm b/modular_citadel/code/modules/vore/eating/bellymodes_vr.dm
index 3260e2ae99..e2919ad3ec 100644
--- a/modular_citadel/code/modules/vore/eating/bellymodes_vr.dm
+++ b/modular_citadel/code/modules/vore/eating/bellymodes_vr.dm
@@ -41,7 +41,7 @@
if(prob(25))
M.stop_sound_channel(CHANNEL_DIGEST)
for(var/mob/H in get_hearers_in_view(5, get_turf(owner)))
- if(H.client && H.client.prefs.toggles & DIGESTION_NOISES)
+ if(H.client && H.client.prefs.cit_toggles & DIGESTION_NOISES)
playsound(get_turf(owner),"digest_pred",50,0,-5,0,ignore_walls = FALSE,channel=CHANNEL_DIGEST)
M.stop_sound_channel(CHANNEL_DIGEST)
M.playsound_local(get_turf(M), prey_digest, 45)
@@ -72,7 +72,7 @@
owner.nutrition += 400 // so eating dead mobs gives you *something*.
M.stop_sound_channel(DIGESTION_NOISES)
for(var/mob/H in get_hearers_in_view(5, get_turf(owner)))
- if(H.client && H.client.prefs.toggles & DIGESTION_NOISES)
+ if(H.client && H.client.prefs.cit_toggles & DIGESTION_NOISES)
playsound(get_turf(owner),"death_pred",50,0,-5,0,ignore_walls = FALSE,channel=CHANNEL_DIGEST)
M.stop_sound_channel(DIGESTION_NOISES)
M.stop_sound_channel(CHANNEL_PREYLOOP)
@@ -101,7 +101,7 @@
if(prob(25))
M.stop_sound_channel(CHANNEL_DIGEST)
for(var/mob/H in get_hearers_in_view(5, get_turf(owner)))
- if(H.client && H.client.prefs.toggles & DIGESTION_NOISES)
+ if(H.client && H.client.prefs.cit_toggles & DIGESTION_NOISES)
playsound(get_turf(owner),"digest_pred",50,0,-5,0,ignore_walls = FALSE,channel=CHANNEL_DIGEST)
M.stop_sound_channel(CHANNEL_DIGEST)
M.playsound_local(get_turf(M), prey_digest, 65)
@@ -120,7 +120,7 @@
if(prob(35))
M.stop_sound_channel(CHANNEL_DIGEST)
for(var/mob/H in get_hearers_in_view(5, get_turf(owner)))
- if(H.client && H.client.prefs.toggles & DIGESTION_NOISES)
+ if(H.client && H.client.prefs.cit_toggles & DIGESTION_NOISES)
playsound(get_turf(owner),"digest_pred",50,0,-5,0,ignore_walls = FALSE,channel=CHANNEL_DIGEST)
M.stop_sound_channel(CHANNEL_PRED)
M.playsound_local(get_turf(M), prey_digest, 65)
@@ -133,7 +133,7 @@
if(prob(25))
M.stop_sound_channel(CHANNEL_DIGEST)
for(var/mob/H in get_hearers_in_view(5, get_turf(owner)))
- if(H.client && H.client.prefs.toggles & DIGESTION_NOISES)
+ if(H.client && H.client.prefs.cit_toggles & DIGESTION_NOISES)
playsound(get_turf(owner),"digest_pred",50,0,-5,0,ignore_walls = FALSE,channel=CHANNEL_DIGEST)
M.stop_sound_channel(CHANNEL_DIGEST)
M.playsound_local(get_turf(M), prey_digest, 65)
@@ -161,7 +161,7 @@
M.stop_sound_channel(CHANNEL_DIGEST)
for(var/mob/H in get_hearers_in_view(5, get_turf(owner)))
- if(H.client && H.client.prefs.toggles & DIGESTION_NOISES)
+ if(H.client && H.client.prefs.cit_toggles & DIGESTION_NOISES)
playsound(get_turf(owner),"death_pred",50,0,-5,0,ignore_walls = FALSE,channel=CHANNEL_DIGEST)
M.stop_sound_channel(CHANNEL_DIGEST)
M.playsound_local(get_turf(M), prey_death, 65)
diff --git a/modular_citadel/code/modules/vore/eating/living_vr.dm b/modular_citadel/code/modules/vore/eating/living_vr.dm
index 5b2ad312ab..1eca5f585d 100644
--- a/modular_citadel/code/modules/vore/eating/living_vr.dm
+++ b/modular_citadel/code/modules/vore/eating/living_vr.dm
@@ -195,7 +195,7 @@
// If we got this far, nom successful! Announce it!
user.visible_message(success_msg)
for(var/mob/M in get_hearers_in_view(5, get_turf(user)))
- if(M.client && M.client.prefs.toggles & EATING_NOISES)
+ if(M.client && M.client.prefs.cit_toggles & EATING_NOISES)
playsound(get_turf(user),"[belly.vore_sound]",50,0,-5,0,ignore_walls = FALSE,channel=CHANNEL_PRED)
// Actually shove prey into the belly.
diff --git a/modular_citadel/code/modules/vore/eating/vorepanel_vr.dm b/modular_citadel/code/modules/vore/eating/vorepanel_vr.dm
index 7d7a48ed28..a3593278b2 100644
--- a/modular_citadel/code/modules/vore/eating/vorepanel_vr.dm
+++ b/modular_citadel/code/modules/vore/eating/vorepanel_vr.dm
@@ -355,7 +355,7 @@
selected.release_all_contents()
for(var/mob/M in get_hearers_in_view(5, get_turf(user)))
- if(M.client && M.client.prefs.toggles & EATING_NOISES)
+ if(M.client && M.client.prefs.cit_toggles & EATING_NOISES)
playsound(get_turf(user),'sound/vore/pred/escape.ogg',50,0,-5,0,ignore_walls = FALSE,channel=CHANNEL_PRED)
to_chat(user.loc,"Everything is released from [user]!")
@@ -371,7 +371,7 @@
for(var/atom/movable/tgt in selected)
selected.transfer_contents(tgt, choice, 1)
for(var/mob/M in get_hearers_in_view(5, get_turf(user)))
- if(M.client && M.client.prefs.toggles & EATING_NOISES)
+ if(M.client && M.client.prefs.cit_toggles & EATING_NOISES)
playsound(get_turf(user),'sound/vore/pred/stomachmove.ogg',50,0,-5,0,ignore_walls = FALSE,channel=CHANNEL_PRED)
to_chat(tgt,"You're squished from [user]'s [lowertext(selected)] to their [lowertext(choice.name)]!")
@@ -391,7 +391,7 @@
selected.release_specific_contents(tgt)
for(var/mob/M in get_hearers_in_view(5, get_turf(user)))
- if(M.client && M.client.prefs.toggles & EATING_NOISES)
+ if(M.client && M.client.prefs.cit_toggles & EATING_NOISES)
playsound(get_turf(user),'sound/vore/pred/escape.ogg',50,0,-5,0,ignore_walls = FALSE,channel=CHANNEL_PRED)
user.loc << "[tgt] is released from [user]!"
@@ -407,7 +407,7 @@
to_chat(tgt,"You're squished from [user]'s [lowertext(selected.name)] to their [lowertext(choice.name)]!")
selected.transfer_contents(tgt, choice)
for(var/mob/M in get_hearers_in_view(5, get_turf(user)))
- if(M.client && M.client.prefs.toggles & EATING_NOISES)
+ if(M.client && M.client.prefs.cit_toggles & EATING_NOISES)
playsound(get_turf(user),'sound/vore/pred/stomachmove.ogg',50,0,-5,0,ignore_walls = FALSE,channel=CHANNEL_PRED)
if(href_list["newbelly"])
diff --git a/modular_citadel/sound/misc/cheekibreeki.ogg b/modular_citadel/sound/misc/cheekibreeki.ogg
new file mode 100644
index 0000000000..7c41bdd7c2
Binary files /dev/null and b/modular_citadel/sound/misc/cheekibreeki.ogg differ
diff --git a/modular_citadel/sound/misc/cyka1.ogg b/modular_citadel/sound/misc/cyka1.ogg
new file mode 100644
index 0000000000..5479cd1818
Binary files /dev/null and b/modular_citadel/sound/misc/cyka1.ogg differ
diff --git a/tgstation.dme b/tgstation.dme
index 51b6040dea..15e6d899c5 100755
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -2732,6 +2732,7 @@
#include "modular_citadel\code\modules\mob\living\living.dm"
#include "modular_citadel\code\modules\mob\living\carbon\carbon.dm"
#include "modular_citadel\code\modules\mob\living\carbon\damage_procs.dm"
+#include "modular_citadel\code\modules\mob\living\carbon\reindex_screams.dm"
#include "modular_citadel\code\modules\mob\living\carbon\human\human.dm"
#include "modular_citadel\code\modules\mob\living\carbon\human\human_defense.dm"
#include "modular_citadel\code\modules\mob\living\carbon\human\human_movement.dm"