diff --git a/code/__DEFINES/citadel_defines.dm b/code/__DEFINES/citadel_defines.dm index 261e7c7586..2fed84553e 100644 --- a/code/__DEFINES/citadel_defines.dm +++ b/code/__DEFINES/citadel_defines.dm @@ -105,8 +105,9 @@ #define NOAROUSAL 37 //Stops all arousal effects #define NOGENITALS 38 //Cannot create, use, or otherwise have genitals -//Brainslugs +//Citadel istypes #define isborer(A) (istype(A, /mob/living/simple_animal/borer)) +#define isipcperson(A) (is_species(A, /datum/species/ipc)) #define CITADEL_MENTOR_OOC_COLOUR "#224724" @@ -123,3 +124,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/__HELPERS/_cit_helpers.dm b/code/__HELPERS/_cit_helpers.dm index f4772fa464..8d1c01fdfa 100644 --- a/code/__HELPERS/_cit_helpers.dm +++ b/code/__HELPERS/_cit_helpers.dm @@ -50,6 +50,8 @@ GLOBAL_LIST_EMPTY(xeno_head_list) GLOBAL_LIST_EMPTY(xeno_tail_list) GLOBAL_LIST_EMPTY(xeno_dorsal_list) + //IPC species +GLOBAL_LIST_EMPTY(ipc_screens_list) //Genitals and Arousal Lists GLOBAL_LIST_EMPTY(cock_shapes_list)//global_lists.dm for the list initializations //Now also _DATASTRUCTURES globals.dm diff --git a/code/__HELPERS/mobs.dm b/code/__HELPERS/mobs.dm index 709625ca3f..bb00324488 100644 --- a/code/__HELPERS/mobs.dm +++ b/code/__HELPERS/mobs.dm @@ -81,6 +81,8 @@ init_sprite_accessory_subtypes(/datum/sprite_accessory/vagina, GLOB.vagina_shapes_list) if(!GLOB.breasts_shapes_list.len) init_sprite_accessory_subtypes(/datum/sprite_accessory/breasts, GLOB.breasts_shapes_list) + if(!GLOB.ipc_screens_list.len) + init_sprite_accessory_subtypes(/datum/sprite_accessory/screen, GLOB.ipc_screens_list) // if(ishuman(src)) // var/mob/living/carbon/human/H = src /* if(H.gender == MALE) Fuck if I know how to fix this. @@ -114,13 +116,13 @@ "caps" = pick(GLOB.caps_list), "moth_wings" = pick(GLOB.moth_wings_list), "taur" = "None", - "mam_body_markings" = "None", - "mam_ears" = "None", - "mam_tail" = "None", + "mam_body_markings" = "wolf", + "mam_ears" = "wolf", + "mam_tail" = "wolf", "mam_tail_animated" = "None", - "xenodorsal" = "None", - "xenohead" = "None", - "xenotail" = "None", + "xenodorsal" = "standard", + "xenohead" = "standard", + "xenotail" = "standard", "exhibitionist" = FALSE, "genitals_use_skintone" = FALSE, "has_cock" = FALSE, @@ -166,6 +168,7 @@ "womb_cum_mult" = CUM_RATE_MULT, "womb_efficiency" = CUM_EFFICIENCY, "womb_fluid" = "femcum", + "ipc_screen" = "Sunburst", "flavor_text" = "")) /proc/random_hair_style(gender) diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 65bad5219f..631d689ab5 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -1,5 +1,5 @@ /* CAUTION! CAUTION! CAUTION! CAUTION! CAUTION! *\ - | THIS FILE CONTAINS A SHITTON OF | + | THIS FILE CONTAINS HOOKS FOR FOR | | CHANGES SPECIFIC TO CITADEL. IF | | YOU'RE FIXING A MERGE CONFLICT | | HERE, PLEASE ASK FOR REVIEW FROM | @@ -16,7 +16,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) //doohickeys for savefiles var/path var/default_slot = 1 //Holder so it doesn't default to slot 1, rather the last one used - var/max_save_slots = 10 + var/max_save_slots = 3 //non-preference stuff var/muted = 0 @@ -75,73 +75,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) var/skin_tone = "caucasian1" //Skin color var/eye_color = "000" //Eye color var/datum/species/pref_species = new /datum/species/human() //Mutant race - var/list/features = list("mcolor" = "FFF", - "tail_lizard" = "Smooth", - "tail_human" = "None", - "snout" = "Round", - "horns" = "None", - "ears" = "None", - "wings" = "None", - "frills" = "None", - "spines" = "None", - "body_markings" = "None", - "legs" = "Normal Legs", - "moth_wings" = "Plain", - "mcolor2" = "FFF", - "mcolor3" = "FFF", - "mam_body_markings" = "None", - "mam_ears" = "None", - "mam_tail" = "None", - "mam_tail_animated" = "None", - "xenodorsal" = "None", - "xenohead" = "None", - "xenotail" = "None", - "taur" = "None", - "exhibitionist" = FALSE, - "genitals_use_skintone" = FALSE, - "has_cock" = FALSE, - "cock_shape" = "Human", - "cock_length" = 6, - "cock_girth_ratio" = COCK_GIRTH_RATIO_DEF, - "cock_color" = "fff", - "has_sheath" = FALSE, - "sheath_color" = "fff", - "has_balls" = FALSE, - "balls_internal" = FALSE, - "balls_color" = "fff", - "balls_amount" = 2, - "balls_sack_size" = BALLS_SACK_SIZE_DEF, - "balls_size" = BALLS_SIZE_DEF, - "balls_cum_rate" = CUM_RATE, - "balls_cum_mult" = CUM_RATE_MULT, - "balls_efficiency" = CUM_EFFICIENCY, - "balls_fluid" = "semen", - "has_ovi" = FALSE, - "ovi_shape" = "knotted", - "ovi_length" = 6, - "ovi_color" = "fff", - "has_eggsack" = FALSE, - "eggsack_internal" = TRUE, - "eggsack_color" = "fff", - "eggsack_size" = BALLS_SACK_SIZE_DEF, - "eggsack_egg_color" = "fff", - "eggsack_egg_size" = EGG_GIRTH_DEF, - "has_breasts" = FALSE, - "breasts_color" = "fff", - "breasts_size" = "C", - "breasts_shape" = "Pair", - "breasts_fluid" = "milk", - "has_vag" = FALSE, - "vag_shape" = "Human", - "vag_color" = "fff", - "vag_clits" = 1, - "vag_clit_diam" = 0.25, - "has_womb" = FALSE, - "womb_cum_rate" = CUM_RATE, - "womb_cum_mult" = CUM_RATE_MULT, - "womb_efficiency" = CUM_EFFICIENCY, - "womb_fluid" = "femcum", - "flavor_text" = "") + var/list/features = list("mcolor" = "FFF", "tail_lizard" = "Smooth", "tail_human" = "None", "snout" = "Round", "horns" = "None", "ears" = "None", "wings" = "None", "frills" = "None", "spines" = "None", "body_markings" = "None", "legs" = "Normal Legs", "moth_wings" = "Plain") var/list/custom_names = list("human", "clown", "mime", "ai", "cyborg", "religion", "deity") var/prefered_security_department = SEC_DEPT_RANDOM @@ -172,7 +106,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) // Want randomjob if preferences already filled - Donkie var/joblessrole = BERANDOMJOB //defaults to 1 for fewer assistants - // 0 = character settings, 1 = game preferences, 2 = character appearance + // 0 = character settings, 1 = game preferences var/current_tab = 0 // OOC Metadata: @@ -193,7 +127,6 @@ GLOBAL_LIST_EMPTY(preferences_datums) var/action_buttons_screen_locs = list() - /datum/preferences/New(client/C) parent = C custom_names["human"] = random_unique_name() @@ -223,10 +156,10 @@ GLOBAL_LIST_EMPTY(preferences_datums) /datum/preferences/proc/ShowChoices(mob/user) if(!user || !user.client) return - if(current_tab == 2) + if(current_tab == 2) //CITADEL EDIT, for muh nudies update_preview_icon(nude=TRUE) else - update_preview_icon(nude=FALSE) + update_preview_icon(nude=FALSE) //EDIT END user << browse_rsc(preview_icon, "previewicon.png") var/dat = "
" @@ -275,8 +208,6 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "Gender: [gender == MALE ? "Male" : "Female"]
" dat += "Age: [age]
" - dat += "Arousal:[arousable == TRUE ? "Enabled" : "Disabled"]
" - dat += "Exhibitionist:[features["exhibitionist"] == TRUE ? "Yes" : "No"]
" dat += "Special Names:
" dat += "Backup Human Name: [custom_names["human"]] " @@ -295,12 +226,177 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "
" dat += "" - dat += "
" +// CITADEL EDIT - ALL OF THESE ARE HANDLED IN THE MODULAR VERSION, TAB 2 + /* dat += "

Body

" + dat += "Random Body " + dat += "Always Random Body: [be_random_body ? "Yes" : "No"]
" + + dat += "" - dat += "
" + + dat += "Species:
[pref_species.name]
" + + dat += "Underwear:
[underwear]
" + dat += "Undershirt:
[undershirt]
" + dat += "Socks:
[socks]
" dat += "Backpack:
[backbag]
" dat += "Uplink Spawn Location:
[uplink_spawn_loc]
" + if(pref_species.use_skintones) + + dat += "" + + dat += "

Skin Tone

" + + dat += "[skin_tone]
" + + dat += "" + + if(HAIR in pref_species.species_traits) + + dat += "" + + dat += "

Hair Style

" + + dat += "[hair_style]
" + dat += "< >
" + dat += "    Change
" + + + dat += "" + + dat += "

Facial Hair Style

" + + dat += "[facial_hair_style]
" + dat += "< >
" + dat += "    Change
" + + dat += "" + + if((EYECOLOR in pref_species.species_traits) && !(NOEYES in pref_species.species_traits)) + + dat += "" + + dat += "

Eye Color

" + + dat += "    Change
" + + dat += "" + + + if((MUTCOLORS in pref_species.species_traits) || (MUTCOLORS_PARTSONLY in pref_species.species_traits)) + + dat += "" + + dat += "

Mutant Color

" + + dat += "    Change
" + + dat += "" + + if("tail_lizard" in pref_species.mutant_bodyparts) + dat += "" + + dat += "

Tail

" + + dat += "[features["tail_lizard"]]
" + + dat += "" + + if("snout" in pref_species.mutant_bodyparts) + dat += "" + + dat += "

Snout

" + + dat += "[features["snout"]]
" + + dat += "" + + if("horns" in pref_species.mutant_bodyparts) + dat += "" + + dat += "

Horns

" + + dat += "[features["horns"]]
" + + dat += "" + + if("frills" in pref_species.mutant_bodyparts) + dat += "" + + dat += "

Frills

" + + dat += "[features["frills"]]
" + + dat += "" + + if("spines" in pref_species.mutant_bodyparts) + dat += "" + + dat += "

Spines

" + + dat += "[features["spines"]]
" + + dat += "" + + if("body_markings" in pref_species.mutant_bodyparts) + dat += "" + + dat += "

Body Markings

" + + dat += "[features["body_markings"]]
" + + dat += "" + if("legs" in pref_species.mutant_bodyparts) + dat += "" + + dat += "

Legs

" + + dat += "[features["legs"]]
" + + dat += "" + if("moth_wings" in pref_species.mutant_bodyparts) + + dat += "" + + dat += "

Moth wings

" + + dat += "[features["moth_wings"]]
" + + dat += "" + + + + if(CONFIG_GET(flag/join_with_mutant_humans)) + + if("tail_human" in pref_species.mutant_bodyparts) + dat += "" + + dat += "

Tail

" + + dat += "[features["tail_human"]]
" + + dat += "" + + if("ears" in pref_species.mutant_bodyparts) + dat += "" + + dat += "

Ears

" + + dat += "[features["ears"]]
" + + dat += "" + + if("wings" in pref_species.mutant_bodyparts && GLOB.r_wings_list.len >1) + dat += "" + + dat += "

Wings

" + + dat += "[features["wings"]]
" + + dat += "" + + dat += ""*/ if (1) // Game Preferences @@ -316,7 +412,6 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "Window Flashing: [(windowflashing) ? "Yes" : "No"]
" dat += "Play admin midis: [(toggles & SOUND_MIDI) ? "Yes" : "No"]
" dat += "Play lobby music: [(toggles & SOUND_LOBBY) ? "Yes" : "No"]
" - dat += "Allow MediHound sleeper: [(toggles & MEDIHOUND_SLEEPER) ? "Yes" : "No"]
" dat += "Ghost ears: [(chat_toggles & CHAT_GHOSTEARS) ? "All Speech" : "Nearest Creatures"]
" dat += "Ghost sight: [(chat_toggles & CHAT_GHOSTSIGHT) ? "All Emotes" : "Nearest Creatures"]
" dat += "Ghost whispers: [(chat_toggles & CHAT_GHOSTWHISPER) ? "All Speech" : "Nearest Creatures"]
" @@ -324,9 +419,6 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "Ghost pda: [(chat_toggles & CHAT_GHOSTPDA) ? "All Messages" : "Nearest Creatures"]
" dat += "Pull requests: [(chat_toggles & CHAT_PULLR) ? "Yes" : "No"]
" dat += "Midround Antagonist: [(toggles & MIDROUND_ANTAG) ? "Yes" : "No"]
" - //VORE SOUNDS - dat += "Hear Vore Sounds: [(toggles & EATING_NOISES) ? "Yes" : "No"]
" - dat += "Hear Vore Digestion Sounds: [(toggles & DIGESTION_NOISES) ? "Yes" : "No"]
" if(CONFIG_GET(flag/allow_metadata)) dat += "OOC Notes: Edit
" @@ -398,15 +490,6 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "High" dat += "
" - 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.client.prefs.screenshake==0) - dat += "Damage Screen Shake: [(damagescreenshake==1) ? "On" : ((damagescreenshake==0) ? "Off" : "Only when down")]
" - dat += "" dat += "

Special Role Settings

" @@ -430,140 +513,21 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "Be [capitalize(i)]: \[IN [days_remaining] DAYS]
" else dat += "Be [capitalize(i)]: [(i in be_special) ? "Yes" : "No"]
" - - dat += "" - - //Character Appearance - if(2) dat += "" - */ + dat += "

Citadel Preferences

" //Because fuck me if preferences can't be fucking modularized and expected to update in a reasonable timeframe. + dat += "Arousal:[arousable == TRUE ? "Enabled" : "Disabled"]
" + dat += "Exhibitionist:[features["exhibitionist"] == TRUE ? "Yes" : "No"]
" + dat += "Allow MediHound sleeper:[(cit_toggles & MEDIHOUND_SLEEPER) ? "Yes" : "No"]
" + dat += "Hear Vore Sounds:[(cit_toggles & EATING_NOISES) ? "Yes" : "No"]
" + dat += "Hear Vore Digestion Sounds:[(cit_toggles & DIGESTION_NOISES) ? "Yes" : "No"]
" + 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")]
" dat += "
" - dat += "

" - dat += "Set Flavor Text
" - if(lentext(features["flavor_text"]) <= 40) - if(!lentext(features["flavor_text"])) - dat += "\[...\]" - else - dat += "[features["flavor_text"]]" - else - dat += "[TextPreview(features["flavor_text"])]...
" - dat += "

Body

" - dat += "Gender: [gender == MALE ? "Male" : "Female"]
" - dat += "Species:[pref_species.id]
" - dat += "Random Body
" - dat += "Always Random Body: [be_random_body ? "Yes" : "No"]
" - if((MUTCOLORS in pref_species.species_traits) || (MUTCOLORS_PARTSONLY in pref_species.species_traits)) - dat += "Primary Color:     Change
" - dat += "Secondary Color:     Change
" - dat += "Tertiary Color:     Change
" - if(pref_species.use_skintones) - dat += "Skin Tone: [skin_tone]
" - dat += "Genitals Use Skintone:[features["genitals_use_skintone"] == TRUE ? "Enabled" : "Disabled"]
" - - if(HAIR in pref_species.species_traits) - dat += "Hair Style: [hair_style]
" - dat += "Hair Color:     Change
" - dat += "Facial Hair Style: [facial_hair_style]
" - dat += "Facial Hair Color:     Change
" - if(EYECOLOR in pref_species.species_traits) - dat += "Eye Color:     Change
" - if("tail_lizard" in pref_species.mutant_bodyparts) - dat += "Tail: [features["tail_lizard"]]
" - else if("mam_tail" in pref_species.mutant_bodyparts) - dat += "Tail: [features["mam_tail"]]
" - else if("tail_human" in pref_species.mutant_bodyparts) - dat += "Tail: [features["tail_human"]]
" - if("snout" in pref_species.mutant_bodyparts) - dat += "Snout: [features["snout"]]
" - if("horns" in pref_species.mutant_bodyparts) - dat += "Horns: [features["horns"]]
" - if("frills" in pref_species.mutant_bodyparts) - dat += "Frills: [features["frills"]]
" - if("spines" in pref_species.mutant_bodyparts) - dat += "Spines: [features["spines"]]
" - if("body_markings" in pref_species.mutant_bodyparts) - dat += "Body Markings: [features["body_markings"]]
" - else if("mam_body_markings" in pref_species.mutant_bodyparts) - dat += "Body Markings: [features["mam_body_markings"]]
" - if("mam_ears" in pref_species.mutant_bodyparts) - dat += "Ears: [features["mam_ears"]]
" - else if("ears" in pref_species.mutant_bodyparts) - dat += "Ears: [features["ears"]]
" - if("legs" in pref_species.mutant_bodyparts) - dat += "Legs: [features["legs"]]
" - if("moth_wings" in pref_species.mutant_bodyparts) - dat += "Moth wings[features["moth_wings"]]
" - - if("taur" in pref_species.mutant_bodyparts) - dat += "Taur: [features["taur"]]
" - if("wings" in pref_species.mutant_bodyparts && GLOB.r_wings_list.len >1) - dat += "Wings: [features["wings"]]
" - if("xenohead" in pref_species.mutant_bodyparts) - dat += "Caste: [features["xenohead"]]
" - if("xenotail" in pref_species.mutant_bodyparts) - dat += "Tail: [features["xenotail"]]
" - if("xenodorsal" in pref_species.mutant_bodyparts) - dat += "Dorsal Tubes: [features["xenodorsal"]]
" - - dat += "
" - - - dat += "

Clothing & Equipment

" -//underwear will be refactored later so it fits in with other wearable equipment and isn't just an overlay -// dat += "Underwear:[underwear]
" -// dat += "Undershirt:[undershirt]
" -// dat += "Socks:[socks]
" - dat += "Backpack:[backbag]
" - dat += "Uplink Location:[uplink_spawn_loc]
" - - dat += "

Genitals

" - if(NOGENITALS in pref_species.species_traits) - dat += "Your species ([pref_species.name]) does not support genitals!
" - else - dat += "Has Penis:[features["has_cock"] == TRUE ? "Yes" : "No"]
" - if(features["has_cock"] == TRUE) - if(pref_species.use_skintones && features["genitals_use_skintone"] == TRUE) - dat += "Penis Color:   (Skin tone overriding)
" - else - dat += "Penis Color:    Change
" -// dat += "
" - dat += "Penis Shape: [features["cock_shape"]]
" - dat += "Penis Length: [features["cock_length"]] inch(es)
" - dat += "Has Testicles:[features["has_balls"] == TRUE ? "Yes" : "No"]
" - if(features["has_balls"] == TRUE) - if(pref_species.use_skintones && features["genitals_use_skintone"] == TRUE) - dat += "Testicles Color:   (Skin tone overriding)
" - else - dat += "Testicles Color:    Change
" - dat += "Has Vagina:[features["has_vag"] == TRUE ? "Yes" : "No"]
" - if(features["has_vag"]) - dat += "Vagina Type: [features["vag_shape"]]
" - if(pref_species.use_skintones && features["genitals_use_skintone"] == TRUE) - dat += "Vagina Color:   (Skin tone overriding)
" - else - dat += "Vagina Color:    Change
" - dat += "Has Womb:[features["has_womb"] == TRUE ? "Yes" : "No"]
" - dat += "Has Breasts:[features["has_breasts"] == TRUE ? "Yes" : "No"]
" - if(features["has_breasts"]) - if(pref_species.use_skintones && features["genitals_use_skintone"] == TRUE) - dat += "Color:   (Skin tone overriding)
" - else - dat += "Color:    Change
" - dat += "Cup Size:[features["breasts_size"]]
" - dat += "Breast Shape:[features["breasts_shape"]]
" - /* - dat += "

Ovipositor

" - dat += "Has Ovipositor:[features["has_ovi"] == TRUE ? "Yes" : "No"]" - if(features["has_ovi"]) - dat += "Ovi Color:    Change" - dat += "

Eggsack

