From 0e9419b03996921e2a31ade80a6f2845fdcabbb1 Mon Sep 17 00:00:00 2001 From: c0ffee Date: Fri, 3 May 2024 04:49:15 -0700 Subject: [PATCH] voices --- 1.5/Assemblies/Rimworld-Animations.dll | Bin 46080 -> 49152 bytes 1.5/Defs/VoiceDefs/VoiceDef_Human.xml | 21 ++++++++++ 1.5/Defs/VoiceDefs/VoiceDef_Orassan.xml | 16 +++++++ 1.5/Defs/VoiceDefs/VoiceTagDef.xml | 6 +++ .../GroupAnimations/GroupAnimationDef.cs | 2 +- 1.5/Source/Comps/CompExtendedAnimator.cs | 4 +- 1.5/Source/Voices/VoiceDef.cs | 39 ++++++++++++++++++ 1.5/Source/Voices/VoiceDefOf.cs | 22 ++++++++++ 1.5/Source/Voices/VoiceTagDef.cs | 13 ++++++ 9 files changed, 120 insertions(+), 3 deletions(-) create mode 100644 1.5/Defs/VoiceDefs/VoiceDef_Human.xml create mode 100644 1.5/Defs/VoiceDefs/VoiceDef_Orassan.xml create mode 100644 1.5/Defs/VoiceDefs/VoiceTagDef.xml create mode 100644 1.5/Source/Voices/VoiceDef.cs create mode 100644 1.5/Source/Voices/VoiceDefOf.cs create mode 100644 1.5/Source/Voices/VoiceTagDef.cs diff --git a/1.5/Assemblies/Rimworld-Animations.dll b/1.5/Assemblies/Rimworld-Animations.dll index d8599821e6cbba2569bff8a84a5ccaa35a1684ca..fc2cf06011a61963092030846830eb6c7d04d29f 100644 GIT binary patch literal 49152 zcmdSC33yz^u|Hbp%$YN*q*=6Bwq#3|C66u17%yOhF_w25FS2Ef4F)lm#`a)IN1hpB z3n3$!C6KU$00|C;fFTJaa1+9k0NDuOtR!#)NeBePg)HPIBqZeCz$NDWs`{K+BpH(X zfA9Z&PcVJDs;jH3tE;Q4yU&c*p8auh5s`t<`|lHd4Nv}CB|7wkK**eLXeFo|>iW+iJS4&cuwOBL5Vdb?Y*s zHJXcj@AiJnY3&u7Toce{Dq&28z2N6~*5LCBK13nO>q>4$*kqv5h=Aum7oC4Olk)$$ zrwuX+f8)S+J!f7a`W`D{)SpH{;NJTgQPrrj4?xrqdGm_BfLG?hGct*N8Nj_?MS?O> zye&5%`Kuv1e?}^u>Hs9Ny@Cu6)T8+1{Vl?9%}6D>ED*A+M79pTDL^(^M6@^y*qJq~ zSNySTI=N{|JJB!p3J1aet4VaGi@-wu^zuPB1jfUo9#9BFK7ORDiTs0p$wn}Kg8|M? z=8BS}C!#zyiHXoB(ARLbn6t53WNG?jCo^HDPOYeiUWd_(0VIY6CVqcob%bJd$OXvb zvS0>g(A(rC!?U5H=;g_TLfE0d`Ij%3MCe#KY-oa2#=KuLN;i}jHIi?-hDtgW)AV^% zBC_eRdZw5Tfcv@xPaW;19{_W|=^EUD#vuc`WSGay2Z2pDpn^3ONquv$A)*~Cg90Xa z8vO&~L6nZ6AlOLW=~;d*=J$}zZ)X9&hsWdxEegL%<~PmZ2mL@3CQWBKKMFZvI^i_z zP2}9gusOhw0d&Sc?wA(vG|hqNr9eS+c!H6l>q>NQzUW1bTqmmPJo3-hfo7HdSS}bz zI1QT?xspmQevB>GV`H}AhYDD(tO^R``uaax2XbZAhVjtYpxC#B(MMQ@8ZCb#nGj#f zdA`BAxx5_ZQk3JsG&)s)2Byz6$QrJJM(EpWLgJ7sgI2 zn}b}CT;74X$Q;v(d`%(p_D$f~brK|u8ZXxn$dLCpKZDt$9V;(FQEwkq@)||0DSz@&AE*(U}HWa3mPlFuC%yRxbKd`q0ZoC3X4AQ{_rU&>lpX z7XzPs7J1zA$3XEkz%%L&yJZS~*sv8e^ElL;$65)JKj3+V`RxYEgN^4G274|8yad3OOt75BUVxaUluLc_KNufD2dmb?G31&bj zITwUemOL640`KxUL4bE(yj*G69Z?6tAhsnY=C8Dt2~-=VSB zM?_?buh1|A8jjtzfDghf*j)@Ewh0SCBx1ljEiLEu34x+vodWAAYAlPmVy7Y(Md%VX z1{NT@#ZN$94t=@90g)7*Q5Cj^@BV*{I<+=Wks6UJJib3uVA{XgH46%i2Ee5jz zM8;TzxPsECwN#oAo+@4kTQpg&7?ch&sa`tB>eDY~6H?KpK7wbdVl)zMEo1i6e@VK* zy9SeVH}4bhbScgw*eH5ii_yQNJT?I5;?s@=4r2Ars_{^vgHkwl88-QOnIIi?146r9*%87nyCSO z)bxZ+>rCb&f^0_al-=*Y|2}4%g z+22)I>DyfC9Pq0j;*uCY@U4SMIF1)C#}Ina&* z>wHcsAVrZ6r4lzzC!gI`9EEmvJF?~J4y3V8P7+8)aDkL!E6fM+-uySw3>*P#qN!9p z2fzT>Kij_8t4+KM^{gb4CeQw}(G2rPfY_9@H7A?EiW#2$ z5Z!2W??*R`s4whu+GUxd{;Jrd5$j)3)rXB+dAR(8$E_kPTFIxV7EDdhuooPh1VM&)Pe1A9=r52LM3=L3Qo z*uNe_sE)<%B$sVEUxKAh-=W8_vS51a&jgXgG5`kqkmQ%3`TUXyFE==6Q2ZL~lLwj( z<`XG>Au3-4BqDmORMQtbIV`Dl5QB9+BKBdlwHMVS_US=e2>Y=HU(5xmsK)CdBt)ZQ zvz@|howyMm8RIv=IAM1n$BuESC14lpM`PtNI7;wbP0w5eJxR}F$e|Y;>p{IL{xMwE z0If!hi{PoKlKHsy!&20` z0TaSP^(2&$z8E6Z4{?b#i0r_APA);xhm}G@%rp%}=D-l6hmlwZkU(Mtfsi=Zh~1VE zTLw<*)R4!(C1xy+L>c=iaB3i^~ui`P8E@ws8K~`96nD%c&s|X3J zDfL_7a5*ZZ!a7uZ1=s%w64=f_6Ubt)FJ4(8(K-ibT?v9D&&gDhocWzh{1uD z3Pwz-h`L{{vKg41(5pFA=6R9E;!Ya&J++J~sf_8oB#dvqX)R==3$n6_M%l7#2b; z)4CS0gi9C%fAh;q8>qGd3fpbs>oQEXA{ zE!1vTaaJT%W_=v3$*uy5;a%2Bh0i0jt_O(`A_aQX2A~p#xXp@S zBlE!#cJ{;)nOg20=AWB3Lso@y{!Tuz4!>l56bXG`n`Jgpm%1Wm6C`-b&7 zHF+ww1U&k{4D{}pQRHj>hNB%c)dn)yGwX%NqlVkk`PdUIZUVP~Sv(M*M9we6#3x_a zPZ{1V9ATP89-mOSWanpn3Ut`;;rI%NSE@ZWn&uySY&+m~4x%0O&}nBsoV1$gSOzfB zzYDhMo584lh)ZHvTN?eYNvED|o{N5z2XVPDkI%+fMxT-qli%19^mvc)>7s3=`2=V@ zM!t$IMLvbKJ`MIbO~WeG{GdX`FhGsAkXf~4hvKll{}8GS&Ot-iXU$cQllW0Fcrrg? zw{q8~FP=<8?=68LzPm(jVWy+6(U~S)ZOGkB7#rCVEp{7d@%W5-+^!yX;1N5FBz-56 zfXB4%!jn9y`RqtOi#*s4eXG>^9I_1_0E=3z&ofEvZlu;dNMx-;&>rz(V-F*1Z1Van z%zKkVLkz_HKfo->XTki+-lV8y%_58A1gl}zFVPuKC2Eb zI&}gHRJ{G3Nxo~~>#@V~T3^n!A~mtwN_C?dY`F5|Ib2_vN(**;*n7Bsf(=xKeTVC- zQ~gphF^t{V{a|Nn_bbRYM2x<1Y%zWs>1pjQUH(O(clRO&^UdYlSS5}TqWR1JRA zlX{-(6y=i_Ipjqn$%{OxUom-c>@hT9OH>^Dx{|1PH|Xa)!O0R4DTyusa%?VA5)N=I zANvOAQ-1{`j@!dt8SL0Mfy5yG1L($Z>U}&=Qs#0NL|#yZyhJQ7_N_efRn_(&rxBG9vt2NbC3+eNBbo{M65=bv51}S zLo?~`0q-|s-^auH0oPIf&qb?2H${AYt92dr$kJA+)N-kP`58wcqJe+aTd zG#W$TW?;?aD_{6kov;Q`z3?5)wjSs0c}%%BmIt}Tc9n0$GBOD#=o9q5)6sX{337Df zB~@e}u4fkj_Tfi0q6TgYVXP1LzdwS2elnY)X0C1UK^yS4SY}_c_r|#$uAE0mJEi3I z=+^n*U}Zatb@pji&1sN_rSuM94VO(lPN39|xY%$H{1`ODkXbX_doave#Ef|0?|s%! zP(WcbH>G$p-ZZ}0C^q&mJ&K+IN$gpNL0CC{nSStA!F*cJNLp{~-?{Qnk?^)LpVk|D zu8^-U_B}Q3v`7+=Dps6k=uTNx%h9aTZ&kHIU)-M3t{kLA=W^jxF zBPWs#3ZD`*HBgpQ?3W-3`(rOMmqHy-vAbepc{I}Ku0TTJ2u};BRpKw5u+ zp_)#$4(Pe2B^D(a%c19 zjEjp-z+8k2z+4o8n)axtb2PXg!Z<<5CCK-k0sC)SrHJx&jf@_61qA%MM`Kg$_ypzF ze}K#-=7mc*XcA}2@Y@*N`hnL_RIzoCAAnw05I=P5*GT!I_&0dQev1SH(8X^aSij>E z&b%QR>-X{)7{X)VKanWqHozgp{=h{_Hl^Sa8?uYo!tC)7?}8R>{o^DR<_6nVd&8`X z*-qfg?7NMo65aYE+Sval5^-N_Gvva|$nNslwp?VPP9yZro*wU<=z}S^D2!z+0(`(6 zU~u5i;8IZ@dkc@C7q7!$IWW_I0ThdZs=-s?wcZ9q>AxW@@`2(9Oz~fU2LBt0XPi$F zxID2^)Y!oL6P@?k${zN^>+{tPgv6134bI9h8GMHs=BB~~oFiWa8);JWpzmf3baPN| z?K_AJbci7oO_?+=0kZvD!Liwg3DXBjI9TS_2~fBag)rTB!QHR7TK|KmGXt#m00cdJ zj2ZEWO^vcRb;8Ui!~B93808p5Jz)C}aEN++Vu7Am8M+!PN5WGcQ4hjvll>aRW$!%y zF|Z&nL+mHr-e^&y%L8BR3;Pj^6~*oWJ()2C;0QNyqHDd+>_d&a;Xl#7KN`k?X`b;f zfhxkqVzp!8*?z~uYhX1No;yQmN=JF~)!31Tj+MiGWDoNs7Et@~_i5i=t%SS7;|gD- z>~Q~ljDoIafD2q=6;K8SnGXuFO_sx^)Ho+R{00IJ4*P%2&mpb~hrs8T*MncP8h07E z*uAV6DBlg95_4d6#R9JIPC=ex*ei%*hbvo+$VL0=7?pY zA2fa8q+@Bs3ue7OxKBFI=WPMhKY{x$bF0vAqODJ`CUUa`m`@63JN%G4hDl<=N{!4+ zq=O5YDW4tP2A;t1ew}dxryx-mxgkoq-H2a3EKq5nu|J>0@&X%dT!GUYA96+H8nrj{ z4PdP@>@9mWZr=nRJPkNbCBX$df3cNgtPrm$M)BI(1)&nQxSQZ+V`&MOJb7|96 zxwD?lklm|f-w19^(^Nz_5CE%D;^+h1vg6`mcojPCncHF4LLVE3D1*#Kk9}Iywh(6l zrwcqUk-lhw(8j3h6MiR#9 z3j!-MT>`)gArbyI^?r>8i7V!N+=jJ!$8=wMOw9Sc|EcsAjcsL zqMlPOfDfm6_lwjou+)fw%)ud++FL$&i7mBvfH9+__8v2TIfm4VIx97YQH4@_`Q$iH zY6U}TuSm^>VTBt*YWQU(wV7>!qwP-IcnZS8fxUllIe2&m79+(3{uv8d3ba**gk3rY zOJeCN!~u$o-x+EgSc(c__|f9ViMlHsEWiX|bt^$pic;L8VISrqEL;4p0?$#g^W}MV zE2Hd0Mm*TgI>lqoR&L^+_@j;n`8_2*pq3z~0?|q(Ube{N7P}IZG7GRTRMX&qYhWB$ z=>sg)?2t?Pt`BhMC79q@FnWTFIWOk(yjX*Zm>2AO#$(-_t@_2-fmKM9?}<|CCNt-I z=KY0@M<2*iS(OkeIPU>q;X1%aT~e(E18V{x1f3VBUqoNnp5e8tfE&aNhqvV=eWEh6 z^?3R=_7X zE{#Q=$fYgW7XdK3PASHpS!VrS6*^9v=;~LL-_vOx9XXcsf&a(0fdy6hgb%fi>qgne zLdP~(;$zzMvmyLC)<^l^dVa(vp_}Tx+_N!Mhy`H7xTL888deDVled{luqgw^K6an$ z%I%t9z~!cE^gf@*fp_$B?~`|C;HFE_4s?w>rUEYYE;$K6ixUd?O+cTDaGVO$q%yvB?lw+@%LTF={p>>f5c}J&W*w}fc6=TPN$%q zlhj-i9}!l*!evbdm74KTCciee0V5M=EOE*kQ7&t&3KN=`DTfJIEp>ha29uS25aJFx zS@CD&01va8t8NYs%5-dlvIS~gmxY__Vp=-yS+Q)Y+6d2M9n4vmhzKgEr5OGxc8H5u zY&fN6yVHDsat`>;W0}%3fc4A$iNSA<7#<6INI#Cb5H;2i7`eisQg)93_WFllEDTymd-aVW68rc!0T z5@g_e6(y*Q5k=Q#V5dG2JqyAed=YFg$m7ZF-V;S23Dmtn#ZHDm!;Fv(vAhS2KA-we zw{aTUsIl8%6Gt1<*!{36@0Np;*gP~5HPG%NG!r&r^SMdRWBfU8JO!|XI;Tp8Wq2Gi z$e$itz{pE5xsB9H5A|YWh*+nQF4@MI+kkOi2D=1&n^Jqq0|5WBn+dd8Pu)MbyE z`VIuhod;jSP4c0z+#ca%coFk5Q*Rbhu`pv$P4pM=V%3d7wX%?k)j0-LPazd6VGOFn zg;cDbF{plANX3d9gX+CPDpv9sRHp~e|8WLc_5C9E@8h|Q>Jm&%c0*u=ddOcmR~#^yXCk2{T)5uO(id%V7|*TRkr2z*`blJ4~8>`?|;jR4mDw}k#zS-5#Xxgv-qD*$|FJfbfZ?fg>*uhZkDSb3; zmWrqFvg;@gs&6jZgLW68-Sn@Z3EsOOz_{VgVGsd_5nGD(u?ct?W$9(eTg#E`zZ^yK zHs)o>95ereOIM(veuztAaQ=;`bksrPMT<%7MO@|pGu`B|uR_G;&|w%!j$KZ$D;pzkDAuIb|4mWVqAD6)2Xc}izp{oe<+Z`$ucQD~R zec*gxV>N6rRSJOMI72eitI;1mQdheQ6_s%vJ1Bb@p&)bA(`SHikl6qe=LdQ)bo$_S zDO|&a9h|kl*@auH6-n*cMB%Id=xWL+sHcx0(fGV)?g0p{M3zGd?k;KkM(llcf#WVi~1CaTWdKjxx zX=&^nrrw4`#hYiLA!%Eh6Ryu7s#kL?btG435bx*uA@T@fer1y1h~d6hWV_Zlje9pH z>9`T3c1MFcULlh1kLozb-lzNlud9|%pQsOTd(+3K&x14$xs?jQS5P;bZquG zeSn8a25fc!%9Zi+H+stD5EbrvU?0i{c@Rvn=8H}$$_7V|jDsQD>LC zA4CIK`;6Slot`@!8)!jEzVCsoE^6Zu#-GDuXe=I=04WD-!ejOnm(`9=51h~AFfgLV z>Cy^@G$(&{8$LWj0=x%1aDaJZe{N1+XG8kMmog4JI1}FDRrVIVK;`(2kHyh)4n9v; z%LpvYKd>D|E~|qH7PqZNkOWJ|Ul5-Q=ggQnWA@D1C(dV#o4Sy$!KzXR#eEIWl`-Vo zGO1+GPRu?0K{>AkfIG8|UOA6spH;Ww%vBg$`ZM6)!MoQj?y|NEu}n4XtVxFhK1^kL zSDVdWB;eK`!e50G1IJ)FN z+}{>GG2W#8l9mLQjW3~pAnY^g-HaW64={duz4Y3^3i?4Mw|KYC^uGx_ zG2T!26?18#c&W!vr%vGfK}nw${LFgBT<+!c->W$Nh@aEdQo70D{Do!L228r&HPw9! zEi5JajI`pX>p^4E>(bU2TsKDiv`IMM%D3yDt@YCi52rszyXEv^!&3&d=f5#hPOpcaGW_)Ga;E>gU6-+tP z+}v`R)~ae!OA9F*hfah-dVkk;pl_AU^fhl*H+U8UUa@9J3ojovfrO#0jS zGwS^GZs}4_IUT8D>z!0Kv9z52B>CycoAg!D@Qb38f2&=}E`@d)oU(`HGo-&)HdVJ| zp{bJ@!uJfNY;j3b^_lQNE`fgTZ>p}r%cO3B2Jr5A4bIQJ0tKb440nOU;CY2`sld0B zxrHqPjYCa_{=1lYPC!kDj=Gzw`|y@{sX!jcauc8`fqpx#srr80PRpp8;?cc`g)8_pg#31pyb8*VE%3-qy4raY0h3Umqdause9 z&W6TAVUtsrN~nGAYn2&=o!U z7%_(S2<0T`jG+__LC!Uz&-s)QsLjJ=r_f%ZTn~F;XrDlTwxNE3$|f~czm2j%fxZcy zwcs>yzd(PQ*i`*@oIPA3&`$up2WUv3bv0b?beyiUEghc9^;+mMfi4zk30*GG1W^7R z<9vlcZ=${T0DVND+oknY^f7@h6fLc$s|D&q+23gmT_aGd)LVnM`MJH%L6$wV4*Lp* zh5`Kz=jt~Iv>nhepic=@CG)6_ZWZWc%!fVNCfspzz13Bi0f6ohsJgnTx?ekw?h;*} zEPXhS?v}DPvB>l2ODIFMAlB1K_eLN1I0jn5dgwcOP%k|t^*9!3!Ki;P4@%Py1^T$oWf^)}px1?R zfSwmn&jnhG(5D3>`+`79mSK7^uigRrRbK0t(JNAhdo$F#f?h)m^6?3`1WkIV ziqjPn4#?+#%DXspY@b@k&jI^QOt^-+i2ZW5O3evvcxSkp5`$!$`-KbFD_< zv)9kHel+<}VA>{rQ_>?y7y3BeE~%>ZZuG~%+&2Dsq<{9G0?zM74`~k1jtRfQZTGcR zhcu18UGysQ1LNL6dd%}jq#uV=8d~`a^2|r0S)q549w>b{SWc$veWWiUHR3uby1pdC7TcDG#R^6f4j$30b{V%T#@8PYSuj45-C&*uL}@&m=J|A%X?M$Gto)M6PX6_?Y0 zX;VPS^0(Gt3epwhj#eV(r^gDQCly3hlV_mSnYB4e7cCIz2z_Vr$;B?Z+J@eYE-p6c z#XL$ky`D$uri*36a)g-Dq)1(kr-!NpQanAhz=oL8OPlg2`PhR0j<~t?9K@7Ye9NYpd<85cnkdEGpda432!WpQ129O{R+A@ zytOz=A)N3r^hEgl;!?W0K|v3NcNUkC7rRHuskwYRq4g^Tx`KWc?kcXp=2a-YL!mi1 zC9SfdLncG>Y{;D4S3HhdZ74i>KcHWUsL z9#1umA`5-5tPD2+O9i@u_Ke$ZOrTD??8dN(=<5}`?B9y!0IF#cIqBngJ9q+RY$$~t z;RJfdhE9v#Ry=_`&5H80=mW(QsY;+Dbe&;hmwK}e1t~b<~!jTSZ zFpYiZWO{Cvf<9LE94K#}&Csy-t$Rj>R%Su(GT;=rqHhop!Wqj zLfpS8WXzEk#3rT?I*C8Ua|%@mbVR!WQp+%-?1=lJ>g~o98m}m+*LVWZX6&K=q^>nTcG0%GH&r&jUX%_ljaXsCbSFeHY&8ycyPYZPYxbXNliyP<_Ri=H> z{0kuOTyFh{HlzHbT8wIJ=vPx2Qh!I>FMFTBi-Pl{OwETFwJJ(tE-`x2hM00X{Y4<9 zm+ADLg6Ny(KZ>W*-6t{EE9mX1o{~mdz=vCaeq9+YX{HBl=xdWFmCU4d^Q264Ei3>Y zaWAT#Q!N=E1OSqQz5zRd?NwiTR4-xo;f`ZRheTXvIq8vRzFBeWg6 zEM#%EMWiSf68}~U(I=_1VRgwuTopLb=8{G9nm|g<#q@`4S$oN1`gsdes&eP1Yo&eJvU^He z>4BxWdTsP|fwra=QMK=hfq~1b@vSrVeY@wwq6lJ>h zrIM}GCy>(8*>s~_*4gk}$=S4YWv=yes8t|t;kA-;=n@;6S@CAcx%6=x@|J0#^XT(= z^%C^u0_c$f=sN|_53|s8e}Y~Y2)lxDkeHF{{Bu#@~!jD$0&PkS}NC7mV0Gd(& zHD{se{v@pw=rWp%7P{!lHMthL$+woFVS0yZLftf7Af?Y9nq2@bD1eq_q3Qk}I$xm6 zs0uCYp}TNM>hvK+^|(vr79K|nDVi&gY9UQ)1Uf>m)ql;GrUwOjl4>Kb`ub=ou4~z& zJYF|7w3ludNY%TD?o|+dscuf_BKk|VY`TAdf*ZKrliHgVkuqQi9bboC5;p42(fRy zl73xK_NG9}>aL_Io1A)Y_^+gS0v(~}F#E5fV`p;N5n51X(no3BW(B?0@PzSEnlI2N zX*jw)^ij&#(6ne*=wmeVET;Sj}ug5J(TSA}k%;1)&cie4AGk*>C( zitwS(C+S{+uAmnYv3!bFY-LK-znke2fm9!ErcV@<-BJMECD5hxuy#0fGkr6!>>z#D zE?bSVgY;@%*{A9EdG$U`1|LRX&z#Z^hi;*X0x4Mz(Nw#Pxg4Sv8=4QwTj?Bul$^KG z&b)fJQLjz;vi8g3+i0H+&2`-!`V8^AD%@U~ad+r;x>6v;M=t>1?uhufJQroJ38ZAXi~b5tJbgW{>~4C>E;~_sI&?Sv)P^o_{WNqB{Z=3~ zMqi-6=GFTGy=POtul+Ri1#-3LFt@zdWFF{MgVZqBzxnZrGh%|)LU2}fcK?AMv{&N5E7 z6>~Z(#OVR)OLQW0@FCS`WS%kH_tVR{6vw;BYi20qD!{OQT;QgoU++dkA-7$63@tJ} z*F9cdl@4L=rO{dsr}Lp1M<=W$oo=hk;qQkgU7|fh^ya2Cb}~4<$fHsEd;`5JtgH0@ z18Iv}aoWnquc#PVE5}*UYxKD2GoOQ^>91y<%OQ_W-^S?R&Ccm#7d z@o~v4FsN4K&&R(DJJiS}cr}_2*D!`toxTUFQ#RvR<4C-s)aWIV?cti7)#Y@e(Z$g1 zho#EGk4O1pfH|msJv5c`DplIcuXT;VrSt1TICI>9yUh)BrnUi=wt-gRxmNSh(MtXe zMm~|KMC!+>`_ak}PR%);FKLUUt0dhZ=~hYONXrnpG36df`z8H8Qj_{MPQNedt4PPg zgCDJ&OndaBmCba$o`5$$sIwOj((k9VAWxGS^Lu#fQu=OX8{MOS7vA}P(Bphfc;12Z z0-VpDUe}BLBIAc8Z36xExSe1=bBKA~BlrbKAHxm94W94e--@e}_9o6U0)YWrOR7)rt2;3M(-^yO{=Q79q9|;^Okl1=N@~szS7UR_Gnwn?sZ-7I$HS^ z*Fo3mb>DE^;VP>?;(C&9X;`E^iC(|tx}T0#zvjBfRpY}glJ-pG4cA-r#~Q!!BRajd z)_4w*&of@KCI4LUdgNKQX_{-wCS#gdQC!j&wBPu)8gXq3dh|G2#Mzv74|e|FhcNoyM!K`zr1>D)s-WzR!5e_4$Uc7;lRW z3{x`ngz=86tM_fwC5p~)IpDtuNW|87H@ zc@X|^D1XhUGzPE}JSe?*1nEuYBO34f@7Hd}sra+Nz|R;DHGCHNm60!+ zKJ8m2kGnNk2wUd!)vp7SZg|7gwEH4&n(t`Pfae|U2MvCYrkBUck(yJhfO#&^;5kTl z`S%*{Xsdlpb7SBHkER_dpX+%;`$@&AD197ObdY|~unhPxT4#+VJ(YT$|B%^l+~d92 zvsHh;`f5+5>t_u!^w(uxSL#2-?LejeMa=g~{ZZTwSL)%~L)tK2-8qQ5Gi&ca`lA4+ zccG_mx$XtGtBi+z7klof1;tW&Kz2V~1=1TpmwUf+B{ZsC4I6jD z!dZtKeb4GC+)7+6t=uTB9FqK9lD|t@yiw9uW!}A^@lM*O&8nM2uNvmmpZng>csKos z9Frg2_TQtGn0nwXo%h6V>AV-Nb)WB_5qMBz zZ~S%9(iDxo@spB=H)z-!sB~S?aC6{Cf_YA)eNwb>qWe+zvw`ciD$kcawfcA6KM%}z zpI-OJK#ThY|( z494B>HY^GDyC3tc4PNE0AKxDA*Dv!Vg9qKLy=V2Q^{L<;?o`RXpwIYx-HgC0J9|GxU>8O(r1zCbh-8^q*ozz(>0R6UOO0^fwvO^;Td@IpcLr@nvE212_S96 z?aB|eEAZjd&@hJ{;K>^ zqzfwUM0&X538dz@*O2ZVcfL7*R-W*3i}-#Y(mF|(NZKLkrIOw$=@XK^CaDXjH=vhv ziKHEpUMlIGl0G5nYm&MGOuwk)PI@Q2D9rhq2&cDKzJ~PMlG1q2*GRfZ((@%9l5`Mp z)2sB~_yMvSZJKtX)~3a^&u9;5PifC7UVc*9ERWxvn#AFur9xZTyen zcc1D$!`i8_eWo) zf3APA|2qGz{s;W;`GbL3fmMM`fiDM+2BrnOfyrT>le&qePc^-s~lL}yO%g!$JgU5Lu7@fM7ZU-a{U?+*vB2Ujy6zRX?*OE8TA*~VVZCW$Z+qDyr9@b7o zdY3jE>F2b$NblB8#@iyRsRQp&e3U+o`~1i0IeLrcYX`I&wUAz+e_Q{a{(}CBUgnzU zn(8{k^^B|BXf~D_R~ok%Up4+{ylqT&PjfGIpXVNOf5QEi$Mj~r&v<{~t?)3U44nFPr^>l%L z1K^wJWBRACCwK^-NAP(I>;H9hvGEZ7&X}!z$$c_DXKFLe$MAVVyU}x0d%^QteBQ$6 z9|GU#@#$B2oAnmo33{h*r#|fO#^*Zvwf_?Rzx>zhp9tK5&oDh2I6;3ja8#Qalx{6p z*wNm;G@0)0iuW(+il@^v+h@{(mUKF~vu9mm?`A96kyyCBy?yqHj9)mvy+py~3jZtVD9>t_(8~vXN4aiJZ+0 zm-VFkQi-+kOd^$xccoYLBr|v>FH#cC5vfN=H21^noitWGK`u}BbgoEQeZARku+XY! z8?B6J#Kws7mM1gm*7)8Y8@D1A@7E%{xtm3xBh3HhKe>54i zxPHfubV3w{wp*=qW=C?L&4fn@<8|V3#u0d?n9BrX_eP3F4uK$(J?VvWG0-xQ`P~Jk zplipGT~*A<4meMCK$}wWo^)@rE0J2*$?Yuf>*+ZEL|WI^)fL~~l|XjYvYx)~M9P8I zr#cg3S>Q**|U_=pjPC@oE}Uu%FuvJvcm8jTh%D|XY@8pDPk5aO?L2viKqI{pG7O< zscx&Mzcrre*wxNPwlUEIZEQ*<60-_BHH%USi#0WiHYYmJ`&lD;$0cY zUt*0F@5I~fn-i&YVn)j<+PL~GyoSiOuxwwil}_;Z(OFiit82_I6?v z*T$1Qo8sHak_o^$TMcWH+o?OnjqgsZ#_RISdODZ%rBbNQ5Jm_h^uT(+CkZFl zvvU*vkv%vNdl0C5Ol(_!I+N(0vBc`?g7%>Q^bBE>>>y0VcDseO@t*k3MCYbmsRTOL ziPpN>+mp&6Ws#{wx)&pbmRokfXR#irrL&V3_a(bJfo)%$=oF^>EEr&PU}-7|m(af2 zO7^UR-|eJb@iae@J?-guccOhe@*CqlI}>e*1O|w*J_?%Ljf!U^`gh>pT}-5%A*3`2 zDVbj0*RdO!CA$(GySH2W*2K3bx&X6smi1&({SG20LtA3sV$83NiH;<@sg3bo&>u(M z9BqQ-SF~B#ls9N!Y<2c;>hDcJu`;7Y39Hh|xLCGPOAg_mkIZsWs}LPmz%|x||FnRL z79*R1V!Nc`@s}CenCuoqrM+yfAEE=bK4Aj3!!miSI?3vVJ>uEY+l#If`w4qqv{`+~ zw_<6A1{IJN6s8j`O>}g{;o8D`WF%%Yaur1%rY(eEZG(B0o4*1btbW@Ck_4p*|6=bh_oK#no4#iXnpSz z{QI2*pR@}-grEuPOl^Jr`+Z}GxlB0^t^SSgFkNl-0c?(bctT2YjcZ+Su2VNp>fAF0I5kq8_|1LriO9IxNg; zs|#~2nTdC`^y~yxb}HEuvJK`0bP{5A_Gc`FEr8&?GyThYb|!lgGghs|Hek9Soy{msyGLuib3JY2sz739q*XfR37|Jm!rQ)5K8>!v7qD}D>EM++_ zO>m-l1xlbqYGtysGtrZ);0UlB-D0g_NgiG3jG@Hjql=d&(jBR!>_2jaN>x&0W1=g* zPjcy8xzliK3I^Vh8C|f%>g`YQUS_PK?%sG$f3CousoW;o*`Dme+{%?=>^Jl!`Vw@3 zlWDbbyAD+pcQ#=PY8;Ny^ z%kWP}_eiF2|HVZ+3wC6TL9hyAlwgg)0^xK10mInK#g1QaTnXbwco#-x3LOrkvZ_)_ zl8UK#GQ%0}I4{9Yo}ZogjNsg^ltNfO<6U;Xqc3IWl%CiVKpR+h+j%`qFYae(N4x_n zk-={1>H_;ThXL45ZbSsiB?YUc=&hf4g(a~y-m#mo48jXxyOa@dRT^`0mzXBzBrlAG%?pOz zfn+4GYRO1mLNzC^!T=jmHedtF2yLLy%xt8U+8IxGLyalLxWGaXW=d-rmW+cn)`WAm zLb3_KNG7`^NQK2Yy2a)bTTn(Ui6cQoEU|ENcG%K0I)Pu+BN2@FIdE;Y@XsiT1z>Z9 zod`^UGs>bUzCCSqVTqE}4xvuBgfYDI39w%JL2Z5Av^<{dTHk}>9>S8-)rl~W7AFv* z(1t!NM5!LE4tb7cc~^X=+5qvgAzdkSD8x283I&CYz;R$c0=2Wi4^dm59Z65^onlrm zXbOCDAhTSDO;--n*@q>SI$Z|paF z8Ov=;hRrzLj<{~A1@ux2EFD1B#8o{zEIZb;v)$VhDao$kb0HP72+TY$N~A2A8tHcS zmD0}IcrUdf#Mqu_Uz$kt@^-bYi!iQkLI#Jy5O#(Ub zNAr@lUGY?}wA0rs2PbXZFIXHv4#1Kf(6|~6E498y42_G_Q3j&yJ%r`aO0DbTjuF^l z+f8jX+^7zdoI@os$Fwl!@Mm$~jvc7vL=Ai>l41+sj-_NG z;sj$m%oAr0HmqE#gDUVzJecjg{c}nMfhn5mcQ8Bv*n&IUHj1=uecMOjcw1>BN4249 z@jlX~V6NF7+c>mnA5V(rd2z>S67||otibDctW0!aN1x|#0Kg?dkI0B^$yfl$Em^q} z5;;x5ZoN0rwu=u-azuofK&^13ocM-5Az(RKKcH>F;*-HH84-Xzpq#@TwNjk17bz#m z$wN6I+89MD3^{JW7ze$?2Sd)*PHE6NBxJ3r6CKz!pBgIRXjv+SygFo2M=7ko<50G1`eWqq-?T58WWjUNhYn+8>vx< zaklo{v^~jk&M|vlIKv^s9&3SZgE+Xv(PDw~T!`~UoV>|F_i-5JF&aV4-upsP!3>_@ zyl!G?&YCh`H-H2MFlHR{r~{tm;tXg;hm^2QsR$5c>(v3(sx);WBtY%;nOzBv`_sHN zNjtq=nvC!4!45guk#^z&2@Bfu53thejIpJsQ?PuRl_m*v(zLw`9-#{XYyw9!9f`D@ zS!LNf5vD{>R&QG(bs6Ez|UG(775GC=CQ@ymBy*Woc4C?A-IP)U255f92OalI`bq| zpcDEi2s6DMwgoaiqq7$$KD`2~4h$>SeG7SB9oQSfHFu}kF(c&=9N{}>3TBy1c@6?G zxT8Z>zLUr;06CI;98WE0ea@O<-n4gyB_Fk5;q3NyKH1C*meLYCa3GrvlVrBp_oHc9 zZKPY4Z7zB0zKtMpb z5T*{WRym%s++DZ;m@o#U4`+uR88uPWa_<-v?1gv1`NqW4q zt{Bm9p>!kH@e#yhN%A)C}2-4d#P5KJq(nc39igCdlQMCcI@UyBQv{FeQA((Fz?sS2G8jE!;F@X#MsJ_yI!u zfDApb56C#jZkV5lK9lTF#T%#%2qo<&_K`bL;#@|}z+CMCJVqqq1P++yGjO6|vs2So zB6&N@7g2V$1^cQVb|f~;PF5|I*(keRsm3O7W{M4Nw~yUzP@?D^*wQ=Hh!?YN)W$jc zQyX-)i8csL**SFD&RKFHY!7Q!Vn;@~GKA5{f-KuYZiBhle(yvs;;imvYNwgSq7v+a z4|5UFq(%Fp`c`Z_c_?^`%llK_Z?d`ZNW-1m0aSuNWeIs*(ZOOYY_Oy4VN&YNBWPM>WW%ckrdc>_d zlQDJ-LlN(m?8t_!FqjVvS?$A(u~_BX+y{{Tt1Yr#K7d_*tNEl07S6&7tX>OHb6e@Q zeF@^xj9j>`@4^1d!uTXFM9P)fY2?B(f!M4i10Ax7q3{hYsCjm+!JQ65 zJ_JS>XSR+WKJ!Ej+qlI<&H@6Eex};P4uqVuam&vZ!j?f2A>I1rj(_QvAtFW!zM|kaEJ&v5ynYLaW z*a)g4o`#ESM~uMl-{9ROIilbvTrl1Yp?&-Ik-WRJxSvl!*2ecC!+P$gmQ*U|(S}zMwFy?G=+Fm#Fj5U?C_(d|r@Hkp(b)a4+ zla`YP-dOeER89>8j)8EE41iy~TAy0h-HSYQiJheFg3?QqDc~-W_XwNg)PrwGb>r8= zGI&~m(s-dKiL|Al1V?a0wPRCr%?`ZjoIWna9{dY13Hean*gP29fq&D_!Y@S~ubm4~ z$}J^`wiZgqa<`(Ug^<2}x`(t|WomU|Ow>_h+hK#};6Qaa(ox}~#Fl9JZMDm`0N zFFjlB=h^C6wh=8On#k%zc>5MezZUW<%Vi7jJ9!rR2w#RzFC+%OVgYPq419C}Xm^NK z6X1#8_aG{phPQ-I7=dTLY>WAAJAB8$2bcrv8Z@W2K#E?e&1q7kPe4=a^ICRBhv!tz zZs^3(nqph&mEKtxb8e$oddB+e#6Lqfx<(u9l1p*Lj88^%$6ChRzJxJd_^_3+Rn&l6 z9PgX=AlD(Yi|es%cA-tSBrf4m9Lt7kKxau!ZjsyI-tf%AJ0p;wra-G`za)jbF#*(rpGcg&jXbb zL)wIA5>}Th z2Wb0HBSYH!58~>yrE0Nl?ZmRDtW7)hgK92=9mQdVJeBj^$|k{Tt3If12U=j;=GoCj zE5L!56?SyEJ_at|k+dH? zej^w8c1S+oL9&RUu}l19yEcE<$^F@D^Ot#m0ynipTH zL$mWcW0Lf5#b^D#lbY##cj97$rA;@p*WySr%EQMOL}NFNj~o z)WU1S8{CX54tk8T@VQ!~CQ_s8imb+q+Q3E0R7GKrD>7VD7LKEyNkjd+a6a7!dsN2j z!k4mLW+bWFO`;J!O2HaKi}XjfMg}88!-fZqduwzg;i1c;9(QEuD(TD6Rmka);VRT0 z^eP5JSD`yl&(KxSp%>inqu3ssS~tC;YY$x$_V_@K|Gj#6=z9EHmwHJK!=PU5G4i^g z<6DJHiT|THLQw+~7kS)X3@496f23bYg@?fCN~GWIae>V6An}J_7%cBZGW=Y`1MD`; z$nf>7?MQzhq#0UhBH{NPbr-%`jE~n0X;eLtkgWL2mzdNew z#SnGqkDR>Y#gE=1UtI-L5YpjN`=N_*gV}H?Y?@7NxKuSWTv}42DfYIhp}(w<;cq}A zKH%=d@RkNk(TRyX2`YgW>_iIA^i)FbNRu8Jx&}7Dst2vER|D%EtAxcI77bs8G(7yc zb9{xT?7$$TLfB>31$TkKL(=`fBNVVtPCO0(RgJE>Wx-2|& z2c-EdTkU7{05rx`8TRM00iMl6x5CJy8l!Jj6pZHT3Y}%dGJh7yFn(8uT}62KS8x#F zwLWK{Cbk54(%Ix0a6@<}c%?oa8==vC3#?Z5oq37X(X0qeqeg}g=Z+LBS&c}K2 zP3am6df=>37G!UZTI`Vzl(Cx!fLu`AKfe4-1zqws*AnCpg725fx*yCG{E}DPap#hF(j=D} z=^xP=H@bXzD7;qw$Is)3*Lu+Zp?`$e;#=4Jl>gBnn26s5uVIZR8VZK7ND?xlmB0CF z^dMRWKlFmz4MshFFAJ47rFFJu84?*ZDANZcjcjG%pct4pdIGEEKaV{LSjSsgGobcj zApwM(=z0~aewD0V3zWO6jtukvA+Tpe)-J?JN~4t z8T&c(oLw;V3)=(zLj2h;{2s8w%pOka&>MG44F#A?BpC{BU^o%;KuLvS|1L80JL$l1 zA~L+m;bOD@o!t*Sg?&Q7!wDE4I>E+Q3Z*qghTc;veq^{CUF>GljU3p6{{uA)D^fp4 zH&U*9Yanbls>4DK^ogY(=tGX(Hpqv&O)L~pEiY1H*9Om`xi1gb!RE*;;}S093^&32y*~m2==K4mNoyk-*2uQ-?IeeemzAsz0r z7Sk8bKMwC9(Gko~wBE1M$RgcEN6#C4&DjY8;jDlg()h zTMvBu7Vr2FYw*BLx%nz36KSI6_A^062><$UcH*EC7s3Df(D~u>*;|NJUG5m_<+g!b z4rh#sDc%F36d`tt4A+XF!}aXO4%~{FTFf4y7M=tk{%70&EG!E>AFeNAhm)(q(Z+#$ z;H*3b!bH{TX?A0$vGLrmjOTvj!em4aJdV}87#{GC{1H1GJ}q+K`?^^rgS%Ax*t0wv z;@s}@nAQ;Sa_?6!+P1lJ&MWGt9W+fNQ`{j|X;FXBey)OVnc_0TYw_7&<7({Z6jb3r z-v*N)-DBtbkzd4(mI5I|3}EOHVEdg&{BfIfoBeFHpCS9X#eVMMn%6L|D$c#YXm~a( zbRy``lU&3;bm-d->NzL#3r0WVK)?n2AmP&|oIC$h~hPpN%k3unx zBH~56zZBMIPeGxV(Je>(G71^_f7&~r-!_UUj?dZ-wqmDUssI(D)e03U63%LEoY)*J zwW6si6@{QiZ5#=rCN@xTlPD#WWAfj?jVlK(NWF33#+CnobEW>^^PSmWP9joj7lFiB z-W~7G%$s>{c4pS^``%o(ubq06V$DoF=3Kv;<-|2+PY-%Lzuq)$u-SVR$j4DeN%u_m z{7N+_y5gzmY%s+P)AL<*?Wt0sgd_pQimj{)K4$$;@S*NA=rAT}boO~_nd}c9S!rrz z%?p4_L8>Qyft?+x+#_Y-N%4Frv0^ht3Obz8FKW*E48hJ+xyp(0<={v6bo&LI!@%p; z{8)-?@TGBcrp$?)4{gqahnC3U0!3b67o|kv$=Nq$w>Z$4^6KGIVFoEBozF@WvUh6% z0|v9mV>J$z(nl-4*bw(pP2288<<4=mYxSy3>q{78Y zX^xJiLyrUhL=Zdda^o%bx8&`SaM42(v|4!mHsEbQKB=_=rvEz+?t7#wdrEg6H?1eZ z4b7Cj{f1}GrACCo&))|@GipZY-aK=u-Pnv4`t8R2VtcbW--;To`A&1IKi}wVHKRLQ zQK!@VjBR?L)L{QXJ_hfX=FM<XI;F+GIYOxrTCH0C(UHRIWbzC3=un9+?KJ@_TOx8;m!uP`W!`Acl z&$5G+42;>BbkQ}7wojZ$yo9QQYY|M_;D_7X5La?=nQ?eh&AT>{U~i7HJavUK4w0HH zlkj$BZNiLUo88F@whG8{e>X<2s}bv?jevPFnMomH~}u)VJ;nyHclU| z4u^u`Id4USfwhfQj%V*s#!)i)qW%SO?H|Y*#+ZZA%4qRp3=589*Ol%%-?iV38M2g4 z!m!vPdJEOw2FE4TzBj=jeS`vPgY&YvMqJ^i(jQNqUqCmyyLh}s4);rZ3rd&^SBZO+ zDy85xlz~!FOPMBYlmfdoaTFlqj#bG@U7KR6Y>FRBzfdUS4c8NO;_;HcvuPsQ?LIA3 zaqxhhu*46cX72HESQe&38{W>{6Ygaj72GmsrAxvJp26`=AJ<$eK0xTU9=jv;bc((Q z(AlGneN@khnmB8Z=titjv+{0H-kw$cN+GS#VE?!%{TdY5=SiQaABB;Ux;m@n^U)2d z(U6bi&pQN4MI2Muk`g?TIQuz@X{J-lEn$qZYXRQP13pdarZ3ypQ%b%ZCqXH{h4R{S z*g?`Mtl2h5)hrr!<2EEbRf`8=yf literal 46080 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 Ay#N3J diff --git a/1.5/Defs/VoiceDefs/VoiceDef_Human.xml b/1.5/Defs/VoiceDefs/VoiceDef_Human.xml new file mode 100644 index 0000000..89c2f3e --- /dev/null +++ b/1.5/Defs/VoiceDefs/VoiceDef_Human.xml @@ -0,0 +1,21 @@ + + + + Voice_HumanFemale + Human + Female + + + + + + + Voice_HumanMale + Human + Male + + + + + + diff --git a/1.5/Defs/VoiceDefs/VoiceDef_Orassan.xml b/1.5/Defs/VoiceDefs/VoiceDef_Orassan.xml new file mode 100644 index 0000000..0026987 --- /dev/null +++ b/1.5/Defs/VoiceDefs/VoiceDef_Orassan.xml @@ -0,0 +1,16 @@ + + + + \ No newline at end of file diff --git a/1.5/Defs/VoiceDefs/VoiceTagDef.xml b/1.5/Defs/VoiceDefs/VoiceTagDef.xml new file mode 100644 index 0000000..04651dd --- /dev/null +++ b/1.5/Defs/VoiceDefs/VoiceTagDef.xml @@ -0,0 +1,6 @@ + + + + Moan + + \ No newline at end of file diff --git a/1.5/Source/Animations/GroupAnimations/GroupAnimationDef.cs b/1.5/Source/Animations/GroupAnimations/GroupAnimationDef.cs index b49f14d..fb9eb43 100644 --- a/1.5/Source/Animations/GroupAnimations/GroupAnimationDef.cs +++ b/1.5/Source/Animations/GroupAnimations/GroupAnimationDef.cs @@ -52,7 +52,7 @@ namespace Rimworld_Animations { if (context.AnimationPriority() > priority) { - //get highest priority context for fitting animation + //get highest priority context for fitting animation, and its reorder priority = context.AnimationPriority(); reorder = context.AnimationReorder(); diff --git a/1.5/Source/Comps/CompExtendedAnimator.cs b/1.5/Source/Comps/CompExtendedAnimator.cs index c9a83e7..d86bdbf 100644 --- a/1.5/Source/Comps/CompExtendedAnimator.cs +++ b/1.5/Source/Comps/CompExtendedAnimator.cs @@ -252,11 +252,11 @@ namespace Rimworld_Animations { //all voice options List voiceOptions = DefDatabase.AllDefsListForReading - .FindAll(voiceDef => voice.VoiceFitsPawn(pawn)); + .FindAll(voiceDef => voiceDef.VoiceFitsPawn(pawn)); //all voice options, with priority (for traitdef specific voices) List voiceOptionsWithPriority = - voiceOptions.FindAll(voiceDef => voice.takesPriority); + voiceOptions.FindAll(voiceDef => voiceDef.takesPriority); if (!voiceOptionsWithPriority.NullOrEmpty()) { diff --git a/1.5/Source/Voices/VoiceDef.cs b/1.5/Source/Voices/VoiceDef.cs new file mode 100644 index 0000000..9dd6c0d --- /dev/null +++ b/1.5/Source/Voices/VoiceDef.cs @@ -0,0 +1,39 @@ +using RimWorld; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Verse; + +namespace Rimworld_Animations +{ + public class VoiceDef : Def + { + + public ThingDef race; + public Gender gender = Gender.None; + public List traits = new List(); + public bool takesPriority = false; + public float randomChanceFactor = 1; + + public Dictionary sounds = new Dictionary(); + + public bool VoiceFitsPawn(Pawn pawn) + { + + //doesn't match race + if (pawn.def != race) return false; + + //doesn't match gender + if (gender != Gender.None && pawn.gender != gender) return false; + + //if traits list is not empty, and pawn doesn't have any of the designated traits, doesn't match + if (!traits.Empty() && !traits.Any(trait => pawn.story.traits.HasTrait(trait))) return false; + + return true; + + } + + } +} diff --git a/1.5/Source/Voices/VoiceDefOf.cs b/1.5/Source/Voices/VoiceDefOf.cs new file mode 100644 index 0000000..e489233 --- /dev/null +++ b/1.5/Source/Voices/VoiceDefOf.cs @@ -0,0 +1,22 @@ +using RimWorld; +using rjw; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Rimworld_Animations +{ + [DefOf] + public static class VoiceDefOf + { + static VoiceDefOf() + { + DefOfHelper.EnsureInitializedInCtor(typeof(VoiceDefOf)); + } + + public static VoiceDef Voice_HumanMale; + public static VoiceDef Voice_HumanFemale; + } +} diff --git a/1.5/Source/Voices/VoiceTagDef.cs b/1.5/Source/Voices/VoiceTagDef.cs new file mode 100644 index 0000000..3ebb678 --- /dev/null +++ b/1.5/Source/Voices/VoiceTagDef.cs @@ -0,0 +1,13 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Verse; + +namespace Rimworld_Animations +{ + public class VoiceTagDef : Def + { + } +}