From 4d175395e66f46487f9482c431be46b78c6e092c Mon Sep 17 00:00:00 2001 From: Stardust3D <3dstardust@gmail.com> Date: Thu, 30 Dec 2021 21:56:09 +0100 Subject: [PATCH] added sphinctoplasties --- 1.3/Assemblies/RJW_PlasticSurgeries.dll | Bin 11776 -> 13824 bytes About/Manifest.xml | 2 +- Assemblies/RJW_PlasticSurgeries.dll | Bin 11776 -> 13824 bytes Assemblies/RJW_PlasticSurgeries.xml | 14 +++ .../Recipes_Surgery_Sphinctoplasty.xml | 72 ++++++++++++++ .../Recipes_Surgery_Vaginoplasty.xml | 39 +++++++- .../Properties/AssemblyInfo.cs | 4 +- .../RJW PlasticSurgeries.csproj | 4 + .../Recipe_Surgery_Sphinctoplasty.cs | 93 ++++++++++++++++++ .../Recipe_Surgery_Vaginoplasty.cs | 62 +++++++++++- 10 files changed, 280 insertions(+), 10 deletions(-) create mode 100644 Assemblies/RJW_PlasticSurgeries.xml create mode 100644 Defs/Recipe_Surgery/Recipes_Surgery_Sphinctoplasty.xml create mode 100644 Source/RJW_PlasticSurgeries/Recipe_Surgery_Sphinctoplasty.cs diff --git a/1.3/Assemblies/RJW_PlasticSurgeries.dll b/1.3/Assemblies/RJW_PlasticSurgeries.dll index 7756b5e6fa4c7bb7fddc842d52cd6b0556a87502..3c1b9cd136e59889f151bbd176cc165137497b3e 100644 GIT binary patch literal 13824 zcmeHO3ve6faoz*K!-EhdLhm>9ph!~^Op3H3$ucF14~eo!Q3CZe69@#3)X4x2z5^sP z9C;|qPU9p_ZO2J$$5j-&p61a!*GYZiWEov5XQ9T#!-XD)|+J(?gHe;)`I|( zwmNY`k}Ha+Vy0!LAW3W|z;HujxLwyybXUyOG6oDeR+_}kzS?oSuAM}?T%xcR=M@*n z=AjyDZzOtXHIX9P-<&KlQ8M4W!qc>vDAe4s@=dNmZSbD0L1#5TQnMj?&k`Vu9$bk^ z8Wz+%)v(a}RMS$Z)_J@JjMV12EnaFs)$mkr#i0qQzO!hz&)c*NcIunz5R}$(@Wu*| zX4uYc@zH5K(d>H91bl}K6koqF=tE4qDOUhdL z$=W9#f4sxivV>0DQIXo(+Fa7;=%^!c&?9hwpy%F5&>dVE$GjQ-G5zbUQ_yhC^CV^r ztFCd}}V$9on- z*ym|NWLG-Pnabmw@sPSfRTswM7~%8n0uyM6Zvy!YEsA+~;IrI>ykf*} z*kp_TrcIE;wh(A)gRo(t$A1>n!{=EjeioJ-EESaMH!iwZ{%t4Z@_W_j)FH#@`vC zCWz_=zgIPGVXK&R81f`f%;wEL?*uw7WFeAJb0uv-fKJ+K+0Kc#k~cP}%A1s!z~Whz zHN|O3v79#+0!>>1O5Q>ckvH}ud1FTM#sC5+u{?%9TDWTJTIHQfsSd$U4jCzj);?JN+&AVv1V zFwI>_v#?w#m88vv8z*V?V4avxp^QD&7_Z8i6qtxW?H+3^yT%%e<(#n)Xu7SGGlar9 zV?UBJW+Z0}xN;VfoH1(WjKizsOu~?y@xEoh*1biKJ_)o#+KJXDb=U*PKqd8)8Ts-uL*xN6?OrHt71fNf! ztV;jtWqw}GX3)>l9)BIZBDK6w%lUWRejx4M+aaJKFqv|c5!~c$^`l6e{;z4 zUI=yye-2VUd?DBa$t&15=|V6JE-2C!N2(R+zZ_|nNJ|vka<)isbEJBah8$_GNOw8X ze39PoNDD>!lp`$`=|x9cD$?tYv|J>Q$F6UsNGly_l}OtiX^lw79H~L1(~i_A(q|p% zCXrtC+dkJ5XW~zsOl%ZvLEu90D7Z}`eI#T{?IL{=8Dwm;NdKtX(iV{#9LsIu^SzGG z?SlO~>dS-U?9ZWbShCb5(!1c3CGLwk^elX`v|FUNg0|F0UM!>u^yOLTZx@MY&{@os zIC)pip@o=OXEDPLxh#Wp)MZ&mCtTQU8gXIsu*WOZ>-&tN&{t|NfgbQO|FZv!ib{Vi z^t;e(raz;vC=0M4JO^}U`>}B0hHM6-Xb8O!C|H#qxxq2@0_KUD(ss9^WeE1v&Qg7l(D57RRB4W*X$u43E!#Ah8H6zK)xa&6}xJM^7{Tp-A@VSx+B!Ve6}~4fKo)+fapVq|dvsja68T{?diTs<4~s zZyk(VbTfV5k+?;zoCaKWi#C&Q4NG>5-d5G3t<)=+owKbpB$C~tZ8Yq{wpC%b(kT~q zYZbPg?sj3@tFYVXT`uglDy)MZ6^v_FsDnNu(p9AaJKYZYoFmN(M3P;^VpK>IQ zx~nRdF8YFC=V=g8cM+}Q8te>qSH;pp%LKDy>7hq#Nix_|6-x!Vl1JS+f7Gmo@KIxon&2 zf&CcHv~HXK9Ufn(e#6LbG|vAS&%F}usAP|G=%L$jDCeD;sjV;Zt0_dQ=|S8o?sK^B z$5*fr?gw$JxXe7T#7)&;)7TE+6KqFD3N6(5HodQ|J$cdTZF`V$B3S>z(vZkjHl- z_)Tagg?>Zm6`>SjeN^a9p;Rjxp(lh+3cV=w8$z!L-5F-f6GATv{f5vhLTQ%x5ju>q zs48KlUD1>~m9xru<)exRqkA<*djr-K9;Za(ftx)+2$b&W1 z4|)g2w};-2tb0hKS)gNh&s~jo=ry2EpqAD2B1N>1 z!m@$BfV%-F=0?yj!?FSIW9vb`2FnI|4wj8LtE>Ti5ppAa3wI;E49iCPHY^+I6<9XX z-@$S%-9lOP*>ki=@l6s9;G=_r$n5I^)=^CH^7V{ThuO~-?n`xaUg}x7_K=NqU>%-% zy)164{nd-e?~&p}io7m%tD#wgdoAt;ycw*+-H4gjgu9cT#(woQ#^b+miR~S!M50@_ z@|om#S0-s$ZHX2rwoPJKO$MbE+pXm=4^k3RSJ5=JT%kXiOO9#jp_8VTO!uWxGLuN?h+a=- z%F2^knhxsOBXFK3j9c1eq{n$)pgo2Ota=C^=J?8E7*h{5Otp#UPwKf;VXD<0%%suL zc!5h;LhUMsk{PW$r7-KLkLSE$@eCwWs;8mxyjE$osd1#cl2%#gDiX6xYjjvMVX(cU zHIYDd1&w-6Co@H6x{PdI&uFIP42pDT0iQodihy<(b(hqwjTFbmIFO133Ln-jy-L?< zSz2}^Gd`pj+@^g6+INjNGU`RzyhC!rhvcGWC2lXs1d_9Mm$&yM?o^^*v}} z$x9Wk1-gvG+elz4dATv=PvIRh6c*@Kh0H15uH+BUY;gh_&-OZfdjZmcv6onT{5 zx*3^quB1{1eqDfeU28aX!njTM8DrFIm^~Oh6xZ&?cY3V=wpY)kJ2M$xSQ3N0qv$Dn zebF^5mIkm(2SExmPP}x@c1L@X7N$|p-32Yj1BNZCWL^b0ofQjb-8ra@I_nM%7=?H- zpEpd*qMo}`nhYOuHq^o7nH(lyTOyHXZc2LGyWyeSojK!Lld9FGUr(9FR3}qXXWJat z^HiD<8@u8slV-luYy0%vU1(@7t(jOV<-r5QUWr6kNFWJ)m|X>ZRELIh*lmD8DPH&! zd$dd*VvlJWW_jJhEH70t&8i$LofxocY?pN@R=v!2VEryQ2aoHxa=Dmd9K%{`QY`AJ@#&dP=(nwr9L%mT`N{!LUVMU@l9yHSNGF%|DB{ z=gY&UT!kw$1b=+ALYghv_(rfvSq{%z>eP;|8VX&>)0&wxuC70~C2)ASgvm37qdr)EqNACLErrSFV>S{pQUv^$UWM9wF?uvqre%7Nien1N_q@^VFFsy+GZ1+Q~T$;xJUO_qjs_*+vK*n<%|2 zP*%^CdCPf$nBvZTSf2{H$Kq71dMwC`&yF}1C`l%zsff4f0^Y#8@gu2&w3m+HIf%c= zCPl9kj&`uY(u6lj6JI@WQX)Du1b&>NkaDmbfxQlH44Q7}Ey{~`4JC6xlF*Nmfih8G z{M5j)M@Bi4411-ejUW0>=Hfm5?`fSs{DYU)_LDEFC;@Mjlo~Mg^(@vg@vt1}1LE<| zk4!$GL=O3)_`CqcGIf6B0OVkl1er@UQHo67?^7d_p9qmBGI4|vpo zSB)IPeT?lNnuSDE5`eC$3rD5(98Toz_0bvyPw*0l7SW|skEy6Vax4%aFIpO&6Sidp zN0m;E91`0s8mt7P9%PEs>}{etUlYv0EDI>kFCka(JO7Yp!4Wf=A26^7I7b4!Zy0AR z1$G{p6Z7%cOPpPzRa1%9DYS~`Fy6Q`nek{cgPkhMXNN{BI_A80;m0^N3j0{B(7fr6 zKST@gvGMs&Y--um8pYAuOc$*}TQ|{73a!<&(UFn%&09BWw`eUJ+qaBp8%IXl(;HK_ zXj|I0q+8oIZyLeR6ch@zZ*AX%A5OH!HWBqHv?MmrGgLm2Z*We1x8cVXThQRTd1c7? zU@?HRdxXnG%SaTq`|!8g>4L`AbG=Um>$hWllqGY@mkQdi(B2zyR=p-&-(SB%dv3&^ zyVI`k%_qGiy-ly~8+ekG{z2~iWzfIThkLz^F=bPHqQaLTqD8mk#t(=N#=GP1$baG+wH-9^aRnjDxV_3Si7k}oo7c@tK2UZ$b9F{$~ z7dvhSJ8vKMUfz@WS}WgPc~4J5Ysv0kfSm!!zCPz`=Cu|v;h+PA_xfu+@%LE;tuFm* z$H@RWpkaJh=3k2#_yU}jUB4jved%Purwl#=WaLc2Tme>mTHtfU8PwJY`)f}OSa`*A z$v0c);9~$!uBUYE#b0{xHzcR!-9RkV$nD6Zrb;{Q^G{SVH72bzU{N{?jf=a@_^Mv< zby(uGTt3=qD}F}438$zQ+^x8=TH`v1zcVS4b-QhRZpyeKwd+p&+Ot;-XEx3hU%k?< zeTZR9ym5x}Xg{}Xj839$M4v$YEx22ezv)hW?57!#DOB-ekAyV*X5rVwUtRcgW?#pp z9s8X+cqDK;O1Wjp&irrFp1s7sv>JqOLr$hCw7}h$H|mok-6s81?Q3dpU9Yb?q--Zz mZAlLJe9NcZ8!hjo>i3WTiy7Ey|34#-;`hS8zyAMa;J*Qh-bQ}_ delta 4459 zcmb7IdvH|M9sbU}yZ7$iEO~5_-DH!%=Dk^xkOYjNm=Hh|8&t?Zi;WW^1Pnw{2smIS z*^N9Z6g!Pqtg%I0=|hc9N8_utC_c(ms*X;b4s@ypwSTBgE1fd<8m8Yldjq@uqf>9@ zeD{36?{|LZch3FY$0ptv@BGPKWk-*`(GBOAL|HgPGyoMec#_5!7mhx*Ds$69;09?} z14LY-rMbR1;3NNh0WjAt)oSh4qS|_`jHWPKg}qsn*nu{yEaCeqcU%oJLo)*`*I& zM&m%UR4%T+WXMa^*?k~rY@CNJ$0#)UR*CVX z6l!TL&eEpQc}R{>OIj?KRzGl!OjcgB=skL6|6JzDl3LJulUmF$i$ij>>UohXI0-l`ZU zLJ=FQLscj@7#15RK{*@uR@Q>tYSoybvavGMS=yxz3>(rWtB0&3A{VcJ_l$d9nrO)%qzKH!y{M6_nUdFy3e>Fy|OuX!lNv8}ILifsWkEx(f znI{?aF%CBHpf3A=;5rPvgoKfa5j9P-CC4U|vdSAVtXA{t=NRa zY7~o_$)Gb8`^MReI_M%B{oJ!5+8Y%MD`sFG^wMnjS+}tvn7A^<)r*#k;t(>igoDrP z_XvR+>madR^()OWVIZvVZd#gg9EU^zmmxu)|K%?|e?w1!32|c>F=lk!bC>yh4*RZ5 z4|@xmS!e=XiXF!z#xZLB4$Cv&6v^9-NPfnPHbtz(&5~nnlTZ)#QrsZHqik6e6`Eh58=1Uv_P5`#B(WH(9vSa)feEE6tN&}U?JX2(F)VF z5Kg9Op){=sAEjtTX<9M|+Ghfs-cvP{`g83dx zi>7%-@r>iyf=p_!UW_78o0fJRCY5$t?66{C)L~V{rM&CX^1h_Wyz8(g=_y`h+I2YM zFqw88#uZDZR+pAq9iCI#F1}e^nta0wRPwt-!?Q8{5^3XmSH}bLg9V@Qh3Ur6`Swk^ zP7SzQ`Ol|a!^duo{wFyq)#uywdH;XA0aO0W{r^t=yz=Z;C>NkX@S{jRCwc!1bn8KG zOb~ao8EhkLdk~^6L|cfq5N#paypTnhL*!=!(PFhUd$Rd-mpD&ho5H0Emn&SYu$!2V zUe({Ca3?XAjWM1=I7{SXSA4>{_OdX-{Kzk{YT2)0{dz@-)rdSqJo8Z~BD~(ELi&%W zQA@?WRy$S;TVIY|vC-;AG40#VeX_hYB{opFeG!uT~#4{;z?{XXN!H}h&GqF z#A+p;_q2;gRf?zZlGQC5#T(XoF^`sBs%NxzaSBga+eGY1vB}sWUKX{+kf=unDz$p# zqMlfUWyErqMPs1Ya zQ4s66FF~wFCGl2N6F0IHgXrT<1+ke=gCKr@S)6K^o*~5P8N!|P3}H7tL)c5t5blc6 zHH7_it>DK)AMU_WWC&LrxIS0jB7&L9W1PGlhAC;Ec*PkkS3Y%2D#su#1#E?EAp}?%0q(}b+>3`<0iPwE=eNx3>T2q0 z!2FKwTQ~G<-MOM?V0+)TmRpq7{-$vGL}zG`W^XMnvX2-0?bF4Hi8o3<)NG^lQ@gpW zXChIyT)1zzWn<4;yR|akuB-If{T0T<3l%NGc2`~P-O#hGtE1=ko~`zhs+;ZCs@k|g z`1-Zh2SRWCY4Lvdk9KzLo_yNwtM1HqnZm!ug2?xG3;%8Y)n>jwp0MAq4(2ELp^;(g z{w-4S`M0|afBd($73pn)(EPVa$JaR|E3C%mLh)R=As!C%_*W)Fx{RFoJNA>2aHE{6 zQ#Xar6&Av$89sMd6F#3b->UN&A}4q+11`anPv&Ch)a1?34gb1n27@2e{qZqhPW%up zeI98^aC&=g&Af>nH9o=r4D5-H*_&ss4wM%?_%Xz?8|4Kl=2efhv6b8J&kPhVUdUg1 z6~Ky)#T`Mt)p#l4z3zoiU)^(Vef_%=*|k}s$+1SicC0ekGT*^>?suQ^?yX$WZZpEv z@r3M$M@s|R;e~c@-7oEirg!bk`eARf7_ZM269?-LF|~==4dXJy4;ouZa^`#}ybF^5 O8adWP`cE<1VEzZ=VZC?& diff --git a/About/Manifest.xml b/About/Manifest.xml index e649e29..2deb0e6 100644 --- a/About/Manifest.xml +++ b/About/Manifest.xml @@ -2,5 +2,5 @@ RJW PlasticSurgeries - 4942.0.1.1 + 4942.0.1.2 \ No newline at end of file diff --git a/Assemblies/RJW_PlasticSurgeries.dll b/Assemblies/RJW_PlasticSurgeries.dll index 7756b5e6fa4c7bb7fddc842d52cd6b0556a87502..3c1b9cd136e59889f151bbd176cc165137497b3e 100644 GIT binary patch literal 13824 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 delta 4459 zcmb7IdvH|M9sbU}yZ7$iEO~5_-DH!%=Dk^xkOYjNm=Hh|8&t?Zi;WW^1Pnw{2smIS z*^N9Z6g!Pqtg%I0=|hc9N8_utC_c(ms*X;b4s@ypwSTBgE1fd<8m8Yldjq@uqf>9@ zeD{36?{|LZch3FY$0ptv@BGPKWk-*`(GBOAL|HgPGyoMec#_5!7mhx*Ds$69;09?} z14LY-rMbR1;3NNh0WjAt)oSh4qS|_`jHWPKg}qsn*nu{yEaCeqcU%oJLo)*`*I& zM&m%UR4%T+WXMa^*?k~rY@CNJ$0#)UR*CVX z6l!TL&eEpQc}R{>OIj?KRzGl!OjcgB=skL6|6JzDl3LJulUmF$i$ij>>UohXI0-l`ZU zLJ=FQLscj@7#15RK{*@uR@Q>tYSoybvavGMS=yxz3>(rWtB0&3A{VcJ_l$d9nrO)%qzKH!y{M6_nUdFy3e>Fy|OuX!lNv8}ILifsWkEx(f znI{?aF%CBHpf3A=;5rPvgoKfa5j9P-CC4U|vdSAVtXA{t=NRa zY7~o_$)Gb8`^MReI_M%B{oJ!5+8Y%MD`sFG^wMnjS+}tvn7A^<)r*#k;t(>igoDrP z_XvR+>madR^()OWVIZvVZd#gg9EU^zmmxu)|K%?|e?w1!32|c>F=lk!bC>yh4*RZ5 z4|@xmS!e=XiXF!z#xZLB4$Cv&6v^9-NPfnPHbtz(&5~nnlTZ)#QrsZHqik6e6`Eh58=1Uv_P5`#B(WH(9vSa)feEE6tN&}U?JX2(F)VF z5Kg9Op){=sAEjtTX<9M|+Ghfs-cvP{`g83dx zi>7%-@r>iyf=p_!UW_78o0fJRCY5$t?66{C)L~V{rM&CX^1h_Wyz8(g=_y`h+I2YM zFqw88#uZDZR+pAq9iCI#F1}e^nta0wRPwt-!?Q8{5^3XmSH}bLg9V@Qh3Ur6`Swk^ zP7SzQ`Ol|a!^duo{wFyq)#uywdH;XA0aO0W{r^t=yz=Z;C>NkX@S{jRCwc!1bn8KG zOb~ao8EhkLdk~^6L|cfq5N#paypTnhL*!=!(PFhUd$Rd-mpD&ho5H0Emn&SYu$!2V zUe({Ca3?XAjWM1=I7{SXSA4>{_OdX-{Kzk{YT2)0{dz@-)rdSqJo8Z~BD~(ELi&%W zQA@?WRy$S;TVIY|vC-;AG40#VeX_hYB{opFeG!uT~#4{;z?{XXN!H}h&GqF z#A+p;_q2;gRf?zZlGQC5#T(XoF^`sBs%NxzaSBga+eGY1vB}sWUKX{+kf=unDz$p# zqMlfUWyErqMPs1Ya zQ4s66FF~wFCGl2N6F0IHgXrT<1+ke=gCKr@S)6K^o*~5P8N!|P3}H7tL)c5t5blc6 zHH7_it>DK)AMU_WWC&LrxIS0jB7&L9W1PGlhAC;Ec*PkkS3Y%2D#su#1#E?EAp}?%0q(}b+>3`<0iPwE=eNx3>T2q0 z!2FKwTQ~G<-MOM?V0+)TmRpq7{-$vGL}zG`W^XMnvX2-0?bF4Hi8o3<)NG^lQ@gpW zXChIyT)1zzWn<4;yR|akuB-If{T0T<3l%NGc2`~P-O#hGtE1=ko~`zhs+;ZCs@k|g z`1-Zh2SRWCY4Lvdk9KzLo_yNwtM1HqnZm!ug2?xG3;%8Y)n>jwp0MAq4(2ELp^;(g z{w-4S`M0|afBd($73pn)(EPVa$JaR|E3C%mLh)R=As!C%_*W)Fx{RFoJNA>2aHE{6 zQ#Xar6&Av$89sMd6F#3b->UN&A}4q+11`anPv&Ch)a1?34gb1n27@2e{qZqhPW%up zeI98^aC&=g&Af>nH9o=r4D5-H*_&ss4wM%?_%Xz?8|4Kl=2efhv6b8J&kPhVUdUg1 z6~Ky)#T`Mt)p#l4z3zoiU)^(Vef_%=*|k}s$+1SicC0ekGT*^>?suQ^?yX$WZZpEv z@r3M$M@s|R;e~c@-7oEirg!bk`eARf7_ZM269?-LF|~==4dXJy4;ouZa^`#}ybF^5 O8adWP`cE<1VEzZ=VZC?& diff --git a/Assemblies/RJW_PlasticSurgeries.xml b/Assemblies/RJW_PlasticSurgeries.xml new file mode 100644 index 0000000..7ccfe20 --- /dev/null +++ b/Assemblies/RJW_PlasticSurgeries.xml @@ -0,0 +1,14 @@ + + + + RJW_PlasticSurgeries + + + + + + + + + + diff --git a/Defs/Recipe_Surgery/Recipes_Surgery_Sphinctoplasty.xml b/Defs/Recipe_Surgery/Recipes_Surgery_Sphinctoplasty.xml new file mode 100644 index 0000000..800996b --- /dev/null +++ b/Defs/Recipe_Surgery/Recipes_Surgery_Sphinctoplasty.xml @@ -0,0 +1,72 @@ + + + + + Surgery_Sphinctoplasty + + Surgically tightens the pawn's Sphincter by 25%. + + tightening Sphincter + Surgery + Recipe_Surgery + MedicalOperationSpeed + Medicine + 0.2 + 400 + true + +
  • Human
  • +
    + 95 + +
  • + + +
  • Medicine
  • + + + 1 + +
    + + +
  • Medicine
  • +
    +
    +
    + + Surgery_Sphinctoplasty_Micro + + Surgically gives the pawn an micro Sphincter. + RJW_PlasticSurgeries.Recipe_Surgery_Sphinctoplasty_Micro + alter Sphincter size to micro + + + Surgery_Sphinctoplasty_Tight + + Surgically gives the pawn an tight Sphincter. + RJW_PlasticSurgeries.Recipe_Surgery_Sphinctoplasty_Tight + alter Sphincter size to tight + + + Surgery_Sphinctoplasty_Average + + Surgically gives the pawn an average Sphincter. + RJW_PlasticSurgeries.Recipe_Surgery_Sphinctoplasty_Average + alter Sphincter size to average + + + Surgery_Sphinctoplasty_Accomodating + + Surgically gives the pawn an accomodating Sphincter. + RJW_PlasticSurgeries.Recipe_Surgery_Sphinctoplasty_Accomodating + alter Sphincter size to accomodating + + + Surgery_Sphinctoplasty_Cavernous + + Surgically gives the pawn an cavernous Sphincter. + RJW_PlasticSurgeries.Recipe_Surgery_Sphinctoplasty_Cavernous + alter Sphincter size to cavernous + +
    \ No newline at end of file diff --git a/Defs/Recipe_Surgery/Recipes_Surgery_Vaginoplasty.xml b/Defs/Recipe_Surgery/Recipes_Surgery_Vaginoplasty.xml index f201f1f..ee3097b 100644 --- a/Defs/Recipe_Surgery/Recipes_Surgery_Vaginoplasty.xml +++ b/Defs/Recipe_Surgery/Recipes_Surgery_Vaginoplasty.xml @@ -1,11 +1,11 @@  - + Surgery_Vaginoplasty Surgically tightens the pawn's Vagina by 25%. - RJW_PlasticSurgeries.Recipe_Surgery_Vaginoplasty + tightening Vagina Surgery Recipe_Surgery @@ -34,4 +34,39 @@ + + Surgery_Vaginoplasty_Micro + + Surgically gives the pawn an micro Vagina. + RJW_PlasticSurgeries.Recipe_Surgery_Vaginoplasty_Micro + alter Vagina size to micro + + + Surgery_Vaginoplasty_Tight + + Surgically gives the pawn an tight Vagina. + RJW_PlasticSurgeries.Recipe_Surgery_Vaginoplasty_Tight + alter Vagina size to tight + + + Surgery_Vaginoplasty_Average + + Surgically gives the pawn an average Vagina. + RJW_PlasticSurgeries.Recipe_Surgery_Vaginoplasty_Average + alter Vagina size to average + + + Surgery_Vaginoplasty_Accomodating + + Surgically gives the pawn an accomodating Vagina. + RJW_PlasticSurgeries.Recipe_Surgery_Vaginoplasty_Accomodating + alter Vagina size to accomodating + + + Surgery_Vaginoplasty_Cavernous + + Surgically gives the pawn an cavernous Vagina. + RJW_PlasticSurgeries.Recipe_Surgery_Vaginoplasty_Cavernous + alter Vagina size to cavernous + \ No newline at end of file diff --git a/Source/RJW_PlasticSurgeries/Properties/AssemblyInfo.cs b/Source/RJW_PlasticSurgeries/Properties/AssemblyInfo.cs index 8089574..648cfd5 100644 --- a/Source/RJW_PlasticSurgeries/Properties/AssemblyInfo.cs +++ b/Source/RJW_PlasticSurgeries/Properties/AssemblyInfo.cs @@ -31,5 +31,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("4942.0.1.1")] -[assembly: AssemblyFileVersion("4942.0.1.1")] \ No newline at end of file +[assembly: AssemblyVersion("4942.0.1.2")] +[assembly: AssemblyFileVersion("4942.0.1.2")] \ No newline at end of file diff --git a/Source/RJW_PlasticSurgeries/RJW PlasticSurgeries.csproj b/Source/RJW_PlasticSurgeries/RJW PlasticSurgeries.csproj index 170bfef..a715a16 100644 --- a/Source/RJW_PlasticSurgeries/RJW PlasticSurgeries.csproj +++ b/Source/RJW_PlasticSurgeries/RJW PlasticSurgeries.csproj @@ -68,6 +68,7 @@ + @@ -80,6 +81,9 @@ Defs\Recipe_Surgery\Recipes_Surgery_Mammoplasty.xml + + Defs\Recipe_Surgery\Recipes_Surgery_Sphinctoplasty.xml + Defs\Recipe_Surgery\Recipes_Surgery_Vaginoplasty.xml diff --git a/Source/RJW_PlasticSurgeries/Recipe_Surgery_Sphinctoplasty.cs b/Source/RJW_PlasticSurgeries/Recipe_Surgery_Sphinctoplasty.cs new file mode 100644 index 0000000..658a8be --- /dev/null +++ b/Source/RJW_PlasticSurgeries/Recipe_Surgery_Sphinctoplasty.cs @@ -0,0 +1,93 @@ +using System; +using RimWorld; +using rjw; +using System.Collections.Generic; +using Dyspareunia; +using Verse; + +namespace RJW_PlasticSurgeries +{ + public abstract class Recipe_Surgery_Sphinctoplasty : Recipe_Surgery + { + public override IEnumerable GetPartsToApplyOn(Pawn pawn, RecipeDef recipe) + { + if (pawn.gender != Gender.Female) yield break; + + var part = Genital_Helper.get_anusBPR(pawn); + if (part != null) + { + var hediffs = Genital_Helper.get_PartsHediffList(pawn, part); + if (Genital_Helper.has_anus(pawn, hediffs)) yield return part; + } + } + + /// + public override void ApplyOnPawn(Pawn pawn, BodyPartRecord part, Pawn billDoer, List ingredients, + Bill bill) + { + if (billDoer != null) + { + TaleRecorder.RecordTale(TaleDefOf.DidSurgery, billDoer, pawn); + SurgeryResult(pawn); + } + } + + public abstract void SurgeryResult(Pawn pawn); + + protected void SurgeryX(Pawn pawn, float severity) + { + pawn.GetAnusList().ForEach(hed => + { + hed.Severity = severity; + try + { + PenetrationUtility.AddDamageHediff(Dyspareunia.DamageDefOf.SexStretch, 0.5f, hed, null); + } + catch (Exception e) + { + Log.Error("Try enabling Dyspareunia for sore genitals"); + } + }); + } + } + + public class Recipe_Surgery_Sphinctoplasty_Micro : Recipe_Surgery_Sphinctoplasty + { + public override void SurgeryResult(Pawn pawn) + { + this.SurgeryX(pawn, 0.1f); + } + } + + public class Recipe_Surgery_Sphinctoplasty_Tight : Recipe_Surgery_Sphinctoplasty + { + public override void SurgeryResult(Pawn pawn) + { + this.SurgeryX(pawn, 0.3f); + } + } + + public class Recipe_Surgery_Sphinctoplasty_Average : Recipe_Surgery_Sphinctoplasty + { + public override void SurgeryResult(Pawn pawn) + { + this.SurgeryX(pawn, 0.5f); + } + } + + public class Recipe_Surgery_Sphinctoplasty_Accomodating : Recipe_Surgery_Sphinctoplasty + { + public override void SurgeryResult(Pawn pawn) + { + this.SurgeryX(pawn, 0.7f); + } + } + + public class Recipe_Surgery_Sphinctoplasty_Cavernous : Recipe_Surgery_Sphinctoplasty + { + public override void SurgeryResult(Pawn pawn) + { + this.SurgeryX(pawn, 0.9f); + } + } +} \ No newline at end of file diff --git a/Source/RJW_PlasticSurgeries/Recipe_Surgery_Vaginoplasty.cs b/Source/RJW_PlasticSurgeries/Recipe_Surgery_Vaginoplasty.cs index 4702c5c..c8569d1 100644 --- a/Source/RJW_PlasticSurgeries/Recipe_Surgery_Vaginoplasty.cs +++ b/Source/RJW_PlasticSurgeries/Recipe_Surgery_Vaginoplasty.cs @@ -1,12 +1,14 @@ -using RimWorld; +using System; +using RimWorld; using rjw; using System.Collections.Generic; +using System.Linq; using Dyspareunia; using Verse; namespace RJW_PlasticSurgeries { - public class Recipe_Surgery_Vaginoplasty : Recipe_Surgery + public abstract class Recipe_Surgery_Vaginoplasty : Recipe_Surgery { public override IEnumerable GetPartsToApplyOn(Pawn pawn, RecipeDef recipe) { @@ -20,6 +22,7 @@ namespace RJW_PlasticSurgeries } } + /// public override void ApplyOnPawn(Pawn pawn, BodyPartRecord part, Pawn billDoer, List ingredients, Bill bill) { @@ -30,13 +33,62 @@ namespace RJW_PlasticSurgeries } } - protected void SurgeryResult(Pawn pawn) + public abstract void SurgeryResult(Pawn pawn); + + protected void SurgeryX(Pawn pawn, float severity) { pawn.GetGenitalsList().FindAll(Genital_Helper.is_vagina).ForEach(hed => { - hed.Severity *= 0.75f; - PenetrationUtility.AddDamageHediff(Dyspareunia.DamageDefOf.SexStretch, 0.5f, hed, null); + hed.Severity = severity; + try + { + PenetrationUtility.AddDamageHediff(Dyspareunia.DamageDefOf.SexStretch, 0.5f, hed, null); + } + catch (Exception e) + { + Log.Error("Try enabling Dyspareunia for sore genitals"); + } }); } } + + public class Recipe_Surgery_Vaginoplasty_Micro : Recipe_Surgery_Vaginoplasty + { + public override void SurgeryResult(Pawn pawn) + { + this.SurgeryX(pawn, 0.1f); + } + } + + public class Recipe_Surgery_Vaginoplasty_Tight : Recipe_Surgery_Vaginoplasty + { + public override void SurgeryResult(Pawn pawn) + { + this.SurgeryX(pawn, 0.3f); + } + } + + public class Recipe_Surgery_Vaginoplasty_Average : Recipe_Surgery_Vaginoplasty + { + public override void SurgeryResult(Pawn pawn) + { + this.SurgeryX(pawn, 0.5f); + } + } + + public class Recipe_Surgery_Vaginoplasty_Accomodating : Recipe_Surgery_Vaginoplasty + { + public override void SurgeryResult(Pawn pawn) + { + this.SurgeryX(pawn, 0.7f); + } + } + + public class Recipe_Surgery_Vaginoplasty_Cavernous : Recipe_Surgery_Vaginoplasty + { + public override void SurgeryResult(Pawn pawn) + { + this.SurgeryX(pawn, 0.9f); + } + } } \ No newline at end of file