From d12a1d88a51c4d14d15bd28d57ee7ce0af584782 Mon Sep 17 00:00:00 2001 From: LetterJay Date: Tue, 4 Apr 2017 16:34:55 -0500 Subject: [PATCH] Revert "Huge Sprite Rework" --- code/__DEFINES/misc.dm | 19 ++--- code/__HELPERS/global_lists.dm | 4 +- code/__HELPERS/mobs.dm | 2 - code/citadel/_cit_helpers.dm | 2 - code/citadel/icons/breasts.dmi | Bin 703 -> 698 bytes code/citadel/icons/breasts_onmob.dmi | Bin 767 -> 762 bytes code/citadel/icons/vagina_onmob.dmi | Bin 607 -> 592 bytes code/citadel/organs/breasts.dm | 24 +----- code/citadel/organs/genitals.dm | 72 +++++++----------- .../organs/genitals_sprite_accessories.dm | 52 ++----------- code/citadel/organs/penis.dm | 2 +- code/citadel/organs/vagina.dm | 51 +------------ code/citadel/organs/womb.dm | 15 ---- code/modules/client/preferences.dm | 61 ++------------- code/modules/client/preferences_savefile.dm | 6 -- .../mob/living/carbon/human/species.dm | 16 ++-- html/changelogs/ktccd-PR-339.yml | 40 ---------- icons/mob/special/mam_taur.dmi | Bin 36658 -> 36656 bytes 18 files changed, 64 insertions(+), 302 deletions(-) delete mode 100644 html/changelogs/ktccd-PR-339.yml diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index 110188a85a..8e98e80d78 100644 --- a/code/__DEFINES/misc.dm +++ b/code/__DEFINES/misc.dm @@ -32,13 +32,14 @@ //Human Overlays Indexes///////// //citadel code -#define MUTATIONS_LAYER 30 //mutations. Tk headglows, cold resistance glow, etc -#define BODY_BEHIND_LAYER 29 //certain mutantrace features (tail when looking south) that must appear behind the body parts -#define GENITALS_BEHIND_LAYER 28 -#define BODYPARTS_LAYER 27 //Initially "AUGMENTS", this was repurposed to be a catch-all bodyparts flag -#define BODY_ADJ_LAYER 26 //certain mutantrace features (snout, body markings) that must appear above the body parts -#define GENITALS_ADJ_LAYER 25 -#define BODY_LAYER 24 //underwear, undershirts, socks, eyes, lips(makeup) +#define MUTATIONS_LAYER 31 //mutations. Tk headglows, cold resistance glow, etc +#define BODY_BEHIND_LAYER 30 //certain mutantrace features (tail when looking south) that must appear behind the body parts +#define GENITALS_BEHIND_LAYER 29 +#define BODYPARTS_LAYER 28 //Initially "AUGMENTS", this was repurposed to be a catch-all bodyparts flag +#define BODY_ADJ_LAYER 27 //certain mutantrace features (snout, body markings) that must appear above the body parts +#define GENITALS_ADJ_LAYER 26 +#define BODY_LAYER 25 //underwear, undershirts, socks, eyes, lips(makeup) +#define GENITALS_FRONT_LAYER 24 #define FRONT_MUTATIONS_LAYER 23 //mutations that should appear above body, body_adj and bodyparts layer (e.g. laser eyes) #define DAMAGE_LAYER 22 //damage indicators (cuts and burns) #define UNIFORM_LAYER 21 @@ -48,7 +49,7 @@ #define EARS_LAYER 17 #define SUIT_LAYER 16 #define BODY_TAUR_LAYER 15 -#define GENITALS_FRONT_LAYER 14 //Draws some genitalia above clothes and the TAUR body if need be. +#define GENITALS_FRONT_LAYER 14 #define GLASSES_LAYER 13 #define BELT_LAYER 12 //Possible make this an overlay of somethign required to wear a belt? #define SUIT_STORE_LAYER 11 @@ -62,7 +63,7 @@ #define HANDS_LAYER 3 #define BODY_FRONT_LAYER 2 #define FIRE_LAYER 1 //If you're on fire -#define TOTAL_LAYERS 30 //KEEP THIS UP-TO-DATE OR SHIT WILL BREAK ;_; +#define TOTAL_LAYERS 31 //KEEP THIS UP-TO-DATE OR SHIT WILL BREAK ;_; //Human Overlay Index Shortcuts for alternate_worn_layer, layers //Because I *KNOW* somebody will think layer+1 means "above" diff --git a/code/__HELPERS/global_lists.dm b/code/__HELPERS/global_lists.dm index e7fe1b354d..81881f76b5 100644 --- a/code/__HELPERS/global_lists.dm +++ b/code/__HELPERS/global_lists.dm @@ -55,9 +55,7 @@ init_sprite_accessory_subtypes(/datum/sprite_accessory/xeno_dorsal, xeno_dorsal_list) //genitals init_sprite_accessory_subtypes(/datum/sprite_accessory/penis, cock_shapes_list) - init_sprite_accessory_subtypes(/datum/sprite_accessory/vagina, vagina_shapes_list) - init_sprite_accessory_subtypes(/datum/sprite_accessory/breasts, breasts_shapes_list) - breasts_size_list = list("a","b","c","d","e") //We need the list to choose from initialized, but it's no longer a sprite_accessory thing. + init_sprite_accessory_subtypes(/datum/sprite_accessory/breasts, breasts_size_list) //Species for(var/spath in subtypesof(/datum/species)) diff --git a/code/__HELPERS/mobs.dm b/code/__HELPERS/mobs.dm index f73220abde..61e7f9364a 100644 --- a/code/__HELPERS/mobs.dm +++ b/code/__HELPERS/mobs.dm @@ -138,10 +138,8 @@ "has_breasts" = FALSE, "breasts_color" = pick("FFFFFF","7F7F7F", "7FFF7F", "7F7FFF", "FF7F7F", "7FFFFF", "FF7FFF", "FFFF7F"), "breasts_size" = pick(breasts_size_list), - "breasts_shape" = pick(breasts_shapes_list), "breasts_fluid" = "milk", "has_vag" = FALSE, - "vag_shape" = pick(vagina_shapes_list), "vag_color" = pick("FFFFFF","7F7F7F", "7FFF7F", "7F7FFF", "FF7F7F", "7FFFFF", "FF7FFF", "FFFF7F"), "vag_clits" = 1, "vag_clit_diam" = 0.25, diff --git a/code/citadel/_cit_helpers.dm b/code/citadel/_cit_helpers.dm index 52c2716ec2..2aed219978 100644 --- a/code/citadel/_cit_helpers.dm +++ b/code/citadel/_cit_helpers.dm @@ -53,9 +53,7 @@ var/global/list/xeno_dorsal_list = list() //Genitals and Arousal Lists var/global/list/cock_shapes_list = list()//global_lists.dm for the list initializations -var/global/list/breasts_shapes_list = list() var/global/list/breasts_size_list = list() -var/global/list/vagina_shapes_list = list() var/global/list/cum_into_containers_list = list(/obj/item/weapon/reagent_containers/food/snacks/pie) var/global/list/dick_nouns = list("dick","cock","member","shaft") var/global/list/cum_id_list = list("semen") diff --git a/code/citadel/icons/breasts.dmi b/code/citadel/icons/breasts.dmi index 7e4a63187683fd511d1a1cb2435e2d37328b8742..7735fad868889276367edccee07b983bcb83a99d 100644 GIT binary patch delta 50 zcmV-20L}lu1-b>0RRMvKR%argO0>!pqE#jntul#dm5I1iDl549xq!nG06eE*K`|D_ Ixv}Ki0TH7W(EtDd delta 55 zcmV-70LcHk1-}K5RRM;PR%a()keFE%pGunY6w;I@lcqe0H06o7lq)N^`niAu834!G NYk1y2ZsoDx+X1H88W#Wn diff --git a/code/citadel/icons/breasts_onmob.dmi b/code/citadel/icons/breasts_onmob.dmi index 32d283238812c8a82d260166a41f0a5166fbc9bf..12f23ad56db739f11fee8494dec316346fc62482 100644 GIT binary patch delta 87 zcmV-d0I2`}1^NY$RRNEYR!~PiG2Si6-!DXoi!&v&s2HT3i!-e#F*g;&HpEn)M56j+ t64j@Wtlr7h!_&`&Xbq_(T98V>0%ZkPKNoNm005U8b8AII#_qB54Fa-NCNTg2 delta 92 zcmV-i0Hgo<1^)$*RRNTdR!~g7AThHjJ~7@c$lotSiHkEOv#1zk1{Y^qQDSZ?h;4{N yQxZ9vlF8AOLY^ikR}W7=7t(a4l4DgW0jrc1T>V_Yu>=5zrh&NaPQjM3?F|CHuqIvr diff --git a/code/citadel/icons/vagina_onmob.dmi b/code/citadel/icons/vagina_onmob.dmi index 0f939c03f69c563c8acb05c153bf54999b9546a7..867ede99d55f39e6917f8eb4ef41fc0b97d4f5d7 100644 GIT binary patch delta 199 zcmV;&0672O1kePKUVpKAR9JLGWpiV4X>fFDZ*Bkpc$|fhO$viB5QW#tDS~dL*i^gg zMwH^B-eIVz8PF)n(BkbIb)f~N%;vq}eaufNvf^G=B7cfFDZ*Bkpc$}4yF$;q*5QXRDR|H+9XsX@1 z6m4;+h0sgr;8H;;UJa-+Dv#Goaq}>$r0zxrMoJG24I6djm^idj@qb;F zmhHN4XRoY=!Acqi$uu-@gBzv{+-tT>i@&rPmAJ7+kbz|m{o%MRg4DxWA3n*7bo$i? Qp{0LN<||e}vlsz50XJ1*{Qv*} diff --git a/code/citadel/organs/breasts.dm b/code/citadel/organs/breasts.dm index f7cbbeb527..356ef77c1a 100644 --- a/code/citadel/organs/breasts.dm +++ b/code/citadel/organs/breasts.dm @@ -6,11 +6,11 @@ zone = "chest" slot = "breasts" w_class = 3 - size = BREASTS_SIZE_DEF + size = "e" fluid_id = "milk" + var/cup_size = BREASTS_SIZE_DEF var/amount = 2 producing = TRUE - shape = "pair" /obj/item/organ/genital/breasts/Initialize() create_reagents(fluid_max_volume) @@ -31,23 +31,3 @@ return FALSE reagents.isolate_reagent(fluid_id) reagents.add_reagent(fluid_id, (fluid_mult * fluid_rate)) - -/obj/item/organ/genital/breasts/update_appearance() - var/string = "breasts_[lowertext(shape)]_[size]" - icon_state = sanitize_text(string) - var/lowershape = lowertext(shape) - switch(lowershape) - if("pair") - desc = "That's a pair of breasts." - else - desc = "That's breasts, they seem to be quite exotic." - if (size) - desc += " You estimate they're about [size]-cup size." - else - desc += " You wouldn't measure them in cup sizes." - if(producing) - desc += "\nThey're leaking [fluid_id]." - else - desc += "\nThey do not seem to be producing liquids." - if(owner) - color = "#[owner.dna.features["breasts_color"]]" \ No newline at end of file diff --git a/code/citadel/organs/genitals.dm b/code/citadel/organs/genitals.dm index 0a5410bd40..d5d1e8c541 100644 --- a/code/citadel/organs/genitals.dm +++ b/code/citadel/organs/genitals.dm @@ -100,14 +100,13 @@ // T.color = skintone2hex(skin_tone) // else // T.color = "#[dna.features["balls_color"]]" - if(T) - T.size = dna.features["balls_size"] - T.sack_size = dna.features["balls_sack_size"] - T.fluid_id = dna.features["balls_fluid"] - T.fluid_rate = dna.features["balls_cum_rate"] - T.fluid_mult = dna.features["balls_cum_mult"] - T.fluid_efficiency = dna.features["balls_efficiency"] - T.update() + T.size = dna.features["balls_size"] + T.sack_size = dna.features["balls_sack_size"] + T.fluid_id = dna.features["balls_fluid"] + T.fluid_rate = dna.features["balls_cum_rate"] + T.fluid_mult = dna.features["balls_cum_mult"] + T.fluid_efficiency = dna.features["balls_efficiency"] + T.update() /mob/living/carbon/human/proc/give_breasts() if(!dna) @@ -117,15 +116,9 @@ if(!getorganslot("breasts")) var/obj/item/organ/genital/breasts/B = new B.Insert(src) - if(B) - if(dna.species.use_skintones && dna.features["genitals_use_skintone"]) - B.color = skintone2hex(skin_tone) - else - B.color = "#[dna.features["breasts_color"]]" - B.size = dna.features["breasts_size"] - B.shape = dna.features["breasts_shape"] - B.fluid_id = dna.features["breasts_fluid"] - B.update() + B.cup_size = dna.features["breasts_size"] + B.fluid_id = dna.features["breasts_fluid"] + B.update() /mob/living/carbon/human/proc/give_ovipositor() @@ -138,14 +131,11 @@ if(!getorganslot("vagina")) var/obj/item/organ/genital/vagina/V = new V.Insert(src) - if(V) - if(dna.species.use_skintones && dna.features["genitals_use_skintone"]) - V.color = skintone2hex(skin_tone) - else - V.color = "[dna.features["vag_color"]]" - V.shape = "[dna.features["vag_shape"]]" - V.update() - + if(dna.species.use_skintones && dna.features["genitals_use_skintone"]) + V.color = skintone2hex(skin_tone) + else + V.color = "[dna.features["vag_color"]]" + V.update() /mob/living/carbon/human/proc/give_womb() if(!dna) return FALSE @@ -154,8 +144,7 @@ if(!getorganslot("womb")) var/obj/item/organ/genital/womb/W = new W.Insert(src) - if(W) - W.update() + W.update() /datum/species/proc/genitals_layertext(layer) @@ -194,12 +183,13 @@ return var/list/genitals_to_add = list() - var/list/relevant_layers = list(GENITALS_BEHIND_LAYER, GENITALS_ADJ_LAYER, GENITALS_FRONT_LAYER) + var/list/relevent_layers = list(GENITALS_BEHIND_LAYER, GENITALS_ADJ_LAYER, GENITALS_FRONT_LAYER) var/list/standing = list() - var/size = null + var/size - for(var/L in relevant_layers) //Less hardcode - H.remove_overlay(L) + H.remove_overlay(GENITALS_BEHIND_LAYER) + H.remove_overlay(GENITALS_ADJ_LAYER) + H.remove_overlay(GENITALS_FRONT_LAYER) if(H.disabilities & HUSK) return @@ -208,15 +198,14 @@ if(H.is_groin_exposed(worn_stuff)) if(H.has_penis()) genitals_to_add += H.getorganslot("penis") - else - if(H.has_vagina()) //Sadly, a penis would cover the vagina and they use the same layer, so don't draw both. - genitals_to_add += H.getorganslot("vagina") + if(H.has_vagina()) + genitals_to_add += H.getorganslot("vagina") if(H.is_chest_exposed(worn_stuff)) if(H.has_breasts()) genitals_to_add += H.getorganslot("breasts") var/image/I //start applying overlays - for(var/layer in relevant_layers) + for(var/layer in relevent_layers) var/layertext = genitals_layertext(layer) for(var/obj/item/organ/genital/G in genitals_to_add) var/datum/sprite_accessory/S @@ -224,12 +213,6 @@ if(/obj/item/organ/genital/penis) S = cock_shapes_list[G.shape] size = G.size - if(/obj/item/organ/genital/vagina) - S = vagina_shapes_list[G.shape] - size = G.size - if(/obj/item/organ/genital/breasts) - S = breasts_shapes_list[G.shape] - size = G.size if(!S || S.icon_state == "none") continue @@ -243,8 +226,6 @@ I.color = "#[H.dna.features["cock_color"]]" if("breasts_color") I.color = "#[H.dna.features["breasts_color"]]" - if("vag_color") - I.color = "#[H.dna.features["vag_color"]]" if(MUTCOLORS) if(fixed_mut_color) I.color = "#[fixed_mut_color]" @@ -265,5 +246,6 @@ H.overlays_standing[layer] = standing.Copy() standing = list() - for(var/L in relevant_layers) - H.apply_overlay(L) \ No newline at end of file + H.apply_overlay(GENITALS_BEHIND_LAYER) + H.apply_overlay(GENITALS_ADJ_LAYER) + H.apply_overlay(GENITALS_FRONT_LAYER) \ No newline at end of file diff --git a/code/citadel/organs/genitals_sprite_accessories.dm b/code/citadel/organs/genitals_sprite_accessories.dm index d2b802e9dd..2ec52b80c5 100644 --- a/code/citadel/organs/genitals_sprite_accessories.dm +++ b/code/citadel/organs/genitals_sprite_accessories.dm @@ -27,57 +27,15 @@ icon_state = "tapered" name = "Tapered" -//Vaginas -/datum/sprite_accessory/vagina - icon = 'code/citadel/icons/vagina_onmob.dmi' - icon_state = null - name = "vagina" - gender_specific = 0 - color_src = "vag_color" - locked = 0 - -/datum/sprite_accessory/vagina/human - icon_state = "human" - name = "Human" - -/datum/sprite_accessory/vagina/gaping - icon_state = "gaping" - name = "Gaping" - -//I think this one is intended for arousal... but it would only work for human vaginas in this case... -//So I'm leaving it as a selectable option until we can make/need variants for the sprites to change based on arousal. -/datum/sprite_accessory/vagina/dripping - icon_state = "dripping" - name = "Dripping" - -/datum/sprite_accessory/vagina/tentacles - icon_state = "tentacle" - name = "Tentacle" - -/datum/sprite_accessory/vagina/dentata - icon_state = "dentata" - name = "Dentata" - -/datum/sprite_accessory/vagina/hairy - icon_state = "hairy" - name = "Hairy" - - //BREASTS BE HERE /datum/sprite_accessory/breasts icon = 'code/citadel/icons/breasts_onmob.dmi' icon_state = null name = "breasts" gender_specific = 0 - color_src = "breasts_color" + color_src = MUTCOLORS2 //I'll have skin_tone override this if the species uses them locked = 0 - - -/datum/sprite_accessory/breasts/pair - icon_state = "pair" - name = "Pair" - -/*!!ULTRACOMPRESSEDEDITION!! +/*!!ULTRACOMPRESSEDEDITION!!*/ /datum/sprite_accessory/breasts/a icon_state = "a" name = "A" @@ -132,8 +90,6 @@ icon_state = "h" name = "HH" locked = 1 -*/// Sorry for ruining your things - //OVIPOSITORS BE HERE /datum/sprite_accessory/ovipositor @@ -144,6 +100,10 @@ color_src = "cock_color" locked = 0 +/datum/sprite_accessory/ovipositor/knotted + icon_state = "none" + name = "None" + /datum/sprite_accessory/ovipositor/knotted icon_state = "knotted" name = "Knotted" diff --git a/code/citadel/organs/penis.dm b/code/citadel/organs/penis.dm index e47498620c..6c88f28179 100644 --- a/code/citadel/organs/penis.dm +++ b/code/citadel/organs/penis.dm @@ -44,7 +44,7 @@ if(lowershape in knotted_types) if(lowershape == "barbknot") lowershape = "barbed, knotted" - desc = "That's a [lowershape] penis. You estimate it's about [round(length, 0.25)] inch[length > 1 ? "es" : ""] long, [round(girth, 0.25)] inch[girth > 1 ? "es" : ""] around the shaft \ + desc = "That's a [lowershape] penis. You estimate it's about [round(length, 0.25)] inch[length > 1 ? "es" : ""] long, [round(girth, 0.25)] inch[length > 1 ? "es" : ""] around the shaft \ and [round(length * knot_girth_ratio, 0.25)] inch[length > 1 ? "es" : ""] around the knot." else desc = "That's a [lowershape] penis. You estimate it's about [round(length, 0.25)] inch[length > 1 ? "es" : ""] long and [round(girth, 0.25)] inch[length > 1 ? "es" : ""] around." diff --git a/code/citadel/organs/vagina.dm b/code/citadel/organs/vagina.dm index 50d44d3b77..bcbb23d8e9 100644 --- a/code/citadel/organs/vagina.dm +++ b/code/citadel/organs/vagina.dm @@ -5,60 +5,13 @@ icon_state = "vagina" zone = "groin" slot = "vagina" - size = 1 //There is only 1 size right now can_masturbate_with = 1 w_class = 3 - var/wetness = FALSE + var/wetness = 1 var/cap_length = 8//D E P T H (cap = capacity) var/cap_girth = 12 var/cap_girth_ratio = 1.5 var/clits = 1 var/clit_diam = 0.25 var/clit_len = 0.25 - var/list/vag_types = list("tentacle", "dentata", "hairy") - var/obj/item/organ/genital/womb/linked_womb - - -/obj/item/organ/genital/vagina/update_appearance() - var/string = "vagina" //Keeping this code here, so making multiple sprites for the different kinds is easier. - icon_state = sanitize_text(string) - var/lowershape = lowertext(shape) - - desc = "That's a [lowershape] vagina. You estimate it could stretch about [round(cap_length, 0.25)] inch[cap_length > 1 ? "es" : ""] deep, around something [round(cap_girth, 0.25)] inch[cap_girth > 1 ? "es" : ""] thick \ - and it has [clits > 1 ? "[clits] clits" : "a clit"], about [round(clit_len,0.25)] inch[clit_len > 1 ? "es" : ""] long and [round(clit_diam, 0.25)] inch[clit_diam > 1 ? "es" : ""] in diameter." - switch(lowershape) - if("tentacle") - desc += "\nIts opening is lined with several tentacles and " - if("dentata") - desc += "\nThere's teeth inside it and it is " - if("hairy") - desc += "\nIt has quite a bit of hair growing on it and is " - if("human") - desc += "\nIt is taut with smooth skin, though without much hair and " - if("gaping") - desc += "\nIt is gaping slightly open, though without much hair and " - if("dripping") - desc += "\nIt is gaping slightly, inflamed and " - else - desc += "\nIt has an exotic shape and is " - if(wetness) - desc += "slick with female arousal." - else - desc += "not very wet." - if(owner) - color = "#[owner.dna.features["vag_color"]]" - -/obj/item/organ/genital/vagina/update_link() - if(owner) - linked_womb = (owner.getorganslot("womb")) - if(linked_womb) - linked_womb.linked_vag = src - else - if(linked_womb) - linked_womb.linked_vag = null - linked_womb = null - -/obj/item/organ/genital/vagina/remove_ref() - if(linked_womb) - linked_womb.linked_vag = null - linked_womb = null + var/obj/item/organ/womb/linked_womb diff --git a/code/citadel/organs/womb.dm b/code/citadel/organs/womb.dm index 948bc33385..8552f20e46 100644 --- a/code/citadel/organs/womb.dm +++ b/code/citadel/organs/womb.dm @@ -9,20 +9,5 @@ fluid_id = "femcum" var/obj/item/organ/genital/vagina/linked_vag -/obj/item/organ/genital/womb/update_link() - if(owner) - linked_vag = (owner.getorganslot("vagina")) - if(linked_vag) - linked_vag.linked_womb = src - else - if(linked_vag) - linked_vag.linked_womb = null - linked_vag = null - -/obj/item/organ/genital/womb/remove_ref() - if(linked_vag) - linked_vag.linked_womb = null - linked_vag = null - /obj/item/organ/genital/womb/Destroy() return ..() \ No newline at end of file diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index c2325b2bd8..20a57f2d0e 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -115,10 +115,8 @@ var/list/preferences_datums = list() "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, @@ -355,6 +353,7 @@ var/list/preferences_datums = list() else dat += "High" dat += "
" +// dat += "Genital Colors:[features["genitals_use_skintone"] == TRUE ? "Skin Tone" : "Custom"]
" dat += "" @@ -406,8 +405,6 @@ var/list/preferences_datums = list() 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
" @@ -476,26 +473,18 @@ var/list/preferences_datums = list() 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 += "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 += "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
" +// if(pref_species.use_skintones) +// 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"]" @@ -858,11 +847,6 @@ var/list/preferences_datums = list() eye_color = random_eye_color() if("s_tone") skin_tone = random_skin_tone() - if(pref_species.use_skintones && features["genitals_use_skintone"]) - features["cock_color"] = sanitize_hexcolor(skintone2hex(skin_tone)) - features["breasts_color"] = sanitize_hexcolor(skintone2hex(skin_tone)) - features["vag_color"] = sanitize_hexcolor(skintone2hex(skin_tone)) - features["balls_color"] = sanitize_hexcolor(skintone2hex(skin_tone)) if("bag") backbag = pick(backbaglist) if("all") @@ -1179,10 +1163,6 @@ var/list/preferences_datums = list() var/new_s_tone = input(user, "Choose your character's skin-tone:", "Character Preference") as null|anything in skin_tones if(new_s_tone) skin_tone = new_s_tone - features["cock_color"] = sanitize_hexcolor(skintone2hex(skin_tone)) - features["breasts_color"] = sanitize_hexcolor(skintone2hex(skin_tone)) - features["vag_color"] = sanitize_hexcolor(skintone2hex(skin_tone)) - features["balls_color"] = sanitize_hexcolor(skintone2hex(skin_tone)) if("ooccolor") var/new_ooccolor = input(user, "Choose your OOC colour:", "Game Preference") as color|null @@ -1333,12 +1313,6 @@ var/list/preferences_datums = 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 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) @@ -1349,11 +1323,6 @@ var/list/preferences_datums = list() 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 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) @@ -1369,22 +1338,6 @@ var/list/preferences_datums = list() switch(href_list["preference"]) //citadel code - if("genital_colour") - switch(features["genitals_use_skintone"]) - if(TRUE) - features["genitals_use_skintone"] = FALSE - if(FALSE) - features["genitals_use_skintone"] = TRUE - features["cock_color"] = sanitize_hexcolor(skintone2hex(skin_tone)) - features["breasts_color"] = sanitize_hexcolor(skintone2hex(skin_tone)) - features["vag_color"] = sanitize_hexcolor(skintone2hex(skin_tone)) - features["balls_color"] = sanitize_hexcolor(skintone2hex(skin_tone)) - else - features["genitals_use_skintone"] = FALSE - features["cock_color"] = sanitize_hexcolor(skintone2hex(skin_tone)) - features["breasts_color"] = sanitize_hexcolor(skintone2hex(skin_tone)) - features["vag_color"] = sanitize_hexcolor(skintone2hex(skin_tone)) - features["balls_color"] = sanitize_hexcolor(skintone2hex(skin_tone)) if("arousable") switch(arousable) if(TRUE) diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm index 6631f0dfe7..b4006ea5a9 100644 --- a/code/modules/client/preferences_savefile.dm +++ b/code/modules/client/preferences_savefile.dm @@ -148,12 +148,10 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car //breasts features features["has_breasts"] = sanitize_integer(features["has_breasts"], 0, 1, 0) features["breasts_size"] = sanitize_inlist(features["breasts_size"], breasts_size_list, "C") - features["breasts_shape"] = sanitize_inlist(features["breasts_shape"], breasts_shapes_list, "pair") features["breasts_color"] = sanitize_hexcolor(features["breasts_color"], 3, 0) features["breasts_fluid"] = sanitize_inlist(features["breasts_fluid"], milk_id_list, "milk") //vagina features features["has_vag"] = sanitize_integer(features["has_vag"], 0, 1, 0) - features["vag_shape"] = sanitize_inlist(features["vag_shape"], vagina_shapes_list, "human") features["vag_color"] = sanitize_hexcolor(features["vag_color"], 3, 0) //womb features features["has_womb"] = sanitize_integer(features["has_womb"], 0, 1, 0) @@ -385,12 +383,10 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car //breasts features S["feature_has_breasts"] >> features["has_breasts"] S["feature_breasts_size"] >> features["breasts_size"] - S["feature_breasts_shape"] >> features["breasts_shape"] S["feature_breasts_color"] >> features["breasts_color"] S["feature_breasts_fluid"] >> features["breasts_fluid"] //vagina features S["feature_has_vag"] >> features["has_vag"] - S["feature_vag_shape"] >> features["vag_shape"] S["feature_vag_color"] >> features["vag_color"] //womb features S["feature_has_womb"] >> features["has_womb"] @@ -551,12 +547,10 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car //breasts features S["feature_has_breasts"] << features["has_breasts"] S["feature_breasts_size"] << features["breasts_size"] - S["feature_breasts_shape"] << features["breasts_shape"] S["feature_breasts_color"] << features["breasts_color"] S["feature_breasts_fluid"] << features["breasts_fluid"] //vagina features S["feature_has_vag"] << features["has_vag"] - S["feature_vag_shape"] << features["vag_shape"] S["feature_vag_color"] << features["vag_color"] //womb features S["feature_has_womb"] << features["has_womb"] diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index 6b4c19078b..017f081bd7 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -357,11 +357,12 @@ /datum/species/proc/handle_mutant_bodyparts(mob/living/carbon/human/H, forced_colour) var/list/bodyparts_to_add = mutant_bodyparts.Copy() - var/list/relevant_layers = list(BODY_BEHIND_LAYER, BODY_ADJ_LAYER, BODY_FRONT_LAYER, BODY_TAUR_LAYER) + var/list/relevent_layers = list(BODY_BEHIND_LAYER, BODY_ADJ_LAYER, BODY_FRONT_LAYER) var/list/standing = list() - for(var/L in relevant_layers) - H.remove_overlay(L) + H.remove_overlay(BODY_BEHIND_LAYER) + H.remove_overlay(BODY_ADJ_LAYER) + H.remove_overlay(BODY_FRONT_LAYER) if(!mutant_bodyparts) return @@ -487,7 +488,7 @@ var/image/I - for(var/layer in relevant_layers) + for(var/layer in relevent_layers) var/layertext = mutant_bodyparts_layertext(layer) for(var/bodypart in bodyparts_to_add) @@ -694,8 +695,9 @@ H.overlays_standing[layer] = standing.Copy() standing = list() - for(var/L in relevant_layers) - H.apply_overlay(L) + H.apply_overlay(BODY_BEHIND_LAYER) + H.apply_overlay(BODY_ADJ_LAYER) + H.apply_overlay(BODY_FRONT_LAYER) //This exists so sprite accessories can still be per-layer without having to include that layer's @@ -708,8 +710,6 @@ return "ADJ" if(BODY_FRONT_LAYER) return "FRONT" - if(BODY_TAUR_LAYER) - return "TAUR" /datum/species/proc/spec_life(mob/living/carbon/human/H) diff --git a/html/changelogs/ktccd-PR-339.yml b/html/changelogs/ktccd-PR-339.yml deleted file mode 100644 index 76ceef0bbd..0000000000 --- a/html/changelogs/ktccd-PR-339.yml +++ /dev/null @@ -1,40 +0,0 @@ -################################ -# Example Changelog File -# -# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. -# -# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) -# When it is, any changes listed below will disappear. -# -# Valid Prefixes: -# bugfix -# wip (For works in progress) -# tweak -# soundadd -# sounddel -# rscadd (general adding of nice things) -# rscdel (general deleting of nice things) -# imageadd -# imagedel -# spellcheck (typo fixes) -# experiment -################################# - -# Your name. -author: "ktccd" - -# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. -delete-after: True - -# Any changes you've made. See valid prefix list above. -# INDENT WITH TWO SPACES. NOT TABS. SPACES. -# SCREW THIS UP AND IT WON'T WORK. -# Also, this gets changed to [] after reading. Just remove the brackets when you add new shit. -# Please surround your changes in double quotes ("). It works without them, but if you use certain characters it screws up compiling. The quotes will not show up in the changelog. -changes: - - fix: Taur layers now render correctly, no longer covering genitals! Rejoice Nagas! - - add: Breasts are now selectable in shapes and sizes and will render properly! - - add: Vaginas are now selectable in shapes and will render properly! Some of them are horrifying! - - tweak: Tweaked how colours are chosen (Humans can enable/disable matching genitals to their skintones, everyone else has to pick their colours). - - tweak: Breasts and Vaginas should now also have better descriptions. So far, these descriptions only apply when examining one that's not on a person... - - fix: Taur Shephard sprite bug fixed where there was a missing 2 pixels in the middle of the body. \ No newline at end of file diff --git a/icons/mob/special/mam_taur.dmi b/icons/mob/special/mam_taur.dmi index 5760b7b3abe9e23ed2211109973d81220c5ec3a6..4626f634049922f236bace53c0a672dae1bc1cbd 100644 GIT binary patch delta 24962 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