From b722359efd111dd08797fb974a4f23149bbac355 Mon Sep 17 00:00:00 2001 From: BongaTheProto <93835010+BongaTheProto@users.noreply.github.com> Date: Sun, 9 Oct 2022 19:17:42 -0500 Subject: [PATCH] new butthole sprite squished alt --- code/__DEFINES/citadel_defines.dm | 2 ++ code/__HELPERS/mobs.dm | 1 + code/modules/client/preferences.dm | 8 ++++++++ code/modules/client/preferences_savefile.dm | 8 +++++--- .../arousal/genitals_sprite_accessories.dm | 10 +++++++--- .../code/modules/arousal/organs/anus.dm | 5 ++++- .../icons/obj/genitals/anus_onmob.dmi | Bin 1041 -> 1550 bytes 7 files changed, 27 insertions(+), 7 deletions(-) diff --git a/code/__DEFINES/citadel_defines.dm b/code/__DEFINES/citadel_defines.dm index b27d2c18ab..04715aad6c 100644 --- a/code/__DEFINES/citadel_defines.dm +++ b/code/__DEFINES/citadel_defines.dm @@ -79,6 +79,8 @@ #define BELLY_SIZE_DEF 1 #define BELLY_SIZE_MAX 10 +#define DEF_ANUS_SHAPE "donut" + //visibility toggles defines to avoid errors typos code errors. #define GEN_VISIBLE_ALWAYS "Always visible" #define GEN_VISIBLE_NO_CLOTHES "Hidden by clothes" diff --git a/code/__HELPERS/mobs.dm b/code/__HELPERS/mobs.dm index 292b501c1c..8918fddc6e 100644 --- a/code/__HELPERS/mobs.dm +++ b/code/__HELPERS/mobs.dm @@ -224,6 +224,7 @@ //SPLURT's anus stuff "has_anus" = FALSE, "anus_color" = pick("FFFFFF","7F7F7F", "7FFF7F", "7F7FFF", "FF7F7F", "7FFFFF", "FF7FFF", "FFFF7F"), + "anus_shape" = DEF_ANUS_SHAPE, //SPLURT's anus stuff "balls_visibility" = GEN_VISIBLE_NO_UNDIES, diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index e6a2b2e670..fc482e4828 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -215,6 +215,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) "has_belly" = FALSE, "has_anus" = FALSE, "anus_color" = "ffffff", +"anus_shape" = DEF_ANUS_SHAPE, "belly_color" = "ffffff", "belly_size" = BELLY_SIZE_DEF, "balls_visibility" = GEN_VISIBLE_NO_UNDIES, @@ -985,6 +986,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "[SKINTONE2HEX(skin_tone)](Skin tone overriding)
" else dat += "#[features["anus_color"]] Change
" + dat += "Butthole Shape: [features["anus_shape"]]" dat += "Butthole Visibility:[features["anus_visibility"]]" dat += "Egg Stuffing:[features["anus_stuffing"] == TRUE ? "Yes" : "No"]" dat += "" @@ -2875,6 +2877,12 @@ GLOBAL_LIST_EMPTY(preferences_datums) else to_chat(user, "Invalid color. Your color is not bright enough.") + if("anus_shape") + var/new_shape + new_shape = input(user, "Butthole Shape", "Character Preference") as null|anything in GLOB.anus_shapes_list + if(new_shape) + features["anus_shape"] = new_shape + if("belly_size") var/min_belly = CONFIG_GET(number/belly_min_size_prefs) var/max_belly = CONFIG_GET(number/belly_max_size_prefs) diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm index d7a2064ffb..214b6d94b9 100644 --- a/code/modules/client/preferences_savefile.dm +++ b/code/modules/client/preferences_savefile.dm @@ -764,6 +764,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car "belly_color" = "ffffff", "has_anus" = FALSE, "anus_color" = "ffffff", +"anus_shape" = DEF_ANUS_SHAPE, "balls_visibility" = GEN_VISIBLE_NO_UNDIES, "breasts_visibility"= GEN_VISIBLE_NO_UNDIES, "cock_visibility" = GEN_VISIBLE_NO_UNDIES, @@ -963,8 +964,6 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car S["feature_balls_size"] >> features["balls_size"] S["feature_balls_visibility"] >> features["balls_visibility"] S["feature_balls_fluid"] >> features["balls_fluid"] - S["feature_womb_fluid"] >> features["womb_fluid"] - S["feature_balls_shape"] >> features["balls_shape"] //breasts features S["feature_has_breasts"] >> features["has_breasts"] S["feature_breasts_size"] >> features["breasts_size"] @@ -980,6 +979,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car S["feature_vag_visibility"] >> features["vag_visibility"] //womb features S["feature_has_womb"] >> features["has_womb"] + S["feature_womb_fluid"] >> features["womb_fluid"] //butt features S["feature_has_butt"] >> features["has_butt"] S["feature_butt_color"] >> features["butt_color"] @@ -993,6 +993,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car //anus features S["feature_has_anus"] >> features["has_anus"] S["feature_anus_color"] >> features["anus_color"] + S["feature_anus_shape"] >> features["anus_shape"] S["feature_anus_visibility"] >> features["anus_visibility"] // Flavor texts, Made into a standard. @@ -1160,6 +1161,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car features["cock_shape"] = sanitize_inlist(features["cock_shape"], GLOB.cock_shapes_list, DEF_COCK_SHAPE) features["balls_shape"] = sanitize_inlist(features["balls_shape"], GLOB.balls_shapes_list, DEF_BALLS_SHAPE) features["vag_shape"] = sanitize_inlist(features["vag_shape"], GLOB.vagina_shapes_list, DEF_VAGINA_SHAPE) + features["anus_shape"] = sanitize_inlist(features["anus_shape"], GLOB.anus_shapes_list, DEF_ANUS_SHAPE) features["breasts_color"] = sanitize_hexcolor(features["breasts_color"], 6, FALSE, "FFFFFF") features["cock_color"] = sanitize_hexcolor(features["cock_color"], 6, FALSE, "FFFFFF") features["balls_color"] = sanitize_hexcolor(features["balls_color"], 6, FALSE, "FFFFFF") @@ -1343,7 +1345,6 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car WRITE_FILE(S["feature_balls_size"], features["balls_size"]) WRITE_FILE(S["feature_balls_visibility"], features["balls_visibility"]) WRITE_FILE(S["feature_balls_stuffing"], features["balls_stuffing"]) - WRITE_FILE(S["feature_balls_shape"], features["balls_shape"]) WRITE_FILE(S["feature_balls_fluid"], features["balls_fluid"]) WRITE_FILE(S["feature_has_breasts"], features["has_breasts"]) @@ -1379,6 +1380,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car WRITE_FILE(S["feature_has_anus"], features["has_anus"]) WRITE_FILE(S["feature_anus_color"], features["anus_color"]) WRITE_FILE(S["feature_anus_visibility"], features["anus_visibility"]) + WRITE_FILE(S["feature_anus_shape"], features["anus_shape"]) WRITE_FILE(S["feature_anus_stuffing"], features["anus_stuffing"]) WRITE_FILE(S["feature_inert_eggs"], features["inert_eggs"]) diff --git a/modular_splurt/code/modules/arousal/genitals_sprite_accessories.dm b/modular_splurt/code/modules/arousal/genitals_sprite_accessories.dm index e9d7138b4e..e7674470f4 100644 --- a/modular_splurt/code/modules/arousal/genitals_sprite_accessories.dm +++ b/modular_splurt/code/modules/arousal/genitals_sprite_accessories.dm @@ -35,6 +35,10 @@ name = "anus" color_src = "anus_color" -/datum/sprite_accessory/anus/donut - icon_state = "donut" - name = "donut" +/datum/sprite_accessory/anus/gape + icon_state = DEF_ANUS_SHAPE + name = DEF_ANUS_SHAPE + +/datum/sprite_accessory/anus/squished + icon_state = "squished" + name = "squished" diff --git a/modular_splurt/code/modules/arousal/organs/anus.dm b/modular_splurt/code/modules/arousal/organs/anus.dm index 2645d91f78..08a5e1276d 100644 --- a/modular_splurt/code/modules/arousal/organs/anus.dm +++ b/modular_splurt/code/modules/arousal/organs/anus.dm @@ -20,9 +20,11 @@ update_appearance() /obj/item/organ/genital/anus/update_appearance(updates) - var/lowershape = lowertext(shape) var/u_His = owner?.p_their() || "their" + var/datum/sprite_accessory/anus/S = GLOB.anus_shapes_list[shape] + var/lowershape = lowertext(S?.icon_state || DEF_ANUS_SHAPE) + desc = "You see [u_His] squishy [lowershape] pucker parting [u_His] asscheeks" icon_state = "anus_[lowershape]_[size]" @@ -43,6 +45,7 @@ color = SKINTONE2HEX(H.skin_tone) else color = "#[D.features["anus_color"]]" + shape = D.features["anus_shape"] toggle_visibility(D.features["anus_visibility"], FALSE) if(D.features["anus_stuffing"]) toggle_visibility(GEN_ALLOW_EGG_STUFFING, FALSE) diff --git a/modular_splurt/icons/obj/genitals/anus_onmob.dmi b/modular_splurt/icons/obj/genitals/anus_onmob.dmi index 6449cf0e96585c361fa366def5732dbe72e9f64d..b46a582544bd53f24841563bb39cdc575c778dce 100644 GIT binary patch delta 1506 zcmY*Z3p5jY9Ns*xHrFE)U5~Odk6e~=$+L|~h+KwpSX0Ezs|@9_O&i{P>|M|Y(_dn-%ew1z3euZ7}aCcGwYk&a& zfP(W;lqUcHWJrp2eY~%V-g{d;OXuKK)jngD=sb-U?+oel;YOHpagmsSSQNn5sWd-RcjsRX}Lk3;OS>(fJ7^=00i56xXwgphJm<)JnsdRWQF zSI?@DHRqP^hbMTUBRDf%@TV)+CR~Z%1DE%xVNYBR+@8_1v$3~MAtS;xJTuTvPt#N3 zN`{$39<(PHdlW8zU=dT~NAljVg7in4QFxw^e!(9UUYLYgP=1=lD24(51{O-0 zNry^#h%1xFZNrEu!k|L^InrafmvQN%9r?}a0Dz2#GYW~mP|TkVDB_qa|1uJ)9nmS1 z&FbxMY@mw8`bI_9Ya;C7SiRNa5YP>c6+a4H`%k^OO9Rc9Er;s{w5+maX-jxMs*^r7;ZyUa-jp2fONd z)nuk2iT}Z;z2vnY;^iBrp{PAcsgfs4b(`wACrUtt)_&n*5dBmbJ@Q3rGYkq0_8MrJ zcSxJBNR033@YN>HEl+4yz93uCb#>V&uTSe50bn@JwbGaduMI*s$2l3>U3RTmSpYN1 z%xY1+;L~VrDpSQHlHI5o=2|7RUZjS#ki@M~z_zGwP!J65JGUt%87K+J;vVrYaSlr| z`FXatmq67N*#>Ukh*YG}nQ%mG2k&^ z&^}nAJr{z;V;6;E3AW{t?e6=L4zn`%y6IB#P5cEJM@734hhV zJzn8;0%*+ONMIO?@bM7r2vQnole6rB9qvh=`6}JzHnmvwUnc-y!@L}K)g%R9?(mgt z7oM18v~BCHN$yeGFo)W4TVDec&d9GTTYGFo>$g z2v^w(XmJwR@0)9Du(nGzaz<&(D*njalmeGlq|&^vi5-h;v&%F;rEifOp{P{Ih+TEX z0zW3x8J%3ZwEWSiLZusnFrNH=W5%FRD0D=Kd%!M3yQnlT|2P5CAGUidA2DAg05Fk5 z8kL;E1Bu{+0xmdw#;I~IsO7hYMO6{QjgAg z(8SYH$;0>YKHa3<$_k5X7yld>iA#LYRTG_-7y{5g{<1dFD&&;?=o|@zL2{sp2+bQL z*$7(F*6$kwOUiNAOkP)$e6Vkq24zIsEjMh2t00BtBWb1jp(R6^F#_^Cp_azT+HfZ* zY`C|t!>$}-zW`CS*su{LuUeZij*F89v~zb*lVqn-&o3f>b3d0NgowzqDZ})`PKtE# zu7=q6ti`n-`}PNxvT#NN5g2PH81;GUSB$(t4UC?e_SwuYp&LHc(*58VqW@yn;1CpQ k*~jDgqgg_cI)L1=1lPjb@eJ~;_x|v3c63MGx5r-k2aN%&6#xJL delta 993 zcmV<710MX243P*WiBL{Q4GJ0x0000DNk~Le0003X0003X2m=5B03%&qvH$=8QIRD; zf2^#mzrVk;v$KbXhc-4gB_$>QW;0jfFDZ*Bkpc$}ToI}5@v6o%nB`4yqvr8h5&i?m7yBZzwlG&LDaB}v=AZ?K?a;TrHw+&hvQ?GRnUzX`{|}Ns2dwn(5;B?<0g81 zbl*Sj_ln22`_t13RChp~o%D>cnkdtAc9b^NDO9J5_&R8gf|iw1cZjv6&UdaaDs}(!qZag|?uRt=f-?E@3jhEB002HY|IfA}POTU8 zhWFq64>Je=00000003U6`Lp-rfDw&16j3q**5Oa70aishmehhy$5Yz{nL#V8L54W!Z5#Hj7nFSejTr<000000e*gfl)BM?ca=>9| zyrE&ZWCpCmKc)s)HC*ad7 z#IyJD=>Ku?@V|k8`@Fjors1!P0iFZCXR6!buXzEc;hz=*443^r@dlte{PlWG3s4KX zK0Q5M7Yj0jmS>PPGiZ4Yaur*-ils|`ftuebCesf9000000000003X6H{39c5mBqc~ P00000NkvXXu0mjfurs{O