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) + . += "
" + . += "

Citadel Preferences

" . += "Arousal:[arousable == TRUE ? "Enabled" : "Disabled"]
" . += "Exhibitionist:[features["exhibitionist"] == TRUE ? "Yes" : "No"]
" - // game prefs - if(current_tab == 1) - //VORE SOUNDS - . += "Hear Vore Sounds: [(toggles & EATING_NOISES) ? "Yes" : "No"]
" - . += "Hear Vore Digestion Sounds: [(toggles & DIGESTION_NOISES) ? "Yes" : "No"]
" + . += "Allow MediHound sleeper: [(cit_toggles & MEDIHOUND_SLEEPER) ? "Yes" : "No"]
" + . += "Hear Vore Sounds: [(cit_toggles & EATING_NOISES) ? "Yes" : "No"]
" + . += "Hear Vore Digestion Sounds: [(cit_toggles & DIGESTION_NOISES) ? "Yes" : "No"]
" . += "Widescreen: [widescreenpref ? "Enabled ([CONFIG_GET(string/default_view)])" : "Disabled (15x15)"]
" . += "Auto stand: [autostand ? "Enabled" : "Disabled"]
" . += "Screen Shake: [(screenshake==100) ? "Full" : ((screenshake==0) ? "None" : "[screenshake]")]
" if (user && user.client && !user.client.prefs.screenshake==0) . += "Damage Screen Shake: [(damagescreenshake==1) ? "On" : ((damagescreenshake==0) ? "Off" : "Only when down")]
" + . += "
" //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"