" - dat += "Has Eggsack:[features["has_eggsack"] == TRUE ? "Yes" : "No"]
" - if(features["has_eggsack"] == TRUE) - dat += "Color:    Change" - dat += "Egg Color:    Change" - dat += "Egg Size:[features["eggsack_egg_size"]]\" Diameter" - dat += "
" + if(3) if(!gear_tab) gear_tab = GLOB.loadout_items[1] @@ -614,6 +578,10 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "" dat += "[gear.description]" dat += "" + + else + dat = citadel_dat_replace(current_tab) + dat += "
" if(!IsGuestKey(user.key)) @@ -1125,18 +1093,12 @@ GLOBAL_LIST_EMPTY(preferences_datums) if(new_age) age = max(min( round(text2num(new_age)), AGE_MAX),AGE_MIN) - if("flavor_text") - var/msg = stripped_multiline_input(usr,"Set the flavor text in your 'examine' verb. This can also be used for OOC notes and preferences!","Flavor Text",html_decode(features["flavor_text"]), MAX_MESSAGE_LEN*2, TRUE) as message - if(msg != null) - msg = copytext(msg, 1, MAX_MESSAGE_LEN*2) - features["flavor_text"] = msg - if("metadata") var/new_metadata = input(user, "Enter any information you'd like others to see, such as Roleplay-preferences:", "Game Preference" , metadata) as message|null if(new_metadata) metadata = sanitize(copytext(new_metadata,1,MAX_MESSAGE_LEN)) - if("hair") +/* if("hair") var/new_hair = input(user, "Choose your character's hair colour:", "Character Preference","#"+hair_color) as color|null if(new_hair) hair_color = sanitize_hexcolor(new_hair) @@ -1227,12 +1189,8 @@ GLOBAL_LIST_EMPTY(preferences_datums) pref_species = new newtype() //Now that we changed our species, we must verify that the mutant colour is still allowed. var/temp_hsv = RGBtoHSV(features["mcolor"]) - if(features["mcolor"] == "#000" || (!(MUTCOLORS_PARTSONLY in pref_species.species_traits) && ReadHSV(temp_hsv)[3] < ReadHSV("#202020")[3])) + if(features["mcolor"] == "#000" || (!(MUTCOLORS_PARTSONLY in pref_species.species_traits) && ReadHSV(temp_hsv)[3] < ReadHSV("#7F7F7F")[3])) features["mcolor"] = pref_species.default_color - if(features["mcolor2"] == "#000" || (!(MUTCOLORS_PARTSONLY in pref_species.species_traits) && ReadHSV(temp_hsv)[3] < ReadHSV("#202020")[3])) - features["mcolor2"] = pref_species.default_color - if(features["mcolor3"] == "#000" || (!(MUTCOLORS_PARTSONLY in pref_species.species_traits) && ReadHSV(temp_hsv)[3] < ReadHSV("#202020")[3])) - features["mcolor3"] = pref_species.default_color if("mutant_color") var/new_mutantcolor = input(user, "Choose your character's alien/mutant color:", "Character Preference","#"+features["mcolor"]) as color|null @@ -1240,86 +1198,22 @@ GLOBAL_LIST_EMPTY(preferences_datums) var/temp_hsv = RGBtoHSV(new_mutantcolor) if(new_mutantcolor == "#000000") features["mcolor"] = pref_species.default_color - else if((MUTCOLORS_PARTSONLY in pref_species.species_traits) || ReadHSV(temp_hsv)[3] >= ReadHSV("#202020")[3]) // mutantcolors must be bright, but only if they affect the skin + else if((MUTCOLORS_PARTSONLY in pref_species.species_traits) || ReadHSV(temp_hsv)[3] >= ReadHSV("#7F7F7F")[3]) // mutantcolors must be bright, but only if they affect the skin features["mcolor"] = sanitize_hexcolor(new_mutantcolor) else to_chat(user, "Invalid color. Your color is not bright enough.") - if("mutant_color2") - var/new_mutantcolor = input(user, "Choose your character's secondary alien/mutant color:", "Character Preference") as color|null - if(new_mutantcolor) - var/temp_hsv = RGBtoHSV(new_mutantcolor) - if(new_mutantcolor == "#000000") - features["mcolor2"] = pref_species.default_color - else if((MUTCOLORS_PARTSONLY in pref_species.species_traits) || ReadHSV(temp_hsv)[3] >= ReadHSV("#202020")[3]) // mutantcolors must be bright, but only if they affect the skin - features["mcolor2"] = sanitize_hexcolor(new_mutantcolor) - else - to_chat(user, "Invalid color. Your color is not bright enough.") - - if("mutant_color3") - var/new_mutantcolor = input(user, "Choose your character's tertiary alien/mutant color:", "Character Preference") as color|null - if(new_mutantcolor) - var/temp_hsv = RGBtoHSV(new_mutantcolor) - if(new_mutantcolor == "#000000") - features["mcolor3"] = pref_species.default_color - else if((MUTCOLORS_PARTSONLY in pref_species.species_traits) || ReadHSV(temp_hsv)[3] >= ReadHSV("#202020")[3]) // mutantcolors must be bright, but only if they affect the skin - features["mcolor3"] = sanitize_hexcolor(new_mutantcolor) - else - to_chat(user, "Invalid color. Your color is not bright enough.") - if("tail_lizard") var/new_tail new_tail = input(user, "Choose your character's tail:", "Character Preference") as null|anything in GLOB.tails_list_lizard if(new_tail) features["tail_lizard"] = new_tail - if(new_tail != "None") - features["taur"] = "None" if("tail_human") - var/list/snowflake_tails_list = list("Normal" = null) - for(var/path in GLOB.tails_list_human) - var/datum/sprite_accessory/tails/human/instance = GLOB.tails_list_human[path] - if(istype(instance, /datum/sprite_accessory)) - var/datum/sprite_accessory/S = instance - if((!S.ckeys_allowed) || (S.ckeys_allowed.Find(user.client.ckey))) - snowflake_tails_list[S.name] = path var/new_tail - new_tail = input(user, "Choose your character's tail:", "Character Preference") as null|anything in snowflake_tails_list + new_tail = input(user, "Choose your character's tail:", "Character Preference") as null|anything in GLOB.tails_list_human if(new_tail) - features["tail_human"] = new_tail - if(new_tail != "None") - features["taur"] = "None" - - if("mam_tail") - var/list/snowflake_tails_list = list("Normal" = null) - for(var/path in GLOB.mam_tails_list) - var/datum/sprite_accessory/mam_tails/instance = GLOB.mam_tails_list[path] - if(istype(instance, /datum/sprite_accessory)) - var/datum/sprite_accessory/S = instance - if((!S.ckeys_allowed) || (S.ckeys_allowed.Find(user.client.ckey))) - snowflake_tails_list[S.name] = path - var/new_tail - new_tail = input(user, "Choose your character's tail:", "Character Preference") as null|anything in snowflake_tails_list - if(new_tail) - features["mam_tail"] = new_tail - if(new_tail != "None") - features["taur"] = "None" - - if("taur") - var/list/snowflake_taur_list = list("Normal" = null) - for(var/path in GLOB.taur_list) - var/datum/sprite_accessory/taur/instance = GLOB.taur_list[path] - if(istype(instance, /datum/sprite_accessory)) - var/datum/sprite_accessory/S = instance - if((!S.ckeys_allowed) || (S.ckeys_allowed.Find(user.client.ckey))) - snowflake_taur_list[S.name] = path - var/new_taur - new_taur = input(user, "Choose your character's tauric body:", "Character Preference") as null|anything in snowflake_taur_list - if(new_taur) - features["taur"] = new_taur - if(new_taur != "None") - features["mam_tail"] = "None" - features["xenotail"] = "None" + features["tail_human"] = new_tail if("snout") var/new_snout @@ -1327,19 +1221,6 @@ GLOBAL_LIST_EMPTY(preferences_datums) if(new_snout) features["snout"] = new_snout - if("mam_ears") - var/list/snowflake_ears_list = list("Normal" = null) - for(var/path in GLOB.mam_ears_list) - var/datum/sprite_accessory/mam_ears/instance = GLOB.mam_ears_list[path] - if(istype(instance, /datum/sprite_accessory)) - var/datum/sprite_accessory/S = instance - if((!S.ckeys_allowed) || (S.ckeys_allowed.Find(user.client.ckey))) - snowflake_ears_list[S.name] = path - var/new_ears - new_ears = input(user, "Choose your character's ears:", "Character Preference") as null|anything in snowflake_ears_list - if(new_ears) - features["mam_ears"] = new_ears - if("horns") var/new_horns new_horns = input(user, "Choose your character's horns:", "Character Preference") as null|anything in GLOB.horns_list @@ -1347,15 +1228,8 @@ GLOBAL_LIST_EMPTY(preferences_datums) features["horns"] = new_horns if("ears") - var/list/snowflake_ears_list = list("Normal" = null) - for(var/path in GLOB.ears_list) - var/datum/sprite_accessory/ears/instance = GLOB.ears_list[path] - if(istype(instance, /datum/sprite_accessory)) - var/datum/sprite_accessory/S = instance - if((!S.ckeys_allowed) || (S.ckeys_allowed.Find(user.client.ckey))) - snowflake_ears_list[S.name] = path var/new_ears - new_ears = input(user, "Choose your character's ears:", "Character Preference") as null|anything in snowflake_ears_list + new_ears = input(user, "Choose your character's ears:", "Character Preference") as null|anything in GLOB.ears_list if(new_ears) features["ears"] = new_ears @@ -1365,12 +1239,6 @@ GLOBAL_LIST_EMPTY(preferences_datums) if(new_wings) features["wings"] = new_wings - if("moth_wings") - var/new_moth_wings - new_moth_wings = input(user, "Choose your character's wings:", "Character Preference") as null|anything in GLOB.moth_wings_list - if(new_moth_wings) - features["moth_wings"] = new_moth_wings - if("frills") var/new_frills new_frills = input(user, "Choose your character's frills:", "Character Preference") as null|anything in GLOB.frills_list @@ -1389,48 +1257,22 @@ GLOBAL_LIST_EMPTY(preferences_datums) if(new_body_markings) features["body_markings"] = new_body_markings - if("mam_body_markings") - var/list/snowflake_markings_list = list("Normal" = null) - for(var/path in GLOB.mam_body_markings_list) - var/datum/sprite_accessory/mam_body_markings/instance = GLOB.mam_body_markings_list[path] - if(istype(instance, /datum/sprite_accessory)) - var/datum/sprite_accessory/S = instance - if((!S.ckeys_allowed) || (S.ckeys_allowed.Find(user.client.ckey))) - snowflake_markings_list[S.name] = path - var/new_mam_body_markings - new_mam_body_markings = input(user, "Choose your character's body markings:", "Character Preference") as null|anything in snowflake_markings_list - if(new_mam_body_markings) - features["mam_body_markings"] = new_mam_body_markings - - //Xeno Bodyparts - if("xenohead")//Head or caste type - var/new_head - new_head = input(user, "Choose your character's caste:", "Character Preference") as null|anything in GLOB.xeno_head_list - if(new_head) - features["xenohead"] = new_head - - if("xenotail")//Currently one one type, more maybe later if someone sprites them. Might include animated variants in the future. - var/new_tail - new_tail = input(user, "Choose your character's tail:", "Character Preference") as null|anything in GLOB.xeno_tail_list - if(new_tail) - features["xenotail"] = new_tail - - if("xenodorsal") - var/new_dors - new_dors = input(user, "Choose your character's dorsal tube type:", "Character Preference") as null|anything in GLOB.xeno_dorsal_list - if(new_dors) - features["xenodorsal"] = new_dors - if("legs") var/new_legs new_legs = input(user, "Choose your character's legs:", "Character Preference") as null|anything in GLOB.legs_list if(new_legs) features["legs"] = new_legs + if("moth_wings") + var/new_moth_wings + new_moth_wings = input(user, "Choose your character's wings:", "Character Preference") as null|anything in GLOB.moth_wings_list + if(new_moth_wings) + features["moth_wings"] = new_moth_wings + if("s_tone") var/new_s_tone = input(user, "Choose your character's skin-tone:", "Character Preference") as null|anything in GLOB.skin_tones if(new_s_tone) - skin_tone = new_s_tone + skin_tone = new_s_tone*/ if("ooccolor") var/new_ooccolor = input(user, "Choose your OOC colour:", "Game Preference",ooccolor) as color|null @@ -1538,212 +1380,34 @@ GLOBAL_LIST_EMPTY(preferences_datums) if(pickedPDAColor) pda_color = pickedPDAColor - //citadel code - if("cock_color") - var/new_cockcolor = input(user, "Penis color:", "Character Preference") as color|null - if(new_cockcolor) - var/temp_hsv = RGBtoHSV(new_cockcolor) - if(new_cockcolor == "#000000") - features["cock_color"] = pref_species.default_color - else if((MUTCOLORS_PARTSONLY in pref_species.species_traits) || ReadHSV(temp_hsv)[3] >= ReadHSV("#202020")[3]) - features["cock_color"] = sanitize_hexcolor(new_cockcolor) - else - user << "Invalid color. Your color is not bright enough." - - if("cock_length") - var/new_length = input(user, "Penis length in inches:\n([COCK_SIZE_MIN]-[COCK_SIZE_MAX])", "Character Preference") as num|null - if(new_length) - features["cock_length"] = max(min( round(text2num(new_length)), COCK_SIZE_MAX),COCK_SIZE_MIN) - - if("cock_shape") - var/new_shape - new_shape = input(user, "Penis shape:", "Character Preference") as null|anything in GLOB.cock_shapes_list - if(new_shape) - features["cock_shape"] = new_shape - - if("balls_color") - var/new_ballscolor = input(user, "Testicle Color:", "Character Preference") as color|null - if(new_ballscolor) - var/temp_hsv = RGBtoHSV(new_ballscolor) - if(new_ballscolor == "#000000") - features["balls_color"] = pref_species.default_color - else if((MUTCOLORS_PARTSONLY in pref_species.species_traits) || ReadHSV(temp_hsv)[3] >= ReadHSV("#202020")[3]) - features["balls_color"] = sanitize_hexcolor(new_ballscolor) - else - user << "Invalid color. Your color is not bright enough." - - if("egg_size") - var/new_size - var/list/egg_sizes = list(1,2,3) - new_size = input(user, "Egg Diameter(inches):", "Egg Size") as null|anything in egg_sizes - if(new_size) - features["eggsack_egg_size"] = new_size - - if("egg_color") - var/new_egg_color = input(user, "Egg Color:", "Character Preference") as color|null - if(new_egg_color) - var/temp_hsv = RGBtoHSV(new_egg_color) - if(ReadHSV(temp_hsv)[3] >= ReadHSV("#202020")[3]) - features["eggsack_egg_color"] = sanitize_hexcolor(new_egg_color) - else - user << "Invalid color. Your color is not bright enough." - if("breasts_size") - var/new_size - new_size = input(user, "Breast Size", "Character Preference") as null|anything in GLOB.breasts_size_list - if(new_size) - features["breasts_size"] = new_size - - if("breasts_shape") - var/new_shape - new_shape = input(user, "Breast Shape", "Character Preference") as null|anything in GLOB.breasts_shapes_list - if(new_shape) - features["breasts_shape"] = new_shape - - if("breasts_color") - var/new_breasts_color = input(user, "Breast Color:", "Character Preference") as color|null - if(new_breasts_color) - var/temp_hsv = RGBtoHSV(new_breasts_color) - if(new_breasts_color == "#000000") - features["breasts_color"] = pref_species.default_color - else if((MUTCOLORS_PARTSONLY in pref_species.species_traits) || ReadHSV(temp_hsv)[3] >= ReadHSV("#202020")[3]) - features["breasts_color"] = sanitize_hexcolor(new_breasts_color) - else - user << "Invalid color. Your color is not bright enough." - - if("vag_shape") - var/new_shape - new_shape = input(user, "Vagina Type", "Character Preference") as null|anything in GLOB.vagina_shapes_list - if(new_shape) - features["vag_shape"] = new_shape - if("vag_color") - var/new_vagcolor = input(user, "Vagina color:", "Character Preference") as color|null - if(new_vagcolor) - var/temp_hsv = RGBtoHSV(new_vagcolor) - if(new_vagcolor == "#000000") - features["vag_color"] = pref_species.default_color - else if((MUTCOLORS_PARTSONLY in pref_species.species_traits) || ReadHSV(temp_hsv)[3] >= ReadHSV("#202020")[3]) - features["vag_color"] = sanitize_hexcolor(new_vagcolor) - else - user << "Invalid color. Your color is not bright enough." - - - else switch(href_list["preference"]) - //citadel code + //CITADEL PREFERENCES EDIT - I can't figure out how to modularize these, so they have to go here. :c -Pooj if("genital_colour") - switch(features["genitals_use_skintone"]) - if(TRUE) - features["genitals_use_skintone"] = FALSE - if(FALSE) - features["genitals_use_skintone"] = TRUE - else - features["genitals_use_skintone"] = FALSE + features["genitals_use_skintone"] = !features["genitals_use_skintone"] if("arousable") - switch(arousable) - if(TRUE) - arousable = FALSE - if(FALSE) - arousable = TRUE - else//failsafe - arousable = FALSE + arousable = !arousable if("has_cock") - switch(features["has_cock"]) - if(TRUE) - features["has_cock"] = FALSE - if(FALSE) - features["has_cock"] = TRUE - features["has_ovi"] = FALSE - features["has_eggsack"] = FALSE - else - features["has_cock"] = FALSE - features["has_ovi"] = FALSE + features["has_cock"] = !features["has_cock"] if("has_balls") - switch(features["has_balls"]) - if(TRUE) - features["has_balls"] = FALSE - if(FALSE) - features["has_balls"] = TRUE - features["has_eggsack"] = FALSE - else - features["has_balls"] = FALSE - features["has_eggsack"] = FALSE + features["has_balls"] = !features["has_balls"] if("has_ovi") - switch(features["has_ovi"]) - if(TRUE) - features["has_ovi"] = FALSE - if(FALSE) - features["has_ovi"] = TRUE - features["has_cock"] = FALSE - features["has_balls"] = FALSE - else - features["has_ovi"] = FALSE - features["has_cock"] = FALSE - + features["has_ovi"] = !features["has_ovi"] if("has_eggsack") - switch(features["has_eggsack"]) - if(TRUE) - features["has_eggsack"] = FALSE - if(FALSE) - features["has_eggsack"] = TRUE - features["has_balls"] = FALSE - else - features["has_eggsack"] = FALSE - features["has_balls"] = FALSE + features["has_eggsack"] = !features["has_eggsack"] if("balls_internal") - switch(features["balls_internal"]) - if(TRUE) - features["balls_internal"] = FALSE - if(FALSE) - features["balls_internal"] = TRUE - features["eggsack_internal"] = FALSE - else - features["balls_internal"] = FALSE - features["eggsack_internal"] = FALSE - + features["balls_internal"] = !features["balls_internal"] if("eggsack_internal") - switch(features["eggsack_internal"]) - if(TRUE) - features["eggsack_internal"] = FALSE - if(FALSE) - features["eggsack_internal"] = TRUE - features["balls_internal"] = FALSE - else - features["eggsack_internal"] = FALSE - features["balls_internal"] = FALSE + features["eggsack_internal"] = !features["eggsack_internal"] if("has_breasts") - switch(features["has_breasts"]) - if(TRUE) - features["has_breasts"] = FALSE - if(FALSE) - features["has_breasts"] = TRUE - else - features["has_breasts"] = FALSE + features["has_breasts"] = !features["has_breasts"] if("has_vag") - switch(features["has_vag"]) - if(TRUE) - features["has_vag"] = FALSE - if(FALSE) - features["has_vag"] = TRUE - else - features["has_vag"] = FALSE + features["has_vag"] = !features["has_vag"] if("has_womb") - switch(features["has_womb"]) - if(TRUE) - features["has_womb"] = FALSE - if(FALSE) - features["has_womb"] = TRUE - else - features["has_womb"] = FALSE + features["has_womb"] = !features["has_womb"] if("exhibitionist") - switch(features["exhibitionist"]) - if(TRUE) - features["exhibitionist"] = FALSE - if(FALSE) - features["exhibitionist"] = TRUE - else - features["exhibitionist"] = FALSE + features["exhibitionist"] = !features["exhibitionist"] if("widescreenpref") widescreenpref = !widescreenpref user.client.change_view(CONFIG_GET(string/default_view)) @@ -1763,6 +1427,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) damagescreenshake = 0 else damagescreenshake = 1 + //END CITADEL EDIT if("publicity") if(unlock_content) toggles ^= MEMBER_PUBLIC @@ -1818,12 +1483,6 @@ GLOBAL_LIST_EMPTY(preferences_datums) user.client.playtitlemusic() else user.stop_sound_channel(CHANNEL_LOBBYMUSIC) - // VORE SOUND TOGGLES - if("toggleeatingnoise") - toggles ^= EATING_NOISES - - if("toggledigestionnoise") - toggles ^= DIGESTION_NOISES if("ghost_ears") chat_toggles ^= CHAT_GHOSTEARS @@ -1843,9 +1502,6 @@ GLOBAL_LIST_EMPTY(preferences_datums) if("pull_requests") chat_toggles ^= CHAT_PULLR - if("hound_sleeper") - toggles ^= MEDIHOUND_SLEEPER - if("allow_midround_antag") toggles ^= MIDROUND_ANTAG @@ -1858,6 +1514,16 @@ GLOBAL_LIST_EMPTY(preferences_datums) parallax = WRAP(parallax - 1, PARALLAX_INSANE, PARALLAX_DISABLE + 1) if (parent && parent.mob && parent.mob.hud_used) parent.mob.hud_used.update_parallax_pref(parent.mob) + // 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 + //END CITADEL EDIT if("save") save_preferences() @@ -1909,6 +1575,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) LAZYADD(chosen_gear, G.type) gear_points -= initial(G.cost) + process_citadel_link(user, href_list) ShowChoices(user) return 1 @@ -1962,13 +1629,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) save_character() character.set_species(chosen_species, icon_update=0) - //citadel code - character.give_genitals(TRUE) - character.flavor_text = features["flavor_text"] //Let's update their flavor_text at least initially - character.canbearoused = arousable - if(icon_updates) character.update_body() character.update_hair() - character.update_body_parts() - character.update_genitals() + character.update_body_parts() \ No newline at end of file diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm index 8bebf460e6..d2efc477c6 100644 --- a/code/modules/client/preferences_savefile.dm +++ b/code/modules/client/preferences_savefile.dm @@ -383,17 +383,14 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car if(gender == MALE) hair_style = sanitize_inlist(hair_style, GLOB.hair_styles_male_list) facial_hair_style = sanitize_inlist(facial_hair_style, GLOB.facial_hair_styles_male_list) - //underwear = sanitize_inlist(underwear, GLOB.underwear_m) - //undershirt = sanitize_inlist(undershirt, GLOB.undershirt_m) + underwear = sanitize_inlist(underwear, GLOB.underwear_m) + undershirt = sanitize_inlist(undershirt, GLOB.undershirt_m) else hair_style = sanitize_inlist(hair_style, GLOB.hair_styles_female_list) facial_hair_style = sanitize_inlist(facial_hair_style, GLOB.facial_hair_styles_female_list) - //underwear = sanitize_inlist(underwear, GLOB.underwear_f) - //undershirt = sanitize_inlist(undershirt, GLOB.undershirt_f) - //socks = sanitize_inlist(socks, GLOB.socks_list) - underwear = "Nude" - undershirt = "Nude" - socks = "Nude" + underwear = sanitize_inlist(underwear, GLOB.underwear_f) + undershirt = sanitize_inlist(undershirt, GLOB.undershirt_f) + socks = sanitize_inlist(socks, GLOB.socks_list) age = sanitize_integer(age, AGE_MIN, AGE_MAX, initial(age)) hair_color = sanitize_hexcolor(hair_color, 3, 0) facial_hair_color = sanitize_hexcolor(facial_hair_color, 3, 0) diff --git a/code/modules/clothing/glasses/vg_glasses.dm b/code/modules/clothing/glasses/vg_glasses.dm index 8cccfe9e08..58df3102ce 100644 --- a/code/modules/clothing/glasses/vg_glasses.dm +++ b/code/modules/clothing/glasses/vg_glasses.dm @@ -5,38 +5,38 @@ desc = "Strangely ancient technology used to help provide rudimentary eye cover. Enhanced shielding blocks many flashes, and the colored lenses let you see the world in purple." name = "purple sunglasses" icon_state = "sun_purple" - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/glasses.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/glasses.dmi' /obj/item/clothing/glasses/sunglasses/star name = "star-shaped sunglasses" desc = "Novelty sunglasses, both lenses are in the shape of a star." icon_state = "sun_star" - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/glasses.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/glasses.dmi' /obj/item/clothing/glasses/sunglasses/rockstar name = "red star-shaped sunglasses" desc = "Novelty sunglasses with a fancy silver frame and two red-tinted star-shaped lenses. You should probably stomp on them and get a pair of normal ones." icon_state = "sun_star_silver" - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/glasses.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/glasses.dmi' /obj/item/clothing/glasses/gglasses name = "Green Glasses" desc = "Forest green glasses, like the kind you'd wear when hatching a nasty scheme." icon_state = "gglasses" item_state = "gglasses" - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/glasses.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/glasses.dmi' /obj/item/clothing/glasses/welding/superior name = "superior welding goggles" desc = "Welding goggles made from more expensive materials, strangely smells like potatoes. Allows for better vision than normal goggles.." icon_state = "rwelding-g" item_state = "rwelding-g" - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/glasses.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/glasses.dmi' actions_types = list(/datum/action/item_action/toggle) flash_protect = 2 tint = 1 diff --git a/code/modules/clothing/gloves/vg_gloves.dm b/code/modules/clothing/gloves/vg_gloves.dm index 2b20d478eb..6d7e775314 100644 --- a/code/modules/clothing/gloves/vg_gloves.dm +++ b/code/modules/clothing/gloves/vg_gloves.dm @@ -5,49 +5,49 @@ icon_state = "bmgloves" item_state = "bmgloves" item_color = "bmgloves" - icon = 'icons/obj/clothing/vg_clothes.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' obj/item/clothing/gloves/bikergloves name = "Biker's Gloves" icon_state = "biker-gloves" item_state = "biker-gloves" item_color = "bikergloves" - icon = 'icons/obj/clothing/vg_clothes.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' /obj/item/clothing/gloves/megagloves desc = "Uncomfortably bulky armored gloves." name = "DRN-001 Gloves" icon_state = "megagloves" item_state = "megagloves" - icon = 'icons/obj/clothing/vg_clothes.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' /obj/item/clothing/gloves/protogloves desc = "Funcionally identical to the DRN-001 model's, but in red!" name = "Prototype Gloves" icon_state = "protogloves" item_state = "protogloves" - icon = 'icons/obj/clothing/vg_clothes.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' /obj/item/clothing/gloves/megaxgloves desc = "An upgrade to the DRN-001's gauntlets, retains the uncomfortable armor, but comes with white gloves!" name = "Maverick Hunter gloves" icon_state = "megaxgloves" item_state = "megaxgloves" - icon = 'icons/obj/clothing/vg_clothes.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' /obj/item/clothing/gloves/joegloves desc = "Large grey gloves, very similar to the Prototype's." name = "Sniper Gloves" icon_state = "joegloves" item_state = "joegloves" - icon = 'icons/obj/clothing/vg_clothes.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' /obj/item/clothing/gloves/doomguy desc = "" name = "Doomguy's gloves" icon_state = "doom" item_state = "doom" - icon = 'icons/obj/clothing/vg_clothes.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' /obj/item/clothing/gloves/anchor_arms name = "Anchor Arms" @@ -60,11 +60,11 @@ obj/item/clothing/gloves/bikergloves desc = "Utilizes a non-slip technology that allows you to never drop your precious bottles of vodka." icon_state = "nr_gloves" item_state = "nr_gloves" - icon = 'icons/obj/clothing/vg_clothes.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' /obj/item/clothing/gloves/neorussian/fingerless name = "neo-Russian fingerless gloves" desc = "For these tense combat situations when you just have to pick your nose." icon_state = "nr_fgloves" item_state = "nr_fgloves" - icon = 'icons/obj/clothing/vg_clothes.dmi' \ No newline at end of file + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' \ No newline at end of file diff --git a/code/modules/clothing/head/cit_hats.dm b/code/modules/clothing/head/cit_hats.dm index 92d1a2224c..8cdfe807c8 100644 --- a/code/modules/clothing/head/cit_hats.dm +++ b/code/modules/clothing/head/cit_hats.dm @@ -1,7 +1,7 @@ /obj/item/clothing/head/hunter name = "hunter" desc = "A basic hat for hunting things." - icon = 'icons/obj/clothing/cit_hats.dmi' + icon = 'modular_citadel/icons/obj/clothing/cit_hats.dmi' icon_state = "hunter" item_state = "hunter_worn" - icon_override = 'icons/mob/citadel/head.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/head.dmi' diff --git a/code/modules/clothing/head/vg_hats.dm b/code/modules/clothing/head/vg_hats.dm index 1113d1b3fc..56844193c6 100644 --- a/code/modules/clothing/head/vg_hats.dm +++ b/code/modules/clothing/head/vg_hats.dm @@ -4,7 +4,7 @@ desc = "Judge, Jury, and Executioner." icon_state = "dredd-helmet" item_state = "dredd-helmet" - icon = 'icons/obj/clothing/vg_clothes.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' armor = list(melee = 40, bullet = 30, laser = 30,energy = 30, bomb = 50, bio = 90, rad = 20, fire = 50, acid = 50) cold_protection = HEAD min_cold_protection_temperature = SPACE_HELM_MIN_TEMP_PROTECT @@ -13,7 +13,7 @@ flags_1 = STOPSPRESSUREDMAGE_1 strip_delay = 80 dog_fashion = null - icon_override = 'icons/mob/citadel/head.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/head.dmi' /obj/item/clothing/head/helmet/aviatorhelmet name = "Aviator Helmet" @@ -21,16 +21,16 @@ armor = list(melee = 25, bullet = 0, laser = 20, energy = 10, bomb = 10, bio = 0, rad = 0) item_state = "aviator_helmet" icon_state = "aviator_helmet" - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/head.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/head.dmi' /obj/item/clothing/head/helmet/biker name = "Biker's Helmet" desc = "This helmet should protect you from russians and masked vigilantes." armor = list(melee = 25, bullet = 15, laser = 20, energy = 10, bomb = 10, bio = 0, rad = 0) icon_state = "biker_helmet" - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/head.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/head.dmi' flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR /obj/item/clothing/head/helmet/richard @@ -38,8 +38,8 @@ desc = "Do you like hurting people?" armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0) icon_state = "richard" - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/head.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/head.dmi' flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR /obj/item/clothing/head/helmet/megahelmet @@ -47,8 +47,8 @@ desc = "The helmet of the DRN-001 model. A simple, sturdy blue helmet." icon_state = "megahelmet" item_state = "megahelmet" - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/head.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/head.dmi' siemens_coefficient = 1 /obj/item/clothing/head/helmet/protohelmet @@ -56,8 +56,8 @@ desc = "Shiny red helmet with white accents and a built in shaded visor that does absolutely nothing, nothing but look rad as hell." icon_state = "protohelmet" item_state = "protohelmet" - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/head.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/head.dmi' siemens_coefficient = 1 /obj/item/clothing/head/helmet/megaxhelmet @@ -65,8 +65,8 @@ desc = "Heavily armored upgrade to the DRN-001 model's helmet, now comes with a pointless red crystal thing!" icon_state = "megaxhelmet" item_state = "megaxhelmet" - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/head.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/head.dmi' /obj/item/clothing/head/helmet/joehelmet name = "Sniper Helmet" @@ -74,8 +74,8 @@ icon_state = "joehelmet" flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR item_state = "joehelmet" - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/head.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/head.dmi' /obj/item/clothing/head/helmet/doomguy name = "Doomguy's helmet" @@ -83,8 +83,8 @@ icon_state = "doom" flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR item_state = "doom" - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/head.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/head.dmi' armor = list(melee = 50, bullet = 40, laser = 40,energy = 40, bomb = 5, bio = 0, rad = 0) /obj/item/clothing/head/helmet/neorussian @@ -92,8 +92,8 @@ desc = "This piece of equipment can double as a pillow, a bowl, an emergency toilet, and sometimes as a helmet." icon_state = "nr_helmet" item_state = "nr_helmet" - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/head.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/head.dmi' /obj/item/clothing/head/stalhelm @@ -101,24 +101,24 @@ desc = "Ein Helm, um die Nazi-Interesse an fremden Raumstationen zu sichern." icon_state = "stalhelm" item_state = "stalhelm" - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/head.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/head.dmi' /obj/item/clothing/head/panzer name = "Panzer Cap" desc = "Command any mech in style." icon_state = "panzercap" item_state = "panzercap" - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/head.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/head.dmi' /obj/item/clothing/head/naziofficer name = "Officer Cap" desc = "Style is all that matters." icon_state = "officercap" item_state = "officercap" - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/head.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/head.dmi' /obj/item/clothing/head/russobluecamohat @@ -126,31 +126,31 @@ desc = "A symbol of discipline, honor, and lots and lots of removal of some type of skewered food." icon_state = "russobluecamohat" item_state = "russobluecamohat" - icon = 'icons/obj/clothing/vg_clothes.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' /obj/item/clothing/head/russofurhat name = "russian fur hat" desc = "Russian winter got you down? Maybe your enemy, but not you!" icon_state = "russofurhat" item_state = "russofurhat" - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/head.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/head.dmi' /obj/item/clothing/head/squatter_hat name = "slav squatter hat" icon_state = "squatter_hat" item_state = "squatter_hat" - icon = 'icons/obj/clothing/vg_clothes.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' desc = "Cyka blyat." - icon_override = 'icons/mob/citadel/head.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/head.dmi' /obj/item/clothing/head/snake name = "snake head" desc = "Reenact acts of violence against reptiles, or sneak into a swamp unnoticed." icon_state = "snakehead" item_state = "snakehead" - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/head.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/head.dmi' /obj/item/clothing/head/mummy_rags name = "mummy rags" @@ -158,8 +158,8 @@ icon_state = "mummy" item_state = "mummy" item_color = "mummy" - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/head.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/head.dmi' flags_inv = HIDEHAIR|HIDEFACE|HIDEEARS /obj/item/clothing/head/clownpiece @@ -167,24 +167,24 @@ desc = "A purple polka-dotted jester's hat with yellow pompons." icon_state = "clownpiece" item_state = "clownpiece" - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/head.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/head.dmi' /obj/item/clothing/head/mitre name = "mitre" desc = "A funny hat worn by extremely boring people." icon_state = "mitre" item_state = "mitre" - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/head.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/head.dmi' /obj/item/clothing/head/tinfoil name = "tinfoil hat" desc = "There's no evidence that the security staff is NOT out to get you." icon_state = "foilhat" item_state = "paper" - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/head.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/head.dmi' siemens_coefficient = 2 /obj/item/clothing/head/celtic @@ -192,5 +192,5 @@ desc = "According to legend, Celtic kings would use crowns like this one to shield their subjects from harsh winters back on Earth." icon_state = "celtic_crown" item_state = "celtic_crown" - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/head.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/head.dmi' diff --git a/code/modules/clothing/masks/vg_masks.dm b/code/modules/clothing/masks/vg_masks.dm index 70759bffca..712a023651 100644 --- a/code/modules/clothing/masks/vg_masks.dm +++ b/code/modules/clothing/masks/vg_masks.dm @@ -2,19 +2,19 @@ name = "purple clown wig and mask" desc = "Some pranksters are truly magical." icon_state = "wizzclown" - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/masks.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/masks.dmi' /obj/item/clothing/mask/chapmask name = "venetian mask" desc = "A plain porcelain mask that covers the entire face. Standard attire for particularly unspeakable religions. The eyes are wide shut." icon_state = "chapmask" - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/masks.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/masks.dmi' /obj/item/clothing/mask/neorussian name = "neo-Russian mask" desc = "Somehow, it makes you act and look way more polite than usual." icon_state = "nr_mask" - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/masks.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/masks.dmi' diff --git a/code/modules/clothing/shoes/vg_shoes.dm b/code/modules/clothing/shoes/vg_shoes.dm index fb2510be89..f867b537c7 100644 --- a/code/modules/clothing/shoes/vg_shoes.dm +++ b/code/modules/clothing/shoes/vg_shoes.dm @@ -4,24 +4,24 @@ desc = "A sturdy pair of leather shoes." icon_state = "leather" item_color = "leather" - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/head.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/head.dmi' /obj/item/clothing/shoes/magboots/deathsquad desc = "Very expensive and advanced magnetic boots, used only by the elite during extravehicular activity to ensure the user remains safely attached to the vehicle." name = "deathsquad magboots" icon_state = "DS-magboots0" magboot_state = "DS-magboots" - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/head.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/head.dmi' resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF /obj/item/clothing/shoes/magboots/atmos desc = "Magnetic boots, often used during extravehicular activity to ensure the user remains safely attached to the vehicle. These are painted in the colors of an atmospheric technician." name = "atmospherics magboots" icon_state = "atmosmagboots0" - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/head.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/head.dmi' magboot_state = "atmosmagboots" resistance_flags = FIRE_PROOF @@ -29,96 +29,96 @@ name = "Simon's Shoes" desc = "Simon's Shoes." icon_state = "simonshoes" - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/head.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/head.dmi' /obj/item/clothing/shoes/kneesocks name = "kneesocks" desc = "A pair of girly knee-high socks." icon_state = "kneesock" - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/head.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/head.dmi' /obj/item/clothing/shoes/jestershoes name = "Jester Shoes" desc = "As worn by the clowns of old." icon_state = "jestershoes" - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/head.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/head.dmi' /obj/item/clothing/shoes/aviatorboots name = "Aviator Boots" desc = "Boots suitable for just about any occasion." icon_state = "aviator_boots" - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/head.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/head.dmi' /obj/item/clothing/shoes/libertyshoes name = "Liberty Shoes" desc = "Freedom isn't free, neither were these shoes." icon_state = "libertyshoes" - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/head.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/head.dmi' /obj/item/clothing/shoes/megaboots name = "DRN-001 Boots" desc = "Large armored boots, very weak to large spikes." icon_state = "megaboots" - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/head.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/head.dmi' /obj/item/clothing/shoes/protoboots name = "Prototype Boots" desc = "Functionally identical to the DRN-001 model's boots, but in red." icon_state = "protoboots" - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/head.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/head.dmi' /obj/item/clothing/shoes/megaxboots name = "Maverick Hunter boots" desc = "Regardless of how much stronger these boots are than the DRN-001 model's, they're still extremely easy to pierce with a large spike." icon_state = "megaxboots" - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/head.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/head.dmi' /obj/item/clothing/shoes/joeboots name = "Sniper Boots" desc = "Nearly identical to the Prototype's boots, except in black." icon_state = "joeboots" - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/head.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/head.dmi' /obj/item/clothing/shoes/doomguy name = "Doomguy's boots" desc = "If you look closely, you might see skull fragments still buried in these boots." icon_state = "doom" - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/head.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/head.dmi' /obj/item/clothing/shoes/rottenshoes name = "rotten shoes" desc = "These shoes seem perfect for sneaking around." icon_state = "rottenshoes" - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/head.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/head.dmi' /obj/item/clothing/shoes/sandal/slippers name = "magic slippers" icon_state = "slippers" desc = "For the wizard that puts comfort first. Who's going to laugh?" - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/head.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/head.dmi' /obj/item/clothing/shoes/slippers_worn name = "worn bunny slippers" desc = "Fluffy..." icon_state = "slippers_worn" - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/head.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/head.dmi' /obj/item/clothing/shoes/jackboots/neorussian name = "neo-Russian boots" desc = "Tovarish, no one will realize you stepped on a pile of shit if your pair already looks like shit." icon_state = "nr_boots" - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/head.dmi' \ No newline at end of file + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/head.dmi' \ No newline at end of file diff --git a/code/modules/clothing/spacesuits/vg_spess.dm b/code/modules/clothing/spacesuits/vg_spess.dm index 3dad9c2610..237e5ebfa6 100644 --- a/code/modules/clothing/spacesuits/vg_spess.dm +++ b/code/modules/clothing/spacesuits/vg_spess.dm @@ -7,7 +7,7 @@ icon_state = "hardsuit0-nazi" armor = list(melee = 40, bullet = 30, laser = 30, energy = 15, bomb = 35, bio = 100, rad = 20) item_color = "nazi" - icon = 'icons/obj/clothing/vg_clothes.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' /obj/item/clothing/suit/space/hardsuit/nazi name = "nazi hardsuit" @@ -18,7 +18,7 @@ armor = list(melee = 40, bullet = 30, laser = 30, energy = 15, bomb = 35, bio = 100, rad = 20) allowed = list(/obj/item/gun,/obj/item/device/flashlight,/obj/item/tank,/obj/item/melee/) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/nazi - icon = 'icons/obj/clothing/vg_clothes.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' /obj/item/clothing/head/helmet/space/hardsuit/soviet name = "soviet hardhelmet" @@ -27,7 +27,7 @@ icon_state = "hardsuit0-soviet" armor = list(melee = 40, bullet = 30, laser = 30, energy = 15, bomb = 35, bio = 100, rad = 20) item_color = "soviet" - icon = 'icons/obj/clothing/vg_clothes.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' /obj/item/clothing/suit/space/hardsuit/soviet name = "soviet hardsuit" @@ -38,7 +38,7 @@ armor = list(melee = 40, bullet = 30, laser = 30, energy = 15, bomb = 35, bio = 100, rad = 20) allowed = list(/obj/item/gun,/obj/item/device/flashlight,/obj/item/tank,/obj/item/melee/) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/soviet - icon = 'icons/obj/clothing/vg_clothes.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' /obj/item/clothing/head/helmet/space/hardsuit/knight name = "Space-Knight helm" @@ -48,7 +48,7 @@ armor = list(melee = 60, bullet = 40, laser = 40,energy = 30, bomb = 50, bio = 100, rad = 60) max_heat_protection_temperature = FIRE_IMMUNITY_HELM_MAX_TEMP_PROTECT item_color="knight" - icon = 'icons/obj/clothing/vg_clothes.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' /obj/item/clothing/suit/space/hardsuit/knight name = "Space-Knight armour" @@ -61,7 +61,7 @@ max_heat_protection_temperature = FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT siemens_coefficient = 0.5 helmettype = /obj/item/clothing/head/helmet/space/hardsuit/knight - icon = 'icons/obj/clothing/vg_clothes.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' /obj/item/clothing/head/helmet/space/hardsuit/knight/black name = "Black Knight's helm" @@ -70,7 +70,7 @@ item_state = "hardsuit0-blackknight" armor = list(melee = 70, bullet = 65, laser = 50,energy = 25, bomb = 60, bio = 100, rad = 60) item_color="blackknight" - icon = 'icons/obj/clothing/vg_clothes.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' /obj/item/clothing/suit/space/hardsuit/knight/black name = "Black Knight's armour" @@ -79,7 +79,7 @@ item_state = "hardsuit-blackknight" armor = list(melee = 70, bullet = 65, laser = 50,energy = 25, bomb = 60, bio = 100, rad = 60) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/knight/black - icon = 'icons/obj/clothing/vg_clothes.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' /obj/item/clothing/head/helmet/space/hardsuit/knight/solaire name = "Solar helm" @@ -88,7 +88,7 @@ item_state = "hardsuit0-solaire" armor = list(melee = 60, bullet = 65, laser = 90,energy = 30, bomb = 60, bio = 100, rad = 100) item_color="solaire" - icon = 'icons/obj/clothing/vg_clothes.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' /obj/item/clothing/suit/space/hardsuit/knight/solaire name = "Solar armour" @@ -97,7 +97,7 @@ item_state = "hardsuit-solaire" armor = list(melee = 60, bullet = 65, laser = 90,energy = 30, bomb = 60, bio = 100, rad = 100) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/knight/solaire - icon = 'icons/obj/clothing/vg_clothes.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' /obj/item/clothing/head/helmet/space/hardsuit/t51b name = "T-51b Power Armor" @@ -106,7 +106,7 @@ item_state = "hardsuit0-t51b" armor = list(melee = 35, bullet = 35, laser = 40, energy = 40, bomb = 80, bio = 100, rad = 100) item_color="t51b" - icon = 'icons/obj/clothing/vg_clothes.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' /obj/item/clothing/suit/space/hardsuit/t51b name = "T-51b Power Armor" @@ -115,7 +115,7 @@ item_state = "hardsuit-t51b" armor = list(melee = 35, bullet = 35, laser = 40, energy = 40, bomb = 80, bio = 100, rad = 100) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/t51b - icon = 'icons/obj/clothing/vg_clothes.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' /obj/item/clothing/head/helmet/space/bomberman @@ -125,7 +125,7 @@ item_state = "bomberman" armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 100, bio = 0, rad = 0) siemens_coefficient = 0 - icon = 'icons/obj/clothing/vg_clothes.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' obj/item/clothing/suit/space/bomberman name = "Bomberman's suit" @@ -136,4 +136,4 @@ obj/item/clothing/suit/space/bomberman armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 100, bio = 0, rad = 0) siemens_coefficient = 0 max_heat_protection_temperature = FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT - icon = 'icons/obj/clothing/vg_clothes.dmi' \ No newline at end of file + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' \ No newline at end of file diff --git a/code/modules/clothing/suits/vg_suits.dm b/code/modules/clothing/suits/vg_suits.dm index cb876ab153..da06e85392 100644 --- a/code/modules/clothing/suits/vg_suits.dm +++ b/code/modules/clothing/suits/vg_suits.dm @@ -7,16 +7,16 @@ body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS armor = list(melee = 50, bullet = 50, laser = 50, energy = 30, bomb = 60, bio = 30, rad = 20) siemens_coefficient = 0.5 - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/suit.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/suit.dmi' /obj/item/clothing/suit/armor/xcomsquaddie/dredd name = "Judge Armor" desc = "A large suit of heavy armor, fit for a Judge." icon_state = "dredd-suit" item_state = "dredd-suit" - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/suit.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/suit.dmi' /obj/item/clothing/suit/armor/xcomarmor @@ -28,16 +28,16 @@ armor = list(melee = 50, bullet = 50, laser = 50, energy = 30, bomb = 60, bio = 30, rad = 20) slowdown = 1 siemens_coefficient = 0.5 - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/suit.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/suit.dmi' /obj/item/clothing/suit/armor/vest/neorussian name = "neo-Russian vest" desc = "The narkotiki camo pattern will come useful for botany raids." icon_state = "nr_vest" item_state = "nr_vest" - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/suit.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/suit.dmi' /obj/item/clothing/suit/armor/doomguy name = "Doomguy's armor" @@ -47,8 +47,8 @@ body_parts_covered = CHEST|GROIN slowdown = 0 armor = list(melee = 50, bullet = 30, laser = 20, energy = 20, bomb = 30, bio = 0, rad = 0) - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/suit.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/suit.dmi' /obj/item/clothing/suit/kaminacape @@ -56,22 +56,22 @@ desc = "Don't believe in yourself, dumbass. Believe in me. Believe in the Kamina who believes in you." icon_state = "kaminacape" body_parts_covered = 0 - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/suit.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/suit.dmi' /obj/item/clothing/suit/officercoat name = "Officer's Coat" desc = "Ein Mantel gemacht, um die Juden zu bestrafen." icon_state = "officersuit" body_parts_covered = CHEST|GROIN|LEGS|ARMS|HANDS - icon = 'icons/obj/clothing/vg_clothes.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' /obj/item/clothing/suit/soldiercoat name = "Soldier's Coat" desc = "Und das heißt: Erika." icon_state = "soldiersuit" body_parts_covered = CHEST|GROIN|LEGS|ARMS|HANDS - icon = 'icons/obj/clothing/vg_clothes.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' /obj/item/clothing/suit/russofurcoat name = "russian fur coat" @@ -79,46 +79,46 @@ icon_state = "russofurcoat" allowed = list(/obj/item/gun) body_parts_covered = CHEST|GROIN|LEGS|ARMS|HANDS - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/suit.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/suit.dmi' /obj/item/clothing/suit/doshjacket name = "Plasterer's Jacket" desc = "Perfect for doing up the house." icon_state = "doshjacket" body_parts_covered = CHEST|GROIN|ARMS - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/suit.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/suit.dmi' /obj/item/clothing/suit/maidapron name = "Apron" desc = "Simple white apron." icon_state = "maidapron" body_parts_covered = CHEST|GROIN - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/suit.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/suit.dmi' /obj/item/clothing/suit/clownpiece name = "small fairy wings" desc = "Some small and translucid insect-like wings." icon_state = "clownpiece" body_parts_covered = 0 - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/suit.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/suit.dmi' /obj/item/clothing/suit/clownpiece/flying name = "small fairy wings" desc = "Some small and translucid insect-like wings. Looks like these are the real deal!" icon_state = "clownpiece-fly" - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/suit.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/suit.dmi' /obj/item/clothing/suit/raincoat name = "Raincoat" desc = "Do you like Huey Lewis and the News?" icon_state = "raincoat" body_parts_covered =CHEST|GROIN|LEGS|ARMS|HANDS - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/suit.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/suit.dmi' diff --git a/code/modules/clothing/under/vg_under.dm b/code/modules/clothing/under/vg_under.dm index f468e9468a..f9b521cade 100644 --- a/code/modules/clothing/under/vg_under.dm +++ b/code/modules/clothing/under/vg_under.dm @@ -4,8 +4,8 @@ item_state = "stripper_p" item_color = "stripper_p" can_adjust = 0 - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/uniforms.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/uniforms.dmi' /obj/item/clothing/under/stripper_green @@ -14,8 +14,8 @@ item_state = "stripper_g" item_color = "stripper_g" can_adjust = 0 - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/uniforms.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/uniforms.dmi' @@ -26,8 +26,8 @@ item_state = "bride_orange" item_color = "bride_orange" can_adjust = 0 - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/uniforms.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/uniforms.dmi' /obj/item/clothing/under/wedding/bride_purple @@ -37,8 +37,8 @@ item_state = "bride_purple" item_color = "bride_purple" can_adjust = 0 - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/uniforms.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/uniforms.dmi' /obj/item/clothing/under/wedding/bride_blue @@ -48,8 +48,8 @@ item_state = "bride_blue" item_color = "bride_blue" can_adjust = 0 - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/uniforms.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/uniforms.dmi' /obj/item/clothing/under/wedding/bride_red @@ -59,8 +59,8 @@ item_state = "bride_red" item_color = "bride_red" can_adjust = 0 - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/uniforms.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/uniforms.dmi' /obj/item/clothing/under/wedding/bride_white @@ -70,8 +70,8 @@ item_state = "bride_white" item_color = "bride_white" can_adjust = 0 - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/uniforms.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/uniforms.dmi' /obj/item/clothing/under/mankini @@ -80,8 +80,8 @@ item_state = "mankini" item_color = "mankini" can_adjust = 0 - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/uniforms.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/uniforms.dmi' /* /obj/item/clothing/under/psysuit @@ -91,8 +91,8 @@ item_state = "psysuit" item_color = "psysuit" can_adjust = 0 - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/uniforms.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/uniforms.dmi' /obj/item/clothing/under/officeruniform @@ -102,8 +102,8 @@ item_state = "officeruniform" item_color = "officeruniform" can_adjust = 0 - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/uniforms.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/uniforms.dmi' /obj/item/clothing/under/soldieruniform @@ -113,8 +113,8 @@ item_state = "soldieruniform" item_color = "soldieruniform" can_adjust = 0 - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/uniforms.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/uniforms.dmi' */ /obj/item/clothing/under/squatter_outfit @@ -124,8 +124,8 @@ item_state = "squatteroutfit" item_color = "squatteroutfit" can_adjust = 0 - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/uniforms.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/uniforms.dmi' /obj/item/clothing/under/russobluecamooutfit @@ -135,8 +135,8 @@ item_state = "russobluecamo" item_color = "russobluecamo" can_adjust = 0 - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/uniforms.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/uniforms.dmi' /obj/item/clothing/under/stilsuit @@ -146,8 +146,8 @@ item_state = "stilsuit" item_color = "stilsuit" can_adjust = 0 - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/uniforms.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/uniforms.dmi' /obj/item/clothing/under/aviatoruniform @@ -157,8 +157,8 @@ item_state = "aviator_uniform" item_color = "aviator_uniform" can_adjust = 0 - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/uniforms.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/uniforms.dmi' /obj/item/clothing/under/bikersuit @@ -167,8 +167,8 @@ item_state = "biker" item_color = "biker" can_adjust = 0 - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/uniforms.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/uniforms.dmi' /obj/item/clothing/under/jacketsuit @@ -178,8 +178,8 @@ item_state = "jacket" item_color = "jacket" can_adjust = 0 - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/uniforms.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/uniforms.dmi' obj/item/clothing/under/mega @@ -189,8 +189,8 @@ obj/item/clothing/under/mega item_state = "mega" item_color = "mega" can_adjust = 0 - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/uniforms.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/uniforms.dmi' /obj/item/clothing/under/proto @@ -200,8 +200,8 @@ obj/item/clothing/under/mega item_state = "proto" item_color = "proto" can_adjust = 0 - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/uniforms.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/uniforms.dmi' /obj/item/clothing/under/megax @@ -211,8 +211,8 @@ obj/item/clothing/under/mega item_state = "megax" item_color = "megax" can_adjust = 0 - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/uniforms.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/uniforms.dmi' /obj/item/clothing/under/joe @@ -222,8 +222,8 @@ obj/item/clothing/under/mega item_state = "joe" item_color = "joe" can_adjust = 0 - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/uniforms.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/uniforms.dmi' /obj/item/clothing/under/roll @@ -233,8 +233,8 @@ obj/item/clothing/under/mega item_state = "roll" item_color = "roll" can_adjust = 0 - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/uniforms.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/uniforms.dmi' /obj/item/clothing/under/gokugidown @@ -244,8 +244,8 @@ obj/item/clothing/under/mega item_state = "gokugidown" item_color = "gokugidown" can_adjust = 0 - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/uniforms.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/uniforms.dmi' /obj/item/clothing/under/gokugi @@ -255,8 +255,8 @@ obj/item/clothing/under/mega item_state = "gokugi" item_color = "gokugi" can_adjust = 0 - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/uniforms.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/uniforms.dmi' /obj/item/clothing/under/doomguy @@ -266,8 +266,8 @@ obj/item/clothing/under/mega item_state = "doom" item_color = "doom" can_adjust = 0 - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/uniforms.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/uniforms.dmi' /obj/item/clothing/under/vault13 @@ -277,8 +277,8 @@ obj/item/clothing/under/mega item_state = "v13-jumpsuit" item_color = "v13-jumpsuit" can_adjust = 0 - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/uniforms.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/uniforms.dmi' /obj/item/clothing/under/vault @@ -288,8 +288,8 @@ obj/item/clothing/under/mega item_state = "v-jumpsuit" item_color = "v-jumpsuit" can_adjust = 0 - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/uniforms.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/uniforms.dmi' /obj/item/clothing/under/clownpiece @@ -299,8 +299,8 @@ obj/item/clothing/under/mega item_state = "clownpiece" item_color = "clownpiece" can_adjust = 0 - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/uniforms.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/uniforms.dmi' /obj/item/clothing/under/cia @@ -310,8 +310,8 @@ obj/item/clothing/under/mega item_state = "cia" item_color = "cia" can_adjust = 0 - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/uniforms.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/uniforms.dmi' /obj/item/clothing/under/greaser @@ -320,8 +320,8 @@ obj/item/clothing/under/mega icon_state = "greaser_default" item_state = "greaser_default" can_adjust = 0 - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/uniforms.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/uniforms.dmi' /obj/item/clothing/under/greaser/New() @@ -340,7 +340,7 @@ obj/item/clothing/under/mega item_state = "greaser_[greaser_colour]" item_color = "greaser_[greaser_colour]" can_adjust = 0 - icon = 'icons/obj/clothing/vg_clothes.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' /obj/item/clothing/under/wintercasualwear name = "winter casualwear" @@ -349,8 +349,8 @@ obj/item/clothing/under/mega item_state = "shizunewinter" item_color = "shizunewinter" can_adjust = 0 - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/uniforms.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/uniforms.dmi' @@ -361,8 +361,8 @@ obj/item/clothing/under/mega item_state = "shizunenormal" item_color = "shizunenormal" can_adjust = 0 - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/uniforms.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/uniforms.dmi' /obj/item/clothing/under/keyholesweater @@ -372,8 +372,8 @@ obj/item/clothing/under/mega item_state = "keyholesweater" item_color = "keyholesweater" can_adjust = 0 - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/uniforms.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/uniforms.dmi' /obj/item/clothing/under/casualhoodie @@ -383,8 +383,8 @@ obj/item/clothing/under/mega item_state = "hoodiejeans" item_color = "hoodiejeans" can_adjust = 0 - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/uniforms.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/uniforms.dmi' @@ -393,7 +393,7 @@ obj/item/clothing/under/mega item_state = "hoodieskirt" item_color = "hoodieskirt" can_adjust = 0 - icon = 'icons/obj/clothing/vg_clothes.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' /* /obj/item/clothing/under/mummy_rags name = "mummy rags" @@ -403,8 +403,8 @@ obj/item/clothing/under/mega item_color = "mummy" can_adjust = 0 has_sensor = 0 - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/uniforms.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/uniforms.dmi' /obj/item/clothing/under/neorussian @@ -414,8 +414,8 @@ obj/item/clothing/under/mega item_state = "nr_uniform" item_color = "nr_uniform" can_adjust = 0 - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/uniforms.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/uniforms.dmi' */ /obj/item/clothing/under/rottensuit @@ -425,5 +425,5 @@ obj/item/clothing/under/mega item_state = "rottensuit" item_color = "rottensuit" can_adjust = 0 - icon = 'icons/obj/clothing/vg_clothes.dmi' - icon_override = 'icons/mob/citadel/uniforms.dmi' + icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/uniforms.dmi' diff --git a/code/modules/mob/living/carbon/emote.dm b/code/modules/mob/living/carbon/emote.dm index 48ebd53435..30fa676500 100644 --- a/code/modules/mob/living/carbon/emote.dm +++ b/code/modules/mob/living/carbon/emote.dm @@ -68,17 +68,6 @@ if(!isnum(text2num(params))) return message -/datum/emote/sound/carbon/snap - key = "snap" - key_third_person = "snaps" - message = "snaps their fingers." - 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/carbon/sign/signal key = "signal" key_third_person = "signals" diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 22587d97d3..8e5a1aa7ca 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -1049,18 +1049,3 @@ /mob/living/carbon/human/species/zombie/krokodil_addict race = /datum/species/krokodil_addict - -/* -//CITADEL EDIT - TODO: Enable people to set custom races -/mob/living/carbon/human/species/mammal - race = /datum/species/mammal -/mob/living/carbon/human/species/avian - race = /datum/species/avian -/mob/living/carbon/human/species/aquatic - race = /datum/species/aquatic -/mob/living/carbon/human/species/insect - race = /datum/species/insect -/mob/living/carbon/human/species/xeno - race = /datum/species/xeno -/mob/living/carbon/human/species/guilmon - race = /datum/species/guilmon */ diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index 9e7a508579..c6253ea48e 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -685,26 +685,8 @@ GLOBAL_LIST_EMPTY(roundstart_races) S = GLOB.moth_wings_list[H.dna.features["moth_wings"]] if("caps") S = GLOB.caps_list[H.dna.features["caps"]] - - //Mammal Bodyparts - if("mam_tail") - S = GLOB.mam_tails_list[H.dna.features["mam_tail"]] - if("mam_waggingtail") - S.= GLOB.mam_tails_animated_list[H.dna.features["mam_tail"]] - if("mam_body_markings") - S = GLOB.mam_body_markings_list[H.dna.features["mam_body_markings"]] - if("mam_ears") - S = GLOB.mam_ears_list[H.dna.features["mam_ears"]] - if("taur") - S = GLOB.taur_list[H.dna.features["taur"]] - - //Xeno Bodyparts - if("xenodorsal") - S = GLOB.xeno_dorsal_list[H.dna.features["xenodorsal"]] - if("xenohead") - S = GLOB.xeno_head_list[H.dna.features["xenohead"]] - if("xenotail") - S = GLOB.xeno_tail_list[H.dna.features["xenotail"]] + else + S = citadel_mutant_bodyparts(bodypart, H) if(!S || S.icon_state == "none") continue diff --git a/code/modules/projectiles/guns/energy/megabuster.dm b/code/modules/projectiles/guns/energy/megabuster.dm index 6fd2de777b..3f14fe3b8d 100644 --- a/code/modules/projectiles/guns/energy/megabuster.dm +++ b/code/modules/projectiles/guns/energy/megabuster.dm @@ -9,7 +9,7 @@ item_flags = NEEDS_PERMIT selfcharge = TRUE cell_type = "/obj/item/stock_parts/cell/pulse" - icon = 'icons/obj/guns/VGguns.dmi' + icon = 'modular_citadel/icons/obj/guns/VGguns.dmi' /obj/item/gun/energy/megabuster/proto name = "Proto-buster" @@ -19,7 +19,7 @@ /obj/item/gun/energy/mmlbuster name = "Buster Cannon" desc = "An antique arm-mounted buster cannon." - icon = 'icons/obj/guns/VGguns.dmi' + icon = 'modular_citadel/icons/obj/guns/VGguns.dmi' icon_state = "mmlbuster" item_state = "mmlbuster" w_class = WEIGHT_CLASS_SMALL diff --git a/code/modules/projectiles/guns/energy/plasma_cit.dm b/code/modules/projectiles/guns/energy/plasma_cit.dm index 4324053a14..9f9340a725 100644 --- a/code/modules/projectiles/guns/energy/plasma_cit.dm +++ b/code/modules/projectiles/guns/energy/plasma_cit.dm @@ -7,8 +7,8 @@ cell_type = "/obj/item/stock_parts/cell/pulse/carbine" ammo_x_offset = 2 shaded_charge = 1 - lefthand_file = 'icons/mob/citadel/guns_lefthand.dmi' - righthand_file = 'icons/mob/citadel/guns_righthand.dmi' + lefthand_file = 'modular_citadel/icons/mob/citadel/guns_lefthand.dmi' + righthand_file = 'modular_citadel/icons/mob/citadel/guns_righthand.dmi' /obj/item/gun/energy/plasma/rifle @@ -16,7 +16,7 @@ desc = "A state of the art cannon utilizing plasma in a uranium-235 lined core to output hi-power, radiating bolts of energy." icon_state = "alienrifle" item_state = null - icon = 'icons/obj/guns/VGguns.dmi' + icon = 'modular_citadel/icons/obj/guns/VGguns.dmi' w_class = WEIGHT_CLASS_BULKY ammo_type = list(/obj/item/ammo_casing/energy/plasmagun/rifle) ammo_x_offset = 4 @@ -28,7 +28,7 @@ desc = "A state of the art rifle utilizing plasma in a uranium-235 lined core to output radiating bolts of energy." icon_state = "lightalienrifle" item_state = null - icon = 'icons/obj/guns/VGguns.dmi' + icon = 'modular_citadel/icons/obj/guns/VGguns.dmi' ammo_type = list(/obj/item/ammo_casing/energy/plasmagun/light) ammo_x_offset = 2 @@ -38,7 +38,7 @@ desc = "A plasma MP40k. Ich liebe den geruch von plasma am morgen." icon_state = "PlasMP" item_state = null - icon = 'icons/obj/guns/VGguns.dmi' + icon = 'modular_citadel/icons/obj/guns/VGguns.dmi' ammo_type = list(/obj/item/ammo_casing/energy/plasmagun/MP40k) ammo_x_offset = 3 @@ -49,21 +49,21 @@ desc = "A laser rifle issued to high ranking members of a certain shadow corporation." icon_state = "xcomlasergun" item_state = null - icon = 'icons/obj/guns/VGguns.dmi' + icon = 'modular_citadel/icons/obj/guns/VGguns.dmi' cell_type = "/obj/item/stock_parts/cell/pulse/carbine" ammo_type = list(/obj/item/ammo_casing/energy/lasergun) ammo_x_offset = 4 - lefthand_file = 'icons/mob/citadel/guns_lefthand.dmi' - righthand_file = 'icons/mob/citadel/guns_righthand.dmi' + lefthand_file = 'modular_citadel/icons/mob/citadel/guns_lefthand.dmi' + righthand_file = 'modular_citadel/icons/mob/citadel/guns_righthand.dmi' /obj/item/gun/energy/laser/LaserAK name = "Laser AK470" desc = "A laser AK. Death solves all problems -- No man, no problem." icon_state = "LaserAK" item_state = null - icon = 'icons/obj/guns/VGguns.dmi' + icon = 'modular_citadel/icons/obj/guns/VGguns.dmi' cell_type = "/obj/item/stock_parts/cell/pulse/carbine" ammo_type = list(/obj/item/ammo_casing/energy/laser) ammo_x_offset = 4 - lefthand_file = 'icons/mob/citadel/guns_lefthand.dmi' - righthand_file = 'icons/mob/citadel/guns_righthand.dmi' + lefthand_file = 'modular_citadel/icons/mob/citadel/guns_lefthand.dmi' + righthand_file = 'modular_citadel/icons/mob/citadel/guns_righthand.dmi' diff --git a/code/modules/projectiles/projectile/megabuster.dm b/code/modules/projectiles/projectile/megabuster.dm index e3f3f9403e..bfe9f40297 100644 --- a/code/modules/projectiles/projectile/megabuster.dm +++ b/code/modules/projectiles/projectile/megabuster.dm @@ -6,14 +6,14 @@ damage_type = BURN hitsound = 'sound/weapons/sear.ogg' hitsound_wall = 'sound/weapons/effects/searwall.ogg' - icon = 'icons/obj/VGprojectile.dmi' - lefthand_file = 'icons/mob/citadel/guns_lefthand.dmi' - righthand_file = 'icons/mob/citadel/guns_righthand.dmi' + icon = 'modular_citadel/icons/obj/VGprojectile.dmi' + lefthand_file = 'modular_citadel/icons/mob/citadel/guns_lefthand.dmi' + righthand_file = 'modular_citadel/icons/mob/citadel/guns_righthand.dmi' /obj/item/projectile/energy/megabuster name = "buster pellet" icon_state = "megabuster" nodamage = 1 - icon = 'icons/obj/VGprojectile.dmi' - lefthand_file = 'icons/mob/citadel/guns_lefthand.dmi' - righthand_file = 'icons/mob/citadel/guns_righthand.dmi' + icon = 'modular_citadel/icons/obj/VGprojectile.dmi' + lefthand_file = 'modular_citadel/icons/mob/citadel/guns_lefthand.dmi' + righthand_file = 'modular_citadel/icons/mob/citadel/guns_righthand.dmi' diff --git a/code/modules/projectiles/projectile/plasma.dm b/code/modules/projectiles/projectile/plasma.dm index 0e40e80828..f9adb9f3d7 100644 --- a/code/modules/projectiles/projectile/plasma.dm +++ b/code/modules/projectiles/projectile/plasma.dm @@ -1,5 +1,5 @@ obj/item/projectile/energy/plasmabolt - icon = 'icons/obj/VGProjectile.dmi' + icon = 'modular_citadel/icons/obj/VGProjectile.dmi' name = "plasma bolt" icon_state = "plasma" flag = "energy" diff --git a/code/modules/surgery/bodyparts/bodyparts.dm b/code/modules/surgery/bodyparts/bodyparts.dm index 4261e52e04..9878130144 100644 --- a/code/modules/surgery/bodyparts/bodyparts.dm +++ b/code/modules/surgery/bodyparts/bodyparts.dm @@ -334,6 +334,14 @@ limb.icon_state = "[species_id]_[body_zone]_[icon_gender]" else limb.icon_state = "[species_id]_[body_zone]" + // Citadel Start + if(should_draw_citadel) + limb.icon = 'modular_citadel/icons/mob/mutant_bodyparts.dmi' + if(should_draw_gender) + limb.icon_state = "[species_id]_[body_zone]_[icon_gender]" + else + limb.icon_state = "[species_id]_[body_zone]" + // Citadel End if(aux_zone) aux = image(limb.icon, "[species_id]_[aux_zone]", -aux_layer, image_dir) . += aux 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/icons/mob/human_parts_greyscale.dmi b/icons/mob/human_parts_greyscale.dmi index 529968d7f8..cef7b421e5 100644 Binary files a/icons/mob/human_parts_greyscale.dmi and b/icons/mob/human_parts_greyscale.dmi differ diff --git a/icons/obj/clothing/turtlenecks.dmi b/icons/obj/clothing/turtlenecks.dmi deleted file mode 100644 index 59b2876c0c..0000000000 Binary files a/icons/obj/clothing/turtlenecks.dmi and /dev/null differ 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/game/objects/items/meat.dm b/modular_citadel/code/game/objects/items/meat.dm new file mode 100644 index 0000000000..3891c5ca9d --- /dev/null +++ b/modular_citadel/code/game/objects/items/meat.dm @@ -0,0 +1,26 @@ +/obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/ipc + icon = 'modular_citadel/icons/obj/foods.dmi' + icon_state = "ipcmeat" + desc = "Gross robot meat." + filling_color = "#000000" + tastes = list("metal" = 1) + +/obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/moth + icon = 'modular_citadel/icons/obj/foods.dmi' + icon_state = "mothmeat" + desc = "Moth meat." + filling_color = "#BF896B" + tastes = list("insects" = 1) + + +/obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/avian + icon = 'modular_citadel/icons/obj/foods.dmi' + icon_state = "birdmeat" + desc = "Quality bird meat." + filling_color = "#BF896B" + tastes = list("chicken" = 1) + +/obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/mammal + desc = "Furry meat. WHO DID THIS?!" + filling_color = "#6B8E23" + tastes = list("brains" = 1, "meat" = 1) \ No newline at end of file diff --git a/modular_citadel/code/init.dm b/modular_citadel/code/init.dm index 8432df7ac3..21fc1ca867 100644 --- a/modular_citadel/code/init.dm +++ b/modular_citadel/code/init.dm @@ -17,6 +17,7 @@ init_sprite_accessory_subtypes(/datum/sprite_accessory/xeno_head, GLOB.xeno_head_list) init_sprite_accessory_subtypes(/datum/sprite_accessory/xeno_tail, GLOB.xeno_tail_list) init_sprite_accessory_subtypes(/datum/sprite_accessory/xeno_dorsal, GLOB.xeno_dorsal_list) + init_sprite_accessory_subtypes(/datum/sprite_accessory/screen, GLOB.ipc_screens_list, roundstart = TRUE) init_sprite_accessory_subtypes(/datum/sprite_accessory/penis, GLOB.cock_shapes_list) for(var/K in GLOB.cock_shapes_list) var/datum/sprite_accessory/penis/value = GLOB.cock_shapes_list[K] diff --git a/modular_citadel/code/modules/client/loadout/head.dm b/modular_citadel/code/modules/client/loadout/head.dm index 5068b9e298..168debf2cc 100644 --- a/modular_citadel/code/modules/client/loadout/head.dm +++ b/modular_citadel/code/modules/client/loadout/head.dm @@ -47,3 +47,28 @@ name = "Top Hat" category = slot_head path = /obj/item/clothing/head/that + +//trek fancy Hats! +/datum/gear/trekcap + 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/trekcapmedisci + 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/trekcapeng + 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/trekcapsec + name = "Federation Officer's Cap" + category = slot_head + path = /obj/item/clothing/head/caphat/formal/fedcover/sec + restricted_roles = list("Chief Engineer","Atmospheric Technician","Station Engineer","Warden","Detective","Security Officer","Head of Security","Cargo Technician", "Shaft Miner", "Quartermaster") \ No newline at end of file diff --git a/modular_citadel/code/modules/client/loadout/suit.dm b/modular_citadel/code/modules/client/loadout/suit.dm index 3c18bef566..941da5c29f 100644 --- a/modular_citadel/code/modules/client/loadout/suit.dm +++ b/modular_citadel/code/modules/client/loadout/suit.dm @@ -67,3 +67,36 @@ name = "Ian Shirt" category = slot_wear_suit path = /obj/item/clothing/suit/ianshirt + +/datum/gear/trekds9_coat + name = "DS9 Overcoat (use uniform)" + category = slot_wear_suit + path = /obj/item/clothing/suit/storage/trek/ds9 + restricted_roles = list("Head of Security","Captain","Head of Personnel","Chief Engineer","Research Director","Chief Medical Officer","Quartermaster", + "Medical Doctor","Chemist","Virologist","Geneticist","Scientist", "Roboticist", + "Atmospheric Technician","Station Engineer","Warden","Detective","Security Officer", + "Cargo Technician", "Shaft Miner") //everyone who actually deserves a job. +//Federation jackets from movies +/datum/gear/trekcmdcap + name = "fed (movie) uniform, Captain" + category = slot_wear_suit + path = /obj/item/clothing/suit/storage/fluff/fedcoat/capt + restricted_roles = list("Captain","Head of Personnel") + +/datum/gear/trekcmdmov + name = "fed (movie) uniform, sec" + category = slot_wear_suit + path = /obj/item/clothing/suit/storage/fluff/fedcoat + restricted_roles = list("Head of Security","Captain","Head of Personnel","Chief Engineer","Research Director","Chief Medical Officer","Quartermaster","Warden","Detective","Security Officer") + +/datum/gear/trekmedscimov + name = "fed (movie) uniform, med/sci" + category = slot_wear_suit + path = /obj/item/clothing/suit/storage/fluff/fedcoat/medsci + restricted_roles = list("Chief Medical Officer","Medical Doctor","Chemist","Virologist","Geneticist","Research Director","Scientist", "Roboticist") + +/datum/gear/trekengmov + name = "fed (movie) uniform, ops/eng" + category = slot_wear_suit + path = /obj/item/clothing/suit/storage/fluff/fedcoat/eng + restricted_roles = list("Chief Engineer","Atmospheric Technician","Station Engineer","Cargo Technician", "Shaft Miner", "Quartermaster") \ No newline at end of file diff --git a/modular_citadel/code/modules/client/loadout/uniform.dm b/modular_citadel/code/modules/client/loadout/uniform.dm index 1487166e13..acb2b4e13c 100644 --- a/modular_citadel/code/modules/client/loadout/uniform.dm +++ b/modular_citadel/code/modules/client/loadout/uniform.dm @@ -122,3 +122,99 @@ name = "Tactitool Turtleneck" category = slot_w_uniform path = /obj/item/clothing/under/syndicate/cosmetic + +// Trekie things +//TOS +/datum/gear/trekcmdtos + name = "TOS uniform, cmd" + category = slot_w_uniform + path = /obj/item/clothing/under/rank/trek/command + restricted_roles = list("Head of Security","Captain","Head of Personnel","Chief Engineer","Research Director","Chief Medical Officer","Quartermaster") + +/datum/gear/trekmedscitos + name = "TOS uniform, med/sci" + category = slot_w_uniform + path = /obj/item/clothing/under/rank/trek/medsci + restricted_roles = list("Chief Medical Officer","Medical Doctor","Chemist","Virologist","Geneticist","Research Director","Scientist", "Roboticist") + +/datum/gear/trekengtos + name = "TOS uniform, ops/sec" + category = slot_w_uniform + path = /obj/item/clothing/under/rank/trek/engsec + restricted_roles = list("Chief Engineer","Atmospheric Technician","Station Engineer","Warden","Detective","Security Officer","Head of Security","Cargo Technician", "Shaft Miner", "Quartermaster") + +//TNG +/datum/gear/trekcmdtng + name = "TNG uniform, cmd" + category = slot_w_uniform + path = /obj/item/clothing/under/rank/trek/command/next + restricted_roles = list("Head of Security","Captain","Head of Personnel","Chief Engineer","Research Director","Chief Medical Officer","Quartermaster") + +/datum/gear/trekmedscitng + name = "TNG uniform, med/sci" + category = slot_w_uniform + path = /obj/item/clothing/under/rank/trek/medsci/next + restricted_roles = list("Chief Medical Officer","Medical Doctor","Chemist","Virologist","Geneticist","Research Director","Scientist", "Roboticist") + +/datum/gear/trekengtng + name = "TNG uniform, ops/sec" + category = slot_w_uniform + path = /obj/item/clothing/under/rank/trek/engsec/next + restricted_roles = list("Chief Engineer","Atmospheric Technician","Station Engineer","Warden","Detective","Security Officer","Head of Security","Cargo Technician", "Shaft Miner", "Quartermaster") + +//VOY +/datum/gear/trekcmdvoy + name = "VOY uniform, cmd" + category = slot_w_uniform + path = /obj/item/clothing/under/rank/trek/command/voy + restricted_roles = list("Head of Security","Captain","Head of Personnel","Chief Engineer","Research Director","Chief Medical Officer","Quartermaster") + +/datum/gear/trekmedscivoy + name = "VOY uniform, med/sci" + category = slot_w_uniform + path = /obj/item/clothing/under/rank/trek/medsci/voy + restricted_roles = list("Chief Medical Officer","Medical Doctor","Chemist","Virologist","Geneticist","Research Director","Scientist", "Roboticist") + +/datum/gear/trekengvoy + name = "VOY uniform, ops/sec" + category = slot_w_uniform + path = /obj/item/clothing/under/rank/trek/engsec/voy + restricted_roles = list("Chief Engineer","Atmospheric Technician","Station Engineer","Warden","Detective","Security Officer","Head of Security","Cargo Technician", "Shaft Miner", "Quartermaster") + +//DS9 +/datum/gear/trekcmdds9 + name = "DS9 uniform, cmd" + category = slot_w_uniform + path = /obj/item/clothing/under/rank/trek/command/ds9 + restricted_roles = list("Head of Security","Captain","Head of Personnel","Chief Engineer","Research Director","Chief Medical Officer","Quartermaster") + +/datum/gear/trekmedscids9 + name = "DS9 uniform, med/sci" + category = slot_w_uniform + path = /obj/item/clothing/under/rank/trek/medsci/ds9 + restricted_roles = list("Chief Medical Officer","Medical Doctor","Chemist","Virologist","Geneticist","Research Director","Scientist", "Roboticist") + +/datum/gear/trekengds9 + name = "DS9 uniform, ops/sec" + category = slot_w_uniform + path = /obj/item/clothing/under/rank/trek/engsec/ds9 + restricted_roles = list("Chief Engineer","Atmospheric Technician","Station Engineer","Warden","Detective","Security Officer","Head of Security","Cargo Technician", "Shaft Miner", "Quartermaster") + +//ENT +/datum/gear/trekcmdent + name = "ENT uniform, cmd" + category = slot_w_uniform + path = /obj/item/clothing/under/rank/trek/command/ent + restricted_roles = list("Head of Security","Captain","Head of Personnel","Chief Engineer","Research Director","Chief Medical Officer","Quartermaster") + +/datum/gear/trekmedscient + name = "ENT uniform, med/sci" + category = slot_w_uniform + path = /obj/item/clothing/under/rank/trek/medsci/ent + restricted_roles = list("Chief Medical Officer","Medical Doctor","Chemist","Virologist","Geneticist","Research Director","Scientist", "Roboticist") + +/datum/gear/trekengent + name = "ENT uniform, ops/sec" + category = slot_w_uniform + path = /obj/item/clothing/under/rank/trek/engsec/ent + restricted_roles = list("Chief Engineer","Atmospheric Technician","Station Engineer","Warden","Detective","Security Officer","Head of Security","Cargo Technician", "Shaft Miner", "Quartermaster") diff --git a/modular_citadel/code/modules/client/loadout/uniform_trek.dm b/modular_citadel/code/modules/client/loadout/uniform_trek.dm deleted file mode 100644 index dd03d3c446..0000000000 --- a/modular_citadel/code/modules/client/loadout/uniform_trek.dm +++ /dev/null @@ -1,156 +0,0 @@ -// Trekie things -//TOS -/datum/gear/uniform/job_trek/cmd/tos - name = "TOS uniform, cmd" - category = slot_w_uniform - path = /obj/item/clothing/under/rank/trek/command - restricted_roles = list("Head of Security","Captain","Head of Personnel","Chief Engineer","Research Director","Chief Medical Officer","Quartermaster") - -/datum/gear/uniform/job_trek/medsci/tos - name = "TOS uniform, med/sci" - category = slot_w_uniform - path = /obj/item/clothing/under/rank/trek/medsci - restricted_roles = list("Chief Medical Officer","Medical Doctor","Chemist","Virologist","Geneticist","Research Director","Scientist", "Roboticist") - -/datum/gear/uniform/job_trek/eng/tos - name = "TOS uniform, ops/sec" - category = slot_w_uniform - path = /obj/item/clothing/under/rank/trek/engsec - restricted_roles = list("Chief Engineer","Atmospheric Technician","Station Engineer","Warden","Detective","Security Officer","Head of Security","Cargo Technician", "Shaft Miner", "Quartermaster") - -//Federation jackets from movies -/datum/gear/uniform/job_trek/cmd/cap - name = "fed (movie) uniform, Captain" - category = slot_wear_suit - path = /obj/item/clothing/suit/storage/fluff/fedcoat/capt - restricted_roles = list("Captain","Head of Personnel") - -/datum/gear/uniform/job_trek/cmd/mov - name = "fed (movie) uniform, sec" - category = slot_wear_suit - path = /obj/item/clothing/suit/storage/fluff/fedcoat - restricted_roles = list("Head of Security","Captain","Head of Personnel","Chief Engineer","Research Director","Chief Medical Officer","Quartermaster","Warden","Detective","Security Officer") - -/datum/gear/suit/job_trek/medsci/mov - name = "fed (movie) uniform, med/sci" - category = slot_wear_suit - path = /obj/item/clothing/suit/storage/fluff/fedcoat/medsci - restricted_roles = list("Chief Medical Officer","Medical Doctor","Chemist","Virologist","Geneticist","Research Director","Scientist", "Roboticist") - -/datum/gear/suit/job_trek/eng/mov - name = "fed (movie) uniform, ops/eng" - category = slot_wear_suit - path = /obj/item/clothing/suit/storage/fluff/fedcoat/eng - restricted_roles = list("Chief Engineer","Atmospheric Technician","Station Engineer","Cargo Technician", "Shaft Miner", "Quartermaster") - -//TNG -/datum/gear/uniform/job_trek/cmd/tng - name = "TNG uniform, cmd" - category = slot_w_uniform - path = /obj/item/clothing/under/rank/trek/command/next - restricted_roles = list("Head of Security","Captain","Head of Personnel","Chief Engineer","Research Director","Chief Medical Officer","Quartermaster") - -/datum/gear/uniform/job_trek/medsci/tng - name = "TNG uniform, med/sci" - category = slot_w_uniform - path = /obj/item/clothing/under/rank/trek/medsci/next - restricted_roles = list("Chief Medical Officer","Medical Doctor","Chemist","Virologist","Geneticist","Research Director","Scientist", "Roboticist") - -/datum/gear/uniform/job_trek/eng/tng - name = "TNG uniform, ops/sec" - category = slot_w_uniform - path = /obj/item/clothing/under/rank/trek/engsec/next - restricted_roles = list("Chief Engineer","Atmospheric Technician","Station Engineer","Warden","Detective","Security Officer","Head of Security","Cargo Technician", "Shaft Miner", "Quartermaster") - -//VOY -/datum/gear/uniform/job_trek/cmd/voy - name = "VOY uniform, cmd" - category = slot_w_uniform - path = /obj/item/clothing/under/rank/trek/command/voy - restricted_roles = list("Head of Security","Captain","Head of Personnel","Chief Engineer","Research Director","Chief Medical Officer","Quartermaster") - -/datum/gear/uniform/job_trek/medsci/voy - name = "VOY uniform, med/sci" - category = slot_w_uniform - path = /obj/item/clothing/under/rank/trek/medsci/voy - restricted_roles = list("Chief Medical Officer","Medical Doctor","Chemist","Virologist","Geneticist","Research Director","Scientist", "Roboticist") - -/datum/gear/uniform/job_trek/eng/voy - name = "VOY uniform, ops/sec" - category = slot_w_uniform - path = /obj/item/clothing/under/rank/trek/engsec/voy - restricted_roles = list("Chief Engineer","Atmospheric Technician","Station Engineer","Warden","Detective","Security Officer","Head of Security","Cargo Technician", "Shaft Miner", "Quartermaster") - -//DS9 - -/datum/gear/suit/job_trek/ds9_coat - name = "DS9 Overcoat (use uniform)" - category = slot_wear_suit - path = /obj/item/clothing/suit/storage/trek/ds9 - restricted_roles = list("Head of Security","Captain","Head of Personnel","Chief Engineer","Research Director","Chief Medical Officer","Quartermaster", - "Medical Doctor","Chemist","Virologist","Geneticist","Scientist", "Roboticist", - "Atmospheric Technician","Station Engineer","Warden","Detective","Security Officer", - "Cargo Technician", "Shaft Miner") //everyone who actually deserves a job. - -/datum/gear/uniform/job_trek/cmd/ds9 - name = "DS9 uniform, cmd" - category = slot_w_uniform - path = /obj/item/clothing/under/rank/trek/command/ds9 - restricted_roles = list("Head of Security","Captain","Head of Personnel","Chief Engineer","Research Director","Chief Medical Officer","Quartermaster") - -/datum/gear/uniform/job_trek/medsci/ds9 - name = "DS9 uniform, med/sci" - category = slot_w_uniform - path = /obj/item/clothing/under/rank/trek/medsci/ds9 - restricted_roles = list("Chief Medical Officer","Medical Doctor","Chemist","Virologist","Geneticist","Research Director","Scientist", "Roboticist") - -/datum/gear/uniform/job_trek/eng/ds9 - name = "DS9 uniform, ops/sec" - category = slot_w_uniform - path = /obj/item/clothing/under/rank/trek/engsec/ds9 - restricted_roles = list("Chief Engineer","Atmospheric Technician","Station Engineer","Warden","Detective","Security Officer","Head of Security","Cargo Technician", "Shaft Miner", "Quartermaster") - - -//ENT -/datum/gear/uniform/job_trek/cmd/ent - name = "ENT uniform, cmd" - category = slot_w_uniform - path = /obj/item/clothing/under/rank/trek/command/ent - restricted_roles = list("Head of Security","Captain","Head of Personnel","Chief Engineer","Research Director","Chief Medical Officer","Quartermaster") - -/datum/gear/uniform/job_trek/medsci/ent - name = "ENT uniform, med/sci" - category = slot_w_uniform - path = /obj/item/clothing/under/rank/trek/medsci/ent - restricted_roles = list("Chief Medical Officer","Medical Doctor","Chemist","Virologist","Geneticist","Research Director","Scientist", "Roboticist") - -/datum/gear/uniform/job_trek/eng/ent - name = "ENT uniform, ops/sec" - category = slot_w_uniform - path = /obj/item/clothing/under/rank/trek/engsec/ent - 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 - 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 - 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 - 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 - name = "Federation Officer's Cap" - category = slot_head - path = /obj/item/clothing/head/caphat/formal/fedcover/sec - restricted_roles = list("Chief Engineer","Atmospheric Technician","Station Engineer","Warden","Detective","Security Officer","Head of Security","Cargo Technician", "Shaft Miner", "Quartermaster") \ No newline at end of file diff --git a/modular_citadel/code/modules/client/preferences.dm b/modular_citadel/code/modules/client/preferences.dm index 4d1fc880d7..1bc484fb9d 100644 --- a/modular_citadel/code/modules/client/preferences.dm +++ b/modular_citadel/code/modules/client/preferences.dm @@ -3,20 +3,650 @@ #define BACKPACK_SLOT_AMT 4 /datum/preferences + //gear var/gear_points = 10 var/list/gear_categories var/list/chosen_gear var/gear_tab + + //pref vars var/screenshake = 100 var/damagescreenshake = 2 var/arousable = TRUE var/widescreenpref = TRUE var/autostand = TRUE + //vore prefs + var/toggleeatingnoise = TRUE + var/toggledigestionnoise = TRUE + var/hound_sleeper = TRUE + var/cit_toggles = TOGGLES_CITADEL + + // stuff that was in base + max_save_slots = 10 + features = list("mcolor" = "FFF", + "tail_lizard" = "Smooth", + "tail_human" = "None", + "snout" = "Round", + "horns" = "None", + "ears" = "None", + "wings" = "None", + "frills" = "None", + "spines" = "None", + "body_markings" = "None", + "legs" = "Normal Legs", + "moth_wings" = "Plain", + "mcolor2" = "FFF", + "mcolor3" = "FFF", + "mam_body_markings" = "None", + "mam_ears" = "None", + "mam_tail" = "None", + "mam_tail_animated" = "None", + "xenodorsal" = "None", + "xenohead" = "None", + "xenotail" = "None", + "taur" = "None", + "exhibitionist" = FALSE, + "genitals_use_skintone" = FALSE, + "has_cock" = FALSE, + "cock_shape" = "Human", + "cock_length" = 6, + "cock_girth_ratio" = COCK_GIRTH_RATIO_DEF, + "cock_color" = "fff", + "has_sheath" = FALSE, + "sheath_color" = "fff", + "has_balls" = FALSE, + "balls_internal" = FALSE, + "balls_color" = "fff", + "balls_amount" = 2, + "balls_sack_size" = BALLS_SACK_SIZE_DEF, + "balls_size" = BALLS_SIZE_DEF, + "balls_cum_rate" = CUM_RATE, + "balls_cum_mult" = CUM_RATE_MULT, + "balls_efficiency" = CUM_EFFICIENCY, + "balls_fluid" = "semen", + "has_ovi" = FALSE, + "ovi_shape" = "knotted", + "ovi_length" = 6, + "ovi_color" = "fff", + "has_eggsack" = FALSE, + "eggsack_internal" = TRUE, + "eggsack_color" = "fff", + "eggsack_size" = BALLS_SACK_SIZE_DEF, + "eggsack_egg_color" = "fff", + "eggsack_egg_size" = EGG_GIRTH_DEF, + "has_breasts" = FALSE, + "breasts_color" = "fff", + "breasts_size" = "C", + "breasts_shape" = "Pair", + "breasts_fluid" = "milk", + "has_vag" = FALSE, + "vag_shape" = "Human", + "vag_color" = "fff", + "vag_clits" = 1, + "vag_clit_diam" = 0.25, + "has_womb" = FALSE, + "womb_cum_rate" = CUM_RATE, + "womb_cum_mult" = CUM_RATE_MULT, + "womb_efficiency" = CUM_EFFICIENCY, + "womb_fluid" = "femcum", + "ipc_screen" = "Sunburst", + "flavor_text" = "" + ) + /datum/preferences/New(client/C) ..() LAZYINITLIST(chosen_gear) +/datum/preferences/proc/citadel_dat_replace(current_tab) + var/mob/user + //This proc is for menus other than game pref and char pref + . = "
" + . += "Character Settings" + . += "Character Appearance" + . += "Loadout" + . += "Game Preferences" + + if(!path) + . += "
Please create an account to save your preferences
" + + . += "
" + + . += "
" + + //Character Appearance + if(current_tab == 2) + update_preview_icon(nude=TRUE) + user << browse_rsc(preview_icon, "previewicon.png") + . += "" + */ + . += "
" + . += "
" + . += "Set Flavor Text
" + if(lentext(features["flavor_text"]) <= 40) + if(!lentext(features["flavor_text"])) + . += "\[...\]" + else + . += "[features["flavor_text"]]" + else + . += "[TextPreview(features["flavor_text"])]...
" + . += "

