From f0a9cce9c9085725ec890efe5050e0a96030085b Mon Sep 17 00:00:00 2001 From: Shabakur Date: Sun, 25 Dec 2022 12:38:05 +0100 Subject: [PATCH] Added Gene Aphrodisiac Pheromones and some settings --- Common/Assemblies/Rjw-Genes.dll | Bin 40448 -> 43008 bytes Common/Defs/Genes/GeneDefs_SexSpecial.xml | 13 ++++- Common/Defs/HediffDefs/Hediffs_Genes.xml | 27 +++++++++ .../Animal_Inheritance/InheritanceUtility.cs | 7 ++- .../PatchRJWBestialityPregnancyUtility.cs | 4 ++ .../PatchVanillaPregnancyUtility.cs | 4 ++ Source/Animal_Inheritance/RJW_BGSSettings.cs | 10 +++- .../RJW_BGSSettingsController.cs | 2 +- Source/GeneDefOf.cs | 2 +- .../Special/Gene_Aphrodisiac_Pheromones_.cs | 53 ++++++++++++++++++ Source/HediffDefOf.cs | 16 ++++++ Source/Rjw-Genes.csproj | 2 + 12 files changed, 134 insertions(+), 6 deletions(-) create mode 100644 Common/Defs/HediffDefs/Hediffs_Genes.xml create mode 100644 Source/Genes/Special/Gene_Aphrodisiac_Pheromones_.cs create mode 100644 Source/HediffDefOf.cs diff --git a/Common/Assemblies/Rjw-Genes.dll b/Common/Assemblies/Rjw-Genes.dll index 4c7463c35d1b24e6417aa3e444c54a64a7264e92..5785b36754dcabce37b6476f1cecfe21c7590f3d 100644 GIT binary patch literal 43008 zcmeIb3w%`7wLiYjnaP<)-jk3A1Q_09UIIY`L?8*TXn05hh_5h7CSfF*6K4`2#-xd8 zs}{9XOQqWSs(Rb1t=0NyYm4>Ka$8%ywGVHtqV%Dy_SU}CR_O1$);?$EOcJQQ{r!KR z-{<~+fmvs-$6kBwwbx#IpMB0G>(2WaxroS(&)@$}^eC?UvqIp>!7$i4Q@@%+5BZ** z_NdnQ?6l?`(L}H(Zg$4Q-NCkSEN1owTO+}EUo04n1y^op3U-_Ak?QPh|4d8u##Ka( znu~G@?rF1IJ3`Zgnc7^U+dwfCHSi5wgZLc6hbT|Vy0V)ImKaJJ5$OEmqU~3*DF07g zEtE<4IrKQu1}PBjVMmPqIYN{*n)X5PAd%N0=LNpjfmioN_VfZT`3wMf(pSrFVDb|r z+Fl(`#Mv=o+aVNqpzgrO@v{QMRUMCXnGh6PkATU#?#9RQvx2D3flBdD=s*9kZ8~Mp zzO6(HI>d`Y|7SsU9RBYKO(*h~Ptij&_k4P3XWZ*WgB6$``uURC!%` z=pwK-m7}3ab6s=}s^fpYK7a`E7gzgLp`=W)I4uXkOz?e16oDiy1R9;|d@qihErz)z>QWT}lA7X}CiCUQz#Q`l; zg;JK+tj49v<2B4vQ2==^<40c3324WQP-Bu=1j0*7lf$C((=B>FWf60fMJ=jjX;@jb z&e`8=r$rMjiwfNNZe^1<-|b5?>gS`4V*hGoJjPek%=;*Z$5p3E+MGH~$_4PfAHETK zmCIGB7s25vuU?SehyO_RfjQELsv4K0!iDJ-eweDj994naNcFff*X2M)wT~cij_M03 zb<9ydbk?uZi_4wnw4~SnQK~+3tojaPxPB3w#xZ%8_=@rq^Dw*!!1=fg)Bpsi&_vFt zutO!=8W=roEPgY3EDY$?kdt%@(!?cdEO?Im7)D`^VD|AGX~(5p+K-`qG?TA~P7?!+ z&_Y}@Jt5?RimELh^K_uu6$=8c&?1yLEJ6pNt7DPV@2r6{Ky#fp z$QRUEic8g#Fw%9r$d`=bq>WRkwnf>9`Ftj1%ZK#PEl{ryECZ$wz$@+$DjIt6AZCQS z{4;uJxo{Y(DmkIt!%n%%DM}8RV|ckzdcM+Hq_m!;gB7eD8Iv`&RV0GN`*lDrph$HCJ+F$QR7bAQ*>i&h^w# z@K8zM4y{6|FhIvA_%YT-p}89PY<+r7P0jL98GH4|dT0%3x;}t#a~E$L3F2BY(SfTYy&(Q~9xVy@b70Y0el-tG^IiM_7 z6)TGz{Z%CC7568D`q3XO4_2o`pFxYEI{+|tbn&1j@JAJw|$vPGX@nn5sINMospMsiXSEq<_$_ z+a3Kn2W^k;7pu?*82)qp;u>T6^%uKe;zoNUk@2LHShOvlhTtX{WSdpZ{XcH^Um|rA zj4i1_AlNdg>I2LxcJict(oTf|{Ugs2de! z=iG(DapP4;Cz`>SHOw4yGm6OFCAz^o2Y5&34VFZ|O5v$AgB^wR47&wKnn|N_EROCA z3ykUulRijaIMt-}#Y9EvOALkM#xGKRVUDve+{D4Wr>(?nW7FF{4=XAcU;jbEqw$sA`txru+&PdiUyWTl_j2aN9LxFX~CleLWM zCzJkL{Y;>u^fQjaaRWOLJ2si)>?b$zLHmjIPx^@!_(c6o6G^5WrjANGOj2p*M0xgB zv|_LMabqtE$Bnnxjo4yhiZe%UgRn!g z>K3Qh-IZSVcd5F}vFjqo6wGy#M?(QWdKGqz16$CtFkRV3b4 z`-gU?ckREpYi(f68fFgPl~$M$;8oM&GjP12n;p!oa?dWT$S^xm4((uoJ(*uOqksb! zGuR1WBANQj5je=9em#VIYHv#JM6ohcg=z?C%3r?FDOLV`D~i?5gx!eH_Up$Dc+*HA zjrl{E^yn;;OF|n#Ex*pf_@Kq&gg%vOQd&vc0?&T{TUaX1mST)e(iV)&7+Z?dY$-mO zEio0GRmr>kp=ofqiQMHcAIpP(Psqc#SUkj^P9=yvzHdU6;pOl<0>r5F8bE2qd46LY zWH)|6h4vDT_-GsmrI8c{9yLfwPHapMnY(%LgI$HZ#ocez8uY>8dv()22SOjTjd zxK#$ytNbZdg*oF^foGhC{W(>IIcZfUAzveh@OgEsk>CAp z*S4P=juS{Y zbc}HI%Ngti7|$OkkZ|a@f~#N2;KL`-aRLd4j*oEls~B8%0v+Q?aNNAF5%~}|iN9bh z{f0gW$GMFGhB85{Q_3ZGL(V#=Tr`Ao;vLBINu@D}F5+q(UJk;ezy|mthnPz?LK*}m zB^RarG*~)_F=T0G77oJS?!qj)@?!8S%PpqMx=K~M%$3z?3)i&kUG1!AEB^rXZbFAD z*I2skCd3bXbK zliN)_?l5nJdVj?lH1r9SGCczaaFJfek>FK_D??5)cE~*@GN8XQ-(w>!_-Bg$sp?_|U0S!`34G4v@^#SV>K?l(eDVdOJC!MO$B zUUOQ|6a2xaAIh)3z!RK$;ArR!3?(U6b?2h*2(oS4`d^$j!4tgy{bRk=(>+1Pt9LK@ zf-sl<={vuvZuA8A6n^Mf_3TCHBN_3@=t$^hHn(LFQVl3gNlH^ipAo-0iJn!_VZ^_g zL~ARy8u53M=%R|XM!ZV5wVhhA*ocRd=8w=nmAq;EKVm&<}wE=yavEDGhaRF=!4TP{mY`H=Wv9N&EUf2?n$XG2cN zYh}4b>6bFEz~!?3A-#-=o6r1@^^Npw=tS^V@rvT!#%1x1i_XI}Tk;Lxx)p|Q2d^rC z!W~@jp@7`!uh5Edk241)^=uwKR-01nd9Wz`jTa@{KjA)`IqE4a^ch9RHNHa|wQ}5w zT%cAC&i^iIfelz^kpI^}hq}!PK84*#=(E5pSK|rRGH&{=B-gwf#n3%y)(oQLugEdX zsVHRXp3uL6YHezNlfJ1{Ys3xHQXWhAm$#P)$+MdJ#5N_O|H~a z;-Ok_laIc#_#Sk4xq5V^q(q<)FA>N?8;|u!PCX0T3Vr;eUIwW2>L#rB%c06F6vVfc zixgLop=z`yH_&|aCNgN>KY;G})sw>M&wj7*O#5jeuV;&(KMyu1GBn=9$%2*m9OMVF z>SHs<(EL1bb0($5Hl;m^;syuoK{Xvz=LPxDCk4ur2&s@}lwhNMN>!HU`C(~1T zk!N5vkHW*SBCFzbxZx3$vV8+*gF3Vp;JoSnpUhY)u@!n0ywd}QZ{RF2idl!>{3-yd zeGQkYL&|%lDeuV`>QqK6w<|yK{8|iK3So=O{5op+D~hl!c^oBdt>)n3DKfu-%WP1; ziEGuXYO^vasg?by=8lJElqTVgT1F zN!w@T@gE}e++)rW!VI z>+#A3Mtl!OEHVF%8x7fePfmr0ij4_$ll4B*GUQe4iuoNF>|NdEoI?=be3qAt72PGn zh<&XWHyoAo4T;Uniafk}!?Bs=-sm;Ij{wBOg}Qt0PUiOb8l2x(j56%>&iY$;wBMGA!B+HEP> z1NG;IST=D4U{>+qt9(J=utvOK;#zUO`5Kc9^C(|X{ZOs>3ogdDVzzvUvq-!XCA%f8 zuD`S-Z(CtWegu5UlMwn&-FaO_pPCd5deV=BAd5s^Vep zL-{fU_wT^cL)bx7%r2i8UyQotQ(Pg;b_4IZNR2^E3A}f7ChJi9)JhCP8OLnpoZ!=+ zE*tR|WmXjG9`pAQF~Y$cG}6xVdy3D^^yuc>pv^yOly@i%x@)je)cpbU!S!qf=NFwO zLnl7C$7R0Xn0l<*Fp9U8p5~{Qv6OuW2E7DPE58?zK7n6x;kp@Aq7zL?*3I;+$^e78 zZ{o8Z!Gjw@dIX;$|IdGii#|aaQ8d`ZwiFFE^F<%nfQ$J@Hf%E!oczLfYtY5MS@bb34{&iY=XhPrE=(LpHPvQ`-R38lZMQkZEy)8fw?nqn zl6|==CHQv{*I2ZIb5KOPgUScdt%xB>QS`NRZX5%ymy_h`J|o|=rcsmE*Z zx*>;ghy%JN6N4u4?XU0@$ven6qU6Ud?m>5ZsfbX3cgGbZKO;l?Bu140Drnrp%f%NZco$Gs}~6hU;R^c+oL-3i1shqf;$D zJMg(4p9k@I5g*JSAL_wnT*)~>F3m_ykWS%MU^La_IRIWrg9it9FlV3*P^Q^zcq_^z zeIUX#nN1fn0dd4FEJ~nJaG9oN(@y3NaHS>ln8%MitqG;01({Hbi&LCbeBaGh+>Ak5 zj7f(;c0t?<WJ_&X z46;M^9a!RQexfb*Z)sw<{Yev>WQ&cYiD4I$CRS#Ny?mkVO7zciHG6DOx-r?7Iz1^> zIH)`<9+#;#C{v4L2~&&7YHIz2g9{s1K8v;I)740a~ zVixTtMZ>ae4EI>Ht9ja2C*ELM+@dX3v^Sa7%e0u9qq312LN0KtyGk#{Af1OkIeAlD z14zuQAB&${ygH;I&|Rsd!!BZ{#EMi-FowK81?0_Ss%kfaHykvi!}t? z@dhq(5LpUS3t_jJ|E@^YR$%cwbpFrOa5^i#WiZhMq=me zqxQb}q!*~L;Joz()SD*b&Gm4zlIba~jv~3-2nLdiw5AVy1k3?^N5F4pGWd5`J@`@3 zI9OSvVwrv!<8s@Pr4L~6++I0+31y+ebfViPLrdrol`U>^jZ z!(wV>UcZsd%FpG(wJIM6nVQH!mBPY8GZ)v{V`^5XY8F0+y`@!klcTDt=?Ic*(YO^P z*Q3baC2;QRm_25V!tkDWjasbR`#P@cSflPi*OBt52A}ir`7l18$LELmAdFn7hv5-> zo?DnSzBSdS!H=`8&s8Tq)eD|lqiz_*xhly)bn;S#`D!gy*z!m)azpmUk7;VDI>20= zmvi^vbzCkMi?G79!AuT9F;E25mXJ41Y6Zj19@aLlI)DJQc4!CK5?R5pM@`>~iT)B> zKcXb1-&(=ATWVDj*-~2;dE6oESQJHUqAm8NG%>X(vOgRuC)u(HXot!?jx&c?nI-n} z_M{7}-6D^PLvXS!D65nBs&G)8Iv`G#)k$sqIEt`3FIlikOB{v27W{JLf zB^Q7`1dg>BaR`ahx~8-0aIXew^*z2_3##W<*UYV%hb50!9ju;o)hXyZ){j5o`Y4pn zXzGneW1R_>xOW3|!kIHRH_?~2sP8$>ShKkS*3lv0y~sH;>blHU7RC=;uWg-rN2bpY ze!;ey=xbAF7x-x)>+EbleKYrLzn`wp<8qe3zhs|{{QHBf*#$Xt{fycf z0os*+uFs&KW}jOcpr?wsJjHdnFF*~2Tzi~bxsa`0mJ=+^q5Wm7dCQD*;neRHo}HZoSJlqQA>ZWM83t`e-3RGcCH&mtQU^S%_7-sE9S3f!_J)_;mJsGy3Hxvxq4#PG$Kb^a$mdXJ=2OS;hWRKV2@h z2K`+34d2=Ri8RgYFYVO+Jdt%ig1V;mksy~>h@QJd{?t5{|ALHWqfoAt@{0m1U1w)c zp^Gw2JUP)Y?gq8xv#)Lx4ZX!|&$q;$$Hc?a;h7xTB;~3CmV7D5G7Hd0KkX=E*evCF zlezpUX(cGWy1tYt_Z2XFYC2nWt5D7rU(H5O{WN_t)3-rBhu-$H=l$92hmVNN#n5cf z*I}VS{fH<(T``d<&jpz>3`&5S$~gA^!_RTGro`8JlZi`^psN zreR1fELK>CU@aErMcq95^-RU{307P1T7XNBrg!`PHBAwwJS+!eFb$2rW@Se3c6UZ-&(wG!5*~g^$1pGN%C<=9{nam)!QZ5 z3l`Qd*flaLE9f%87FzW#7wi@byHc>TEbJ=5S}g3Nf<0hi*9msN)xv(kdMzF{8L*|O zh{tFJeNuQvmh#Ijf_={N#AgIsGg0yGmN@%_#Muh^JYtDxAjn#3asR;)`ItmxE!``; zDKictcIzx`AgHkWMdw#%D(s6=FEmSGUlHu-JcT_hSf<5$MCy6L%hu}fI}X^Nu40y4 zOOFXwJn3LYskRo+RhakVqJtUJw6o}tV86{}$+PH5o?2vN5Urv{dWu}I8tg}TpE!Br>v4v0d;gggnyl16_gH)g`q!+TT@+_ota~Wn7 zF`Smq@Q9z`ya2=Rc^-Bxq}L3Fzn1c40(CD_4oLX{fj3TK%8W9Gmk8JI;78c=O=JEtAybpDc@4S(sTW1;biE-f*WwGHnv4cyClvNl-8$sM?G4`#(gx5<~38u98=r#+B&KU7#QYCJgaO*GaWzzz| zo}tW41MdknTiDOASIMT!EUZ44vCpT~dpxb)&(rE<@J$CjL#kelV0L?}EuLyGVqvPi zeQEV>OsjW`UK#MJmTL{p0!S+)BWX7C*2+%JrNu}j) zXiFQsvZghJ`6D+bv9Kxka$Ow0<1FP_@d-a)n@fDIva2ANSYO zv}B&DbSf>?7N)c`3$~XwjHBg6;T@pn%$vOdnlP8O9H1q@3aHt_UYT%*w=gYsi>Py6 zst-kUt%Y&xMRc=ZBUFpHE=tQpMf3xU=f+xAM1M@vQaV4?ha#FI*a)36j+XN+-fxkq zi|9jw9iUq#+>GpavxWV&_-1c0Jz`<|z$>8_EG)O+UT-PAE7%S6Y2VG>iBwpl`hHK= z&E82g*TSBMma??IPo_rUskoj@yDg0SJ~?e}PNqB3B)@qQ$(Pb3-#dw9(SnrcCsU1u zjo13dG|BFhNM4gBdCy5CpGuQ_^(2zV(n+PxEyR<(;8g;NI4x&G#CbE4%}AcVS6J4LxOH zHCZou7toQVs=evJPNVnFRM=)<3#nwe!s>yYP778j?B9)>y^H8m7WTsAL2YrGElcQ8 z;XOmVPA{PawOnt6o-TXUyM!7otjG5bzCGgHA)QIL2#iEn#XP{~Tg`_Izj-dgIhu(=bneDzeaO7Wg5 z&ho8J>rn$eWbyv9wA9x?`&KK-?-tGRHPS5>cC>V%ZymYUFi-6~Hd2;g2WVqprEeo` zw6LQS*ZIy#Yhe@3U8{7SIr)6wCR)+J*faPYMg}!eTrj1xi7pjP`K5{WC3#mFO>~P@ z@AR2J(3|N_3tK;VozYBRNJ`=qlnx1Y1MSUk^=+nilRS;KP~lnJ`m5SpoQ!RyjW#x8 z4zQ0kGH---LZq{h9yh*~U+dwUUe z3Z{B{QCe>=qJ;4F(o@=HsK>9y*fXFdO|pePVoAOR$rifaA-O$Gay#8@Nq!WP+v!e+ zWH?PSOkcDl{|%C1dc+~wnkLywPg;_Gc)pchv9K$Fwb9=!Y^t``*G{f;QhkV|X^A8) zTSAxlBFP?o8CXZsmKCt2lX6ANUWx$Qk)|a&8nYy4>v(2BS36oCE%^yc(m=dK>0ZH9 zOk7Og5lqd1orL2?`~X8t?4<7qre?rSdQI_sznXT9Z)aLeq<9*^XNCVA$|bpMXAd-_^f2X% zLiseHn+}QobF$e&1)cT}XEA*&R5D8b9r0?JqmRm;bKonTs>Nd|ojTP{WSvac=_l|u z&c|@RU{knOIz`ER+s`sQf*PeXyQ~pR>DTBXyc&dzJDs5_e?ce_>0_s~b#i!eNvAhX zu19f|HU)7j0;|@GuWY!2pM=r1_!#(%;BzH5C4PLa#mB&B1fMH$5*@(jT6}Ww8NugD zJg@NMb1gmwJ|p;CiEnB1ijxm$;7QA|5O~0?!e+O<)*s0x}xQ zUm~zy;0Pd|1atk zm1;*Z>*r~#vsNI!j{?b=!e!0vbdG+^AH$BHWwvQgW?ciw=XKk(zZG3i4H`~CDXRZ9 z?;v*F$4b6Hm+1L3AE18yz^ucx0D69beIM(*L@W2t0bHNUJ3-E^3q)sw_Fwt=+SU5e zsYTj;J!{e=?V#S4aW>!&r#EXWMMI-#IH)fy8`N&sgA=aMZr46O{RXX3^js}^_RA?E zAoft7)BC4?N^8(+O7GAf(2x4=(Vo!18F&!zdx1x^=k+Q6Z==OK^M0i5mtE_A{fxXn zfbwYG`=Ib0{6Q^>lcj@t0+zg?-y|mm<@Po?jusST0f{?4sL^%TU3woucxoo zFAxu`q_0hH(Hpe3nLG8j_3vi&=$h-w84TwH7_Ra&T$;&n3t)rx{mec+-*uD!Qr+iz zE%#E?`fApP^yfu$JKn3hR__wcr?}qDx((d7rhWspUdTMGUrpisALxr+_f7pFD0dgX zsMoqiieJ$iT*alo(9dz*G0VW%@m<0;*YkyM=wTO+QPj0+#_#p0z9;Li`bv5=K(1aH z@ypamLB^me)O0H1;Lu4Kl$}3WSLdsh+SaPYr zeIi*bb&mG{11dO#W$$+yXu1LU01u#&)(|Vk8;>`5O9aT~|o7?2}&Xr(5$L2KQI_SGxAo0|j$vpG3<+{ZX{I z*md2^Z=!dfly*-MONyqjwX+5OWipqSmmP-8-l+_)nR3|mn5!`GE7yqYlEU8s=1%yN zYn%3a93noTe}B5y{WfM$9=)yo5%)o1*L3*&Mj5+X#J8UntKQT23BtW%=R-nyNUZw0 zH5dL?7IhzX6=u%C(=MJn-xHbVT^X4N-7nz9ntR+|r&oOUyT51EVwsmjCaULVeaHQh z(4+dXl6NpG7f(D$S5Rd7Ywjy(a>1|MQN1|pO}9^f7xzk0eeFy=gCi$D<5gFCR!N4Y z-&A^L#xJDZH$~^0qK#*CS4KYc4`!4?vq66no$pIbUZQ_!#_bsm+Vi=uXH3(-=zlBY zZI?g$4;k;dYJBfxoT6WrhwpxA9K%`g&ll(vmoa0iaf&NCeXj8*>Gfj$`TPg9#ro+% zhQ~_k49(50_}o7%ILq+4pU8hi^SPfbSch`vghw>Z{TE-ek?)T9FEUEq9RHg8u|PX& z{d7V%WSa5T$vmC!rKY(n1HHyPvAGuTDx+4fnRE|Ezhv^KjK!{><-g`W#eI+OR^x4Y zFmSK&7=1kR%f@2&F8^1JH|RzGVWYtv*AE-D?(1fLAC$(jpW-V)?EeP$H)b&R{lH<+ zFZBNw@L0+3K)F5RuyKyqzu3Ll|2`-ex>@pa=xJ~-7oA_8&gIeqhL?iA%{?{yo37`z zL+J0T+8bpBp0N9eWhI`d`$*vo&n509xiy}C=xj%H4dyTMG`KTehmCuwrR)Mv7M|z! z1NPGp;2`YF8*7@scfS&Q=ZiGGwcqhuk^hdzG z*grnwzfCB2(hc;n%qIcg%RCBrVHRmO(|7S=3Cp{*8|dMzSKS|_U71=2!)XF<7dXSX zf%3EK4Q{2)V4ZuVe5b&p;9ipL^4vf_&Yt1P)E4F(^?ZSKdKu0TSTC?m;9h}u3Vc%F zQGqU>$P26&*d}nVz&iy#De$O3m!IVi3EZB^l)WhuCKbDcKy`#S68;Xz`fON zx*u{s=k{j=Gqz>y&3HWH4C52VoyI-JUyKY7zKiEs=V|h^dRAc9Rfm0LBi^oCFYm4W zCipq*J$t6z59lnPHtoyf&~-YD+B$s~^>zABXwZ@We1N270_s{eV5XJ}n62ew54TUN z0=!N;74YLYRa-$f;>EiabU-@|@Fwkaz)#^!tB&r6WF378l6CYDBF; zAz6ptw6Yks{}qyr_)R>g0+PNQP}ge!-TG;OhF%Nk)fc0Od3qIKKtC0*NS_B-0?G9> z5t8evOg|lP3M4DACu*V#FfV>azoVU6ul7A{i++WEK%eZI<+|H-ziWu5fFvWX$=S6K8pDT=4wCfGFftD^?+|n|)WiBmk zNUV-@hr1%nS}nqwNbja_TVzcn7FikTXo&Sj;<0d7l3m+=abKdhwySGPxHB3HH$^Xv zB$CXHW}>$vx+jS*Yins)8BO$bh5PHf!ij{m$W6~vO|P>W78HNEW2L#OvvYMM-W%8MG?`;d~QWm+!)>+Yc}on#xPPoaIosk_WowGIUMhd z^uitOkvLo95P%mpMq<&FIl|-q)udX6P+dF{PV^>?7A8wAV5v=!ZgW?puCKSL*NjJ$ zSGk>Wn9|q@c&ZHC?Drc1ja`-L*avX-}Yw(cW-ZG|Ym+uip`lb#f%6 z=%`iQ)&@&i2*?&xXm`YmiUnHQ91q75J<%@stepiL+wq4&aBb>U*T#0Zl@+itb6e)Y z7-#GNA3drf#M1Lv`Xs>u?zmQgUfaIhtlVD}IH{2RdFmGc#(jILK_d4a^4X)J~P4wcrblK@GExY64o_SQ?G;`^)MJ+Ap za<~hB$6@KR?v|F-m^EEp{ftRx=AX1P;C7gOvGx{d=vsCf!jG1AhxbG}I}@0B-F-GK z7TMj28Jn;~#&y7aTHP0G+YSw?<(iYW46bT9u`}AkYC-4;$9rQKQiVmkF|j#6C>*I` zOQa1;Kzm!urUj@S#njjlX=g4_R?`9(N5o|2hkJLZxeOii* zVjKRJPeUxx8}DnA1Oe>}QE3ci9J$lE=d^U4+1`hQhmea$cVQ?S(2q!WB-Se#XJw=} z9PLUhqq^o*E$i0d;mxL1P0cM0>+3hIs%=_D=B{XunTTT0S2Jf7vzk|J+EUx-V67wM zj24Ut&zwZv#!Z5wPsjsFG>l2ftTree(-T^#+3v@|h+FaaYiE0HE* z(YEAdq*0SoN!3L=Ime}>q;3-ueAhViM$=40RO%a5qdD5Sqjy|RQ&+TmwEoqRu4rsD zu|6CdOI&qHUm8&*KcvV}?XQf7JI&ZA;)bN>Q;ZX&Fp6Kio82Etw6rV7*@F=cJ9w?p z&KCG4GA=X0UOO?ni=EffA&cj@^?TWeClg4pE61(cAr2jvg~SIBj?0RObH`=1i$BL@ zrQ+GaZj82JKEPM-bfjg~p5Ay^txQyp819YK#@cJ!+bz;~E10Ud-n2wg!x3R!ExTm% zKyg|7+HEwv3t6`_Vx!7GmZ;?t3$wgnVOGa2EZp86<;)Q7vK3jqxA+neHY;UV%(Q9I zgk4&-2U9)5=^y>+6hlMJ@qU=h3p+((yp**gV?^3^wwikyISB)2ez+Tj z9pOYvYa|kD>4;)^Bdhsn0%bO#!`hGmT^)^dwIjoK0M_q_0&a?SZ$(E@D+VMCVD?}X z8R2z{kZf(Ytc&#S0LC`8tTs{N6%$`0YH8|)d^ir4Sr_3e@4Pl*t=SZT6Wb|{{U~+f zD?}Jlp42UE*qDIC9!Q`riW_?Bu`Zx(PWz5wX%Bb9Z`6d);{6qu*F_QuzQR~Q_Sd@b zPUuHZ*Y^q)!LbXe?E^LN?$=DP|IzO~y(`T=E^g|> zZ(iUKDD3q(iQ}*l^IHH|=s&6IqI|XN%0y)n?o#$oA8LTU$;C zg}0eD%CTT}H|>nZ5agDUwPD_6vaJA)-jHKzv~0w#z{E7dASCMhx;wgLS#Id=?gMED z!k-;QiO3$gw(=&O2`PU;yV|g}^jeH2xSoq!p&G$p&pniRKFh`%VZqT^hix8VmBOms z&>4e|>zQEHaExZP8rTSJiNqm*eAFIoM`Fah!^RgTM=(X_wX`5SQLHz+WiQN~kAu)& z+lw#Iwf2FvrZ4KiRz_O;Iy*UBQWB`V1xX`~R+~sfx?8*Yo1?u>(FSbB!U%IrsNTrB zaN7<C|g(ib$cahoeM_ zlIn1Gv7rOAUv9QhvXT==v|`CkXcAkCyN`|z#o^_MCpR#{ER(CPlUg~CGN&$r9E+Q@ zUMvSOY@9IzFgcJinYk%-qfcwCnZ@*UDa7(8d?`OOnALJyZmN+|GMdfe{*%(`LD!~7k7}*TQXX-lKHX-|AXJB^qb;q_w+kvxFcPC4Ykys~)SdkN3qbMM0cHtroti!!kT{I39 zUV&43vANh7Zrh1u%T~yF&o1mKq9Cp9>)Hv+&7BTY5 zh$4H`0uP6CLdJFvH;ip^t7VfMo3&0`D!Fyvfw)I@-GgjQhzle$*}6z?u`gq-9-S+YYQr3c=v_rxDhh%)?E2Z?vZ?8i}`bL%gL8wA4_JL)ryB1yoX$&(Q8v??izy{1Bi3ux|V2rhRI@;&mO@j5>EG%7P zkKKr~oEb}od!)nKrm{7uO)H`}?PlC+Sk^%78rSz>l@mQ2pV(>tSa%#iL7M6=P%qVp< zVa7M$Yz=!@W~mKFV>EV&6-GP>)d2@4l1fx5oTsRyok-jSRt4jx-j40~IW z!h@AY!1{tDltz+c$21D=`*)`icyHEkQ`E5Gc7t27vMG4hL8EY(3 zit`N)-%eojMb;6PbLneY8|gx#;i2JRv(eP_vG|fg5Owx?FWZn*UHH@~h?Bz37#7<8 zByo3alQ)@9^y##Oy^(BA+{$uy5s1h(&RJW$pJOa(|aV zg!hi3beWx46j$@Dx~$-w%9N%ioDsBfu7K9{k=?3*?9s9cYfq<;nbtDytsBftuHx{i zeeBWFW8d4sSJ>ybMp|%E-6wXBeXL~VG1!-S%95h-y(Z5d?z2@FDHI1Mia6#3Jhe;3 zK%*N_i#>(-MC~BqP<8rhClKBtCChM~qii3FiD7AHVv5q{I3-gQwRN>0^C+75Z@sCI zl*7~!Sr4)i+-RMUDa<|~QF@-p`TZ&*EjadjEmA0sI${cJ% z6ba{Is(^HApA{xZj`T4IZI}RwX4C9SU{`>%bYzp{%`nc&&3JdX7k9pD!@Ft^_MLo# zm{3~=p5PAJ*leTLX6Urf{n4WHVU9hdtOye-+@lIu%vC{_cAUhBoISq~gpoZw(J;pZ za$I2Xi?daDG-jV&BxDn;?uRjX&8^s7n!BydGZXB{7{!qBMYrN%6`AmiBQ9)OdSuvC zsf*+MG+Yky(?);--W^*mx5Y#RXJsydUzlLh%-EJ z#6}dSp}n-B^GyH!rGa?GPHU z)xzN$AI?HI?wD|x8&?H&Ous30uSk-0oCNlZ6JHhE6^)xQeuhW9Hn!KsJMjn?*f^c! zh`=;(cJ`$E7V8B5gQ{}wSWZ&a-m9>yPa^iu8Y>x0Ju>+382k^aJB@aVE?qXi1^1Nl zqympKOKeV^hsisY!?V!~{9t!p^)40n`xd z>FdQtU{{2X?|Ggz^A&Zh2e4Q{_@w~6^~K5qc5 z3%B<3j<4T7u;Tl^aLkOhCvP2W4xdV=h}eMPEF_GV2vm0CClVWCHm06J2%hR0wt|rs zlVwsg>(Ql9Yh(TRI-YuZg}WtripA$gveC1T=CE2?cUIO}9hz5%fwp8_e^NGqz_#qO zpC|P?TgN#rZ>(`H$+<*M+_`MMM6j9P00IhstNVYO;5fjvNjydDvKo9F!yTMmgb;4H zYz%{D7v-jI3m&TC^^c^B)0o&5rVdfZh@||PI#X$h^1}+YA1Sn@3CC182I=R+DBeU` zSi&y!#G|J0`4yB6@m1YDkcF!exmJcxtVHDZ^Lty)PQkd2wKo1vtb3Ee=Q`8zeW~ANjp>7)8eqlE=M6Bh8?(jK>c34^VS8(y2I2e_7T2u7o$E% zPtEYMnlwh3xO{WZyryjd&~yD?6p;xV37=YYqE#SlE3cZ=5+^ z9TPDV#i*O`J^PNMX51DriX2U0$n|2BxMv+0{jjtbq%#pQlxs&!9byJw>|0z9eSNTs zBQ1tgrmpH0T zSTUZyYSMDKwjGuDuE|ukgRSV3ma+E&&hg%lcF?mLI~Idt8_x=!TO99fDbEp(UK?8i zoLu-)UK5XVJ0v@xDP1Nt%Xns{^sD*XDmvK@skV52<5zLa>J-1UqP4E%sBo-1Euebk z^`K*(1~DT!#=E6viW9`!r_OflUeKfl_;(#FVa;l!*#_=A4Zl){uJI7@@UyF$LB>i4 zY$s@|(GXAn9TdWst+`49uv(hx6-pakvFE{aa=CWT7-}=Luq!(8>MREs*J?sr9CSRD z_@#W6>{y1m+@W6R$1e~7wn;j@71qXK6FV_wT@$E%pz|QE2A3yTf=pDh%|)0yrvg&etnnrmhgl1H$l(`7J9J7TG;%*0fwK*4 zHz&7hSj~yQ5#?5voKO$RZuFjQv;&l~H==#^Nffry3?2g>jRYuc*?QDbo=Mio-3S}F zMXOH!dPweegb5XJi1bK1Y>o6VyF*%4!ARX(pd$)T2Juoe+t*LF);iGHGo#0SBjk7q z89n0vh>nq{e(T*sM<=|r`l^x7)SWZ*q>tP|P4l|27-gW4pU-Fx1KkMfTHwMQCI>Er zfbN+P7`|Ey^tppnKp>PE69Sh2_XSBf1(Xq_!0?q`B{zH*Du6$HmoMmIO_Ku`x(V8g zJQ*NP$RGX+n2*W-y8zur{>VJH0T#f>X-ew@TA+d3eH_;e7*tjg$kTKkln1ma-0b7H zxc%T}=E3F(fstAeGC&x9jO{@E;m24Nw^l%2yH$gGHGEgVqf|l2=5XVy7&H{j)pRW{ zy{SoT`(aD*vw`8~t!gMfi(jt^9<=7+H)pG+K}OdOi#^ZU_Mo8p{w#jUm(CSo`V@HX zS&@5QH?mwFEeqdE$U^ljwq;w!Tn)cmlldb&7Fj$(S$>ZOO+V7|hhK!y@XuMVU`0VU zw1L95TC~8(B^e$V_^dC;ZGwprW+yyb;DI!Ys_uw}9CFzjxC0)Jh2gvO!l0XLq^rfi z4ZoUAnxoI$RSenivzbA7U62C&8t1@BKZ8LAS2DO3VE7G4kL-u^8(z#zgiHbXQ012} z^9{Wi!_71vYz4uXLb|x>4S!H^A<3~fauB}B!Ph!+auBz`Z|6oNo<0X(a~JSE555FO z9zbC0fz5eAWp~m_{J|YGjyNBFHp>cN89AXqeKv={$V|v^Y{3<&5E#MVx6<-Q9uJH> zfoAeY4(9+tySNFhhWSYJW3AAH}2b=XO z2gt~R0yM3v9t#W~6DxA;Av$KcBrj}Xjt`+JCflZOmht#yvBz!E z1H-Rd-F-JO{4T3wf1;p#@Gg3mmBk}4g3#D(@Exln;?YqN8U2v4=6Oqh3LugV7xZNb7h_k%OaMwD%z@j zs?%WD_M@QeM`~d&iXpbGR*C{q$%m0=(`m%+nF?X~925!(S+a z|GecMPhez4U?e{}nN=D!2#@>P& zE1;S79&?u_E59!G9>XBvHz-P)4)iHQ1O0F=J1?nmc{$j#m?ARV?f{)(W@j8NGPbVe>N*C7b#WhVes7@y} zTPMm&AnFvYA^Aq#IIWgyRM?0w0@}~dt5Hp!q4S>$+lE82YNe!Q?4f355VDm)+p*&L z>baG{dYqN^#Up3NB6w{m+*KLehT#)tIfGhc+Dlz(Z3Of^LHwU+A$3r1Dtj?{jb>X=VwCvsw&=>YBy#=AZt-qP76%g|^Q%`N_arFg@%LHKk>{-Y|H}V=@c{qr1NnQ)!|6R%f0YQU@)$bHt;OfuL--p&*u2?4Wv&G% zZovUv3*agonl<6@Zvzg#T5w&DBfSkG`ndbQj;n9%^Rml7>MFnd6BzGm)uw}a>SrY` z{F@^As81aj;tMJ`!s4eR{4-N(rHLI*-i4i#rcE@e=iGLwNzdEh&EMc9u6qyCO_O3wwu3WyLqOomM|P-Lx}m9 yXx}c9I<>H#kI=gj9bNEF>fqcSmC^O=zW!fv{gV1yV};B9udwF-8S#JE1OE$JyGND) literal 40448 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 diff --git a/Common/Defs/Genes/GeneDefs_SexSpecial.xml b/Common/Defs/Genes/GeneDefs_SexSpecial.xml index 51d4269..3b29889 100644 --- a/Common/Defs/Genes/GeneDefs_SexSpecial.xml +++ b/Common/Defs/Genes/GeneDefs_SexSpecial.xml @@ -9,5 +9,16 @@ UI/Memes/FleshPurity 1 - + + + rjw_genes_aphrodisiac_pheromones + + rjw_genes_special + RJW_Genes.Gene_Aphrodisiac_Pheromones + Pheremones of this pawn induce an incressed sexdrive to others nearby. + UI/Memes/FleshPurity + 2 + 1 + 1 + \ No newline at end of file diff --git a/Common/Defs/HediffDefs/Hediffs_Genes.xml b/Common/Defs/HediffDefs/Hediffs_Genes.xml new file mode 100644 index 0000000..bebfce9 --- /dev/null +++ b/Common/Defs/HediffDefs/Hediffs_Genes.xml @@ -0,0 +1,27 @@ + + + + + + Aphrodisiac_Pheromone + HediffWithComps + + Aphrodisiac pheromone effects. + (1,0,0.5) + true + 1.0 + +
  • + -4.0 +
  • +
    + +
  • + false + + 2 + +
  • +
    +
    +
    \ No newline at end of file diff --git a/Source/Animal_Inheritance/InheritanceUtility.cs b/Source/Animal_Inheritance/InheritanceUtility.cs index 1996589..ee5c664 100644 --- a/Source/Animal_Inheritance/InheritanceUtility.cs +++ b/Source/Animal_Inheritance/InheritanceUtility.cs @@ -47,7 +47,7 @@ namespace RJW_BGS { foreach (BestialityGeneInheritanceDef gene in raceGeneDef.genes) { - if (gene.chance >= Rand.Range(0.01f,1f)) + if (gene.chance * RJW_BGSSettings.global_gene_chance >= Rand.Range(0.01f,1f)) { genelist.Add(DefDatabase.GetNamed(gene.defName)); } @@ -64,8 +64,13 @@ namespace RJW_BGS } } + //For ParchRJWHediffInsect_egg public static void NewGenes(Pawn mother, Pawn dad, Pawn baby) { + if (!RJW_BGSSettings.enabled) + { + return; + } if (baby.RaceProps.Humanlike) { if (baby.genes == null) diff --git a/Source/Animal_Inheritance/PatchRJWBestialityPregnancyUtility.cs b/Source/Animal_Inheritance/PatchRJWBestialityPregnancyUtility.cs index 5224c4f..8160c8c 100644 --- a/Source/Animal_Inheritance/PatchRJWBestialityPregnancyUtility.cs +++ b/Source/Animal_Inheritance/PatchRJWBestialityPregnancyUtility.cs @@ -16,6 +16,10 @@ namespace RJW_BGS [HarmonyPostfix] public static void AddGenes(Pawn mother, Pawn dad, ref Hediff_BasePregnancy __instance) { + if (!RJW_BGSSettings.enabled) + { + return; + } foreach (Pawn baby in __instance.babies) { if (baby.RaceProps.Humanlike) diff --git a/Source/Animal_Inheritance/PatchVanillaPregnancyUtility.cs b/Source/Animal_Inheritance/PatchVanillaPregnancyUtility.cs index 0f5cc90..baa72f5 100644 --- a/Source/Animal_Inheritance/PatchVanillaPregnancyUtility.cs +++ b/Source/Animal_Inheritance/PatchVanillaPregnancyUtility.cs @@ -22,6 +22,10 @@ namespace RJW_BGS [HarmonyPostfix] public static void AnimalInheritedGenes(Pawn father, Pawn mother, ref GeneSet __result) { + if (!RJW_BGSSettings.enabled) + { + return; + } List genes = InheritanceUtility.AnimalInheritedGenes(father, mother); if (genes.Any()) { diff --git a/Source/Animal_Inheritance/RJW_BGSSettings.cs b/Source/Animal_Inheritance/RJW_BGSSettings.cs index 1d5d859..4847d89 100644 --- a/Source/Animal_Inheritance/RJW_BGSSettings.cs +++ b/Source/Animal_Inheritance/RJW_BGSSettings.cs @@ -6,7 +6,7 @@ using System.Threading.Tasks; using Verse; using UnityEngine; -namespace RJW_Genes.Animal_Inheritance +namespace RJW_BGS { public class RJW_BGSSettings : ModSettings { @@ -23,6 +23,10 @@ namespace RJW_Genes.Animal_Inheritance listing_Standard.Gap(24f); listing_Standard.CheckboxLabeled("enabled", ref enabled, "no function yet", 0f, 1f); //listing_Standard.CheckboxLabeled("sexfrenzy", ref sexfrenzy, "disable the effects", 0f, 1f); + listing_Standard.Gap(5f); + listing_Standard.Label("gene inheritance chance"+ ": " + + Math.Round((double)(RJW_BGSSettings.global_gene_chance * 100f), 0).ToString() + "%", -1f, "modify chance for a gene to be inherited."); + RJW_BGSSettings.global_gene_chance = listing_Standard.Slider(RJW_BGSSettings.global_gene_chance, 0f, 5f); listing_Standard.End(); } @@ -30,8 +34,10 @@ namespace RJW_Genes.Animal_Inheritance { base.ExposeData(); Scribe_Values.Look(ref RJW_BGSSettings.enabled, "enabled", RJW_BGSSettings.enabled, true); + Scribe_Values.Look(ref RJW_BGSSettings.global_gene_chance, "global_gene_chance", RJW_BGSSettings.global_gene_chance, true); } - public static bool enabled; + public static float global_gene_chance = 1f; + public static bool enabled = true; } } diff --git a/Source/Animal_Inheritance/RJW_BGSSettingsController.cs b/Source/Animal_Inheritance/RJW_BGSSettingsController.cs index 53a7659..12ef107 100644 --- a/Source/Animal_Inheritance/RJW_BGSSettingsController.cs +++ b/Source/Animal_Inheritance/RJW_BGSSettingsController.cs @@ -6,7 +6,7 @@ using System.Threading.Tasks; using Verse; using UnityEngine; -namespace RJW_Genes.Animal_Inheritance +namespace RJW_BGS { public class RJW_BGSSettingsController : Mod { diff --git a/Source/GeneDefOf.cs b/Source/GeneDefOf.cs index 744eb11..e592100 100644 --- a/Source/GeneDefOf.cs +++ b/Source/GeneDefOf.cs @@ -70,6 +70,6 @@ namespace RJW_Genes // Special public static readonly GeneDef rjw_genes_orgasm_rush; - + public static readonly GeneDef rjw_genes_aphrodisiac_pheromones; } } diff --git a/Source/Genes/Special/Gene_Aphrodisiac_Pheromones_.cs b/Source/Genes/Special/Gene_Aphrodisiac_Pheromones_.cs new file mode 100644 index 0000000..267f625 --- /dev/null +++ b/Source/Genes/Special/Gene_Aphrodisiac_Pheromones_.cs @@ -0,0 +1,53 @@ +using HarmonyLib; +using rjw; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Verse; +using RimWorld; + +namespace RJW_Genes +{ + public class Gene_Aphrodisiac_Pheromones : Gene + { + public override void Tick() + { + base.Tick(); + if (this.pawn.IsHashIntervalTick(2500)) + { + foreach (Pawn pawn in this.AffectedPawns(this.pawn.Position, this.pawn.Map)) + { + this.InduceAphrodisiac(pawn); + } + } + } + + private IEnumerable AffectedPawns(IntVec3 pos, Map map) + { + foreach (Pawn pawn in map.mapPawns.AllPawns) + { + if (pos.DistanceTo(pawn.Position) < 5) + { + yield return pawn; + } + } + //IEnumerator enumerator = null; + yield break; + } + + private void InduceAphrodisiac(Pawn pawn) + { + Hediff hediff = pawn.health.hediffSet.GetFirstHediffOfDef(HediffDefOf.Aphrodisiac_Pheromone); + if (hediff != null) + { + hediff.Severity = 1f; + } + else + { + pawn.health.AddHediff(HediffDefOf.Aphrodisiac_Pheromone); + } + } + } +} diff --git a/Source/HediffDefOf.cs b/Source/HediffDefOf.cs new file mode 100644 index 0000000..9e70ad2 --- /dev/null +++ b/Source/HediffDefOf.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Verse; +using RimWorld; + +namespace RJW_Genes +{ + [DefOf] + public static class HediffDefOf + { + public static readonly HediffDef Aphrodisiac_Pheromone; + } +} diff --git a/Source/Rjw-Genes.csproj b/Source/Rjw-Genes.csproj index c7b5a48..f98d314 100644 --- a/Source/Rjw-Genes.csproj +++ b/Source/Rjw-Genes.csproj @@ -116,8 +116,10 @@ + +