Body

" + . += "Gender: [gender == MALE ? "Male" : "Female"]
" + . += "Species:[pref_species.id]
" + . += "Random Body
" + . += "Always Random Body: [be_random_body ? "Yes" : "No"]
" + if((MUTCOLORS in pref_species.species_traits) || (MUTCOLORS_PARTSONLY in pref_species.species_traits)) + . += "Primary Color:     Change
" + . += "Secondary Color:     Change
" + . += "Tertiary Color:     Change
" + if(pref_species.use_skintones) + . += "Skin Tone: [skin_tone]
" + . += "Genitals Use Skintone:[features["genitals_use_skintone"] == TRUE ? "Enabled" : "Disabled"]
" + + if(HAIR in pref_species.species_traits) + . += "Hair Style: [hair_style]
" + . += "Hair Color:     Change
" + . += "Facial Hair Style: [facial_hair_style]
" + . += "Facial Hair Color:     Change
" + if(EYECOLOR in pref_species.species_traits) + . += "Eye Color:     Change
" + if("tail_lizard" in pref_species.mutant_bodyparts) + . += "Tail: [features["tail_lizard"]]
" + else if("mam_tail" in pref_species.mutant_bodyparts) + . += "Tail: [features["mam_tail"]]
" + else if("tail_human" in pref_species.mutant_bodyparts) + . += "Tail: [features["tail_human"]]
" + if("snout" in pref_species.mutant_bodyparts) + . += "Snout: [features["snout"]]
" + if("horns" in pref_species.mutant_bodyparts) + . += "Horns: [features["horns"]]
" + if("frills" in pref_species.mutant_bodyparts) + . += "Frills: [features["frills"]]
" + if("spines" in pref_species.mutant_bodyparts) + . += "Spines: [features["spines"]]
" + if("body_markings" in pref_species.mutant_bodyparts) + . += "Body Markings: [features["body_markings"]]
" + else if("mam_body_markings" in pref_species.mutant_bodyparts) + . += "Body Markings: [features["mam_body_markings"]]
" + if("mam_ears" in pref_species.mutant_bodyparts) + . += "Ears: [features["mam_ears"]]
" + else if("ears" in pref_species.mutant_bodyparts) + . += "Ears: [features["ears"]]
" + if("legs" in pref_species.mutant_bodyparts) + . += "Legs: [features["legs"]]
" + if("moth_wings" in pref_species.mutant_bodyparts) + . += "Moth wings[features["moth_wings"]]
" + if("taur" in pref_species.mutant_bodyparts) + . += "Taur: [features["taur"]]
" + if("wings" in pref_species.mutant_bodyparts && GLOB.r_wings_list.len >1) + . += "Wings: [features["wings"]]
" + if("xenohead" in pref_species.mutant_bodyparts) + . += "Caste: [features["xenohead"]]
" + if("xenotail" in pref_species.mutant_bodyparts) + . += "Tail: [features["xenotail"]]
" + if("xenodorsal" in pref_species.mutant_bodyparts) + . += "Dorsal Tubes: [features["xenodorsal"]]
" + if("ipc_screen" in pref_species.mutant_bodyparts) + . += "Screen:[features["ipc_screen"]]
" + + . += "
" + + . += "

Clothing & Equipment

" + + . += "Underwear:[underwear]
" + . += "Undershirt:[undershirt]
" + . += "Socks:[socks]
" + . += "Backpack:[backbag]
" + . += "Uplink Location:[uplink_spawn_loc]
" + + . += "

Genitals

" + if(NOGENITALS in pref_species.species_traits) + . += "Your species ([pref_species.name]) does not support genitals!
" + else + . += "Has Penis:[features["has_cock"] == TRUE ? "Yes" : "No"]
" + if(features["has_cock"] == TRUE) + if(pref_species.use_skintones && features["genitals_use_skintone"] == TRUE) + . += "Penis Color:   (Skin tone overriding)
" + else + . += "Penis Color:    Change
" + . += "Penis Shape: [features["cock_shape"]]
" + . += "Penis Length: [features["cock_length"]] inch(es)
" + . += "Has Testicles:[features["has_balls"] == TRUE ? "Yes" : "No"]
" + if(features["has_balls"] == TRUE) + if(pref_species.use_skintones && features["genitals_use_skintone"] == TRUE) + . += "Testicles Color:   (Skin tone overriding)
" + else + . += "Testicles Color:    Change
" + . += "Has Vagina:[features["has_vag"] == TRUE ? "Yes" : "No"]
" + if(features["has_vag"]) + . += "Vagina Type: [features["vag_shape"]]
" + if(pref_species.use_skintones && features["genitals_use_skintone"] == TRUE) + . += "Vagina Color:   (Skin tone overriding)
" + else + . += "Vagina Color:    Change
" + . += "Has Womb:[features["has_womb"] == TRUE ? "Yes" : "No"]
" + . += "Has Breasts:[features["has_breasts"] == TRUE ? "Yes" : "No"]
" + if(features["has_breasts"]) + if(pref_species.use_skintones && features["genitals_use_skintone"] == TRUE) + . += "Color:   (Skin tone overriding)
" + else + . += "Color:    Change
" + . += "Cup Size:[features["breasts_size"]]
" + . += "Breast Shape:[features["breasts_shape"]]
" + /* + . += "

Ovipositor

" + . += "Has Ovipositor:[features["has_ovi"] == TRUE ? "Yes" : "No"]" + if(features["has_ovi"]) + . += "Ovi Color:    Change" + . += "

Eggsack

" + . += "Has Eggsack:[features["has_eggsack"] == TRUE ? "Yes" : "No"]
" + if(features["has_eggsack"] == TRUE) + . += "Color:    Change" + . += "Egg Color:    Change" + . += "Egg Size:[features["eggsack_egg_size"]]\" Diameter" + . += "
" + +/datum/preferences/proc/process_citadel_link(mob/user, list/href_list) + if("input") + switch(href_list["preference"]) + if("flavor_text") + var/msg = stripped_multiline_input(usr,"Set the flavor text in your 'examine' verb. This can also be used for OOC notes and preferences!","Flavor Text",html_decode(features["flavor_text"]), MAX_MESSAGE_LEN*2, TRUE) as message + if(msg != null) + msg = copytext(msg, 1, MAX_MESSAGE_LEN*2) + features["flavor_text"] = msg + + if("hair") + var/new_hair = input(user, "Choose your character's hair colour:", "Character Preference","#"+hair_color) as color|null + if(new_hair) + hair_color = sanitize_hexcolor(new_hair) + + if("hair_style") + var/new_hair_style + if(gender == MALE) + new_hair_style = input(user, "Choose your character's hair style:", "Character Preference") as null|anything in GLOB.hair_styles_male_list + else + new_hair_style = input(user, "Choose your character's hair style:", "Character Preference") as null|anything in GLOB.hair_styles_female_list + if(new_hair_style) + hair_style = new_hair_style + + if("next_hair_style") + if (gender == MALE) + hair_style = next_list_item(hair_style, GLOB.hair_styles_male_list) + else + hair_style = next_list_item(hair_style, GLOB.hair_styles_female_list) + + if("previous_hair_style") + if (gender == MALE) + hair_style = previous_list_item(hair_style, GLOB.hair_styles_male_list) + else + hair_style = previous_list_item(hair_style, GLOB.hair_styles_female_list) + + if("facial") + var/new_facial = input(user, "Choose your character's facial-hair colour:", "Character Preference","#"+facial_hair_color) as color|null + if(new_facial) + facial_hair_color = sanitize_hexcolor(new_facial) + if("facial_hair_style") + var/new_facial_hair_style + if(gender == MALE) + new_facial_hair_style = input(user, "Choose your character's facial-hair style:", "Character Preference") as null|anything in GLOB.facial_hair_styles_male_list + else + new_facial_hair_style = input(user, "Choose your character's facial-hair style:", "Character Preference") as null|anything in GLOB.facial_hair_styles_female_list + if(new_facial_hair_style) + facial_hair_style = new_facial_hair_style + + if("next_facehair_style") + if (gender == MALE) + facial_hair_style = next_list_item(facial_hair_style, GLOB.facial_hair_styles_male_list) + else + facial_hair_style = next_list_item(facial_hair_style, GLOB.facial_hair_styles_female_list) + if("previous_facehair_style") + if (gender == MALE) + facial_hair_style = previous_list_item(facial_hair_style, GLOB.facial_hair_styles_male_list) + else + facial_hair_style = previous_list_item(facial_hair_style, GLOB.facial_hair_styles_female_list) + + if("underwear") + var/new_underwear + if(gender == MALE) + new_underwear = input(user, "Choose your character's underwear:", "Character Preference") as null|anything in GLOB.underwear_m + else + new_underwear = input(user, "Choose your character's underwear:", "Character Preference") as null|anything in GLOB.underwear_f + if(new_underwear) + underwear = new_underwear + + if("undershirt") + var/new_undershirt + if(gender == MALE) + new_undershirt = input(user, "Choose your character's undershirt:", "Character Preference") as null|anything in GLOB.undershirt_m + else + new_undershirt = input(user, "Choose your character's undershirt:", "Character Preference") as null|anything in GLOB.undershirt_f + if(new_undershirt) + undershirt = new_undershirt + + if("socks") + var/new_socks + new_socks = input(user, "Choose your character's socks:", "Character Preference") as null|anything in GLOB.socks_list + if(new_socks) + socks = new_socks + + if("eyes") + var/new_eyes = input(user, "Choose your character's eye colour:", "Character Preference","#"+eye_color) as color|null + if(new_eyes) + eye_color = sanitize_hexcolor(new_eyes) + + if("species") + var/result = input(user, "Select a species", "Species Selection") as null|anything in GLOB.roundstart_races + if(result) + var/newtype = GLOB.species_list[result] + pref_species = new newtype() + //Now that we changed our species, we must verify that the mutant colour is still allowed. + var/temp_hsv = RGBtoHSV(features["mcolor"]) + if(features["mcolor"] == "#000" || (!(MUTCOLORS_PARTSONLY in pref_species.species_traits) && ReadHSV(temp_hsv)[3] < ReadHSV("#202020")[3])) + features["mcolor"] = pref_species.default_color + if(features["mcolor2"] == "#000" || (!(MUTCOLORS_PARTSONLY in pref_species.species_traits) && ReadHSV(temp_hsv)[3] < ReadHSV("#202020")[3])) + features["mcolor2"] = pref_species.default_color + if(features["mcolor3"] == "#000" || (!(MUTCOLORS_PARTSONLY in pref_species.species_traits) && ReadHSV(temp_hsv)[3] < ReadHSV("#202020")[3])) + features["mcolor3"] = pref_species.default_color + + if("mutant_color") + var/new_mutantcolor = input(user, "Choose your character's alien/mutant color:", "Character Preference","#"+features["mcolor"]) as color|null + if(new_mutantcolor) + var/temp_hsv = RGBtoHSV(new_mutantcolor) + if(new_mutantcolor == "#000000") + features["mcolor"] = pref_species.default_color + else if((MUTCOLORS_PARTSONLY in pref_species.species_traits) || ReadHSV(temp_hsv)[3] >= ReadHSV("#202020")[3]) // mutantcolors must be bright, but only if they affect the skin + features["mcolor"] = sanitize_hexcolor(new_mutantcolor) + else + to_chat(user, "Invalid color. Your color is not bright enough.") + + if("mutant_color2") + var/new_mutantcolor = input(user, "Choose your character's secondary alien/mutant color:", "Character Preference") as color|null + if(new_mutantcolor) + var/temp_hsv = RGBtoHSV(new_mutantcolor) + if(new_mutantcolor == "#000000") + features["mcolor2"] = pref_species.default_color + else if((MUTCOLORS_PARTSONLY in pref_species.species_traits) || ReadHSV(temp_hsv)[3] >= ReadHSV("#202020")[3]) // mutantcolors must be bright, but only if they affect the skin + features["mcolor2"] = sanitize_hexcolor(new_mutantcolor) + else + to_chat(user, "Invalid color. Your color is not bright enough.") + + if("mutant_color3") + var/new_mutantcolor = input(user, "Choose your character's tertiary alien/mutant color:", "Character Preference") as color|null + if(new_mutantcolor) + var/temp_hsv = RGBtoHSV(new_mutantcolor) + if(new_mutantcolor == "#000000") + features["mcolor3"] = pref_species.default_color + else if((MUTCOLORS_PARTSONLY in pref_species.species_traits) || ReadHSV(temp_hsv)[3] >= ReadHSV("#202020")[3]) // mutantcolors must be bright, but only if they affect the skin + features["mcolor3"] = sanitize_hexcolor(new_mutantcolor) + else + to_chat(user, "Invalid color. Your color is not bright enough.") + + if("ipc_screen") + var/new_ipc_screen + new_ipc_screen = input(user, "Choose your character's screen:", "Character Preference") as null|anything in GLOB.ipc_screens_list + if(new_ipc_screen) + features["ipc_screen"] = new_ipc_screen + + if("tail_lizard") + var/new_tail + new_tail = input(user, "Choose your character's tail:", "Character Preference") as null|anything in GLOB.tails_list_lizard + if(new_tail) + features["tail_lizard"] = new_tail + if(new_tail != "None") + features["taur"] = "None" + + if("tail_human") + var/list/snowflake_tails_list = list("Normal" = null) + for(var/path in GLOB.tails_list_human) + var/datum/sprite_accessory/tails/human/instance = GLOB.tails_list_human[path] + if(istype(instance, /datum/sprite_accessory)) + var/datum/sprite_accessory/S = instance + if((!S.ckeys_allowed) || (S.ckeys_allowed.Find(user.client.ckey))) + snowflake_tails_list[S.name] = path + var/new_tail + new_tail = input(user, "Choose your character's tail:", "Character Preference") as null|anything in snowflake_tails_list + if(new_tail) + features["tail_human"] = new_tail + if(new_tail != "None") + features["taur"] = "None" + + if("mam_tail") + var/list/snowflake_tails_list = list("Normal" = null) + for(var/path in GLOB.mam_tails_list) + var/datum/sprite_accessory/mam_tails/instance = GLOB.mam_tails_list[path] + if(istype(instance, /datum/sprite_accessory)) + var/datum/sprite_accessory/S = instance + if((!S.ckeys_allowed) || (S.ckeys_allowed.Find(user.client.ckey))) + snowflake_tails_list[S.name] = path + var/new_tail + new_tail = input(user, "Choose your character's tail:", "Character Preference") as null|anything in snowflake_tails_list + if(new_tail) + features["mam_tail"] = new_tail + if(new_tail != "None") + features["taur"] = "None" + + if("snout") + var/new_snout + new_snout = input(user, "Choose your character's snout:", "Character Preference") as null|anything in GLOB.snouts_list + if(new_snout) + features["snout"] = new_snout + + if("horns") + var/new_horns + new_horns = input(user, "Choose your character's horns:", "Character Preference") as null|anything in GLOB.horns_list + if(new_horns) + features["horns"] = new_horns + + if("ears") + var/new_ears + new_ears = input(user, "Choose your character's ears:", "Character Preference") as null|anything in GLOB.ears_list + if(new_ears) + features["ears"] = new_ears + + if("wings") + var/new_wings + new_wings = input(user, "Choose your character's wings:", "Character Preference") as null|anything in GLOB.r_wings_list + if(new_wings) + features["wings"] = new_wings + + if("frills") + var/new_frills + new_frills = input(user, "Choose your character's frills:", "Character Preference") as null|anything in GLOB.frills_list + if(new_frills) + features["frills"] = new_frills + + if("spines") + var/new_spines + new_spines = input(user, "Choose your character's spines:", "Character Preference") as null|anything in GLOB.spines_list + if(new_spines) + features["spines"] = new_spines + + if("body_markings") + var/new_body_markings + new_body_markings = input(user, "Choose your character's body markings:", "Character Preference") as null|anything in GLOB.body_markings_list + if(new_body_markings) + features["body_markings"] = new_body_markings + + if("legs") + var/new_legs + new_legs = input(user, "Choose your character's legs:", "Character Preference") as null|anything in GLOB.legs_list + if(new_legs) + features["legs"] = new_legs + + if("moth_wings") + var/new_moth_wings + new_moth_wings = input(user, "Choose your character's wings:", "Character Preference") as null|anything in GLOB.moth_wings_list + if(new_moth_wings) + features["moth_wings"] = new_moth_wings + + if("s_tone") + var/new_s_tone = input(user, "Choose your character's skin-tone:", "Character Preference") as null|anything in GLOB.skin_tones + if(new_s_tone) + skin_tone = new_s_tone + + if("taur") + var/list/snowflake_taur_list = list("Normal" = null) + for(var/path in GLOB.taur_list) + var/datum/sprite_accessory/taur/instance = GLOB.taur_list[path] + if(istype(instance, /datum/sprite_accessory)) + var/datum/sprite_accessory/S = instance + if((!S.ckeys_allowed) || (S.ckeys_allowed.Find(user.client.ckey))) + snowflake_taur_list[S.name] = path + var/new_taur + new_taur = input(user, "Choose your character's tauric body:", "Character Preference") as null|anything in snowflake_taur_list + if(new_taur) + features["taur"] = new_taur + if(new_taur != "None") + features["mam_tail"] = "None" + features["xenotail"] = "None" + + if("ears") + var/list/snowflake_ears_list = list("Normal" = null) + for(var/path in GLOB.ears_list) + var/datum/sprite_accessory/ears/instance = GLOB.ears_list[path] + if(istype(instance, /datum/sprite_accessory)) + var/datum/sprite_accessory/S = instance + if((!S.ckeys_allowed) || (S.ckeys_allowed.Find(user.client.ckey))) + snowflake_ears_list[S.name] = path + var/new_ears + new_ears = input(user, "Choose your character's ears:", "Character Preference") as null|anything in snowflake_ears_list + if(new_ears) + features["ears"] = new_ears + + if("mam_ears") + var/list/snowflake_ears_list = list("Normal" = null) + for(var/path in GLOB.mam_ears_list) + var/datum/sprite_accessory/mam_ears/instance = GLOB.mam_ears_list[path] + if(istype(instance, /datum/sprite_accessory)) + var/datum/sprite_accessory/S = instance + if((!S.ckeys_allowed) || (S.ckeys_allowed.Find(user.client.ckey))) + snowflake_ears_list[S.name] = path + var/new_ears + new_ears = input(user, "Choose your character's ears:", "Character Preference") as null|anything in snowflake_ears_list + if(new_ears) + features["mam_ears"] = new_ears + + if("mam_body_markings") + var/list/snowflake_markings_list = list("Normal" = null) + for(var/path in GLOB.mam_body_markings_list) + var/datum/sprite_accessory/mam_body_markings/instance = GLOB.mam_body_markings_list[path] + if(istype(instance, /datum/sprite_accessory)) + var/datum/sprite_accessory/S = instance + if((!S.ckeys_allowed) || (S.ckeys_allowed.Find(user.client.ckey))) + snowflake_markings_list[S.name] = path + var/new_mam_body_markings + new_mam_body_markings = input(user, "Choose your character's body markings:", "Character Preference") as null|anything in snowflake_markings_list + if(new_mam_body_markings) + features["mam_body_markings"] = new_mam_body_markings + + //Xeno Bodyparts + if("xenohead")//Head or caste type + var/new_head + new_head = input(user, "Choose your character's caste:", "Character Preference") as null|anything in GLOB.xeno_head_list + if(new_head) + features["xenohead"] = new_head + + if("xenotail")//Currently one one type, more maybe later if someone sprites them. Might include animated variants in the future. + var/new_tail + new_tail = input(user, "Choose your character's tail:", "Character Preference") as null|anything in GLOB.xeno_tail_list + if(new_tail) + features["xenotail"] = new_tail + + if("xenodorsal") + var/new_dors + new_dors = input(user, "Choose your character's dorsal tube type:", "Character Preference") as null|anything in GLOB.xeno_dorsal_list + if(new_dors) + features["xenodorsal"] = new_dors + //Genital code + if("cock_color") + var/new_cockcolor = input(user, "Penis color:", "Character Preference") as color|null + if(new_cockcolor) + var/temp_hsv = RGBtoHSV(new_cockcolor) + if(new_cockcolor == "#000000") + features["cock_color"] = pref_species.default_color + else if((MUTCOLORS_PARTSONLY in pref_species.species_traits) || ReadHSV(temp_hsv)[3] >= ReadHSV("#202020")[3]) + features["cock_color"] = sanitize_hexcolor(new_cockcolor) + else + user << "Invalid color. Your color is not bright enough." + + if("cock_length") + var/new_length = input(user, "Penis length in inches:\n([COCK_SIZE_MIN]-[COCK_SIZE_MAX])", "Character Preference") as num|null + if(new_length) + features["cock_length"] = max(min( round(text2num(new_length)), COCK_SIZE_MAX),COCK_SIZE_MIN) + + if("cock_shape") + var/new_shape + new_shape = input(user, "Penis shape:", "Character Preference") as null|anything in GLOB.cock_shapes_list + if(new_shape) + features["cock_shape"] = new_shape + + if("balls_color") + var/new_ballscolor = input(user, "Testicle Color:", "Character Preference") as color|null + if(new_ballscolor) + var/temp_hsv = RGBtoHSV(new_ballscolor) + if(new_ballscolor == "#000000") + features["balls_color"] = pref_species.default_color + else if((MUTCOLORS_PARTSONLY in pref_species.species_traits) || ReadHSV(temp_hsv)[3] >= ReadHSV("#202020")[3]) + features["balls_color"] = sanitize_hexcolor(new_ballscolor) + else + user << "Invalid color. Your color is not bright enough." + + if("egg_size") + var/new_size + var/list/egg_sizes = list(1,2,3) + new_size = input(user, "Egg Diameter(inches):", "Egg Size") as null|anything in egg_sizes + if(new_size) + features["eggsack_egg_size"] = new_size + + if("egg_color") + var/new_egg_color = input(user, "Egg Color:", "Character Preference") as color|null + if(new_egg_color) + var/temp_hsv = RGBtoHSV(new_egg_color) + if(ReadHSV(temp_hsv)[3] >= ReadHSV("#202020")[3]) + features["eggsack_egg_color"] = sanitize_hexcolor(new_egg_color) + else + user << "Invalid color. Your color is not bright enough." + + if("breasts_size") + var/new_size + new_size = input(user, "Breast Size", "Character Preference") as null|anything in GLOB.breasts_size_list + if(new_size) + features["breasts_size"] = new_size + + if("breasts_shape") + var/new_shape + new_shape = input(user, "Breast Shape", "Character Preference") as null|anything in GLOB.breasts_shapes_list + if(new_shape) + features["breasts_shape"] = new_shape + + if("breasts_color") + var/new_breasts_color = input(user, "Breast Color:", "Character Preference") as color|null + if(new_breasts_color) + var/temp_hsv = RGBtoHSV(new_breasts_color) + if(new_breasts_color == "#000000") + features["breasts_color"] = pref_species.default_color + else if((MUTCOLORS_PARTSONLY in pref_species.species_traits) || ReadHSV(temp_hsv)[3] >= ReadHSV("#202020")[3]) + features["breasts_color"] = sanitize_hexcolor(new_breasts_color) + else + user << "Invalid color. Your color is not bright enough." + + if("vag_shape") + var/new_shape + new_shape = input(user, "Vagina Type", "Character Preference") as null|anything in GLOB.vagina_shapes_list + if(new_shape) + features["vag_shape"] = new_shape + + if("vag_color") + var/new_vagcolor = input(user, "Vagina color:", "Character Preference") as color|null + if(new_vagcolor) + var/temp_hsv = RGBtoHSV(new_vagcolor) + if(new_vagcolor == "#000000") + features["vag_color"] = pref_species.default_color + else if((MUTCOLORS_PARTSONLY in pref_species.species_traits) || ReadHSV(temp_hsv)[3] >= ReadHSV("#202020")[3]) + features["vag_color"] = sanitize_hexcolor(new_vagcolor) + else + user << "Invalid color. Your color is not bright enough." + /datum/preferences/proc/is_loadout_slot_available(slot) var/list/L LAZYINITLIST(L) @@ -34,3 +664,11 @@ else if(L[slot_to_string(slot)] < DEFAULT_SLOT_AMT) return TRUE + +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.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 4d0f950f7f..f37736b438 100644 --- a/modular_citadel/code/modules/client/preferences_savefile.dm +++ b/modular_citadel/code/modules/client/preferences_savefile.dm @@ -1,4 +1,11 @@ /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 features["flavor_text"] = sanitize_text(features["flavor_text"], initial(features["flavor_text"])) if(!features["mcolor2"] || features["mcolor"] == "#000") @@ -7,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 @@ -19,8 +27,10 @@ if(path) LAZYADD(chosen_gear, path) gear_points -= initial(path.cost) - + /datum/preferences/proc/cit_character_pref_save(savefile/S) + //ipcs + WRITE_FILE(S["feature_ipc_screen"], features["ipc_screen"]) //Citadel WRITE_FILE(S["feature_genitals_use_skintone"], features["genitals_use_skintone"]) WRITE_FILE(S["feature_exhibitionist"], features["exhibitionist"]) @@ -63,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/clothing/suits/suits.dm b/modular_citadel/code/modules/clothing/suits/suits.dm index 776da896bd..8c88a7e193 100644 --- a/modular_citadel/code/modules/clothing/suits/suits.dm +++ b/modular_citadel/code/modules/clothing/suits/suits.dm @@ -8,6 +8,6 @@ /obj/item/clothing/suit/armor/hos/trenchcoat/cloak name = "armored trenchcloak" desc = "A trenchcoat enchanced with a special lightweight kevlar. This one appears to be designed to be draped over one's shoulders rather than worn normally.." - alternate_worn_icon = 'icons/mob/citadel/suit.dmi' + alternate_worn_icon = 'modular_citadel/icons/mob/citadel/suit.dmi' icon_state = "hostrench" item_state = "hostrench" \ No newline at end of file diff --git a/modular_citadel/code/modules/clothing/under/turtlenecks.dm b/modular_citadel/code/modules/clothing/under/turtlenecks.dm index 2f40a08dc3..bcd0fd46e2 100644 --- a/modular_citadel/code/modules/clothing/under/turtlenecks.dm +++ b/modular_citadel/code/modules/clothing/under/turtlenecks.dm @@ -43,8 +43,8 @@ item_color = "bb_turtle" body_parts_covered = CHEST|ARMS can_adjust = 1 - icon = 'icons/obj/clothing/turtlenecks.dmi' - icon_override = 'icons/mob/citadel/uniforms.dmi' + icon = 'modular_citadel/icons/obj/clothing/turtlenecks.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/uniforms.dmi' /obj/item/clothing/under/bb_sweater/black name = "black sweater" diff --git a/modular_citadel/code/modules/clothing/under/under.dm b/modular_citadel/code/modules/clothing/under/under.dm index 042273ac6a..2661c5a539 100644 --- a/modular_citadel/code/modules/clothing/under/under.dm +++ b/modular_citadel/code/modules/clothing/under/under.dm @@ -8,17 +8,17 @@ /obj/item/clothing/under/rank/security/skirt name = "security skirt" desc = "A tactical security skirt for officers complete with Nanotrasen belt buckle." - icon = 'icons/obj/clothing/cit_clothes.dmi' + icon = 'modular_citadel/icons/obj/clothing/cit_clothes.dmi' icon_state = "secskirt" - icon_override = 'icons/mob/citadel/uniforms.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/uniforms.dmi' item_state = "r_suit" item_color = "secskirt" /obj/item/clothing/under/rank/head_of_security/skirt name = "head of security's skirt" desc = "A security skirt decorated for those few with the dedication to achieve the position of Head of Security." - icon = 'icons/obj/clothing/cit_clothes.dmi' + icon = 'modular_citadel/icons/obj/clothing/cit_clothes.dmi' icon_state = "hosskirt" - icon_override = 'icons/mob/citadel/uniforms.dmi' + icon_override = 'modular_citadel/icons/mob/citadel/uniforms.dmi' item_state = "gy_suit" item_color = "hosskirt" \ 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..df97cee63b 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/insect)) + 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/code/modules/mob/dead/new_player/sprite_accessories_Citadel.dm b/modular_citadel/code/modules/mob/dead/new_player/sprite_accessories.dm similarity index 75% rename from code/modules/mob/dead/new_player/sprite_accessories_Citadel.dm rename to modular_citadel/code/modules/mob/dead/new_player/sprite_accessories.dm index d70116cc82..1b1e2c81e5 100644 --- a/code/modules/mob/dead/new_player/sprite_accessories_Citadel.dm +++ b/modular_citadel/code/modules/mob/dead/new_player/sprite_accessories.dm @@ -1,16 +1,16 @@ /datum/sprite_accessory var/extra = FALSE - var/extra_icon = 'icons/mob/mam_bodyparts.dmi' + var/extra_icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' var/extra_color_src = MUTCOLORS2 //The color source for the extra overlay. var/extra2 = FALSE - var/extra2_icon = 'icons/mob/mam_bodyparts.dmi' + var/extra2_icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' var/extra2_color_src = MUTCOLORS3 var/list/ckeys_allowed /* tbi eventually idk /datum/sprite_accessory/legs/digitigrade_mam name = "Anthro Digitigrade Legs" - icon = 'icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' */ /datum/sprite_accessory/moth_wings/none @@ -37,128 +37,128 @@ name = "Red Panda" icon_state = "ailurus" color_src = 0 - icon = 'icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' /datum/sprite_accessory/ears/human/bear name = "Bear" icon_state = "bear" - icon = 'icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' /datum/sprite_accessory/tails/human/bear name = "Bear" icon_state = "bear" - icon = 'icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' /datum/sprite_accessory/tails_animated/human/bear name = "Bear" icon_state = "bear" - icon = 'icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' /datum/sprite_accessory/tails/human/catbig name = "Cat, Big" icon_state = "catbig" - icon = 'icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' /datum/sprite_accessory/tails_animated/human/catbig name = "Cat, Big" icon_state = "catbig" - icon = 'icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' /datum/sprite_accessory/ears/human/cow name = "Cow" icon_state = "cow" - icon = 'icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' gender_specific = 1 /datum/sprite_accessory/tails/human/cow name = "Cow" icon_state = "cow" - icon = 'icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' /datum/sprite_accessory/tails_animated/human/cow name = "Cow" icon_state = "cow" - icon = 'icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' /datum/sprite_accessory/tails/human/eevee name = "Eevee" icon_state = "eevee" extra = TRUE - icon = 'icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' /datum/sprite_accessory/ears/human/eevee name = "Eevee" icon_state = "eevee" - icon = 'icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' /datum/sprite_accessory/tails_animated/human/eevee name = "Eevee" icon_state = "eevee" extra = TRUE - icon = 'icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' //datum/sprite_accessory/ears/elf // name = "Elf" // icon_state = "elf" -// icon = 'icons/mob/mam_bodyparts.dmi' +// icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' // ckeys_allowed = list("atiefling") /datum/sprite_accessory/ears/fennec name = "Fennec" icon_state = "fennec" - icon = 'icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' hasinner = 1 /datum/sprite_accessory/tails/human/fennec name = "Fennec" icon_state = "fennec" - icon = 'icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' /datum/sprite_accessory/tails_animated/human/fennec name = "Fennec" icon_state = "fennec" - icon = 'icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' /datum/sprite_accessory/ears/fox name = "Fox" icon_state = "fox" hasinner = 1 - icon = 'icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' /datum/sprite_accessory/tails/human/fox name = "Fox" icon_state = "fox" - icon = 'icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' extra = TRUE /datum/sprite_accessory/tails_animated/human/fox name = "Fox" icon_state = "fox" - icon = 'icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' extra = TRUE /datum/sprite_accessory/tails/human/horse name = "Horse" icon_state = "horse" - icon = 'icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' color_src = HAIR /datum/sprite_accessory/tails_animated/human/horse name = "Horse" icon_state = "horse" - icon = 'icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' color_src = HAIR /datum/sprite_accessory/tails/human/husky name = "Husky" icon_state = "husky" - icon = 'icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' extra = TRUE /datum/sprite_accessory/tails_animated/human/husky name = "Husky" icon_state = "husky" - icon = 'icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' extra = TRUE /datum/sprite_accessory/tails/human/kitsune @@ -166,92 +166,92 @@ icon_state = "kitsune" extra = TRUE extra_color_src = MUTCOLORS2 - icon = 'icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' /datum/sprite_accessory/tails_animated/human/kitsune name = "Kitsune" icon_state = "kitsune" extra = TRUE extra_color_src = MUTCOLORS2 - icon = 'icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' /datum/sprite_accessory/ears/lab name = "Dog, Floppy" icon_state = "lab" hasinner = 0 - icon = 'icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' /datum/sprite_accessory/ears/murid name = "Murid" icon_state = "murid" - icon = 'icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' /datum/sprite_accessory/tails/human/murid name = "Murid" icon_state = "murid" color_src = 0 - icon = 'icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' /datum/sprite_accessory/tails_animated/human/murid name = "Murid" icon_state = "murid" color_src = 0 - icon = 'icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' /datum/sprite_accessory/ears/human/otie name = "Otusian" icon_state = "otie" hasinner= 1 - icon = 'icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' /datum/sprite_accessory/tails/human/otie name = "Otusian" icon_state = "otie" - icon = 'icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' /datum/sprite_accessory/tails_animated/human/otie name = "Otusian" icon_state = "otie" - icon = 'icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' /datum/sprite_accessory/ears/human/rabbit name = "Rabbit" icon_state = "rabbit" hasinner= 1 - icon = 'icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' /datum/sprite_accessory/tails/human/rabbit name = "Rabbit" icon_state = "rabbit" color_src = 0 - icon = 'icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' /datum/sprite_accessory/tails_animated/human/rabbit name = "Rabbit" icon_state = "rabbit" color_src = 0 - icon = 'icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' /datum/sprite_accessory/ears/human/sergal name = "Sergal" icon_state = "sergal" hasinner= 1 - icon = 'icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' /datum/sprite_accessory/tails/human/sergal name = "Sergal" icon_state = "sergal" - icon = 'icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' /datum/sprite_accessory/tails_animated/human/sergal name = "Sergal" icon_state = "sergal" - icon = 'icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' /datum/sprite_accessory/ears/human/skunk name = "skunk" icon_state = "skunk" - icon = 'icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' /datum/sprite_accessory/tails/human/skunk name = "skunk" @@ -267,62 +267,62 @@ name = "Shark" icon_state = "shark" color_src = MUTCOLORS - icon = 'icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' /datum/sprite_accessory/tails/human/shark/datashark name = "datashark" icon_state = "datashark" color_src = 0 - icon = 'icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' /datum/sprite_accessory/ears/squirrel name = "Squirrel" icon_state = "squirrel" hasinner= 1 - icon = 'icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' /datum/sprite_accessory/tails/human/squirrel name = "Squirrel" icon_state = "squirrel" - icon = 'icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' /datum/sprite_accessory/tails_animated/human/squirrel name = "Squirrel" icon_state = "squirrel" - icon = 'icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' /datum/sprite_accessory/ears/wolf name = "Wolf" icon_state = "wolf" hasinner = 1 - icon = 'icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' /datum/sprite_accessory/tails/human/wolf name = "Wolf" icon_state = "wolf" - icon = 'icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' /datum/sprite_accessory/tails_animated/human/wolf name = "Wolf" icon_state = "wolf" - icon = 'icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' /****************************************** *************** Body Parts **************** *******************************************/ /datum/sprite_accessory/mam_ears - icon = 'icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' /datum/sprite_accessory/mam_ears/none name = "None" /datum/sprite_accessory/mam_tails - icon = 'icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' /datum/sprite_accessory/mam_tails/none name = "None" /datum/sprite_accessory/mam_tails_animated - icon = 'icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' /datum/sprite_accessory/mam_tails_animated/none name = "None" @@ -334,48 +334,48 @@ /datum/sprite_accessory/snouts/none name = "None" icon_state = "none" - icon = 'icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' /datum/sprite_accessory/snouts/bird name = "Beak" icon_state = "bird" - icon = 'icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' color_src = MUTCOLORS3 /datum/sprite_accessory/snouts/lcanid name = "Fox, Long" icon_state = "lcanid" - icon = 'icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' extra = TRUE /datum/sprite_accessory/snouts/scanid name = "Fox, Short" icon_state = "scanid" - icon = 'icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' extra = TRUE /datum/sprite_accessory/snouts/wolf name = "Wolf" icon_state = "wolf" - icon = 'icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' extra = TRUE /datum/sprite_accessory/snouts/husky name = "Husky" icon_state = "husky" - icon = 'icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' extra = TRUE /datum/sprite_accessory/snouts/otie name = "Otie" icon_state = "otie" - icon = 'icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' extra = TRUE /datum/sprite_accessory/snouts/sergal name = "Sergal" icon_state = "sergal" - icon = 'icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' color_src = MUTCOLORS2 /****************************************** @@ -497,7 +497,7 @@ /datum/sprite_accessory/mam_ears/husky name = "Husky" icon_state = "wolf" - icon = 'icons/mob/mam_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi' extra = TRUE /datum/sprite_accessory/mam_tails/husky @@ -564,19 +564,19 @@ icon_state = "cat" hasinner = 1 color_src = HAIR - icon = 'icons/mob/mutant_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mutant_bodyparts.dmi' /datum/sprite_accessory/mam_tails/neko name = "Neko" icon_state = "cat" color_src = HAIR - icon = 'icons/mob/mutant_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mutant_bodyparts.dmi' /datum/sprite_accessory/mam_tails_animated/neko name = "Neko" icon_state = "cat" color_src = HAIR - icon = 'icons/mob/mutant_bodyparts.dmi' + icon = 'modular_citadel/icons/mob/mutant_bodyparts.dmi' /datum/sprite_accessory/mam_ears/otie name = "Otusian" @@ -688,7 +688,7 @@ /datum/sprite_accessory/mam_body_markings extra = TRUE extra2 = TRUE - icon = 'icons/mob/mam_body_markings.dmi' + icon = 'modular_citadel/icons/mob/mam_body_markings.dmi' /datum/sprite_accessory/mam_body_markings/none name = "None" @@ -802,10 +802,10 @@ ************ Taur Bodies ****************** *******************************************/ /datum/sprite_accessory/taur - icon = 'icons/mob/mam_taur.dmi' - extra_icon = 'icons/mob/mam_taur.dmi' + icon = 'modular_citadel/icons/mob/mam_taur.dmi' + extra_icon = 'modular_citadel/icons/mob/mam_taur.dmi' extra = TRUE - extra2_icon = 'icons/mob/mam_taur.dmi' + extra2_icon = 'modular_citadel/icons/mob/mam_taur.dmi' extra2 = TRUE center = TRUE dimension_x = 64 @@ -876,29 +876,23 @@ //Xeno Dorsal Tubes /datum/sprite_accessory/xeno_dorsal - icon = 'icons/mob/xeno_parts_greyscale.dmi' - -/datum/sprite_accessory/xeno_dorsal/none - name = "None" + icon = 'modular_citadel/icons/mob/xeno_parts_greyscale.dmi' /datum/sprite_accessory/xeno_dorsal/standard name = "Standard" icon_state = "standard" - icon = 'icons/mob/xeno_parts_greyscale.dmi' /datum/sprite_accessory/xeno_dorsal/royal name = "Royal" icon_state = "royal" - icon = 'icons/mob/xeno_parts_greyscale.dmi' /datum/sprite_accessory/xeno_dorsal/down name = "Dorsal Down" icon_state = "down" - icon = 'icons/mob/xeno_parts_greyscale.dmi' //Xeno Tail /datum/sprite_accessory/xeno_tail - icon = 'icons/mob/xeno_parts_greyscale.dmi' + icon = 'modular_citadel/icons/mob/xeno_parts_greyscale.dmi' /datum/sprite_accessory/xeno_tail/none name = "None" @@ -906,35 +900,149 @@ /datum/sprite_accessory/xeno_tail/standard name = "Xenomorph Tail" icon_state = "xeno" - icon = 'icons/mob/xeno_parts_greyscale.dmi' //Xeno Caste Heads /datum/sprite_accessory/xeno_head - icon = 'icons/mob/xeno_parts_greyscale.dmi' - -/datum/sprite_accessory/xeno_head/none - name = "None" + icon = 'modular_citadel/icons/mob/xeno_parts_greyscale.dmi' /datum/sprite_accessory/xeno_head/standard name = "Standard" icon_state = "standard" - icon = 'icons/mob/xeno_parts_greyscale.dmi' - /datum/sprite_accessory/xeno_head/royal name = "royal" icon_state = "royal" - icon = 'icons/mob/xeno_parts_greyscale.dmi' /datum/sprite_accessory/xeno_head/hollywood name = "hollywood" icon_state = "hollywood" - icon = 'icons/mob/xeno_parts_greyscale.dmi' /datum/sprite_accessory/xeno_head/warrior name = "warrior" icon_state = "warrior" - icon = 'icons/mob/xeno_parts_greyscale.dmi' + +// IPCs +/datum/sprite_accessory/screen + icon = 'modular_citadel/icons/mob/ipc_screens.dmi' + color_src = null + +/datum/sprite_accessory/screen/blank + name = "Blank" + icon_state = "blank" + +/datum/sprite_accessory/screen/pink + name = "Pink" + icon_state = "pink" + +/datum/sprite_accessory/screen/green + name = "Green" + icon_state = "green" + +/datum/sprite_accessory/screen/red + name = "Red" + icon_state = "red" + +/datum/sprite_accessory/screen/blue + name = "Blue" + icon_state = "blue" + +/datum/sprite_accessory/screen/yellow + name = "Yellow" + icon_state = "yellow" + +/datum/sprite_accessory/screen/shower + name = "Shower" + icon_state = "shower" + +/datum/sprite_accessory/screen/nature + name = "Nature" + icon_state = "nature" + +/datum/sprite_accessory/screen/eight + name = "Eight" + icon_state = "eight" + +/datum/sprite_accessory/screen/goggles + name = "Goggles" + icon_state = "goggles" + +/datum/sprite_accessory/screen/heart + name = "Heart" + icon_state = "heart" + +/datum/sprite_accessory/screen/monoeye + name = "Mono eye" + icon_state = "monoeye" + +/datum/sprite_accessory/screen/breakout + name = "Breakout" + icon_state = "breakout" + +/datum/sprite_accessory/screen/purple + name = "Purple" + icon_state = "purple" + +/datum/sprite_accessory/screen/scroll + name = "Scroll" + icon_state = "scroll" + +/datum/sprite_accessory/screen/console + name = "Console" + icon_state = "console" + +/datum/sprite_accessory/screen/rgb + name = "RGB" + icon_state = "rgb" + +/datum/sprite_accessory/screen/golglider + name = "Gol Glider" + icon_state = "golglider" + +/datum/sprite_accessory/screen/rainbow + name = "Rainbow" + icon_state = "rainbow" + +/datum/sprite_accessory/screen/sunburst + name = "Sunburst" + icon_state = "sunburst" + +/datum/sprite_accessory/screen/static + name = "Static" + icon_state = "static" + +//Oracle Station sprites + +/datum/sprite_accessory/screen/bsod + name = "BSOD" + icon_state = "bsod" + +/datum/sprite_accessory/screen/redtext + name = "Red Text" + icon_state = "retext" + +/datum/sprite_accessory/screen/sinewave + name = "Sine wave" + icon_state = "sinewave" + +/datum/sprite_accessory/screen/squarewave + name = "Square wave" + icon_state = "squarwave" + +/datum/sprite_accessory/screen/ecgwave + name = "ECG wave" + icon_state = "ecgwave" + +/datum/sprite_accessory/screen/eyes + name = "Eyes" + icon_state = "eyes" + +/datum/sprite_accessory/screen/textdrop + name = "Text drop" + icon_state = "textdrop" + +/datum/sprite_accessory/screen/stars + name = "Stars" + icon_state = "stars" // *** Snooooow flaaaaake *** diff --git a/modular_citadel/code/modules/mob/living/carbon/human/human.dm b/modular_citadel/code/modules/mob/living/carbon/human/human.dm deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/modular_citadel/code/modules/mob/living/carbon/human/species.dm b/modular_citadel/code/modules/mob/living/carbon/human/species.dm index 007194e9f1..d3ac99d61c 100644 --- a/modular_citadel/code/modules/mob/living/carbon/human/species.dm +++ b/modular_citadel/code/modules/mob/living/carbon/human/species.dm @@ -55,3 +55,41 @@ playsound(target, 'sound/weapons/punchmiss.ogg', 25, 1, -1) target.visible_message("[user] attempted to push [target]!", \ "[user] attemped to push [target]!", null, COMBAT_MESSAGE_RANGE) + +//////////////////// +/////BODYPARTS///// +//////////////////// + + +/obj/item/bodypart/var/should_draw_citadel = FALSE + +/mob/living/carbon/proc/draw_citadel_parts(undo = FALSE) + if(!undo) + for(var/O in bodyparts) + var/obj/item/bodypart/B = O + B.should_draw_citadel = TRUE + else + for(var/O in bodyparts) + var/obj/item/bodypart/B = O + B.should_draw_citadel = FALSE + +/datum/species/proc/citadel_mutant_bodyparts(bodypart, mob/living/carbon/human/H) + switch(bodypart) + if("ipc_screen") + return GLOB.ipc_screens_list[H.dna.features["ipc_screen"]] + if("mam_tail") + return GLOB.mam_tails_list[H.dna.features["mam_tail"]] + if("mam_waggingtail") + return GLOB.mam_tails_animated_list[H.dna.features["mam_tail"]] + if("mam_body_markings") + return GLOB.mam_body_markings_list[H.dna.features["mam_body_markings"]] + if("mam_ears") + return GLOB.mam_ears_list[H.dna.features["mam_ears"]] + if("taur") + return GLOB.taur_list[H.dna.features["taur"]] + if("xenodorsal") + return GLOB.xeno_dorsal_list[H.dna.features["xenodorsal"]] + if("xenohead") + return GLOB.xeno_head_list[H.dna.features["xenohead"]] + if("xenotail") + return GLOB.xeno_tail_list[H.dna.features["xenotail"]] \ No newline at end of file diff --git a/code/modules/mob/living/carbon/human/species_types/furrypeople.dm b/modular_citadel/code/modules/mob/living/carbon/human/species_types/furrypeople.dm similarity index 56% rename from code/modules/mob/living/carbon/human/species_types/furrypeople.dm rename to modular_citadel/code/modules/mob/living/carbon/human/species_types/furrypeople.dm index da56a69040..68780d0890 100644 --- a/code/modules/mob/living/carbon/human/species_types/furrypeople.dm +++ b/modular_citadel/code/modules/mob/living/carbon/human/species_types/furrypeople.dm @@ -4,10 +4,11 @@ default_color = "4B4B4B" species_traits = list(MUTCOLORS,EYECOLOR,LIPS,HAIR,SPECIES_ORGANIC) mutant_bodyparts = list("mam_tail", "mam_ears", "mam_body_markings", "snout", "taur") - default_features = list("mcolor" = "FFF","mcolor2" = "FFF","mcolor3" = "FFF", "body_markings" = "None", "mam_tail" = "None", "mam_ears" = "None", "mam_body_markings" = "None", "taur" = "None") + default_features = list("mcolor" = "FFF","mcolor2" = "FFF","mcolor3" = "FFF", "body_markings" = "husky", "mam_tail" = "husky", "mam_ears" = "husky", "mam_body_markings" = "husky", "taur" = "None") attack_verb = "claw" attack_sound = 'sound/weapons/slash.ogg' miss_sound = 'sound/weapons/slashmiss.ogg' + meat = /obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/mammal liked_food = MEAT | FRIED disliked_food = TOXIC @@ -18,6 +19,13 @@ /datum/species/mammal/qualifies_for_rank(rank, list/features) return TRUE +/datum/species/mammal/on_species_gain(mob/living/carbon/human/C) + C.draw_citadel_parts() + . = ..() + +/datum/species/mammal/on_species_loss(mob/living/carbon/human/C) + C.draw_citadel_parts(TRUE) + . = ..() //AVIAN// /datum/species/avian name = "Avian" @@ -40,6 +48,14 @@ /datum/species/avian/qualifies_for_rank(rank, list/features) return TRUE +/datum/species/avian/on_species_gain(mob/living/carbon/human/C) + C.draw_citadel_parts() + . = ..() + +/datum/species/avian/on_species_loss(mob/living/carbon/human/C) + C.draw_citadel_parts(TRUE) + . = ..() + //AQUATIC// /datum/species/aquatic name = "Aquatic" @@ -62,6 +78,14 @@ /datum/species/aquatic/qualifies_for_rank(rank, list/features) return TRUE +/datum/species/aquatic/on_species_gain(mob/living/carbon/human/C) + C.draw_citadel_parts() + . = ..() + +/datum/species/aquatic/on_species_loss(mob/living/carbon/human/C) + C.draw_citadel_parts(TRUE) + . = ..() + //INSECT// /datum/species/insect name = "Insect" @@ -83,6 +107,14 @@ /datum/species/insect/qualifies_for_rank(rank, list/features) return TRUE +/datum/species/insect/on_species_gain(mob/living/carbon/human/C) + C.draw_citadel_parts() + . = ..() + +/datum/species/insect/on_species_loss(mob/living/carbon/human/C) + C.draw_citadel_parts(TRUE) + . = ..() + //Alien// /datum/species/xeno // A cloning mistake, crossing human and xenomorph DNA @@ -102,6 +134,14 @@ damage_overlay_type = "xeno" liked_food = MEAT +/datum/species/xeno/on_species_gain(mob/living/carbon/human/C) + C.draw_citadel_parts() + . = ..() + +/datum/species/xeno/on_species_loss(mob/living/carbon/human/C) + C.draw_citadel_parts(TRUE) + . = ..() + //Praise the Omnissiah, A challange worthy of my skills - HS //EXOTIC// @@ -161,117 +201,6 @@ acidpwr = 12 */ -//##########SLIMEPEOPLE########## - -/datum/species/jelly/roundstartslime - name = "Slimeperson" - id = "slimeperson" - default_color = "00FFFF" - species_traits = list(SPECIES_ORGANIC,MUTCOLORS,EYECOLOR,HAIR,FACEHAIR,NOBLOOD) - inherent_traits = list(TRAIT_TOXINLOVER) - mutant_bodyparts = list("mam_tail", "mam_ears", "taur") - default_features = list("mcolor" = "FFF", "mam_tail" = "None", "mam_ears" = "None") - say_mod = "says" - hair_color = "mutcolor" - hair_alpha = 180 - liked_food = MEAT - coldmod = 3 - heatmod = 1 - burnmod = 1 - -/datum/action/innate/slime_change - name = "Alter Form" - check_flags = AB_CHECK_CONSCIOUS - button_icon_state = "alter_form" //placeholder - icon_icon = 'icons/mob/actions/actions_slime.dmi' - background_icon_state = "bg_alien" - -/datum/action/innate/slime_change/Activate() - var/mob/living/carbon/human/H = owner - if(!isjellyperson(H)) - return - else - H.visible_message("[owner] gains a look of \ - concentration while standing perfectly still.\ - Their body seems to shift and starts getting more goo-like.", - "You focus intently on altering your body while \ - standing perfectly still...") - change_form() - -/datum/action/innate/slime_change/proc/change_form() - var/mob/living/carbon/human/H = owner - var/select_alteration = input(owner, "Select what part of your form to alter", "Form Alteration", "cancel") in list("Hair Style", "Genitals", "Tail", "Ears", "Taur body", "Cancel") - if(select_alteration == "Hair Style") - if(H.gender == MALE) - var/new_style = input(owner, "Select a facial hair style", "Hair Alterations") as null|anything in GLOB.facial_hair_styles_list - if(new_style) - H.facial_hair_style = new_style - else - H.facial_hair_style = "Shaved" - //handle normal hair - var/new_style = input(owner, "Select a hair style", "Hair Alterations") as null|anything in GLOB.hair_styles_list - if(new_style) - H.hair_style = new_style - H.update_hair() - else if (select_alteration == "Genitals") - var/list/organs = list() - var/operation = input("Select organ operation.", "Organ Manipulation", "cancel") in list("add sexual organ", "remove sexual organ", "cancel") - switch(operation) - if("add sexual organ") - var/new_organ = input("Select sexual organ:", "Organ Manipulation") in list("Penis", "Testicles", "Breasts", "Vagina", "Womb", "Cancel") - if(new_organ == "Penis") - H.give_penis() - else if(new_organ == "Testicles") - H.give_balls() - else if(new_organ == "Breasts") - H.give_breasts() - else if(new_organ == "Vagina") - H.give_vagina() - else if(new_organ == "Womb") - H.give_womb() - else - return - if("remove sexual organ") - for(var/obj/item/organ/genital/X in H.internal_organs) - var/obj/item/organ/I = X - organs["[I.name] ([I.type])"] = I - var/obj/item/organ = input("Select sexual organ:", "Organ Manipulation", null) in organs - organ = organs[organ] - if(!organ) - return - var/obj/item/organ/genital/O - if(isorgan(organ)) - O = organ - O.Remove(H) - organ.forceMove(get_turf(H)) - qdel(organ) - H.update_body() - else if (select_alteration == "Ears") - var/new_ears - new_ears = input(owner, "Choose your character's ears:", "Ear Alteration") as null|anything in GLOB.mam_ears_list - if(new_ears) - H.dna.features["mam_ears"] = new_ears - H.update_body() - else if (select_alteration == "Tail") - var/new_tail - new_tail = input(owner, "Choose your character's tail:", "Tail Alteration") as null|anything in GLOB.mam_tails_list - if(new_tail) - H.dna.features["mam_tail"] = new_tail - if(new_tail != "None") - H.dna.features["taur"] = "None" - H.update_body() - else if (select_alteration == "Taur body") - var/new_taur - new_taur = input(owner, "Choose your character's tauric body:", "Taur Body Alteration") as null|anything in GLOB.taur_list - if(new_taur) - H.dna.features["taur"] = new_taur - if(new_taur != "None") - H.dna.features["mam_tail"] = "None" - H.dna.features["xenotail"] = "None" - H.update_body() - else - return - //misc /mob/living/carbon/human/dummy no_vore = TRUE diff --git a/modular_citadel/code/modules/mob/living/carbon/human/species_types/ipc.dm b/modular_citadel/code/modules/mob/living/carbon/human/species_types/ipc.dm new file mode 100644 index 0000000000..22e9f12115 --- /dev/null +++ b/modular_citadel/code/modules/mob/living/carbon/human/species_types/ipc.dm @@ -0,0 +1,43 @@ +/datum/species/ipc + name = "IPC" + id = "ipc" + say_mod = "beeps" + default_color = "00FF00" + blacklisted = 0 + sexes = 0 + species_traits = list(MUTCOLORS,NOEYES) + mutant_bodyparts = list("ipc_screen") + default_features = list("ipc_screen" = "Blank") + meat = /obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/ipc + + var/datum/action/innate/monitor_change/screen + +/datum/species/ipc/on_species_gain(mob/living/carbon/human/C) + C.draw_citadel_parts() + if(isipcperson(C) && !screen) + screen = new + screen.Grant(C) + ..() + +/datum/species/ipc/on_species_loss(mob/living/carbon/human/C) + C.draw_citadel_parts(TRUE) + if(screen) + screen.Remove(C) + ..() + +/datum/species/ipc/get_spans() + return SPAN_ROBOT + +/datum/action/innate/monitor_change + name = "Screen Change" + check_flags = AB_CHECK_CONSCIOUS + icon_icon = 'icons/mob/actions/actions_silicon.dmi' + button_icon_state = "drone_vision" + +/datum/action/innate/monitor_change/Activate() + var/mob/living/carbon/human/H = owner + var/new_ipc_screen = input(usr, "Choose your character's screen:", "Monitor Display") as null|anything in GLOB.ipc_screens_list + if(!new_ipc_screen) + return + H.dna.features["ipc_screen"] = new_ipc_screen + H.update_body() diff --git a/modular_citadel/code/modules/mob/living/carbon/human/species_types/jellypeople.dm b/modular_citadel/code/modules/mob/living/carbon/human/species_types/jellypeople.dm index 5e3f58e26c..03a7cbc0a7 100644 --- a/modular_citadel/code/modules/mob/living/carbon/human/species_types/jellypeople.dm +++ b/modular_citadel/code/modules/mob/living/carbon/human/species_types/jellypeople.dm @@ -1,2 +1,113 @@ /datum/species/jelly/slime name = "Xenobiological Slimeperson" + +//##########SLIMEPEOPLE########## + +/datum/species/jelly/roundstartslime + name = "Slimeperson" + id = "slimeperson" + default_color = "00FFFF" + species_traits = list(SPECIES_ORGANIC,MUTCOLORS,EYECOLOR,HAIR,FACEHAIR,NOBLOOD) + inherent_traits = list(TRAIT_TOXINLOVER) + mutant_bodyparts = list("mam_tail", "mam_ears", "taur") + default_features = list("mcolor" = "FFF", "mam_tail" = "None", "mam_ears" = "None") + say_mod = "says" + hair_color = "mutcolor" + hair_alpha = 180 + liked_food = MEAT + coldmod = 3 + heatmod = 1 + burnmod = 1 + +/datum/action/innate/slime_change + name = "Alter Form" + check_flags = AB_CHECK_CONSCIOUS + button_icon_state = "alter_form" //placeholder + icon_icon = 'icons/mob/actions/actions_slime.dmi' + background_icon_state = "bg_alien" + +/datum/action/innate/slime_change/Activate() + var/mob/living/carbon/human/H = owner + if(!isjellyperson(H)) + return + else + H.visible_message("[owner] gains a look of \ + concentration while standing perfectly still.\ + Their body seems to shift and starts getting more goo-like.", + "You focus intently on altering your body while \ + standing perfectly still...") + change_form() + +/datum/action/innate/slime_change/proc/change_form() + var/mob/living/carbon/human/H = owner + var/select_alteration = input(owner, "Select what part of your form to alter", "Form Alteration", "cancel") in list("Hair Style", "Genitals", "Tail", "Ears", "Taur body", "Cancel") + if(select_alteration == "Hair Style") + if(H.gender == MALE) + var/new_style = input(owner, "Select a facial hair style", "Hair Alterations") as null|anything in GLOB.facial_hair_styles_list + if(new_style) + H.facial_hair_style = new_style + else + H.facial_hair_style = "Shaved" + //handle normal hair + var/new_style = input(owner, "Select a hair style", "Hair Alterations") as null|anything in GLOB.hair_styles_list + if(new_style) + H.hair_style = new_style + H.update_hair() + else if (select_alteration == "Genitals") + var/list/organs = list() + var/operation = input("Select organ operation.", "Organ Manipulation", "cancel") in list("add sexual organ", "remove sexual organ", "cancel") + switch(operation) + if("add sexual organ") + var/new_organ = input("Select sexual organ:", "Organ Manipulation") in list("Penis", "Testicles", "Breasts", "Vagina", "Womb", "Cancel") + if(new_organ == "Penis") + H.give_penis() + else if(new_organ == "Testicles") + H.give_balls() + else if(new_organ == "Breasts") + H.give_breasts() + else if(new_organ == "Vagina") + H.give_vagina() + else if(new_organ == "Womb") + H.give_womb() + else + return + if("remove sexual organ") + for(var/obj/item/organ/genital/X in H.internal_organs) + var/obj/item/organ/I = X + organs["[I.name] ([I.type])"] = I + var/obj/item/organ = input("Select sexual organ:", "Organ Manipulation", null) in organs + organ = organs[organ] + if(!organ) + return + var/obj/item/organ/genital/O + if(isorgan(organ)) + O = organ + O.Remove(H) + organ.forceMove(get_turf(H)) + qdel(organ) + H.update_body() + else if (select_alteration == "Ears") + var/new_ears + new_ears = input(owner, "Choose your character's ears:", "Ear Alteration") as null|anything in GLOB.mam_ears_list + if(new_ears) + H.dna.features["mam_ears"] = new_ears + H.update_body() + else if (select_alteration == "Tail") + var/new_tail + new_tail = input(owner, "Choose your character's tail:", "Tail Alteration") as null|anything in GLOB.mam_tails_list + if(new_tail) + H.dna.features["mam_tail"] = new_tail + if(new_tail != "None") + H.dna.features["taur"] = "None" + H.update_body() + else if (select_alteration == "Taur body") + var/new_taur + new_taur = input(owner, "Choose your character's tauric body:", "Taur Body Alteration") as null|anything in GLOB.taur_list + if(new_taur) + H.dna.features["taur"] = new_taur + if(new_taur != "None") + H.dna.features["mam_tail"] = "None" + H.dna.features["xenotail"] = "None" + H.update_body() + else + return \ 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/mob/living/silicon/robot/robot_modules.dm b/modular_citadel/code/modules/mob/living/silicon/robot/robot_modules.dm index dd7d492575..5766d3ffcb 100644 --- a/modular_citadel/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/modular_citadel/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -48,7 +48,7 @@ can_be_pushed = FALSE hat_offset = INFINITY sleeper_overlay = "ksleeper" - cyborg_icon_override = 'icons/mob/widerobot.dmi' + cyborg_icon_override = 'modular_citadel/icons/mob/widerobot.dmi' has_snowflake_deadsprite = TRUE dogborg = TRUE cyborg_pixel_offset = -16 @@ -79,7 +79,7 @@ can_be_pushed = FALSE hat_offset = INFINITY sleeper_overlay = "msleeper" - cyborg_icon_override = 'icons/mob/widerobot.dmi' + cyborg_icon_override = 'modular_citadel/icons/mob/widerobot.dmi' has_snowflake_deadsprite = TRUE dogborg = TRUE cyborg_pixel_offset = -16 @@ -101,7 +101,7 @@ hat_offset = INFINITY clean_on_move = TRUE sleeper_overlay = "jsleeper" - cyborg_icon_override = 'icons/mob/widerobot.dmi' + cyborg_icon_override = 'modular_citadel/icons/mob/widerobot.dmi' has_snowflake_deadsprite = TRUE cyborg_pixel_offset = -16 dogborg = TRUE @@ -161,7 +161,7 @@ cyborg_base_icon = "orepup" moduleselect_icon = "orepup" sleeper_overlay = "osleeper" - cyborg_icon_override = 'icons/mob/widerobot.dmi' + cyborg_icon_override = 'modular_citadel/icons/mob/widerobot.dmi' has_snowflake_deadsprite = TRUE cyborg_pixel_offset = -16 diff --git a/modular_citadel/code/modules/projectiles/guns/ballistic/flechette.dm b/modular_citadel/code/modules/projectiles/guns/ballistic/flechette.dm index 28dfeb89d6..9ab141e56e 100644 --- a/modular_citadel/code/modules/projectiles/guns/ballistic/flechette.dm +++ b/modular_citadel/code/modules/projectiles/guns/ballistic/flechette.dm @@ -42,7 +42,7 @@ /obj/item/ammo_box/magazine/flechette name = "flechette magazine (armor piercing)" - icon = 'icons/obj/guns/cit_guns.dmi' + icon = 'modular_citadel/icons/obj/guns/cit_guns.dmi' icon_state = "flechettemag" ammo_type = /obj/item/ammo_casing/caseless/flechetteap caliber = "flechette" @@ -58,7 +58,7 @@ /obj/item/gun/ballistic/automatic/flechette name = "\improper CX Flechette Launcher" desc = "A flechette launching machine pistol with an unconventional bullpup frame." - icon = 'icons/obj/guns/cit_guns.dmi' + icon = 'modular_citadel/icons/obj/guns/cit_guns.dmi' icon_state = "flechettegun" item_state = "gun" w_class = WEIGHT_CLASS_NORMAL diff --git a/modular_citadel/code/modules/projectiles/guns/ballistic/handguns.dm b/modular_citadel/code/modules/projectiles/guns/ballistic/handguns.dm index 487d5111fc..4a29dfa3f2 100644 --- a/modular_citadel/code/modules/projectiles/guns/ballistic/handguns.dm +++ b/modular_citadel/code/modules/projectiles/guns/ballistic/handguns.dm @@ -3,7 +3,7 @@ /obj/item/gun/ballistic/automatic/pistol/antitank name = "Anti Tank Pistol" desc = "A massively impractical and silly monstrosity of a pistol that fires .50 calliber rounds. The recoil is likely to dislocate your wrist." - icon = 'icons/obj/guns/cit_guns.dmi' + icon = 'modular_citadel/icons/obj/guns/cit_guns.dmi' icon_state = "atp" item_state = "pistol" recoil = 4 @@ -36,7 +36,7 @@ /obj/item/gun/ballistic/automatic/pistol/stealth name = "stealth pistol" desc = "A unique bullpup pistol with a compact frame. Has an integrated surpressor." - icon = 'icons/obj/guns/cit_guns.dmi' + icon = 'modular_citadel/icons/obj/guns/cit_guns.dmi' icon_state = "stealthpistol" w_class = WEIGHT_CLASS_SMALL mag_type = /obj/item/ammo_box/magazine/m10mm @@ -61,7 +61,7 @@ /obj/item/gun/ballistic/automatic/toy/pistol/stealth name = "foam force stealth pistol" desc = "A small, easily concealable toy bullpup handgun. Ages 8 and up." - icon = 'icons/obj/guns/cit_guns.dmi' + icon = 'modular_citadel/icons/obj/guns/cit_guns.dmi' icon_state = "foamsp" w_class = WEIGHT_CLASS_SMALL mag_type = /obj/item/ammo_box/magazine/toy/pistol @@ -108,7 +108,7 @@ obj/item/projectile/bullet/c10mm/soporific /obj/item/ammo_box/magazine/m10mm/soporific name = "pistol magazine (10mm soporific)" - icon = 'icons/obj/guns/cit_guns.dmi' + icon = 'modular_citadel/icons/obj/guns/cit_guns.dmi' icon_state = "9x19pS" desc = "A gun magazine. Loaded with rounds which inject the target with a variety of illegal substances to induce sleep in the target." ammo_type = /obj/item/ammo_casing/c10mm/soporific @@ -123,7 +123,7 @@ obj/item/projectile/bullet/c10mm/soporific /obj/item/gun/ballistic/automatic/pistol/modular name = "modular pistol" desc = "A small, easily concealable 10mm handgun. Has a threaded barrel for suppressors." - icon = 'icons/obj/guns/cit_guns.dmi' + icon = 'modular_citadel/icons/obj/guns/cit_guns.dmi' icon_state = "cde" can_unsuppress = TRUE obj_flags = UNIQUE_RENAME @@ -154,7 +154,7 @@ obj/item/projectile/bullet/c10mm/soporific /////////RAYGUN MEMES///////// /obj/item/projectile/beam/lasertag/ray //the projectile, compatible with regular laser tag armor - icon = 'icons/obj/guns/cit_guns.dmi' + icon = 'modular_citadel/icons/obj/guns/cit_guns.dmi' icon_state = "ray" name = "ray bolt" eyeblur = 0 @@ -166,7 +166,7 @@ obj/item/projectile/bullet/c10mm/soporific /obj/item/gun/energy/laser/practice/raygun name = "toy ray gun" - icon = 'icons/obj/guns/cit_guns.dmi' + icon = 'modular_citadel/icons/obj/guns/cit_guns.dmi' icon_state = "raygun" desc = "A toy laser with a classic, retro feel and look. Compatible with existing laser tag systems." ammo_type = list(/obj/item/ammo_casing/energy/laser/raytag) @@ -182,7 +182,7 @@ obj/item/projectile/bullet/c10mm/soporific This model is coated with a special polychromic material. \ Has a small warning on the receiver that boldly states 'WARNING: WILL DETONATE UPON UNAUTHORIZED USE'. \ Uses 9mm bullets loaded into proprietary magazines." - icon = 'icons/obj/guns/cit_guns.dmi' + icon = 'modular_citadel/icons/obj/guns/cit_guns.dmi' icon_state = "p37" w_class = WEIGHT_CLASS_NORMAL spawnwithmagazine = FALSE @@ -203,15 +203,15 @@ obj/item/projectile/bullet/c10mm/soporific ///Defining all the colourable bits and displaying them/// /obj/item/gun/ballistic/automatic/pistol/p37/update_icon() - var/mutable_appearance/frame_overlay = mutable_appearance('icons/obj/guns/cit_guns.dmi', "p37_frame") - var/mutable_appearance/receiver_overlay = mutable_appearance('icons/obj/guns/cit_guns.dmi', "p37_receiver") - var/mutable_appearance/body_overlay = mutable_appearance('icons/obj/guns/cit_guns.dmi', "p37_body") - var/mutable_appearance/barrel_overlay = mutable_appearance('icons/obj/guns/cit_guns.dmi', "p37_barrel") - var/mutable_appearance/tip_overlay = mutable_appearance('icons/obj/guns/cit_guns.dmi', "p37_tip") - var/mutable_appearance/grip_overlay = mutable_appearance('icons/obj/guns/cit_guns.dmi', "p37_grip") - var/mutable_appearance/energy_overlay = mutable_appearance('icons/obj/guns/cit_guns.dmi', "p37_light") - var/mutable_appearance/arm_overlay = mutable_appearance('icons/obj/guns/cit_guns.dmi', "p37_arm") - var/mutable_appearance/arm_overlay_e = mutable_appearance('icons/obj/guns/cit_guns.dmi', "p37_arm-e") + var/mutable_appearance/frame_overlay = mutable_appearance('modular_citadel/icons/obj/guns/cit_guns.dmi', "p37_frame") + var/mutable_appearance/receiver_overlay = mutable_appearance('modular_citadel/icons/obj/guns/cit_guns.dmi', "p37_receiver") + var/mutable_appearance/body_overlay = mutable_appearance('modular_citadel/icons/obj/guns/cit_guns.dmi', "p37_body") + var/mutable_appearance/barrel_overlay = mutable_appearance('modular_citadel/icons/obj/guns/cit_guns.dmi', "p37_barrel") + var/mutable_appearance/tip_overlay = mutable_appearance('modular_citadel/icons/obj/guns/cit_guns.dmi', "p37_tip") + var/mutable_appearance/grip_overlay = mutable_appearance('modular_citadel/icons/obj/guns/cit_guns.dmi', "p37_grip") + var/mutable_appearance/energy_overlay = mutable_appearance('modular_citadel/icons/obj/guns/cit_guns.dmi', "p37_light") + var/mutable_appearance/arm_overlay = mutable_appearance('modular_citadel/icons/obj/guns/cit_guns.dmi', "p37_arm") + var/mutable_appearance/arm_overlay_e = mutable_appearance('modular_citadel/icons/obj/guns/cit_guns.dmi', "p37_arm-e") if(frame_color) frame_overlay.color = frame_color @@ -346,7 +346,7 @@ obj/item/projectile/bullet/c10mm/soporific /obj/item/ammo_box/magazine/m9mm/p37 name = "\improper P37 magazine (9mm frangible)" desc = "A gun magazine. Loaded with plastic composite rounds which fragment upon impact to minimize collateral damage." - icon = 'icons/obj/guns/cit_guns.dmi' + icon = 'modular_citadel/icons/obj/guns/cit_guns.dmi' icon_state = "11mm" //topkek ammo_type = /obj/item/ammo_casing/c9mm/frangible caliber = "9mm" diff --git a/modular_citadel/code/modules/projectiles/guns/ballistic/magweapon.dm b/modular_citadel/code/modules/projectiles/guns/ballistic/magweapon.dm index cd4ec113de..1fbd32e992 100644 --- a/modular_citadel/code/modules/projectiles/guns/ballistic/magweapon.dm +++ b/modular_citadel/code/modules/projectiles/guns/ballistic/magweapon.dm @@ -3,7 +3,7 @@ /obj/item/gun/ballistic/automatic/x9 //will be adminspawn only so ERT or something can use them name = "\improper X9 Assault Rifle" desc = "A rather old design of a cheap, reliable assault rifle made for combat against unknown enemies. Uses 5.56mm ammo." - icon = 'icons/obj/guns/cit_guns.dmi' + icon = 'modular_citadel/icons/obj/guns/cit_guns.dmi' icon_state = "x9" item_state = "arg" slot_flags = 0 @@ -19,7 +19,7 @@ /obj/item/ammo_box/magazine/toy/x9 name = "foam force X9 magazine" - icon = 'icons/obj/guns/cit_guns.dmi' + icon = 'modular_citadel/icons/obj/guns/cit_guns.dmi' icon_state = "toy9magazine" max_ammo = 30 multiple_sprites = 2 @@ -28,7 +28,7 @@ /obj/item/gun/ballistic/automatic/x9/toy name = "\improper Foam Force X9" desc = "An old but reliable assault rifle made for combat against unknown enemies. Appears to be hastily converted. Ages 8 and up." - icon = 'icons/obj/guns/cit_guns.dmi' + icon = 'modular_citadel/icons/obj/guns/cit_guns.dmi' icon_state = "toy9" can_suppress = 0 obj_flags = 0 @@ -43,7 +43,7 @@ //////projectiles////// /obj/item/projectile/bullet/mags - icon = 'icons/obj/guns/cit_guns.dmi' + icon = 'modular_citadel/icons/obj/guns/cit_guns.dmi' icon_state = "magjectile" damage = 15 armour_penetration = 10 @@ -53,7 +53,7 @@ light_color = LIGHT_COLOR_RED /obj/item/projectile/bullet/nlmags //non-lethal boolets - icon = 'icons/obj/guns/cit_guns.dmi' + icon = 'modular_citadel/icons/obj/guns/cit_guns.dmi' icon_state = "magjectile-nl" damage = 0 knockdown = 0 @@ -70,14 +70,14 @@ /obj/item/ammo_casing/caseless/amags desc = "A ferromagnetic slug intended to be launched out of a compatible weapon." caliber = "mags" - icon = 'icons/obj/guns/cit_guns.dmi' + icon = 'modular_citadel/icons/obj/guns/cit_guns.dmi' icon_state = "mag-casing-live" projectile_type = /obj/item/projectile/bullet/mags /obj/item/ammo_casing/caseless/anlmags desc = "A specialized ferromagnetic slug designed with a less-than-lethal payload." caliber = "mags" - icon = 'icons/obj/guns/cit_guns.dmi' + icon = 'modular_citadel/icons/obj/guns/cit_guns.dmi' icon_state = "mag-casing-live" projectile_type = /obj/item/projectile/bullet/nlmags @@ -85,7 +85,7 @@ /obj/item/ammo_box/magazine/mmag/small name = "magpistol magazine (non-lethal disabler)" - icon = 'icons/obj/guns/cit_guns.dmi' + icon = 'modular_citadel/icons/obj/guns/cit_guns.dmi' icon_state = "nlmagmag" ammo_type = /obj/item/ammo_casing/caseless/anlmags caliber = "mags" @@ -94,7 +94,7 @@ /obj/item/ammo_box/magazine/mmag/small/lethal name = "magpistol magazine (lethal)" - icon = 'icons/obj/guns/cit_guns.dmi' + icon = 'modular_citadel/icons/obj/guns/cit_guns.dmi' icon_state = "smallmagmag" ammo_type = /obj/item/ammo_casing/caseless/amags @@ -103,7 +103,7 @@ /obj/item/gun/ballistic/automatic/pistol/mag name = "magpistol" desc = "A handgun utilizing maglev technologies to propel a ferromagnetic slug to extreme velocities." - icon = 'icons/obj/guns/cit_guns.dmi' + icon = 'modular_citadel/icons/obj/guns/cit_guns.dmi' icon_state = "magpistol" force = 10 fire_sound = 'sound/weapons/magpistol.ogg' @@ -160,7 +160,7 @@ /obj/item/projectile/bullet/reusable/foam_dart/mag name = "magfoam dart" - icon = 'icons/obj/guns/cit_guns.dmi' + icon = 'modular_citadel/icons/obj/guns/cit_guns.dmi' icon_state = "magjectile-toy" ammo_type = /obj/item/ammo_casing/caseless/foam_dart/mag light_range = 2 @@ -178,7 +178,7 @@ /obj/item/gun/ballistic/shotgun/toy/mag name = "foam force magpistol" desc = "A fancy toy sold alongside light-up foam force darts. Ages 8 and up." - icon = 'icons/obj/guns/cit_guns.dmi' + icon = 'modular_citadel/icons/obj/guns/cit_guns.dmi' icon_state = "toymag" item_state = "gun" mag_type = /obj/item/ammo_box/magazine/internal/shot/toy/mag @@ -198,7 +198,7 @@ ///projectiles/// /obj/item/projectile/bullet/magrifle - icon = 'icons/obj/guns/cit_guns.dmi' + icon = 'modular_citadel/icons/obj/guns/cit_guns.dmi' icon_state = "magjectile-large" damage = 20 armour_penetration = 25 @@ -208,7 +208,7 @@ light_color = LIGHT_COLOR_RED /obj/item/projectile/bullet/nlmagrifle //non-lethal boolets - icon = 'icons/obj/guns/cit_guns.dmi' + icon = 'modular_citadel/icons/obj/guns/cit_guns.dmi' icon_state = "magjectile-large-nl" damage = 0 knockdown = 0 @@ -224,14 +224,14 @@ /obj/item/ammo_casing/caseless/amagm desc = "A large ferromagnetic slug intended to be launched out of a compatible weapon." caliber = "magm" - icon = 'icons/obj/guns/cit_guns.dmi' + icon = 'modular_citadel/icons/obj/guns/cit_guns.dmi' icon_state = "mag-casing-live" projectile_type = /obj/item/projectile/bullet/magrifle /obj/item/ammo_casing/caseless/anlmagm desc = "A large, specialized ferromagnetic slug designed with a less-than-lethal payload." caliber = "magm" - icon = 'icons/obj/guns/cit_guns.dmi' + icon = 'modular_citadel/icons/obj/guns/cit_guns.dmi' icon_state = "mag-casing-live" projectile_type = /obj/item/projectile/bullet/nlmagrifle @@ -239,7 +239,7 @@ /obj/item/ammo_box/magazine/mmag/ name = "magrifle magazine (non-lethal disabler)" - icon = 'icons/obj/guns/cit_guns.dmi' + icon = 'modular_citadel/icons/obj/guns/cit_guns.dmi' icon_state = "mediummagmag" ammo_type = /obj/item/ammo_casing/caseless/anlmagm caliber = "magm" @@ -248,7 +248,7 @@ /obj/item/ammo_box/magazine/mmag/lethal name = "magrifle magazine (lethal)" - icon = 'icons/obj/guns/cit_guns.dmi' + icon = 'modular_citadel/icons/obj/guns/cit_guns.dmi' icon_state = "mediummagmag" ammo_type = /obj/item/ammo_casing/caseless/amagm max_ammo = 24 @@ -258,7 +258,7 @@ /obj/item/gun/ballistic/automatic/magrifle name = "\improper Magnetic Rifle" desc = "A simple upscalling of the technologies used in the magpistol, the magrifle is capable of firing slightly larger slugs in bursts. Compatible with the magpistol's slugs." - icon = 'icons/obj/guns/cit_guns.dmi' + icon = 'modular_citadel/icons/obj/guns/cit_guns.dmi' icon_state = "magrifle" item_state = "arg" slot_flags = 0 @@ -309,7 +309,7 @@ /obj/item/ammo_box/magazine/toy/foamag name = "foam force magrifle magazine" - icon = 'icons/obj/guns/cit_guns.dmi' + icon = 'modular_citadel/icons/obj/guns/cit_guns.dmi' icon_state = "foamagmag" max_ammo = 24 multiple_sprites = 2 @@ -346,7 +346,7 @@ ///projectiles/// /obj/item/projectile/bullet/mags/hyper - icon = 'icons/obj/guns/cit_guns.dmi' + icon = 'modular_citadel/icons/obj/guns/cit_guns.dmi' icon_state = "magjectile" damage = 10 armour_penetration = 10 @@ -373,7 +373,7 @@ /obj/item/ammo_casing/caseless/ahyper desc = "A large block of speciallized ferromagnetic material designed to be fired out of the experimental Hyper-Burst Rifle." caliber = "hypermag" - icon = 'icons/obj/guns/cit_guns.dmi' + icon = 'modular_citadel/icons/obj/guns/cit_guns.dmi' icon_state = "hyper-casing-live" projectile_type = /obj/item/projectile/bullet/mags/hyper pellets = 12 @@ -388,7 +388,7 @@ /obj/item/ammo_box/magazine/mhyper name = "hyper-burst rifle magazine" - icon = 'icons/obj/guns/cit_guns.dmi' + icon = 'modular_citadel/icons/obj/guns/cit_guns.dmi' icon_state = "hypermag-4" ammo_type = /obj/item/ammo_casing/caseless/ahyper caliber = "hypermag" @@ -409,7 +409,7 @@ /obj/item/gun/ballistic/automatic/hyperburst name = "\improper Hyper-Burst Rifle" desc = "An extremely beefed up version of a stolen Nanotrasen weapon prototype, this 'rifle' is more like a cannon, with an extremely large bore barrel capable of generating several smaller magnetic 'barrels' to simultaneously launch multiple projectiles at once." - icon = 'icons/obj/guns/cit_guns.dmi' + icon = 'modular_citadel/icons/obj/guns/cit_guns.dmi' icon_state = "hyperburst" item_state = "arg" slot_flags = 0 @@ -429,7 +429,7 @@ ///toy memes/// /obj/item/projectile/beam/lasertag/mag //the projectile, compatible with regular laser tag armor - icon = 'icons/obj/guns/cit_guns.dmi' + icon = 'modular_citadel/icons/obj/guns/cit_guns.dmi' icon_state = "magjectile-toy" name = "lasertag magbolt" forcedodge = TRUE //for penetration memes @@ -450,7 +450,7 @@ name = "toy hyper-burst launcher" desc = "A toy laser with a unique beam shaping lens that projects harmless bolts capable of going through objects. Compatible with existing laser tag systems." ammo_type = list(/obj/item/ammo_casing/energy/laser/magtag) - icon = 'icons/obj/guns/cit_guns.dmi' + icon = 'modular_citadel/icons/obj/guns/cit_guns.dmi' icon_state = "toyburst" clumsy_check = FALSE obj_flags = 0 diff --git a/modular_citadel/code/modules/projectiles/guns/ballistic/rifles.dm b/modular_citadel/code/modules/projectiles/guns/ballistic/rifles.dm index a9824c7d33..01ab1c536f 100644 --- a/modular_citadel/code/modules/projectiles/guns/ballistic/rifles.dm +++ b/modular_citadel/code/modules/projectiles/guns/ballistic/rifles.dm @@ -4,7 +4,7 @@ /obj/item/gun/ballistic/automatic/x9 //will be adminspawn only so ERT or something can use them name = "\improper X9 Assault Rifle" desc = "A rather old design of a cheap, reliable assault rifle made for combat against unknown enemies. Uses 5.56mm ammo." - icon = 'icons/obj/guns/cit_guns.dmi' + icon = 'modular_citadel/icons/obj/guns/cit_guns.dmi' icon_state = "x9" item_state = "arg" slot_flags = 0 @@ -20,7 +20,7 @@ /obj/item/ammo_box/magazine/toy/x9 name = "foam force X9 magazine" - icon = 'icons/obj/guns/cit_guns.dmi' + icon = 'modular_citadel/icons/obj/guns/cit_guns.dmi' icon_state = "toy9magazine" max_ammo = 30 multiple_sprites = 2 @@ -29,7 +29,7 @@ /obj/item/gun/ballistic/automatic/x9/toy name = "\improper Foam Force X9" desc = "An old but reliable assault rifle made for combat against unknown enemies. Appears to be hastily converted. Ages 8 and up." - icon = 'icons/obj/guns/cit_guns.dmi' + icon = 'modular_citadel/icons/obj/guns/cit_guns.dmi' icon_state = "toy9" can_suppress = 0 obj_flags = 0 @@ -84,7 +84,7 @@ /obj/item/ammo_box/magazine/flechette name = "flechette magazine (armor piercing)" - icon = 'icons/obj/guns/cit_guns.dmi' + icon = 'modular_citadel/icons/obj/guns/cit_guns.dmi' icon_state = "flechettemag" ammo_type = /obj/item/ammo_casing/caseless/flechetteap caliber = "flechette" @@ -100,7 +100,7 @@ /obj/item/gun/ballistic/automatic/flechette name = "\improper CX Flechette Launcher" desc = "A flechette launching machine pistol with an unconventional bullpup frame." - icon = 'icons/obj/guns/cit_guns.dmi' + icon = 'modular_citadel/icons/obj/guns/cit_guns.dmi' icon_state = "flechettegun" item_state = "gun" w_class = WEIGHT_CLASS_NORMAL @@ -163,7 +163,7 @@ *////////////////////////////////////////////////////////////// /obj/item/ammo_box/magazine/toy/AM4B name = "foam force AM4-B magazine" - icon = 'icons/obj/guns/cit_guns.dmi' + icon = 'modular_citadel/icons/obj/guns/cit_guns.dmi' icon_state = "AM4MAG-60" max_ammo = 60 multiple_sprites = 0 @@ -172,7 +172,7 @@ /obj/item/gun/ballistic/automatic/AM4B name = "AM4-B" desc = "A Relic from a bygone age. Nobody quite knows why it's here. Has a polychromic coating." - icon = 'icons/obj/guns/cit_guns.dmi' + icon = 'modular_citadel/icons/obj/guns/cit_guns.dmi' icon_state = "AM4" item_state = "arg" mag_type = /obj/item/ammo_box/magazine/toy/AM4B @@ -187,7 +187,7 @@ /obj/item/gun/ballistic/automatic/AM4B/update_icon() ..() - var/mutable_appearance/body_overlay = mutable_appearance('icons/obj/guns/cit_guns.dmi', "AM4-Body") + var/mutable_appearance/body_overlay = mutable_appearance('modular_citadel/icons/obj/guns/cit_guns.dmi', "AM4-Body") if(body_color) body_overlay.color = body_color cut_overlays() //So that it doesn't keep stacking overlays non-stop on top of each other @@ -212,7 +212,7 @@ /obj/item/ammo_box/magazine/toy/AM4C name = "foam force AM4-C magazine" - icon = 'icons/obj/guns/cit_guns.dmi' + icon = 'modular_citadel/icons/obj/guns/cit_guns.dmi' icon_state = "AM4MAG-32" max_ammo = 32 multiple_sprites = 0 @@ -221,7 +221,7 @@ /obj/item/gun/ballistic/automatic/AM4C name = "AM4-C" desc = "A Relic from a bygone age. This one seems newer, yet less effective." - icon = 'icons/obj/guns/cit_guns.dmi' + icon = 'modular_citadel/icons/obj/guns/cit_guns.dmi' icon_state = "AM4C" item_state = "arg" mag_type = /obj/item/ammo_box/magazine/toy/AM4C diff --git a/modular_citadel/code/modules/projectiles/guns/ballistic/spinfusor.dm b/modular_citadel/code/modules/projectiles/guns/ballistic/spinfusor.dm index 5b42f9686a..d16df6b285 100644 --- a/modular_citadel/code/modules/projectiles/guns/ballistic/spinfusor.dm +++ b/modular_citadel/code/modules/projectiles/guns/ballistic/spinfusor.dm @@ -2,7 +2,7 @@ /obj/item/projectile/bullet/spinfusor name ="spinfusor disk" - icon = 'icons/obj/guns/cit_guns.dmi' + icon = 'modular_citadel/icons/obj/guns/cit_guns.dmi' icon_state= "spinner" damage = 30 dismemberment = 25 @@ -17,7 +17,7 @@ desc = "A magnetic disk designed specifically for the Stormhammer magnetic cannon. Warning: extremely volatile!" projectile_type = /obj/item/projectile/bullet/spinfusor caliber = "spinfusor" - icon = 'icons/obj/guns/cit_guns.dmi' + icon = 'modular_citadel/icons/obj/guns/cit_guns.dmi' icon_state = "disk" throwforce = 15 //still deadly when thrown throw_speed = 3 @@ -39,7 +39,7 @@ /obj/item/gun/ballistic/automatic/spinfusor name = "Stormhammer Magnetic Cannon" desc = "An innovative weapon utilizing mag-lev technology to spin up a magnetic fusor and launch it at extreme velocities." - icon = 'icons/obj/guns/cit_guns.dmi' + icon = 'modular_citadel/icons/obj/guns/cit_guns.dmi' icon_state = "spinfusor" item_state = "spinfusor" mag_type = /obj/item/ammo_box/magazine/internal/spinfusor @@ -68,7 +68,7 @@ /obj/item/ammo_box/aspinfusor name = "ammo box (spinfusor disks)" - icon = 'icons/obj/guns/cit_guns.dmi' + icon = 'modular_citadel/icons/obj/guns/cit_guns.dmi' icon_state = "spinfusorbox" ammo_type = /obj/item/ammo_casing/caseless/spinfusor max_ammo = 8 diff --git a/modular_citadel/code/modules/projectiles/guns/energy/energy_gun.dm b/modular_citadel/code/modules/projectiles/guns/energy/energy_gun.dm index fb488fcca4..0f7db73d6e 100644 --- a/modular_citadel/code/modules/projectiles/guns/energy/energy_gun.dm +++ b/modular_citadel/code/modules/projectiles/guns/energy/energy_gun.dm @@ -16,10 +16,10 @@ obj/item/gun/energy/e_gun/cx name = "\improper CX Model D Energy Gun" desc = "An overpriced hybrid energy gun with two settings: disable, and kill. Manufactured by CX Armories. Has a polychromic coating." - icon = 'icons/obj/guns/cit_guns.dmi' + icon = 'modular_citadel/icons/obj/guns/cit_guns.dmi' icon_state = "cxe" - lefthand_file = 'icons/mob/citadel/guns_lefthand.dmi' - righthand_file = 'icons/mob/citadel/guns_righthand.dmi' + lefthand_file = 'modular_citadel/icons/mob/citadel/guns_lefthand.dmi' + righthand_file = 'modular_citadel/icons/mob/citadel/guns_righthand.dmi' ammo_type = list(/obj/item/ammo_casing/energy/disabler, /obj/item/ammo_casing/energy/laser) flight_x_offset = 15 flight_y_offset = 10 @@ -27,7 +27,7 @@ obj/item/gun/energy/e_gun/cx obj/item/gun/energy/e_gun/cx/update_icon() ..() - var/mutable_appearance/body_overlay = mutable_appearance('icons/obj/guns/cit_guns.dmi', "cxegun_body") + var/mutable_appearance/body_overlay = mutable_appearance('modular_citadel/icons/obj/guns/cit_guns.dmi', "cxegun_body") if(body_color) body_overlay.color = body_color add_overlay(body_overlay) diff --git a/modular_citadel/code/modules/projectiles/guns/energy/laser.dm b/modular_citadel/code/modules/projectiles/guns/energy/laser.dm index 25ae98e72a..61996a777a 100644 --- a/modular_citadel/code/modules/projectiles/guns/energy/laser.dm +++ b/modular_citadel/code/modules/projectiles/guns/energy/laser.dm @@ -21,7 +21,7 @@ /obj/item/gun/energy/laser/carbine name = "VGS blaster carbine" desc = "A ruggedized laser carbine featuring much higher capacity and improved handling when compared to a normal blaster carbine." - icon = 'icons/obj/guns/cit_guns.dmi' + icon = 'modular_citadel/icons/obj/guns/cit_guns.dmi' icon_state = "lasernew" item_state = "laser" force = 10 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 c5428650a9..ea66f824b8 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/icons/mob/citadel/glasses.dmi b/modular_citadel/icons/mob/citadel/glasses.dmi similarity index 100% rename from icons/mob/citadel/glasses.dmi rename to modular_citadel/icons/mob/citadel/glasses.dmi diff --git a/icons/mob/citadel/guns_lefthand.dmi b/modular_citadel/icons/mob/citadel/guns_lefthand.dmi similarity index 100% rename from icons/mob/citadel/guns_lefthand.dmi rename to modular_citadel/icons/mob/citadel/guns_lefthand.dmi diff --git a/icons/mob/citadel/guns_righthand.dmi b/modular_citadel/icons/mob/citadel/guns_righthand.dmi similarity index 100% rename from icons/mob/citadel/guns_righthand.dmi rename to modular_citadel/icons/mob/citadel/guns_righthand.dmi diff --git a/icons/mob/citadel/head.dmi b/modular_citadel/icons/mob/citadel/head.dmi similarity index 100% rename from icons/mob/citadel/head.dmi rename to modular_citadel/icons/mob/citadel/head.dmi diff --git a/icons/mob/citadel/masks.dmi b/modular_citadel/icons/mob/citadel/masks.dmi similarity index 100% rename from icons/mob/citadel/masks.dmi rename to modular_citadel/icons/mob/citadel/masks.dmi diff --git a/icons/mob/citadel/neck.dmi b/modular_citadel/icons/mob/citadel/neck.dmi similarity index 100% rename from icons/mob/citadel/neck.dmi rename to modular_citadel/icons/mob/citadel/neck.dmi diff --git a/icons/mob/citadel/shoes.dmi b/modular_citadel/icons/mob/citadel/shoes.dmi similarity index 100% rename from icons/mob/citadel/shoes.dmi rename to modular_citadel/icons/mob/citadel/shoes.dmi diff --git a/icons/mob/citadel/suit.dmi b/modular_citadel/icons/mob/citadel/suit.dmi similarity index 100% rename from icons/mob/citadel/suit.dmi rename to modular_citadel/icons/mob/citadel/suit.dmi diff --git a/icons/mob/citadel/uniforms.dmi b/modular_citadel/icons/mob/citadel/uniforms.dmi similarity index 100% rename from icons/mob/citadel/uniforms.dmi rename to modular_citadel/icons/mob/citadel/uniforms.dmi diff --git a/icons/mob/citadel_refs/borg HUDs.dmi b/modular_citadel/icons/mob/citadel_refs/borg HUDs.dmi similarity index 100% rename from icons/mob/citadel_refs/borg HUDs.dmi rename to modular_citadel/icons/mob/citadel_refs/borg HUDs.dmi diff --git a/icons/mob/citadel_refs/cit_tail_reference.dmi b/modular_citadel/icons/mob/citadel_refs/cit_tail_reference.dmi similarity index 100% rename from icons/mob/citadel_refs/cit_tail_reference.dmi rename to modular_citadel/icons/mob/citadel_refs/cit_tail_reference.dmi diff --git a/icons/mob/citadel_refs/cit_wings.dmi b/modular_citadel/icons/mob/citadel_refs/cit_wings.dmi similarity index 100% rename from icons/mob/citadel_refs/cit_wings.dmi rename to modular_citadel/icons/mob/citadel_refs/cit_wings.dmi diff --git a/icons/mob/citadel_refs/dogborg animations.dmi b/modular_citadel/icons/mob/citadel_refs/dogborg animations.dmi similarity index 100% rename from icons/mob/citadel_refs/dogborg animations.dmi rename to modular_citadel/icons/mob/citadel_refs/dogborg animations.dmi diff --git a/icons/mob/citadel_refs/furry_parts_greyscale.dmi b/modular_citadel/icons/mob/citadel_refs/furry_parts_greyscale.dmi similarity index 100% rename from icons/mob/citadel_refs/furry_parts_greyscale.dmi rename to modular_citadel/icons/mob/citadel_refs/furry_parts_greyscale.dmi diff --git a/icons/mob/citadel_refs/furryrace_references.dmi b/modular_citadel/icons/mob/citadel_refs/furryrace_references.dmi similarity index 100% rename from icons/mob/citadel_refs/furryrace_references.dmi rename to modular_citadel/icons/mob/citadel_refs/furryrace_references.dmi diff --git a/icons/mob/citadel_refs/furrytail_references.dmi b/modular_citadel/icons/mob/citadel_refs/furrytail_references.dmi similarity index 100% rename from icons/mob/citadel_refs/furrytail_references.dmi rename to modular_citadel/icons/mob/citadel_refs/furrytail_references.dmi diff --git a/icons/mob/citadel_refs/snowflake_parts.dmi b/modular_citadel/icons/mob/citadel_refs/snowflake_parts.dmi similarity index 100% rename from icons/mob/citadel_refs/snowflake_parts.dmi rename to modular_citadel/icons/mob/citadel_refs/snowflake_parts.dmi diff --git a/icons/mob/citadel_refs/taur_referencesVOREbellies.dmi b/modular_citadel/icons/mob/citadel_refs/taur_referencesVOREbellies.dmi similarity index 100% rename from icons/mob/citadel_refs/taur_referencesVOREbellies.dmi rename to modular_citadel/icons/mob/citadel_refs/taur_referencesVOREbellies.dmi diff --git a/icons/mob/citadel_refs/widerobot_vr.dmi b/modular_citadel/icons/mob/citadel_refs/widerobot_vr.dmi similarity index 100% rename from icons/mob/citadel_refs/widerobot_vr.dmi rename to modular_citadel/icons/mob/citadel_refs/widerobot_vr.dmi diff --git a/modular_citadel/icons/mob/ipc_screens.dmi b/modular_citadel/icons/mob/ipc_screens.dmi new file mode 100644 index 0000000000..c7d44da5a8 Binary files /dev/null and b/modular_citadel/icons/mob/ipc_screens.dmi differ diff --git a/icons/mob/mam_body_markings.dmi b/modular_citadel/icons/mob/mam_body_markings.dmi similarity index 100% rename from icons/mob/mam_body_markings.dmi rename to modular_citadel/icons/mob/mam_body_markings.dmi diff --git a/icons/mob/mam_bodyparts.dmi b/modular_citadel/icons/mob/mam_bodyparts.dmi similarity index 100% rename from icons/mob/mam_bodyparts.dmi rename to modular_citadel/icons/mob/mam_bodyparts.dmi diff --git a/icons/mob/mam_taur.dmi b/modular_citadel/icons/mob/mam_taur.dmi similarity index 100% rename from icons/mob/mam_taur.dmi rename to modular_citadel/icons/mob/mam_taur.dmi diff --git a/modular_citadel/icons/mob/mobs.dmi b/modular_citadel/icons/mob/mobs.dmi deleted file mode 100644 index cf74d73796..0000000000 Binary files a/modular_citadel/icons/mob/mobs.dmi and /dev/null differ diff --git a/modular_citadel/icons/mob/mutant_bodyparts.dmi b/modular_citadel/icons/mob/mutant_bodyparts.dmi new file mode 100644 index 0000000000..741051faa0 Binary files /dev/null and b/modular_citadel/icons/mob/mutant_bodyparts.dmi differ diff --git a/icons/mob/werenerd.dmi b/modular_citadel/icons/mob/werenerd.dmi similarity index 100% rename from icons/mob/werenerd.dmi rename to modular_citadel/icons/mob/werenerd.dmi diff --git a/icons/mob/werenerdleap.dmi b/modular_citadel/icons/mob/werenerdleap.dmi similarity index 100% rename from icons/mob/werenerdleap.dmi rename to modular_citadel/icons/mob/werenerdleap.dmi diff --git a/icons/mob/widerobot.dmi b/modular_citadel/icons/mob/widerobot.dmi similarity index 100% rename from icons/mob/widerobot.dmi rename to modular_citadel/icons/mob/widerobot.dmi diff --git a/icons/mob/xeno_parts_greyscale.dmi b/modular_citadel/icons/mob/xeno_parts_greyscale.dmi similarity index 100% rename from icons/mob/xeno_parts_greyscale.dmi rename to modular_citadel/icons/mob/xeno_parts_greyscale.dmi diff --git a/icons/obj/VGProjectile.dmi b/modular_citadel/icons/obj/VGProjectile.dmi similarity index 100% rename from icons/obj/VGProjectile.dmi rename to modular_citadel/icons/obj/VGProjectile.dmi diff --git a/icons/obj/clothing/cit_clothes.dmi b/modular_citadel/icons/obj/clothing/cit_clothes.dmi similarity index 100% rename from icons/obj/clothing/cit_clothes.dmi rename to modular_citadel/icons/obj/clothing/cit_clothes.dmi diff --git a/icons/obj/clothing/cit_hats.dmi b/modular_citadel/icons/obj/clothing/cit_hats.dmi similarity index 100% rename from icons/obj/clothing/cit_hats.dmi rename to modular_citadel/icons/obj/clothing/cit_hats.dmi diff --git a/modular_citadel/icons/obj/clothing/turtlenecks.dmi b/modular_citadel/icons/obj/clothing/turtlenecks.dmi index 2c9dae9793..ec37880cd2 100644 Binary files a/modular_citadel/icons/obj/clothing/turtlenecks.dmi and b/modular_citadel/icons/obj/clothing/turtlenecks.dmi differ diff --git a/icons/obj/clothing/vg_clothes.dmi b/modular_citadel/icons/obj/clothing/vg_clothes.dmi similarity index 100% rename from icons/obj/clothing/vg_clothes.dmi rename to modular_citadel/icons/obj/clothing/vg_clothes.dmi diff --git a/modular_citadel/icons/obj/food/food.dmi b/modular_citadel/icons/obj/food/food.dmi new file mode 100644 index 0000000000..ea66b3d48a Binary files /dev/null and b/modular_citadel/icons/obj/food/food.dmi differ diff --git a/modular_citadel/icons/obj/foods.dmi b/modular_citadel/icons/obj/foods.dmi new file mode 100644 index 0000000000..3349da8203 Binary files /dev/null and b/modular_citadel/icons/obj/foods.dmi differ diff --git a/modular_citadel/icons/obj/genitals/penis_onmob.dmi b/modular_citadel/icons/obj/genitals/penis_onmob.dmi index bdda4a94d5..733e0a08da 100644 Binary files a/modular_citadel/icons/obj/genitals/penis_onmob.dmi and b/modular_citadel/icons/obj/genitals/penis_onmob.dmi differ diff --git a/icons/obj/guns/VGguns.dmi b/modular_citadel/icons/obj/guns/VGguns.dmi similarity index 100% rename from icons/obj/guns/VGguns.dmi rename to modular_citadel/icons/obj/guns/VGguns.dmi diff --git a/icons/obj/guns/cit_guns.dmi b/modular_citadel/icons/obj/guns/cit_guns.dmi similarity index 100% rename from icons/obj/guns/cit_guns.dmi rename to modular_citadel/icons/obj/guns/cit_guns.dmi 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/modular_citadel/sound/voice/scream_cat.ogg b/modular_citadel/sound/voice/scream_cat.ogg new file mode 100644 index 0000000000..cea4c2f389 Binary files /dev/null and b/modular_citadel/sound/voice/scream_cat.ogg differ diff --git a/modular_citadel/sound/voice/scream_f1.ogg b/modular_citadel/sound/voice/scream_f1.ogg new file mode 100644 index 0000000000..2303650148 Binary files /dev/null and b/modular_citadel/sound/voice/scream_f1.ogg differ diff --git a/modular_citadel/sound/voice/scream_f2.ogg b/modular_citadel/sound/voice/scream_f2.ogg new file mode 100644 index 0000000000..6c4a1d33ad Binary files /dev/null and b/modular_citadel/sound/voice/scream_f2.ogg differ diff --git a/modular_citadel/sound/voice/scream_f3.ogg b/modular_citadel/sound/voice/scream_f3.ogg new file mode 100644 index 0000000000..d66c602640 Binary files /dev/null and b/modular_citadel/sound/voice/scream_f3.ogg differ diff --git a/modular_citadel/sound/voice/scream_lizard.ogg b/modular_citadel/sound/voice/scream_lizard.ogg new file mode 100644 index 0000000000..aec2d56303 Binary files /dev/null and b/modular_citadel/sound/voice/scream_lizard.ogg differ diff --git a/modular_citadel/sound/voice/scream_m.ogg b/modular_citadel/sound/voice/scream_m.ogg new file mode 100644 index 0000000000..54a547d20e Binary files /dev/null and b/modular_citadel/sound/voice/scream_m.ogg differ diff --git a/modular_citadel/sound/voice/scream_m1.ogg b/modular_citadel/sound/voice/scream_m1.ogg new file mode 100644 index 0000000000..6c74f52946 Binary files /dev/null and b/modular_citadel/sound/voice/scream_m1.ogg differ diff --git a/modular_citadel/sound/voice/scream_m2.ogg b/modular_citadel/sound/voice/scream_m2.ogg new file mode 100644 index 0000000000..72e9933f2f Binary files /dev/null and b/modular_citadel/sound/voice/scream_m2.ogg differ diff --git a/modular_citadel/sound/voice/scream_monkey.ogg b/modular_citadel/sound/voice/scream_monkey.ogg new file mode 100644 index 0000000000..c7e1a966b4 Binary files /dev/null and b/modular_citadel/sound/voice/scream_monkey.ogg differ diff --git a/modular_citadel/sound/voice/scream_moth.ogg b/modular_citadel/sound/voice/scream_moth.ogg new file mode 100644 index 0000000000..c94644fc17 Binary files /dev/null and b/modular_citadel/sound/voice/scream_moth.ogg differ diff --git a/modular_citadel/sound/voice/scream_silicon.ogg b/modular_citadel/sound/voice/scream_silicon.ogg new file mode 100644 index 0000000000..0b3f47370a Binary files /dev/null and b/modular_citadel/sound/voice/scream_silicon.ogg differ diff --git a/modular_citadel/sound/voice/scream_skeleton.ogg b/modular_citadel/sound/voice/scream_skeleton.ogg new file mode 100644 index 0000000000..6bf2f637e3 Binary files /dev/null and b/modular_citadel/sound/voice/scream_skeleton.ogg differ diff --git a/modular_citadel/sound/voice/snap.ogg b/modular_citadel/sound/voice/snap.ogg new file mode 100644 index 0000000000..5e17b9dc24 Binary files /dev/null and b/modular_citadel/sound/voice/snap.ogg differ diff --git a/modular_citadel/sound/voice/snap2.ogg b/modular_citadel/sound/voice/snap2.ogg new file mode 100644 index 0000000000..1537084be4 Binary files /dev/null and b/modular_citadel/sound/voice/snap2.ogg differ diff --git a/modular_citadel/sound/voice/snap3.ogg b/modular_citadel/sound/voice/snap3.ogg new file mode 100644 index 0000000000..ca7506dc2c Binary files /dev/null and b/modular_citadel/sound/voice/snap3.ogg differ diff --git a/tgstation.dme b/tgstation.dme index a0c0b60e8c..f51fc06b4e 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -1773,7 +1773,6 @@ #include "code\modules\mob\dead\new_player\poll.dm" #include "code\modules\mob\dead\new_player\preferences_setup.dm" #include "code\modules\mob\dead\new_player\sprite_accessories.dm" -#include "code\modules\mob\dead\new_player\sprite_accessories_Citadel.dm" #include "code\modules\mob\dead\observer\login.dm" #include "code\modules\mob\dead\observer\logout.dm" #include "code\modules\mob\dead\observer\observer.dm" @@ -1875,7 +1874,6 @@ #include "code\modules\mob\living\carbon\human\species_types\corporate.dm" #include "code\modules\mob\living\carbon\human\species_types\dullahan.dm" #include "code\modules\mob\living\carbon\human\species_types\flypeople.dm" -#include "code\modules\mob\living\carbon\human\species_types\furrypeople.dm" #include "code\modules\mob\living\carbon\human\species_types\golems.dm" #include "code\modules\mob\living\carbon\human\species_types\humans.dm" #include "code\modules\mob\living\carbon\human\species_types\jellypeople.dm" @@ -2638,6 +2636,7 @@ #include "modular_citadel\code\game\objects\items\balls.dm" #include "modular_citadel\code\game\objects\items\handcuffs.dm" #include "modular_citadel\code\game\objects\items\holy_weapons.dm" +#include "modular_citadel\code\game\objects\items\meat.dm" #include "modular_citadel\code\game\objects\items\stunsword.dm" #include "modular_citadel\code\game\objects\items\circuitboards\machine_circuitboards.dm" #include "modular_citadel\code\game\objects\items\devices\aicard.dm" @@ -2700,7 +2699,6 @@ #include "modular_citadel\code\modules\client\loadout\shoes.dm" #include "modular_citadel\code\modules\client\loadout\suit.dm" #include "modular_citadel\code\modules\client\loadout\uniform.dm" -#include "modular_citadel\code\modules\client\loadout\uniform_trek.dm" #include "modular_citadel\code\modules\client\verbs\who.dm" #include "modular_citadel\code\modules\clothing\spacesuits\flightsuit.dm" #include "modular_citadel\code\modules\clothing\suits\suits.dm" @@ -2731,15 +2729,18 @@ #include "modular_citadel\code\modules\mining\mine_items.dm" #include "modular_citadel\code\modules\mob\cit_emotes.dm" #include "modular_citadel\code\modules\mob\mob.dm" +#include "modular_citadel\code\modules\mob\dead\new_player\sprite_accessories.dm" #include "modular_citadel\code\modules\mob\living\damage_procs.dm" #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\human\human.dm" +#include "modular_citadel\code\modules\mob\living\carbon\reindex_screams.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" #include "modular_citadel\code\modules\mob\living\carbon\human\life.dm" #include "modular_citadel\code\modules\mob\living\carbon\human\species.dm" +#include "modular_citadel\code\modules\mob\living\carbon\human\species_types\furrypeople.dm" +#include "modular_citadel\code\modules\mob\living\carbon\human\species_types\ipc.dm" #include "modular_citadel\code\modules\mob\living\carbon\human\species_types\jellypeople.dm" #include "modular_citadel\code\modules\mob\living\silicon\robot\dogborg_equipment.dm" #include "modular_citadel\code\modules\mob\living\silicon\robot\robot.dm"