From 8e6918ae70126f9bc7c31804b1190abe501b5e30 Mon Sep 17 00:00:00 2001 From: AbstractConcept Date: Fri, 9 Sep 2022 20:22:08 -0500 Subject: [PATCH] First commit --- 1.3/Assemblies/Rimworld-Animations-Patch.dll | Bin 0 -> 90112 bytes 1.3/Assemblies/Rimworld-Animations-Patch.pdb | Bin 0 -> 232960 bytes 1.3/Assemblies/Rimworld-Animations.dll | Bin 0 -> 60928 bytes About/About.xml | 57 + About/Changelog_v1.2.0.txt | 103 + About/Manifest.xml | 6 + Defs/AnimationDefs/Animations_extension.xml | 5192 +++++++++++++++++ .../Animations_extension_hand.xml | 121 + Defs/AnimationDefs/Animations_foreplay.xml | 1244 ++++ Defs/AnimationDefs/Animations_group.xml | 1326 +++++ Defs/AnimationDefs/Animations_original.xml | 5134 ++++++++++++++++ Defs/AnimationDefs/Animations_solo.xml | 2277 ++++++++ Defs/AnimationDefs/Animations_solo_hand.xml | 510 ++ Defs/InteractionDefs.xml | 34 + Defs/JobDefs.xml | 12 + Defs/RulePackDefs/RulePacks_Masturbation.xml | 71 + Defs/RulePackDefs/RulePacks_Oral.xml | 73 + Defs/RulePackDefs/RulePacks_Reverse_Oral.xml | 63 + Defs/RulePackDefs/RulePacks_Reverse_Sex.xml | 104 + Defs/RulePackDefs/RulePacks_Sex.xml | 130 + Defs/ThingDefs.xml | 18 + Defs/ThoughtDefs.xml | 196 + Languages/English/Keyed/SettingsKeys.xml | 50 + Languages/English/Keyed/SexualityCardKeys.xml | 8 + Patches/ApparelCompProperties.xml | 45 + Patches/BodyParts_Humanoid.xml | 24 + Patches/OTYNude_AnusPatch.xml | 21 + Patches/RimNudeWorld_AlienPartGenerator.xml | 61 + Patches/UnderWhere_Clothing.xml | 32 + Patches/s16_Clothing.xml | 23 + README.md | 1 - Source/.vs/Rimworld-Animations-Patch/v16/.suo | Bin 0 -> 181248 bytes Source/Rimworld-Animations-Patch.csproj | 137 + Source/Rimworld-Animations-Patch.sln | 25 + Source/Scripts/Comps/CompApparelVisibility.cs | 75 + .../Comps/CompProperties_ApparelVisibility.cs | 15 + Source/Scripts/Defs/ActorAnimationData.cs | 29 + Source/Scripts/Defs/HandAnimationDef.cs | 28 + Source/Scripts/Defs/RimNudeData.cs | 60 + Source/Scripts/Enums.cs | 15 + Source/Scripts/Extensions/PawnExtension.cs | 284 + .../Scripts/JobDrivers/JobDriver_JoinInSex.cs | 79 + ...HarmonyPatch_ApparelGraphicRecordGetter.cs | 39 + .../Patches/HarmonyPatch_CompBodyAnimator.cs | 46 + .../Patches/HarmonyPatch_DrawGUIOverlay.cs | 49 + .../Scripts/Patches/HarmonyPatch_JobDriver.cs | 34 + .../Scripts/Patches/HarmonyPatch_PatchAll.cs | 27 + .../Patches/HarmonyPatch_PawnRenderer.cs | 96 + Source/Scripts/Patches/HarmonyPatch_RJW.cs | 460 ++ .../Patches/HarmonyPatch_RimNudeWorld.cs | 37 + .../HarmonyPatch_Rimworld_Animations.cs | 369 ++ .../Patches/HarmonyPatch_VisiblePants.cs | 76 + Source/Scripts/Settings/ApparelSettings.cs | 357 ++ Source/Scripts/Settings/BasicSettings.cs | 127 + Source/Scripts/Settings/BasicSetttings.cs | 97 + .../Utilities/AnimationPatchUtility.cs | 170 + .../Utilities/ApparelAnimationUtility.cs | 197 + .../Utilities/ApparelSettingsUtility.cs | 199 + Source/Scripts/Utilities/DebugMode.cs | 16 + .../Utilities/GraphicMaskingUtility.cs | 144 + .../Scripts/Utilities/HandAnimationUtility.cs | 219 + Source/Scripts/Utilities/MathUtility.cs | 46 + Source/Scripts/Utilities/PatchDefOf.cs | 14 + Source/Scripts/Utilities/SettingsUtility.cs | 16 + .../Utilities/SexInteractionUtility.cs | 241 + .../DesignTimeResolveAssemblyReferences.cache | Bin 0 -> 424 bytes ...gnTimeResolveAssemblyReferencesInput.cache | Bin 0 -> 8167 bytes ...world-Animations-Patch.csproj.CopyComplete | 0 ...tions-Patch.csproj.CoreCompileInputs.cache | 1 + ...imations-Patch.csproj.FileListAbsolute.txt | 7 + ...ations-Patch.csprojAssemblyReference.cache | Bin 0 -> 339957 bytes .../obj/Debug/Rimworld-Animations-Patch.dll | Bin 0 -> 90112 bytes .../obj/Debug/Rimworld-Animations-Patch.pdb | Bin 0 -> 232960 bytes Textures/Hands/Hand.png | Bin 0 -> 13049 bytes Textures/Hands/HandClean.png | Bin 0 -> 11364 bytes .../Masks/apparel_shirt_mask_Fat_east.png | Bin 0 -> 9640 bytes .../Masks/apparel_shirt_mask_Fat_north.png | Bin 0 -> 10826 bytes .../Masks/apparel_shirt_mask_Fat_south.png | Bin 0 -> 10826 bytes .../Masks/apparel_shirt_mask_Fat_west.png | Bin 0 -> 9612 bytes .../Masks/apparel_shirt_mask_Female_east.png | Bin 0 -> 10204 bytes .../Masks/apparel_shirt_mask_Female_north.png | Bin 0 -> 9648 bytes .../Masks/apparel_shirt_mask_Female_south.png | Bin 0 -> 9648 bytes .../Masks/apparel_shirt_mask_Female_west.png | Bin 0 -> 10203 bytes .../Masks/apparel_shirt_mask_Hulk_east.png | Bin 0 -> 9681 bytes .../Masks/apparel_shirt_mask_Hulk_north.png | Bin 0 -> 9262 bytes .../Masks/apparel_shirt_mask_Hulk_south.png | Bin 0 -> 9261 bytes .../Masks/apparel_shirt_mask_Hulk_west.png | Bin 0 -> 9674 bytes .../Masks/apparel_shirt_mask_Male_east.png | Bin 0 -> 9090 bytes .../Masks/apparel_shirt_mask_Male_north.png | Bin 0 -> 9116 bytes .../Masks/apparel_shirt_mask_Male_south.png | Bin 0 -> 9114 bytes .../Masks/apparel_shirt_mask_Male_west.png | Bin 0 -> 9133 bytes .../Masks/apparel_shirt_mask_Thin_east.png | Bin 0 -> 10540 bytes .../Masks/apparel_shirt_mask_Thin_north.png | Bin 0 -> 10146 bytes .../Masks/apparel_shirt_mask_Thin_south.png | Bin 0 -> 10145 bytes .../Masks/apparel_shirt_mask_Thin_west.png | Bin 0 -> 10493 bytes 95 files changed, 20766 insertions(+), 1 deletion(-) create mode 100644 1.3/Assemblies/Rimworld-Animations-Patch.dll create mode 100644 1.3/Assemblies/Rimworld-Animations-Patch.pdb create mode 100644 1.3/Assemblies/Rimworld-Animations.dll create mode 100644 About/About.xml create mode 100644 About/Changelog_v1.2.0.txt create mode 100644 About/Manifest.xml create mode 100644 Defs/AnimationDefs/Animations_extension.xml create mode 100644 Defs/AnimationDefs/Animations_extension_hand.xml create mode 100644 Defs/AnimationDefs/Animations_foreplay.xml create mode 100644 Defs/AnimationDefs/Animations_group.xml create mode 100644 Defs/AnimationDefs/Animations_original.xml create mode 100644 Defs/AnimationDefs/Animations_solo.xml create mode 100644 Defs/AnimationDefs/Animations_solo_hand.xml create mode 100644 Defs/InteractionDefs.xml create mode 100644 Defs/JobDefs.xml create mode 100644 Defs/RulePackDefs/RulePacks_Masturbation.xml create mode 100644 Defs/RulePackDefs/RulePacks_Oral.xml create mode 100644 Defs/RulePackDefs/RulePacks_Reverse_Oral.xml create mode 100644 Defs/RulePackDefs/RulePacks_Reverse_Sex.xml create mode 100644 Defs/RulePackDefs/RulePacks_Sex.xml create mode 100644 Defs/ThingDefs.xml create mode 100644 Defs/ThoughtDefs.xml create mode 100644 Languages/English/Keyed/SettingsKeys.xml create mode 100644 Languages/English/Keyed/SexualityCardKeys.xml create mode 100644 Patches/ApparelCompProperties.xml create mode 100644 Patches/BodyParts_Humanoid.xml create mode 100644 Patches/OTYNude_AnusPatch.xml create mode 100644 Patches/RimNudeWorld_AlienPartGenerator.xml create mode 100644 Patches/UnderWhere_Clothing.xml create mode 100644 Patches/s16_Clothing.xml delete mode 100644 README.md create mode 100644 Source/.vs/Rimworld-Animations-Patch/v16/.suo create mode 100644 Source/Rimworld-Animations-Patch.csproj create mode 100644 Source/Rimworld-Animations-Patch.sln create mode 100644 Source/Scripts/Comps/CompApparelVisibility.cs create mode 100644 Source/Scripts/Comps/CompProperties_ApparelVisibility.cs create mode 100644 Source/Scripts/Defs/ActorAnimationData.cs create mode 100644 Source/Scripts/Defs/HandAnimationDef.cs create mode 100644 Source/Scripts/Defs/RimNudeData.cs create mode 100644 Source/Scripts/Enums.cs create mode 100644 Source/Scripts/Extensions/PawnExtension.cs create mode 100644 Source/Scripts/JobDrivers/JobDriver_JoinInSex.cs create mode 100644 Source/Scripts/Patches/HarmonyPatch_ApparelGraphicRecordGetter.cs create mode 100644 Source/Scripts/Patches/HarmonyPatch_CompBodyAnimator.cs create mode 100644 Source/Scripts/Patches/HarmonyPatch_DrawGUIOverlay.cs create mode 100644 Source/Scripts/Patches/HarmonyPatch_JobDriver.cs create mode 100644 Source/Scripts/Patches/HarmonyPatch_PatchAll.cs create mode 100644 Source/Scripts/Patches/HarmonyPatch_PawnRenderer.cs create mode 100644 Source/Scripts/Patches/HarmonyPatch_RJW.cs create mode 100644 Source/Scripts/Patches/HarmonyPatch_RimNudeWorld.cs create mode 100644 Source/Scripts/Patches/HarmonyPatch_Rimworld_Animations.cs create mode 100644 Source/Scripts/Patches/HarmonyPatch_VisiblePants.cs create mode 100644 Source/Scripts/Settings/ApparelSettings.cs create mode 100644 Source/Scripts/Settings/BasicSettings.cs create mode 100644 Source/Scripts/Settings/BasicSetttings.cs create mode 100644 Source/Scripts/Utilities/AnimationPatchUtility.cs create mode 100644 Source/Scripts/Utilities/ApparelAnimationUtility.cs create mode 100644 Source/Scripts/Utilities/ApparelSettingsUtility.cs create mode 100644 Source/Scripts/Utilities/DebugMode.cs create mode 100644 Source/Scripts/Utilities/GraphicMaskingUtility.cs create mode 100644 Source/Scripts/Utilities/HandAnimationUtility.cs create mode 100644 Source/Scripts/Utilities/MathUtility.cs create mode 100644 Source/Scripts/Utilities/PatchDefOf.cs create mode 100644 Source/Scripts/Utilities/SettingsUtility.cs create mode 100644 Source/Scripts/Utilities/SexInteractionUtility.cs create mode 100644 Source/obj/Debug/DesignTimeResolveAssemblyReferences.cache create mode 100644 Source/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache create mode 100644 Source/obj/Debug/Rimworld-Animations-Patch.csproj.CopyComplete create mode 100644 Source/obj/Debug/Rimworld-Animations-Patch.csproj.CoreCompileInputs.cache create mode 100644 Source/obj/Debug/Rimworld-Animations-Patch.csproj.FileListAbsolute.txt create mode 100644 Source/obj/Debug/Rimworld-Animations-Patch.csprojAssemblyReference.cache create mode 100644 Source/obj/Debug/Rimworld-Animations-Patch.dll create mode 100644 Source/obj/Debug/Rimworld-Animations-Patch.pdb create mode 100644 Textures/Hands/Hand.png create mode 100644 Textures/Hands/HandClean.png create mode 100644 Textures/Masks/apparel_shirt_mask_Fat_east.png create mode 100644 Textures/Masks/apparel_shirt_mask_Fat_north.png create mode 100644 Textures/Masks/apparel_shirt_mask_Fat_south.png create mode 100644 Textures/Masks/apparel_shirt_mask_Fat_west.png create mode 100644 Textures/Masks/apparel_shirt_mask_Female_east.png create mode 100644 Textures/Masks/apparel_shirt_mask_Female_north.png create mode 100644 Textures/Masks/apparel_shirt_mask_Female_south.png create mode 100644 Textures/Masks/apparel_shirt_mask_Female_west.png create mode 100644 Textures/Masks/apparel_shirt_mask_Hulk_east.png create mode 100644 Textures/Masks/apparel_shirt_mask_Hulk_north.png create mode 100644 Textures/Masks/apparel_shirt_mask_Hulk_south.png create mode 100644 Textures/Masks/apparel_shirt_mask_Hulk_west.png create mode 100644 Textures/Masks/apparel_shirt_mask_Male_east.png create mode 100644 Textures/Masks/apparel_shirt_mask_Male_north.png create mode 100644 Textures/Masks/apparel_shirt_mask_Male_south.png create mode 100644 Textures/Masks/apparel_shirt_mask_Male_west.png create mode 100644 Textures/Masks/apparel_shirt_mask_Thin_east.png create mode 100644 Textures/Masks/apparel_shirt_mask_Thin_north.png create mode 100644 Textures/Masks/apparel_shirt_mask_Thin_south.png create mode 100644 Textures/Masks/apparel_shirt_mask_Thin_west.png diff --git a/1.3/Assemblies/Rimworld-Animations-Patch.dll b/1.3/Assemblies/Rimworld-Animations-Patch.dll new file mode 100644 index 0000000000000000000000000000000000000000..2212931ab980cf0a060725a7c834d0335e9dc4ea GIT binary patch literal 90112 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 literal 0 HcmV?d00001 diff --git a/1.3/Assemblies/Rimworld-Animations-Patch.pdb b/1.3/Assemblies/Rimworld-Animations-Patch.pdb new file mode 100644 index 0000000000000000000000000000000000000000..a1609247fc45ec03df034cea82bcd6d478783cb3 GIT binary patch literal 232960 zcmeF431C&l`S#DbBmooPc7?5LB=( zxNq1}YZY5}abJpxRa@FxOD(lpty-(Cwl3fAndRmrL`funu>CSHdG5@-v%T}qJIk3f zXLw#tQDJf6l#FYg%;4`QUU5a3<@u~as-_C(PsTSSwkLbU>vUTO(jsu@fKIMdG z>c84-)tF%8$XgOOJvHd$tKWV5m(5n4VBLFOxA=@^Q(kTMNN2P_gQ1V?wfWGc_cz;n zz>;O>Hd*w8^(`}<*p&XV_rEWk@ccgp-1g^9Ggd#icWH-ZnT7BE>!0pWghRhYi^>>Xpm?zF>BXPyREu!;VW*N3lCN zu;&ZiLo)|xO75~44H9Vv>!sY@KaM7_?$3WU2kP4Yzqv_7ZD#baC5cDd`)s~ry1R{Kxr*zdj5FI@J;PX-U& zbN@#gj@b9|O+&hLnfITk2R8Zh>;{Er)lO;aQmJhY)K>dX>2_k6wck-&|2*cc(^g)y z;*J41f4S-Si8o&QmkWQ_c+t~W{;symU6)?%aGGlGFJoW3E_nec6k(Q`)*zYMTSK)&8d)dHp`EH~ul}gHy^b|4q)~J@)?b zi8*PvT=bU*wjDV9ws-${W^I?dF1^~}Ky9`EsU-_nuKu7`=U3KzTy*|FUM)T0_LDMR z>iz1u_uTnP%dM9#n^ildtxKi0IZ#{e-|_W(SAM$Y%{QOu|JI!QZn%ER+-v84bo9qR zedGPl$6Y!7y$`Oc?Q++pS34Z2t@iKJa&!8-pAI;y^R+!LI(GdpM|R#b=gWWY|D#KP z`OzL%ba>>w-_%ZN>r$z04%AlrU%&B_zkI%}<%Svez1lZuec!>|+8@?p%jD@7?R&=P zi!N?(=H9hk?z;49hXb|M{%1d&cxOb={JlvxXWV<&XTKl(cFx=j=N+6}TRP>l^fNCA zF0Y-^)}>P09H_1KAD7$z#i3Zzv!y<9oChMSvhKSZI`<)z1rbG zZMA>d@29tHF)%S;;Fz!eaKhH(PT2g&e&;^@>GUrz{dd`~o;~f6>uRU8b*a=g2WqSR zpZ#Uqm$%I5^`DFX)^6Zo^GAOC%GsCQyXR?h7G8VH!;_jm{#;%EukD7brSxj6{R@xX z{8{Edw|2bg!grf}_F&@W#s~fJj;98n(q`K;m-YVO=gse_rQ+5lQ_CEvt@gk3pU-Ui z*DwEY%#4Yzp10=Te?KAk^RkHza!>1VbZN8en{-ILRLjM#ORknUP+RT)x5Up+O}{Z* zI_BxuyAFEz!>My#?y#cI(zDNRUD{;!vOSYsYpJ+($<#6jYODR9$XhpN-9`5`|NOD9 z>urAZgX8vIdF9(5t)0GlbH>%vzRoGEd;g=B+pV^etF89GugUn|zV@${VQ$x7Je2!t zX0J~3$1gqVk&@HyIr030`lmnnx7sRiT{^YPf!b>Sli%3yt36lDe|Xls&u_WznGToa z%wLju-OQgp^8UlWYIafgh8t_Q)OD%V76)pp{onZWwj)nFy~Cp4bSW&kqw5R*xc<AmjFl4{ZATwP%!eJ#Wok zvllOEmYa2HUHjKogVl06wbuUmdv|Ny>6AD7)$gz^t7X5t@9SK6!0RIqz2=t}9dY6f zlV1B-Ef>2kxmw~tZMFZxHUHcz@r%t}27Z0e3-1)&a@WaiTSwXdY4gU)H6K5}WdHmJ zYpJ+($<#6jYODPxH@o`O3s?Q8W%jmk(=|Wnp7Y$O4L^VT%!gMr-D~PU^REA}?)+yh zw_9x`_tl4AeW>f)CS~$x;4u?M6%|e`%AT1yI4?h0oY`q^pWcT~7*mqWo@xK~pEav^ zLQdh#nS})tM(52OUs#l%J7IWXZt;YoyqV|9b$E6`-puThyuyOw!)Ile%{##kMTPt}Il@R%;e%sw{IVlx6p@g_f9=EGo%M7Ei2_L%WAT zw23d(Zs%22a!T=p{y8OuMg6_ZWo4ISOMG@Eb8=OTY!xFV`nj$cyHautH-=;v)EhA=Bpm@`4@r-k#Qznc(DqfK(-qcj_cBS-G$-S(i>~l{% zb?C@B$)fyhGeGT14O1n@aw*c(*?EQKMcVCLI;n7SR#6@W`d*0C^uo!xsnYC9-i$$R z^9rUiHrd&PckgPh6#H_x&gI=I$FAhZsU@1$F_G~MNsUl8WS94+*{K3K&ZI^w8)6Ey zTRG%K=KI1RFFL!OKUvAiv!}A)Nbc&+R4y~QDgx^aQ-ob9B`Nh<){C+GEwDC8YLRntfLhW`=8TR$h z&;MSClaaA(TbS$RO4vju({P#j^il(2ttF^SB+e{dc zU7VNWUAvkaequ9WvP$7yyP6kv9;4Z?+wU8mT|9#=iQPWGar=8SZE<$f{HB~c!?R1K z?RK8i-LQw}j)kTSNXn_j$)e&3qnXHRk5v!7 zCJZag$eob+oXDsH6h=mSz^*GNR~`VrOBRuJk4yEW_E=%Csc80VY&00kRAm8 z!N$$4`v*bm1L8j4{#)l5-e?d6xebG01-~;|1i=;9%$7m$Q*8cTLGUToo6+1#y9GPH z4d1xi&-(_!M!tqNf^;q=?}H8ug8L5&f<~F;;csx8%{3W8a5!{Xd>`)@*wK6{ejux}8&fNcdM?h-RF$65Hszx%z_EsSD(chSC) zzH$In3VLE;LD27u8`^#Ns{NFl%FziwrN8H4ORky5Z?AA_grzpIMGTzM60kkt$65ZJ7%3zBwF!SvOstz=TP3X9W9#y#z!>whv=w32<%DlAT`{^n^nWZ#t~TJ=NGDlAT`zTs)Jri~sT zTJ;&xDlAT`zU^tJJo(0ZqE(+4t-|88>MNf1p-XP)D_Zp-(JCxXtN!e1|5WtjH$+JhQD?KJ!g~e&5H$Cm810O$6w9==dRal(1QD!-9rw{u*C|c=G(JCxXD_xgL z_vH3xi&i>NvvVvX`5p<>o zL9p4CQ}(R6Sn?it`JFyGu`e$e+*Q5FM(G;_fK#&_%Cn`ST9K9 zpFI+t7Nqm9QP3`!Lnvcea3JmsKFE4A~s5Ne>kF6MPzAHJ-}ow@fPw zHToNG|FvQWrl&le`5iniz0kG)a1NV{U>lw=-~L^QBYID>N6?|!sbl7GKyxNFN&W6R zurNPAY1Wp-T~ACFB#ZKLg66UCVR;3Jn(9v+cW`M~-el`$uidOd2si0#2210c_@@?d zVsuc!)Vu=Ity;#?9G#rv@(hADRr+@wG&8TnhE=hjukx7u*v-;!$=388$tOBS>@zY6 zG9?Mp@aq5q!ClxRA=n6Z2PKc`AaWcsR0R8niPF6iOCAdn{Y-w6stQ}{&iVBC{HbXRnq^DhMt z#jSab=7ryMdxV3OpS5IOjeK?1uYX=e`i^j{7R-z5%44 zM~^x8GvJZ9|LENBfIV?HfSF2vFR&NxBb>W82ydcs&V3em6z&V0dm)H^iZ(d+L*TKv zp9hZvH-pE6uYmo)EuixG9oQfD8{h!&OXr_P+YQ96Hp~Juz)Y~E!^1$u?*R_NAGVu5 zoJJ`dBEd3N2ehJhKWW_R{~0PJCL<_xNbbf>ZU!%L=-r;)V`YEu{w6dcPJT_XEsPFI zH&Tpz;*&uykdg0+1Bhj6{8yirdETLZv;4~F z2a)lrV*HN?5WT0ViT>Y_uCGeJ$Mt_3<`gPpdTdVNHki%$q@FOJvT2NZ$<;ygkb0Hk z@OaB@lNX~KGtIoFiZn+j&zYSpX7JP4w}mw3lJ3pmc!>FlUd(L9bfl{CjL$2X#>R}^ zEznlH9ZUS2XT*-i6m*{2$&V?@L-QUj`@`tIMEykR@nISNUr8)@HeAR&%g%xJp-{G6 z!c?2GgW(%Pd^VLbacRUBU%cI?ozN7?v)_(yhw8( zG(?mjLCO_11x2?nsBuZ_V~tB^f-DK5B$x@_54Hs#0Na5Nf|Mb84x|i`ohwD8ZuMkF z&^SngGA+;u=5^;C@H`Qw2S*z}tFJzR3pvsA^6a_Zw@cpB3hFW2Y4*vvYa8)paa=tGLQ}VO(#hfArWRxFg`0hYz&AbffgP;d#7}G^Ql|bHabDW=L(LP7iSzPIczIdyYKoUybIXXA(g0t` zQD?q02h{$@xc0x_r2@}WW-4tpYK&|D;j@cr_ac^ZLuSvMMTaZz^RtMdc%HVU8=H@b zjm?vjxuy>d*paMgymPXWB!9-b1Y;0m-H#IWTZV~fh3$)8ZvDFTtyHOlU>fm$=iXLptxp-H)0~{v>%?y+WW{0W*vP zDXo4`Px4$Z49d<97Y!u|lc(Q@o1_UI=3?sL4SQ1=Cyw)NU2z|7IrV%8ri$Lvc==^b zo04Cha#MQZq4JD}=_FI}*g|_ckIG11Hj?f((tQNtPhH;Pp^8^AZuvf*;Q<*g!#nW>y zlxTWn%F%&1Td?TCV1kRM{Iv3~BA$t(dFg9d&AF2#!_4(LGU`mMC4HQMM`M|AOY>!dBs;0}=~HCl;*?7at!k9vvi>ObnOY zlCk7(A^(?-Of0=lW$=1>zB(UfQB1CB+KkPvj=?CJI-^Y*A~;&KKA_asMz@);%i4nUbBC zKRTIRES^@DkAj-ZN4UVu7S6vGCEv zqCts8FC-SPNGy3xKFG%LZhT{-)tGD4P|oBd8>cdE{TbS;a3E&R>K^{ z_4HmYPWTqN@Om&#Gb69K*y$28{)z9Bk2sB&9fhGHD}>F=D=L!SP&;mZ>c1#nVrr7(zy=I& z8E{o$U04;!q|?sn#7hrO#g4&t#&#fI`7lA2jBsq z_>l=-g}bf8UJlhyuEk&dS#(1|^h0!#!?PVqYHz@Q7AU$B@J8HfcOh*Z+yY(!-U{Lu z+yUO?@J>+i)Q{w^{)2up@F9n1uE+grhi`yC!MzQ<8~grZaegB$>}Z zyD5IUE066TBk^g>e5=2SvllA}L6jUegerDSfH1@@MIGKbZNuiR;G{trzXQ zGEB`;PY{LcE9f25SI|4ro_LGLO~BW2@8$4Jhm%0$G192^8}NMaw;*~a_&vA)RDASI z@FwnM;2%KxU9c6r349BbPDGB4PJA2Oh+BvpnE0uZMx>ubPl8J4S@2Wb z+Q%3E(&4M%zi|Hs6y5K^&v3u#@Lh)=fd9c?=RLjz8-rhizR&E7I|zBM;IN}Z^_hD3 zAL{T}hke0x{M9!afVrUZp9VI>t-c~$;BXa`XM}5Phs5&re z986y6*cQg$_Q~m_lwZlOE4{EcewshD$LK^kc$UM-APcc558NB{eP9XheQ+;z$XFY+ z#QiYH^P>pe6`-pl`k6_e{uD5VN0NErpB?@c+#fgc790dh&$k5|IV2AgpR|oXG(kJU zGr{)Y(O?H~40s557O47UgPm|sc6foq3&BJ2zX()5mw=+b8tjbwn`P%Xcs`s`dYO_Q zor`7nutNL#wq$qRv}aX1b{wr)hPASzmaWfhF^9RK+BvS{=$~lB@^eGo_${9F#A^Su z1iKu2D^~6M8uoqcKJ<1!G-4zEaWAvf|6oMM2~KI2wW4HSng!P=g)XZ#Rph^#{NJo@{yldt ze?QNT*MAN9zg^w@d+l8Q4A{nyOv+qI{vT8~e-_9)!+!>BW9p}JH|z3@_VcRQ|N87) z{*lXH^Ehv=qW+z$oBvTemp{`LW3;C7=4$fqUETbT-nsmvD)PUE{IjZ?fA^Y=iQDPF z3|s4X{jVke(bdks`%cMUR7L)4$$wI{^Y5`!`7?1fCSL#R$iJZ4`5(Dc`A1dce?9rn zuXg@DcPf9c_~Z4zf&4G2cK*F~D*wnS-gy2ulK)lJ&cF9}%Ku|pUGqRY&j>vm%y6JJ ziVXWGW_T8=nF>I=em=#lczhamu26Lvvs@ZNrEyLwjnNg-u;YEzX%xFOgi50%mBxq) zY1lEl>NGBLX$X}@luG0D3TfDJx9T*?TpB{9!CE@9{5YdR8g}fgI*mmx4WZIloJwO{ zg*5E=7wVk7F&ZX)yWH*45HkFmeO9{$?Tb3M&z3siZ^y7OP(Cv8`M%j#PZGX`mGeN2WA)O*6IGaxrOG0b+3smFKaZus_m4gKYw!?@+}i@-&dgdD3zz( z-`O5hYq0h?1^L>?ko9rmx zBflG;HGXx#TKNuBd{$Gp!pgKqbqwZtl&7`rU9QXGw3k9Vj3?%v*0xjC={{O1UCZ0@ zaX+5!lh7U&%u1ze`B63PQ_voZ1bMxwceG_XVHcvap2Kd%>YUX6*evV>>_Y5X>{Hk} z^Zn(3^uK@qW0ccL9b?7)fc`RbL8_l}N_1#3TAoAH1ye^B=tThD<#lfX=**MS)4M)O z!^itB?*Yf(*D!k8yz|?&|4`C3?}K=E*At5hXU}4uXLWal_k`VhyC#2b#^a7FzFmU4 z&q;P2nwu=lFPzHCrt0^Ir8jG;;~SDze2?4KKQz2hKJh*Xf1<8D+xGoRca6xXyJ&9G zK#A=FqxSOquaV2ISuEd=X#dMAv_Iq0(1JO6CCO2`<)>)!JjQ!C>tvuN`(KhR@yq9L z7)0J(V)_3anp>)ye+|cr%K1l5{=3EUNB3sDT;2S8)NI_SoIk>2Og#U8kpI`!&A*1@ zme1dhFSeb-)Ir*~ydI9cZVui{jTyF0!c<$uX(@knU~Js7{0mcS#yBl&%4k1Mhxszt zx>ilg_A0d3ZP#Zq;aVpBWfXQA_A2b%*sa*lu$?sdsxwt`K>gppW0LDA;{AUv^0zI= z>Hn_!$WhH?d^Yjb$Ne+L%`T6ovC^P~Gd}fsj4wj9_@_)emzSPn%Uof>{5_An(y6Ek z;_!U_yz;y>ez6u0CJ?ANo=*Oa@H-7V6#pY#{5I}vFyfVBna-XoBh^{9Cht0lS7{mc z-4O0G$qKU)(d8~JKZnnEI^t!A%IkdMUFGZaO^@iHQ$5yEhfc&*d>^MB^-wy4WA(_- zE7lM{rbORzDzfiw)#Pp#Ul+A=*ebDL94LPHcg?icmT6(Z{GCrdrcQNj%>66VPKl@*0}b=GITN=WA`YJg|9jzmBG5G zjq%r670&}z(8^|LRJUtD!rctMZJ-{=--kVoZ&tSL`2P*AkvJM;hqk@1ahh? zdI!u0n#w*5Rm=It9B^9GLT(D(R06DOKmPK?ll17N^no zTvG2JnYX#@xSB=%=Tdj+?@JuNG(Skk9goj7s&xf6^v0O2>nGH6IdK)w({j$x%pvIN21PqFSu(AVw|b|b z0L5>jX&)>VE?&mdR@rJYUy^LXi%@k8_X$griD;?S&><9+oy&omHN3ZjXJn8WVGx z1@o6VM@BmuRJ6hHLa}<{n3AHx8A(^N;!|h!FUZX*JhxyBFQt}D9Gsm)_Zz`DXy$a& zDAO>~Rhm8>FW-!=-^g#tr}B)`=$c==NY}pi77t_mg4VwC7WdCj7EIN}rr)vs%n9YN zRX8qWG%ck8mCk6#FTHas^K%R4FLSeu^Qyj$2X9W+tGJZHiDWqi-* zerUDi&hc^3ctzAYVkQJJA-OVYiTgkLP(8?^l)eV@><3I=I;sc=HkP)oHR~j2#JU)gnP4AePc|@E>pPS*%*TUIF_HGYN zHRIuuQ#0Yh|2xhb%pEG>zTwC)T0!k?I==p=HNgX;HK;cOsQ)5g|FK2$#un;9_Yg{A z$F$AVJ&kyZoS8hh08?z7&t|*8qw$gg9SdHJ5(M z#Szcd&*E`PwANzMr~B3jGCbGRC{81uPPHGU*%39Lb0jiJKa3tt zG|h-U4*6d?E-c$GEIUt)p)@}xT<;Ls^rV~*q$j}*)ZO|~-BWTR65slfIYaIL#O9-Yh0=E~nY7ED^YiA78 zlAF}z-%M}aW17L$y`gEQ9h(a7r7?Fm;`bo#jP3lCR#&&{(-`fbvZ!rWVeR@aOsyeN zw|dv!7{ocE3dH4IYp@&G7E~QOfZcIR7J7jFz$3xoU~ljokamxjgRIxsi&gz+V-?fZ zyBRxd&4Nt)&clwVP%gW^3sdX9c)9wLp2~$hnLSyRN8!SeAmg%mAGaU)Ebji`%OLv0 zykkBH`~&X6pe>he3%rn@1wq?j38m^nAMH%JT30BSU7v-i^2k=E`@-c4bsq>^dV%tzqK4n@*Z4BhqWim=B6~C`(huLQrL#1(twCp!$6= zxDlkML{Ed-gRNM$BFdt&O~+1fww!k=mz~3hsWm~oT=PgzS_M_?_z`J}ck4~sLGWWxWkkkJ8R3uN-A_T}&fGO|HHhp-kAsvqdLCqr zW4;ma0JweIiiaxWnN^l?67lUEEj05roQ$~U9v=PF9h;_%kAU@YKML**J_dFKDF^4e zg5U|z=G}*Uj>8Vat_b8O9sdQ^&V|C%TuSMDgq3-k_~OMgV0%zH^ic3w+?_#WIXcXt zbeF=9a&GlU_z?92UjXTo=6(zMhPlsTDflv7LA-j6@RvZP_XenR)V{yM{XVz_{5$v? z(AG!Pew=8<+4aH3-G)&|<6#Rp(E`oYf~Petc;eCmeb^)DnTpex5n1Vcf=>gizDFc8 z2|Em7D8VkruE#!w-G==F+out<*rnJTv0JboVfSy$a}Dey>|E@v*oU$2U>RP6Ol%+Q zSeFmJyTqiCi@$eJdrC5D7jK#)R?86}6EtYKn|S0fg746!_|Skj ztFemX>BOIY_^raKzkTZBYps;P-7vPEaCZip^!$9hCVMk#Bfk&Mxq<27^h9*KTMzoP z9sQIk<^T)kZwun}MYt&JJa1mV`9}>v5W;9&^-s8?jrk zA7Sgv{{{!*`d{apWV$+Cq2E8Ij~{=Y(-BpC|K~GD?`h)tzgoK9ek-V}A0H~8<27T* zj>ZFj7MQZc$AfQs{wuw8#*X$p>ZzZWKYK-I2Wj|8Z-_-lV-M$tM|7|`Z?r#r^m=g` zzb$XV6kiozXUt@zZxmm8@feW48EK{>y?7QVy$Jh_USzIq_Axeq(sPf2(sRE6rPqE9 zW`chK+p=V+M;_8UI*+Y#Ai6gi03Hsi{kwv>;1OUc*p21l zz=I$!%hUi+XR73YKU%%Lei zPE$XPcQS|%Ylt&aTzN5mcR%R3;gYiCClX<%GR33hfGl}xcFb7W==E@mQ`8)=lGdpii zHpeoXa41HV8)GfBY{4VwTm~`i2 ztvr^$L!f?}@A6dNhM!t;N337iJGXn&nipr{*1VWGyYxcDSZMGFhxHhz>ah|iw+Hci zU&d;ChoAD#q9Rs4Lf!Ldj7F+Hrh-tH+l-vHZ#Rr8?}ywF(R z5zFo!#;$QJZ_;$~csoCppfX)+la6?)@x{u0sI$Jt(0=BwYB{RgmRg&Mmj{F5CG8va z1~oT24m=dh0yQ@p1|9~E1-pP%*LAw9tIp82kJTzKSRvjQxrSDl1QLG zBih8MHer*^9%rO^x2*hQVpUfWTi*3x~zQ^2FaT#)%C z^-&x3#}16yV@&$;A2h`MR z_e`w5^DU!qc+2S9*fRQtbDjC$?Yo)JkJwj6_oan@IecdRqx>jS3#-Jvk z)ur}*39mc#?RgpL(NScY`#sl<@%GpGeVO4F%-_kh|L9Svxu;nG`u6V$y=Z;-u5SPB z=Kry?|KIc-XcNahFVNW>Rg!VjpngxwE}B`$WjP8HJK|w;3g;zto=I|7t^Il8d%0s? zEV(mo&gn)sY3ffplD$<}%fm3md)67La}*TLjPuPwegUBY3Y=8pE+*bwGUIu~#N7r z)c^hZ%)kHhvsmqN>Hl|)a{ZsfVla+`r$%tML`Cr;6QCecsl+Mw< zv~9D{v>#q(_to!9qt}hj83AfKDBY3?j>O&8A?qn~21y!3;o{9`!dY(^)OvL+ZmbC( z51xwqG;kbvy2C;jevWf%zZ+Wf%>-zpg}BcEmpQtX;F-8rIlRi@)!+pDuK|_*ZJ^4v z0Xz%$ec;)kAGdJ^c8#k0*Y%Vy?q=rW+~KC8Yzv9Iy7@3dyJqutJg z9iUY;MrkWAKR3v1X}patT~C8OrAFJ$Cf@(=c4a{(Q)UYNzx9}J?*Ce&ir&-sF%=m| z^@X@xS8Kk8Y-*fi&1>F=7n{P9644USkC~DQn`ikqcs0h(#mZy_R(=P8nv$Ies!t3B z)psQqUBHuYAMQ|cEO&2^ans4k5rOtD(oB!{@^KLIVBZ1vZ9BkuwD*Oa=<>9-4CS&Fr(F!~vf$6De(mqXQj<4A>bqfwVDnQw zz-971gn0XpQYA5(dwTN(?Q!%4zWs+54=vymxaO`ObG2V;9-wE8isxy+%d_9A#`E}i zZ{`BAXT65ryQ^^z)VDoTsyy$IoYwUDf$ATZ?~RV1(mUQf2|owM_&J8Fv@ApIU5Pc> z_g34)^XsMw0EV?`$~*bN?zi9q&a!~;vO$00yNl~n?d^4~)}vi$+p%@+ z8*8na|5W??cZ8R^=yCmVJMI6%Jg@)V*Ms6%DNgfpzC3F4F5Jt1~VrZy| zJlyQ`m@kKa4jnJY9nfs4aXD%>U#MITt@C8!bh_ASwzMb2@9uccw5=#-vP8b&@~jV@JZCsc#30pYlHt zY>!)YMR%IBBL{<}E_@Mq2=2uWSApmrb5=y@tidhRi4LWAGsymlc~=d7Mfc$D0s`i_ zL1UE;qdKw|Yku4JZJywHg*c_>7A@I1>j`g~vllRcXAXUgzv49JNnHH-!~8ZT$n>?Q zFryQ;A9k7;Q)hOX18Jn-&xLhD{$$iIy}>I(zfI88WXVLov5lX92JjKTeH_v4>^M-< zJ^%mfb$tWsB;Druq`iEZ6D*j&3HT%)m>@kT`HpAVh;P>Pe#}@!!ZOFYJoURCG#Yn} z7q`qLi`YXLoL|Uy7g9HMsckfW%_6?ydU`)5;++~3{hg%>Q=0KGzjy1$i+EV!lqto@ z63d&K-2Fiw=6xkIUbYBJv%<2TiRgN?{so55em?REnaMa6V16U78H-6k<@D!~YqHi* z-fBzfTdSRvR{6JPl&;DpqcNmCr>8_a7HiwL{QahM{Dxp~S4C`@|Ho82L{%;FPlS&^C1KZ(d9%FDcNWILn zm5$(aM^^w!?-x3x*^Hh)ACx{{4oaUh&o%n|04j4h?qk5NpnY!KiE^{(z}PXYB{&p& zY$ZR@b-}K}K7;L@s%tkWZTp3(c2zU`w$S*zCvJ_;4e@PADL=t2o{GORnOF_tYq1-! zuVLTEHf0d+gzby1Gu7ij8f0GA3~>y;D;D(v`pf*ODP2=CI+>lDJvl$A^VzeDl0CAZ z_2Yo%DT?dqYcdX0-hZt;2JC3Aulc-+ePT?n6_wa$v#M6yzktGvR(haXdJ9_QQhL!0 zhRjzJh+7a2LU$#i7yLOQ&&TH+A2lcQhAp&=&eOh~k2N`Gt#(m4q?0P=ukYB)JnqV& z-xonY(C5!GJ%8Tt?BW??3oEzdCgNr($^V z3?J^tj(B)M@?6sjlAT86r?t_MMCk{K(xa5NZ$o|ONhaHZ`5TGn6oO3qFSjSfc$-JK=yk8-JJ=z(8#;PFM#t&Z7GkF7 zbHy-PnJ~{cVYSXKRpgz$W3y@4CyW+~b0$5{E8V9k)5tK!{w{@ANmu4?<5gey+=uvz z>*-bZ`S|z5U+=I@ap`zoF;=GJ(DO?7YIcMEJ+hza=smCE^p$xP4=bKM#hh+YJlL)= zIhD^$^_EI}{0=f$uLJ3Z;$tZjpU)HXJCt@$@W1SM!&NKaexCW1nR(kfS*`{_8GJow zhLge3N#c;=M-%PbYqE!apDXckwTB@jXA8L!|2I`MC}HY0$p{{X9qS z`5CA8JoE3h$HPiuV?<`v_$E)MA@l{`j%&!NA*Eg z?AQ~UaR@Inm+OMR409(lk7{D(7IrT{6~~(OGi&K66F0g&>I7eiP%H2dPh>DkUx`P&+ggtEcPr)8mC>-Sf$uIz7GRiVfFsy!Prc!-oq?^ zm%J}&*)b~Ayww=>1I^iF4h<~-I)mEDfH$sOC$T0;GxKDPeRkXkQ{#_h{$c!OG?&!R zBS83RcnlxSdl1UAJN}~Y0d@i5x8X5oG9t}w;k&uxNNsZlZuoER`8o#F+*bamVa-U* zJwL+pa32S*a^b7N<8iNXc!$FugZ=P-15`SH0{i3M=5Qtjm%9L@oufif<(cj9LQwG* zfm!%p4Gsct0tbV4g3LprpMvQ0=mGE~@KNw&(6+H8&bDbfwM(as)1cgB5L*C7KFxuAKRi(Z$mhj=A;+^7f z9H{uGgZz%p2FHWqOU1gMOf80ErxKD*T@R!_R$|jQ9qVOLGH1sW)_44tp>G9uyWhx< zk;OAj9yad=gipZT5IhTP3r+-)c~dszH<*MQ`8BAr%dN6c28nCF8$cXGpW|>om?XT+ z;X-fiI8+UxJFC1~2F@k?yi90juV<<*mJoA`givhU+@(wil^b(rq_!{N1<5+0MH037A_jBxXDKjMQTM4#KYQuS|6G-1T=fBPe)q7ND zuXhf|jXpN_dkE1r<~}ZThQZ@N=FOaAus8^e_)lLoDEVE$&q?4Sun1K8bHK&8DVxDd z9j*kI;(rw=I<@J=xUX}lz9#p5;4<)0P;^g#$Vc>~L$$5kTfi0IZ@{_W?;ZXLRJ^}} z2ZWU(8QFqbvCxV{SO9+(#v2pAb{+bhZ@&(t`AdMva_t*AUN5ZI|c!Qi}T!V0#puXSqaUmTD z>wc8tXs)R=w_%lzj~m|$h(G7^_kL9Cyx5NJ0f~JJ!sJ&A_dARnv}zb{O|5`Tpnc`e{l!8|YKp zuwP)i>}!&)`}04}0rgdX{;NSfTUouo?oAeQxRgnc5q~|O9$Pd!nY#RVnEUcWdB2Z{ ztN1=nyx&)=kAH{zfGY1Dnmns)Dvu*k>ehIz1!N z0VqpasA)iIFD6cxU641^hl$k{!j#w0T(g&^Hi?Jj6`wLYFK0$x(xsbTDZGS0t$Cz- zhk*0p|3DgSZzic~H?7Sz7mBB;vhZ;?cNT*E0SM<3?-+3ZSiC(d#mkvpR5Vc;;%{_4 zaZ0dra9_3KjOEq~pqVv>yPo#1rW#vSKZOn|ECLg5j~@g<aNlSNxsv+w zaLESoNagVRSxa3%I01ie2GI}Nba(wgC*Ov!5k9)GWN1N3KzNp2jdLSp)`&#auc(9h zZBC1jzdsj$nktJKX2JX&4E^aoe~$6`19zj7IfX^Jwk?*6PsCL`PwUT!w2jGiYPSBeQW6V_MC>V&sqsAW}_O<8P>rWx5etyzaWQC+f;mh zse1^tr>A(HR(nuNqFt;$*(R>`No?PYhZW48IdaOF{A6;LzGj$TSVBjU-0C|pT}WH& z!sCxD?HPE`9wF-jEsm^Q)=GM2~7aPy}}uZ1N4EL=;8!h&t>g`MA?!=+53qF zV-gGZ2p680Sa^G4QPaet1&Kur(8^2W|2x#*>eJBZR=mvn%5UH=Lpzu?5R8d5r`{Xf z3)}}}C^yd}sgqd~91JpVFlSzvdPf6rw*kk2`-2lf^h7iT%mk&d+Jdve_TXHwBgp#7 z;9^i~4c05hy&5DBv$xU-e8Yur1rNpjM~82Nhv9w~JRHhM#C3 z5cLvef{2Z|Q(bf;aQDDH(&0FVx>LO;{&PXm%?EqozQEx{U~k-Fobu6k{6u#RNLxiO zf=7cdfvWEtF8npOq_a8Gi0jzj6nEc|CXT;gyk zI0*lXLG2N(1c!op?rQh?vOs;W&uS&DsnU6pkj{H+>9lYfrM7!Gx;L#kd!75hm%(sV z^4=A96X=#2w_V3;*Qh#G$xIoecw&@%Qt7; z2KO<|f`?2VN2ql$X>M(3%lQ-IXYfmN^)&= zW|-2u>Psq%jPhs32^eh97t>m_Wu^})+g>-K)6<8~~~ugTX6tp9uZ{JOjK6 zoDN6vd9UyHKtpjfbe-7RT-VfdZJ_4=- zt!`;a>!`n~M{<&eJ|TTm?l+8`R%QoIAK3mp0qXXKMzQoBYzCS_zxQx5Zv9)BuSL2oEONpW54qu*qH0N4w3@skWXRplH(qLocSlTTt&C@}F1mB4+Yp?ZzZ@a7L zqcZ6Clwr)vXjl+yJ4!Z<7dTi6jVw@YI5{d}t%o+!ZvE`|5coKr52IpysA}!F!*dYz z%JqTdiTc!|Z)@#n>hdVR(z!ccH(pI2S}-TCBsnU( zxHwrfdEVf{A{t$^s^41bmPtBF!^iXWJ7ov;J7Y)sZu|O4clr92Hcphapnj$e&HDJ& zMCl=kvab>g<|g88*dSe{W!>T0Qoos>WHe*aWvWi=<;@_f~>@Xvc$sKiADK|#iJ5SauQ32(xXV<@Bb`!?Qke@y9lVl}M zm(s1{>?K?(znUpdW8`{tUde2vRx&Bp#lvl0^`h$=$2K`cr|I|QuDreI&ryd zLmFzTc=)WMWKMEciK(yFX7RA?ctg0#v1cW^ioCY%xRnZTp)du=`LQgl)NjQHjScZU zXu-*23r{Uh;xE0hj!F(8p7y#{x_CPKrS)q(9_?@Fw?dxqNcT0;WgQ$0J=dnI zI<(t9UaCAQ(_K5#-P`ModJ$=c(Z9md-eKwLu=Hy+3hrez@#ciA!D$SG<#0_V*xM z{;wc$>F43fLE*{^!c}i2E}xXR{I7{C3KLgsNvysjv4(1yvVRP2!`eAiXy#Km&17VY zeqdOJMB**VJ?aT+eRveu9Csgw>{FRJ^k^484rD$Zjd#c%g_%=N29cqNwW^s@vz9dJ z-3;!B|1A#h0Fi;{M<6RihGpF)dpj=lu32sE4Gym4Ml13)sx(%S73s>)ovkCl&N;%= z{G}0otZ|J|-5T=?88Pbu+C0j_E&mh2_PB>Q90qp8o#(xj@QG8W>8+Q^9`NaMr~l{5S)opBVcF`^G>3E`|>jOnDQPDGF37D%D*e_B8QrU zcEi2Fh5sDvj{AOxkAX+BjWL>hl&JyUC2;2#WEgkL;j>2DO!bNu!cnWTv@e~eoD87urod=3eXY|J6 zE^t`pa4CrVN9#e+=?obCz?{VsKJDB(S9CgVCIp5q9Xta!i&%pV9qP>b1pHfqO0Nxg z7ViBV9^tSXn2mpLa589Rja2}-*l!!@F6IL4ky!N~a>LkmyOe#VRjg%mV}2{xgIb9n zrB2Z;LEm1C-{LC#?u+>y#(d~-=#U_c&0`gNR+sa8-;{i--`TlNs6Jwh#-~;8H{*(F z|0$rxH`Tu}I2Csjhv=bzJ{X}tOgQ?2b7OXoQb?aQdyR*HGjUtK^v31OrE{v4-3O-1 zsI$y=E)%BaNK1%234fVcq)AhneabYDHEPrWR9Pj<^zKM?6Vl(z{v>i`!cPUy#b5eT zcs58sHRnsu2N&X=4_*yk2#UiOf$FnL|6wrV|052cclZKWhW}r{1>k$2=+!exGy2Hk z7Y@}&Xwj%Q6`^j?7;q_=16~5Ef-68hyI2YO{mm4&Mfm zwdey7?Hi@hM?}9Th<1w9$8H3>fH#BMCsp{#AY)QA%;7YLdEo6F#d{nS-E-i2=$;4B zM^TG<)_;HSC%6v)?*=D3|0&>4aZd&B0q2AFf{%k6z}G?AI{Fp(b5QSQ(B_fe^>_gM z9DE3Dkj8mu@DLCghzC;LpHk!B@fOz+Zuz zz+Zzef*I)nCwi$D_%f*XB{qY-z*oTD;4i_Wz}LY6;IF}J3IsY zE#cXq=#${@a8GfV@37Ee5%_z;=YXO=4}25%`3_4RE_ApA+)DUmpy=0tf5d&ILp?W^ z`#NwNcpLaO_z)=i$3Xg0v=Mv<+zS2`{ErL&8l;a!Oal$>@9+Tdef$puKL9&`^g*YC z4h(cRzD)VpIjoXVBkN!YHj z_+8oM9?F=h_d}12`73r7W9wl2E9ZA2W9?AoiVsn5);KBKsPE6$#d ze>VP6_*~+`4*`!fG&XFp^SAL-9`W4rC(aW+CDiHCF_n0tFIL;<6V>C1Zd}MD{fXED zQ!nM0ZtCC5xGhiY`Bqz&1I(E7384+Ji#4EO#OX<`(8t&tvCm<*VjH#QydHKKHW#}T zdn5KW?Dx^2N>cm(=t^VyIusNk2Cq)C>#e|E|7F&BikFWStq=Em3R$r|g_+5cX@$8% z3#Js>wM|XV$Rx=-jlS84Ji*Ml@ka07S*$oLm& zMsYKE49Ga>`g|_(py%d#uf{%y_U%1jUkEX3`}b+Xv^K{1Kl3Nv{{Bq;)>!SD(FW^b zu2Be;+FxfYMC-$A<*Z-q4)@CM0Ds$afp5D5B7V-#%P8$h)vRGJBG>PGX%C|(-X+wH zIZ^O;SNE3eH872k9Hio9I!fl+El9u%0vH=^(HL{)54m;2aR~ zk8TIa(>(7-{G(TKGXk0S4-Ntu^Mg##&f)3dnpI(}Zk>mImFGU)j~*2iq^zMp?3qy9O|d{@MFv7$ah|DSn*>;HY(`0k&d&n9#HS(v#ER#9s5 zT$p)p>bYG}!&SBWD%yNQUAxCx z>bw0^`}_CJPZRSo9W9u@Z_)numHGbfJ^sd{l$l-*aUVDgXQn;SiXcQ zzQ$#o6<%~g@L)>Du`^?= zJAZa2&bwRS-Tl?$U3W3OCVEuu;^%xFQhcuZov#y-vEw-T`7v~&wPmWBb_ldba&Lgw zx&A&<$+jK_b;Az9&UNcxdDof$UJj`L`}2QYT>lR|62_b$V^p^5|CQE%TU2dmeYjsc zy@vN$*i9~;UkkCmC|^6xnw4FY%s2W%yK9@VW3jKt;-uq_$BExX$Fi(K7zcltCfYu! zejz(zM|vA&?azy#63n@zOr@byNj)-3n}_sxv?MFQe`-%KiQs z`wIH`b5PGsv{%{0xmjNY?5jryJAXZckh>fBAUGIgzdgzZ9|5ODN z0@>epYdcnbm;=l{rZkDheMU#-XlZ);i6@b1?EYoC{Y8B%$F2cKu{TRl$6WDyp&jzb(eX%k>LIy?8^V{fHkY`rRn|O|slFf^e zp>LL-jmXZHI{ATP6^(dYdHv_MJPqLswEy*~_1~a^=}eQy;CXZaVSAI)lk{7JC@^JLTClbPO-W%%cK*P^f|6uG$&h3o$FD69wC@woGslt`HYgp! zDufqv0zW^0Kz7l%yy85{POvGH=1TE&EZw*~u1rF?9aqBWUk&Z7)7+oe_^) zI7>TO_WZosU-2^O^orLILba*lso{4NPxlh2UmT6>_;^~+>?qzU7q2UY^YJvt*ipRa zT)g&dNc(um`VQle7pmy5pNX2sJ6J34y<^RtISIA zD!(_Qw&+WK!-)GTaUY1qZCfdBjuF@)h$eTv=i2n!RiY`%n>k{3ZqjYX*}guP^oNjs z1nnLua+OVes!OG~dB(q9vn|kPK|dY$UXEUMIlL16#7db-KUKDSglXUYjv#gRYXqufz{GCw_EkV*PItKfWsQlkSPTw&<|3Eev$FC&%0}mdBO9$jJY3^qIhNJ3Snv>p$n(ha03xV6(I|hP8|f&MS1?H zHQkWFK0j`6(5GkT1z~Ew5KnI?@g&nHflBveP|vQ0fi|tyf$m7vZ>7h2!j0*n>E}50 zuBp+5`aOzxO79dBli(bBF3f3h(ONy}_}B9|fKYp6SBR2FKx^=y0~f zIpBEw&jpok8L0Fw0~z|vxXd^~daeoQUC*E)9J4OjOya+_6M2o;Rpzg=H5?l#h1zrwb4Xy## zf;WMt{NQ!CZ+CdN!=HjT;{OOJI-Lu>3HK8YUv&5qcq{%oFM0>~CAbbuLwN55TYx_T zJAz853%DM)&WZk*s;&p`!~H1uGw?Bo8y&s?K7jwn;Dg}j;6vaZ=hNNBJ_i7h{9cZ3%A1y)XC*>0Sx` z2KPGfx8R))f9P-n_p}LXqG!Ma z_##*jd=pFuKLC~P$6yBTe>nWg;nxm1tZ2gb0JWBF3GM;51sj7$gH6G~;ND<9$R1f# z0`3bg0=XL_TI}$0Q2GAA;q}gcJ=g}iAA|dWcZ2(b_kst44}u4QPl1`>3t&6&Phdyz zNR-{d;BnxgU>4XJT;Om8co^>0U{~-JP~~_XJOcNxz;56l!0zDQdvYfa*d7$!A^?DX4f~fT!U8 z66F1uh>LEFe*zqXyB;_eJQCzCm8d^B4jc)N2hRdo>qaxc)4}}z$KKljXj#>H|JQXh z44|N(fM}QlqM`!M3^T)wqRuOVf+7ySg~7nw$mqb}%%EUc_rQ=?rf61HwrOc=o0XOB zTInwBT3KuR*oM3AW-azutGm`}i@Vle>-l`o`JL;&=4M{C?f>kv9r(@nJ}eCJ@I9dP^#kUA7kCBsPl4|Q{g|wKre{LOLi(<{o)L6F zj1U+<#%Ua@biZ})NRe)T>DTXG{J1@iajwWclhAuLI>R{?ngUIP-UiKrN|HE=BRzd! zWzMq;8KqfFUUZV!=j#KYo@smj-;B5;l}ycfDNTWU9O2b$7hv)CehVxt$LkN)4Xsc=cxjD{?Or%|~WH z6QPr!L!oZy2heel?r`}d-tG80I2&Tr#YmRLoSH9Ybkb=Hnfct_RcUo1KOaVVF^k_z zU6_&cee6y0DX-sx<~n|z&@W}ys#EvA94hm&B<@3XsuJVRxL=2!)TT)HXpKSpOVCoy zsC@Y)zvGadjM{|S$}jo75b|q-SZ6bxVLD-2>FzUd^R>0KFU@7wCGD&}iDMS-evTg} zbN?8(X^>1^q_$a~?6ZbDVWs)))A5AvgdT#PgkFFsKr|bwh1Nh@p*_$a%zrNlFm+7U zhm4KR%rcbaa@6?OXZyVa?*DP?L+xFNPwRJu4gQ7awcHsSf1fKo#H>jx?QYiwcD>jd z)V|a__xZZEb(|H-`-eNB2Rz4shOTnXLcNy*}-B_`zsR_KYi9m;8i+7 zp0ku0%+Vg)-&M%-nED{k&MY76S#7TiEN|&vw_$Zd!9~2Q`83&|h ziKiW&c6j~-`wB~ECOoJ{A0E|nS96C?Gwb(tCB}5T&F&opAMf3GZXjOP`q2)HSNg+p zuMZC=b;89*EN!`3*d5jJ|zIaJT=cYb;rjJvuRm7t>0-x$& zJZ_gl%EuWEUI#;)VaAfQ8GC+^l$F`j;QOHclvT3_ok1$TA-*BQS0E&}@cgWnwWZ8c z@C8Ht6<=q0ins@5us5r}AF7N3AgGOVVN1ZfR?8 z<-yQu-<`Pl_Y;3Nm47l}=QZYKLy~=Xxv6-wE+tWUlrQl;0Uvb~eJsVNzBQeuo<-s0 z`Y4uYef-w9w_GW|bey{H6@whKS$y#$gD!}FU~ zcPUMs_djAFfAmZIM-Jpq-N;|{+Hd@nUH+Qi_3KYLLfg4zD1D-B7PK9=FMC{!F6ms` z>6zSpnVyH^o)i)Yo9=BSK8m2jXc#Kww>c;ujf7*&kA^5JA8_Lpjm|9LHKJ@;c@C49=l|! zYEH+K$P{Pz^Quku z3FDsMZtCW0_T&t|(mS#sTx)iH%a-=;3*0A+(FKK>To6X(YTmXv>jU}zM{P8np8p1N zm+PCR7WiGuB)6lp+{LZuooT*AW_6pc)RSMOulAJ=)1vaG3ZgKY52eFgv!$gQeRkbc zOS`Y1V+z8oZ`;(uOe9H1tIl*B&Od+ky3+|AYG_Ac))Mv`=XxDd-Jejv>&oGycDiw5 zfj^Jh+q27=;v(bFM=S38iJNXSntNV8?%4&r+*R0W+3v%u{VpvvuSxN0>`9j?ov(Dd zB`CFaJswK&o;n0?=zBxkdYm{8qvM&kET4Dg0DaO=zxOP;%`fm**%q~|V$^!q+j&60M%Q{-~_iz1T#CZ42c=xsOP3Ofo-4@?+Vtng0@vR@>32gk4 z%Q82XXWsYK%+2R!KJcT=Ef-{N$z^VNA#>|bGkY$NZ_CBE7iB(pR{X*B@f|m2KGYe1 z=(Ws;zm>W3?94}hk@?vAOz*EUAKxB-{4e9XX2f^>W&DY2+&aPSRg7Wm*})}Tv*O-% zhN@Wg@=Nl+2J&mr*sVvg;^Usj>8IX9aeE~60X z;r|4jhy8PgUp9Q$kmpTWJLaAQ75*u(4Ey&DpE3NQ;jf%;dve-JOKbbp42t_V8u}hvYW|oB$2pHzwW&TyYAlz-y^F|g`b7o{r&c#o)_cm*O~e6U>4!F&~fqXA@cQnI*3lmJ*WQtOwj9( z?gh!;XFnGG@N2y|SvO85{OcB99ee~)f0&bdBdC5}@a|9t?$ zvP`v-X-zF$d?P=zpL95(;Z51bLHOWyrBg2^ERNN@;G#-UHqN z-U})m?+&=<{||s4#{GYr`@eu6!Tzt{ouKZa`WTqWcs>rUy8HIW7?v4UfPX}|O2cNu zmEhgDuLth|b$|b-z^x!M&V3BL7yJtN8Bq6A-4E)1s?UPo1wRM=4fp_vI3urj$LMF2 z*Soi;?7B}u@8EnfaT~3X2IJe}Oj;p52F9Nc@%QwP*3C&6ALe5G)Pv>2OvUcQZ{_xe z>-jygkH7eImynE)V_V|y?*mec^Y;dgL&|q@(n3#f#@RhSV>n4WhLLRycLj}!?t|V5 zt#omzoaz4a$>OjsjFYwHt;D?-cNx{O)+7%`{;bNEK=luDXRLE~d7Wms0DKsK^%L^1 z2mchi+J^94L;6H_#$rAAHQea~+!+hnnLASZG57%ZTom;djq?6u!Jpwi&hTi% zV?Z><-I?~U;M=ha%MIs)KgWJHsB{{H*c%O-4OfCM(25BZ!x>h@cbwC4}-6P9|3<2-Ulka&w|V~a(@Cc-sHXrz5)I@_#5yqz=(b4 zzXD_MyWlAB``~EsUqHq43RsN&m*5!i+9L0MJ;=D8dl#s)9lhWo;O*de@Ux)Kczg?F zt&rOX>a52PK{hRNKL&N?<0qif`58DF`#*zIz?VUt1(`6~p9OgvsAuaZfyaQSfX9NT zf^P?P_nXdm)Ppm?MIgGEI|rm6&YcUM2)2PrZzFgT_D$eya6728A0GwL+1ww4=xk1V zhjYR7oohM+vKM#Z4-KCMbq3^U+N92O91kiT-8o%>eKuIh_tsj$8thq+{y+B~P~moh zj03q|@GS6;%>7f~+1NjAsIx_~>ueEiDEB$A4%D4D-=bc>Z1@+T;{6uLIFj3M_J0PO zu)hE<0_k+3#o$Sx&SEr!=YsD6mx2dCow0Zoq^;(D4eG1~+GBn5mHHXw`)2hx!S26x zR77xpAKYS4bKN=6pFzv$4<{$#M@J>}d<&r~p&OwE(1{Q;5sdoTF`Ur5g1&Mzvy##D zOrwc!G`A3r)~wsY6vI~xpN#Lrr?X!6b2A@@=Ddn`rVHcUrm+q>2DdrT?8IGjaTy=a zaoA??TjA9IpXB`XyO`g_q~hIA0CnGw!sYYMu5TRT8pE7%3^UC!%;v^010BOD%Q38E zl+K}Ub??*k;m*NTVO6d%j`I9(cXp+Fh)xY+e10l$Sp;3+?4#|hgZ##DVpOL+M$xQYE1(4DEuO4+ao_q5GlT&{tgeFs9MJF%mMy zAK_Ts>5lu4jiSBKGtgv)_c>5I)C)ZTJr2DLjb%YF3t9-Rg5Ij3o1ql`-4b6@8ng4} zr&Pl~?(q8@(L(2P5ksN~g8DXC5H?6Wa zl~#Bz)a-Oiy(SxG6iULJWl8QY>+ke6MY z$W&RG2FY9>>6~z{+rv;;U-sDPhWyiEZzSvr?hFp``n<=zPF|40d9Chg=;>35u$uK)7yNAb-IUVrM$ zx(9RG7gapWUn22_@Nf0}$3bU1Qs+LjC#r1Hg*w#l?hS0G@@0xHek)InAagFw*Q39& zGKepOy+1yj-9EGWsbM{%Cj3OlqcMlRjz`>TWAW7Dv*NQde5b8vszyA;7oL&bp~Nv+ z5AN^r$XM;s$(ZkYWV9a&s$h%JdPK@~`h9t%6s4A*|f@;eILZi*P@};!wG;Dj$8y zrSLBiUTc>!{HI!Y$q(`L32)E+U5zRKf!H}4_VfQB59w4qF+Mlbkzwm0uRB}S$S_*N z26FN=;hqm5~d%5X3FuZCBAA*|f@<6eQg3f*dP=oypBHYFvC z&VqN#LfJ<0UQ#HV<^siI;y&eCJ{m_%x?Id&i}#fDQ?B}KdplbV%KvuqJ`rB=g|Kpe z1b3a+P`N&Cas2;LF0FZF(&b{tT>R~le#*u9FLkEMzwY6F!O9iF%6$)R&s(|v*5dem zmMhHNUhk(|vnkha`j(4pA}`6dbow&Qf#*?3vIyZ+Canh_fmB!H=xn5Wzt1v-e!1Ny zy(?(%!JJH)DlJb@e(Ym}(WB$85zPyw|7tgyzm-r(KSsuGyi|HqA&s9hw2_>Cvj3Y? zwhjk1PZrYmx^=C_8QJNYH3sEMKxCM^1k}3sa*#33y@w{e0z3U%@3+nWufd~nf6{QD zA$v)z+IXh}RQ&%NRDA61IAl*pXQ13YK`d2ret%NWaC9d8Y<$z_!I|M={F+N=!dIm1 zel4kWR5*` zfG2|Ry60^0IDh=yb2j`O&Nr+8X|uU%!?QreR}Z2eZr@Pxo^S4wGh?lLZZ`+?@|hOt z-GKDD`EX|b5RIl7FQamvrBxu`1eOZb6fH>(h55;W{B!lc-nb5MF znyGLcs5~f~?2=|Jh^{+S*Ep=x~q2_lv~}me=54*^PkS+ zo|1v{h)i4_n?U7Jn9if@%HtwXc@!#-Lgi8Z={zFaH7crPi46GuKaRq|@Hub?_zJiSjAQ?7O_R3wW1j)u z0+xZq>AsnL2Y4a&kAN-U$G~gAPk=q(-QaEDr@?!`&wyV7KMQ^Xd;t7D_(kwJ@XO#U z;KN`{&LW)axGo<)rS2)FUz0nQk_HJ`m7{zmAG>X3mkg3Mm!w%&S zrWTrAg5E=|P%m^B^eD6sIslEI!CoEI2(?1np*x`mp?%Q*?WTwfhWi1Yw9GOuNX%&F zEqBLirx?5cNAouEp;wwi=(`HeewK>Tv2fm1=v zLXHB@1kuS{BdB>gW3QW+H-n6G=xG`HSpw;s=f^|ypm#&k-FeU~!&AUH&iw$qDu?!U zWb}I)dOYX<5nXnL`oo_QNg&<+nTI&zS04WNCfff|OlVx!VE2EHWZx$XzxMd(WBt9l z^zGqYs(seqeAp-D{&o<)EJ-i_;!#&)wyUi(%lEFi9B!-MQ|N|cH*ttR@M!Nq5!LxE z1^tXt?=LaM%I`0v!*ub?r)xcLEZM#98snJPM7_kXHh8|}DZKNO=G8j^idQ@uCvwn2 z>=&naBH8}4hstH2ge@k=h^dl%S_{e$2}(3h==^5~w1Ly?(M)Oe?}yISMx zyn>%G`aKMtA~+tmQs;k^`RVMg;`$}LoS!h=ijzGr^*N0aJmwnG)z3~aT?bv*RR==J zUZ|9}fTf`FKOejndxc>QxE1?4^Is2c!+xcq%Ka|vA25HFdpq_!z#G6%f$ssoVE(Lq zlsR`+lC_gN_q+p~M22^QM}YJhxg)_{;K8~P_PuBb7_Tqd6G4Of*gF&Z=;$2eIm6lg zK1wI8qYk%X$FDRF;H&XG{j9ffCeJ{iZs;!PA?QgcZPb3l^S^HMkgf$oA6Wd!?biS6 z`#<)&@ zTd0fWYpwp9wr=j|@=qnzuZ#CVNZ~`6^ctYQIsUNj0a(c!@!OgwDHH!3FQMxnI zx%+7HD88`H-(GLvj;QBXo z(XBt}QFH45SQF&tfV07~z>~pdkR8aJ`mIyJtsr4??*r$8cY*Uj^-ruJa(hAg!rb42 zWuWp>4*my7-{gjPVzLU>y3zlV4Mcp=mPX$%m`|I(x{*BIvI z7Hj{>nIrl8vi&|Z^83wst|ipX4O z|I8zt(HtU}#prdGif~>_x|Y~A5^k<2UY)N{_z-4T?c3J#gWdCyZu4%P@7C_~>Xwj} z>sNw(9uK;=Z1#Hrsq-O@zw;`Zwe2C`cU?zkdu#pzjxPBX?jfiRpFh+*e3Zs*U)LFs z{UmqxLvxj>$fKyAZyW>}ztE42DO2$Sc^O}nF#aSb{DRX&JM>8hSsXJrcWkcp#n zl%&cPp5NZBOk+AdxWDJZ|L^%cEN;1$eHORU^6LWag|C87JRw{-e}am;HJ2hve@jzo zj^zACjidd1Lr~sboHq zGdMwSCX+^-`xF1h=P&x|i_Wgg?D63KE+hZ9SDD;>{&~GS+s4-cUEZg|b2B8K5H94M zwM$xG-fG_6ed%$R&-x>zm)7;A8vHRcJ-EN;llPem`s7`&r*k3s$nM$=vI}j_>$^Wo ztMlbDtnCtW0qHiT(mnW7n!et39%d{2;tk1UBas(%|bhd7UmGd1jT%(TC|&&n=s7*^XoSk|LTNHfm;aolrS-18^#j=AxUFFA=X!Ci5NwyQg5 zWj1(le=m|eQ4A+y#@xkrKiiv_C%Qh>`j5;+Vjs_5)%S>4c?fm-lI3B0Di6)%VJZsa z^5FUpM*Yp*TwJ%Lt7}WvwYACc-3y5?gjIW3j@#YPiMTJdI6^(lN!9i0&7Ce%B^z}6 zP0VRx&1o{na*tLv&Sr9b^;LJ;%3SHe{as1fZVzR1#nFWFs*cX)mbD!n+9wDCO zrTMsI%YO7ZOlAAZwx9GbhUZs>>9=kAou(hw0O77C?FR&N3F)ul!J~8P`>8KiuP>A5 zRysWKgm9s)&P~-{;k-n3$j-vx=b&kfh5eH1kFj32R#7$iF?}LqUC-rytP8rjN1ZAr zU7kxR&jvP9TzLvVT}4>wT5EN)9If?JW78ym`iR%!rCuR z){xY9G!b_h<((x7Z^invCKrOVC-*IpMdq(LMKkW_8cJ87+!|2)>p=Q^cUJjQa2NK= z!JEy05BLu3w}Gp`+YLW%{+}?r>iP=&{}_BH_yzO-GPoN1R}8;y_$asr_s2lR`vj=` z{5{x${TXmA_zxg0Dfu?-3)r*RUj)~KS~F|_^~_!T)4?|E#~SL+1=;6-SAlcEcJOp? zBgmch+&s@2d64#-BU&eaf1mqhvPQlQ9|NA4*hkZA=-p-+|2%F2eFLo)b2v|x^sew2 zd%EQBywGh%$2<4w>Qyk|*yVTW>Nhg0vm|p0f zYK;Z4bl913{M~B5C6fvK?uz`mc*cpGQkVM-a0~XChAQ24*y%&W@6NSv1F@P+^5yq^ z+T~FZPZ&a8Sb9c&%@`-^O|lj}VEVe9xDd0uZ{}^F@}RuD8+ZCuhmv59|7U{ouLFCq z*BeTYcVegAsO&lFK6)>x-efn}X&CfZdMo#jfj5EDTiSQ-Uho58(9?&p)82D`3f>BS z1H2vlCa8Qo34Rd!_rN>Ar_EjZ`62B82!0scZ|={7AHn`p@J{eQ!H-J2v_#Efv+e|y{VY;*X_AkBn}M8Aq=7!B>KCTIQ;sPLi1ndFz6xo%c0X>bR{<) zH_2-vD7$it?zrbya-U=N3h)u!)suV`MAzM2GSsO%EBypWUzqy^_~+mo;9r1V-s096 ztM6pjx!?8LEn)=p=b3kaBAt(3laymCA^jRLPS%cNacg%mMA2VHz8(G*cnEIFulk6` zv8%kow;QTmehd40@Y|rz*IaBt4=!f>&|PPpN%}fB-^c%K@NdBj%wKboA7F0=_kovyv|0Bq z)Zc@QIWAslsN%a8q%G&J2WiVzPR-j+!zGke_CuNT`MQ{ZPIaXvD{Q5FZ)}4pqw#S9^_wq#g5Uj)u{|!_gUk1HirStd!dkkGgn)_W6hyI)Kg$)_0ncj6uc9ss3N za-RXdie0)TJQ<{acK0F5{|ne(!~R9XuYkYCj%?jMLd6uGcACTL>Q(P`$*9hK-Ak*2 zT{?3ywA_W24k+(_ojG{kDVocB45ss*!LGaumG>g>b706jb0U{_q4GWk{5y~{8ad@% zcNAgmC-2H@Vcu(T+n(edy|Q&>oUBPF;r5Io#4x@&-OznUwb+%X2Jmp~jfRUsHpE?9 z<&2bTqY9@sO5fphN7!n1=?Hr#xvN2i>j00!zS*!FJR19M@EFkRk~A(|2fBCX=#*Rd z)=%0^_x&wL$dJ=jGDmo#GN}y_J z71Ryg0X+ac0quu0rJM$pLW`kxs292ydK7vVIsi>RiRUWNQm7T$4*jl75fO#+xR+*p zteQszGoAg0r>5GF*xb3Txx?MwZMQ&dTGZZ=e_pA$*aV2gA9&u(d4PkS{imMm4|c|X z!0&~mz6p{(7oa^8>Er9D1vykuyp#LDuV&gdlp3wz7O4IJ!a9;>^-wPp(;@AxT%MkO5sMq3{NgUGK ze$q{D%?|siX&iEIjyhF&CPGpXrNQ22Tmojs#GJK#UvbarvHpKB)AMgpyrY+J`E%aA zqX>vuN`8Z3tS`P|n(0-2xaQnlUBI>H+pO5WtU7m~dojfycvM!!#h8=SQQ^L0ct(&8 zBbka%`(i3f+RyGeNbYc09}R!cQtd?hy|ajuXLBdUxxdY{v2ocmEz`3()AMp>$HvSK z1{|K(WhN75l%7kTklDGLOr&Mi?HZ9Ay9wnD{eSUi>8hOgBr83wK3G&vFLooR65{wN ztbs>zP)vuXWR;eK;!XP%%3;W7l$3#S$URdqIYcGI*;fh|W_o^**|8$Cq+YDRu7SXV0C~Z>ajxe(Usw37#bC)d}v)*|aXJeEYVZ z4i}z>K1u|y(Gh5D{|}Ra(o~yEhfnt>HxvE~Frg+8`@Ps-KZC~)b2Oa9e6Vg+BZwKpHyp%ZN zx5qoi$2;B^@AzuGekfs>DM2TnLb;ujsiMDVWjSwutjJ!og|}1O z_ZrkV{WE8M$Mji9@dVz`Z=slpZtAZ3RFignlhWxgOc(CbGwEmAzteJH$Fmj8m1)yZ zGDVpS+HO1x-gt`L#`8~^o^vxhDlg87_92s_);Ph;fbDa1XewX$p4hyh@<`xx9+igX(%Sd%^NiTdITR&*ho6Lk z$S0?CjsUf`)co;y@JQ?`BmHphRFGjmSv#)4&T#7XwS|{rr|WfVc;Qvp!#q^>t=MUD zxosd#A-4l0EqA}R!aanY;^rO($y@Hv!4mKX;0*8ukUVjxy=(Js59k!!FUL;aa_!(; za3eSm+yp9J-cfM*ct3a=cFCd?^v^p~DrCl*MBgP$e`j$FBcAT;o}pXJF^7>`zjj^2 zS=-y4o8OPo{fuQshl5p)j%Gb0fAQqkxcR%iC2&7R$H{n4`J-;!Wh4{kC+-=7`j`sx zJO!)*PcZ-4-~#OG1BGQExpjANoB^)1aI3(D*slQ31SNaL|6cGc>^BuYz*oR?qKJ8pkLN6K3GUjr6E=e9flEO8r5wT8 ztJ3?J7enM6GXaSo&W_Xs_MRrVH_N=+B)dy_654uXRD$ka;=&JPS3DDaB$g6+k)(+N$M|x>?zG4b}xH04AYa;4VWS;$(j{cm(#1U_GcZEdrU_%uupaxD95%287(+cPIER z>~#Kp+Cn$>8*vv(_Cm>i3wRr-`0oN0@8`hluzwlc2CA*d{Za6G?5Z1~>SR0k9qvwfFA>Y1uFa-;K#B521J&*;*8(p9}C`%eKM$U)4+SM9}RvAoB@6sJRZCc zoCQiQ<)FgXfuF(db$KcJhE`y_-c1E{i%z|Bn;MgQyy2EPKn15`NrEbZsz))?Myh~Bv80e=cA+}FTABiz>we{T2- zkUq~n2U55xWRS3~4G0&TUE>MuFLyDhaGD#?4&8H0q4ryZw}5{Ee%!)+65NaZZo|Jd z`~movxa(ctzXH8(>7IZU(7BK#5OhpmSdm`%dhoh(D{bet0oXQDYskD zu06P=_3P`D?=jqFCF7Us&d(G3|7P)Fh6D;htZ2*vdq_8FSPl(zG2I^P35Pxqj>dRx59@o zZ)U%5z%x?@4>JoC6f*<@b`Nh{yT)}a))FuHqfH#{Az|9PfNEvvYB#_n+fkN5;GUGk!16sVTVlb?ol> zUFT%NnsOg9^t#O1C{;4%1W4nH%n|fE`Z*aK3m%17nn3l-=NY0Vda~`_OFS050{d~` zRbUCY8Jq!L3my+L-*U+O!Nv0lvor3~Bl>eSr0#CvH$Ka{pufaLs zC^E=cmMa41f!e20Iuk+VQ@SP8IhiutXPf;rupGPQSo6U~kX|~+-3M-cra2S!mb(kA z0ly5M4t@nZ1AGWv2>NF*oJvkk{Drk>73;jJj=+W49N1(nh@J{FE z*P$1%+B_CFzveu~&I~Akp0aur-=mPe51{pF7E&6;F;m#aN*BKdkfJluiAH`W;O<=yx*XL9JU9M>t=t`M%8I9^7Br zX7K|-mJ;Oo+3O@ox_s6$!+6$!fJ+IxkUgE2=xVh5eCWEUnNw_Sobc$P1g-S`tJSJ8 z%A4{U=k~`t{t7$qrP6=s+3^~_u%ZQZ&m+;!&qTcwqTVk@yPl5Tdye?LEc|i1=i z_Tc`~rxbrZlw)DKAo^xP*@(ZHARSAm`MRYkxdw9@VfGD@rb;}LeZ;~v_5C54behPz zc>f@2(pSEvG+(wfuXZW>Ka`{Rr9sl9U#8C;LRXNV`hJx~<x)H-utOr#)G$1=4UKT>N7Evskm#9G_{(1D|M^yxyxw04Tf?Qe`=64wPG1o zf6!OXuDxY?zna;#rEfcW%JN{#6qgOkRXmM>ohWG32e+dIIKP#0H)`UCVXc%H%2hmL zkTeGpEAjd^7}LvoqxnL+{hmo!r9(5# zX$FEgbDFVePSpaQh<&YLo1x}@C*kh**rcjFSyI32^Y1KqDQI?1bVgK^R})8(S= z@bm2=PTGs+ z*S(Mo`s3n5H*-f~SDB}RniooUG%s8RYF;RrXkI88D%>Ve^Fx}3+piC@z{<#3OAe+( zCqRC*DF#EnR36_}xKl+8n6z%4O}vs(EvRzVfj<62qjVfIobJa-n@GpO;OF940!|=~ zb3s2RJ&`;WCwmPQ^2A&U)t-!AK)ul2&?C^Z&;e)~lk-xj8ES|2K=(sWLeE2E>6}ZT zMrak3gYJYLg??W~x)Rp^&sw6=>0roa@r@|DWE(BxZCZPOGOYja#984(n32r)4w|>6 z*7t8_KBlsS`ItIl#i2H$cI)#O+ls-@QP^u#+80q6a>hz`GW4*eBhw&#}|GQl!vnDbW`$p>j-&R@u z_p|?_u%Zw~dZB(`7H&_2wJd%Wo%RdV)@oCGCL3C=Wi8>~Ki8g$@{;z~9R+Rc+BUar z;(FT+-p8)dwD0d>rS~zzSxD51j6lt8sRy|W^w83ah(6v`r{Y6cpPx9%r?Nc_lF=Nt zhFydM{8stWcNtcoD{G*w(7mQN;`xL5?=J!AbvUo}gz53>RIv_6-^MYxIxih! z+RvG+c=?W6%vT1R*nA9q!jriB`iNcKV0C+td-VeYUryyv-=Mq+na{d$P-)1nK7lnI zYfOI@jy0q6XYHr{BBy-`;X+XB@iRg3Ee187UIJ=8y$WO;u<=uO2Up^v`EbW_}F+!{2t$))YorEx9ReUDPQrn!6x826mSHsKkW+;5`Hj*q+h z7H`Vz{I_IYulGB=jCpop^>ZA2PLaX%yj~fT&f@0g@yyK~@;uDV+e<+CYsX0Q_gSEx zl{J8xx32}KgY^B{FW>P~P~ra-oPqmG;7m~aXT;(5&*VSb?CjNPZz8u6l>237*ZVax6kS!7-lTApEmp2@2TCoM1Kc= zev3I~+-a}W(y{6r$WNm*h&%cz3qaw?X8%5&uIv-2aN%u`u*bsP#3EAmGp*16>?jL& ztjC8@F!?Vl@wkyLQTBUCS6D^`3%_T0leu4reC58<;=cjKl08O|gi}yZ;pb@#!VfWE zId^nKxbg^(zp{LfwtT#Ch&&(A9xLx8 z8ky{$FnNr&d@QqccUgJAVdZ#bv=856a(avgA^xA6ymysY{KmJ@G!X! zyg#@4dDY7Ms>$y*D|e06+YFOS*5uh__4XZ0_Zt>(o2Bz})6Yti_pc0}rZ6fG(K!4O z9g*yhS$^kQxhGgUPg^`aR<7?9`S3Sb{y$*#K6i$9pKE$~wB>(>mG3db`>YGcxz0quQF*+d`DaOGp$~pF81yiuDp$2OD4%21D1uGs4BY3nDJ znZ9XGr~27w`u!m*XPu>c;W+PKXZ%x)?-OIa`>}>s7>+jNIjW0yi{<+$8^bHp3fCKmNhW^(z|>KWh0r+3Mjo>$jUMKXWa;o2;ELvG#D2 z>Ekx5pBF9M_YChbd0l4h=|0Q)VWs8w4YR*!a@c0^EVJ?+YkGUK$yG0! zD4ri#`Bqx_TPz<>TX`?EcKK5)-!?1XB-7)QE&Us;JSSLr@3Z_jS$%)g@_&_nSOlU@G(ob#p1>4$~nX2F~#Kha|?H$#e0Iu zX~GO2e&uYBm8K_c##d(YI@!wqA?ruSS-pP9}7VaD7KFRoJSUK7Z zzhw9;!_lLsyoE_8x#LAGo#ufq9C~9-&3MswWY+LA%D|q$147@QIXER?;$zyFDGEG zWa6GFOzaOqM!Zu){>8{zSN_XMzhvS>)Yci|C#9KCt$xuvO(cHus+D3%1ZQnYR3r=j zkoJQxJ()}iXJp1kq&>DMl5I^iacm6l5w(ja!kE!3OJg&KClHzb+!rIUeJRYEcAIQ;sn?sK}kbBsENl z4_orGv+;*+!98=B1(re!p~X-$v<7O2wnDwo9_TLUe&``+FZ3kz4D>vtNMDB#gZo}+ z2{;GRc@^r}eNS{1xB+?s(*D7I=q2bis7OVJ^gi8er~;~mmO{GotQFb}ZHJJ%`_Ap% z-~-Sj(Bsfk(6i7B&;ckKMHwO8OEn8Bg%(1Kp=M|eq#ChCRuKzBj+Lk~fF zp(mkdpw}VY?KBxGf#yKfP$RS)S_O4OIp}8SPUv3fLFiHF31~m`67(9R&R`-m9hwbQ zK()|P=u)T^+6?L2FuS2Upu3?5phuv`p{Jl{p%(Cd);j>%97GzY4N8lmOTDrf`L4e9XS&Cs3Dz0iZu zqtFx3KIkRrHK>Sjbs{t!nhjMzwa`-NQm7T$3~h&YLw7?DK#xF=Lr+1^LI)r<%JI-N zXckloErgn(HBdXW73zidKzBj+Lk~fFp(mkdpc2NaIZ!p!2rY+JK^vfMCCkMb0;+|ULaoqdXgjnUx&yi!dH{L^dK`KRdKP*CIsoax zz<6jHGz%()7D9`mW@ru64sC^cp}U}mpuNzO&@<5U(96*4(AbHT2g*S=Lw7>=LJvZZ zLQg>Zp#9KG&}&c;LaoqdXgjnUx*K``dIWkLdJ1|LdI35BMRd92 zp=r=8s1#ZVEryz*--Y2G2c;CzrEtIyvQDT2+c!P^Nw4eE6DZ8DFwGKfASC z?)mUFkq_Uxwr}_`1H?bZ!k1>X&zq0`%xIww9IW8A>5h#J+4lDHvn`!^yVwpKrqevr z;>fPk9&bzn;&!xt{cD?qz^Ze7JWm~$sS7bXo+S?az*|?cg zkA2EI-T0~&3OJZr-1!x%4ZGTo*YMhpFu)69v|NFGd~}X=D0)Wry_~Rhqrht z^6~TzE1t?E9v|M~sm#YyM4vQteyWmqe0YneDj$#L&O^sjoy6nATRim1NqwOZL&viq ziAQHwlKP@=4)OF3E1sGp9v|NFL!Vt9^qKkg(D^AtbMyVb=KM*XXd5A}-r>cC_U7aA zJeDuoc8IHpv0)hbLWA>hc^-?4wjSc@9bQ~$aXv23V{x_S<0@heFpPYm$@#cEkHy8@ zBFWeA;zFDAarHVLi;Fozh)e5|VdM*q&d23>d|WNmaDC7T!c@^WGLSE7+nWDS^~!E{ z^Yd!E+p}RqcHPx{a4*b++za>Vey_^;X>^x2!~XNbF@Ws|$VyS25$&7vw-Qr(OtYd(I=L(;jOGcC_cI>)%fPeG z@o@2O`?iC4yr1#VF9yB2pS;eB2AVSD_1=dwe)_^NSJ9r(tSBVcz{O2hc64sb^Lc;c zqu&eZN>?UDVa?I^T`9bhvifkIe?DVXNcRBwo}>?^>I0wj2JS<;DL(ISe8@HMJwtvS zpLG-$wOx+}=hO54#)oWA5B0$qJBhVicU#A%)faVlc3hne*9foN%)MBR9oKETXhTP5 z_iF#~)AKLN$GO4rTAawf%Hq`i)lhM!qDy4r`7A!_BE+|!F>aXgHC>V_v*)w;sH4y) z%%(q2;#;w0Z76VmdGcW`j@En}jr9G4#L*`oKCHz-t%Q7Nk0~8TeP_0%tGg?mjYKv+ zti?g!9^%j*(!g=JY$S2`us)6o`lX;d+9yhMF8NwOzMj3m@zD>3cKH}$-ie6^qh>3*-MpMI~%!j{sm(_y)n>YzTd zIE1B5hOm>#Utw79=JQt3o!%dgDxyDrr>nyFLAcM($?&)8>9=>2_q>yUd$?{Uv(1C5)` zm5DK==lzWjd8Ws=>H+3+WGmrUd8#eHt&CHrr{)T$Mhl0&MPE~@N+*Ioah_^%wjjF@ z=gp)wf;jushv)U>Y@xk|IMv=p5T}Zs`y4@> z)MP$R&uekE$UVRJd1AC8yBU>AhgY4RX!5TncR?pwDc6Zn|J$``ejm=KS4~brAES8r z;#jtOb@;MHK9And^ORC^L4WlOFm~;_|Gvrl8y~e3+UT8*j}brHNqcdhFiK`wLHB(a z9q@w&M(+s{`wcl4944`aNkb>c+kbDV?LJlkdgm$Y?nP&B&Z&-dd# zjOVSUR}AScq`*V*`Y^_unn&pQi@trar*6Cd*6O}OZU1Bs~ZZwlDL}T+z%>bJE?;`j^E-%FM?jprhoN$<(84v{+W9+ z0H*p^AI|t&^Zm}_2xp4hckA1PFX`yqgf_HvX4{iI_^=iSbElv?_tVc#iPGET`Fwjn z<6+Je>Rx+0i9GV#<4IcH-}6+Ftp=Yn?N!PP3_Te)GY6>Qa*QyuVK` zn;HY3H9q&?zwd)vrS4W*pC4Al0l|cPdVk|f^;dI>^Lz}K zmvG7@;qiXPlbTCJ^c(4VXw0r}+0q{F$@BAcAI5l7drPXHOh5f^#_FsTS)}{wQT>D+ z6~a>f(3dIRw+}D|z1_lB(bhtHM`aW~H9Kg`cJUcK=2JWv&^<%G96p>cM-}ZZr1uQ^ z1ph(jUc9>xzkv1@(o_ECxp_%ygItc^^Wl8@Yms~CTa^Cs z1MH)DKg%=n4`qDG@f_UWdv^a)JT3WlaWCyxX|Rg4(<Y4k+TnBx8~9iPW!soRrqlEO#@Cv!pJ!5h_HZzfpZ7B!bU5^f%W3m2 zt%Ik!39k=hys2^HCEC5@lAhwG^XdIPUnP1R^k^S#e{!_Ar7K*XnUab3Gaj@u$fTBM z1U{d9=+vF}@jLH9KfJ&3(Psz!*u!%H$EThB)EMmDEqrQTIeC1NHzdEgnzkb>Ay5Lflt2#Q}LMf4>_cy*&f4!Nrq>>}+DEQho74mt1<4g6|FFU@zQ{c4x zy}$9%#)2&Oa@KTmR5<<3>!tTMzEoSggEOVB-nd7FtICpcd3Os>TTAy>6Y|ei!ibxE zbUW0Y+BV;8a?e@IXa|8`&(kOLGao9P3;A%yPkRXbyJ>%(U#+2VMU>CK4`=+T{(UPM z;~R$qe!w^6--k1P+DBOPjz`ZYXfH}Lx4}NPn$j)L+GeW{x(YpLw%)xA3%= z5MDAprk}CJyZi7}=wN!yJ5hBt&<8S7c~l$|t-i|X??Ss?PTx8)O5X#Ym$CP=d{W1u z|CvS|PwemVcvp5me)=%Ro9er69*Eb;!Snhs#!KCVbR%@5-*jEyVe=0c#`Df6KY_P< zAYS^Bpc6if@sgjwdte}5`jNov!x%653A}p0qTf8b@z&?rhcVt%zxM1vyl(#Ed3_k; zB|jnEHH;Dcrt8LS&+Ee&FZl_)`v&55{fg)HVT`w6K6ZHO((WK1>EGc&{}`v!I)Cf{ zI)AK%uWIe9^K<>4i8_eB2Oav^OPFhMtVK4V-7G}s2aO}8i$1I`=UP{1`TeZ11I#u zeMfS+R*J{_d7diQKJsNAH$a)kSzdK|FkQD(2dLYr7QRZE{e$@*B>|oBziwQaUW?@B z>G8L0h^%l}>>28VY zs%omM8y3;yc{6yr3!*1Y$Cfic7=BsPyGd0IHRVlZdY&mWczP#C+GCKJ0}emEKAWYc zRra{kKdWQ0%Wm3g=8^m|9}5@N*HtwxDz#2}@cgZfp0rFoPafZ7{_3~1wYRd!U(I0@ zcWU>Xl}j#QDc#<(Eg~bOjScggoD2rfOEzhPd*6Is^iVWO-DO5DsSH&vC@XEMTf~gY zo5Az6B$3Zvg1<@m@BpxpuUD|QFu!I|Q+-W+P}afIu80~a(iPb$ z_^5&YsII!nggtoLE2GV-fH$)x3)4ivyBoClp!!K*1#;ea|b9{-OCPxeE7c8h>r04fCgO_uD zv`X*ZV)mh9!%w%*I1?mXSyon4-dOH6Yw&by+)W2cw;39Kx`mZm*|eycW?)VQbx|md-!RqqiovBTXJ0-?~bY} z=GQH#DX;S}4VC6ak@m7=^uG1*)9f?O^)tnb%Bm|H=a=fxJ7(~DULW0S2@Bt39u9gi zxvr&s-IjJ9DCv3K#Vzey_$V{;xrUm?CO^>`GGC`BcW>TL*b(Q;&vMx{j>;-Z8|voQ zdo>tb7On1{49ToN(~qESF5Ra-q!25zn_78l*U3{>{g9J;j<>0$Jt}QlRNq+ISm%-$ zJU?ed2dv;ZaKtk34~^YO-r2HwL)$vqCOL9vT#$^-f4ZXb^2XAJ#!8=~q4ebncQ1!B z|I(Y!Q@&HAJJeI`Et^+!hJ{0LWu@hf6^j~%mzRa^J`?5TF6d3lC!d$(0ZO({mKN33 zm)2A*N>=ZK*V&w?h;dlvwGqt)`sh$TPspdfr7N2}pWy`(_JX3)()#&T70FOJL>pfd z-E6{X9nsh|aGq9^uVyMNDsOBkn_uS60jkV{%jVMPC7YWG-*SCPcP{9>vZZTdRME6x zQAK^tF#DF1qJ7FN=4I%2l8+`{%qW{*SwlAJT+BnsVsZ4Kh0`;>H<$y_0?MY)!U3` zDA}B!tm(TE%v+a@1|hxG5-q4Jt65N4F`RYPN;BY7JbyzG=Kj5 zhQ@jq4}S)4ALU8=$c<>7-6zekikRQjR5ic8#!uu2Pq!g@qS)tf?}+AIHiDpaSF?}} z^DgZzEUIp>mD5mVu8SVBK0#yM@auY6OZSG5Vs%Y@S$U<-!pIC>)^nmecqdHe-VycB zG&MJbx45q)g_K#R&#!DK4NJ8l(r%3IwgPS-{o$9jU~OtOJa6Gy>sGHeOG7(v%epHX zs!JOe)YsGvXYXuY)NAY3?QDeqF7gwVmsZTLtgiQ|4^4@Svf* zrm1d0`TXJRuhqIc$)p=Ey_x#yFF#S!{K`t^G}Z$QuA7z7Dw9VJ9DaS|rwhp%b6(#M zUbph$cqGwKU0=DNK?TGNo|l&BkvCO0{jEC>t{A-sRkNU}vXX}Db2C(aE^~FFup?_b z1LY^0KOb?F)p%(PE{k=^e%8p+P81@&E|oA?C$hV=sD7Ap%2T85CZv(=H4m76LAOC= zR5Hn3RH4@fof%vnXSqB66z~pc_RC}cr_0^U0!{|4Z+-4{9 zqen(G=kAj?HTFUFU*;{$p9DCIVUcmDrgA|=UCl7pCQFksdSq?CPag9Fw$`wz{f~o3 zO5M6u(Zq&PS@p2mVsmt&BsumBB}G++DuP_+H4eCaW|3bd0wDIn4a%{fnlGrcyR*!lZBT{8YPpGnM#k zh$TuNv#_yc)0OQkJR3XKZP}=6>P{&ypFh81{@T{LE!CAZb1TYP=FhDuT~|7{rgeQw zS!vn&vX+|4v!VrTz}E2?gxKbOZQd)Poa6h%?k)0@``H8dorgQ$azDt(>An2nn(u>* z{O;zDKj+a`&hq;ze^wfoEsdQ`e)=}mk>+PZUE((bzdG|v%SwD}@$)<2`mTE3$nSRi zeq>ICejOwd@>1ycIDSVB!1qJ^vIF?llDY3FVT^4%xZiTpcO_Oko4(!$-+E;=EB*4;+`* zr9!_+CEV9*!3+H^!!K-p7W(ZO#P8dK`2A)Ozsea=w8G?4nBI-Y>wLR6_Q=m!RKEN0 z3%bq`_Qbfd;}_flDuDdHj$i0Q3jOxs7i3)Mw|@}7m+-sVa!|;3$t>MV>P?|v7k;M= z;P)x~t{uQ{+6nHOaOYbX=M4OUtP1^3!*8dAfC+6)zvcAh6Qk%>Sullubtgs9bKdJ9 zznQbSM|uFi>+$=u0sP8N=C0}i{CDLWQ~9>v0DjlaiK6ch;J0`# z--sK)Zx?;7;Qq?*n6iA|TIhEfeoHNUq2GP@?HwS_ zEV}{c7+)CcWL0_(4C43i_;n7zr}sOz4&e7A{2m^_@AfM0Y9GLFCY{U70sQo2?h0iX zQ&@(3sw2Ld=uM&D&+vO<0KPAr4$nY-XZW?IVl9kwDihr8KDmSZZpZJ+0sMY7h~FBN zZ0rDe*>Kjtew!JH-#0*dzs7Ht#W~r+2;}tkI{%Fd*$e%Ssn7R=g?{t#`>vQUg??|~ zcfI#I$nUxa#?FlQEaW?9Q53yl9d@Cgz9AaE9~#DM#iBB-SkCtueUzLV&l~ya8_=PT zJ1Xzx_`ZPOpPJjW0>9P^(OpG=31fkN%jxKg^5b869xA`(_`O2`F?>=eG4lHyem^mn zLcb3*N72_Ty+XfpE{-C7?@6Z6@2N}q*5LqtE8h`C9~&Ufe_O@e-~6WgsNG*V9re!q z{5s6jzqO2i`hl70!TpufW$U8o{pMEa_dI@+%#R^EG2(j_zlr8j=r_7G zKmRQByA!|vWpz~OcO{)f(C0$G?f8Ac(qpJkjPi2IhP+-D`ZeJ94J&)0U(r<&Uo`io z&@YSM_yPE?Ve;~?1MsbCkD~L;kLg2V6xAQ&7sh}>zf~Lg{;7p#YLOW6joSpTxfJ?6 zh+m84v(RtS<|wK$Sr_`9%OJ+I!I?t8F8od^?%(fYTl3@dNyaZw79JSH@6YiYYvE@b z3dHxVLHzz^5Wl}0#P7$0`2B1UzhB^2Y56P6=keR}bLc|9Q}7!<0ACe;hYjG@IEdeh zLHyPX;Ae|I|uRm41Qtm6?96)Roy-^h~IZpah_uG34G5C;`g&b{0W_#I+yr3HQs_)Q7 z`EJE8%r(jrA76$)!Y{~deu3Y^DZh#WzbEkvbDGdb6-4R%1iz5aLcf;>;VXW3zF#Wj zJ8TfYsrZF5R2AfNE`AHlttZlT|c_=WMk(C^pyEws4KFcc`xs-5}rg)qTyBYq*DXUfrx_-@B9 zq<2>E0Oj{-{6hOF^!s1<1>Gz3`|SXJ`uN=hMNI7By|UAKkwr#sdPd}Tg@v`;-mh>O zUWnFr=8KW$*k~N>_RM5dNNd^ey zB9m|^XmCNn15rUiQD7B?6%`d$RB%DTMHdxCc5xS7Q1Dp6W7h*z^#5M>>zT=r48hHx z%)fsczEpR;>Z(_-s;j$es;aN2?h7xVi;N37L>#{9Nt$+AlAfexrzdIpBI(=sr*FqC z@ptCJxew%fbn>0K^ot!#8XRBhEDX=eFL1fTyG=_<=y58BeHmuaZN2Qoz(M6f-+^J&y={x#K@S)R6cxE zm{Tx4wXCc(Kc~FRRp*BG=F7f&SU%J1+Q3zoxar9Zwz^ivGtW~V5Phb7*0mnq($QPG z=Q*REN=fE_x*b(6DN=v7sd9EoU8_@N{q@|#>ROxQDo#CL-QIc=XgQd=wvu^&KYo3f zx>mzmSe`Wt>RN>=Yp=|v^DYe%6e>wQGS`+j-|mY`MJeOwFMs}0x|sy)k9KrO$C9;$ znw?G7z6xvCSr}=p{UkcriQ4W1bhz~zm|rw$K+(8jqgN3R18$?2yEL~K-%w=Mcuqla z?j*}&ob-3}%Dvc8q8%WnhjxIt%?=RruhXXk#P0HN6xOH%#BFtexU~Z$*KE<{FLBBO zkyAX2M2T@tHS1F=3}G)H6-)}|$*TcV1o>oz-OkqniA;%q^oFxvy>jg>E@yReI&XWWyOS2^NaT5&1IwNu@I}&G>>+8e0jcn zz=KtTf=#=L#W{KA@=f)q7!xbZY1j^JBJAUORH@wj*syd^s!pEE(vs9?IUc8*ZLeTb zEl<{O;+E#B$3pbfZMVa-n>~@`o%mdlYg#=j<}JZWEq*YSUoh4w&oyYav-NK+zGG*t zC*^jO(9hsGtjC&F(CnzHrzeXlRg@>#9KJebX=uF}1e1QI(oU-@E4cKU zT2!j5SOs0Rn>e)|Rk9l}M~t>VrSfwNPuB8g>7f6FpIgez zpIeGtW#c?QxA4Z~`*RB`=a@gYI4k|!(upn`8Ro`F79-_w-ygrfSjN#Xl!c);XX5T= zSc?oHT+L9Mb8%xh?tm-9sAR}jZ-(p0F!9m!{V;0A9OB2R=9C|T8m%}_hMVmnune8M zj_75mX6rDfLEyf@`Qf;CF;wS#-0vCA(;4@3;^S0vpAkI9Ck)GxG$%7eMuxpTO(HTa zp`1iz=-@H}wZ~n{kQ$;gn&QfEyeCMfD{f!XZ-d*LNG`x_Lil#L;|U}-kWF$vm~=SB zxE_O`nz`*A8jCg!TeTLLh$I|7qGV;<;Nt@ ziXKta#tpc)Q_3P+ivOn+`eG{9LTXqNesY|Ie}DXB{GWVxIu1Wsw@lVB8Vd(FmiT0z z@J7y&Z#-?JQgy`NLEJ}>6;Siy2)h`+?Hq3gS%ogw%wrXrW%{}cYA+eYXQtB6bTBxBGv61FGDVUY$S44MCj zzg)0a!!;mzk$GI#LN-XgWK2KVHl*r{?(vWSi6AyfhKoVwg^P}T;8N%dDUb?jkPaD; z30cq&`ojRY3@!(mpF0Q!!xb!11*bDpM@ zSv1J_-&l}_PR7{Em{=M6Ds@%HvdY-gP{5RC111fbG(OS*P?TnaB8`GHK+(1dN0$;VKvfqv2|}1{^R3u7zwE3r@&^ zT*w0#jDzto0rEkv{Yg*&g-`^=Py&;o6x>h-}jaO{VynM-LAHUOjL0{{*#e+9r-Fn=v z)|+~8-G>g?bo$Qjb2qd;Gwqh!rk*zEzBO&bHNnP3|9ENEi>=Q+W$i~h-`q8+#T}hf zuUXsqw$u8*xh6Me-iUT5t5-w#y0JiQmA|8F%IBkRxb3H>vIey1xT)FTv+v%~zh}?s zKW5_$?Z_hclJumX{ak)L78h+0m58Wh> zw+&kmTA;Sde^l&4XSLtFKjVv`H{JbS?#<25e4<}&$ip{&^8A5w2d(^U|209F^#+x& zKy8)($gkkReJrucg^bi=w(gcOxQK`nbmK%-8cWXk_KZ3rv+-O{JZXc z_Ren?eel7{sUJ>RzwDuL(;k@iRr0@{-h1fimG@5k{ENlGnfnHIBv0YkyetX&L=Nq7c>|Zb z>77n*?U@w+ zuj`5%K5KpCg~o5SI&c4DTeF6CIPmIS312*S#xp^h{r~rB)z$*iheBIYLcw2U8-l&-5S*;&BtxIDW+SITGp#^HI{0}#NZe)|?jph#DwmUL&c;hF9R1@jr|jJIMV~Y8y!Yd; zmQGx_v+0rvzvLEoX)tzhTA;SdfBk7!{q5cF+cwIJ{PT->yTaqU&A4iA;-<1u&-A;# z=+x1#$nesJEeI`8TjhWG-rxM(;*J>`OQs)v_`z4Z+?qS%mhcA)pWbw6<6m0e7~O1h z5N5qWB`i=|<-hmff!I-_yUcm7XK~qMk+1*zq3*vlfBnGFyu(-DUi8b$p@j{`4o(Zy zR{0P3`t13C+L-_}3Rjak~FE}%*eYc?>q@3F2 zKt|h?wd;EnpR@al?)SfQW3PV8#=a|4ry8~(v_Nf@|LjHIo!ZDv|cjuh6O*ibslK6h-g&IsOuVi;Hf#e*(T~_{m&vk-5xJ)}Ief^M?KL+1zI(>=67UtjK)B zKGeb+_O<~xE|9RN;U{55<{LJznK$e+_w>C|!tM>V!ivl{Y@3eWuw64ImrB^1e`AFe znQz!9F;X|=lDFL#R+xE{Imx1f$b7@z)5aTiNgH>W#M=}<2`e(+uwBmZhMiNIyIjI9 zZEb}WnQzz#%xvqB_0O#J688S4R#=hwhTX&LOFL}$HBU{Gu*2{Z9Yp3Ew*5KYuo7GU8Rjip)3c;r8CJw{0l;y@b6MKM5-` z->`S!*A1ke6<_z%0SPPDr-T)mZ`hYxdBg7R`DRZE8;75S6`60?KXb9#@&5c*=LQLz zfuDpGnQz#q+j_&!Pv3H#gbl|}!ivl{Y|C(O*lu5@ydYs^y%Py5GT*Qn*vHmk{^jRi zD`D4A$0e-De8Ub7^@h#eS{5&1H&e$YtjK)B{`C}Z*yV?Zt(LIE@RP72^9{Q<#2fa; zbIz1c!5R+yB&^7M!?xl&?1sOTMd8FppO>&Vgjr!l<{P#V?S>t;;t#i*d7II}3M(?- zutZa@o2>QSp;@o5Q(AJ}VAI{ySE*wMDO+*7>+#!MOLE+bH+gaI0&!<)xOueGa@>bD zNZi%f+6+f~AntndFYcgl%Ps6~xhqIl{G*v)F76xZ&Qt%P)CKV$sqxS3VjVZSz;fGg z{fhhv>Y2EUC=+qpP>;>?s8iw|RlS?29>=(b#sBFD%iYw|ax*(y?iR{Pt))~kJ@)jox4pK`TNGj*3}zK5!v259*AG{5oOOC>*Z)c>&NbGPO{ zU-S8z#vcd47KZmO2&qOO*FjOH^!^Y@0PlT00#^B+_@M`%7)YCI2yTk<9v&l1(AP~(r+ zdhoW!>(u&vRP%dS%ja9o@3(5dyENa)T5g@xE-tlark2}ln(h{jH(%2^to1Wq?R`|; z-DF1cLo}xQeyHVcQhg&d->o#A-5Sp<&DU!oR`{8!{~cQH5uGgm2(6dxRsT+!zfJ0{ z)NpzSa7BOw)f*^>*p?bB@Xj?dwPD#S}od2}OEB6&S9-!{i zn*JuW^Crz_AJuc7#+$5m{g!)}oZnu<_tA3M-PH0=)_fgPJvN0~{_kl$U9I&aQ}Z`e z<2^^~N1>McZqkr+4tKHK69Kj)b^{Hy0f(0*Q-6It35_) zK9V(GjkMfkkw~%gAgyn*&XOD#YW-fM`ApSxhc>h1sd|1JJ@3I#%l{m8$Ee#xU0EYe z;w@LbH)($6s4MSSBA=u7ctiEy-_7!0qWM~_=}uR7rq+-5G+#&cez-*S>>h5Nf0wq~ znW|5OrZ-Qo^8tE2%+vZfUCZY)4flq+E7V@2^?F*V`Y-8ZrQ_1{T5G*pqUHUB+9_J= z>wdNGe$Ce`4ZmOY9;Ef@pxSGN>i3zpN9AhIO`6|1ny&%aQ0%x~>%&OZ_n01krgoUF z@eI=Zo}=})yV|w2=I?#Y-$>2BQ}x)b`5mg)q)+z7p?Z{uK8c2?PxPC*F|cFW14QcUiX_cp6OaX zuW9`_sOM*Dx~nzc5!x;^Q@x`#zCx83svd9H?RdDQ?;9Hbeoc3`*3V;l-ZqVQkcQi$ z{;l==PMVK=b)Q!EsJcy>w5w>|JVe&F3<+fcxUdw%2(M^tq=bd1RD_3zHEI$X-n@B= ztO-|1ou<%M&iNHm zCe&NxVHpzt?~td2q=a)~%2})p8@}@wS(mOuXCozqCQ-LtlK&k3Sb({h6S(` zRzWzH>j|<>Z3YYh>35g_WpFzzhPAK}w!^!y4-UZ*;QBJcpd)mHI7oqkFbeXZ1ZKco zSP08u4Qzm|uoL#er|=CJJR`J(cF+Z)pf|`Gx+7pL6u>l?4GUl?tb%p08Fs)P_z6O3 z!_I$b%A?0drv? zEC=~6`v%wwJ7F(;3g3V%8ru@uK^KUE-q0ULz*s1NX)qfWz*1NR>tHkNfIaXP`~=c= zoCV>~6OteUhJXVmKp9lP?XVagfwiy^w!^z{2#!Dq_th}y2;CqKQeYsAf;=dJ888=? z!y4ECTVW^cg>OJE%9hX$x3;h3_D;CgmbUz2}zIvLqOI` zo&aS~0kSspVt52L!ghEU_Q4@I0wK~WLPzKZagYK7ArDGm2F!(pupHLF2G|NaVK00N z-+(Ok+Y;JA7l?x1&>u#CtjR2W!_#0kEQNKj8Fs)PH~?S4PY@bLexL$whsE#+tc8uR z9o~g~a0re-2>0DE=m^~)1qQ+>$b%A?0drwFtbq-%6?Vd2_!PbYgC@5nv;*n?kAmLN zA4WiJY|{TXwVCw|!0|@Q`4fzf^YV?x#@J5eooDc#BqC|r8;_A@UjwVfZnph?`Ni6k zxMa^hwtUl!Bhp^7ZKN&cf2D2M@t;@E9wMJTi!8=yh(f8GMwsrF|e-Fn^me>dJpPD+i= zjEhb%^BTC$WtnS>OTgJsU7b5ontU3=NKHsiN=na)H527e;B*s>9oohW;rXiO>C*bx zpQkqx(vxE{qm!bn6a%N%-Pogv$a84T)9Y`2$kA-zvbAy3uRsqoKjhfY{E%bzh|=lo zsYJsWX{iYrSy2hmrh%Q1GSQU?hAEA>k&&o9W!FB+en=E}>i{7qd0MWQm&V>4@@ zi_6mnZ~pbV$k)tA4!FYllBB7O_;^3^Ys4o;M`fmFC7KHHC$N16c?n0X~&trwThlnhiYCnS`CKlCnJsIn7E|4_$;dkPLSVWMt^zUWqX(Bz+ata zM!vg*FL@f7X{k|ZnMrY0lqX2rVLpFL&~`k}o^;xt_GzT~Van-7I_*(vQl=U^u&qZL zCA>Sxwg&g4)3$AGC!LxZOQV!wSF*rqXB+#>lux!T^n6R(NXSS_i_S>2lRJT(uQlJ( zBuRNct$AKO)j0byJ`g#eXt-;dk(id4n3fflWMv?5K4T4sJbSafOC76ux|QxTwuR%P zqmyGYVyv1KINfBkr$f?}K82d6>tCqxnOQM$i3wQ}(}~)RO!FOD!pZw;&C~Q$VzcG9 zGaDBd6N9Doj&q{4ub~f0QpV2MyXI+2Lz!uRuhB?|i%m^Tj!Cs*I#HS|3a@1=?^`ub zv(kO8ibs4SIw?LQHY(Pt+JVb?ocX;S(f1J)_?0@y%Y^Uu*Ryk-1-az~&N7$W*sgRI zl=EqGp6An(Gcv6Q9nuS|*TqJKDzl2PC#{$Dw3S*=U_{47rKiTGS=AtLnt5hFnb@ML ztqMbXp6SdFNL$YxQXz)vmlLzC9q}3_(n4>wm4}U zc=gdo9j;9@au*j&abX$tbQ>`-8BysO@s>s>Dwi>4znmy9{eQnwCvT%jbC~URm6exd zm*wY9avRZ6F&S}L={3`(x7nX5x=8=#f2_+Or@O4YG>2MSNu{jRw5a5SEbGCLbOM)I zPa}l;uxv+8>RF)DHC@R*X->CmKv8~KzLU?&XAduPmX;Y&QE9OWah_Y{33M83+^)uv zzS#fRPEuwtf&w#QGSZ`CqoeJcXkgonG7jl`gt)b$#}%dHo$f*-E;BJJE-kr+ZOet` zH-DszzJglOBeN*ah>ndNwgLPYup5F5nX$34 z=^1HeJp2h#wjQ!U}h-k0WPXX`HNoiKc^vFoaO3g^~bhHMp zmqY${^oWi}k+`Ugthn@q4Aa~vu*cBccpi) zDqi!=sv4D$lop#5Z9T#UE|)&$xEj&pHx_O?DWL!|q+m%YXouL0EviFEmXOX)kzra;0w?*zl$?=JC zsmV2bHyP-;N1t39R7pqg4V%YG-_C~P@09XL7nezgQFKy`uEi1NH>{-|oLt*ny?#~n zKbRK;Kj&p7CM4L86DO#55$1P~MX&$BZq>bCn);+gr>CZ-$JekApoixj^W^mLdG9#B zu;j5OGc`3iAtNzWvU&oWM48|3mT)JhLzV9$Rcn(FlNiSfs9i{b+lFX!ET8DJ8ESt0 z)li=pu})lO6rDBpLtkKhk_=u;%&i-L?S1t!dS^I`#uxD7nNgfuUg#<+bN7geiH(hm z&B=>!CdDU5#6>$}Ba)+Xqau>?#yO*-qQ^x$ljAQn66t_V-27#uk+oJC-3Xpd(wm4ZOnv-i*CD&78d)n8f0%K5viYC4wk>lm zEzxnZZOH8KwkttJmz~IDE~RX~^;^8gv}5dCHL}%I&V%Mz$DcQ!N}WcXkJ2tsMvEZGPy^{c82Ac ze?`_I+S|7J%SIy`sNwx(E0JxkCQcW<0sZtm`(7u9lHQsCvVS8ht>!!zZ%5Ork-d*> zeKoSX6Bw&qjjS_`OXq52^2^*9QJBp?4=a)kBhwNcC;J$g%(0No|GXzJ#8 z5l6hvO||Bz$g#hyLz=f8^q0jVdtFXq^Oqe%cAX_UPBt~2duL-y=zm_nEW(5cP&r`Zw(QwNwhWow#+~hvSm!;7><{YK&QF#%l)5Vsu-W$l z*%z<&!@c)E-{(+~4MBE|1Y~1Mp=T4>0q3{$~sz6n}5aY>}$Qx*Y|Qxw^OyYz*;yK=zwGbX z{BCcZ=DA3#MNw*|N&8-mQ-!RZ9{X3BE7|H%$pXUj4F zir45|!?;cT{ACA_wN@FoY|kd=eTytief(uj^1RQV{<6i$-qJGimyM^9uPPc$@-7M@McYgWX$>f*Q_CWyI#{pztAd6T1 z{PjG4y7w8{U)BRz%WBR`Kz3R+vWx(-VF6@g1IUU3$YunP-5Nl)IDqU?WcIU{U8f|w zQnnic$X@q}vxnNpK5tI|*~bB7-vp2~=0?ophPnBtcPX++y;gWE_H2@ef*Ia-lAa!k zmA|>j?0c!dY#B299>rs^XOlQz2q4>ytd)k2^qgg-_aQP{cYj&Sne;Vj_+EbJB_nID zeo=n1bYvZ?k!2&Z>#qNKg~;rC29MgFP4agqGW%I0#v`%v@DMWFX0d*<^**vVKiLjs z_A`xrjY<$n??Ys^p8m400-V?M25-CMf8J>UWNnezc}VcnGXhzn`uWT9ke#D4JB%Dk z9%dnn3$cVrmSg@E+4`Hj_mgBl+24?zs(u&y$@U|&+g*RzXUOdPyT9xQWW6=6OZ?(Y z_^mg8b{GjFdKMzH?`?hj&bu3#o!+H>vWJn`*N?yKEo64x^OyZnjZ7xLw-SZW%AV6F z>!LC%-rQ_IaZ`*mGhAci6#9Rg&|i2eHfzT9(tiWE+5BtA zGe-xm?~at`xjd_d^W4?hIN#_({x2{tWc9f2T&Wk4s|X{Kev2rB!4XC*D{aOb3Dl1y zBiXpvxCATrF)l^RlldpPs?C2^rIY8tPS|XfBI|BF0rGpN@DC^?sPHY^+=T0q=Y%D2 zAr){vTuNno14cGueIU4rM(6Yv^hMWzZrnhHC!r4wpsac5o1Ua;rzPo0T6TJprZ1Ad zjeq)f+!Fs#8jV-sDjKW5L;A%ICXJ3Sbryza@#~#CyxX*-gzk>vWiDr-^_Ou{Zbxo$ zVPSERgP(D)DlRR^a||lZb300P9&CiuGaoOaMCQRpICI>&1Rq{pUYhH249_jiFDY|7 zWI((1SI1s?=g3Cpy6Z`mKvQPxTB{7#IJe{YIkfenMx`M>C{`~@P~Ysij&+^BIl9Q@ zc2xQaSL>|~(e$1E7!>MNp70nHDtUgCuWN1W(ZUYDah`Rphc%2cpPHnKc*c*}11#&f z={rs#+fwzek7pKPU6+xklDZw9UGL1oy4J>9K$Y6ydM}=!sVAN*sL}|~I=+lN(-Yl} z$|E7`SdS|2Q&kPO3kJRXr!>~}rB$V|Oi!ln1&K1=iH<>`(6Gy{s%t&$hQ?883Qk>X z;cbSioRL$1>i7Ym=%+r`54KnMLJ=?z%3BD%%i!Q88bR>sldip_r=iu6Bj} zwl>o3Ds?-CO?MW_(`N>Y)Hntf=Q;}y58BeHn&cTFuWoz(M6f-=Lg&y={x z#K@S)RJYqzm{Tx4wXCc(Kc~FRWg6P}`OBZblx`-$`Xf7R(y?T1p+5VTtd{>SjEruy zc#BFwfn17u<9Uyj>hoi7Y9UyM21H`QzAoQYG zeJLfx=`3{>Oz|udCY8oivp%)L5X>+w<7Fi~m=w&DZV{#k7Bj{?ztCAmEzP4U*Q3cy zjV3rz!=sSZLsCygXzD}VEMh)xJ)5RPIskdwonS2+WggnKiEhS{3HiCD=CV=a&1IwN zu@I}&G>=)$TAnMXd_1=_S3MfaQ@7m?&u;camUqf8a=WJ0qhj9LRjI`frt%BMI_0?r z&33l_t>v=UlX5#sSUSjaSdTTU$~%z#h?(s%p!wuoPfr$AswmH~ImLOrR>nmOiPeYpvlm|Wdv%EyOtqBGVHG@t_;VMPxi=gu)d_<2DdknT!7nz@a=HN6G&_z zo8){j>2Qj1JqAHFbK5&K7Ht}~YArAkNjL`nh?13YgO3leTsh$Y)~&#@-PoT{Pwb@l z@}yv?6w}z>iXKtaMyaIojR}!0#b3V5vY3jskQyf6RgvQ){N>vvGX5`*{W$z&-7@)B z%vd1#97Hcm|$@bs%$s zq!GFhq<(dW9&iyzej|V^n{zg${Gvg|0?U|RY4l{gt&ESAaj-JaayHC?n*g&h7Sn1J z#&ayT&xeUH2@0SPil7*z3?@SU^t9`k#Hqk1*2dzTn*QN z1IEC$kPTzO2|17pdEkO^FdimAK1e$-2@0SPil7)uU^0|~8_J*@rodE~1`L}w=c!$f zI|F9I4R9k=z$~~4ehaf<4%`g4z+9LIx5903JKO>D;Z9fpcfs9o4=jX5a4*~ki(v`e z4-ddncn}_fWw0Dp!0+H;cm!6$qwpB4g4OVQcpTQi6YwNF1#97Hcm|$@b+8`(0MEe& zcphGW7hxl8f|uZruoCRE{0X+hYw$Y!8Fs)M@Fu(kJK=432X?``up9mY ze}z5p9{dgd4twE!_yGO^`(QtO2p_=#I0zrZC-5nJ2LFW5;Sd~#FW^h~3ciMa!N1`f z_!ho{@8Jj>g&*KY_z8}|&+rQvjrb3Z;S>mgCeRd4g;0?BWzC@l$h;{Tdwm+54zfnY zEif16!L4u`+zxlZe7F7B$F3=S&fD54;bcY^r5%h!zh=g7c n1Aut0+a8Z7XiTHt>Gk-l|2 literal 0 HcmV?d00001 diff --git a/1.3/Assemblies/Rimworld-Animations.dll b/1.3/Assemblies/Rimworld-Animations.dll new file mode 100644 index 0000000000000000000000000000000000000000..7f376ba2a2c4d5bbb4dd2d4830460b68198c6b32 GIT binary patch literal 60928 zcmcG134C0|k$%scdvuOQnz7_Vk|mkJBMDy^8I19LfNvXPn?oK;V|(n8o;)+MEstg7 zaAP1L2_ytaIC2m+*@ZwzSaLwPH;_QW?&1w029j(@*aQ-i4NEZp@2h@u$wI)N#6Q%p zySlo&s=B(my869g#pX{ayHd)5zjxnN>f3no-&{#YPlixkUjMJ<>R#{Djo-E{f4Xt~ zj(Dn}FKKR1Mtd5%qP@Llx?yXqA=%&C5bteRxN2QPkJ%k-FDvskTV1bSq||boU0wIe zz&qK|j;e_bCAKL_{TdLLhW0vbN;M$gfTvQGk~cKn1XyTFZ9zTY{AX8NE+H!a%Rj9m zLHIWg{jOpL{XRiK4F5ORrb-C|-nij)qm>(!@)Xp2P+nS4ZcoSdrBP1*3JL0jSBq|x z zr>eX{sn;_~X{c0vs3b7Oqy7^u(B7}gJ=Mo-K3A(tbvy=Gxi=JUP|DZlE_a5G*&?=J ziF?+K?7rL+MuSMHr?tsr)?qeV$Ci7{iNMV?F@d)DGA&4|kJ-_z%-gz6c`_RyjY^j% zvmVdzB-DmaKvHS9XTo>}93C@*u7=kacC7m_Ph{K4OwhnrX{)gL9fRxxGO;_H<&JV^ zxvSi5wh}a11*RAZh!nA38DTskVAA8tTmV9ZtJX5*GR%2Y%V2555h{%+&tx@ribMSv z?Vx68mq9y6rVU;Cf+cn%(~g{Z5)){?uT(|S%460dTNWzu_CpM|fWz-FG7yx*oC32fD0hiy^I#Kx@<}?7U`supf;dh!dkevhy74jz|kHMW5vdf$aK*&4=sfFh;gD3>t zes|lDda*%y`XP2(z~jeM+5=v{w-p_E%o^!Pz2FY`BFgWZtZZ0ghH6xoenmBaMK#d~ zcMu0sg}m&llR*44f`e`_fQMH@dQoBdaE3*kKto8;kim4^P-QKPbqIN7kGJd|za0l?tDMT#0gtJB)-9V!m00Nq^7>4lpMUb3R&@MgmnvcmZ{!lNJjxD6yyLj#SvbFPN-h9 z0tVOt6jN$Jp&+d%8X2q{=$OV{4D4O5UFT-;SPq#>kg_SJ)@lk}VpC|wNKFN=xGBVD zHKqQcDc0dgO$D#GDRjkZ>ht^96zgrIrh-@86l&oJ!z}s&CH|7u$+AF4YASfk$a|hy zD3{f?)L+WBSl1)96}(|>p}!W%W&Sdf3{x{wTfr+P8Oy_JTJA4rQ`oSPnhIV~(+muO zgDbqkUjbucWT=sa6C3wC1;;#-^QlzF+qU5uJv7k3P3G{u(ym+-4h$KA}N>kQ8x3vkgX_ z#gIQle9mGPf0U^k;~&!+w5HBoJY6W!G=$pAF{g8p3!jB)#8wrk_1CtB(Fi-I!yPi0 zb9Swg)o5dAQ&7VddleG{YYl5b8*}PoZ@>F4%#5SR%uH7EfJdW2*Q)`4*weI8#FKFB z-D)0;&S&r^#u8=jt0_GB %oCKPT)C!C;Nb-!-N@ghyD@*HRWvNA0mg2Rt)D5*F6>mavx`8SD`#gxwZmM6QMH|2jodIhy9S`Fodq8w+1Xqtu(MBL z)j)FWXe2xPTe6NRnul?<^|kCQ_WPpcXss{7D_Y10=I5GPb{1a2NKFN=xGA;~YgEh5 z!iyNGso)hg&6y8c*$-qsesCP8w6aika++24QQ4zq1wPr!;*ZJ`tts%yQx<;|Mrc6a zV=)a|1=N63!^g6#pg;+rlOJdu`~pgGvXNg0U$*p=qOh{$(#n#7tjg{*LW5k8mTLh& zF6T7B6RH%o&SkK^9O~aN7F;WTDv3&;%Q1K%+PLh4LwG1xhNa9}a1>sLq{JOG*Ndw9 zowO3GL+05mx{xzg2c=+QCBtN_4*Fd>s|;iH!H=PzmbTEOgNKkg=GuqBQs)4%Wr#Il zJ6z_27Zu|S@CyJp zJCT%m!{9bTf3|gwI=CMl(3fp(NkR^N7Qa#U;sII`-1UXKSnNikykRdJdpoYfOy)-D zFB*YPxgLYMe~L8*mAN5#zKlW9j@UgK>i#1go>q@1?89KR$<*vdt0QV{N%BjiOGxr$ zn>ecjUbx;~C|O{NQ+-e$tjaoE$?53ePW0oFW0<)MS+8r@QOp_AL&=%Rt}urR z43kEE5Cly|jN%3O!4k>_E9viMY9 z7C0Xr&-lQ5FkbH1G6L^s<#|7l0GBN*%Uzo{RN0FP`p79#F^(4lI24hK91L|L);i|e z507h&0jJC7npF*uGLpZ-JexhJ1=01&ULEd59U3H-Jbkm+M)0y4XqsX+z{-q%)&3|0>Nq^98nDIJeTPwe*I zifv>ak&;DLgDtv2G}nNOtC5sol}HP2C2Xf;LCht0?e zn7(bDC5HeV*HU2nQ4Og@E&z2cIaIo-W3v(n&1VxGH{?+zpKIUbIn0o4q>XGGqm{mg%RgBTO$AHkQ0p$s#R@ zIP4`6<(@pv$iO1|`p06?$ePhHu2S}GWN_+p;8gFLOn(f{4`WJz+Xq2911r-N z48vwakt59(U|7V)gt-NU)q@++&_W4k2-7i?ap=2Dj|rph$iQ6Tv!WPDc;Twdr3VN4trg&sS1q3lC+R*waKZ51~AUD{$6VFpRRB*uW55f)j^biW-h!RI4%$a1_fV zOjK&aqIx&S@GE+2y)4Y_DXmd=ej*QQs5?%}Qe&d*H z2KV{PP#wM;iO&UnfgN5^EW&a}Tbb)X6&hw>G<*?%L4kAr{msJ^!K#OJeGrdcNYTnqGJ0o=&tS~TD z1axLX00x{@&hRzphC2awkUhn$74|B<9AK;P$I(J~1?z56>xgqiPDg8RvEQ-XJ_2i> z_(-h56DVeld)WK3##SGNwS4<5YgZW~uy*Z7Vl6P7HM+I$%NkpK6xQn|Yi< ze)1!+Rx_M6+L`xdjjcWkYx(wB*8XFpwf3ox#2VbxVuhqjwEO+m8e4r7*7EHw*0MA9 zX)qHUybh`19OQO~HaBziwEa3x38TUcB zt-MniTuMlhNx`s=!A%5*!ti8VU~m#2;duC>~|t^Vt>R zgO+b244@?(FgwnPxG|#3VPw`I4c`RnG6z6+{jQz^l=K82NubZHHMMloQ5{aMCyXZ&FlpHm;+lT z@Od+b9Xis8>{MjoG!Z&YLoq#B8IW<(aV$><{Xcz=h`SgIuj3`uV{B>-#unv~g5@rP zcE?Fmjm%~|TQSArLqbU$!D(Z3s{+_DN8yB=$bPB5=vTD3SU0iNDK!YU7#^*lS=`cj zHE+f=NN?bJ)`+Y&MPByL3^${iYIug#w&TIHx}fVj zb-PGmU;m_Gp77U@afiQ-RH=iz!FB5xYXE2+76gT5{xhoS=+GOO07+`86(IZz5C)e3 z74ypJrB8FlDL7Jz?jWHs#f!!=4ap2-CuEn^TO*Kmoh!;=@IKkHMLm$d*rJ1bfY2J& z0?j&o!;MVVNXXP7pk(P+0!>GriMv2}CW^$o8wq177!RXk9l6yc__WnpcQnVX>_-?h zzX5bZj!bR#P{dZVYqP}%%%~%L4{LRsw&FIadr>vGCQr~|l(Tm7D&*VT$r~`0ks6C& z){EC_eiJ$0!2@X8dYU|pFgkZ-?gQLH{uYs0#;LX)b)~q?{5FbVm~@}{uSg&nyf^@r zfKneI83!O7Dj@s)upK^trsB>POM+gzbd4?VBXxZx+SAduM0p}fEEGRAuC2nzaDNkj z8WtcF{tj9l%mB1mQW~AP=Wg0qOyeLeeYRsvcyY&z*`YPBgX^W1o25RkTGYVIjMC_A z)T)CxZgaBu_^`75F1X;L;o)MR?&-sJ@jY~5geO1`vb+SGFoPt`@7y@ZCyEpVi&`KO zg=CRjWBm|H394fbz5Mw~!MzKR41HhMZWh4#n{)@+2KO#FX2^oCvWC!D77{xLKzgOK zI-#gn*5-QE(zhB&uXF*~YYuk4HAQ47+bf-^;$B&s>s5FcNeEq_m60>{YISn&g7dQi z5@ncR&H72`r9cPcsqb^1T1Kl4lvb679|YPUy^5^Pjo6XKI6%DcLuk?J(OOGIV5}~H zwV-Qr{pD5%*8B044boXL4lq5gL&o-`L#dSxnNtNXjaY0&io4b}Y%PHYe?Y#@L>6m^ zcO+OQsz&=s!(1$_E%|qiw8_ecy$l@;$0CPeW#{6U=~s(x0?_A@_#67Ck24R?pdN=R z`v29fIC0XS_U}TvzjM)_6~oi;F&a*P--0_70<5Z5;Ngcs9E>TOC2!;|TnaM;z*z)5 z1VAVlF4Lgp1ieuNT0u~gy%38#XmTAu(9NMUg5h%An0lDJ4B%ieT%kcL3A$T@tRYBc z@)t!QPDIk}PARKH{lpeoz38c5gX4u<`jP^tRNh*jJLl1~F~bh$Ab(te{f)c;oGwgDy`CEuzfHxSK??^ zZ$NlRPlB)n84@g+~B)(S5b!gO?r+x9iU*PAtR+^ji^)@EJ6NI~x-#hI*4Z`4@R z2kY%h(1X3WI(>BBp_`5Z-Vwk1aJ;j9{@njjdC&Kj<^9jb2=jg|1T+1k^BySX zo%{ZWFlBkLO18OB|tS z^eOM%Mv(Iq$S#jJn?m9wsc6~m}4ciDm$sV}vT3K;k zgL*=P66G|){{|d2Icd*emj)hZH1jRMqhi^lKQ!(rFzpm6zEOFTI|_ z8ySw4jgd;>J+*$NMt;xw$msRi@JC@t4xz%JaIb@7!UaMc^r6A98mr|<@nqwbt8oh2 zf-*v7eCUED>YV@_b0AK_2;}LMh>A2IJ0DpqTDd?&5$LhT&BbG(8QJ(~2at4JvMh_& zfpyQI5T^k{%WO!&QU-=4B|eDJCCY z{JDc#!RB(9$q)kH!+F#8LGRnCh9C02olPuPQb=aNMqoN%W5GthZ$G||(eK+w=>Pri z+lvR$_w6He^nUm4#oY|awS93n`u=>h`}X2KG=30n`3U`BO`vAjeLL|u{d_{e>I^3G zX~r3Ho|eyNvNpx3FcbP8;sv5AQ_;>4Ewf^eG+x=bj&!)OzS0UjN`q;|4K#{Ax^H8Z z)$jCTG$T{k?_f7-C;t|2Zu|%q&&WtaVL=Y(7P341W7I~R;b-u`-3l9-&ms?PrX5Dv zvX7%%zv0-U=F@XZD~8go6V}29KaTdHzH-^f!k0zPCWW7{aiSl}k;6r5{h;subQ0 z`Y)j3@iYB+K|g+uNBBh~sb3%|al6c;cq(`DU7XF)ZOZFTnaVNLB5z=ype~V5-=I@ZA@ERVI@D57-F@K3R~ zL4CmOPVQq{Phne6wykLOgB0gnjqY(LuOYg(5Z#+a_X2aq!%P-vbgw)4MW9!kzvozd zO*14L(s9d16|Pu!^4s}Fc%5?=)-+UWKU6Eg_czN_@+UyhuUxBOAkc9e5wx%~8>xW- z{VF`(;FLAp(q^9&afPQqTFPHN%+A9i$jhCZj<3R0?xf-R1IRzFUAFS|(JJ3SC5&1i zw2?2H7LaKE5jD8-z*k47&U+Uhcl$rgV#V3rH@(B}`H<^7`?`66-!9GkU<=*v_Ivaa z|C8p$`@t4D*Q|^e;HOU~eXy15_nL3YC@{p-`zp^cy?2{`X8mNnzeX|bReC@C3&A1| z?e#Zkh2cRW`APJmwI%hxKpQ%MIo0$47l#T9mp*#(&OGj4iA#f~Ca=YA_7+D7W4MU< zHnaSk^>30nQ#}*H#wjPy@H+z1d)i{^CI2NKLAR-6s7gM^0p4ZK<;Bvd4&&8$-!o&f z?UUp3(3A~T)j%=uoFqKMe|IZ|We*>~`d)jC{!pN`Qa=m66_BevPblE*_zN~yr|dBO z3t;l$E*Y}fa|z6w?rZ$^?siv8>j5X zvgLX*cp=|sRuQ)ZJq3{Y;JugnOZ=tz{!2&gUp&`9SydVOuf{NK6%#*q!wui_m&up! zn<8Z_&asLc<+B7}){wGteEh($NI1w6UqElAC_*gp1@xe*Dx*18+0LZ3WmC)X>4rGU zx;4LNY|vHy@=byAd`mcSzD;!HeE3d(4En|_)^Z4JHx_5D0SsFQSa>XxaY)*{0O4B% zUj!CG>hPGr3U|1k;8`fk1l49$)8olBum+#`H}V-OsF-L~G~pR;MgqPbJR{tK+~6d_ zo&bG;%3uI?_FKq`;%Z&m0iDtNBkb5L6J8s1hU!7JN?x4RC^0;Et@vkl$jg&Cft8=k zRpQ&qS<|hiRh1%Coz!2lYfkuHjHuPCU_R>nb*6&;kB=!FKSudgi7$CmLa~hT_3y~@m)+qn;_x>(^S8NKY;q3MsDB+IV$+wp{<837bmMObNAL)@A|WwzH&1-2JvM){Fro)2 z&(i?xHa4;dsW#hDGA4+bv_28)xP}_zm3I*G4Fin_`@!L?A*tJhZ0kP1hcB{orJRIb zT6b6(6JLt>S~pvzpg9%A>}g>dtIjB@$`GbMC8F(Yn=nG{UD-Lq4A6*9^iOO}D}M#P zGt;89R;6Vfhe@dM{Uqd-7Z&o&vg46N6Y2l^jp;9(l}2k;MjjT*=!SEJjmT|cIn$+T z@;9Bj^{sc`#g2w=@SL)5+7#BP6(d+JK4ELQp)&;^kdTN@fi+w_tT+P5-;O# zR5YSJPRocxAG{PZe9VQ}cBN)uNb_VQO1=DGm3_!Nkx4R1l(U|)xS7RGBHe%?j?!8rN9Imdr3`hXq7 zH)c71(&q|yPzUifmWeM#xEfTJxH2qeW}}x-_;jSD9(>Mw3s6&YPzu)oX_6Z=JQpREnuoN^ z3k%U5mAz>ge$zJlU@Q&N+{yTwz*Le40Txu}Bg3j=)7jOpy9ygDae2J_X=BLWzM%`Vg z<6VQ#PfV7=TR|yU#g794r+PFTzbA+e`NA2ZzN`K0Zy8v?E^_W5GgvO1L$~^#p;Qay zWe=`5`0E#+#z5Ka1-Bo*EMsDAC_kvucd&ni&tx|phtOU(()W)PL*^`0$*0~>3UfIM zXbkaI;763gIQB$z9bA1!B%@sT@uIWI9VR7$)0Mm{e7+i+jls10BnFd38!;3!M{sJh zIQhUBBQk4QDbW*6bEFPGu7nK$Cd8FJQ{y~yY7%GaD&>SnjDw4-M5Y9r#4P!UHoOvS zj5(iY6^|h=T?f2D{8-XB(C^FBA2i3x9Ql110OEJ&KU>2#gZKH`evI$IJIHJP_gR82 ze`&r8huOd`A|do#0LD2NdkLmL3oVFAe9h9mvTU8m(v6be<1d4SY-CHfL?-Z+7d|ob zyCn=<@F@q}{cP)ko;%UAzg(gj?_IkJqIvIH>bTuszW!huEK`0A>NJhS1_x`vBwRSS z8a+ZOOCdyj9GsgaM0QSn6u-=%A_(Yw8PjS7bVQd8>an(A2m3ITp;yovbQQ)~nLp`O zcom);lU1;%w1Oqyo_ueP*( z%HpyRt&s8XI`k?B|I>!?fJj+Qcp|1b|Ko1vdd^@`^9&F^IQteC=Go{6-?V6+GznOf zt$0sRgYw?Jco5lfMFjfWWZo;=R0D>tl)2PZm*uIi(7H?`70g<0TKPUgq&58B2>Mqz?Af>*b_!_Jmq5KTS~83(hBnD^M2YJTB|Z#u z0|kzYu5<7VZ$tv8BY_(~hq;M0%xsp7d9FP4>NpR1tVx*lN!S6x=d()Fh7Czfwk}y! zwDlM0CZbvxG5gUtthqDdMC3>u=$shol-v&M1E=K6Tv_x1|CikGpAqilfEO}Oo2)L$ zzjk@y03j<2Av`W6uPlV@CZzBk%L}=+CZ8+BfeY5HL!% zMK4#0AP|ih;t-)BF_J@MHaJ8wf=q<-Eh9E6RYkLtx1Qqt0cLaqYa)Yq* ztV4Nj=yUh}W0|>i7&G9dZ8$G>5H6Q^LMJ^(%jOr(J2zlDP;es)S>Vs7{DWC|=y(=( zf@IZ!-KJQ}N{7vWxf4WZb|Enn7WufworUP{u!fYtC{sti@o~tkU&++|R`SbJXoRXhRJFZ;7byJ4f-Nfd zvvT@|lD{eALHIJK>gC38=|EqKq*G<*L5iRAO343$oD7nGCb=yky)Jo8O-gQSsV$W4 z2xq7|Yf+B%TI&vG-p6J4vEeg}h?Ju>SlC^7H@LHm1+E+lb(1#=|6tvO#EWbNX#UY~ z@zFdEqZvOKmZh0jn+GlH#+%1~Fu@4o4OzijY0((qnK2&tBswk@PGJ%cA`GQ}&49?qTwuhNN~5A>h&AB`>?zn` z7Z*gpk}EI;`bPCL$YpO-LBGC{P2Qb{7T>6<$#@^HADt(^&o02058}9pq%uUB7a)H( zdl;QpWa%X4G1nz|I$1L!o&TGo^Xx#5&g$xC;L=%?#`17YslNHm)0qK+rgNtip2jQ3 zS7JaTya#*?;$-5O%-@FcsOPcN5jyr88P@w;i|9kp6v6s15UtAbhu8>SC5!|+u0^Kf zK_&>psSenA6`YJ$!r2xtR>PIF$@O;fXL%9_KaNVgV|Fzj;YM^c_z41ngXqlBfj}U} z%Lph#h`ARO8W}bU??VhQs0LTZZ%Q4x8Sc$gS8pLN4fAubB4)PVgEA?mUgBG2TJWB5Y&)Gs4w5}b@* z%cQU-*QJI)!2WCzYsyfkK&-8~xvxJq9X=dYLzHBC38qMN1~<7uiR&Y>mqD=IG03TO zq3bZPU6TuR?31XlbnMf}ijKL|Oz2XZjKg~97%kaIIyMGy$X;%vaR4WAYAXI_;_o#4 z&Bfm${6&^VmUiH#OLg#Q(}8HC>VSKoI<8>yZ6-&U_%KLE8AKi`<)Sarj(3f85NG^myaaT`qJTOB2p|A%ODm|S|HN;vf^ecGMNi#n5ZndmJh?V z7E_slc%&>by|}FPH&N^tkHDv1`Zvphk)r|&CPj!UYs1=ewnf`8nx4E3lVu?`47Q6` zR+;NjKgh){HVoKBHtYseST^iNWGBOOhplYFcrZ`cCt2@v)xXougMVmKXr>VjYpK;SwrvF3u+x!{0=1E1 zR%fQ<=0fWXr#i1Qq64Bc&=t`cNYydOIS`#e$yMn08R{&HCL?nzkmRerFm@wf+bIPQ zeaCtw!0inMV4c-5>cgni$0~hyj-8%cAnqgb9T&Li*nq7cqk_A;OC4n2h2341E6cTJ znC0-*NJ@_D?;1ee{3<*QjrEuxNAb8p$A&`YCs@JwR&M>34x>+Q6S9};psUvECm)5+ z-bfVs4!1#W*1G#5vf?{9<$o0vk-1_$qh?%n?T&~$;_mnfh>#tebyWH<;i(tNSCGRF zeg_^Mk8o~`4Dn_vZrabw_op|Y+evL`kZj0SF8o*|Yd?>~YcdPy7e8+zmXP>)?4&^5rI?$e zX*n5ceW!@?`p)qT(RZ{Geg85bgA}Le`&X&&?WwQfF@*f+XP!HOAio<<%ww*9MkDKN z#+q;g4E*r3+0P(CeKtF>=Ku4|vkVROnMciEcjkPX+`Gw{QSF)0KBay7l<8AvQ4yRf zfwTcy-gHo@tMGiJ1^IR9WW0BKiWsX`Dm4Tv(scGZ^-P!CA*rS%XD?fbx}z*(BWRkR zFt-vJ{|uyXF1$R<&R zX8?aNck&Jr+k5bbwI%MbQp@~=L73{zk_+oxYD+28rzJhBq^>TYzEa29RLKhgms(KD zv{}-7B^{FV21)M_oX(Oh=;3rp-2#8OBwXQBU#fZ0=ThE=!+xJihK@SR)qLY+Z@Kzq z1=FUgm%*r`{HU{2eU2N9iWKA=Jb^BOCB0fT@Dqi$esh?J?visEI4%U7w z_@XbU?rDtrgX&~=)bCRNJm#kHE>+?=jQmBmr-8Yk{6$|mw%eDzH>$Q;^5rlHuLK+v zhL|>%z38h`8=4<$dO%Hq?CaFx36C|^saaM3H36@6pr3N}jmnq3ctb=a_Kr~41@6#K z1Je#r?o;2dp5bz-xYYixj*ulX%Cn8p2A_Jx$@C{pl*3=^$@^{>ab7Gt>h!6TA%_X- zW3Jm=6I4g-ZLW~57E>9r^+10@wwD?xpGWPK#;R&cV^SsaSAw1@^|!z(J0csP)206C zrUag>=B&Md+4QNOLrOk1#!cz1@U5~}sdv1T;Zne>)SsGH+3VD4E#&tm$74-CHO_yL z;Zv8`nVwgEkx{3{jUjx$I(2)HG^~>Oy$l-VQzuR!{1ABYsc*U|)lEUB4~m2%L2@+UBjo?2=QBd& z?%&1||Cgd~e}pFB`YJTTpA1C zkY~BtQ2w$vWV_E!?R_l3u{O3Gb-L7%<`)7!^*f=twwc`hwVLT0u8RzO;U<*-c076f zrH`}rT}iL1B)|8LBmF1JJpRjgQtpO^)Tx&tjqe+8HgWWy3AHbX9KOP9>z1O_j5j|@rF62Crof^SbGMh6Gms-@4@y(;?w4Omol=^IZ$U`) zk``hvgw-YH&13eCKY~)Nln$ZvKluNRoh+rbR%xb`Ou;-4mYwZt!R;Gr2f`98h3$LC z|5=&xW?-c{*SB~4J18x~cuM`KjN_SVrIfCNT$ZUm{5Csjc}nEcr`ABKm1==Q*R2)I zFN<{h@D?R|xp{)FJ6qb_AJV0Br1VTsmo`f2nt(2CmeOff-MLb_xy*;REn2pyA<%hplg5ln=?_kpcB`0B-Bzbd+e8u@D|Kmy^s>*w+$nW4#_b({ ziEX#qC8ZtX_m029c2M;yJ4WDsxJ(_yd$9J#O7%Ic9Y{~@DJWg6_A8vc)tL^~U8)8P z>Mljge7nol$D~huGXcyify)te>67Z3g3=A@`hwAKRbP-&kI-_Py1k&!ud087tNCQJ z*Je}IWqV;Ks>dEc`s_HSZ%?=w>8d*BmyWs5;ZiTxcx^5A zhR-1VzlIx;{3zUyK>Vw zrUR8s=gWw76Yc{QGb?>9RtV-qAiqUP*n#f;&p`ot2?12sMdk&plXx!1sC&|)-&B3V0w$6DX9&r zdnYhmWM}%0U|!X77aZ6V>Q6#HcLYwwC@0mE$5j(v$GG*rHv3Gq%~*h1n_7zWQlx~e zMgCjr9LaAHcuex9mB(&TLOK6*VjA)ZIhg(tlM= zES;qOETv05pRfLsGprmm|5$5hSDb)T&^W6UtEfR~pOg-HKJAWxom;HZ=9(!eJ!oP6 zF?0gn%z0jy)XzdEqwY7k((Ka7>X8{Tf~pV9$D91moyyW6X(qW*s(~lhu|pbm@7)e8DQk zFn=ej%0;?vTJ_uZlhr<}bbSL$Pw0~8jjC;>C#$1Y$=4iooUHyTrN>mQoxR+&MEBAj zU}?$dH%CVXwXz8A+z9Xee6=im+YNe|K$|$o_)$3M?GCNgm zT&wGT7Mfj((t4H-Da!0L^&2T&s%#arOHWhHXKPGyJ6nC)Dv{gS>N~n5+|E{|8;JRs z>Vbuxt%jtext*=<%9VcYoUI5`|d?84I1)o-l2mG$FXr>k-2>pp)E zj^?NN`cH$_v=b^(r|23e+u)>C%$s8%h_d z15(nxEK-+CN%yiyJ(0t_rF4;6x{d90-I?lgDP6Dj2ES2yruwW^TGISz=~?QgT{*qW;Rj3?%Vt{Rw5;)QNPzERMFTrBb?H zt!yqY+peljjk%<`y=(`5b$}%;rMOz2t2?0Xj*iG}G?)gbFUtMqY{ zQmVV4U0U@Ov`ec23-ckhxGb$MFTm_qPZX7&D`?lRj#}-Su;2HqD1%s_`VO_ctY7h^ zkn9}ok@sV>^RP!k2j!xtxGcAfchV+j^hoezgl%1Z$O=Pk+idMyaBa9N_xBjwZ*FAc>C2Y zR*B>7SAV^j?GCB0;ykfm)m)MveZLy7OEUU?)oj&q^!=*Us^jSU6<;5Mlw|b%YOj>E zzU){0|9f!8I`K~Xe)YUna?5!8F4c9vkxN-3kZOG#^aMx~^rsm`baQo0EDZZ=@PW0k0NR4beM z7$T2`dfkpU3f0jH#Ff=A5qWW{e`{j2LmOx;MAt> zf!qxBIZ$g?cQlY+Qs@*p;ItPY&h^p*Qv+u;V*U+uIuvE-ROFieK2!FfY14CI2(@;h z)}cND3Y|i;OI0DN>$c>n+j8y<6_wufSURugMdREU%;OZ|>v^Y~4Yg++d4JeJ>2da* zkQ=3^b>I|4__KPVTj_o{3jQCMpx>q*7haA|WL`^2%eFB6UJYw?S_s#9TM28APd7GC zL!@h(I^8x6nlepYhrespbik$qHXX3(fK3N%24FJ)n*rDiz-9n86R??p%>-;FU^4;p zDxO08NS%mqG2e*P2cP$X+DbJ`(s`0DlXQ)wn2n)=+$jwMs?ol;<`7PZ+e6o=yN%xlKdr7c{5bL7Z@bg}d3CG$e9i6ZZWSGO2l5Z% z{CchNMEyO0yxjb+fIJ;|SlxgV+f&MGTjh4xY_{K5cx|<|`|3(ohx{_zJloX9RkmhV1yAg3-W52%X zi-2EH`+)Ij^_j6hGH$YJPxHNGd{OdWQ;q&gd))r}=0^J=8_)f_?dQ9v*$3=DuRp_n z$iCCP7_~Pvo@HMHoQ?K3l)a|MeyzQvCS||D{-@x8{Z@N@!)5lb+8?OD%6=;>&t3RR zw`}}9_Pg!n_WO~p9mn*K9;Qbny~IPskO(f5<*q@l*TVwxf;D+n=?s zcfVx6-}XA@;)wnJmfzU#6;4|veaN=d`8McjsjhT9WSeUsZ@e=x=y*fz4AeQER684k zj$73apeNr^zXAL^(&`c6`YCmiYq?{djnvMwQJ0RW(w2>mm+U9_&Ud_OKT?0b<2jj; z=VXpvwg1jd_=}RdtC+u|@_fe;^-r~N#~b!be7%krq-RPp1Q)t1NYM^vlh z1oeh}S?IH%r?mQEb+6FlbyPy@{Ej~%UN~F*OY=SUTE_*o_dA}1rac14fd6U7TgD@m z_W`oA_AX$4#(S3AeABgo%}yx;Kz(nd#<^B0a29Su#tb|j?Fgw@YR z#C3it^Afj}miV1h9X}2QowtJK@y=`2@``5XOE$(M-%w|jhn=$=gir_CoUchguSq}i z9PgB#;e1mdZwll|^x#xas+tnY{NF22P|F;DoOqV=ZX3_7YaCy%-09qeH06BD=xDwV z9DO|aC5-!r>f6!ETX`oixz>(I`l{OL`4{IA+ovXc%lQW0f_}*Pq}tbXC(=Vmml+Q= zJ?`A?;OXvOSr>nkb@4Y@7cc1^kp9~Fs*UHmTB89`SetRQsnTUL63tBCtYBK&$n=8R zYL{0m(tzVH{&C3vy0XbN;P@|mFMh54>e{KULylL=PjS5_tMW}rkKl)GXS-gqy;kY9 zQ9kos*NUvXMwN3Z^8fBzg?^r@*?{z(rt@8I8Mel=oLAD}3SE{=mi@p7> zyB#}S8Q1;LpDO|XuZnA3jmFnpzji(82#))m>siNHwXeHQG)@}-XV;VV{Wb5p95z~v zsYYp4wR^x`HvT!sRO1h@mIL-rhMJvIjWP9g?y1II(9EgE$w-elUT>&(&oVqduWg?3 zdcz5*Jwb4inA54oqllP3sj6D00N&MfpJSF`uj_D^TBC#-&vMVR{h@j_(g`gafOCD> zSxE0JyANyd_ukd$xet(8#)Xp3m-K9;^K36SZ;>?NUS_pwZSvY)a%^ti0|;%--Rh>6 zgYLUkb<;)eR~`Ndhmn7|`4g!9LH!LF<*wS>-PJZ)fNG)V4F@@O2;?nDY|wbi@t=rK z+;3wX*XC^ZJZ|?opKd75=Xmcw0rPRhgWodt)dSNu9$L2s^Yt&D-L@b4 zABSx`0&Tfi)s@|2f6MqL^ye+(YGCfRpIrGfw7tFlWu$NUn9hZc9kTt!ixuHK)$h;?fk9!w7Y&aXd)blVPJP8jtr!=qk?zX*x_`ng| zdu;L^Q5_R@darff+1%$HC-nOrmG1i-&9XvU;RDQ2t>PQ(wtWHCez)ycj>qk{I_@Yx z;GH2d++;+&&CVN~f3yFSXST@gR_Cp?U-RDWJgDyT#v#=QkpI5(KJVR*yPXdsztGS8 zdg%NbdwJ7S-e;YpJZ>y?-{-yGS=I7uv}$m@4oqbSrqeCyp$g{BCZ;zT_j!*vzX?iq z+rH?0&Ha$^fWzr~$vL%gtnXE4%HHIA!~SOJG~XM}o14x+K4V|un=Lvs+xB_)2Hedz zs$EE1ka`h~+~xDY!y@E#q^0T#d@^XL`&B>E?@IcRq%R?@QdiiBe>GA=U27xcI^-Mh z&Ea)r?N%C4pF@7Ex*chg`T^32`XSQk(8qSf$e1pW^elm|Q@;h|T!C~+x=R`5?JA{O zk!IAa@&(fK0-O@BE9+8+)t@R}F>XZOZYQM4epqd)?2`ONlHLx;^OXvOgljE>@xq5*^`a%Benv0Nrqvm#`V}cJOJs5li>B~X8^RSv9YC?K*=pyH* zFv{(cJ}l`gPWE7T5#A)}0!h0h9g_4SNpF|*VM$++^g-Y4Jb#q@Nj*{CP;$GfsJI2` zx{A4Fx2u~g9;|!?eIAvx!O#3$Nw-KkBXQe9CdN<2J`v@jK)zoo72YJ3F0S&g+~HIDg{&ALo}{_qo60e#-q*_Z#kwo<7e* zo}YMXz3tv<-s`>3dtdba$@`Y~U2mE1JRk4K1Gr%i%4wqn`cnpfwE`yw9Ncii>&D45 zUJ*z7S$7Z83u=-`{}LjkJg}E(^8tYmA=Nlj%Pv9wzZ(xDoi_2>50p1>Cb8p8R)=$+ z4SMZFejLty20jMBPnP4|3jE4Dz97I)w5xW|$1fM~LL~0>@xP72&2A0SD-_FlVaOz?`Yp0&}KX56lQ`#$4Muwq3SC z+aGxjdz1@3?&oRUkXW_r~IK|>3J@;>`Z!;nX#KMd;JYrQ{gLCZge=aW} zJWCt7sz2iFKD@sum1)?&FG`bQN^Zl+et6q?IREoAkP6Ix1?Ij|odhkJg87{a4Vi{N z%nzj6h`Wwv$m~RD#!0Y!SK#lzasK%Em&qL@FAC!0> zGTh$Bjez%2bpigq>v>dldrz``!h4Up+54_>v&cuyo-?bnb4uqFH9MUgSRC)|p4S`i ziKgRb@0_hxMSE9Q+Dzt(bGkY^7sgY4iRi$BL^PF>#_Q72WV)#7^i$aBYBQDI7T+h0 z)$H}jXm6@7o`@yqbfa^%ygQoQPBcx#)b}C+6@^5g$Oaezxe-SOygM1)yCRm_vC`bT zD!DwG#+WB}vO&BzW#tm_RNBfG&gVrmB_wi9~d3B8Kd;MZNt!v1GQi zD%l-N#=47u3uD_BM$^%)(G(l3Ms>UkWE3=pR8d+ED)3kv>qQ@{qkDUo#-iP%d|7W! zprC0^PiH6QCz?nMVEEqj^l4y))Z^J@cE^M%qsT;fp;taLcOv9?onWbj0FuVH`u{ml-G}USDiT9bQ zI7V8G5tFG{`@ChtDppw9u}-Z$^Be{8<0Nt;et$Kan{RdxtlG9M6-#eaTMP18+|4=M z%_@((xd3-F#z>f5Q9V>tDA*I-4k>fM^rC$jEXGMx=a|Vv_X4x0&+Lu$raRB>>&8^B zh{k)@N4F|dh+uAMG}&YJ4lIvvRXwRLv_Xc`IUg_M?y#OKqPt>eqP(cLdqICPiSAhH ziuQJPo1I&ev1ls26M)%sy43bqx^qb~+P5R#CC#&Wax<^H+k~og$G2_Eg4YeC(y^ZQ z1!f|FS%kDw?Mq_4u_Rh2O*6gR>{476e1dD~-J)Pcv^Tmv*1diQhVNe1jlmP0o$+3X zJetS>NzFpkt7sy=z4x4WdIwp{^1M2l?%L70(CkgG+Y#Lp+hq19rFvfX&i+(dvXtp^ z6HP$7n%^H!bmNug&iS!!A%#y%e!4G+WnnVDCzk9y(~S2n>m>r|x3clx&Q!D~*0~j6 zX|Spf3zBT3v;)9+YH@$pE@UX%t+CE+x|A~ed%IJev0g6TZna=XtZUa+bKmml))>p{ zWBbyJda;VKfRz}eTjhya7uz= zM#eQR7*a3lxBp1h%skAPxjrWM^s=ZX; z_ZfDXOgI*0Cv;P-jUq8AQ#|z$iW`KrVAoNMYBhEN5UmSKVreXLl_haSEWHCoi&d*c zYsXoK+3tn)hvask2wT}XFAB zM6ZGvlkx7DTGh7zR+5^s1KfemnCgyg?cXlB<)*nyG7DpS| z7siYxVps;9J$x>X$)jNBQu9*z9ZN0arf#OVD%7IxICd^%w)UsfX77f0D$dff6gsx@ zOJMw95VwJr#YwYgK`fD2whb#>W3KJ*O~-p;>j(N`OEJ-C3*}&mxE6#qVIGAlwoT`{ zU_X*(0%i*YBs6S$VL?ovG@{AZ2vI5P2?D#A-hs3UqsgAJ*Gkc#cgLY74P zmV+Nvz?-mu4Gc1()q+ZLfs%ODl{EMEN{(Ws21^0`<$#h&?%a#zo@SGCcEIIPxjhGY zYo*VRK`E$wvOAswlVR@d)Eo5zvv*s3dp~L^3+@NZL+j+J>7j9z?RP-}yKi=Y0_|+q ziW)1h$s6Kk0vj^st`AMtCkIwX;Z$f#Re-hvlhdEv3QTM9#jw*&?c{0$XwjZ%qMsQq zz*T*qDvkm-eR{02lcKhJUK*d`U|m3^`{Mt}A_f#R9W$AQ|7jW5lYSzG&}2zKvycI3~u~8c$$V=WDTpuj!BV#}vFPo#8xh zz?|zDUm8v60@WaEd)2ylPhTPiH))T?S{vKlAA_6K4R>!{d_PtWyc?J_*fOq~0#MdU zk5Kgu+SIwURB8{BXqK6?G_2iPBdm$1I68CL?Ow);r*zM(zzL;d_0z%b$FIk zJxumtUF;C@_Qt!BgRM!XQ&cJeuEbuxL$=Hwvmd!6Ho?`=u3ZWu$Kr?8NK0{93Ui9% zDJB(bg*&8JNy$Xh@+g`C>=*(xliQ=I9{7J~!0-XLKUSo~Z7HzRXrMv#-08NfrTvLr zoMzAh^O(f3L?KF{GnQx*tMqv}A-sS_Ga26xs(~u5yu#T%mQZl0lJI8XLnp)+OD&IW zOJmYg>&e@~i#0tb1T4UrT*1*67rV`xb{@XE0k;$f zE~DCqKhDK!)3j*BX-$*^w!g>16q?wFib~Sgmwaqx`wXTmk? zrJuK>zXuuYR0@7n3SKWcO$r3(fja7aRv7+f7$bgN)nk)_gu53wt9u#{D;b8EOK zCVMfi+MUl9ENSXbZcm|~R}7#EpTolfjaDp~$7F@p^2Leh_Ef%NcnCuu?>cD;qVNf= z_!OpOl!%EeCR!MH@&$nu(GBa+o9_vx%}l~d9akX>B#)Qk;cgz0;krmXVqS0eT5Jb} z!7rJ?h5h;{s=Biov0x@PcM1~IQ{d);L=7%lH6osDO){IooM0BYYCs3O;uc|L&A!fc z{abM~&^1|`729To1E?AK-~iTacWfCBOG#|J>;jwQV;yU~IbGb-+N0gCu2kxIdOOVXN68?Y#`L zBHCA|87$IDEl9-s6#dbh3J65Dh++`QE{1TZF18nJ`Xow@vXX;`x+IpCEYv5KUe(J@ z1m`jB8n!J!3?->a>c^*bRF5vqhn_1lxvEzblT|w815baqT9@F8S4ns%aYP6pSQfYI z2WKV5W3LYN;5}V@AP(8U&cOwrm&UmzTa)!77!pcS6Bw~d%7Q{9W-EfDh^i#Bc2G7Q z7{k52om}AAS^=!XN*TyP#1x$a4;5_zvjV|9OoOvDd=|hdG`Q|*=3%1cX(>qO(pUn) z2yB(`bgX=V5wal1uOMqbg;?~)D#vr0;e23NtC5Hl1LQYWY(s^S9)(C;4DlUoAPSa% zj~p)Cz@*-emEPsBe-Qyw!3X)$=1;^}U=G1%k$Hq>E;nH&5pjgcgvKK~FOiO?5m3-2 zY@C1L5)9zZJ;=kY~60eJJ6s&qV->MU3*R^{=K0(5$RdL3EVMSyJVg5y}4 zpSNeZU}t+44M(xrmYfig#mT6BzgdPh) z?c6GqY#2%(-LZ!eM9-E-1*@npH)LwGcM6m}5{O6GN&;}pQarY#uxA$pd{bhitmtp5 zSS4Uq%mf@3?djxjvfxA_2Z}O~oGWeD;pS9Uz6;~g?Y%gk$Ge6NP#F13Spf^R6*0J7 z2{`AmZbtHQy=47nS+Hi`IyjDqb{tntgUGXXu3iW2QrbU;qax8dG?R!N18=F^;z)_Z zB>N~<@^;jag1l-CQ%r13y-;h+&05RLg<)X?2VW^Vx=e{Cz_pY-Eop(9WEnDX znbbBqP73UT+cVEuCxK$*Vdisrz~L|;(iKBYGzUE=iP%Q2q?I_4D`U?9yZN$cd#*OO z&*dOkNVz;CZaw|5SQ2)_`3eEPdHdo}5zY!77tC4Khs&J+@{^Yb6&(=-LAM6AI>YT% z=OF&hv~*pt`_ZkySY1#wIQJ&{#8wP0FJb!Qhu9^6qVJaTHj%td10dX3v@4*~#E@fh(6n zSPM`_!Y$`6B_0n?3^})sik?VE;lx3uwnIPZ)IwZH;LqhJgf0)7^FU0;o@-PqXm)*Z zJ?`T|!yIQbfbY)`){PNq8nIe1fLttFZvVO+=3Z`Y9DHdsjoHBt$f@Bm z4Z@7=>&K~}3l$RDShQ^$Eaxc0t=hU%BfvapS0|M}?PLMnv29T(akgm64PT1aX3@lI zuoUl#Bld)0$X~9o(A3dRDiRLMuv=z!T@0%bWyPgbdT%V&+qnaweP9;@(>sy~EkP@H zAif=2of_C?BGx3w^Jp(J^kL?uc^*beKZRa^CK!Ol(KPiLH_mcuv&@~A6wDcJuhQCR zYk4Ux74c52y#SOeIZ!6zyQFUdXmV@bXCgqk7~u0Iy4x{py(o{c zZD)5`%znFg!|aY$FVB!ZtI8y3FPgfid6l`N?X`;BS__KVvz1i~OJ(Iu-J6zq0xXzM!9C>{+x~BVMXXG7ao#u?UTTi=XhD0J7Bdh>H%18>Cu?p5sos+SPGh?O*$iC zie_tdEZGGOQ45kW>@ zab7a-IDswxI_}Nj5KE{CGpXrWgxd%q>>NZ8vX_dC4e|`Y$D&@un)_pNor^tvPmED1 zT%7Ytjt4iMo#|3=UlWzZkp}jl;MzsH-&gF(V*w>_!hnacPw&aga4_1Z^^+D@7xgOE z`L1XRhNBaf7QJKd#IrXaZDmn!m~v}_jZ^L0w~sG=K(o8&4=8y#22YB60JaBLfW26S z^z5x&22sYny;9bvG|6h8XBFfo#jQlo?$EeJQ+S<*VGF#r!V-Knhy$-|#Jc)q?~JuV5#A^OP58D0W2Aud{#09Z zlx;wJMB71m6u-jUgB;uqDU;hhg|#KC(KETn2hC%LW0F6su4DzM>4zkCjDXjZuk+4B z3w%wiRPFHIC}pXsm=9^jKn1pOV%87G+*(}kUy1&Uc&gbUt%vbaLA(Nf0$HpAJ_M(L zmmE$34`u8p$A>@LOOE~k>xc0W%3=+p-Mb!~l228$0j=WDAog?EG>tYITOp+QxZ6}R}MGA?vUdGvlacxsa!zW$T6kG%6TZ}pa-i87u0(E)( z>7$L1#pkRfg?Fwd+liyKp*A2i2WchoKY$z!vkS6AbR)-w?S#>=_4<`wM;)J1#5-gk zVEk^GOUiIHup#ZpXyfkyc2wbQF5qr`pP9sqa=?TY1})oV<^R9-&M!8O$gCvCLiC5UWZAT%C=_){RP$tuG9$Bqk-J0vpa(q! ztsjiS4}J&`12qt%DUv<}sEP`xfCMOt8t6j}G(hu^ry`GjNZZeMX6OF#OuLYhqCk)2 z?(FQ$@AsSE|K-liZ7+EbyRH4)cC>sATBIwYeXSkK(d~MzLY3qv*{qq*gt4v8c}kxJ z^C}c*eA{cO=S4@4ZAT{=e;fEWu!SXbXJrEgm^(cvYP=&oPE|?ux6MxF_*gPEDLOqsOd%+=P=%6SZxqonEB20*|kv&KEnB zlle;Ak@M>4F?7blQF37wbBE}>DtUdWMbkyJLE6}C#j+$`En5kr*pc93b~_{k$=3|7 z1A}=Ew%iuFuOFwK3k%YdbCfme%aolii+bmp)~NIRX=#_V;ilz*WZROmk{@p$(z`c- zYu(aNCq{!|$|_Q@IG2EfIP2_7d`;;kS;>x8tjkGRyr3kGH)EW=L-!8Ixe(DOzB%b! zW&wmbpai4W2wYma0UkK__$jRQ4gO?}lDBFVw$?bi5j>CN%_HsY(rDB3V+^*+wdalqza&7kq=WK0oV!OWE1)6T35iD#6=?d7C z=J;_u3+?M!P*{Z%(xC0bk7O+^bbclaB!@l==LFbXh+7Bi4Mu*=oCN20twe&Z@T$~q z5e}_jqn#8=1Fq3u+UO+gydFu$w&NA8uLE(@K2|7^LmB(*5jp1PrN3YBMVLWiM9%s zC%(z==;)==@@b;FC0SGZGX+nXPc`c*QC+qvf?S1?2IsI`fO`xFrI7Ct_*_fwQO;C( zj~MV6EnMJpf^$!#a$L^Q$oV-ZER%Q6C1pj|Q>@Snp6FzGJHcs3er67Iwp2J19b!dG zoy?)mR_*4dv1yc!suV-;ruVoBuD67zudA zo~(K+l~k`?y5`HR;3lW!6DAjam4K!u=p!5+=@kye7ngo0bXM4VMmf1k3f?Yd74@V6 zk4VqNX9W&%{Z-DYkpm&({L=uQDc|9GEfRvb%-Z z*`Ab{L$9#s^ht98O4@PvmZ4P0lZ)x|`q)mE6sY1hd zpjk9JTT`gkwF@{Jr5*;_TWE~ajAq&d2Rsi?f$s*86hd!W_juAmv{dZyX`dm8v_|X4 z=F?mcLu1`4S@Y;00a1G7+qVaq1*kWpN|gT?ZIR~sR%UNIP9JW3YG`(yptUe6Sx~5S z$&(p9YI&$M`6zf@qG*ORs!eoEqvWaZluGgo;;u_S-9sT0V4zgVd-r3(XG`8Z;<@QH zMwBbGD&?%O(YV9rY^H@V%^pOZ+#FUXp((ps`Q9u0{`6bBAAjc0|7r5hkH7ctZ1If+ z_NPHm$Z?2ARV?Wc=F>1pHcF~aHfR+VMw9yCAgRywr)F6F_E1y1r+$ud90dDJve`cnB+saKeYroM)K74z zeWKEVe!gyHiRSTgF?$%U(N=puZ>vkisBbi`{UAv8C;P+5HQg^}sgmvavzxl}L0Bk#C3?6} zaCNiEY_kyd_+-FlGZ3>mjTYAQK}2XT3K0|yo8iD-S?u5lABl!Mj`?KX;h@k&kpZ61 z0M8$cN=fZUN$oB)BI`vr2!9HbDok8dZ^`Ptf`J!zDZsZduKyr|Rz(fi9YHEp;0%n9 z)l)p%v-{z47@|ENq6QX+J$)SRW4D0ZfSSdqh(+6MAaPa)P%Ya*j7;huK^)7(vziRY zVmMX~fDY-+&Rhw))rmzB_-lG*gf5m-hiX`WehtxsAQyml0nne1Yd_0VQQBv61A#6~ zUx`n@p{{5(nWn4uqW~|%VZ#Ov@Wv9B)IZ6YfU8^tmWqhkBWe7qFTwx}W(=#TOsf4+kfhmAQ_MJC z8j1$Oxb{o+vq&J3ON_gq+m#VaX18ugz0hmhCIc{%@osl^y?anX&e$gWzv;^-7tkZy zQx%`W!1`~qZfSyKJZEh$7>r!genugNG;)wDcJPg-Ar7Mep}#6w3c`FifT}|&oD5Mq z?!=9qFmM(0gPL6v;pl4X&=W@ z(T0Vhw70P!iZ+G1!I#_yrM);!83J3|!}YTKkN{xc$RNiiZPs3r+Fx2V+~7!bD4G7G zzTmVqs%@+!jSJ1+Bhmh(9>Zr`ZG9}M@0Ec-a(ygJ>W|{{btn=m2oRkg z0>rY@rixVRDu?>$4(Fcf&R&EWZS}pGE2k3uf!{Q*Mwle9E8@XYm|Q5?uvLjGO%Mls zw*&GH@53IB=o`xVKELd?;tHI zV>5?t)t?xQa>U4_DrTS%RXGlXXm4Jya(de`wehx<)GdwZ)-cYf_RkqBuO@Z<;>$Qf zf8#dvQltOm%pR*WSk_DyAS>ygR36ASjjb3(kuqRST{V<(&#h7n4mJ z1|em0v>ak~)>ai-N^#?F_{|SkJMQOX^*yOih#R#ZV#+d<2scwITX%wfW6q^VqlY0h z^Ft0($(mWo*NKsLbhxV^VUMyCS<5}RR(mh++Or``CWi@el`!Ox*C+6KVu+Q?oagwQ zw2EXaX?!f;pD4a_+Jnj@jbCC%iaBa5F-Qq&{}4qvcv1+hJ~lp~b(r5{Z~a`}0}N{R zk5Xz_RNYBkQmqm{ekJ!$oma14-w6$^9#{!oek)lM=nEG3 zzZ8D*C*L?fHv4b4PM_HESrM}y1dhI>bc~4)S+zwXR@ZsC+w*@6j z&Bh=4d$X{m_K|O3)4IR*_vZ5!Qqi3X?u6CE6;LhuR;e$HWYCEbkXqkqNxc`821K%R z{TZH8QDgbBZEuqrUH;VGM4+jz{?^{K;??Efb0B3FqCC3a&NN*)bYEdeVo2)9l)$R{l7q5(tQJ2RB%9?F3|T&CEpQMmu)slL{R4SC zy%w!o-L2xd6eU^2F<=z9L@YaiP(2S2J;Ak1PX<<|XmUDb^g?);7?<_ID$hYkbQni8 zl==yaJ)}=uKNVl+E-d0oR$yW2X##~WhwOhv`-)g5QCvmkgK|>eD2r>=av|A-i*WXi zsG;7S-Wq^GN&PK(6+0+5wA4xg6J~_+{4bB__~1Y#Pr$69;fD9_|S{Yc4rQ0b72yDoxFDQMnF6ERphgq9msl3=Oxk9 z?OlOMnhTWEzxyCfXQpPR4EqY3{fDM6P0d|CG(GXvLziYIW~ZiSC+25XFHcO*ug*-Z ztWM3(&s-tX0n;>J|HuzdyX@RMdHVRd=34IY^KLEn(|kqbp~)FYE{!yAW_vJc&iaUY zrOi93ZT$@2N8xF2n`b=f7VLD-s(o_Hrbm32p5lWk-CzRlcbI@X`RaEk*Kdwh*z0KR z%H(reYxo)q;Qg)~H%3k~-+Hopm7Y1u_f7Poqhke&<~6wqUzPP9q?`!Mv0gCRyY*Nx z+XK=Ifm!SYse_s=bNZMr+uD$&8!D2k1ZG*Xs!ZC+UgN2sewMA|8c)3>rzfA9oS!~C zJ2^cwGc}$bWojCWZ=SwZ*?5B)_v7i}#w8|~GNbJr8+crM`WjnKEo&2GpYqnUk%I8=PSykLx)!8R_DGt zefX)_%GCVfS2EDq>fi?o`z5CZ%$f|gav_kANUU)S=Twpq91DXVH)rt&|s zyutR}!{olt3V6%!H+LMnA0$OBoIPE+X%`#YAn|f17AF5{;YM>A<^3Sbx!LAsH88(J zEPcn>^vhff%&9FSxgX+-nr9C;>(%Z#{$5H0v!;wR`>gfNQaaDOp^F@k^Iq>PZ<@~V zj_e}m)4WYQV_W{L|3Chdry0`&nnAD6 ze%q_{PEhZ4{e(Z;!2GEH=K#gAQ19Q}Z-w+j+h&S!yPsL!kHG_WkrhAOyHqz_LT?Y< z=dreXdh@5raDIMg)`Yj8Bee4P^sbzRb(RixHeft@tESKMl&idJ(_2YRv6|@dW>9#i zcyMaLJ8$2c>202eqxY3l%|E`Q9tj7QV|ugZ->SB#{94m8 zu7LS<#x2ff)9QNErRD>Z@-qW%`ZMM$Kxv2LB&hfFdY`|}J95uu^v#YzGdqOiDjXAL z&r@AVGGCO3?PHN_^bTCJ7WD4@jSl&JG2R&V6_!jo;dD!;TQ2jq&jO>=o8GE@8>{KG bpVyCJ-p424+jWe2eeOO${D0T~vmE$u-`aph literal 0 HcmV?d00001 diff --git a/About/About.xml b/About/About.xml new file mode 100644 index 0000000..17eba0d --- /dev/null +++ b/About/About.xml @@ -0,0 +1,57 @@ + + + + Rimworld-Animation Patch + AbstractConcept + +
  • 1.3
  • +
    + abscon.rimworld.animations.patch + +
  • + brrainz.harmony + Harmony + steam://url/CommunityFilePage/2009463077 + https://github.com/pardeike/HarmonyRimWorld/releases/latest +
  • +
  • + rim.job.world + RimJobWorld + https://www.loverslab.com/topic/110270-mod-rimjobworld/ +
  • +
  • + c0ffee.rimworld.animations + Rimworld-Animations + https://gitgud.io/c0ffeeeeeeee/rimworld-animations +
  • +
    + +
  • Dubwise.DubsApparelTweaks
  • +
    + +
  • UnlimitedHugs.HugsLib
  • +
  • brrainz.harmony
  • +
  • rim.job.world
  • +
  • c0ffee.rimworld.animations
  • +
  • shauaputa.rimnudeworld
  • +
  • OTYOTY.NudePatchForRimNudeWorld.UnofficialUpdate
  • +
  • babies.and.children.continued.13
  • +
    + +This started as a patch for RimWorld-Animation, but has since grown to patch RJW and RimNudeWorld as well + +There's no real theme here. It just fixes a few things, changes some others, as well as making some additions! + +This mod requires RJW and RimWorld-Animation to function. RimNudeWorld isn't required, but is recommended. Let me know if you encounter any bugs + +Here's a brief overview of whats included in this mod +- 12 animations for casual sex +- 7 animations for solo masturbation +- 1 animations for group sex +- Animated hands for certain animations +- A need for privacy during sex + +A full list of changes can be found in the main discussion thread on the forum + +
    + diff --git a/About/Changelog_v1.2.0.txt b/About/Changelog_v1.2.0.txt new file mode 100644 index 0000000..fa951c4 --- /dev/null +++ b/About/Changelog_v1.2.0.txt @@ -0,0 +1,103 @@ +Change log v 1.2.0 +- Fix: Fixed bug where married pawns could be accused of cheating when having sex with another spouse +- Fix: Fixed bug where some animations would not result in an orgasm occuring when they should be occuring +- Fix: Fixed bug where animations would end too quickly when quick sex was enabled, leaving pawns to finish with the default animation provided by RJW +- Fix: Fixed bug where enlarged bellies where being rendered behind pawns +- Fix: Fixed a RJW bug which resulted in all clothing being worn when the prefered clothing level was set to headgear only +- Fix: Fixed issue which resulted in strangely moving body parts when using Yayo's Animations +- Fix: Fixed a layering issue for anuses when using OTY Nude +- Change: This mod must be loaded after the following mods (if you plan on using them) - RimNudeWorld, OTY Nude, Babies and Children +- Change: This mod now requires that you use RimWorld Animations v 1.2.8 or later +- Change: Sex animations have been increased across the board and now last about 35-40 seconds - quick animations will take about 20-25 seconds to finish +- Removal: Fix for eye implants and head wound placement has been removed (a fix for this bug is included in RimWorld Animations as of v 1.2.8) +- Addition: Added option to crop the bottoms of torso covering apparel (e.g., shirts) when not wearing pants - this feature is intended to be used alongside other mods that draw leg covering apparel on pawns (e.g., the Visible Pants mod). If you plan on using this feature and the Sized Apparel mod, you must turn off texture caching or graphical glitches will occur (this can be done by adding Vanilla Expanded Framework to your modlist and enabling its 'Disable Texture Caching' setting) +- Addition: Added a configuration menu which allows the user to customise apparel to either hide / reveal the groin, belly and / or breasts of pawns, plus an option to mark apparel as 'sex-wear' (these items of clothing will always be worn during sex animations) +- Addition: Added option to configure the amount of clothing that should be worn when having a quickie out of bed (pawns can be nude, wear headgear only, or be fully clothed) +- Addition: Individual items of clothing will be hidden if they cover a body part that is needed for a sex animation (e.g., pants will be removed for vaginal or anal sex, but not for oral) - this will not affect apparel marked as sex-wear + +Change log v 1.1.1 +- Fix: Fixed issue with the violation of corpses +- Fix: Fixed issue with xenophobes not reacting to xenophilic sex +- Fix: Fixed issue with not being able to toggle off reactions to cheating +- Change: Changed how the 'require privacy' toggle in the settings works - disabling this toggle now only stops pawns from feeling shame when being caught having / seeing non-taboo sex +- Removal: Removed unnecessary xpath patch which added a null pregnancy belly graphic to RimNudeWorld +- Addition: Added toggle to the settings which allows pawns to ignore indecent activities against prisoners and slaves + +Change log v 1.1.0 +- Addition: The reactions of pawns to encountering sex is now more nuanced. A pawn's reaction will now depend on 1) the sex act witnessed and 2) their traits and ideology (the Sexperience Ideology mod is recommended for this but is not required). Pawns can now have specific opinions on + - Rape + - Beastiality + - Necrophilia + - Xenophilia +Specific reactions can be individually toggled on/off. Work on this feature is on going - at the moment, these acts will either treated as a vanilla sex act, as taboo, or as a major taboo. More tailored thoughts are planned to be added +- Addition: Pawns can have extreme reactions to encountered sex acts. If a major taboo is witnessed the pawn will flee in horror, or may even start a fight the perpetrator! This feature can be toggled on/off + +Change log v 1.0.5 +- Fix: Missing text for the voyeur quirk has been fixed +- Change: Dubs Apparel Tweaks must now be loaded after this mod +- Removal: Test theesome animation removed + +Change log v 1.0.4 +- Fix: Fixed an issue when masturbating with a dildo +- Fix: Fixed an issue with masturbation animation selection +- Addition: Translation tags have been set up for the settings page - still only available in English however + +Change log v 1.0.3 +- Fix: fixed incompatibility issue with Vanilla Factions Expanded Ancients +- Fix: non-consensual / paid for sex acts won't be interrupted by people passing by anymore + +Change log v 1.0.2 +- Fix: fixed an issue with the animation anchors for sex activities outside of bed - pawns should not longer be placed oddly far apart or close together +- Fix: fixed an incompatibility issue with Dub's Apparel Tweaks +- Fix: fixed several body part layering issues for a number of alien races +- Fix: fixed an issue with the sex job driver failing for mechanoids +- Fix: sex animations should now only be played once for non-consensual / paid for sex acts +- Fix: a pawn's age is now considered when sending out an invitation to join in sex +- Fix: pawns won't worry about privacy or infidelity while taking part in a ritual +- Fix: fixed an issue where pawns invited to join a threesome were causing it to stop + +Change log v 1.0.1 +- Fix: Fixed body parts on animals not being rendered while this mod is active +- Fix: Fixed bug that lead to repeated mating with animals +- Addition: Added a toggle to the settings which will allow the player to choose whether pawns worry about infidelity + +Change log v 1.0.0 +- Fix: eye implants and head wounds should now line up correctly with a pawn's head during sex animations +- Fix: penis movement has been added back to sex animations (must be enabled under RimWorld-Animations settings) +- Fix: a number of body part layering issues have been fixed for RimNudeWorld +- Fix: the timing of orgasms should now sync up with how they are depicted in sex animations +- Fix: fixed some issues with sex overdrive, the sex override meter, and how sex animations play out +- Fix: fixed issue with animations continuing if a pawn transitions straight from one sex act to another +- Fix: when masturbating in their own bed, pawns will position themselves in their sleeping spot rather than the middle of the bed +- Fix: RimNudeWorld's belly graphics will not appear until a third of the way through a pregnancy and will now be hidden under apparel that covers the torso +- Change: if a pawn doesn't appear to be actively using their own genitals during a sex animation (e.g., giving someone else a handjob) then they will not reach orgasm +- Change: genitals now count as being covered / protected by leg-covering apparel instead than torso-covering apparel +- Change: the scantier underwear from Underwhere and S16's extension mods now only cover / protect the genitals and chest instead of the legs and torso +- Change: added some variety to the log entries / job descriptions for different sex acts +- Change: if sex overdrive is turned on, the next sex act to take place will be chosen at random +- Change: pawns now have a chance to start a second sex animation after the first one ends, depending on how horny the participants still are +- Change: tweaked the lengths of the original animations by c0ffee - animations will now generally finish within 25-30 seconds (~ 40 mins of in game time) +- Addition: included animations for the following sex acts (updated versions of the ones I originally posted on the forum) + - butterfly + - breast job + - hand job + - fisting + - rimming + - sixty-nine + - fingering + - cunnilingus while standing + - reverse cowgirl + - face sitting + - foot job + - mutual masturbation +- Addition: included some new animations! + - kissing / making out (based on an animation originally made by Tory) + - solo masturbation while standing up and lying in a bed (includes separate animations for playing with genitals, breasts, anus and bed humping) + - a threesome with one male and two females ('the cowgirls') +- Addition: certain animations have had animated hands added to them - these include hand jobs, fisting, fingering, solo masturbation and mutual masturbation (can be toggled on or off). This feature requires RimNudeWorld to be active +- Addition: pawn / sleep slot name tags can be hidden during animations so they don't cover up the action (can be toggled on or off) +- Addition: the distance between pawns during sex animations can be set to be scaled depending on the body sizes of the pawns involved (can be toggled on or off) +- Addition: clothing that is not worn during an animation will now appear in a nearby pile on the floor (can be toggled on or off) +- Addition: pawns now have a desire for privacy while having sex / masturbating, and they'll be unhappy and stop what they are doing if they get caught in the act (can be toggled on or off). Exhibitionists won't mind though +- Addition: threesomes can triggered via two new ways - 1) when a pawn sets off to bed their partner a passerby might be invited to follow, and 2) if a pawn stumbles upon a couple having sex, they may just be invited to join in (the chance of a threesome occuring can be configured). In both cases, those involved must have a good opinion of each other and the invited pawn mustn't be doing an important job at the time +- Addition: a voyeur quirk has been added - these pawns get a rush out of catching people in the act \ No newline at end of file diff --git a/About/Manifest.xml b/About/Manifest.xml new file mode 100644 index 0000000..22e913a --- /dev/null +++ b/About/Manifest.xml @@ -0,0 +1,6 @@ + + + 1.2.0 + + + diff --git a/Defs/AnimationDefs/Animations_extension.xml b/Defs/AnimationDefs/Animations_extension.xml new file mode 100644 index 0000000..09bc8fc --- /dev/null +++ b/Defs/AnimationDefs/Animations_extension.xml @@ -0,0 +1,5192 @@ + + + + + + SixtyNine + + true + +
  • Sixtynine
  • +
    + + +
  • + +
  • Human
  • + + + (0, 0) + (0, 0.1) + (0, -0.1) + + +
  • Mouth
  • +
    + true + +
  • + +
  • Human
  • + + + (0, -0.1) + + +
  • Mouth
  • +
    + true + true + +
    + + +
  • + Slow_Fuck + true + 915 + 610 + 0 + +
  • + +
  • + 0 + 76 + 80 + 0.18 + 0.166 + 90 + 1 + 1 +
  • +
  • + 0 + 76 + 80 + 0.27 + 0.166 + 105 + 1 + 1 + Suck +
  • +
  • + 0 + 76 + 80 + 0.18 + 0.166 + 90 + 1 + 1 +
  • +
  • + 0 + 76 + 80 + 0.24 + 0.166 + 100 + 1 + 1 + Suck +
  • +
  • + 0 + 1 + 80 + 0.18 + 0.166 + 90 + 1 + 1 +
  • + + +
  • + LayingPawn + +
  • + 0 + 76 + -100 + 0 + -0.175 + -100 + 1 + 1 +
  • +
  • + 0 + 76 + -100 + 0 + -0.175 + -80 + 1 + 1 +
  • +
  • + 0 + 76 + -100 + 0 + -0.175 + -100 + 1 + 1 +
  • +
  • + 0 + 76 + -100 + 0 + -0.175 + -85 + 1 + 1 +
  • +
  • + 0 + 1 + -100 + 0 + -0.175 + -100 + 1 + 1 +
  • + + + + +
  • + Fast_Fuck + true + 918 + 612 + 0 + +
  • + +
  • + 0 + 38 + 80 + 0.18 + 0.166 + 90 + 1 + 1 +
  • +
  • + 0 + 38 + 80 + 0.27 + 0.166 + 105 + 1 + 1 + Suck +
  • +
  • + 0 + 38 + 80 + 0.18 + 0.166 + 90 + 1 + 1 +
  • +
  • + 0 + 38 + 80 + 0.24 + 0.166 + 100 + 1 + 1 + Suck +
  • +
  • + 0 + 1 + 80 + 0.18 + 0.166 + 90 + 1 + 1 +
  • + + +
  • + LayingPawn + +
  • + 0 + 38 + -100 + 0 + -0.175 + -100 + 1 + 1 +
  • +
  • + 0 + 38 + -100 + 0 + -0.175 + -80 + 1 + 1 +
  • +
  • + 0 + 38 + -100 + 0 + -0.175 + -100 + 1 + 1 +
  • +
  • + 0 + 38 + -100 + 0 + -0.175 + -85 + 1 + 1 +
  • +
  • + 0 + 1 + -100 + 0 + -0.175 + -100 + 1 + 1 +
  • + + + + +
  • + Cum + true + 306 + 0 + +
  • + +
  • + 0 + 38 + 80 + 0.18 + 0.166 + 90 + 1 + 1 +
  • +
  • + 0 + 38 + 80 + 0.20 + 0.166 + 98 + 1 + 1 + Cum + true +
  • +
  • + 0 + 38 + 80 + 0.18 + 0.166 + 90 + 1 + 1 + true +
  • +
  • + 0 + 38 + 80 + 0.19 + 0.166 + 95 + 1 + 1 + true +
  • +
  • + 0 + 1 + 80 + 0.18 + 0.166 + 90 + 1 + 1 +
  • + + +
  • + LayingPawn + +
  • + 0 + 38 + -100 + 0 + -0.175 + -100 + 1 + 1 +
  • +
  • + Cum + 0 + 38 + -100 + 0 + -0.175 + -90 + 1 + 1 +
  • +
  • + 0 + 38 + -100 + 0 + -0.175 + -100 + 1 + 1 +
  • +
  • + 0 + 38 + -100 + 0 + -0.175 + -86 + 1 + 1 + Cum +
  • +
  • + 0 + 1 + -100 + 0 + -0.175 + -90 + 1 + 1 +
  • + + + + +
    +
    + + Butterfly + + true + +
  • Vaginal
  • +
    + + +
  • + +
  • Human
  • + + + (-0.05, 0.07) + + +
  • Vagina
  • +
    + +
  • + +
  • Human
  • + + + (0, 0.2) + + true + true + true + +
    + + +
  • + Slow_Fuck + true + 918 + 612 + 0 + +
  • + +
  • + 0 + 10 + 92 + 0.398 + -0.166 + 90 + 3 + 3 +
  • +
  • + 40 + 97 + 0.426 + -0.190 + 107 + 3 + 3 +
  • +
  • + 1 + 92 + 0.398 + -0.166 + 90 + 3 + 3 +
  • + +
  • + 10 + 92 + 0.398 + -0.166 + 90 + 3 + 3 +
  • +
  • + 40 + 97 + 0.426 + -0.190 + 107 + 3 + 3 +
  • +
  • + 1 + 92 + 0.398 + -0.166 + 90 + 3 + 3 +
  • + +
  • + 10 + 92 + 0.398 + -0.166 + 90 + 3 + 3 +
  • +
  • + 40 + 97 + 0.426 + -0.190 + 107 + 3 + 3 +
  • +
  • + 1 + 92 + 0.398 + -0.166 + 90 + 3 + 3 +
  • + +
  • + 10 + 92 + 0.398 + -0.166 + 90 + 3 + 3 +
  • +
  • + 40 + 97 + 0.426 + -0.190 + 107 + 3 + 3 +
  • +
  • + 1 + 92 + 0.398 + -0.166 + 90 + 3 + 3 +
  • + +
  • + 10 + 92 + 0.398 + -0.166 + 90 + 3 + 3 +
  • +
  • + 40 + 97 + 0.426 + -0.190 + 107 + 3 + 3 +
  • +
  • + 1 + 92 + 0.398 + -0.166 + 90 + 3 + 3 +
  • + +
  • + 10 + 92 + 0.398 + -0.166 + 90 + 3 + 3 +
  • +
  • + 40 + 97 + 0.426 + -0.190 + 107 + 3 + 3 +
  • +
  • + 1 + 92 + 0.398 + -0.166 + 90 + 3 + 3 +
  • + +
  • + 10 + 92 + 0.398 + -0.166 + 90 + 3 + 3 +
  • +
  • + 40 + 97 + 0.426 + -0.190 + 107 + 3 + 3 +
  • +
  • + 1 + 92 + 0.398 + -0.166 + 90 + 3 + 3 +
  • + +
  • + 10 + 92 + 0.398 + -0.166 + 90 + 3 + 3 +
  • +
  • + 40 + 97 + 0.426 + -0.190 + 107 + 3 + 3 +
  • +
  • + 0 + 1 + 92 + 0.398 + -0.166 + 90 + 3 + 3 +
  • + + +
  • + LayingPawn + +
  • + 0 + 10 + 16.6 + -0.217 + 0.175 + 3 + 1 + 1 + 32 +
  • + +
  • + 40 + Fuck + -17 + -0.217 + 0.272 + 5.4 + 1 + 1 + 36 +
  • +
  • + 1 + 16.6 + -0.217 + 0.175 + 3 + 1 + 1 + 0 + 32 +
  • + + + + +
  • + Fast_Fuck + true + 945 + 630 + 0 + +
  • + +
  • + 8 + 92 + 0.398 + -0.166 + 107 + 3 + 3 + 0 +
  • +
  • + 12 + 97 + 0.426 + -0.190 + 130 + 3 + 3 +
  • +
  • + 1 + 92 + 0.398 + -0.166 + 107 + 3 + 3 + 0 +
  • + + +
  • + LayingPawn + +
  • + 8 + 11 + -0.217 + 0.175 + 8 + 1 + 1 + 0 + 32 +
  • + +
  • + 12 + Fuck + -12 + -0.217 + 0.272 + 9 + 1 + 1 + 36 +
  • +
  • + 1 + 11 + -0.217 + 0.175 + 8 + 1 + 1 + 0 + 32 +
  • + + + + +
  • + Cum + true + 363 + 0 + +
  • + +
  • + 8 + 92 + 0.398 + -0.166 + 117 + 3 + 3 + 0 +
  • +
  • + Cum + 100 + 95 + 0.426 + -0.190 + 118 + 3 + 3 + true +
  • +
  • + 12 + 97 + 0.426 + -0.190 + 119 + 3 + 3 +
  • +
  • + 1 + 92 + 0.398 + -0.166 + 117 + 3 + 3 + 0 +
  • + + +
  • + LayingPawn + +
  • + 8 + 11 + -0.217 + 0.175 + -8 + 1 + 1 + 0 + 32 +
  • +
  • + Cum + 100 + -12 + -0.217 + 0.272 + -9 + 1 + 1 + 36 +
  • +
  • + 12 + -15 + -0.227 + 0.272 + -4 + 1 + 1 +
  • +
  • + 1 + 11 + -0.217 + 0.175 + -8 + 1 + 1 + 0 + 32 +
  • + + + + +
    +
    + + BreastJob + + true + +
  • Boobjob
  • +
    + + +
  • + +
  • Human
  • + + + (0, -0.2) + + +
  • Breasts
  • +
    + true + +
  • + +
  • Human
  • + + true + + (0, 0.2) + + +
    + +
  • + Quick_Start + true + 1176 + 784 + 0 + +
  • + +
  • + 18 + 0 + 0 + 0 + -0.155 + 0 + 0 + 0 +
  • +
  • + Sex + 30 + 0 + 0 + -0.23 + 0 + 0 + -0.06 +
  • +
  • + 1 + 0 + 0 + 0 + -0.155 + 0 + 0 + 0 +
  • + +
  • + 18 + 0 + 0 + 0 + -0.155 + 0 + 0 + 0 +
  • +
  • + 30 + 0 + 0 + -0.23 + 0 + 0 + -0.05 +
  • +
  • + Sex + 1 + 0 + 0 + 0 + -0.155 + 0 + 0 + 0 +
  • + +
  • + 18 + 0 + 0 + 0 + -0.155 + 0 + 0 + 0 +
  • +
  • + 30 + + 0 + 0 + -0.23 + 0 + 0 + -0.03 +
  • +
  • + 1 + 0 + 0 + 0 + -0.155 + 0 + 0 + 0 +
  • + +
  • + Sex + 18 + 0 + 0 + 0 + -0.155 + 0 + 0 + 0 +
  • +
  • + 30 + 0 + 0 + 0 + -0.23 + 0 + 0 + -0.02 +
  • +
  • + 1 + 0 + 0 + 0 + -0.155 + 0 + 0 + 0 +
  • + + +
  • + LayingPawn + +
  • + 37 + 0 + 0 + 0 + 0.373 + 2 + 2 + 0 +
  • +
  • + 60 + 0 + 0 + 0.390 + 2 + 2 + -0.003 +
  • +
  • + 1 + 0 + 0 + 0 + 0.373 + 2 + 2 + 0 +
  • + + + + +
  • + Rapid_Rise + true + 630 + 420 + 0 + +
  • + +
  • + 15 + 0 + 0 + 0 + -0.155 + 0 + 0 + 0 +
  • +
  • + Sex + 14 + 0 + 0 + -0.170 + 0 + 0 + -0.02 +
  • +
  • + 1 + 0 + 0 + 0 + -0.155 + 0 + 0 + 0 +
  • + + +
  • + LayingPawn + +
  • + 15 + 0 + 0 + 0 + 0.373 + 2 + 2 + 0 +
  • +
  • + 14 + 0 + 0 + 0.475 + 2 + 2 + -0.051 +
  • +
  • + 1 + 0 + 0 + 0 + 0.373 + 2 + 2 + 0 +
  • + + + + +
  • + Cum + true + 303 + 0 + +
  • + +
  • + 12 + 0 + 0 + 0 + -0.155 + 0 + 0 + 0 +
  • +
  • + 7 + 0 + 0 + -0.190 + 0 + 0 + -0.02 +
  • +
  • + 7 + 0 + 0 + -0.190 + 0 + 0 + -0.008 +
  • +
  • + 60 + 0 + 0 + -0.190 + 0 + 0 + -0.02 +
  • +
  • + Sex + 14 + 0 + 0 + -0.190 + 0 + 0 + -0.02 +
  • +
  • + 1 + 0 + 0 + 0 + -0.155 + 0 + 0 + 0 +
  • + + +
  • + LayingPawn + +
  • + 12 + 0 + 0 + 0 + 0.373 + 2 + 2 + 0 +
  • +
  • + 7 + + 0 + 0 + 0.475 + 2 + 2 + -0.051 +
  • +
  • + 7 + 0 + 0 + 0.40 + 2 + 2 + -0.04 +
  • +
  • + true + 60 + 0 + 0 + 0.475 + 2 + 2 + -0.051 +
  • +
  • + 14 + 0 + 0 + 0.475 + 2 + 2 + -0.051 +
  • +
  • + 1 + 0 + 0 + 0 + 0.373 + 2 + 2 + 0 +
  • + + + + +
    +
    + + Handjob + + true + +
  • Handjob
  • +
    + + +
  • + +
  • Human
  • + + + (-0.1, 0) + (0, 0) + (-0.25, 0.2) + (0, 0) + (-0.2, 0) + + +
  • OneHand
  • +
    + true + +
  • + +
  • Human
  • + + true + + (0, 0.2) + + +
    + +
  • + Slow_Start + true + 1080 + 720 + 0 + +
  • + +
  • + 30 + 0 + 0 + 0 + -0.155 + 0 + 0 + 0 +
  • +
  • + Sex + 29 + 0 + 0 + -0.155 + 0 + 0 + 0.03 +
  • +
  • + 1 + 0 + 0 + 0 + -0.155 + 0 + 0 + 0 +
  • + + +
  • + LayingPawn + +
  • + 30 + 0 + 0 + 0.2 + 0.373 + 2 + 2 + 0 +
  • +
  • + 29 + 0 + 0.2 + 0.390 + 2 + 2 + -0.003 +
  • +
  • + 1 + 0 + 0 + 0.2 + 0.373 + 2 + 2 + 0 +
  • + + + + +
  • + Rapid_Rise + true + 630 + 420 + 0 + +
  • + +
  • + 15 + 0 + 0 + 0 + -0.155 + 0 + 0 + 0 +
  • +
  • + Sex + 14 + 0 + 0 + -0.155 + 0 + 0 + 0.02 +
  • +
  • + 1 + 0 + 0 + 0 + -0.155 + 0 + 0 + 0 +
  • + + +
  • + LayingPawn + +
  • + 15 + 0 + 0 + 0.2 + 0.373 + 2 + 2 + 0 +
  • +
  • + 14 + 0 + 0.2 + 0.475 + 2 + 2 + -0.051 +
  • +
  • + 1 + 0 + 0 + 0.2 + 0.373 + 2 + 2 + 0 +
  • + + + + +
  • + Cum + true + 303 + 0 + +
  • + +
  • + 12 + 0 + 0 + 0 + -0.155 + 0 + 0 + 0 +
  • +
  • + 7 + 0 + 0 + -0.155 + 0 + 0 + 0.03 +
  • +
  • + 7 + Sex + 0 + 0 + -0.155 + 0 + 0 + 0.03 +
  • +
  • + 60 + 0 + 0 + -0.155 + 0 + 0 + 0.02 +
  • +
  • + 14 + 0 + 0 + -0.155 + 0 + 0 + 0.02 +
  • +
  • + 1 + 0 + 0 + 0 + -0.155 + 0 + 0 + 0 +
  • + + +
  • + LayingPawn + +
  • + 12 + 0 + 0 + 0.2 + 0.373 + 2 + 2 + 0 +
  • +
  • + 7 + Cum + 0 + 0.2 + 0.475 + 2 + 2 + -0.051 +
  • +
  • + 7 + 0 + 0.2 + 0.40 + 2 + 2 + -0.04 +
  • +
  • + true + 60 + 0 + 0.2 + 0.475 + 2 + 2 + -0.051 +
  • +
  • + 14 + 0 + 0.2 + 0.475 + 2 + 2 + -0.051 +
  • +
  • + 1 + 0 + 0 + 0.2 + 0.373 + 2 + 2 + 0 +
  • + + + + +
    +
    + + Fisting + + true + +
  • Fisting
  • +
    + + +
  • + +
  • Human
  • + + + (0, 0.2) + + +
  • Anus
  • +
    + +
  • + +
  • Human
  • + + + (-0.1, 0) + (0, 0) + (-0.25, 0.2) + (0, 0) + (-0.2, 0) + + +
  • OneHand
  • +
    + true + + +
    + +
  • + Slow_Start + true + 1080 + 720 + 0 + +
  • + LayingPawn + +
  • + 60 + 0 + 0 + 0.2 + 0.373 + 0 + 0 + 0 +
  • +
  • + 59 + 0 + 0.2 + 0.390 + 0 + 0 + -0.003 +
  • +
  • + 1 + 0 + 0 + 0.2 + 0.373 + 0 + 0 + 0 +
  • +
  • + 35 + 0 + 0 + 0.2 + 0.373 + 0 + 0 + 0 +
  • +
  • + 59 + 0 + 0.2 + 0.390 + 0 + 0 + -0.003 +
  • +
  • + 1 + 0 + 0 + 0.2 + 0.373 + 0 + 0 + 0 +
  • +
  • + 35 + 0 + 0 + 0.2 + 0.373 + 0 + 3 + 0 +
  • +
  • + 59 + 0 + 0.2 + 0.390 + 0.2 + 3 + -0.003 +
  • +
  • + 1 + 0 + 0 + 0.2 + 0.373 + 0 + 3 + 0 +
  • +
  • + 35 + 0 + 0 + 0.2 + 0.373 + 0 + 3 + 0 +
  • +
  • + 59 + 0 + 0.2 + 0.390 + 0 + 3 + -0.003 +
  • +
  • + 1 + 0 + 0 + 0.2 + 0.373 + 0 + 3 + 0 +
  • + +
  • + 35 + 0 + 0 + 0.2 + 0.373 + 0 + 0 + 0 +
  • +
  • + 59 + 0 + 0.2 + 0.390 + 0 + 0 + -0.003 +
  • +
  • + 1 + 0 + 0 + 0.2 + 0.373 + 0 + 0 + 0 +
  • +
  • + 35 + 0 + 0 + 0.2 + 0.373 + 0 + 0 + 0 +
  • +
  • + 59 + 0 + 0.2 + 0.390 + 0 + 0 + -0.003 +
  • +
  • + 1 + 0 + 0 + 0.2 + 0.373 + 0 + 0 + 0 +
  • + +
  • + 35 + 0 + 0 + 0.2 + 0.373 + 0 + 0 + 0 +
  • +
  • + 59 + 0 + 0.2 + 0.390 + 0 + 0 + -0.003 +
  • +
  • + 1 + 0 + 0 + 0.2 + 0.373 + 0 + 0 + 0 +
  • +
  • + 35 + 0 + 0 + 0.2 + 0.373 + 0 + 0 + 0 +
  • +
  • + 59 + 0 + 0.2 + 0.390 + 0 + 0 + -0.003 +
  • +
  • + 1 + 0 + 0 + 0.2 + 0.373 + 0 + 0 + 0 +
  • + + +
  • + +
  • + 35 + 0 + 0 + 0 + -0.155 + 0 + 0 + 0 +
  • +
  • + Sex + 59 + 0 + 0 + -0.155 + 0 + 0 + 0.03 +
  • +
  • + 1 + 0 + 0 + 0 + -0.155 + 0 + 0 + 0 +
  • + + + + +
  • + Rapid_Rise + true + 630 + 420 + 0 + +
  • + LayingPawn + +
  • + 15 + 0 + 0 + 0.2 + 0.373 + 0 + 0 + 0 +
  • +
  • + 14 + 0 + 0.2 + 0.475 + 0 + 0 + -0.051 +
  • +
  • + 1 + 0 + 0 + 0.2 + 0.373 + 0 + 0 + 0 +
  • + + +
  • + +
  • + 15 + 0 + 0 + 0 + -0.155 + 0 + 0 + 0 +
  • +
  • + Sex + 14 + 0 + 0 + -0.155 + 0 + 0 + 0.02 +
  • +
  • + 1 + 0 + 0 + 0 + -0.155 + 0 + 0 + 0 +
  • + + + + +
  • + Cum + true + 303 + 0 + +
  • + LayingPawn + +
  • + 12 + 0 + 0 + 0.2 + 0.373 + 0 + 0 + 0 +
  • +
  • + 7 + Cum + 0 + 0.2 + 0.475 + 0 + 0 + -0.051 +
  • +
  • + 7 + 0 + 0.2 + 0.40 + 0 + 0 + -0.04 +
  • +
  • + true + 60 + 0 + 0.2 + 0.475 + 0 + 0 + -0.051 +
  • +
  • + 14 + 0 + 0.2 + 0.475 + 0 + 0 + -0.051 +
  • +
  • + 1 + 0 + 0 + 0.2 + 0.373 + 0 + 0 + 0 +
  • + + +
  • + +
  • + 12 + 0 + 0 + 0 + -0.155 + 0 + 0 + 0 +
  • +
  • + 7 + 0 + 0 + -0.155 + 0 + 0 + 0.03 +
  • +
  • + 7 + Sex + 0 + 0 + -0.155 + 0 + 0 + 0.03 +
  • +
  • + 60 + 0 + 0 + -0.155 + 0 + 0 + 0.02 +
  • +
  • + 14 + 0 + 0 + -0.155 + 0 + 0 + 0.02 +
  • +
  • + 1 + 0 + 0 + 0 + -0.155 + 0 + 0 + 0 +
  • + + + + +
    +
    + + Fingering + + true + +
  • Fingering
  • +
    + + +
  • + +
  • Human
  • + + + (0, 0.2) + + +
  • Vagina
  • +
    + +
  • + +
  • Human
  • + + + (-0.1, 0) + (0, 0) + (-0.25, 0.2) + (0, 0) + (-0.2, 0) + + +
  • OneHand
  • +
    + true + + +
    + +
  • + Slow_Start + true + 1080 + 720 + 0 + +
  • + LayingPawn + +
  • + 60 + 0 + 0 + 0.2 + 0.373 + 2 + 2 + 0 +
  • +
  • + 59 + 0 + 0.2 + 0.390 + 2 + 2 + -0.003 +
  • +
  • + 1 + 0 + 0 + 0.2 + 0.373 + 2 + 2 + 0 +
  • + + +
  • + +
  • + 60 + 0 + 0 + 0 + -0.155 + 0 + 0 + 0 +
  • +
  • + Sex + 59 + 0 + 0 + -0.155 + 0 + 0 + 0.03 +
  • +
  • + 1 + 0 + 0 + 0 + -0.155 + 0 + 0 + 0 +
  • + + + + +
  • + Rapid_Rise + true + 630 + 420 + 0 + +
  • + LayingPawn + +
  • + 15 + 0 + 0 + 0.2 + 0.373 + 2 + 2 + 0 +
  • +
  • + 14 + 0 + 0.2 + 0.475 + 2 + 2 + -0.051 +
  • +
  • + 1 + 0 + 0 + 0.2 + 0.373 + 2 + 2 + 0 +
  • + + +
  • + +
  • + 15 + 0 + 0 + 0 + -0.155 + 0 + 0 + 0 +
  • +
  • + Sex + 14 + 0 + 0 + -0.155 + 0 + 0 + 0.02 +
  • +
  • + 1 + 0 + 0 + 0 + -0.155 + 0 + 0 + 0 +
  • + + + + +
  • + Cum + true + 303 + 0 + +
  • + LayingPawn + +
  • + 12 + 0 + 0 + 0.2 + 0.373 + 2 + 2 + 0 +
  • +
  • + 7 + Cum + 0 + 0.2 + 0.475 + 2 + 2 + -0.051 +
  • +
  • + 7 + 0 + 0.2 + 0.40 + 2 + 2 + -0.04 +
  • +
  • + true + 60 + 0 + 0.2 + 0.475 + 2 + 2 + -0.051 +
  • +
  • + 14 + 0 + 0.2 + 0.475 + 2 + 2 + -0.051 +
  • +
  • + 1 + 0 + 0 + 0.2 + 0.373 + 2 + 2 + 0 +
  • + + +
  • + +
  • + 12 + 0 + 0 + 0 + -0.155 + 0 + 0 + 0 +
  • +
  • + 7 + 0 + 0 + -0.155 + 0 + 0 + 0.03 +
  • +
  • + 7 + Sex + 0 + 0 + -0.190 + 0 + 0 + 0.03 +
  • +
  • + 60 + 0 + 0 + -0.155 + 0 + 0 + 0.02 +
  • +
  • + 14 + 0 + 0 + -0.155 + 0 + 0 + 0.02 +
  • +
  • + 1 + 0 + 0 + 0 + -0.155 + 0 + 0 + 0 +
  • + + + + +
    +
    + + CunnilingusStanding + + true + +
  • Cunnilingus
  • +
    + + +
  • + +
  • Human
  • + + + (0, 0.2) + + +
  • Vagina
  • +
    + +
  • + +
  • Human
  • + + + (0, -0.1) + + +
  • Mouth
  • +
    + true + + +
    + +
  • + Slow_Suck + true + 1140 + 760 + 0 + +
  • + LayingPawn + +
  • + 35 + 0 + 0 + 0 + 0.473 + 2 + 2 + 0 +
  • +
  • + 59 + 0 + 0 + 0.490 + 2 + 2 + -0.003 +
  • +
  • + 1 + 0 + 0 + 0 + 0.473 + 2 + 2 + 0 +
  • + + +
  • + +
  • + 35 + 0 + 0 + 0 + -0.255 + 0 + 0 + 0 +
  • +
  • + Suck + 59 + 0 + 0 + -0.33 + 0 + 0 + -0.10 +
  • +
  • + 1 + 0 + 0 + 0 + -0.255 + 0 + 0 + 0 +
  • +
  • + 35 + 0 + 0 + 0 + -0.255 + 0 + 0 + 0 +
  • +
  • + Suck + 59 + 0 + 0 + -0.33 + 0 + 0 + -0.09 +
  • +
  • + 1 + 0 + 0 + 0 + -0.255 + 0 + 0 + 0 +
  • +
  • + 35 + 0 + 0 + 0 + -0.255 + 0 + 0 + 0 +
  • +
  • + Suck + 59 + + 6 + 0 + -0.33 + 0 + 0 + -0.07 +
  • +
  • + 1 + 0 + 0 + 0 + -0.255 + 0 + 0 + 0 +
  • + +
  • + 35 + 0 + 0 + 0 + -0.255 + 0 + 0 + 0 +
  • +
  • + Suck + 59 + + 6 + 0 + -0.33 + 0 + 0 + -0.07 +
  • +
  • + 1 + 0 + 0 + 0 + -0.255 + 0 + 0 + 0 +
  • + + + + +
  • + Face_Fuck + true + 630 + 420 + 0 + +
  • + LayingPawn + +
  • + 15 + 0 + 0 + 0 + 0.473 + 2 + 2 + 0 +
  • +
  • + 14 + 0 + 0 + 0.575 + 2 + 2 + -0.051 +
  • +
  • + 1 + 0 + 0 + 0 + 0.473 + 2 + 2 + 0 +
  • + + +
  • + +
  • + 15 + 0 + 0 + 0 + -0.255 + 0 + 0 + 0 +
  • +
  • + Suck + 14 + 0 + 0 + -0.270 + 0 + 0 + -0.03 +
  • +
  • + 1 + 0 + 0 + 0 + -0.255 + 0 + 0 + 0 +
  • + + + + +
  • + Cum + true + 303 + 0 + +
  • + LayingPawn + +
  • + 12 + 0 + 0 + 0 + 0.473 + 2 + 2 + 0 +
  • +
  • + 7 + Cum + 0 + 0 + 0.575 + 2 + 2 + -0.051 +
  • +
  • + 7 + 0 + 0 + 0.50 + 2 + 2 + -0.04 +
  • +
  • + true + 60 + 0 + 0 + 0.575 + 2 + 2 + -0.051 +
  • +
  • + 14 + 0 + 0 + 0.575 + 2 + 2 + -0.051 +
  • +
  • + 1 + 0 + 0 + 0 + 0.473 + 2 + 2 + 0 +
  • + + +
  • + +
  • + 12 + 0 + 0 + 0 + -0.255 + 0 + 0 + 0 +
  • +
  • + 7 + 0 + 0 + -0.290 + 0 + 0 + -0.06 +
  • +
  • + 7 + Suck + 0 + 0 + -0.290 + 0 + 0 + -0.008 +
  • +
  • + 60 + 0 + 0 + -0.290 + 0 + 0 + -0.06 +
  • +
  • + 14 + 0 + 0 + -0.290 + 0 + 0 + -0.06 +
  • +
  • + 1 + 0 + 0 + 0 + -0.255 + 0 + 0 + 0 +
  • + + + + +
    +
    + + Rimming + + true + +
  • Rimming
  • +
    + + +
  • + +
  • Human
  • + + + (0, -0.1) + + +
  • Anus
  • +
    + +
  • + +
  • Human
  • + + + (0, 0.2) + + +
  • Mouth
  • +
    + true + + +
    + +
  • + Slow_Suck + true + 1140 + 760 + 0 + +
  • + LayingPawn + +
  • + 35 + 0 + 0 + 0 + 0.373 + 0 + 0 + 0 +
  • +
  • + 59 + 0 + 0 + 0.390 + 0 + 0 + -0.003 +
  • +
  • + 1 + 0 + 0 + 0 + 0.373 + 0 + 0 + 0 +
  • +
  • + 35 + 0 + 0 + 0 + 0.373 + 0 + 0 + 0 +
  • +
  • + 59 + 0 + 0 + 0.390 + 0 + 0 + -0.003 +
  • +
  • + 1 + 0 + 0 + 0 + 0.373 + 0 + 0 + 0 +
  • +
  • + 35 + 0 + 0 + 0 + 0.373 + 0 + 1 + 0 +
  • +
  • + 59 + 0 + 0 + 0.390 + 0 + 1 + -0.003 +
  • +
  • + 1 + 0 + 0 + 0 + 0.373 + 0 + 1 + 0 +
  • +
  • + 35 + 0 + 0 + 0 + 0.373 + 0 + 1 + 0 +
  • +
  • + 59 + 0 + 0 + 0.390 + 0 + 1 + -0.003 +
  • +
  • + 1 + 0 + 0 + 0 + 0.373 + 0 + 1 + 0 +
  • +
  • + 35 + 0 + 0 + 0 + 0.373 + 0 + 0 + 0 +
  • +
  • + 59 + 0 + 0 + 0.390 + 0 + 0 + -0.003 +
  • +
  • + 1 + 0 + 0 + 0 + 0.373 + 0 + 0 + 0 +
  • +
  • + 35 + 0 + 0 + 0 + 0.373 + 0 + 0 + 0 +
  • +
  • + 59 + 0 + 0 + 0.390 + 0 + 0 + -0.003 +
  • +
  • + 1 + 0 + 0 + 0 + 0.373 + 0 + 0 + 0 +
  • +
  • + 35 + 0 + 0 + 0 + 0.373 + 0 + 0 + 0 +
  • +
  • + 59 + 0 + 0 + 0.390 + 0 + 0 + -0.003 +
  • +
  • + 1 + 0 + 0 + 0 + 0.373 + 0 + 0 + 0 +
  • +
  • + 35 + 0 + 0 + 0 + 0.373 + 0 + 0 + 0 +
  • +
  • + 59 + 0 + 0 + 0.390 + 0 + 0 + -0.003 +
  • +
  • + 1 + 0 + 0 + 0 + 0.373 + 0 + 0 + 0 +
  • + + +
  • + +
  • + 35 + 0 + 0 + 0 + -0.255 + 0 + 1 + 0 +
  • +
  • + Suck + 59 + 0 + 0 + -0.33 + 0 + 0 + -0.10 +
  • +
  • + 1 + 0 + 0 + 0 + -0.255 + 0 + 0 + 0 +
  • + +
  • + 35 + 0 + 0 + 0 + -0.255 + 0 + 0 + 0 +
  • +
  • + Suck + 59 + 0 + 0 + -0.33 + 0 + 0 + -0.09 +
  • +
  • + 1 + 0 + 0 + 0 + -0.255 + 0 + 0 + 0 +
  • + +
  • + 35 + 0 + 0 + 0 + -0.255 + 0 + 0 + 0 +
  • +
  • + Suck + 59 + + 6 + 0 + -0.33 + 0 + 0 + -0.07 +
  • +
  • + 1 + 0 + 0 + 0 + -0.255 + 0 + 0 + 0 +
  • + + + + +
  • + Face_Fuck + true + 630 + 420 + 0 + +
  • + LayingPawn + +
  • + 15 + 0 + 0 + 0 + 0.473 + 0 + 0 + 0 +
  • +
  • + 14 + 0 + 0 + 0.575 + 0 + 0 + -0.051 +
  • +
  • + 1 + 0 + 0 + 0 + 0.473 + 0 + 0 + 0 +
  • + + +
  • + +
  • + 15 + 0 + 0 + 0 + -0.255 + 0 + 0 + 0 +
  • +
  • + Suck + 14 + 0 + 0 + -0.270 + 0 + 0 + -0.03 +
  • +
  • + 1 + 0 + 0 + 0 + -0.255 + 0 + 0 + 0 +
  • + + + + +
  • + Cum + true + 303 + 0 + +
  • + LayingPawn + +
  • + 12 + 0 + 0 + 0 + 0.473 + 0 + 0 + 0 +
  • +
  • + 7 + Cum + 0 + 0 + 0.575 + 0 + 0 + -0.051 +
  • +
  • + 7 + 0 + 0 + 0.50 + 0 + 0 + -0.04 +
  • +
  • + true + 60 + 0 + 0 + 0.575 + 0 + 0 + -0.051 +
  • +
  • + 14 + 0 + 0 + 0.575 + 0 + 0 + -0.051 +
  • +
  • + 1 + 0 + 0 + 0 + 0.473 + 0 + 0 + 0 +
  • + + +
  • + +
  • + 12 + 0 + 0 + 0 + -0.255 + 0 + 0 + 0 +
  • +
  • + 7 + 0 + 0 + -0.290 + 0 + 0 + -0.06 +
  • +
  • + 7 + Suck + 0 + 0 + -0.290 + 0 + 0 + -0.008 +
  • +
  • + 60 + 0 + 0 + -0.290 + 0 + 0 + -0.06 +
  • +
  • + 14 + 0 + 0 + -0.290 + 0 + 0 + -0.06 +
  • +
  • + 1 + 0 + 0 + 0 + -0.255 + 0 + 0 + 0 +
  • + + + + +
    +
    + + ReverseCowgirl + + true + +
  • Vaginal
  • +
  • Anal
  • +
    + + +
  • + +
  • Human
  • + + true + + (0, 0.2) + + true + +
  • + +
  • Human
  • + + true + true + + (0, -0.2) + + +
    + + +
  • + Slow_Fuck + true + 1072 + 804 + 0 + +
  • + +
  • + 16 + 0 + 0 + 0 + 0.554 + 0 + 0 + 0 +
  • +
  • + 17 + 3.5 + 0 + -0.03 + 0.624 + 0 + 0 + -0.02 +
  • +
  • + 16 + 0 + 0 + 0 + 0.694 + 0 + 0 + -0.03 +
  • +
  • + 17 + -3.5 + 0 + 0.03 + 0.624 + 0 + 0 + -0.02 +
  • +
  • + 1 + Fuck + 0 + 0 + 0 + 0.554 + 0 + 0 + 0 +
  • + +
  • + 16 + 0 + 0 + 0 + 0.554 + 0 + 0 + 0 +
  • +
  • + 17 + 3.5 + 0 + -0.03 + 0.624 + 0 + 0 + -0.02 +
  • +
  • + 16 + 0 + 0 + 0 + 0.694 + 0 + 0 + -0.03 +
  • +
  • + 17 + -3.5 + 0 + 0.03 + 0.624 + 0 + 0 + -0.02 +
  • +
  • + 1 + Fuck + 0 + 0 + 0 + 0.554 + 0 + 0 + 0 +
  • + +
  • + 33 + 0 + 0 + 0 + 0.554 + 0 + 1 + 0 +
  • +
  • + 33 + 0 + 0 + 0 + 0.694 + 0 + 1 + -0.03 +
  • +
  • + 1 + Fuck + 0 + 0 + 0 + 0.554 + 0 + 1 + 0 +
  • + +
  • + 33 + 0 + 0 + 0 + 0.554 + 0 + 1 + 0 +
  • +
  • + 33 + 0 + 0 + 0 + 0.694 + 0 + 1 + -0.03 +
  • +
  • + 1 + Fuck + 0 + 0 + 0 + 0.554 + 0 + 0 + 0 +
  • + + +
  • + LayingPawn + +
  • + 33 + 180 + 180 + 0 + -0.363 + 2 + 2 + 0 + 180 +
  • +
  • + 33 + 180 + 180 + 0 + -0.313 + 2 + 2 + 0.045 + 180 +
  • +
  • + 1 + 180 + 180 + 0 + -0.363 + 2 + 2 + 0 + 180 +
  • + + + + +
  • + Fast_Fuck + true + 972 + 648 + 0 + +
  • + +
  • + 13 + 0 + 0 + 0 + 0.554 + 0 + 0 + 0 +
  • +
  • + 13 + 0 + 0 + 0 + 0.694 + 0 + 0 + -0.03 +
  • +
  • + 1 + Fuck + 0 + 0 + 0 + 0.554 + 0 + 0 + 0 +
  • + + +
  • + LayingPawn + +
  • + 13 + 180 + 180 + 0 + -0.363 + 2 + 2 + 0 + 180 +
  • +
  • + 13 + 180 + 180 + 0 + -0.313 + 2 + 2 + 0.045 + 180 +
  • +
  • + 1 + 180 + 180 + 0 + -0.363 + 2 + 2 + 0 + 180 +
  • + + + + +
  • + Cum + true + 296 + 0 + +
  • + +
  • + 10 + 0 + 0 + 0 + 0.554 + 0 + 0 + 0 +
  • +
  • + 10 + 0 + 0 + 0 + 0.694 + 0 + 0 + -0.03 +
  • +
  • + 1 + Fuck + 0 + 0 + 0 + 0.554 + 0 + 0 + 0 +
  • + +
  • + 10 + 0 + 0 + 0 + 0.554 + 0 + 0 + 0 +
  • +
  • + 10 + 0 + 0 + 0 + 0.694 + 0 + 0 + -0.03 +
  • +
  • + 1 + Fuck + 0 + 0 + 0 + 0.554 + 0 + 0 + 0 +
  • + +
  • + 10 + 0 + 0 + 0 + 0.554 + 0 + 0 + 0 +
  • +
  • + 10 + 0 + 0 + 0 + 0.694 + 0 + 0 + -0.03 +
  • +
  • + true + 45 + Cum + 0 + 0 + 0 + 0.554 + 0 + 0 + 0 +
  • +
  • + true + 40 + 0 + 0 + 0 + 0.534 + 0 + 0 + 0 +
  • +
  • + 1 + 0 + 0 + 0 + 0.554 + 0 + 0 + 0 +
  • + + +
  • + LayingPawn + +
  • + 10 + 180 + 180 + 0 + -0.363 + 2 + 2 + 0 + 180 +
  • +
  • + 10 + 180 + 180 + 0 + -0.313 + 2 + 2 + 0.045 +
  • +
  • + 1 + 180 + 180 + 0 + -0.363 + 2 + 2 + 0 +
  • + +
  • + 10 + 180 + 180 + 0 + -0.363 + 2 + 2 + 0 +
  • +
  • + 10 + 180 + 180 + 0 + -0.313 + 2 + 2 + 0.045 +
  • +
  • + 1 + 180 + 180 + 0 + -0.363 + 2 + 2 + 0 +
  • + +
  • + 10 + 180 + 180 + 0 + -0.363 + 2 + 2 + 0 +
  • +
  • + 10 + 180 + 180 + 0 + -0.313 + 2 + 2 + 0.045 +
  • +
  • + 45 + 180 + 180 + 0 + -0.363 + 2 + 2 + 0 + Cum +
  • +
  • + 40 + 180 + 180 + 0 + -0.363 + 2 + 2 + 0 +
  • +
  • + 1 + 180 + 180 + 0 + -0.363 + 2 + 2 + 0 + 180 +
  • + + + + +
    +
    + + FaceSitting + + true + +
  • Cunnilingus
  • +
    + + +
  • + +
  • Human
  • + + + (0, 0.2) + + +
  • Vagina
  • +
    + true + +
  • + +
  • Human
  • + + + (0, -0.075) + + +
  • Mouth
  • +
    + +
    + + +
  • + Slow_Fuck + true + 1206 + 804 + 0 + +
  • + +
  • + 16 + 0 + 0 + 0 + 0.254 + 2 + 2 + 0 +
  • +
  • + 17 + 3.5 + 0 + -0.03 + 0.284 + 2 + 2 + -0.02 +
  • +
  • + 16 + 0 + 0 + 0 + 0.31 + 2 + 2 + -0.03 +
  • +
  • + 17 + -3.5 + 0 + 0.03 + 0.284 + 2 + 2 + -0.02 +
  • +
  • + 1 + Suck + 0 + 0 + 0 + 0.254 + 2 + 2 + 0 +
  • + +
  • + 16 + 0 + 0 + 0 + 0.254 + 2 + 2 + 0 +
  • +
  • + 17 + 3.5 + 0 + -0.03 + 0.284 + 2 + 2 + -0.02 +
  • +
  • + 16 + 0 + 0 + 0 + 0.31 + 2 + 2 + -0.03 +
  • +
  • + 17 + -3.5 + 0 + 0.03 + 0.284 + 2 + 2 + -0.02 +
  • +
  • + 1 + Suck + 0 + 0 + 0 + 0.254 + 2 + 2 + 0 +
  • + +
  • + 33 + 0 + 0 + 0 + 0.254 + 2 + 2 + 0 +
  • +
  • + 33 + 0 + 0 + 0 + 0.314 + 2 + 2 + -0.03 +
  • +
  • + 1 + Suck + 0 + 0 + 0 + 0.254 + 2 + 2 + 0 +
  • + +
  • + 33 + 0 + 0 + 0 + 0.254 + 2 + 2 + 0 +
  • +
  • + 33 + 0 + 0 + 0 + 0.314 + 2 + 2 + -0.03 +
  • +
  • + 1 + Suck + 0 + 0 + 0 + 0.254 + 2 + 2 + 0 +
  • + + +
  • + LayingPawn + +
  • + 33 + 180 + 180 + 0 + -0.063 + 2 + 2 + 0 +
  • +
  • + 33 + 180 + 180 + 0 + -0.013 + 2 + 2 + 0.045 +
  • +
  • + 1 + 180 + 180 + 0 + -0.063 + 2 + 2 + 0 +
  • + + + + +
  • + Fast_Fuck + true + 972 + 648 + 0 + +
  • + +
  • + 13 + 0 + 0 + 0 + 0.254 + 2 + 2 + 0 +
  • +
  • + 13 + 0 + 0 + 0 + 0.394 + 2 + 2 + -0.03 +
  • +
  • + 1 + Suck + 0 + 0 + 0 + 0.254 + 2 + 2 + 0 +
  • + + +
  • + LayingPawn + +
  • + 13 + 180 + 180 + 0 + -0.063 + 2 + 2 + 0 +
  • +
  • + 13 + 180 + 180 + 0 + -0.013 + 2 + 2 + 0.045 +
  • +
  • + 1 + 180 + 180 + 0 + -0.063 + 2 + 2 + 0 +
  • + + + + +
  • + Cum + true + 296 + 0 + +
  • + +
  • + 10 + 0 + 0 + 0 + 0.254 + 2 + 2 + 0 +
  • +
  • + 10 + 0 + 0 + 0 + 0.394 + 2 + 2 + -0.03 +
  • +
  • + 1 + 0 + 0 + 0 + 0.254 + 2 + 2 + 0 +
  • + +
  • + 10 + 0 + 0 + 0 + 0.254 + 2 + 2 + 0 +
  • +
  • + 10 + 0 + 0 + 0 + 0.394 + 2 + 2 + -0.03 +
  • +
  • + 1 + 0 + 0 + 0 + 0.254 + 2 + 2 + 0 +
  • + +
  • + 10 + 0 + 0 + 0 + 0.254 + 2 + 2 + 0 +
  • +
  • + 10 + 0 + 0 + 0 + 0.394 + 2 + 2 + -0.03 +
  • +
  • + true + 45 + Cum + 0 + 0 + 0 + 0.254 + 2 + 2 + 0 +
  • +
  • + true + 40 + 0 + 0 + 0 + 0.234 + 2 + 2 + 0 +
  • +
  • + 1 + 0 + 0 + 0 + 0.254 + 2 + 2 + 0 +
  • + + +
  • + LayingPawn + +
  • + 10 + 180 + 180 + 0 + -0.063 + 2 + 2 + 0 +
  • +
  • + 10 + 180 + 180 + 0 + -0.013 + 2 + 2 + 0.045 +
  • +
  • + Suck + 1 + 180 + 180 + 0 + -0.063 + 2 + 2 + 0 +
  • + +
  • + 10 + 180 + 180 + 0 + -0.063 + 2 + 2 + 0 +
  • +
  • + 10 + 180 + 180 + 0 + -0.013 + 2 + 2 + 0.045 +
  • +
  • + Suck + 1 + 180 + 180 + 0 + -0.063 + 2 + 2 + 0 +
  • + +
  • + 10 + 180 + 180 + 0 + -0.063 + 2 + 2 + 0 +
  • +
  • + 10 + 180 + 180 + 0 + -0.013 + 2 + 2 + 0.045 +
  • +
  • + 45 + 180 + 180 + 0 + -0.063 + 2 + 2 + 0 +
  • +
  • + 40 + 180 + 180 + 0 + -0.063 + 2 + 2 + 0 +
  • +
  • + 1 + 180 + 180 + 0 + -0.063 + 2 + 2 + 0 +
  • + + + + +
    +
    + + Footjob + + true + +
  • Footjob
  • +
    + + +
  • + +
  • Human
  • + + + (0, 0) + (0, 0) + (0, 0.1) + (-0.1, 0) + (0, 0.175) + + +
  • + +
  • Human
  • + + + (-0.075, -0.15) + (-0.1, -0.15) + (-0.275, -0.05) + (-0.05, -0.1) + (-0.2, -0.35) + + true + true + true + +
    + + +
  • + Rubbing + true + 915 + 610 + 0 + +
  • + +
  • + + 20 + 9.97 + -7.61 + 0.444 + 0.368 + 3 + 3 + 0 +
  • +
  • + 20 + 23.82 + -6.90 + 0.432 + 0.403 + 3 + 3 + 0 +
  • +
  • + 20 + 5.19 + -6.19 + 0.442 + 0.388 + 3 + 3 + 0 +
  • +
  • + 1 + 9.97 + -7.61 + 0.444 + 0.368 + 3 + 3 + 0 +
  • + + +
  • + LayingPawn + +
  • + + 20 + -81.3 + -73.04 + -0.218 + 0.073 + 1 + 1 + 0 + 52 +
  • +
  • + 20 + -79.56 + -75.04 + -0.218 + 0.082 + 1 + 1 + 0 + 32 +
  • +
  • + 20 + -81.53 + -75.04 + -0.219 + 0.07 + 1 + 1 + 0 + 52 +
  • +
  • + Sex + 1 + -81.3 + -73.04 + -0.218 + 0.073 + 1 + 1 + 0 + 52 +
  • + + + + +
  • + RubbingFast + true + 1023 + 682 + 0 + +
  • + +
  • + + 10 + 9.97 + -7.61 + 0.444 + 0.368 + 3 + 3 + 0 +
  • +
  • + 10 + 23.82 + -6.90 + 0.432 + 0.403 + 3 + 3 + 0 +
  • +
  • + 10 + 5.19 + -6.19 + 0.442 + 0.388 + 3 + 3 + 0 +
  • +
  • + 1 + 9.97 + -7.61 + 0.444 + 0.368 + 3 + 3 + 0 +
  • + + +
  • + LayingPawn + +
  • + + 10 + -81.3 + -73.04 + -0.218 + 0.073 + 1 + 1 + 0 + 52 +
  • +
  • + 10 + -79.56 + -77.66 + -0.218 + 0.082 + 1 + 1 + 0 + 32 +
  • +
  • + 10 + -81.53 + -77.74 + -0.219 + 0.07 + 1 + 1 + 0 + 52 +
  • +
  • + Sex + 1 + -81.3 + -73.04 + -0.218 + 0.073 + 1 + 1 + 0 +
  • + + + + +
  • + Cum + true + 286 + 0 + +
  • + +
  • + + 10 + 9.97 + -7.61 + 0.444 + 0.368 + 3 + 3 + 0 +
  • +
  • + 10 + 23.82 + -6.90 + 0.432 + 0.403 + 3 + 3 + 0 +
  • +
  • + 10 + 5.19 + -6.19 + 0.442 + 0.388 + 3 + 3 + 0 +
  • +
  • + 1 + 9.97 + -7.61 + 0.444 + 0.368 + 3 + 3 + 0 +
  • +
  • + + 10 + 9.97 + -7.61 + 0.444 + 0.368 + 3 + 3 + 0 +
  • +
  • + 60 + 23.82 + -6.90 + 0.432 + 0.403 + 3 + 3 + 0 +
  • +
  • + 10 + 5.19 + -6.19 + 0.442 + 0.388 + 3 + 3 + 0 +
  • +
  • + 1 + 9.97 + -7.61 + 0.444 + 0.368 + 3 + 3 + 0 +
  • +
  • + + 10 + 9.97 + -7.61 + 0.444 + 0.368 + 3 + 3 + 0 +
  • +
  • + 10 + 23.82 + -6.90 + 0.432 + 0.403 + 3 + 3 + 0 +
  • +
  • + 10 + 5.19 + -6.19 + 0.442 + 0.388 + 3 + 3 + 0 +
  • +
  • + 1 + 9.97 + -7.61 + 0.444 + 0.368 + 3 + 3 + 0 +
  • + + +
  • + LayingPawn + +
  • + + 10 + -81.3 + -81.3 + -0.218 + 0.073 + 1 + 1 + 0 + 52 +
  • +
  • + 10 + -79.56 + -79.56 + -0.218 + 0.082 + 1 + 1 + 0 + 32 +
  • +
  • + 10 + -81.53 + -81.53 + -0.219 + 0.07 + 1 + 1 + 0 + 52 +
  • +
  • + 1 + -81.3 + -81.3 + -0.218 + 0.073 + 1 + 1 + 0 +
  • +
  • + + 10 + -81.3 + -81.3 + -0.218 + 0.073 + 1 + 1 + 0 + 52 +
  • +
  • + 60 + -79.56 + -89.56 + -0.218 + 0.082 + 1 + 1 + Cum + 0 + 32 +
  • +
  • + 10 + -81.53 + -86.53 + -0.219 + 0.07 + 1 + 1 + 0 + 52 +
  • +
  • + 1 + -81.3 + -81.3 + -0.218 + 0.073 + 1 + 1 + 0 +
  • +
  • + + 10 + -81.3 + -81.3 + -0.218 + 0.073 + 1 + 1 + 0 + 52 +
  • +
  • + 10 + -79.56 + -79.56 + -0.218 + 0.082 + 1 + 1 + 0 + 32 +
  • +
  • + 10 + -81.53 + -81.53 + -0.219 + 0.07 + 1 + 1 + 0 + 52 +
  • +
  • + 1 + -81.3 + -81.3 + -0.218 + 0.073 + 1 + 1 + 0 + 52 +
  • + + + + +
    +
    +
    + + + diff --git a/Defs/AnimationDefs/Animations_extension_hand.xml b/Defs/AnimationDefs/Animations_extension_hand.xml new file mode 100644 index 0000000..58f5544 --- /dev/null +++ b/Defs/AnimationDefs/Animations_extension_hand.xml @@ -0,0 +1,121 @@ + + + + + Handjob_HandDef + Handjob + +
  • + 0 + 1 + 0 + Penis + Motion_StrokeGenitalsUpAndDown_FacingNS + 30 +
  • +
  • + 1 + 1 + 0 + Penis + Motion_StrokeGenitalsUpAndDown_FacingNS + 15 +
  • +
  • + 2 + 1 + 0 + Penis + Motion_StrokeGenitalsUpAndDown_FacingNS + 15 +
  • +
    +
    + + + Fisting_HandDef + Fisting + +
  • + 0 + 0 + 1 + Penis + Motion_StrokeGenitalsUpAndDownShort_FacingNS + 60 +
  • +
  • + 1 + 0 + 1 + Penis + Motion_StrokeGenitalsUpAndDownShort_FacingNS + 15 +
  • +
  • + 2 + 0 + 1 + Penis + Motion_StrokeGenitalsUpAndDownShort_FacingNS + 15 +
  • + +
  • + 0 + 0 + 1 + Vagina + Motion_StrokeGenitalsUpAndDownShort_FacingNS + 60 +
  • +
  • + 1 + 0 + 1 + Vagina + Motion_StrokeGenitalsUpAndDownShort_FacingNS + 15 +
  • +
  • + 2 + 0 + 1 + Vagina + Motion_StrokeGenitalsUpAndDownShort_FacingNS + 15 +
  • +
    +
    + + + Fingering_HandDef + Fingering + +
  • + 0 + 0 + 1 + Vagina + Motion_StrokeGenitalsUpAndDownShort_FacingNS + 60 +
  • +
  • + 1 + 0 + 1 + Vagina + Motion_StrokeGenitalsUpAndDownShort_FacingNS + 15 +
  • +
  • + 2 + 0 + 1 + Vagina + Motion_StrokeGenitalsUpAndDownShort_FacingNS + 15 +
  • +
    +
    +
    \ No newline at end of file diff --git a/Defs/AnimationDefs/Animations_foreplay.xml b/Defs/AnimationDefs/Animations_foreplay.xml new file mode 100644 index 0000000..2b420bb --- /dev/null +++ b/Defs/AnimationDefs/Animations_foreplay.xml @@ -0,0 +1,1244 @@ + + + + + KissMakeout + + +
  • Oral
  • +
    + true + + +
  • + +
  • Human
  • + + +
  • Mouth
  • +
    + +
  • + +
  • Human
  • + + +
  • Mouth
  • +
    + true + +
    + + +
  • + Embrace + 0 + 101 + true + +
  • + LayingPawn + +
  • + -2.944619 + -9.630737 + -0.0299702063 + -0.219330385 + -0.0280078556 + 1 + 1 + 39 +
  • +
  • + -2.944619 + -3.38927 + -0.009830201 + -0.219330385 + -0.0280078556 + 1 + 1 + 1 +
  • +
  • + Kiss + -2.944619 + -2.848157 + -0.008845112 + -0.219330385 + -0.0280078556 + 2 + 1 + 19 +
  • +
  • + -2.944619 + -2.848157 + -0.008845112 + -0.219330385 + -0.0280078556 + 2 + 1 + 1 +
  • +
  • + -2.944619 + -2.848157 + -0.008845112 + -0.219330385 + -0.0280078556 + 2 + 1 + 40 +
  • +
  • + 8.577515 + 13.3852539 + -0.0198105164 + -0.0622952171 + -0.0541803837 + 2 + 1 + 1 +
  • + + +
  • + Pawn + +
  • + 1.0335083 + -2.009011 + -0.009440955 + 0.3249118 + -0.07492306 + 3 + 3 + 39 +
  • +
  • + 1.0335083 + -2.009011 + -0.009440955 + 0.3249118 + -0.07492306 + 3 + 3 + 1 +
  • +
  • + 1.0335083 + -2.009011 + -0.009440955 + 0.3249118 + -0.07492306 + 3 + 3 + 19 +
  • +
  • + 1.0335083 + -12.600172 + 0.0292207245 + 0.3249118 + -0.07492306 + 3 + 3 + 1 +
  • +
  • + 1.0335083 + -13.0572 + 0.031393975 + 0.3249118 + -0.07492306 + 0 + 3 + 40 +
  • +
  • + -11.6111374 + -22.1977558 + 0.009222838 + 0.136469573 + -0.069688566 + 0 + 3 + 1 +
  • + + + + +
  • + Makeout + 0 + 606 + 404 + true + +
  • + LayingPawn + +
  • + 8.577515 + 13.3852539 + -0.0198105164 + -0.0622952171 + -0.0541803837 + 2 + 1 + 25 +
  • +
  • + 8.585175 + 2.59625244 + -0.0352121554 + -0.05967797 + -0.0437113754 + 2 + 1 + 25 +
  • +
  • + 6.897461 + 27.5414124 + -0.0262919981 + -0.077998735 + -0.0437113754 + 2 + 1 + 28 +
  • +
  • + Kiss + 12.8721313 + 17.073822 + -0.0224302262 + -0.0587357469 + -0.04957402 + 2 + 1 + 22 +
  • +
  • + 8.577515 + 13.3852539 + -0.0198105164 + -0.0622952171 + -0.0541803837 + 2 + 1 + 1 +
  • + + +
  • + Pawn + +
  • + -11.6111374 + -22.1977558 + 0.009222838 + 0.136469573 + -0.069688566 + 0 + 3 + 25 +
  • +
  • + -10.04541 + -22.0435982 + 0.000256710278 + 0.128617823 + -0.06707131 + 0 + 3 + 25 +
  • +
  • + -11.89342 + -35.6123543 + 1.58759831E-05 + 0.141704082 + -0.06445406 + 0 + 3 + 28 +
  • +
  • + -11.1554832 + -35.6123543 + -0.00542642828 + 0.133538246 + -0.062150877 + 0 + 3 + 22 +
  • +
  • + -11.6111374 + -22.1977558 + 0.009222838 + 0.136469573 + -0.069688566 + 0 + 3 + 1 +
  • + + + + +
  • + Release + 0 + 101 + true + +
  • + LayingPawn + +
  • + 8.577515 + 13.3852539 + -0.0198105164 + -0.0622952171 + -0.0541803837 + 2 + 1 + 40 +
  • +
  • + -2.944619 + -2.848157 + -0.008845112 + -0.219330385 + -0.0280078556 + 2 + 1 + 1 +
  • +
  • + -2.944619 + -2.848157 + -0.008845112 + -0.219330385 + -0.0280078556 + 2 + 1 + 19 +
  • +
  • + Kiss + -2.944619 + -2.848157 + -0.008845112 + -0.219330385 + -0.0280078556 + 2 + 1 + 1 +
  • +
  • + -2.944619 + -3.38927 + -0.009830201 + -0.219330385 + -0.0280078556 + 1 + 1 + 39 +
  • +
  • + -2.944619 + -9.630737 + -0.0299702063 + -0.219330385 + -0.0280078556 + 1 + 1 + 1 +
  • + + +
  • + Pawn + +
  • + -11.6111374 + -22.1977558 + 0.009222838 + 0.136469573 + -0.069688566 + 0 + 3 + 40 +
  • +
  • + 1.0335083 + -13.0572 + 0.031393975 + 0.3249118 + -0.07492306 + 0 + 3 + 1 +
  • +
  • + 1.0335083 + -12.600172 + 0.0292207245 + 0.3249118 + -0.07492306 + 3 + 3 + 19 +
  • +
  • + 1.0335083 + -2.009011 + -0.009440955 + 0.3249118 + -0.07492306 + 3 + 3 + 1 +
  • +
  • + 1.0335083 + -2.009011 + -0.009440955 + 0.3249118 + -0.07492306 + 3 + 3 + 39 +
  • +
  • + 1.0335083 + -2.009011 + -0.009440955 + 0.3249118 + -0.07492306 + 3 + 3 + 1 +
  • + + + + +
    +
    + + + MutualMasturbation + + +
  • MutualMasturbation
  • +
    + true + + +
  • + +
  • Human
  • + + +
  • Mouth
  • +
  • OneHand
  • +
    + true + +
  • + +
  • Human
  • + + +
  • Mouth
  • +
  • OneHand
  • +
    + true + true + +
    + + +
  • + Start + 0 + 401 + true + +
  • + LayingPawn + +
  • + -0 + -0 + -0.0260274541 + -0.24052465 + -0.0364269875 + 1 + 1 + 40 + 0 +
  • +
  • + -0 + -11.02274 + -0.0260274541 + -0.24052465 + -0.0364269875 + 1 + 1 + 40 +
  • +
  • + -0 + 2.98733521 + -0.0260274541 + -0.24052465 + -0.0364269875 + 2 + 1 + 40 +
  • +
  • + -0 + 11.1879883 + -0.0260274541 + -0.24052465 + -0.0364269875 + 2 + 1 + 40 +
  • +
  • + -0 + 11.1879883 + -0.0260274541 + -0.24052465 + -0.0364269875 + 2 + 1 + 40 +
  • +
  • + -0 + 6.21554565 + -0.0260274541 + -0.24052465 + -0.0364269875 + 1 + 1 + 40 +
  • +
  • + -0 + -7.324426 + -0.0260274541 + -0.24052465 + -0.0364269875 + 1 + 1 + 60 +
  • +
  • + -0 + -0 + -0.0260274541 + -0.24052465 + -0.0364269875 + 1 + 1 + 60 +
  • +
  • + -0 + 12.0620422 + -0.03165916 + -0.24052465 + -0.0364269875 + 1 + 1 + 40 +
  • +
  • + -2.944619 + -9.630737 + -0.0299702063 + -0.219330385 + -0.0280078556 + 1 + 1 + 1 + 0 +
  • + + +
  • + Pawn + +
  • + -0 + -9.663996 + -0.004835519 + 0.444207281 + -0.0655888 + 3 + 3 + 40 + 0 +
  • +
  • + -0 + 0.896606445 + 0.000397705939 + 0.444207281 + -0.0655888 + 3 + 3 + 40 +
  • +
  • + -0 + -9.858442 + -0.000407399028 + 0.444207281 + -0.0655888 + 3 + 3 + 40 +
  • +
  • + -0 + -9.858442 + -0.000407399028 + 0.444207281 + -0.0655888 + 3 + 3 + 40 +
  • +
  • + -0 + -0.751777 + -0.002017626 + 0.444207281 + -0.0655888 + 3 + 3 + 40 +
  • +
  • + -0 + -0.751777 + -0.002017626 + 0.444207281 + -0.0655888 + 3 + 3 + 40 +
  • +
  • + -0 + -0.751777 + -0.002017626 + 0.444207281 + -0.0655888 + 3 + 3 + 60 +
  • +
  • + -0 + -11.9880228 + -0.004835519 + 0.444207281 + -0.0655888 + 3 + 3 + 60 +
  • +
  • + -0 + -11.9880228 + -0.004835519 + 0.444207281 + -0.0655888 + 3 + 3 + 40 +
  • +
  • + 1.0335083 + -2.009011 + -0.009440955 + 0.3249118 + -0.07492306 + 3 + 3 + 1 + 0 +
  • + + + + +
  • + Kissing + 0 + 404 + 606 + true + +
  • + LayingPawn + +
  • + -2.944619 + -9.630737 + -0.0299702063 + -0.219330385 + -0.0280078556 + 1 + 1 + 25 + 0 +
  • +
  • + -2.944619 + -22.1873245 + -0.03345155 + -0.219330385 + -0.0280078556 + 1 + 1 + 25 + Suck +
  • +
  • + Kiss + -11.2243986 + -19.2386341 + -0.0287531484 + -0.255971938 + -0.0384768657 + 1 + 1 + 25 +
  • +
  • + -11.2243986 + -24.9615726 + -0.0246070959 + -0.255971938 + -0.0384768657 + 1 + 1 + 25 +
  • +
  • + -2.944619 + -9.630737 + -0.0299702063 + -0.219330385 + -0.0280078556 + 1 + 1 + 1 + 0 +
  • + + +
  • + Pawn + +
  • + 1.0335083 + -2.009011 + -0.009440955 + 0.3249118 + -0.07492306 + 3 + 3 + 25 + 0 +
  • +
  • + 1.0335083 + 8.428741 + 0.00144997484 + 0.3249118 + -0.07492306 + 3 + 3 + 25 +
  • +
  • + -3.909071 + -5.302416 + -0.008589524 + 0.277801245 + -0.0592195541 + 3 + 3 + 25 +
  • +
  • + -3.909071 + 0.0739135742 + -0.0127528869 + 0.277801245 + -0.0592195541 + 3 + 3 + 25 +
  • +
  • + 1.0335083 + -2.009011 + -0.009440955 + 0.3249118 + -0.07492306 + 3 + 3 + 1 + 0 +
  • + + + + + +
  • + KissingWithTouching + 0 + 300 + 200 + true + +
  • + LayingPawn + +
  • + -2.944619 + -9.630737 + -0.0299702063 + -0.219330385 + -0.0280078556 + 1 + 1 + 25 + 0 +
  • +
  • + -2.944619 + -22.1873245 + -0.03345155 + -0.219330385 + -0.0280078556 + 1 + 1 + 25 + Suck +
  • +
  • + Kiss + -11.2243986 + -19.2386341 + -0.0287531484 + -0.255971938 + -0.0384768657 + 1 + 1 + 25 + -15 +
  • +
  • + -11.2243986 + -24.9615726 + -0.0246070959 + -0.255971938 + -0.0384768657 + 1 + 1 + 24 +
  • +
  • + -2.944619 + -9.630737 + -0.0299702063 + -0.219330385 + -0.0280078556 + 1 + 1 + 1 + 0 +
  • + + +
  • + Pawn + +
  • + 1.0335083 + -2.009011 + -0.009440955 + 0.3249118 + -0.07492306 + 3 + 3 + 25 + 0 +
  • +
  • + 1.0335083 + 8.428741 + 0.00144997484 + 0.3249118 + -0.07492306 + 3 + 3 + 25 + -8 +
  • +
  • + -3.909071 + -5.302416 + -0.008589524 + 0.277801245 + -0.0592195541 + 3 + 3 + 25 + -22 +
  • +
  • + -3.909071 + 0.0739135742 + -0.0127528869 + 0.277801245 + -0.0592195541 + 3 + 3 + 25 +
  • +
  • + 1.0335083 + -2.009011 + -0.009440955 + 0.3249118 + -0.07492306 + 3 + 3 + 1 + 0 +
  • + + + + + +
  • + Transition + 0 + false + +
  • + LayingPawn + +
  • + 59 + -2.944619 + -9.630737 + -0.0299702063 + -0.219330385 + -0.0280078556 + 1 + 1 + 0 +
  • +
  • + 1 + 0 + 0 + -0.219330385 + -0.0280078556 + 1 + 1 + 0 + 18 +
  • + + +
  • + Pawn + +
  • + 60 + 1.0335083 + -2.009011 + -0.009440955 + 0.3249118 + -0.07492306 + 3 + 3 + 0 +
  • +
  • + 1 + 0 + 0 + 0.3249118 + -0.07492306 + 3 + 3 + 0 + -22 +
  • + + + + +
  • + Rapid_rise + true + 450 + 300 + 0 + +
  • + LayingPawn + +
  • + 12 + 0 + 0 + -0.219330385 + -0.0280078556 + 1 + 1 + 0 + 18 +
  • +
  • + 15 + 0 + 8 + -0.219330385 + 0.0580078556 + 1 + 1 + -0.051 + Sex + 32 +
  • +
  • + 3 + 0 + 0 + -0.219330385 + -0.0280078556 + 1 + 1 + 0 + 18 +
  • + + +
  • + Pawn + +
  • + 15 + 0 + 0 + 0.3249118 + -0.07492306 + 3 + 3 + 0 + -22 +
  • +
  • + 14 + 0 + -7 + 0.3249118 + 0.00492306 + 3 + 3 + -0.051 + -35 +
  • +
  • + 1 + 0 + 0 + 0.3249118 + -0.07492306 + 3 + 3 + 0 + -22 +
  • + + + + +
  • + Cum + true + 300 + 0 + +
  • + LayingPawn + +
  • + 10 + 0 + 0 + -0.219330385 + -0.0280078556 + 1 + 1 + 0 + 18 +
  • +
  • + 9 + Cum + 0 + -0.219330385 + 0.0580078556 + 1 + 1 + -0.051 + 32 +
  • +
  • + 5 + 0 + -0.219330385 + 0.032 + 1 + 1 + -0.04 + 28 +
  • +
  • + true + 63 + -20 + 0 + -0.219330385 + 0.0580078556 + 1 + 1 + -0.051 + 32 +
  • +
  • + 11 + 0 + -10 + -0.219330385 + 0.025 + 1 + 1 + -0.051 + Sex +
  • +
  • + 2 + 0 + 0 + -0.219330385 + -0.0280078556 + 1 + 1 + 0 + 18 +
  • + + +
  • + Pawn + +
  • + 12 + 0 + 0 + 0.3249118 + -0.07492306 + 3 + 3 + 0 + -22 +
  • +
  • + Cum + 7 + 0 + 0.3249118 + 0.00492306 + 3 + 3 + -0.051 + -35 +
  • +
  • + 7 + 0 + 0.3249118 + -0.03 + 3 + 3 + -0.04 + -28 +
  • +
  • + true + 60 + 20 + 0 + 0.3249118 + 0.00492306 + 3 + 3 + -0.051 + -35 +
  • +
  • + 13 + 0 + 12 + 0.3249118 + -0.025 + 3 + 3 + -0.051 + Cum +
  • +
  • + 1 + 0 + 0 + 0.3249118 + -0.07492306 + 3 + 3 + 0 + -22 +
  • + + + + +
    +
    + +
    \ No newline at end of file diff --git a/Defs/AnimationDefs/Animations_group.xml b/Defs/AnimationDefs/Animations_group.xml new file mode 100644 index 0000000..0114265 --- /dev/null +++ b/Defs/AnimationDefs/Animations_group.xml @@ -0,0 +1,1326 @@ + + + + + + Threesome1Male2Female + + true + +
  • Vaginal
  • +
  • Anal
  • +
  • Cunnilingus
  • +
    + + +
  • + +
  • Human
  • + + +
  • Vagina
  • +
    + + (-0.05, -0.05) + (0, 0) + (0.1, 0.15) + (0.05, -0.05) + (-0.15, 0.1) + + +
  • + +
  • Human
  • + + +
  • Vagina
  • +
    + + (0.05, -0.05) + (0.05, 0) + (-0.05, 0.2) + (0, -0.05) + (-0.15, 0) + + +
  • + +
  • Human
  • + + true + +
  • Mouth
  • +
    + true + + (0.1, 0.05) + (0.1, 0) + (0.25, 0.05) + (0.1, 0) + (0.05, -0.05) + + true + +
    + + +
  • + Start + 0 + 801 + true + +
  • + Pawn + +
  • + -0 + -0 + 0 + 0.7395833 + 0.25 + 3 + 3 + 54 +
  • +
  • + -0 + -0 + 0 + 0.7395833 + 0.25 + 3 + 3 + 44 +
  • +
  • + -0 + -0 + 0 + 0.7395833 + 0.25 + 3 + 3 + 52 +
  • +
  • + -0 + -0 + 0 + 0.7395833 + 0.25 + 3 + 3 + 15 +
  • +
  • + -0 + -0 + 0 + 0.7395833 + 0.25 + 3 + 3 + 46 +
  • +
  • + -0 + 15 + 0 + 0.7395833 + 0.25 + 3 + 3 + 68 +
  • +
  • + -0 + -0 + 0 + 0.7395833 + 0.25 + 3 + 3 + 17 +
  • +
  • + -0 + -0 + 0 + 0.7395833 + 0.25 + 3 + 3 + 72 +
  • +
  • + -0 + -0 + 0 + 0.9895833 + 0.25 + 3 + 3 + 43 +
  • +
  • + -0 + -0 + 0 + 0.9895833 + 0.25 + 3 + 3 + 17 +
  • +
  • + -0 + -0 + 0 + 0.9895833 + 0.25 + 3 + 3 + 39 +
  • +
  • + -0 + -0 + 0 + 0.25 + 0.25 + 3 + 3 + 16 +
  • +
  • + -0 + -0 + 0 + 0.25 + 0.25 + 3 + 3 + 1 +
  • +
  • + -0 + -0 + 0 + 0.25 + 0.25 + 3 + 3 + 10 +
  • +
  • + -0 + -0 + 0 + 0.25 + 0.25 + 3 + 3 + 33 +
  • +
  • + 0.006225586 + 20 + 0 + 0.2501906 + 0.250185817 + 3 + 3 + 32 +
  • +
  • + 0.006225586 + 20 + 0 + 0.2501906 + 0.250185817 + 3 + 3 + 94 +
  • +
  • + 0.006225586 + 10 + 0 + 0.2501906 + 0.250185817 + 3 + 3 + 30 +
  • +
  • + 0.006225586 + 0.002319336 + 0 + 0.2501906 + 0.250185817 + 3 + 3 + 1 +
  • +
  • + 0.006225586 + 0.002319336 + 0 + 0.2501906 + 0.250185817 + 1 + 1 + 23 +
  • +
  • + -0 + -0 + 0 + 0.250324517 + 0.25 + 1 + 1 + 24 +
  • +
  • + 8.505981 + 2.85870361 + 0 + 0.2509025 + 0.785167456 + 1 + 1 + 69 +
  • +
  • + 25 + 9.260223 + 0 + 0.375 + 0.6458333 + 1 + 1 + 1 +
  • + + +
  • + Pawn + +
  • + -0 + -0 + 0 + -0.75 + 0.239583328 + 1 + 1 + 54 +
  • +
  • + -0 + -0 + 0 + -0.75 + 0.239583328 + 1 + 1 + 44 +
  • +
  • + -0 + -11 + 0 + -0.75 + 0.239583328 + 1 + 1 + 52 +
  • +
  • + -0 + -0 + 0 + -0.75 + 0.239583328 + 1 + 1 + 15 +
  • +
  • + -0 + -0 + 0 + -0.75 + 0.239583328 + 1 + 1 + 46 +
  • +
  • + -0 + -0 + 0 + -0.75 + 0.239583328 + 1 + 1 + 68 +
  • +
  • + -0 + -0 + 0 + -0.75 + 0.239583328 + 1 + 1 + 17 +
  • +
  • + -0 + -0 + 0 + -0.75 + 0.239583328 + 1 + 1 + 72 +
  • +
  • + -0 + -0 + 0 + -0.8645833 + 0.239583328 + 1 + 1 + 43 +
  • +
  • + -0 + -0 + 0 + -0.8645833 + 0.239583328 + 1 + 1 + 17 +
  • +
  • + -0 + -0 + 0 + -0.8645833 + 0.239583328 + 1 + 1 + 39 +
  • +
  • + -0 + -0 + 0 + -0.5625 + 0.239583328 + 1 + 1 + 16 +
  • +
  • + -0 + -0 + 0 + -0.5625 + 0.239583328 + 1 + 1 + 1 +
  • +
  • + -0 + -0 + 0 + -0.5625 + 0.239583328 + 3 + 3 + 10 +
  • +
  • + -0 + -0 + 0 + -0.5625 + 0.239583328 + 3 + 3 + 33 +
  • +
  • + -10.0505953 + -0 + 0 + -0.6176527 + 0.6323473 + 3 + 3 + 32 +
  • +
  • + -10.0505953 + -0 + 0 + -0.6176527 + 0.6323473 + 3 + 3 + 94 +
  • +
  • + -3.902666 + 25 + 0 + -0.56077975 + 0.5152714 + 3 + 3 + 30 +
  • +
  • + -3.902666 + -0.707528 + 0 + -0.56077975 + 0.5152714 + 3 + 3 + 1 +
  • +
  • + -3.902666 + -0.707528 + 0 + -0.56077975 + 0.5152714 + 3 + 3 + 23 +
  • +
  • + -3.902666 + -0.707528 + 0 + -0.56077975 + 0.5152714 + 3 + 3 + 24 +
  • +
  • + -3.902666 + -0.707528 + 0 + -0.56077975 + 0.5152714 + 3 + 3 + 69 +
  • +
  • + -33.4951859 + -6.072456 + 0 + -0.7604167 + 0.489583343 + 3 + 3 + 1 +
  • + + +
  • + LayingPawn + +
  • + -0 + -0 + 0 + 0 + 0.5 + 2 + 2 + 54 + 359 +
  • +
  • + -0 + -0 + 0 + 0 + 0.5 + 3 + 2 + 44 +
  • +
  • + -0 + -0 + 0 + 0 + 0.5 + 3 + 2 + 52 +
  • +
  • + -0 + -0 + 0 + 0 + 0.5 + 2 + 2 + 15 +
  • +
  • + -0 + -0 + 0 + 0 + 0.5 + 1 + 2 + 46 +
  • +
  • + -0 + -0 + 0 + 0 + 0.5 + 1 + 2 + 68 +
  • +
  • + -0 + -0 + 0 + 0 + 0.5 + 2 + 2 + 17 +
  • +
  • + -0 + -0 + 0 + 0 + 0.5 + 3 + 3 + 72 +
  • +
  • + 90 + 62.2095642 + 0 + 0.0416666679 + 0.010416667 + 3 + 3 + 43 +
  • +
  • + 90 + 90 + 0 + 0.0416666679 + 0.010416667 + 3 + 3 + 17 +
  • +
  • + 90 + 90 + 0 + 0.0416666679 + 0.010416667 + 3 + 3 + 39 +
  • +
  • + 90 + 90 + 0 + 0.0416666679 + 0.010416667 + 3 + 3 + 16 +
  • +
  • + 90 + 90 + 0 + 0.0416666679 + 0.010416667 + 3 + 3 + 1 +
  • +
  • + 90 + 90 + 0 + 0.0416666679 + 0.010416667 + 3 + 3 + 10 +
  • +
  • + 90 + 90 + 0 + 0.0416666679 + 0.010416667 + 3 + 3 + 33 +
  • +
  • + 90 + 89.999054 + 0 + 0.0416666679 + 0.010416667 + 3 + 3 + 32 + 359 +
  • +
  • + 90 + 89.999054 + 0 + 0.0416666679 + 0.010416667 + 3 + 3 + 94 + Slimy + 270 +
  • +
  • + 90 + 89.999054 + 0 + 0.0416666679 + 0.010416667 + 3 + 3 + 30 +
  • +
  • + 90 + 89.999054 + 0 + 0.0416666679 + 0.010416667 + 3 + 3 + 1 +
  • +
  • + 90 + 89.999054 + 0 + 0.0416666679 + 0.010416667 + 3 + 3 + 23 +
  • +
  • + 90 + 89.75415 + 0 + 0.0416666679 + 0.010416667 + 3 + 3 + 24 +
  • +
  • + 90 + 88.6971741 + 0 + 0.0416666679 + 0.010416667 + 3 + 3 + 69 +
  • +
  • + 90 + 78.81824 + 0 + 0.0416666679 + 0.010416667 + 3 + 3 + 1 + 270 +
  • + + + + +
  • + Slow + 0 + 1140 + 760 + true + +
  • + Pawn + +
  • + 25 + 9.260223 + 0 + 0.375 + 0.6458333 + 1 + 1 + 37 +
  • +
  • + 15.0183716 + 15 + 0 + 0.354166657 + 0.6770833 + 1 + 1 + 38 +
  • +
  • + 25 + 9.260223 + 0 + 0.375 + 0.6458333 + 1 + 1 + 1 +
  • + + +
  • + Pawn + +
  • + -33.4951859 + -6.072456 + 0 + -0.7604167 + 0.489583343 + 3 + 3 + 37 +
  • +
  • + -18 + -18 + 0 + -0.6145833 + 0.479166657 + 3 + 3 + 38 +
  • +
  • + -33.4951859 + -6.072456 + 0 + -0.7604167 + 0.489583343 + 3 + 3 + 1 +
  • + + +
  • + LayingPawn + +
  • + 90 + 78.81824 + 0 + 0.0416666679 + 0.010416667 + 3 + 3 + 37 + 270 +
  • +
  • + 90 + 90 + 0 + 0.0416666679 + 0.010416667 + 3 + 3 + 38 + Sex +
  • +
  • + 90 + 78.81824 + 0 + 0.0416666679 + 0.010416667 + 3 + 3 + 1 + 270 +
  • + + + + +
  • + Fast + 0 + 864 + 576 + true + +
  • + Pawn + +
  • + 25 + 9.260223 + 0 + 0.375 + 0.6458333 + 1 + 1 + 17 +
  • +
  • + 15.0183716 + 15 + 0 + 0.354166657 + 0.6770833 + 1 + 1 + 18 +
  • +
  • + 25 + 9.260223 + 0 + 0.375 + 0.6458333 + 1 + 1 + 1 +
  • + + +
  • + Pawn + +
  • + -33.4951859 + 0.6437378 + 0 + -0.7604167 + 0.489583343 + 3 + 3 + 17 +
  • +
  • + -18 + -18 + 0 + -0.6145833 + 0.479166657 + 3 + 3 + 18 +
  • +
  • + -33.4951859 + 0.6437378 + 0 + -0.7604167 + 0.489583343 + 3 + 3 + 1 +
  • + + +
  • + LayingPawn + +
  • + 90 + 78.81824 + 0 + 0.0416666679 + 0.010416667 + 3 + 3 + 17 + 270 +
  • +
  • + 98.1301 + 90 + 0 + 0.0416666679 + 0.010416667 + 3 + 3 + 18 + Sex +
  • +
  • + 90 + 78.81824 + 0 + 0.0416666679 + 0.010416667 + 3 + 3 + 1 + 270 +
  • + + + + +
  • + Cum + 0 + 402 + true + +
  • + Pawn + +
  • + 25 + 9.260223 + 0 + 0.375 + 0.6458333 + 1 + 1 + 16 +
  • +
  • + 15.0183716 + 15 + 0 + 0.354166657 + 0.6770833 + 1 + 1 + 17 +
  • +
  • + 25 + 9.260223 + 0 + 0.375 + 0.6458333 + 1 + 1 + 17 +
  • +
  • + 15.0183716 + 15 + 0 + 0.354166657 + 0.6770833 + 1 + 1 + 16 +
  • +
  • + 25 + 9.260223 + -0.03 + 0.375 + 0.6458333 + 1 + 1 + 17 +
  • +
  • + 15.0183716 + 15 + -0.05 + 0.354166657 + 0.6770833 + 1 + 1 + 67 + Cum + true +
  • +
  • + 15.0183716 + -9.377061 + 0 + 0.354166657 + 0.6770833 + 1 + 1 + 23 +
  • +
  • + 15.0183716 + 15 + 0 + 0.354166657 + 0.6770833 + 1 + 1 + 27 +
  • +
  • + 25 + 9.260223 + 0 + 0.375 + 0.6458333 + 1 + 1 + 1 +
  • + + +
  • + Pawn + +
  • + -33.4951859 + 0.6437378 + 0 + -0.7604167 + 0.489583343 + 3 + 3 + 16 +
  • +
  • + -18 + -18 + 0 + -0.6145833 + 0.479166657 + 3 + 3 + 17 +
  • +
  • + -33.4951859 + 0.6437378 + 0 + -0.7604167 + 0.489583343 + 3 + 3 + 17 +
  • +
  • + -18 + -18 + 0 + -0.6145833 + 0.479166657 + 3 + 3 + 16 +
  • +
  • + -33.4951859 + 0.6437378 + -0.03 + -0.7604167 + 0.489583343 + 3 + 3 + 17 +
  • +
  • + -18 + -18 + -0.05 + -0.6145833 + 0.479166657 + 3 + 3 + 67 + Cum + true +
  • +
  • + -18 + 8.027252 + 0 + -0.6145833 + 0.479166657 + 3 + 3 + 23 +
  • +
  • + -18 + -18 + 0 + -0.6145833 + 0.479166657 + 3 + 3 + 27 +
  • +
  • + -33.4951859 + 0.6437378 + 0 + -0.7604167 + 0.489583343 + 3 + 3 + 1 +
  • + + +
  • + LayingPawn + +
  • + 90 + 78.81824 + 0 + 0.0416666679 + 0.010416667 + 3 + 3 + 16 + 270 +
  • +
  • + 98.1301 + 90 + 0 + 0.0416666679 + 0.010416667 + 3 + 3 + 17 + Sex +
  • +
  • + 90 + 78.81824 + 0 + 0.0416666679 + 0.010416667 + 3 + 3 + 17 +
  • +
  • + 98.1301 + 90 + 0 + 0.0416666679 + 0.010416667 + 3 + 3 + 16 + Sex +
  • +
  • + 90 + 78.81824 + 0 + 0.0416666679 + 0.010416667 + 3 + 3 + 17 +
  • +
  • + 98.1301 + 90 + 0 + 0.0416666679 + 0.010416667 + 3 + 3 + 67 + Cum +
  • +
  • + 98.1301 + 90 + 0 + 0.0416666679 + 0.010416667 + 3 + 3 + 23 +
  • +
  • + 98.1301 + 90 + 0 + 0.0416666679 + 0.010416667 + 3 + 3 + 27 +
  • +
  • + 90 + 78.81824 + 0 + 0.0416666679 + 0.010416667 + 3 + 3 + 1 + 270 +
  • + + + + +
    +
    +
    + + + diff --git a/Defs/AnimationDefs/Animations_original.xml b/Defs/AnimationDefs/Animations_original.xml new file mode 100644 index 0000000..5638452 --- /dev/null +++ b/Defs/AnimationDefs/Animations_original.xml @@ -0,0 +1,5134 @@ + + + + + Doggystyle + + true + +
  • Vaginal
  • +
  • Anal
  • +
    + + +
  • + +
  • Human
  • + + true + +
  • + +
  • Human
  • + + true + true + + (0, 0.2) + + true + + +
    + + +
  • + Slow_Fuck + true + 918 + 612 + 0 + +
  • + +
  • + 0 + 10 + 27 + 0.298 + 0.166 + 0 + 1 + 2 +
  • +
  • + 40 + 32 + 0.326 + 0.190 + 1 + 2 +
  • +
  • + 1 + 27 + 0.298 + 0.166 + 1 + 2 +
  • + +
  • + 10 + 27 + 0.298 + 0.166 + 1 + 2 +
  • +
  • + 40 + 32 + 0.326 + 0.190 + 1 + 2 +
  • +
  • + 1 + 27 + 0.298 + 0.166 + 1 + 2 +
  • + +
  • + 10 + 27 + 0.298 + 0.166 + 1 + 2 +
  • +
  • + 40 + 32 + 0.326 + 0.190 + 1 + 2 +
  • +
  • + 1 + 27 + 0.298 + 0.166 + 1 + 2 +
  • + +
  • + 10 + 27 + 0.298 + 0.166 + 1 + 1 +
  • +
  • + 40 + 32 + 0.326 + 0.190 + 1 + 1 +
  • +
  • + 1 + 27 + 0.298 + 0.166 + 1 + 1 +
  • + +
  • + 10 + 27 + 0.298 + 0.166 + 1 + 1 +
  • +
  • + 40 + 32 + 0.326 + 0.190 + 1 + 1 +
  • +
  • + 1 + 27 + 0.298 + 0.166 + 1 + 1 +
  • + +
  • + 10 + 27 + 0.298 + 0.166 + 1 + 1 +
  • +
  • + 40 + 32 + 0.326 + 0.190 + 1 + 1 +
  • +
  • + 1 + 27 + 0.298 + 0.166 + 1 + 1 +
  • + +
  • + 10 + 27 + 0.298 + 0.166 + 1 + 1 +
  • +
  • + 40 + 32 + 0.326 + 0.190 + 1 + 1 +
  • +
  • + 1 + 27 + 0.298 + 0.166 + 1 + 1 +
  • + +
  • + 10 + 27 + 0.298 + 0.166 + 1 + 1 +
  • +
  • + 40 + 32 + 0.326 + 0.190 + 1 + 1 +
  • +
  • + 0 + 1 + 27 + 0.298 + 0.166 + 0 + 1 + 1 +
  • + + +
  • + LayingPawn + +
  • + 0 + 10 + 16.6 + -0.217 + 0.175 + 3 + 1 + 1 + 32 +
  • + +
  • + 40 + Fuck + -17 + -0.217 + 0.272 + 5.4 + 1 + 1 +
  • +
  • + 1 + 16.6 + -0.217 + 0.175 + 3 + 1 + 1 + 0 + 32 +
  • + + + + +
  • + Fast_Fuck + true + 945 + 630 + 0 + +
  • + +
  • + 8 + 27 + 0.298 + 0.166 + 1 + 1 + 1 + 0 +
  • +
  • + 12 + 32 + 0.326 + 0.190 + 4 + 1 + 1 +
  • +
  • + 1 + 27 + 0.298 + 0.166 + 1 + 1 + 1 + 0 +
  • + + +
  • + LayingPawn + +
  • + 8 + 11 + -0.217 + 0.175 + 8 + 1 + 1 + 0 + 32 +
  • + +
  • + 12 + Fuck + -12 + -0.217 + 0.272 + 9 + 1 + 1 +
  • +
  • + 1 + 11 + -0.217 + 0.175 + 8 + 1 + 1 + 0 + 32 +
  • + + + + +
  • + Cum + true + 363 + 0 + +
  • + +
  • + 8 + 27 + 0.298 + 0.166 + 0 + 1 + 1 + 0 +
  • +
  • + Cum + 100 + 32 + 0.326 + 0.190 + -1 + 1 + 1 + true +
  • +
  • + 12 + 35 + 0.326 + 0.190 + -14 + 1 + 1 +
  • +
  • + 1 + 27 + 0.298 + 0.166 + 0 + 1 + 1 + 0 +
  • + + +
  • + LayingPawn + +
  • + 8 + 11 + -0.217 + 0.175 + -8 + 1 + 1 + 0 + 32 +
  • +
  • + Cum + 100 + -12 + -0.217 + 0.272 + -9 + 1 + 1 +
  • +
  • + 12 + -15 + -0.227 + 0.272 + -4 + 1 + 1 +
  • +
  • + 1 + 11 + -0.217 + 0.175 + -8 + 1 + 1 + 0 + 32 +
  • + + + + +
    +
    + + Blowjob + + true + +
  • Fellatio
  • +
    + + +
  • + +
  • Human
  • + + + (0, -0.2) + + +
  • Mouth
  • +
    + +
  • + +
  • Human
  • + + true + true + + (0, 0.2) + + +
    + +
  • + Slow_Suck + true + 1140 + 760 + 0 + +
  • + +
  • + 35 + 0 + 0 + 0 + -0.255 + 0 + 0 + 0 +
  • +
  • + Suck + 59 + 0 + 0 + -0.33 + 0 + 0 + -0.16 +
  • +
  • + 1 + 0 + 0 + 0 + -0.255 + 0 + 0 + 0 +
  • + +
  • + 35 + 0 + 0 + 0 + -0.255 + 0 + 0 + 0 +
  • +
  • + Suck + 59 + 0 + 0 + -0.33 + 0 + 0 + -0.16 +
  • +
  • + 1 + 0 + 0 + 0 + -0.255 + 0 + 0 + 0 +
  • + +
  • + 35 + 0 + 0 + 0 + -0.255 + 0 + 0 + 0 +
  • +
  • + Suck + 59 + + 6 + 0 + -0.33 + 0 + 0 + -0.13 +
  • + +
  • + 1 + 0 + 0 + 0 + -0.255 + 0 + 0 + 0 +
  • +
  • + 35 + 0 + 0 + 0 + -0.255 + 0 + 0 + 0 +
  • +
  • + Suck + 59 + 0 + -4 + 0 + -0.33 + 0 + 0 + -0.12 +
  • +
  • + 1 + 0 + 0 + 0 + -0.255 + 0 + 0 + 0 +
  • + + +
  • + LayingPawn + +
  • + 35 + 0 + 0 + 0 + 0.473 + 2 + 2 + 0 +
  • +
  • + 59 + 0 + 0 + 0.490 + 2 + 2 + -0.003 +
  • +
  • + 1 + 0 + 0 + 0 + 0.473 + 2 + 2 + 0 +
  • + + + + +
  • + Face_Fuck + true + 450 + 300 + 0 + +
  • + +
  • + 15 + 0 + 0 + 0 + -0.255 + 0 + 0 + 0 +
  • +
  • + Suck + 14 + 0 + 0 + -0.270 + 0 + 0 + -0.06 +
  • +
  • + 1 + 0 + 0 + 0 + -0.255 + 0 + 0 + 0 +
  • + + +
  • + LayingPawn + +
  • + 15 + 0 + 0 + 0 + 0.473 + 2 + 2 + 0 +
  • +
  • + 14 + 0 + 0 + 0.575 + 2 + 2 + -0.051 +
  • +
  • + 1 + 0 + 0 + 0 + 0.473 + 2 + 2 + 0 +
  • + + + + +
  • + Cum + true + 303 + 0 + +
  • + +
  • + 12 + 0 + 0 + 0 + -0.255 + 0 + 0 + 0 +
  • +
  • + 7 + 0 + 0 + -0.290 + 0 + 0 + -0.06 +
  • +
  • + 7 + Suck + 0 + 0 + -0.290 + 0 + 0 + -0.008 +
  • +
  • + 60 + 0 + 0 + -0.290 + 0 + 0 + -0.06 +
  • +
  • + 14 + 0 + 0 + -0.290 + 0 + 0 + -0.06 +
  • +
  • + 1 + 0 + 0 + 0 + -0.255 + 0 + 0 + 0 +
  • + + +
  • + LayingPawn + +
  • + 12 + 0 + 0 + 0 + 0.473 + 2 + 2 + 0 +
  • +
  • + 7 + Cum + 0 + 0 + 0.575 + 2 + 2 + -0.051 +
  • +
  • + 7 + 0 + 0 + 0.50 + 2 + 2 + -0.04 +
  • +
  • + true + 60 + 0 + 0 + 0.575 + 2 + 2 + -0.051 +
  • +
  • + 14 + 0 + 0 + 0.575 + 2 + 2 + -0.051 +
  • +
  • + 1 + 0 + 0 + 0 + 0.473 + 2 + 2 + 0 +
  • + + + + +
    +
    + + ReverseStandAndCarry + + true + +
  • Anal
  • +
  • Vaginal
  • +
    + + +
  • + +
  • Human
  • + + true + + (0, 0.2) + + +
  • + +
  • Human
  • + + true + true + true + + (0, 0.2) + + +
    + + +
  • + Slow_Fuck + true + 1080 + 720 + 0 + +
  • + +
  • + 30 + 11.23 + 11.23 + -0.183 + 0.468 + 3 + 3 + 0 +
  • +
  • + 29 + 6.04 + 15 + -0.175 + 0.437 + 3 + 3 + 0 +
  • +
  • + 1 + 11.23 + 11.23 + -0.183 + 0.468 + 3 + 3 + 0 +
  • + + +
  • + LayingPawn + +
  • + 30 + -3.18 + -0.41 + 0.122 + 0.356 + 3 + 3 + 0 + -16 +
  • +
  • + Fuck + 29 + 17.11 + -2.87 + 0.114 + 0.359 + 3 + 3 + 0 +
  • +
  • + 1 + -3.18 + -0.41 + 0.122 + 0.356 + 3 + 3 + 0 + -16 +
  • + + + + + +
  • + Fast_Fuck + true + 936 + 624 + 0 + +
  • + +
  • + 6 + 10.6 + 11.23 + -0.183 + 0.468 + 3 + 3 + 0 +
  • +
  • + 7 + 11.23 + 11.23 + -0.183 + 0.468 + 3 + 3 + 0 +
  • +
  • + 12 + 6.04 + 15 + -0.175 + 0.437 + 3 + 3 + 0 +
  • +
  • + 1 + 11.23 + 11.23 + -0.183 + 0.468 + 3 + 3 + 0 +
  • + +
  • + 6 + 10.6 + 11.23 + -0.183 + 0.468 + 3 + 3 + 0 +
  • +
  • + 7 + 11.23 + 11.23 + -0.183 + 0.468 + 3 + 3 + 0 +
  • +
  • + 12 + 6.04 + 15 + -0.175 + 0.437 + 3 + 3 + 0 +
  • +
  • + 1 + 11.23 + 11.23 + -0.183 + 0.468 + 3 + 3 + 0 +
  • + + +
  • + 6 + 10.6 + 11.23 + -0.183 + 0.468 + 3 + 2 + 0 +
  • +
  • + 7 + 11.23 + 11.23 + -0.183 + 0.468 + 3 + 2 + 0 +
  • +
  • + 12 + 6.04 + 15 + -0.175 + 0.437 + 3 + 2 + 0 +
  • +
  • + 1 + 11.23 + 11.23 + -0.183 + 0.468 + 3 + 2 + 0 +
  • + +
  • + 6 + 10.6 + 11.23 + -0.183 + 0.468 + 3 + 2 + 0 +
  • +
  • + 7 + 11.23 + 11.23 + -0.183 + 0.468 + 3 + 2 + 0 +
  • +
  • + 12 + 6.04 + 15 + -0.175 + 0.437 + 3 + 2 + 0 +
  • +
  • + 1 + 11.23 + 11.23 + -0.183 + 0.468 + 3 + 2 + 0 +
  • + +
  • + 6 + 10.6 + 11.23 + -0.183 + 0.468 + 3 + 2 + 0 +
  • +
  • + 7 + 11.23 + 11.23 + -0.183 + 0.468 + 3 + 2 + 0 +
  • +
  • + 12 + 6.04 + 15 + -0.175 + 0.437 + 3 + 2 + 0 +
  • +
  • + 1 + 11.23 + 11.23 + -0.183 + 0.468 + 3 + 2 + 0 +
  • + +
  • + 6 + 10.6 + 11.23 + -0.183 + 0.468 + 3 + 2 + 0 +
  • +
  • + 7 + 11.23 + 11.23 + -0.183 + 0.468 + 3 + 2 + 0 +
  • +
  • + 12 + 6.04 + 15 + -0.175 + 0.437 + 3 + 2 + 0 +
  • +
  • + 1 + 11.23 + 11.23 + -0.183 + 0.468 + 3 + 2 + 0 +
  • + +
  • + 6 + 10.6 + 11.23 + -0.183 + 0.468 + 3 + 2 + 0 +
  • +
  • + 7 + 11.23 + 11.23 + -0.183 + 0.468 + 3 + 2 + 0 +
  • +
  • + 12 + 6.04 + 15 + -0.175 + 0.437 + 3 + 2 + 0 +
  • +
  • + 1 + 11.23 + 11.23 + -0.183 + 0.468 + 3 + 2 + 0 +
  • + +
  • + 6 + 10.6 + 11.23 + -0.183 + 0.468 + 3 + 2 + 0 +
  • +
  • + 7 + 11.23 + 11.23 + -0.183 + 0.468 + 3 + 2 + 0 +
  • +
  • + 12 + 6.04 + 15 + -0.175 + 0.437 + 3 + 2 + 0 +
  • +
  • + 1 + 11.23 + 11.23 + -0.183 + 0.468 + 3 + 2 + 0 +
  • + +
  • + 6 + 10.6 + 11.23 + -0.183 + 0.468 + 3 + 2 + 0 +
  • +
  • + 7 + 11.23 + 11.23 + -0.183 + 0.468 + 3 + 2 + 0 +
  • +
  • + 12 + 6.04 + 15 + -0.175 + 0.437 + 3 + 2 + 0 +
  • +
  • + 1 + 11.23 + 11.23 + -0.183 + 0.468 + 3 + 2 + 0 +
  • + + + +
  • + 6 + 10.6 + 11.23 + -0.183 + 0.468 + 3 + 3 + 0 +
  • +
  • + 7 + 11.23 + 11.23 + -0.183 + 0.468 + 3 + 3 + 0 +
  • +
  • + 12 + 6.04 + 15 + -0.175 + 0.437 + 3 + 3 + 0 +
  • +
  • + 1 + 11.23 + 11.23 + -0.183 + 0.468 + 3 + 3 + 0 +
  • + +
  • + 6 + 10.6 + 11.23 + -0.183 + 0.468 + 3 + 3 + 0 +
  • +
  • + 7 + 11.23 + 11.23 + -0.183 + 0.468 + 3 + 3 + 0 +
  • +
  • + 12 + 6.04 + 15 + -0.175 + 0.437 + 3 + 3 + 0 +
  • +
  • + 1 + 11.23 + 11.23 + -0.183 + 0.468 + 3 + 3 + 0 +
  • + +
  • + 6 + 10.6 + 11.23 + -0.183 + 0.468 + 3 + 3 + 0 +
  • +
  • + 7 + 11.23 + 11.23 + -0.183 + 0.468 + 3 + 3 + 0 +
  • +
  • + 12 + 6.04 + 15 + -0.175 + 0.437 + 3 + 3 + 0 +
  • +
  • + 1 + 11.23 + 11.23 + -0.183 + 0.468 + 3 + 3 + 0 +
  • + +
  • + 6 + 10.6 + 11.23 + -0.183 + 0.468 + 3 + 3 + 0 +
  • +
  • + 7 + 11.23 + 11.23 + -0.183 + 0.468 + 3 + 3 + 0 +
  • +
  • + 12 + 6.04 + 15 + -0.175 + 0.437 + 3 + 3 + 0 +
  • +
  • + 1 + 11.23 + 11.23 + -0.183 + 0.468 + 3 + 3 + 0 +
  • + +
  • + 6 + 10.6 + 11.23 + -0.183 + 0.468 + 3 + 3 + 0 +
  • +
  • + 7 + 11.23 + 11.23 + -0.183 + 0.468 + 3 + 3 + 0 +
  • +
  • + 12 + 6.04 + 15 + -0.175 + 0.437 + 3 + 3 + 0 +
  • +
  • + 1 + 11.23 + 11.23 + -0.183 + 0.468 + 3 + 3 + 0 +
  • + +
  • + 6 + 10.6 + 11.23 + -0.183 + 0.468 + 3 + 3 + 0 +
  • +
  • + 7 + 11.23 + 11.23 + -0.183 + 0.468 + 3 + 3 + 0 +
  • +
  • + 12 + 6.04 + 15 + -0.175 + 0.437 + 3 + 3 + 0 +
  • +
  • + 1 + 11.23 + 11.23 + -0.183 + 0.468 + 3 + 3 + 0 +
  • + + +
  • + LayingPawn + +
  • + 13 + -3.18 + -0.41 + 0.122 + 0.356 + 3 + 3 + 0 + -16 +
  • +
  • + Fuck + 12 + 17.11 + -2.87 + 0.114 + 0.359 + 3 + 3 + 0 +
  • +
  • + 1 + -3.18 + -0.41 + 0.122 + 0.356 + 3 + 3 + 0 + -16 +
  • + + + + + +
  • + Cum + true + 310 + 0 + +
  • + +
  • + 3 + 10.6 + 11.23 + -0.183 + 0.468 + 3 + 3 + 0 +
  • +
  • + 4 + 11.23 + 11.23 + -0.183 + 0.468 + 3 + 3 + 0 +
  • +
  • + 7 + 6.04 + 15 + -0.175 + 0.437 + 3 + 3 + 0 +
  • +
  • + 1 + 11.23 + 11.23 + -0.183 + 0.468 + 3 + 3 + 0 +
  • + +
  • + 3 + 10.6 + 11.23 + -0.183 + 0.468 + 3 + 3 + 0 +
  • +
  • + 4 + 11.23 + 11.23 + -0.183 + 0.468 + 3 + 3 + 0 +
  • +
  • + 7 + 6.04 + 15 + -0.175 + 0.437 + 3 + 3 + 0 +
  • +
  • + 1 + 11.23 + 11.23 + -0.183 + 0.468 + 3 + 3 + 0 +
  • + +
  • + 3 + 10.6 + 11.23 + -0.183 + 0.468 + 3 + 3 + 0 +
  • +
  • + 4 + 11.23 + 11.23 + -0.183 + 0.468 + 3 + 3 + 0 +
  • +
  • + 7 + 6.04 + 15 + -0.175 + 0.437 + 3 + 3 + 0 +
  • +
  • + 1 + 11.23 + 11.23 + -0.183 + 0.468 + 3 + 3 + 0 +
  • + +
  • + 3 + 10.6 + 11.23 + -0.183 + 0.468 + 3 + 3 + 0 +
  • +
  • + 4 + 11.23 + 11.23 + -0.183 + 0.468 + 3 + 3 + 0 +
  • +
  • + true + 75 + 6.04 + 15 + -0.175 + 0.437 + 3 + 3 + 0 + Cum +
  • +
  • + 27 + 6.04 + 15 + -0.175 + 0.437 + 3 + 3 + 0 +
  • +
  • + 1 + 11.23 + 11.23 + -0.183 + 0.468 + 3 + 3 + 0 +
  • + + +
  • + LayingPawn + +
  • + 7 + -3.18 + -0.41 + 0.122 + 0.356 + 3 + 3 + 0 + -16 +
  • +
  • + Fuck + 7 + 17.11 + -2.87 + 0.114 + 0.359 + 3 + 3 + 0 +
  • +
  • + 1 + -3.18 + -0.41 + 0.122 + 0.356 + 3 + 3 + 0 +
  • + +
  • + 7 + -3.18 + -0.41 + 0.122 + 0.356 + 3 + 3 + 0 +
  • +
  • + Fuck + 7 + 17.11 + -2.87 + 0.114 + 0.359 + 3 + 3 + 0 +
  • +
  • + 1 + -3.18 + -0.41 + 0.122 + 0.356 + 3 + 3 + 0 +
  • + +
  • + 7 + -3.18 + -0.41 + 0.122 + 0.356 + 3 + 3 + 0 +
  • +
  • + Fuck + 7 + 17.11 + -2.87 + 0.114 + 0.359 + 3 + 3 + 0 +
  • +
  • + 1 + -3.18 + -0.41 + 0.122 + 0.356 + 3 + 3 + 0 +
  • + +
  • + 7 + -3.18 + -0.41 + 0.122 + 0.356 + 3 + 3 + 0 +
  • +
  • + Cum + 75 + 17.11 + -2.87 + 0.114 + 0.359 + 3 + 3 + 0 +
  • +
  • + 27 + 17.11 + -2.87 + 0.114 + 0.359 + 3 + 3 + 0 +
  • +
  • + 1 + -3.18 + -0.41 + 0.122 + 0.356 + 3 + 3 + 0 + -16 +
  • + + + + +
    + +
    + + Cowgirl + + true + +
  • Anal
  • +
  • Vaginal
  • +
    + + +
  • + +
  • Human
  • + + true + true + + (0, 0.2) + + +
  • + +
  • Human
  • + + true + true + + (0, -0.2) + + +
    + + +
  • + Slow_Fuck + true + 1206 + 804 + 0 + +
  • + + +
  • + 16 + 0 + 0 + 0 + 0.554 + 2 + 2 + 0 +
  • +
  • + 17 + 3.5 + 0 + -0.03 + 0.624 + 2 + 2 + -0.02 +
  • +
  • + 16 + 0 + 0 + 0 + 0.694 + 2 + 2 + -0.03 +
  • +
  • + 17 + -3.5 + 0 + 0.03 + 0.624 + 2 + 2 + -0.02 +
  • +
  • + 1 + Fuck + 0 + 0 + 0 + 0.554 + 2 + 2 + 0 +
  • + +
  • + 16 + 0 + 0 + 0 + 0.554 + 2 + 2 + 0 +
  • +
  • + 17 + 3.5 + 0 + -0.03 + 0.624 + 2 + 2 + -0.02 +
  • +
  • + 16 + 0 + 0 + 0 + 0.694 + 2 + 2 + -0.03 +
  • +
  • + 17 + -3.5 + 0 + 0.03 + 0.624 + 2 + 2 + -0.02 +
  • +
  • + 1 + Fuck + 0 + 0 + 0 + 0.554 + 2 + 2 + 0 +
  • + + +
  • + 33 + 0 + 0 + 0 + 0.554 + 2 + 2 + 0 +
  • +
  • + 33 + 0 + 0 + 0 + 0.694 + 2 + 2 + -0.03 +
  • +
  • + 1 + Fuck + 0 + 0 + 0 + 0.554 + 2 + 2 + 0 +
  • + +
  • + 33 + 0 + 0 + 0 + 0.554 + 2 + 2 + 0 +
  • +
  • + 33 + 0 + 0 + 0 + 0.694 + 2 + 2 + -0.03 +
  • +
  • + 1 + Fuck + 0 + 0 + 0 + 0.554 + 2 + 2 + 0 +
  • + + +
  • + LayingPawn + +
  • + 33 + 180 + 180 + 0 + -0.363 + 2 + 2 + 0 + 180 +
  • +
  • + 33 + 180 + 180 + 0 + -0.313 + 2 + 2 + 0.045 + 180 +
  • +
  • + 1 + 180 + 180 + 0 + -0.363 + 2 + 2 + 0 + 180 +
  • + + + + +
  • + Fast_Fuck + true + 972 + 648 + 0 + +
  • + +
  • + 13 + 0 + 0 + 0 + 0.554 + 2 + 2 + 0 +
  • +
  • + 13 + 0 + 0 + 0 + 0.694 + 2 + 2 + -0.03 +
  • +
  • + 1 + Fuck + 0 + 0 + 0 + 0.554 + 2 + 2 + 0 +
  • + + +
  • + LayingPawn + +
  • + 13 + 180 + 180 + 0 + -0.363 + 2 + 2 + 0 + 180 +
  • +
  • + 13 + 180 + 180 + 0 + -0.313 + 2 + 2 + 0.045 + 180 +
  • +
  • + 1 + 180 + 180 + 0 + -0.363 + 2 + 2 + 0 + 180 +
  • + + + + +
  • + Cum + true + 296 + 0 + +
  • + +
  • + 10 + 0 + 0 + 0 + 0.554 + 2 + 2 + 0 +
  • +
  • + 10 + 0 + 0 + 0 + 0.694 + 2 + 2 + -0.03 +
  • +
  • + 1 + Fuck + 0 + 0 + 0 + 0.554 + 2 + 2 + 0 +
  • + +
  • + 10 + 0 + 0 + 0 + 0.554 + 2 + 2 + 0 +
  • +
  • + 10 + 0 + 0 + 0 + 0.694 + 2 + 2 + -0.03 +
  • +
  • + 1 + Fuck + 0 + 0 + 0 + 0.554 + 2 + 2 + 0 +
  • + +
  • + 10 + 0 + 0 + 0 + 0.554 + 2 + 2 + 0 +
  • +
  • + 10 + 0 + 0 + 0 + 0.694 + 2 + 2 + -0.03 +
  • +
  • + true + 45 + Cum + 0 + 0 + 0 + 0.554 + 2 + 2 + 0 +
  • +
  • + true + 40 + 0 + 0 + 0 + 0.534 + 2 + 2 + 0 +
  • +
  • + 1 + 0 + 0 + 0 + 0.554 + 2 + 2 + 0 +
  • + + +
  • + LayingPawn + +
  • + 10 + 180 + 180 + 0 + -0.363 + 2 + 2 + 0 + 180 +
  • +
  • + 10 + 180 + 180 + 0 + -0.313 + 2 + 2 + 0.045 +
  • +
  • + 1 + 180 + 180 + 0 + -0.363 + 2 + 2 + 0 +
  • + +
  • + 10 + 180 + 180 + 0 + -0.363 + 2 + 2 + 0 +
  • +
  • + 10 + 180 + 180 + 0 + -0.313 + 2 + 2 + 0.045 +
  • +
  • + 1 + 180 + 180 + 0 + -0.363 + 2 + 2 + 0 +
  • + +
  • + 10 + 180 + 180 + 0 + -0.363 + 2 + 2 + 0 +
  • +
  • + 10 + 180 + 180 + 0 + -0.313 + 2 + 2 + 0.045 +
  • +
  • + Cum + 45 + 180 + 180 + 0 + -0.363 + 2 + 2 + 0 +
  • +
  • + 40 + 180 + 180 + 0 + -0.363 + 2 + 2 + 0 +
  • +
  • + 1 + 180 + 180 + 0 + -0.363 + 2 + 2 + 0 + 180 +
  • + + + + +
    +
    + + Tribadism + + true + +
  • Scissoring
  • +
    + + +
  • + +
  • Human
  • + + +
  • Vagina
  • +
    + +
  • + +
  • Human
  • + + +
  • Vagina
  • +
    + true + +
    + + +
  • + Tribbing + true + 915 + 610 + 0 + +
  • + LayingPawn + +
  • + + 20 + -81.3 + -81.3 + -0.218 + 0.073 + 2 + 2 + 0 +
  • +
  • + 20 + -79.56 + -79.56 + -0.218 + 0.082 + 2 + 2 + 0 +
  • +
  • + 20 + -81.53 + -81.53 + -0.219 + 0.07 + 2 + 2 + 0 +
  • +
  • + Slimy + 1 + -81.3 + -81.3 + -0.218 + 0.073 + 2 + 2 + 0 +
  • + + +
  • + +
  • + + 20 + 9.97 + -7.61 + 0.444 + 0.368 + 3 + 3 + 0 +
  • +
  • + 20 + 23.82 + -6.90 + 0.432 + 0.403 + 3 + 3 + 0 +
  • +
  • + 20 + 5.19 + -6.19 + 0.442 + 0.388 + 3 + 3 + 0 +
  • +
  • + 1 + 9.97 + -7.61 + 0.444 + 0.368 + 3 + 3 + 0 +
  • + + + + +
  • + TribadismFast + true + 1023 + 682 + 0 + +
  • + LayingPawn + +
  • + + 10 + -81.3 + -81.3 + -0.218 + 0.073 + 2 + 1 + 0 +
  • +
  • + 10 + -79.56 + -79.56 + -0.218 + 0.082 + 2 + 1 + 0 +
  • +
  • + 10 + -81.53 + -81.53 + -0.219 + 0.07 + 2 + 1 + 0 +
  • +
  • + Slimy + 1 + -81.3 + -81.3 + -0.218 + 0.073 + 2 + 1 + 0 +
  • +
  • + + 10 + -81.3 + -81.3 + -0.218 + 0.073 + 2 + 1 + 0 +
  • +
  • + 10 + -79.56 + -79.56 + -0.218 + 0.082 + 2 + 1 + 0 +
  • +
  • + 10 + -81.53 + -81.53 + -0.219 + 0.07 + 2 + 1 + 0 +
  • +
  • + Slimy + 1 + -81.3 + -81.3 + -0.218 + 0.073 + 2 + 1 + 0 +
  • + +
  • + + 10 + -81.3 + -81.3 + -0.218 + 0.073 + 2 + 1 + 0 +
  • +
  • + 10 + -79.56 + -79.56 + -0.218 + 0.082 + 2 + 1 + 0 +
  • +
  • + 10 + -81.53 + -81.53 + -0.219 + 0.07 + 2 + 1 + 0 +
  • +
  • + Slimy + 1 + -81.3 + -81.3 + -0.218 + 0.073 + 2 + 1 + 0 +
  • +
  • + + 10 + -81.3 + -81.3 + -0.218 + 0.073 + 2 + 1 + 0 +
  • +
  • + 10 + -79.56 + -79.56 + -0.218 + 0.082 + 2 + 1 + 0 +
  • +
  • + 10 + -81.53 + -81.53 + -0.219 + 0.07 + 2 + 1 + 0 +
  • +
  • + Slimy + 1 + -81.3 + -81.3 + -0.218 + 0.073 + 2 + 1 + 0 +
  • + + +
  • + + 10 + -81.3 + -73.04 + -0.218 + 0.073 + 2 + 2 + 0 +
  • +
  • + 10 + -79.56 + -77.66 + -0.218 + 0.082 + 2 + 2 + 0 +
  • +
  • + 10 + -81.53 + -77.74 + -0.219 + 0.07 + 2 + 2 + 0 +
  • +
  • + Slimy + 1 + -81.3 + -73.04 + -0.218 + 0.073 + 2 + 2 + 0 +
  • + + +
  • + + 10 + -81.3 + -73.04 + -0.218 + 0.073 + 2 + 2 + 0 +
  • +
  • + 10 + -79.56 + -77.66 + -0.218 + 0.082 + 2 + 2 + 0 +
  • +
  • + 10 + -81.53 + -77.74 + -0.219 + 0.07 + 2 + 2 + 0 +
  • +
  • + Slimy + 1 + -81.3 + -73.04 + -0.218 + 0.073 + 2 + 2 + 0 +
  • + + +
  • + + 10 + -81.3 + -73.04 + -0.218 + 0.073 + 2 + 2 + 0 +
  • +
  • + 10 + -79.56 + -77.66 + -0.218 + 0.082 + 2 + 2 + 0 +
  • +
  • + 10 + -81.53 + -77.74 + -0.219 + 0.07 + 2 + 2 + 0 +
  • +
  • + Slimy + 1 + -81.3 + -73.04 + -0.218 + 0.073 + 2 + 2 + 0 +
  • + + +
  • + + 10 + -81.3 + -73.04 + -0.218 + 0.073 + 2 + 2 + 0 +
  • +
  • + 10 + -79.56 + -77.66 + -0.218 + 0.082 + 2 + 2 + 0 +
  • +
  • + 10 + -81.53 + -77.74 + -0.219 + 0.07 + 2 + 2 + 0 +
  • +
  • + Slimy + 1 + -81.3 + -73.04 + -0.218 + 0.073 + 2 + 2 + 0 +
  • + + +
  • + + 10 + -81.3 + -73.04 + -0.218 + 0.073 + 2 + 2 + 0 +
  • +
  • + 10 + -79.56 + -77.66 + -0.218 + 0.082 + 2 + 2 + 0 +
  • +
  • + 10 + -81.53 + -77.74 + -0.219 + 0.07 + 2 + 2 + 0 +
  • +
  • + Slimy + 1 + -81.3 + -73.04 + -0.218 + 0.073 + 2 + 2 + 0 +
  • + + +
  • + + 10 + -81.3 + -73.04 + -0.218 + 0.073 + 2 + 2 + 0 +
  • +
  • + 10 + -79.56 + -77.66 + -0.218 + 0.082 + 2 + 2 + 0 +
  • +
  • + 10 + -81.53 + -77.74 + -0.219 + 0.07 + 2 + 2 + 0 +
  • +
  • + Slimy + 1 + -81.3 + -73.04 + -0.218 + 0.073 + 2 + 2 + 0 +
  • + +
  • + + 10 + -81.3 + -81.3 + -0.218 + 0.073 + 2 + 1 + 0 +
  • +
  • + 10 + -79.56 + -79.56 + -0.218 + 0.082 + 2 + 1 + 0 +
  • +
  • + 10 + -81.53 + -81.53 + -0.219 + 0.07 + 2 + 1 + 0 +
  • +
  • + Slimy + 1 + -81.3 + -81.3 + -0.218 + 0.073 + 2 + 1 + 0 +
  • + + +
  • + +
  • + + 10 + 9.97 + -7.61 + 0.444 + 0.368 + 3 + 3 + 0 +
  • +
  • + 10 + 23.82 + -6.90 + 0.432 + 0.403 + 3 + 3 + 0 +
  • +
  • + 10 + 5.19 + -6.19 + 0.442 + 0.388 + 3 + 3 + 0 +
  • +
  • + 1 + 9.97 + -7.61 + 0.444 + 0.368 + 3 + 3 + 0 +
  • + + + + +
  • + Cum + true + 286 + 0 + +
  • + LayingPawn + +
  • + + 10 + -81.3 + -81.3 + -0.218 + 0.073 + 2 + 1 + 0 +
  • +
  • + 10 + -79.56 + -79.56 + -0.218 + 0.082 + 2 + 1 + 0 +
  • +
  • + 10 + -81.53 + -81.53 + -0.219 + 0.07 + 2 + 1 + 0 +
  • +
  • + 1 + -81.3 + -81.3 + -0.218 + 0.073 + 2 + 1 + 0 +
  • +
  • + + 10 + -81.3 + -81.3 + -0.218 + 0.073 + 2 + 1 + 0 +
  • +
  • + 60 + -79.56 + -89.56 + -0.218 + 0.082 + 2 + 1 + Cum + 0 +
  • +
  • + 10 + -81.53 + -86.53 + -0.219 + 0.07 + 2 + 1 + 0 +
  • +
  • + 1 + -81.3 + -81.3 + -0.218 + 0.073 + 2 + 1 + 0 +
  • +
  • + + 10 + -81.3 + -81.3 + -0.218 + 0.073 + 2 + 1 + 0 +
  • +
  • + 10 + -79.56 + -79.56 + -0.218 + 0.082 + 2 + 1 + 0 +
  • +
  • + 10 + -81.53 + -81.53 + -0.219 + 0.07 + 2 + 1 + 0 +
  • +
  • + 1 + -81.3 + -81.3 + -0.218 + 0.073 + 2 + 1 + 0 +
  • + + +
  • + +
  • + + 10 + 9.97 + -7.61 + 0.444 + 0.368 + 3 + 3 + 0 +
  • +
  • + 10 + 23.82 + -6.90 + 0.432 + 0.403 + 3 + 3 + 0 +
  • +
  • + 10 + 5.19 + -6.19 + 0.442 + 0.388 + 3 + 3 + 0 +
  • +
  • + 1 + 9.97 + -7.61 + 0.444 + 0.368 + 3 + 3 + 0 +
  • +
  • + + 10 + 9.97 + -7.61 + 0.444 + 0.368 + 3 + 3 + 0 +
  • +
  • + 60 + 23.82 + -6.90 + 0.432 + 0.403 + 3 + 3 + 0 + Cum +
  • +
  • + 10 + 5.19 + -6.19 + 0.442 + 0.388 + 3 + 3 + 0 +
  • +
  • + 1 + 9.97 + -7.61 + 0.444 + 0.368 + 3 + 3 + 0 +
  • +
  • + + 10 + 9.97 + -7.61 + 0.444 + 0.368 + 3 + 3 + 0 +
  • +
  • + 10 + 23.82 + -6.90 + 0.432 + 0.403 + 3 + 3 + 0 + Slimy +
  • +
  • + 10 + 5.19 + -6.19 + 0.442 + 0.388 + 3 + 3 + 0 +
  • +
  • + 1 + 9.97 + -7.61 + 0.444 + 0.368 + 3 + 3 + 0 +
  • + + + + +
    +
    + + Cunnilingus + + true + +
  • Oral
  • +
  • Cunnilingus
  • +
    + +
  • + +
  • Human
  • + + +
  • Vagina
  • +
    + + (-0.2, 0.1) + + +
  • + +
  • Human
  • + + +
  • Mouth
  • +
    + true + + (-0.1, 0.15) + + +
    + + +
  • + Initial + False + 0 + +
  • + +
  • + 60 + -81.06536 + -56.4483032 + -0.0624052179 + -0.437134951 + 0 + 1 + 1 +
  • +
  • + 1 + -87.3645554 + -69.70276 + -0.0692383763 + -0.440020353 + 0 + 1 + 1 +
  • + + +
  • + LayingPawn + +
  • + 60 + -27.578373 + 0.2816162 + 0.102704488 + 0.50675 + 0 + 3 + 3 +
  • +
  • + 1 + -47.9400826 + -21.93164 + -0.04209958 + 0.467844343 + -0.1 + 3 + 3 + Slimy +
  • + + + + + +
  • + Slow + True + 499 + 0 + +
  • + +
  • + 98 + -87.3645554 + -69.70276 + -0.0692383763 + -0.440020353 + 0 + 1 + 1 +
  • +
  • + 40 + -87.26528 + -65.901825 + -0.0737426062 + -0.432820916 + 0 + 1 + 1 +
  • +
  • + 1 + -87.3645554 + -69.70276 + -0.0692383763 + -0.440020353 + 0 + 1 + 1 +
  • + +
  • + 98 + -87.3645554 + -69.70276 + -0.0692383763 + -0.440020353 + 0 + 1 + 1 +
  • +
  • + 40 + -87.26528 + -65.901825 + -0.0737426062 + -0.432820916 + 0 + 1 + 1 +
  • +
  • + 1 + -87.3645554 + -69.70276 + -0.0692383763 + -0.440020353 + 0 + 1 + 1 +
  • + +
  • + 60 + -87.3645554 + -69.70276 + -0.0692383763 + -0.440020353 + 0 + 1 + 1 +
  • +
  • + 120 + -86.52611 + -68.86432 + -0.05432228 + -0.439906 + 0 + 1 + 1 +
  • +
  • + 40 + -88.36286 + -84.3309 + -0.06637782 + -0.440140843 + 0 + 1 + 1 +
  • +
  • + 1 + -87.3645554 + -69.70276 + -0.0692383763 + -0.440020353 + 0 + 1 + 1 +
  • + + +
  • + LayingPawn + +
  • + 80 + -47.9400826 + -21.93164 + -0.04209958 + 0.467844343 + -0.1 + 3 + 3 +
  • +
  • + 18 + -41.1054764 + -10.1737061 + 0.04582855 + 0.462155169 + 0 + 3 + 3 +
  • +
  • + 40 + -38.1903877 + -31.6517334 + 0.0384018831 + 0.4874894 + 0 + 3 + 3 +
  • +
  • + 1 + -47.9400826 + -21.93164 + -0.04209958 + 0.467844343 + -0.1 + 3 + 3 + Slimy +
  • + +
  • + 80 + -47.9400826 + -21.93164 + -0.04209958 + 0.467844343 + -0.1 + 3 + 3 +
  • +
  • + 18 + -41.1054764 + -10.1737061 + 0.04582855 + 0.462155169 + 0 + 3 + 3 +
  • +
  • + 40 + -38.1903877 + -31.6517334 + 0.0384018831 + 0.4874894 + 0 + 3 + 3 +
  • +
  • + 1 + -47.9400826 + -21.93164 + -0.04209958 + 0.467844343 + -0.1 + 3 + 3 + Slimy +
  • + +
  • + 60 + -47.9400826 + -21.93164 + -0.04209958 + 0.467844343 + -0.1 + 3 + 3 + Slimy +
  • +
  • + 40 + -45.2595444 + -13.57782 + 0.009577712 + 0.4726282 + 0 + 3 + 3 + Slimy +
  • +
  • + 20 + -45.2595444 + -24.2278748 + 0.0315402448 + 0.415024319 + 0 + 3 + 3 + +
  • +
  • + 40 + -45.2595444 + -13.57782 + 0.009577712 + 0.4726282 + 0 + 3 + 3 + Slimy +
  • +
  • + 20 + -45.2595444 + -24.2278748 + 0.0315402448 + 0.415024319 + 0 + 3 + 3 + +
  • +
  • + 40 + -45.2595444 + -13.57782 + 0.009577712 + 0.4726282 + 0 + 3 + 3 + Slimy +
  • +
  • + 1 + -47.9400826 + -21.93164 + -0.04209958 + 0.467844343 + -0.1 + 3 + 3 + Slimy +
  • + + + + + +
  • + Transition + False + 0 + +
  • + +
  • + 40 + -87.3645554 + -69.70276 + -0.06923838 + -0.440020353 + 0 + 1 + 1 +
  • +
  • + 30 + -97.90959 + -69.72717 + -0.0259781852 + -0.445601642 + 0 + 1 + 1 +
  • +
  • + 1 + -87.3645554 + -69.70276 + -0.06923838 + -0.440020353 + 0 + 1 + 1 +
  • + + +
  • + LayingPawn + +
  • + 40 + -47.9400826 + -21.93164 + -0.04209958 + 0.467844343 + -0.1 + 3 + 3 + Slimy +
  • +
  • + 30 + -35.8792953 + -9.312592 + 0.03684573 + 0.4285702 + 0 + 3 + 3 + Slimy +
  • +
  • + 1 + -47.9400826 + -21.93164 + -0.04209958 + 0.467844343 + 0 + 3 + 3 + Slimy +
  • + + + + +
  • + Fast + True + 568 + 284 + 0 + +
  • + +
  • + 40 + -87.3645554 + -69.70276 + -0.06923838 + -0.440020353 + 0 + 1 + 1 +
  • +
  • + 30 + -97.90959 + -69.72717 + -0.0259781852 + -0.445601642 + 0 + 1 + 1 +
  • +
  • + 1 + -87.3645554 + -69.70276 + -0.06923838 + -0.440020353 + 0 + 1 + 1 +
  • + +
  • + 40 + -87.3645554 + -69.70276 + -0.06923838 + -0.440020353 + 0 + 1 + 1 +
  • +
  • + 30 + -97.90959 + -69.72717 + -0.0259781852 + -0.445601642 + 0 + 1 + 1 +
  • +
  • + 1 + -87.3645554 + -69.70276 + -0.06923838 + -0.440020353 + 0 + 1 + 1 +
  • + +
  • + 40 + -87.3645554 + -79.70276 + -0.06923838 + -0.440020353 + 0 + 1 + 2 +
  • +
  • + 30 + -97.90959 + -79.72717 + -0.0259781852 + -0.445601642 + 0 + 1 + 2 +
  • +
  • + 1 + -87.3645554 + -79.70276 + -0.06923838 + -0.440020353 + 0 + 1 + 2 +
  • + +
  • + 40 + -87.3645554 + -79.70276 + -0.06923838 + -0.440020353 + 0 + 1 + 2 +
  • +
  • + 30 + -97.90959 + -79.72717 + -0.0259781852 + -0.445601642 + 0 + 1 + 2 +
  • +
  • + 1 + -87.3645554 + -79.70276 + -0.06923838 + -0.440020353 + 0 + 1 + 2 +
  • + + +
  • + LayingPawn + +
  • + 40 + -47.9400826 + -21.93164 + -0.04209958 + 0.467844343 + 0 + 3 + 3 + Slimy +
  • +
  • + 30 + -35.8792953 + -3.312592 + 0.03684573 + 0.4285702 + 0 + 3 + 3 + Slimy +
  • +
  • + 1 + -47.9400826 + -21.93164 + -0.04209958 + 0.467844343 + 0 + 3 + 3 + Slimy +
  • + + + + +
  • + Faster + True + 576 + 288 + 0 + +
  • + +
  • + 20 + -87.3645554 + -69.70276 + -0.06923838 + -0.440020353 + 0 + 1 + 1 +
  • +
  • + 15 + -97.90959 + -69.72717 + -0.0259781852 + -0.445601642 + 0 + 1 + 1 +
  • +
  • + 1 + -87.3645554 + -69.70276 + -0.06923838 + -0.440020353 + 0 + 1 + 1 +
  • + + +
  • + LayingPawn + +
  • + 20 + -47.9400826 + -21.93164 + -0.04209958 + 0.467844343 + 0 + 3 + 3 + Slimy +
  • +
  • + 15 + -35.8792953 + -9.312592 + 0.03684573 + 0.4285702 + 0 + 3 + 3 + Slimy +
  • +
  • + 1 + -47.9400826 + -21.93164 + -0.04209958 + 0.467844343 + 0 + 3 + 3 + Slimy +
  • + + + + +
  • + Cum + True + 426 + 0 + +
  • + +
  • + 20 + -87.3645554 + -69.70276 + -0.06923838 + -0.440020353 + 0 + 1 + 1 +
  • +
  • + 15 + -97.90959 + -69.72717 + -0.0259781852 + -0.445601642 + 0 + 1 + 1 +
  • +
  • + 1 + -87.3645554 + -69.70276 + -0.06923838 + -0.440020353 + 0 + 1 + 1 +
  • + +
  • + 20 + -87.3645554 + -69.70276 + -0.06923838 + -0.440020353 + 0 + 1 + 1 +
  • +
  • + 15 + -97.90959 + -69.72717 + -0.0259781852 + -0.445601642 + 0 + 1 + 1 +
  • +
  • + 1 + -87.3645554 + -69.70276 + -0.06923838 + -0.440020353 + 0 + 1 + 1 +
  • + +
  • + 20 + -87.3645554 + -69.70276 + -0.06923838 + -0.440020353 + 0 + 1 + 1 +
  • +
  • + True + 80 + -97.90959 + -69.72717 + -0.0259781852 + -0.445601642 + 0 + 1 + 1 + Cum +
  • +
  • + 40 + -99.80413 + -94.4023743 + -0.01950606 + -0.447728932 + 0 + 1 + 1 +
  • +
  • + 1 + -87.3645554 + -69.70276 + -0.06923838 + -0.440020353 + 0 + 1 + 1 +
  • + + +
  • + LayingPawn + +
  • + 20 + -47.9400826 + -21.93164 + -0.04209958 + 0.467844343 + 0 + 3 + 3 + Slimy +
  • +
  • + 15 + -35.8792953 + -9.312592 + 0.03684573 + 0.4285702 + 0 + 3 + 3 + Slimy +
  • +
  • + 1 + -47.9400826 + -21.93164 + -0.04209958 + 0.467844343 + 0 + 3 + 3 + Slimy +
  • + +
  • + 20 + -47.9400826 + -21.93164 + -0.04209958 + 0.467844343 + 0 + 3 + 3 + Slimy +
  • +
  • + 15 + -35.8792953 + -9.312592 + 0.03684573 + 0.4285702 + 0 + 3 + 3 + Slimy +
  • +
  • + 1 + -47.9400826 + -21.93164 + -0.04209958 + 0.467844343 + 0 + 3 + 3 + Slimy +
  • + +
  • + 20 + -47.9400826 + -21.93164 + -0.04209958 + 0.467844343 + 0 + 3 + 3 + Slimy +
  • +
  • + 80 + -35.8792953 + -9.312592 + 0.03684573 + 0.4285702 + 0 + 3 + 3 +
  • +
  • + 40 + -38.5277061 + -1.13140869 + 0.0376501828 + 0.42935127 + 0 + 3 + 3 +
  • +
  • + 1 + -47.9400826 + -21.93164 + -0.04209958 + 0.467844343 + 0 + 3 + 3 + Slimy +
  • + + + + +
    +
    + + Double_Penetration + + true + +
  • DoublePenetration
  • +
    + +
  • + +
  • Human
  • + + + (0.00, -0.075) + + true + +
  • + +
  • Human
  • + + + (-0.05, -0.05) + (-0.10, -0.05) + (0.10, 0) + (-0.05, 0.15) + + true + true + true + +
  • + +
  • Human
  • + + + (0.05, -0.1) + (0.10, -0.10) + (-0.05, 0) + (0.10, 0.10) + + true + true + true + +
    + + +
  • + Slow + true + 1464 + 976 + 0 + +
  • + + +
  • + 25 + 62.7 + 0.2 + 0.01 + 0.118 + 1 + 1 + 0 +
  • +
  • + 35 + 48.1 + 16.3 + 0 + 0.188 + 1 + 1 + 0 +
  • +
  • + Suck + 1 + 62.7 + 0.2 + 0.01 + 0.118 + 1 + 1 + 0 +
  • + + +
  • + + LayingPawn + +
  • + 30 + 12 + -14.1 + 0.674 + 0.378 + 3 + 3 + 0 + 0 +
  • +
  • + 30 + 12 + -15.1 + 0.729 + 0.378 + 3 + 3 + 0 +
  • +
  • + 1 + 12 + -14.1 + 0.674 + 0.378 + 3 + 3 + 0 + 0 +
  • + + +
  • + + LayingPawn + +
  • + 27 + 8.7 + 15.1 + -0.70 + 0.378 + 1 + 1 + 0 + 25 +
  • +
  • + Fuck + 33 + -6.7 + 14.1 + -0.53 + 0.378 + 1 + 1 + 0 +
  • +
  • + 1 + 8.7 + 15.1 + -0.70 + 0.378 + 1 + 1 + 0 + 25 +
  • + + + + +
  • + Face_Fuck + true + 975 + 650 + 0 + +
  • + + +
  • + 13 + 62.7 + 0.2 + 0.01 + 0.118 + 1 + 1 + 0 +
  • +
  • + 6 + 60.7 + 5.6 + 0.025 + 0.118 + 1 + 1 + 0 +
  • +
  • + 6 + 62.7 + 0.2 + 0.08 + 0.118 + 1 + 1 + 0 +
  • +
  • + Suck + 1 + 62.7 + 0.2 + 0.01 + 0.118 + 1 + 1 + 0 +
  • + + +
  • + + LayingPawn + +
  • + 13 + 12 + -14.1 + 0.674 + 0.378 + 3 + 3 + 0 + -25 +
  • +
  • + 12 + 2 + -15.1 + 0.729 + 0.378 + 3 + 3 + 0 +
  • +
  • + 1 + 12 + -14.1 + 0.674 + 0.378 + 3 + 3 + 0 + -25 +
  • + + +
  • + + LayingPawn + +
  • + 13 + 8.7 + 15.1 + -0.70 + 0.378 + 1 + 1 + 0 + 25 +
  • +
  • + Fuck + 12 + -6.7 + 14.1 + -0.53 + 0.378 + 1 + 1 + 0 +
  • +
  • + 1 + 8.7 + 15.1 + -0.70 + 0.378 + 1 + 1 + 0 + 25 +
  • + + + + +
  • + Cum + true + 392 + 0 + +
  • + + +
  • + 9 + 62.7 + 0.2 + 0.01 + 0.118 + 1 + 1 + 0 +
  • +
  • + 4 + 60.7 + 5.6 + 0.025 + 0.118 + 1 + 1 + 0 +
  • +
  • + 4 + 62.7 + 0.2 + 0.056 + 0.118 + 1 + 1 + 0 +
  • +
  • + Suck + 1 + 62.7 + 0.2 + 0.01 + 0.118 + 1 + 1 + 0 +
  • + +
  • + 9 + 62.7 + 0.2 + 0.01 + 0.118 + 1 + 1 + 0 +
  • +
  • + 4 + 60.7 + 5.6 + 0.025 + 0.118 + 1 + 1 + 0 +
  • +
  • + 4 + 62.7 + 0.2 + 0.056 + 0.118 + 1 + 1 + 0 +
  • +
  • + Suck + 1 + 62.7 + 0.2 + 0.01 + 0.118 + 1 + 1 + 0 +
  • + +
  • + 9 + 62.7 + 0.2 + 0.01 + 0.118 + 1 + 1 + 0 +
  • +
  • + Cum + true + 120 + 60.7 + 5.6 + 0.025 + 0.118 + 1 + 1 + 0 +
  • +
  • + 30 + 62.7 + 0.2 + 0.056 + 0.118 + 1 + 1 + 0 +
  • +
  • + Suck + 1 + 62.7 + 0.2 + 0.01 + 0.118 + 1 + 1 + 0 +
  • + + +
  • + + LayingPawn + +
  • + 9 + 9 + -14.1 + 0.674 + 0.378 + 3 + 3 + 0 + -25 +
  • +
  • + 8 + 0 + -15.1 + 0.729 + 0.378 + 3 + 3 + 0 +
  • +
  • + 1 + 9 + -14.1 + 0.674 + 0.378 + 3 + 3 + 0 +
  • + +
  • + 9 + 9 + -14.1 + 0.674 + 0.378 + 3 + 3 + 0 +
  • +
  • + 8 + 0 + -15.1 + 0.729 + 0.378 + 3 + 3 + 0 +
  • +
  • + 1 + 9 + -14.1 + 0.674 + 0.378 + 3 + 3 + 0 +
  • + +
  • + 9 + 9 + -14.1 + 0.674 + 0.378 + 3 + 3 + 0 +
  • +
  • + Cum + 120 + 9 + -15.1 + 0.674 + 0.378 + 3 + 3 + 0 +
  • +
  • + 30 + 9 + 7 + 0.674 + 0.378 + 3 + 3 + 0 +
  • +
  • + 1 + 9 + -14.1 + 0.674 + 0.378 + 3 + 3 + 0 + -25 +
  • + + + +
  • + + LayingPawn + +
  • + 9 + 8.7 + 15.1 + -0.70 + 0.378 + 1 + 1 + 0 + 25 +
  • +
  • + Fuck + 8 + -6.7 + 14.1 + -0.53 + 0.378 + 1 + 1 + 0 +
  • +
  • + 1 + 8.7 + 15.1 + -0.70 + 0.378 + 1 + 1 + 0 +
  • + +
  • + 9 + 8.7 + 15.1 + -0.70 + 0.378 + 1 + 1 + 0 +
  • +
  • + Fuck + 8 + -6.7 + 14.1 + -0.53 + 0.378 + 1 + 1 + 0 +
  • +
  • + 1 + 8.7 + 15.1 + -0.70 + 0.378 + 1 + 1 + 0 +
  • + +
  • + 9 + 8.7 + 15.1 + -0.70 + 0.378 + 1 + 1 + 0 +
  • +
  • + Cum + 120 + -6.7 + 14.1 + -0.53 + 0.378 + 1 + 1 + 0 +
  • +
  • + 30 + -6.7 + -7 + -0.53 + 0.378 + 1 + 1 + 0 +
  • +
  • + 1 + 8.7 + 15.1 + -0.70 + 0.378 + 1 + 1 + 0 + 25 +
  • + + + + +
    +
    +
    + + + diff --git a/Defs/AnimationDefs/Animations_solo.xml b/Defs/AnimationDefs/Animations_solo.xml new file mode 100644 index 0000000..5287a54 --- /dev/null +++ b/Defs/AnimationDefs/Animations_solo.xml @@ -0,0 +1,2277 @@ + + + + + + MasturbationWithPenis_Standing + + true + +
  • Masturbation
  • +
    + +
  • Masturbation_HandjobP
  • +
    + + +
  • + +
  • Human
  • + + +
  • Penis
  • +
  • OneHand
  • +
  • NoBed
  • +
    + true + +
    + + +
  • + Slow_Start + true + 1116 + 744 + 0 + +
  • + +
  • + 30 + 0 + 0 + 0 + 0 + 3 + 3 + 0 + -16 +
  • +
  • + 1 + 0 + 0 + 0 + 0 + 3 + 3 + 0 + Sex + 0 +
  • +
  • + 30 + 0 + 0 + 0 + 0 + 3 + 3 + 0 + 0 +
  • +
  • + 1 + 0 + 0 + 0 + 0 + 3 + 3 + 0 + Sex + -16 +
  • + + + + +
  • + Rapid_rise + true + 576 + 384 + 0 + +
  • + +
  • + 15 + 0 + 0 + 0 + 0 + 3 + 3 + 0 + -16 +
  • +
  • + 1 + 0 + 0 + 0 + 0 + 3 + 3 + 0 + Sex + 0 +
  • +
  • + 15 + 0 + 0 + 0 + 0 + 3 + 3 + 0 + 0 +
  • +
  • + 1 + 0 + 0 + 0 + 0 + 3 + 3 + 0 + Sex + -16 +
  • + + + + +
  • + Cum + true + 384 + 0 + +
  • + +
  • + 12 + 0 + 0 + 0 + 0 + 3 + 3 + 0 + 0 +
  • +
  • + 7 + Cum + 0 + 0 + 0.102 + 3 + 3 + -0.051 +
  • +
  • + 7 + 0 + 0 + 0.027 + 3 + 3 + -0.04 +
  • +
  • + true + 60 + 0 + 0 + 0.102 + Sex + 3 + 3 + -0.051 +
  • +
  • + 14 + 0 + 0 + 0.102 + 3 + 3 + -0.051 +
  • +
  • + 1 + 0 + 0 + 0 + 0 + 3 + 3 + 0 + 0 +
  • + + + + +
    +
    + + + MasturbationWithPenis_InBed + + true + +
  • Masturbation
  • +
    + +
  • Masturbation_HandjobP
  • +
    + + +
  • + +
  • Human
  • + + +
  • Penis
  • +
  • OneHand
  • +
  • Bed
  • +
    + +
    + + +
  • + Slow_Start + true + 1116 + 744 + 0 + +
  • + +
  • + 30 + 0 + 0 + 0 + 0 + 2 + 2 + 0 +
  • +
  • + 1 + 0 + 0 + 0 + 0 + 2 + 2 + 0 + Sex +
  • +
  • + 30 + 0 + 0 + 0 + 0 + 2 + 2 + 0 +
  • +
  • + 1 + 0 + 0 + 0 + 0 + 2 + 2 + 0 + Sex +
  • + + + + +
  • + Rapid_rise + true + 576 + 384 + 0 + +
  • + +
  • + 15 + 0 + 0 + 0 + 0 + 2 + 2 + 0 +
  • +
  • + 1 + 0 + 0 + 0 + 0 + 2 + 2 + 0 + Sex +
  • +
  • + 15 + 0 + 0 + 0 + 0 + 2 + 2 + 0 +
  • +
  • + 1 + 0 + 0 + 0 + 0 + 2 + 2 + 0 + Sex +
  • + + + + +
  • + Cum + true + 384 + 0 + +
  • + +
  • + 12 + 0 + 0 + 0 + 0 + 2 + 2 + 0 +
  • +
  • + 7 + Cum + 0 + 0 + 0.102 + 2 + 2 + -0.051 +
  • +
  • + 7 + 0 + 0 + 0.027 + 2 + 2 + -0.04 +
  • +
  • + true + 60 + 0 + 0 + 0.102 + Sex + 2 + 2 + -0.051 +
  • +
  • + 14 + 0 + 0 + 0.102 + 2 + 2 + -0.051 +
  • +
  • + 1 + 0 + 0 + 0 + 0 + 2 + 2 + 0 +
  • + + + + +
    +
    + + + MasturbationWithVagina_Standing + + true + +
  • Masturbation
  • +
    + +
  • Masturbation_HandjobV
  • +
    + + +
  • + +
  • Human
  • + + +
  • Vagina
  • +
  • OneHand
  • +
  • NoBed
  • +
    + +
    + + +
  • + Slow_Start + true + 1116 + 744 + 0 + +
  • + +
  • + 30 + 0 + 0 + 0 + 0 + 3 + 3 + 0 +
  • +
  • + 1 + 0 + 0 + 0 + 0 + 3 + 3 + 0 +
  • +
  • + 30 + 0 + 0 + 0 + 0 + 3 + 3 + 0 +
  • +
  • + 1 + 0 + 0 + 0 + 0 + 3 + 3 + 0 +
  • + + + + +
  • + Rapid_rise + true + 576 + 384 + 0 + +
  • + +
  • + 15 + 0 + 0 + 0 + 0 + 3 + 3 + 0 +
  • +
  • + 1 + 0 + 0 + 0 + 0 + 3 + 3 + 0 + Slimy +
  • +
  • + 15 + 0 + 0 + 0 + 0 + 3 + 3 + 0 +
  • +
  • + 1 + 0 + 0 + 0 + 0 + 3 + 3 + 0 + Slimy +
  • + + + + +
  • + Cum + true + 384 + 0 + +
  • + +
  • + 12 + 0 + 0 + 0 + 0 + 3 + 3 + 0 +
  • +
  • + 7 + Cum + 0 + 0 + 0.102 + 3 + 3 + -0.051 +
  • +
  • + 7 + 0 + 0 + 0.027 + 3 + 3 + -0.04 +
  • +
  • + true + 60 + 0 + 0 + 0.102 + Slimy + 3 + 3 + -0.051 +
  • +
  • + 14 + 0 + 0 + 0.102 + 3 + 3 + -0.051 +
  • +
  • + 1 + 0 + 0 + 0 + 0 + 3 + 3 + 0 +
  • + + + + +
    +
    + + + MasturbationWithVagina_InBed + + true + +
  • Masturbation
  • +
    + +
  • Masturbation_HandjobV
  • +
    + + +
  • + +
  • Human
  • + + +
  • Vagina
  • +
  • OneHand
  • +
  • Bed
  • +
    + +
    + + +
  • + Slow_Start + true + 1116 + 744 + 0 + +
  • + +
  • + 30 + 0 + 0 + 0 + 0 + 2 + 2 + 0 +
  • +
  • + 1 + 0 + 0 + 0 + 0 + 2 + 2 + 0 +
  • +
  • + 30 + 0 + 0 + 0 + 0 + 2 + 2 + 0 +
  • +
  • + 1 + 0 + 0 + 0 + 0 + 2 + 2 + 0 +
  • + + + + +
  • + Rapid_rise + true + 576 + 384 + 0 + +
  • + +
  • + 15 + 0 + 0 + 0 + 0 + 2 + 2 + 0 +
  • +
  • + 1 + 0 + 0 + 0 + 0 + 2 + 2 + 0 + Slimy +
  • +
  • + 15 + 0 + 0 + 0 + 0 + 2 + 2 + 0 +
  • +
  • + 1 + 0 + 0 + 0 + 0 + 2 + 2 + 0 + Slimy +
  • + + + + +
  • + Cum + true + 384 + 0 + +
  • + +
  • + 12 + 0 + 0 + 0 + 0 + 2 + 2 + 0 +
  • +
  • + 7 + Cum + 0 + 0 + 0.102 + 2 + 2 + -0.051 +
  • +
  • + 7 + 0 + 0 + 0.027 + 2 + 2 + -0.04 +
  • +
  • + true + 60 + 0 + 0 + 0.102 + Slimy + 2 + 2 + -0.051 +
  • +
  • + 14 + 0 + 0 + 0.102 + 2 + 2 + -0.051 +
  • +
  • + 1 + 0 + 0 + 0 + 0 + 2 + 2 + 0 +
  • + + + + +
    +
    + + + MasturbationWithBreasts_Standing + + true + +
  • Masturbation
  • +
    + +
  • Masturbation_Breastjob
  • +
    + + +
  • + +
  • Human
  • + + +
  • Breasts
  • +
  • Vagina
  • +
  • OneHand
  • +
  • NoBed
  • +
    + +
    + + +
  • + Slow_Start + true + 1116 + 744 + 0 + +
  • + +
  • + 30 + 0 + 0 + 0 + 0 + 3 + 3 + 0 +
  • +
  • + 1 + 0 + 0 + 0 + 0 + 3 + 3 + 0 +
  • +
  • + 30 + 0 + 0 + 0 + 0 + 3 + 3 + 0 +
  • +
  • + 1 + 0 + 0 + 0 + 0 + 3 + 3 + 0 +
  • + + + + +
  • + Rapid_rise + true + 576 + 384 + 0 + +
  • + +
  • + 15 + 0 + 0 + 0 + 0 + 3 + 3 + 0 +
  • +
  • + 1 + 0 + 0 + 0 + 0 + 3 + 3 + 0 + Slimy +
  • +
  • + 15 + 0 + 0 + 0 + 0 + 3 + 3 + 0 +
  • +
  • + 1 + 0 + 0 + 0 + 0 + 3 + 3 + 0 + Slimy +
  • + + + + +
  • + Cum + true + 384 + 0 + +
  • + +
  • + 12 + 0 + 0 + 0 + 0 + 3 + 3 + 0 +
  • +
  • + 7 + Cum + 0 + 0 + 0.102 + 3 + 3 + -0.051 +
  • +
  • + 7 + 0 + 0 + 0.027 + 3 + 3 + -0.04 +
  • +
  • + true + 60 + 0 + 0 + 0.102 + Slimy + 3 + 3 + -0.051 +
  • +
  • + 14 + 0 + 0 + 0.102 + 3 + 3 + -0.051 +
  • +
  • + 1 + 0 + 0 + 0 + 0 + 3 + 3 + 0 +
  • + + + + +
    +
    + + + MasturbationWithBreasts_InBed + + true + +
  • Masturbation
  • +
    + +
  • Masturbation_Breastjob
  • +
    + + +
  • + +
  • Human
  • + + +
  • Breasts
  • +
  • Vagina
  • +
  • OneHand
  • +
  • Bed
  • +
    + +
    + + +
  • + Slow_Start + true + 1116 + 744 + 0 + +
  • + +
  • + 30 + 0 + 0 + 0 + 0 + 2 + 2 + 0 +
  • +
  • + 1 + 0 + 0 + 0 + 0 + 2 + 2 + 0 +
  • +
  • + 30 + 0 + 0 + 0 + 0 + 2 + 2 + 0 +
  • +
  • + 1 + 0 + 0 + 0 + 0 + 2 + 2 + 0 +
  • + + + + +
  • + Rapid_rise + true + 576 + 384 + 0 + +
  • + +
  • + 15 + 0 + 0 + 0 + 0 + 2 + 2 + 0 +
  • +
  • + 1 + 0 + 0 + 0 + 0 + 2 + 2 + 0 + Slimy +
  • +
  • + 15 + 0 + 0 + 0 + 0 + 2 + 2 + 0 +
  • +
  • + 1 + 0 + 0 + 0 + 0 + 2 + 2 + 0 + Slimy +
  • + + + + +
  • + Cum + true + 384 + 0 + +
  • + +
  • + 12 + 0 + 0 + 0 + 0 + 2 + 2 + 0 +
  • +
  • + 7 + Cum + 0 + 0 + 0.102 + 2 + 2 + -0.051 +
  • +
  • + 7 + 0 + 0 + 0.027 + 2 + 2 + -0.04 +
  • +
  • + true + 60 + 0 + 0 + 0.102 + Slimy + 2 + 2 + -0.051 +
  • +
  • + 14 + 0 + 0 + 0.102 + 2 + 2 + -0.051 +
  • +
  • + 1 + 0 + 0 + 0 + 0 + 2 + 2 + 0 +
  • + + + + +
    +
    + + + MasturbationWithBreastsPlusPenis_Standing + + true + +
  • Masturbation
  • +
    + +
  • Masturbation_Breastjob
  • +
    + + +
  • + +
  • Human
  • + + +
  • Breasts
  • +
  • Penis
  • +
  • TwoHands
  • +
  • NoBed
  • +
    + +
    + + +
  • + Slow_Start + true + 1116 + 744 + 0 + +
  • + +
  • + 30 + 0 + 0 + 0 + 0 + 3 + 3 + 0 +
  • +
  • + 1 + 0 + 0 + 0 + 0 + 3 + 3 + 0 +
  • +
  • + 30 + 0 + 0 + 0 + 0 + 3 + 3 + 0 +
  • +
  • + 1 + 0 + 0 + 0 + 0 + 3 + 3 + 0 +
  • + + + + +
  • + Rapid_rise + true + 576 + 384 + 0 + +
  • + +
  • + 15 + 0 + 0 + 0 + 0 + 3 + 3 + 0 +
  • +
  • + 1 + 0 + 0 + 0 + 0 + 3 + 3 + 0 + Sex +
  • +
  • + 15 + 0 + 0 + 0 + 0 + 3 + 3 + 0 +
  • +
  • + 1 + 0 + 0 + 0 + 0 + 3 + 3 + 0 + Sex +
  • + + + + +
  • + Cum + true + 384 + 0 + +
  • + +
  • + 12 + 0 + 0 + 0 + 0 + 3 + 3 + 0 +
  • +
  • + 7 + Cum + 0 + 0 + 0.102 + 3 + 3 + -0.051 +
  • +
  • + 7 + 0 + 0 + 0.027 + 3 + 3 + -0.04 +
  • +
  • + true + 60 + 0 + 0 + 0.102 + Sex + 3 + 3 + -0.051 +
  • +
  • + 14 + 0 + 0 + 0.102 + 3 + 3 + -0.051 +
  • +
  • + 1 + 0 + 0 + 0 + 0 + 3 + 3 + 0 +
  • + + + + +
    +
    + + + MasturbationWithBreastsPlusPenis_InBed + + true + +
  • Masturbation
  • +
    + +
  • Masturbation_Breastjob
  • +
    + + +
  • + +
  • Human
  • + + +
  • Penis
  • +
  • Breasts
  • +
  • OneHand
  • +
  • Bed
  • +
    + +
    + + +
  • + Slow_Start + true + 1116 + 744 + 0 + +
  • + +
  • + 30 + 0 + 0 + 0 + 0 + 2 + 2 + 0 +
  • +
  • + 1 + 0 + 0 + 0 + 0 + 2 + 2 + 0 +
  • +
  • + 30 + 0 + 0 + 0 + 0 + 2 + 2 + 0 +
  • +
  • + 1 + 0 + 0 + 0 + 0 + 2 + 2 + 0 +
  • + + + + +
  • + Rapid_rise + true + 576 + 384 + 0 + +
  • + +
  • + 15 + 0 + 0 + 0 + 0 + 2 + 2 + 0 +
  • +
  • + 1 + 0 + 0 + 0 + 0 + 2 + 2 + 0 + Sex +
  • +
  • + 15 + 0 + 0 + 0 + 0 + 2 + 2 + 0 +
  • +
  • + 1 + 0 + 0 + 0 + 0 + 2 + 2 + 0 + Sex +
  • + + + + +
  • + Cum + true + 384 + 0 + +
  • + +
  • + 12 + 0 + 0 + 0 + 0 + 2 + 2 + 0 +
  • +
  • + 7 + Cum + 0 + 0 + 0.102 + 2 + 2 + -0.051 +
  • +
  • + 7 + 0 + 0 + 0.027 + 2 + 2 + -0.04 +
  • +
  • + true + 60 + 0 + 0 + 0.102 + Sex + 2 + 2 + -0.051 +
  • +
  • + 14 + 0 + 0 + 0.102 + 2 + 2 + -0.051 +
  • +
  • + 1 + 0 + 0 + 0 + 0 + 2 + 2 + 0 +
  • + + + + +
    +
    + + + MasturbationWithAnus_Standing + + true + +
  • Masturbation
  • +
    + +
  • Masturbation_HandjobA
  • +
    + + +
  • + +
  • Human
  • + + +
  • Anus
  • +
  • OneHand
  • +
  • NoBed
  • +
    + +
    + + +
  • + Slow_Start + true + 1116 + 744 + 0 + +
  • + +
  • + 30 + 0 + 0 + 0 + 0 + 0 + 0 + 0 +
  • +
  • + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 +
  • +
  • + 30 + 0 + 0 + 0 + 0 + 0 + 0 + 0 +
  • +
  • + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 +
  • + + + + +
  • + Rapid_rise + true + 576 + 384 + 0 + +
  • + +
  • + 15 + 0 + 0 + 0 + 0 + 0 + 0 + 0 +
  • +
  • + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + Sex +
  • +
  • + 15 + 0 + 0 + 0 + 0 + 0 + 0 + 0 +
  • +
  • + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + Sex +
  • + + + + +
  • + Cum + true + 384 + 0 + +
  • + +
  • + 12 + 0 + 0 + 0 + 0 + 0 + 0 + 0 +
  • +
  • + 7 + Cum + 0 + 0 + 0.102 + 0 + 0 + -0.051 +
  • +
  • + 7 + 0 + 0 + 0.027 + 0 + 0 + -0.04 +
  • +
  • + true + 60 + 0 + 0 + 0.102 + Sex + 0 + 0 + -0.051 +
  • +
  • + 14 + 0 + 0 + 0.102 + 0 + 0 + -0.051 +
  • +
  • + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 +
  • + + + + +
    +
    + + + MasturbationWithAnus_InBed + + true + +
  • Masturbation
  • +
    + +
  • Masturbation_HandjobA
  • +
    + + +
  • + +
  • Human
  • + + +
  • Anus
  • +
  • OneHand
  • +
  • Bed
  • +
    + +
    + + +
  • + Slow_Start + true + 1116 + 744 + 0 + +
  • + +
  • + 30 + 0 + 0 + 0 + 0 + 0 + 0 + 0 +
  • +
  • + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 +
  • +
  • + 30 + 0 + 0 + 0 + 0 + 0 + 0 + 0 +
  • +
  • + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 +
  • + + + + +
  • + Rapid_rise + true + 576 + 384 + 0 + +
  • + +
  • + 15 + 0 + 0 + 0 + 0 + 0 + 0 + 0 +
  • +
  • + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + Sex +
  • +
  • + 15 + 0 + 0 + 0 + 0 + 0 + 0 + 0 +
  • +
  • + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + Sex +
  • + + + + +
  • + Cum + true + 384 + 0 + +
  • + +
  • + 12 + 0 + 0 + 0 + 0 + 0 + 0 + 0 +
  • +
  • + 7 + Cum + 0 + 0 + 0.102 + 0 + 0 + -0.051 +
  • +
  • + 7 + 0 + 0 + 0.027 + 0 + 0 + -0.04 +
  • +
  • + true + 60 + 0 + 0 + 0.102 + Sex + 0 + 0 + -0.051 +
  • +
  • + 14 + 0 + 0 + 0.102 + 0 + 0 + -0.051 +
  • +
  • + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 +
  • + + + + +
    +
    + + + MasturbationHumping_InBed + + true + +
  • Masturbation
  • +
    + +
  • Masturbation_Humping
  • +
    + + +
  • + +
  • Human
  • + + +
  • Bed
  • +
    + +
    + + +
  • + Slow_Start + true + 1140 + 760 + 0 + +
  • + +
  • + 35 + 0 + 0 + 0 + 0.073 + 0 + 0 + 0 +
  • +
  • + 59 + 0 + 0 + 0.153 + 0 + 0 + -0.051 + Sex +
  • +
  • + 1 + 0 + 0 + 0 + 0.073 + 0 + 0 + 0 +
  • + + + + +
  • + Rapid_rise + true + 450 + 300 + 0 + +
  • + +
  • + 15 + 0 + 0 + 0 + 0.073 + 0 + 0 + 0 +
  • +
  • + 14 + 0 + 0 + 0.175 + 0 + 0 + -0.051 + Sex +
  • +
  • + 1 + 0 + 0 + 0 + 0.073 + 0 + 0 + 0 +
  • + + + + +
  • + Cum + true + 303 + 0 + +
  • + +
  • + 12 + 0 + 0 + 0 + 0.073 + 0 + 0 + 0 +
  • +
  • + 7 + Cum + 0 + 0 + 0.175 + 0 + 0 + -0.051 +
  • +
  • + 7 + 0 + 0 + 0.10 + 0 + 0 + -0.04 +
  • +
  • + true + 60 + 0 + 0 + 0.175 + 0 + 0 + -0.051 + Sex +
  • +
  • + 14 + 0 + 0 + 0.175 + 0 + 0 + -0.051 +
  • +
  • + 1 + 0 + 0 + 0 + 0.073 + 0 + 0 + 0 +
  • + + + + +
    +
    + +
    \ No newline at end of file diff --git a/Defs/AnimationDefs/Animations_solo_hand.xml b/Defs/AnimationDefs/Animations_solo_hand.xml new file mode 100644 index 0000000..0e0267e --- /dev/null +++ b/Defs/AnimationDefs/Animations_solo_hand.xml @@ -0,0 +1,510 @@ + + + + + MasturbationWithPenis_Standing_HandDef + MasturbationWithPenis_Standing + +
  • + 0 + Penis + Motion_StrokeGenitalsUpAndDown_FacingEW + 31 +
  • +
  • + 1 + Penis + Motion_StrokeGenitalsUpAndDown_FacingEW + 16 +
  • +
  • + 2 + Penis + Motion_StrokeGenitalsUpAndDown_FacingEW + 16 +
  • +
    +
    + + + MasturbationWithPenis_InBed_HandDef + MasturbationWithPenis_InBed + +
  • + 0 + Penis + Motion_StrokeGenitalsUpAndDown_FacingNS + 31 +
  • +
  • + 1 + Penis + Motion_StrokeGenitalsUpAndDown_FacingNS + 16 +
  • +
  • + 2 + Penis + Motion_StrokeGenitalsUpAndDown_FacingNS + 16 +
  • +
    +
    + + + MasturbationWithVagina_Standing_HandDef + MasturbationWithVagina_Standing + +
  • + 0 + Vagina + Motion_RubGenitals_FacingEW + 31 +
  • +
  • + 1 + Vagina + Motion_RubGenitals_FacingEW + 16 +
  • +
  • + 2 + Vagina + Motion_RubGenitals_FacingEW + 16 +
  • +
    +
    + + + MasturbationWithVagina_InBed_HandDef + MasturbationWithVagina_InBed + +
  • + 0 + Vagina + Motion_RubGenitals_FacingNS + 62 +
  • +
  • + 1 + Vagina + Motion_RubGenitals_FacingNS + 32 +
  • +
  • + 2 + Vagina + Motion_RubGenitals_FacingNS + 32 +
  • +
    +
    + + + MasturbationWithAnus_Standing_HandDef + MasturbationWithAnus_Standing + +
  • + 0 + Penis + Motion_RubGenitals_FacingNS + 31 +
  • +
  • + 1 + Penis + Motion_RubGenitals_FacingNS + 16 +
  • +
  • + 2 + Penis + Motion_RubGenitals_FacingNS + 16 +
  • + +
  • + 0 + Vagina + Motion_RubGenitals_FacingNS + 31 +
  • +
  • + 1 + Vagina + Motion_RubGenitals_FacingNS + 16 +
  • +
  • + 2 + Vagina + Motion_RubGenitals_FacingNS + 16 +
  • +
    +
    + + + MasturbationWithAnus_InBed_HandDef + MasturbationWithAnus_InBed + +
  • + 0 + Penis + Motion_RubGenitals_FacingNS + 31 +
  • +
  • + 1 + Penis + Motion_RubGenitals_FacingNS + 16 +
  • +
  • + 2 + Penis + Motion_RubGenitals_FacingNS + 16 +
  • + +
  • + 0 + Vagina + Motion_RubGenitals_FacingNS + 31 +
  • +
  • + 1 + Vagina + Motion_RubGenitals_FacingNS + 16 +
  • +
  • + 2 + Vagina + Motion_RubGenitals_FacingNS + 16 +
  • +
    +
    + + + MasturbationWithBreasts_Standing_HandDef + MasturbationWithBreasts_Standing + +
  • + 0 + Breasts + left + Motion_RubBreasts_FacingEW + 93 +
  • +
  • + 1 + Breasts + left + Motion_RubBreasts_FacingEW + 64 +
  • +
  • + 1 + Vagina + Motion_RubGenitals_FacingEW + 32 +
  • +
  • + 2 + Breasts + left + Motion_RubBreasts_FacingEW + 64 +
  • +
  • + 2 + Vagina + Motion_RubGenitals_FacingEW + 32 +
  • +
    +
    + + + MasturbationWithBreasts_InBed_HandDef + MasturbationWithBreasts_InBed + +
  • + 0 + Breasts + left + Motion_RubBreasts_FacingNS + 93 +
  • +
  • + 0 + Breasts + right + true + Motion_RubBreasts_FacingNS + 93 +
  • +
  • + 1 + Breasts + left + Motion_RubBreasts_FacingNS + 64 +
  • +
  • + 1 + Vagina + Motion_RubGenitals_FacingNS + 32 +
  • +
  • + 2 + Breasts + left + Motion_RubBreasts_FacingNS + 64 +
  • +
  • + 2 + Vagina + Motion_RubGenitals_FacingNS + 32 +
  • +
    +
    + + + MasturbationWithBreastsPlusPenis_Standing_HandDef + MasturbationWithBreastsPlusPenis_Standing + +
  • + 0 + Breasts + left + Motion_RubBreasts_FacingEW + 93 +
  • +
  • + 1 + Breasts + left + Motion_RubBreasts_FacingEW + 64 +
  • +
  • + 1 + Penis + Motion_StrokeGenitalsUpAndDown_FacingEW + 16 +
  • +
  • + 2 + Breasts + left + Motion_RubBreasts_FacingEW + 64 +
  • +
  • + 2 + Penis + Motion_StrokeGenitalsUpAndDown_FacingEW + 16 +
  • +
    +
    + + + MasturbationWithBreastsPlusPenis_InBed_HandDef + MasturbationWithBreastsPlusPenis_InBed + +
  • + 0 + Breasts + left + Motion_RubBreasts_FacingNS + 93 +
  • +
  • + 0 + Breasts + right + true + Motion_RubBreasts_FacingNS + 93 +
  • +
  • + 1 + Breasts + left + Motion_RubBreasts_FacingNS + 64 +
  • +
  • + 1 + Penis + Motion_StrokeGenitalsUpAndDown_FacingNS + 16 +
  • +
  • + 2 + Breasts + left + Motion_RubBreasts_FacingNS + 64 +
  • +
  • + 2 + Penis + Motion_StrokeGenitalsUpAndDown_FacingNS + 16 +
  • +
    +
    + + + MutualMasturbation_HandDef + MutualMasturbation + + + +
  • + 2 + 0 + 1 + Penis + Motion_StrokeGenitalsUpAndDown_FacingEW + 25 +
  • +
  • + 3 + 0 + 1 + Penis + Motion_StrokeGenitalsUpAndDown_FacingEW + 30 +
  • +
  • + 4 + 0 + 1 + Penis + Motion_StrokeGenitalsUpAndDown_FacingEW + 15 +
  • +
  • + 5 + 0 + 1 + Penis + Motion_StrokeGenitalsUpAndDown_FacingEW + 15 +
  • + + +
  • + 2 + 0 + 1 + Vagina + Motion_RubGenitals_FacingEW + 25 +
  • +
  • + 3 + 0 + 1 + Vagina + Motion_RubGenitals_FacingEW + 30 +
  • +
  • + 4 + 0 + 1 + Vagina + Motion_RubGenitals_FacingEW + 15 +
  • +
  • + 5 + 0 + 1 + Vagina + Motion_RubGenitals_FacingEW + 15 +
  • + + +
  • + 2 + 1 + 0 + Penis + Motion_StrokeGenitalsUpAndDown_FacingEW + 25 +
  • +
  • + 3 + 1 + 0 + Penis + Motion_StrokeGenitalsUpAndDown_FacingEW + 30 +
  • +
  • + 4 + 1 + 0 + Penis + Motion_StrokeGenitalsUpAndDown_FacingEW + 15 +
  • +
  • + 5 + 1 + 0 + Penis + Motion_StrokeGenitalsUpAndDown_FacingEW + 15 +
  • + + +
  • + 2 + 1 + 0 + Vagina + Motion_RubGenitals_FacingEW + 25 +
  • +
  • + 3 + 1 + 0 + Vagina + Motion_RubGenitals_FacingEW + 30 +
  • +
  • + 4 + 1 + 0 + Vagina + Motion_RubGenitals_FacingEW + 15 +
  • +
  • + 5 + 1 + 0 + Vagina + Motion_RubGenitals_FacingEW + 15 +
  • +
    +
    +
    \ No newline at end of file diff --git a/Defs/InteractionDefs.xml b/Defs/InteractionDefs.xml new file mode 100644 index 0000000..356f524 --- /dev/null +++ b/Defs/InteractionDefs.xml @@ -0,0 +1,34 @@ + + + + + Masturbation_Humping + + + +
  • r_logentry->Masturbated.
  • +
    +
    + + +
  • r_logentry->Masturbated.
  • +
    +
    + +
  • + Hump bed + Masturbation + +
  • Masturbation_HumpingRP
  • + + +
  • + +
  • Masturbation
  • + + + + +
    +
    +
    diff --git a/Defs/JobDefs.xml b/Defs/JobDefs.xml new file mode 100644 index 0000000..2f09523 --- /dev/null +++ b/Defs/JobDefs.xml @@ -0,0 +1,12 @@ + + + + + + JoinInSex + Rimworld_Animations_Patch.JobDriver_JoinInSex + joining in on some fun. + false + + + \ No newline at end of file diff --git a/Defs/RulePackDefs/RulePacks_Masturbation.xml b/Defs/RulePackDefs/RulePacks_Masturbation.xml new file mode 100644 index 0000000..5d4f861 --- /dev/null +++ b/Defs/RulePackDefs/RulePacks_Masturbation.xml @@ -0,0 +1,71 @@ + + + + + Masturbation_HandjobPRP + + +
  • sent-> [INITIATOR_nameDef] stroked [INITIATOR_possessive] penis.
  • +
  • sent-> [INITIATOR_nameDef] jerked [INITIATOR_objective]self off.
  • +
    +
    +
    + + + Masturbation_HandjobVRP + + +
  • sent-> [INITIATOR_nameDef] teased [INITIATOR_possessive] vagina.
  • +
  • sent-> [INITIATOR_nameDef] rubbed one out.
  • +
    +
    +
    + + + Masturbation_HandjobARP + + +
  • sent-> [INITIATOR_nameDef] rubbed [INITIATOR_possessive] anus.
  • +
  • sent-> [INITIATOR_nameDef] gingerly probed [INITIATOR_possessive] anus.
  • +
    +
    +
    + + + Masturbation_HandjobBRP + + +
  • sent-> [INITIATOR_nameDef] played with [INITIATOR_possessive] breasts.
  • +
  • sent-> [INITIATOR_nameDef] tweaked [INITIATOR_possessive] nipples.
  • +
    +
    +
    + + + Masturbation_AutoFellatioRP + + +
  • sent-> [INITIATOR_nameDef] autofellated [INITIATOR_possessive] own penis.
  • +
    +
    +
    + + + Masturbation_AutoBreastjobRP + + +
  • sent-> [INITIATOR_nameDef] stroked [INITIATOR_objective] penis with [INITIATOR_possessive] own breasts.
  • +
    +
    +
    + + + Masturbation_HumpingRP + + +
  • sent-> [INITIATOR_nameDef] rubbed [INITIATOR_objective]self against the bed.
  • +
  • sent-> [INITIATOR_nameDef] humped [INITIATOR_possessive] bed.
  • +
    +
    +
    +
    \ No newline at end of file diff --git a/Defs/RulePackDefs/RulePacks_Oral.xml b/Defs/RulePackDefs/RulePacks_Oral.xml new file mode 100644 index 0000000..9353088 --- /dev/null +++ b/Defs/RulePackDefs/RulePacks_Oral.xml @@ -0,0 +1,73 @@ + + + + + RimmingRP + + +
  • sent-> [RECIPIENT_nameDef] rimmed [INITIATOR_nameDef].
  • +
  • sent-> [RECIPIENT_nameDef] surprised [INITIATOR_nameDef] with some vigorous tongue-play.
  • +
    +
    +
    + + + CunnilingusRP + + +
  • sent-> [RECIPIENT_nameDef] went down on [INITIATOR_nameDef].
  • +
  • sent-> [INITIATOR_nameDef] moaned as [RECIPIENT_nameDef] tasted [INITIATOR_objective].
  • +
    +
    +
    + + + FellatioRP + + +
  • sent-> [RECIPIENT_nameDef] sucked off [INITIATOR_nameDef].
  • +
  • sent-> [INITIATOR_nameDef] groaned as [RECIPIENT_nameDef] tasted [INITIATOR_possessive] member.
  • +
    +
    +
    + + + BeakjobRP + + +
  • sent-> [RECIPIENT_nameDef] fellated [INITIATOR_nameDef] with [RECIPIENT_possessive] beak.
  • +
  • sent-> [RECIPIENT_nameDef] gingerly nibbled [INITIATOR_nameDef]'s member with [RECIPIENT_possessive] beak.
  • +
    +
    +
    + + + SixtynineRP + + +
  • sent-> [RECIPIENT_nameDef] and [INITIATOR_nameDef] went down on each other.
  • +
  • sent-> [RECIPIENT_nameDef] and [INITIATOR_nameDef] teased each other with their tongues.
  • +
    +
    +
    + + + MutualMakeoutRP + + +
  • sent-> [RECIPIENT_nameDef] made out with [INITIATOR_nameDef].
  • +
  • sent-> [RECIPIENT_nameDef] and [INITIATOR_nameDef] shared in a passionate kiss.
  • +
    +
    +
    + + + DeepthroatRP + + +
  • sent-> [RECIPIENT_nameDef] deepthroated [INITIATOR_nameDef].
  • +
    +
    +
    + +
    \ No newline at end of file diff --git a/Defs/RulePackDefs/RulePacks_Reverse_Oral.xml b/Defs/RulePackDefs/RulePacks_Reverse_Oral.xml new file mode 100644 index 0000000..89ffd73 --- /dev/null +++ b/Defs/RulePackDefs/RulePacks_Reverse_Oral.xml @@ -0,0 +1,63 @@ + + + + + RimmingReverseRP + + +
  • sent-> [INITIATOR_nameDef] rimmed [RECIPIENT_nameDef].
  • +
  • sent-> [INITIATOR_nameDef] surprised [RECIPIENT_nameDef] with some vigorous tongue-play.
  • +
    +
    +
    + + + CunnilingusReverseRP + + +
  • sent-> [INITIATOR_nameDef] went down on [RECIPIENT_nameDef].
  • +
  • sent-> [RECIPIENT_nameDef] moaned as [INITIATOR_nameDef] tasted [RECIPIENT_objective].
  • +
    +
    +
    + + + FellatioReverseRP + + +
  • sent-> [INITIATOR_nameDef] sucked off [RECIPIENT_nameDef].
  • +
  • sent-> [RECIPIENT_nameDef] groaned as [INITIATOR_nameDef] tasted [RECIPIENT_possessive] member.
  • +
    +
    +
    + + + BeakjobReverseRP + + +
  • sent-> [INITIATOR_nameDef] fellated [RECIPIENT_nameDef] with [INITIATOR_possessive] beak.
  • +
  • sent-> [INITIATOR_nameDef] gingerly nibbled [RECIPIENT_nameDef]'s member with [INITIATOR_possessive] beak.
  • +
    +
    +
    + + + SixtynineReverseRP + + +
  • sent-> [INITIATOR_nameDef] 69'd with [RECIPIENT_nameDef].
  • +
  • sent-> [INITIATOR_nameDef] and [RECIPIENT_nameDef] teased each other with their tongues.
  • +
    +
    +
    + + + DeepthroatReverseRP + + +
  • sent-> [INITIATOR_nameDef] deepthroated [RECIPIENT_nameDef].
  • +
    +
    +
    + +
    \ No newline at end of file diff --git a/Defs/RulePackDefs/RulePacks_Reverse_Sex.xml b/Defs/RulePackDefs/RulePacks_Reverse_Sex.xml new file mode 100644 index 0000000..a3cf45e --- /dev/null +++ b/Defs/RulePackDefs/RulePacks_Reverse_Sex.xml @@ -0,0 +1,104 @@ + + + + + MainReverseRP + + +
  • sent-> [RECIPIENT_nameDef] copulated with [INITIATOR_nameDef].
  • +
  • sent-> [RECIPIENT_nameDef] made love to [INITIATOR_nameDef].
  • +
  • sent-> [INITIATOR_nameDef] panted as [RECIPIENT_nameDef] thrust into [INITIATORobjective].
  • +
    +
    +
    + + + DefaultSexReverseRP + + +
  • sent-> [RECIPIENT_nameDef] had sex with [INITIATOR_nameDef].
  • +
    +
    +
    + + + AnalSexReverseRP + + +
  • sent-> [RECIPIENT_nameDef] took [INITIATOR_nameDef] from behind.
  • +
  • sent-> [INITIATOR_nameDef] gasped as [RECIPIENT_nameDef] entered [INITIATOR_objective] from behind.
  • +
    +
    +
    + + + VaginalSexReverseRP + + +
  • sent-> [RECIPIENT_nameDef] copulated with [INITIATOR_nameDef].
  • +
  • sent-> [RECIPIENT_nameDef] made love to [INITIATOR_nameDef].
  • +
  • sent-> [INITIATOR_nameDef] panted as [RECIPIENT_nameDef] thrust into [INITIATOR_objective].
  • +
    +
    +
    + + + HandjobReverseRP + + +
  • sent-> [RECIPIENT_nameDef] received a handjob from [INITIATOR_nameDef].
  • +
  • sent-> [INITIATOR_nameDef] deftly worked [RECIPIENT_nameDef]'s shaft with [INITIATOR_possessive] hand.
  • +
  • sent-> [RECIPIENT_nameDef] was jerked off by [INITIATOR_nameDef].
  • +
    +
    +
    + + + FootjobReverseRP + + +
  • sent-> [INITIATOR_nameDef] stroked [RECIPIENT_nameDef] with [INITIATOR_possessive] feet.
  • +
  • sent-> [INITIATOR_nameDef] massaged [RECIPIENT_nameDef] with [INITIATOR_possessive] feet.
  • +
    +
    +
    + + + FingeringReverseRP + + +
  • sent-> [INITIATOR_nameDef] teased [RECIPIENT_nameDef] with [INITIATOR_possessive] fingers.
  • +
  • sent-> [RECIPIENT_nameDef] gasped as [INITIATOR_nameDef] fondled [RECIPIENT_objective].
  • +
  • sent-> [RECIPIENT_nameDef] groaned as [INITIATOR_nameDef] inserted [INITIATOR_possessive] fingers inside [RECIPIENT_objective].
  • +
    +
    +
    + + + FistingReverseRP + + +
  • sent-> [RECIPIENT_nameDef] gasped as [INITIATOR_nameDef] worked [INITIATOR_possessive]'s hand inside [RECIPIENT_objective].
  • +
    +
    +
    + + + DoublePenetrationReverseRP + + +
  • sent-> [INITIATOR_nameDef] shuddered at the feeling of having both [INITIATOR_possessive] holes being filled.
  • +
    +
    +
    + + + BreastjobReverseRP + + +
  • sent-> [INITIATOR_nameDef] used [INITIATOR_possessive] breasts to pleasure [RECIPIENT_nameDef].
  • +
  • sent-> [INITIATOR_nameDef] rubbed [INITIATOR_possessive] breasts along [RECIPIENT_nameDef]'s shaft.
  • +
    +
    +
    +
    \ No newline at end of file diff --git a/Defs/RulePackDefs/RulePacks_Sex.xml b/Defs/RulePackDefs/RulePacks_Sex.xml new file mode 100644 index 0000000..6ee5c50 --- /dev/null +++ b/Defs/RulePackDefs/RulePacks_Sex.xml @@ -0,0 +1,130 @@ + + + + + AnalSexRP + + +
  • sent-> [INITIATOR_nameDef] took [RECIPIENT_nameDef] from behind.
  • +
  • sent-> [RECIPIENT_nameDef] gasped as [INITIATOR_nameDef] entered [RECIPIENT_objective] from behind.
  • +
    +
    +
    + + + VaginalSexRP + + +
  • sent-> [INITIATOR_nameDef] copulated with [RECIPIENT_nameDef].
  • +
  • sent-> [INITIATOR_nameDef] made love to [RECIPIENT_nameDef].
  • +
  • sent-> [RECIPIENT_nameDef] panted as [INITIATOR_nameDef] thrust into [RECIPIENT_objective].
  • +
    +
    +
    + + + OtherSexRP + + +
  • sent-> [INITIATOR_nameDef] had sex with [RECIPIENT_nameDef].
  • +
    +
    +
    + + + DoublePenetrationRP + + +
  • sent-> [RECIPIENT_nameDef] shuddered at the feeling of having both [RECIPIENT_possessive] holes being filled.
  • +
    +
    +
    + + + BreastjobRP + + +
  • sent-> [RECIPIENT_nameDef] used [RECIPIENT_possessive] breasts to pleasure [INITIATOR_nameDef].
  • +
  • sent-> [RECIPIENT_nameDef] rubbed [RECIPIENT_possessive] breasts along [INITIATOR_nameDef]'s shaft.
  • +
    +
    +
    + + + HandjobRP + + +
  • sent-> [RECIPIENT_nameDef] deftly worked [INITIATOR_nameDef]'s shaft with [RECIPIENT_possessive] hand.
  • +
  • sent-> [INITIATOR_nameDef] was jerked off by [RECIPIENT_nameDef].
  • +
    +
    +
    + + + FootjobRP + + +
  • sent-> [RECIPIENT_nameDef] stroked [INITIATOR_nameDef] with [RECIPIENT_possessive] feet.
  • +
  • sent-> [RECIPIENT_nameDef] massaged [INITIATOR_nameDef] with [RECIPIENT_possessive] feet.
  • +
    +
    +
    + + + FingeringRP + + +
  • sent-> [RECIPIENT_nameDef] teased [INITIATOR_nameDef] with [RECIPIENT_possessive] fingers.
  • +
  • sent-> [INITIATOR_nameDef] gasped as [RECIPIENT_nameDef] fondled [INITIATOR_objective].
  • +
  • sent-> [INITIATOR_nameDef] groaned as [RECIPIENT_nameDef] inserted [RECIPIENT_possessive] fingers inside [INITIATOR_objective].
  • +
    +
    +
    + + + ScissoringRP + + +
  • sent-> [INITIATOR_nameDef] scissored with [RECIPIENT_nameDef].
  • +
  • sent-> [INITIATOR_nameDef] and [RECIPIENT_nameDef] ground themselves against each other.
  • +
    +
    +
    + + + MutualMasturbationRP + + +
  • sent-> [INITIATOR_nameDef] and [RECIPIENT_nameDef] spent some time pleasuring each other.
  • +
  • sent-> [INITIATOR_nameDef] and [RECIPIENT_nameDef] explored each others bodies.
  • +
    +
    +
    + + + MutualTailholdingRP + + +
  • sent-> [INITIATOR_nameDef] and [RECIPIENT_nameDef] intertwined tails.
  • +
    +
    +
    + + + MutualHandholdingRP + + +
  • sent-> [INITIATOR_nameDef] and [RECIPIENT_nameDef] shyly held hands.
  • +
    +
    +
    + + + FistingRP + + +
  • sent-> [INITIATOR_nameDef] gasped as [RECIPIENT_nameDef] worked [RECIPIENT_possessive]'s hand inside [INITIATOR_objective].
  • +
    +
    +
    +
    \ No newline at end of file diff --git a/Defs/ThingDefs.xml b/Defs/ThingDefs.xml new file mode 100644 index 0000000..7da6d21 --- /dev/null +++ b/Defs/ThingDefs.xml @@ -0,0 +1,18 @@ + + + + + + DiscardedApparel + + Things/Pawn/Humanlike/Apparel/Pants/Pants + 0.75 + + ItemImportant + + 9999 + 0 + + + + \ No newline at end of file diff --git a/Defs/ThoughtDefs.xml b/Defs/ThoughtDefs.xml new file mode 100644 index 0000000..c8e5c19 --- /dev/null +++ b/Defs/ThoughtDefs.xml @@ -0,0 +1,196 @@ + + + + + + SeenMasturbating + Thought_Memory + 1.0 + 3 + 0.5 + +
  • + + I'm so embarrassed! + -12 +
  • +
    +
    + + + SeenHavingSex + Thought_Memory + 1.0 + 3 + 0.5 + +
  • + + Well, that was awkward! + -8 +
  • +
    +
    + + + SeenMasturbatingExhibitionist + Thought_Memory + 1.0 + 1 + +
  • + + It's OK. You can look! + 4 +
  • +
    +
    + + + SeenHavingSexExhibitionist + Thought_Memory + 1.0 + 1 + +
  • + + Hope they enjoyed the show! + 6 +
  • +
    +
    + + + SawMasturbation + Thought_Memory + 1.0 + 1 + 0.5 + +
  • + + Argh! I'm so sorry! + -6 +
  • +
    +
    + + + SawSex + Thought_Memory + 1.0 + 1 + 0.5 + +
  • + + Jeez! Get a room! + -4 +
  • +
    +
    + + + SawMasturbationVoyeur + Thought_Memory + 1.0 + 1 + +
  • + + Damn, that was hot! + 4 +
  • +
    +
    + + + SawSexVoyeur + Thought_Memory + 1.0 + 1 + +
  • + + Wow, they were really going at it! + 6 +
  • +
    +
    + + + CaughtCheating + Thought_Memory + 10.0 + 300 + 1 + +
  • + + What have I done? {1}, please forgive me... + -10 +
  • +
    +
    + + + SeenCommittingTaboo + Thought_Memory + 2.0 + 1 + 0.5 + +
  • + + I'm so ashamed. + -15 +
  • +
    +
    + + + SeenCommittingMajorTaboo + Thought_Memory + 3.0 + 1 + 0.5 + +
  • + + How can I face the world after this? + -20 +
  • +
    +
    + + + SawTaboo + Thought_Memory + 2.0 + 1 + 0.5 + +
  • + + What vile degeneracy! + -10 +
  • +
    +
    + + + SawMajorTaboo + Thought_Memory + 3.0 + 1 + 0.5 + +
  • + + Disgusting vermin! You'll get yours! + -15 +
  • +
    +
    + +
    diff --git a/Languages/English/Keyed/SettingsKeys.xml b/Languages/English/Keyed/SettingsKeys.xml new file mode 100644 index 0000000..19f0f50 --- /dev/null +++ b/Languages/English/Keyed/SettingsKeys.xml @@ -0,0 +1,50 @@ + + + + + Rimworld Animations Patch - Basic settings + Rimworld Animations Patch - Clothing settings + + General Options + + People require privacy for lovin' + If someone encounters another engaged in lovin' related activities, both individuals will feel embarrassed, depending on their traits and ideology. + People will react if they encounter their partner cheating + Their reaction depends on their traits and ideology. This is not considered committing taboo by default. + People will react to beastiality + Their reaction depends on their traits and ideology. This is considered committing a major taboo by default. + People will react to rape + Their reaction depends on their traits and ideology. This is considered committing a major taboo by default. + People will ignore rape if the victim is a prisoner or slave + People will react to necrophilia + Their reaction depends on their traits and ideology. This is considered committing a major taboo by default. + People will react to couplings between humanoids of different species + Their reaction depends on their traits and ideology. This is not considered committing taboo by default. + Witnessing a major taboo will result in an extreme reaction + Individuals who witness something that seriously upsets them will cause them to flee, or even possibly attack the offender. + + People who are lovin' have a chance to invite passersby to join them for some fun (default is 0.25) + Note that setting this value to its maximum will not guarantee that this event will occur! It just maximises the chance of an invitation being made. All individuals involved must be attracted to / have a good opinion of each other, and the activity must not violate their traits or ideology. Set this value to zero to prevent these events from happening. + Hide names when getting some lovin' + May be useful if you find the names of your pawns cover up too much of the action. + Turn on debugging console messages + Only required for debugging purposes. + + Animation Options + + Auto-scale animation offsets based on body size + Turning this setting on may help when using alien races which are much larger or smaller than regular humans. + Add animated hands to animations + Requires RimNudeWorld. + + Clothing options + Crop the bottoms of worn shirts, tank tops, etc. when not wearing pants or a skirt + Only applies to torso covering apparel that lies directly on the skin and that does not cover the legs. Best used with mods that draw pants graphics, like the Visible Pants mod.\n\nRequires that the game to be reset when toggled off. + Show discarded clothing on the floor while getting some lovin' + If a pawn undresses while lovin', these items of clothing will be piled on the floor nearby. This is a purely visual effect. + Preferred state of dress for people lovin' in a bed + Changing this will update the clothing preference setting in RJW (and vice versa). + Preferred state of dress for people having a quickie + Nothing more to say. + + \ No newline at end of file diff --git a/Languages/English/Keyed/SexualityCardKeys.xml b/Languages/English/Keyed/SexualityCardKeys.xml new file mode 100644 index 0000000..3ca6e7a --- /dev/null +++ b/Languages/English/Keyed/SexualityCardKeys.xml @@ -0,0 +1,8 @@ + + + + + + \ No newline at end of file diff --git a/Patches/ApparelCompProperties.xml b/Patches/ApparelCompProperties.xml new file mode 100644 index 0000000..fc9a9a8 --- /dev/null +++ b/Patches/ApparelCompProperties.xml @@ -0,0 +1,45 @@ + + + + Always + + +
  • + /Defs/ThingDef[thingClass="Apparel"]/comps + + Defs/ThingDef[thingClass="Apparel"]/comps + +
  • + Rimworld_Animations_Patch.CompApparelVisibility +
  • + + + + /Defs/ThingDef[thingClass="Apparel"] + + +
  • + Rimworld_Animations_Patch.CompApparelVisibility +
  • +
    +
    +
    + + +
  • + /Defs/ThingDef[thingClass="Apparel"]/apparel/bodyPartGroups[li="Torso"] + +
  • ChestBPG
  • + + + +
  • + /Defs/ThingDef[thingClass="Apparel"]/apparel/bodyPartGroups[li="Legs"] + +
  • GenitalsBPG
  • + + + +
    +
    +
    \ No newline at end of file diff --git a/Patches/BodyParts_Humanoid.xml b/Patches/BodyParts_Humanoid.xml new file mode 100644 index 0000000..0911a38 --- /dev/null +++ b/Patches/BodyParts_Humanoid.xml @@ -0,0 +1,24 @@ + + + + + /Defs/BodyDef/corePart/parts/li[def = "Genitals"]/groups + + +
  • Legs
  • +
  • GenitalsBPG
  • +
    +
    +
    + + + /Defs/BodyDef/corePart/parts/li[def = "Anus"]/groups + + +
  • Legs
  • +
  • AnusBPG
  • +
    +
    +
    + +
    \ No newline at end of file diff --git a/Patches/OTYNude_AnusPatch.xml b/Patches/OTYNude_AnusPatch.xml new file mode 100644 index 0000000..3da36ab --- /dev/null +++ b/Patches/OTYNude_AnusPatch.xml @@ -0,0 +1,21 @@ + + + + +
  • OTY_NUDE Unofficial Update
  • +
    + + Normal + + +
  • + Defs/ThingDef/alienRace/generalSettings/alienPartGenerator/bodyAddons/li[bodyPart="Anus"]/inFrontOfBody + + false + +
  • + +
    +
    +
    +
    \ No newline at end of file diff --git a/Patches/RimNudeWorld_AlienPartGenerator.xml b/Patches/RimNudeWorld_AlienPartGenerator.xml new file mode 100644 index 0000000..18975da --- /dev/null +++ b/Patches/RimNudeWorld_AlienPartGenerator.xml @@ -0,0 +1,61 @@ + + + + +
  • RimNudeWorld
  • +
    + + Normal + + +
  • + Defs/ThingDef/alienRace/generalSettings/alienPartGenerator/bodyAddons/li/hiddenUnderApparelFor[li="Torso"] + +
  • ChestBPG
  • + + + +
  • + Defs/ThingDef/alienRace/generalSettings/alienPartGenerator/bodyAddons/li/hiddenUnderApparelFor[li="Legs"] + +
  • GenitalsBPG
  • + + + +
  • + Defs/ThingDef/alienRace/generalSettings/alienPartGenerator/bodyAddons/li[hediffGraphics/RJW_pregnancy]/hiddenUnderApparelFor + + Defs/ThingDef/alienRace/generalSettings/alienPartGenerator/bodyAddons/li[hediffGraphics/RJW_pregnancy] + + +
  • Torso
  • + + + + + +
  • + Defs/ThingDef/alienRace/generalSettings/alienPartGenerator/bodyAddons/li[hediffGraphics/RJW_pregnancy]/offsets/south/layerOffset + + -0.291 + +
  • + +
  • + Defs/ThingDef/alienRace/generalSettings/alienPartGenerator/bodyAddons/li[hediffGraphics/RJW_pregnancy]/offsets/north/layerOffset + + -0.294 + +
  • + +
  • + Defs/ThingDef/alienRace/generalSettings/alienPartGenerator/bodyAddons/li[hediffGraphics/RJW_pregnancy]/offsets/east/layerOffset + + -0.291 + +
  • + +
    +
    +
    +
    \ No newline at end of file diff --git a/Patches/UnderWhere_Clothing.xml b/Patches/UnderWhere_Clothing.xml new file mode 100644 index 0000000..8f5af27 --- /dev/null +++ b/Patches/UnderWhere_Clothing.xml @@ -0,0 +1,32 @@ + + + + +
  • UnderWhere
  • +
    + + Always + + +
  • + Defs/ThingDef[defName="UnderWhere_Panties" or defName="UnderWhere_Boxers" or defName="UnderWhere_Loincloth"]/apparel/bodyPartGroups + + +
  • GenitalsBPG
  • + + + + +
  • + Defs/ThingDef[defName="UnderWhere_Bra" or defName="UnderWhere_Chestwrap"]/apparel/bodyPartGroups + + +
  • ChestBPG
  • + + + + +
    +
    +
    +
    \ No newline at end of file diff --git a/Patches/s16_Clothing.xml b/Patches/s16_Clothing.xml new file mode 100644 index 0000000..cf4d3f0 --- /dev/null +++ b/Patches/s16_Clothing.xml @@ -0,0 +1,23 @@ + + + + +
  • S16's Extension
  • +
    + + Always + + +
  • + Defs/ThingDef/thingCategories[li="S16_Underwear"]/../apparel/bodyPartGroups + + +
  • GenitalsBPG
  • + + + + +
    +
    +
    +
    \ No newline at end of file diff --git a/README.md b/README.md deleted file mode 100644 index 8b13789..0000000 --- a/README.md +++ /dev/null @@ -1 +0,0 @@ - diff --git a/Source/.vs/Rimworld-Animations-Patch/v16/.suo b/Source/.vs/Rimworld-Animations-Patch/v16/.suo new file mode 100644 index 0000000000000000000000000000000000000000..1e3af227c0aa3b46fd051c720040752ff0e96964 GIT binary patch literal 181248 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
    -~v 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 literal 0 HcmV?d00001 diff --git a/Source/Rimworld-Animations-Patch.csproj b/Source/Rimworld-Animations-Patch.csproj new file mode 100644 index 0000000..6debb38 --- /dev/null +++ b/Source/Rimworld-Animations-Patch.csproj @@ -0,0 +1,137 @@ + + + + + Debug + AnyCPU + {B36224DC-E481-44EF-8279-BF0CBE580D20} + Library + Rimworld_Animations_Patch + Rimworld-Animations-Patch + v4.7.2 + 512 + true + true + + + AnyCPU + true + full + false + ..\1.3\Assemblies\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + ..\..\..\..\..\workshop\content\294100\2009463077\Current\Assemblies\0Harmony.dll + False + + + ..\..\..\..\..\workshop\content\294100\839005762\1.3\Assemblies\AlienRace.dll + False + + + ..\..\..\RimWorldWin64_Data\Managed\Assembly-CSharp.dll + False + + + ..\..\..\..\..\workshop\content\294100\836308268\1.3\Assemblies\BadHygiene.dll + False + + + ..\..\..\..\..\workshop\content\294100\818773962\Assemblies\HugsLib.dll + False + + + ..\..\rimworld-animations-master\Patch_SexToysMasturbation\1.3\Assemblies\Patch_SexToysMasturbation.dll + False + + + ..\..\rimnude-unofficial-master\1.3 Assembly\Assemblies\RimNudeWorld.dll + False + + + False + ..\..\rimworld-animations-master\1.3\Assemblies\Rimworld-Animations.dll + + + False + ..\..\rjw-master\1.3\Assemblies\RJW.dll + False + + + ..\..\rjw-toys-and-masturbation-master\Assemblies\RJW-ToysAndMasturbation.dll + False + + + ..\..\rjw-sexperience-ideology-master\1.3\Assemblies\RJWSexperience.Ideology.dll + False + + + + + + ..\..\..\RimWorldWin64_Data\Managed\UnityEngine.dll + False + + + ..\..\..\RimWorldWin64_Data\Managed\UnityEngine.CoreModule.dll + False + + + ..\..\..\RimWorldWin64_Data\Managed\UnityEngine.IMGUIModule.dll + False + + + ..\..\..\RimWorldWin64_Data\Managed\UnityEngine.TextRenderingModule.dll + False + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Source/Rimworld-Animations-Patch.sln b/Source/Rimworld-Animations-Patch.sln new file mode 100644 index 0000000..393cd26 --- /dev/null +++ b/Source/Rimworld-Animations-Patch.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.30011.22 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Rimworld-Animations-Patch", "Rimworld-Animations-Patch.csproj", "{B36224DC-E481-44EF-8279-BF0CBE580D20}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {B36224DC-E481-44EF-8279-BF0CBE580D20}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B36224DC-E481-44EF-8279-BF0CBE580D20}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B36224DC-E481-44EF-8279-BF0CBE580D20}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B36224DC-E481-44EF-8279-BF0CBE580D20}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {F0E9A1B9-1B2B-423B-8CF0-D0A4121558D4} + EndGlobalSection +EndGlobal diff --git a/Source/Scripts/Comps/CompApparelVisibility.cs b/Source/Scripts/Comps/CompApparelVisibility.cs new file mode 100644 index 0000000..2fb307e --- /dev/null +++ b/Source/Scripts/Comps/CompApparelVisibility.cs @@ -0,0 +1,75 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using RimWorld; +using Verse; +using UnityEngine; +using Rimworld_Animations; +using HarmonyLib; + +namespace Rimworld_Animations_Patch +{ + public class CompApparelVisibility : ThingComp + { + public Apparel apparel => base.parent as Apparel; + public Vector3 position; + public float rotation = 0f; + public bool isBeingWorn = true; + + private IntVec3 cellPosition; + + public override void PostExposeData() + { + base.PostExposeData(); + Scribe_Values.Look(ref position, "position", default); + Scribe_Values.Look(ref cellPosition, "cellPosition", default); + } + + public void GenerateFloorPosition(IntVec3 apparelCell, Vector2 apparelOffset = default) + { + Pawn pawn = apparel.Wearer; + + // Reuse an old location for thrown clothes if the wearer is not too far away from it + if ((cellPosition - pawn.Position).LengthManhattan <= 2 && cellPosition.GetRoom(pawn.Map) == pawn.GetRoom()) + { return; } + + CompBodyAnimator comp = pawn.TryGetComp(); + if (comp == null || comp.isAnimating == false) + { return; } + + cellPosition = apparelCell; + apparel.Rotation = Rot4.Random; + + Vector3 offset = new Vector3(Rand.Gaussian(apparelOffset.x, apparelOffset.y), 0f, Rand.Gaussian(apparelOffset.x, apparelOffset.y)); + position = cellPosition.ToVector3() + offset + new Vector3(0.5f, AltitudeLayer.ItemImportant.AltitudeFor() - Mathf.Clamp(apparel.def.apparel.LastLayer.drawOrder/100000f, 0f, 1f), 0.5f); + rotation = 120 * (-1f + 2f * Rand.Value); + } + + /*public bool IsBeingWorn() + { + Pawn pawn = apparel.Wearer; + + if (apparel.def.apparel.wornGraphicPath.NullOrEmpty()) + { return true; } + + foreach (ApparelGraphicRecord record in pawn.Drawer.renderer.graphics.apparelGraphics) + { + if (record.sourceApparel == apparel) + { return true; } + } + + return false; + }*/ + } +} + +//var methodInfo = AccessTools.Method(typeof(GenPlace), "TryFindPlaceSpotNear", null, null); +//object[] parameters = new object[] { apparel.Wearer.Position, default(Rot4), apparel.Wearer.Map, apparel.Wearer, false, null, null }; +//object result = methodInfo.Invoke(null, parameters); + +/*bool _result = (bool)result; +if (_result) +{ + bestSpot = (IntVec3)parameters[5]; + DebugMode.Message("Best position: " + bestSpot.ToString()); +}*/ diff --git a/Source/Scripts/Comps/CompProperties_ApparelVisibility.cs b/Source/Scripts/Comps/CompProperties_ApparelVisibility.cs new file mode 100644 index 0000000..392ed3b --- /dev/null +++ b/Source/Scripts/Comps/CompProperties_ApparelVisibility.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using Verse; +using RimWorld; + +namespace Rimworld_Animations_Patch +{ + public class CompProperties_ApparelVisibility : CompProperties + { + public CompProperties_ApparelVisibility() + { + base.compClass = typeof(CompApparelVisibility); + } + } +} diff --git a/Source/Scripts/Defs/ActorAnimationData.cs b/Source/Scripts/Defs/ActorAnimationData.cs new file mode 100644 index 0000000..036d681 --- /dev/null +++ b/Source/Scripts/Defs/ActorAnimationData.cs @@ -0,0 +1,29 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using HarmonyLib; +using Rimworld_Animations; +using Verse; + +namespace Rimworld_Animations_Patch +{ + public class ActorAnimationData + { + public AnimationDef animationDef = null; + public int actorID = 0; + public int currentStage = 0; + public int stageTicks = 0; + public Rot4 actorFacing = Rot4.South; + + public ActorAnimationData(AnimationDef animationDef, int actorID, int currentStage, int stageTicks, Rot4 actorFacing) + { + this.animationDef = animationDef; + this.actorID = actorID; + this.currentStage = currentStage; + this.stageTicks = stageTicks; + this.actorFacing = actorFacing; + } + } +} diff --git a/Source/Scripts/Defs/HandAnimationDef.cs b/Source/Scripts/Defs/HandAnimationDef.cs new file mode 100644 index 0000000..8a0f24d --- /dev/null +++ b/Source/Scripts/Defs/HandAnimationDef.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using Verse; +using Rimworld_Animations; + +namespace Rimworld_Animations_Patch +{ + public class HandAnimationDef : Def + { + public string animationDefName; + + public List handAnimationData = new List(); + } + + public class HandAnimationData + { + public int stageID = 0; + public int actorID = 0; + public int touchingActorID = -1; + public string targetBodyPart; + public string bodySide = ""; + public List targetBodyParts = new List(); + public string motion; + public int cycleTime = 0; + public bool mirror = false; + } +} diff --git a/Source/Scripts/Defs/RimNudeData.cs b/Source/Scripts/Defs/RimNudeData.cs new file mode 100644 index 0000000..b234702 --- /dev/null +++ b/Source/Scripts/Defs/RimNudeData.cs @@ -0,0 +1,60 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Verse; +using RimWorld; + +namespace Rimworld_Animations_Patch +{ + public class RimNudeData : IExposable + { + public string thingDef = "Invalid"; + public bool coversGroin = false; + public bool coversBelly = false; + public bool coversChest = false; + public bool sexWear = false; + + public RimNudeData() { } + + public RimNudeData(ThingDef thingDef) + { + this.thingDef = thingDef.defName; + + if (thingDef.apparel.bodyPartGroups.Contains(BodyPartGroupDefOf.Legs) || thingDef.apparel.bodyPartGroups.Contains(PatchBodyPartGroupDefOf.GenitalsBPG)) + { coversGroin = true; } + + if (thingDef.apparel.bodyPartGroups.Contains(BodyPartGroupDefOf.Torso)) + { coversBelly = true; } + + if (thingDef.apparel.bodyPartGroups.Contains(BodyPartGroupDefOf.Torso) || thingDef.apparel.bodyPartGroups.Contains(PatchBodyPartGroupDefOf.ChestBPG)) + { coversChest = true; } + + this.sexWear = false; + } + + public RimNudeData(string thingDef, bool coversGroin, bool coversBelly, bool coversChest, bool sexWear) + { + this.thingDef = thingDef; + this.coversGroin = coversGroin; + this.coversBelly = coversBelly; + this.coversChest = coversChest; + this.sexWear = sexWear; + } + + public bool EquivalentTo(RimNudeData other) + { + return (thingDef == other.thingDef); + } + + public void ExposeData() + { + Scribe_Values.Look(ref this.thingDef, "thingDef", "Invalid"); + Scribe_Values.Look(ref this.coversGroin, "coversGroin", false); + Scribe_Values.Look(ref this.coversBelly, "coversBelly", false); + Scribe_Values.Look(ref this.coversChest, "coversChest", false); + Scribe_Values.Look(ref this.sexWear, "sexWear", false); + } + } +} diff --git a/Source/Scripts/Enums.cs b/Source/Scripts/Enums.cs new file mode 100644 index 0000000..dec424c --- /dev/null +++ b/Source/Scripts/Enums.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Rimworld_Animations_Patch +{ + public enum TabooStatus + { + NotTaboo = 0, + MinorTaboo = 1, + MajorTaboo = 2, + } +} diff --git a/Source/Scripts/Extensions/PawnExtension.cs b/Source/Scripts/Extensions/PawnExtension.cs new file mode 100644 index 0000000..2cb71f2 --- /dev/null +++ b/Source/Scripts/Extensions/PawnExtension.cs @@ -0,0 +1,284 @@ +using System.Collections.Generic; +using System.Linq; +using UnityEngine; +using Verse; +using Verse.AI; +using Verse.AI.Group; +using RimWorld; +using rjw; +using Rimworld_Animations; +using HarmonyLib; + +namespace Rimworld_Animations_Patch +{ + public static class PawnExtension + { + public static bool IsInBed(this Pawn pawn, out Building bed) + { + bed = pawn.Position.GetThingList(pawn.Map).FirstOrDefault(x => x is Building_Bed) as Building; + return bed != null; + } + + public static bool IsSeated(this Pawn pawn, out Building seat) + { + seat = pawn.Position.GetThingList(pawn.Map).FirstOrDefault(x => x is Building && x.def.building.isSittable) as Building; + return seat != null; + } + + public static bool IsHavingSex(this Pawn pawn) + { + if (pawn?.jobs?.curDriver == null || pawn.Dead || pawn.jobs.curDriver is JobDriver_Sex == false) + { return false; } + + JobDriver_Sex jobdriver = pawn.jobs.curDriver as JobDriver_Sex; + + return jobdriver.Partner != null && jobdriver.Partner != pawn; + } + + public static bool IsMasturbating(this Pawn pawn) + { + if (pawn?.jobs?.curDriver == null || pawn.Dead || pawn.jobs.curDriver is JobDriver_Sex == false) + { return false; } + + JobDriver_Sex jobdriver = pawn.jobs.curDriver as JobDriver_Sex; + + return jobdriver.Partner == null || jobdriver.Partner == pawn || (jobdriver.Partner is Pawn) == false; + } + + public static Pawn GetSexInitiator(this Pawn pawn) + { + if (pawn?.jobs?.curDriver != null && pawn.Dead == false && pawn.jobs.curDriver is JobDriver_SexBaseInitiator) + { return pawn; } + + JobDriver_SexBaseReciever jobDriver = pawn.jobs.curDriver as JobDriver_SexBaseReciever; + + if (jobDriver?.Partner?.jobs?.curDriver != null && jobDriver.Partner.Dead == false && jobDriver.Partner.jobs.curDriver is JobDriver_SexBaseInitiator) + { return jobDriver.Partner; } + + return null; + } + + public static Pawn GetSexReceiver(this Pawn pawn) + { + if (pawn.jobs.curDriver is JobDriver_SexBaseReciever) + { return pawn; } + + JobDriver_SexBaseInitiator jobDriver = pawn.jobs.curDriver as JobDriver_SexBaseInitiator; + + if (jobDriver?.Partner?.jobs?.curDriver != null && jobDriver.Partner.Dead == false && jobDriver.Partner.jobs.curDriver is JobDriver_SexBaseReciever) + { return jobDriver.Partner; } + + return null; + } + + public static Pawn GetSexPartner(this Pawn pawn) + { + return (pawn.jobs.curDriver as JobDriver_Sex)?.Partner; + } + + public static List GetAllSexParticipants(this Pawn pawn) + { + List participants = new List(); + + if (pawn?.jobs?.curDriver == null || (pawn.jobs.curDriver is JobDriver_Sex) == false) + { return participants; } + + if (pawn.GetSexReceiver() != null) + { + List partners = (pawn.GetSexReceiver().jobs.curDriver as JobDriver_SexBaseReciever).parteners.ToList(); + + if (partners != null) + { + foreach (Pawn partner in partners) + { + if (partner != null) + { participants = partners; } + } + } + } + + if (pawn.GetSexInitiator() != null) + { + Pawn partner = (pawn.GetSexInitiator().jobs.curDriver as JobDriver_SexBaseInitiator).Partner; + + if (partner != null && partner.Dead == false) + { participants.AddDistinct(partner); } + } + + participants.AddDistinct(pawn); + participants.SortBy(x => x.GetAnimationData() != null ? x.GetAnimationData().actorID : participants.IndexOf(x)); + + return participants; + } + + public static bool IsLoverOfOther(this Pawn pawn, Pawn other) + { + if (pawn == null || other == null) + { return false; } + + List lovers = SpouseRelationUtility.GetLoveRelations(pawn, false); + return lovers.Any(x => x.otherPawn == other); + } + + public static bool HasPrivacy(this Pawn pawn, float radius) + { + if (pawn.AnimalOrWildMan() || pawn.RaceProps.Humanlike == false) + { return true; } + + if (pawn.IsHavingSex() == false && pawn.IsMasturbating() == false) + { return true; } + + bool hasPrivacy = true; + bool isExhibitionist = pawn.HasTrait("Exhibitionist") || xxx.has_quirk(pawn, "Exhibitionist"); + + pawn.IsInBed(out Building bed); + + foreach (Thing thing in GenRadial.RadialDistinctThingsAround(pawn.Position, pawn.Map, radius, true)) + { + Pawn witness = thing as Pawn; + + // Caught having sex + if (SexInteractionUtility.PawnCaughtLovinByWitness(pawn, witness)) + { + SexInteractionUtility.ResolveThoughtsForWhenSexIsWitnessed(pawn, witness, out bool witnessJoiningSex); + + // Try to invite intruder to join in + if (witnessJoiningSex) + { + if (pawn.IsMasturbating()) + { + if (bed == null) + { + Job job = new Job(xxx.quick_sex, pawn); + witness.jobs.TryTakeOrderedJob(job); + } + + else + { + Job job = new Job(xxx.casual_sex, pawn, bed); + witness.jobs.TryTakeOrderedJob(job); + } + } + + else if (pawn.GetSexReceiver() != null) + { + Job job = new Job(DefDatabase.GetNamed("JoinInSex", false), pawn.GetSexReceiver(), bed); + witness.jobs.TryTakeOrderedJob(job); + } + } + + // The invitation failed + else + { hasPrivacy = false; } + } + } + + return hasPrivacy || isExhibitionist || BasicSettings.needPrivacy == false; + } + + public static ActorAnimationData GetAnimationData(this Pawn pawn) + { + if (pawn.TryGetComp() == null) return null; + if (pawn.TryGetComp().isAnimating == false) return null; + + AnimationDef animationDef = (AnimationDef)AccessTools.Field(typeof(CompBodyAnimator), "anim").GetValue(pawn.TryGetComp()); + int actorID = (int)AccessTools.Field(typeof(CompBodyAnimator), "actor").GetValue(pawn.TryGetComp()); + int currentStage = (int)AccessTools.Field(typeof(CompBodyAnimator), "curStage").GetValue(pawn.TryGetComp()); + int stageTicks = (int)AccessTools.Field(typeof(CompBodyAnimator), "stageTicks").GetValue(pawn.TryGetComp()); + Rot4 actorFacing = (Rot4)AccessTools.Field(typeof(CompBodyAnimator), "bodyFacing").GetValue(pawn.TryGetComp()); + + return new ActorAnimationData(animationDef, actorID, currentStage, stageTicks, actorFacing); + } + + public static List GetHands(this Pawn pawn) + { + if (HandAnimationUtility.handDef == null) + { HandAnimationUtility.handDef = DefDatabase.GetNamed("Hand", false); } + + return pawn.health.hediffSet.GetNotMissingParts().Where(x => x.def == HandAnimationUtility.handDef)?.ToList(); + } + + public static bool HasPreceptForIssue(this Pawn pawn, IssueDef issueDef, out Precept precept) + { + precept = null; + + if (pawn?.Ideo == null || issueDef == null) + { return false; } + + foreach (Precept _precept in pawn.Ideo.PreceptsListForReading) + { + if (_precept.def.issue == issueDef) + { + precept = _precept; + return true; + } + } + + return false; + } + + public static bool IssueIsMajorTaboo(this Pawn pawn, IssueDef issueDef, out Precept precept) + { + if (HasPreceptForIssue(pawn, issueDef, out precept)) + { + if (precept.def.defName.Contains("Forbidden") || precept.def.defName.Contains("Prohibited") || precept.def.defName.Contains("Abhorrent")) + { return true; } + } + + return false; + } + + public static bool IssueIsMinorTaboo(this Pawn pawn, IssueDef issueDef, out Precept precept) + { + if (HasPreceptForIssue(pawn, issueDef, out precept)) + { + if (precept.def.defName.Contains("Horrible") || precept.def.defName.Contains("Despised") || precept.def.defName.Contains("Disapproved")) + { return true; } + } + + return false; + } + + public static bool EnjoysViolence(this Pawn pawn) + { + if (pawn.IsAnimal() || pawn.RaceProps.IsMechanoid) + { return true; } + + if (pawn?.story?.traits?.allTraits == null || pawn?.story?.traits?.allTraits.NullOrEmpty() == true) + { return false; } + + List traits = new List() { "Brawler", "Psychopath", "Bloodlust" }; + + return pawn.story.traits.allTraits.Any(x => traits.Contains(x.def.defName)); + } + + public static bool DislikesViolence(this Pawn pawn) + { + if (pawn.IsAnimal() || pawn.RaceProps.IsMechanoid) + { return false; } + + if (pawn?.story?.traits?.allTraits == null || pawn?.story?.traits?.allTraits.NullOrEmpty() == true) + { return false; } + + List traits = new List() { "Kind", "Wimp" }; + + return pawn.WorkTagIsDisabled(WorkTags.Violent) || pawn.story.traits.allTraits.Any(x => traits.Contains(x.def.defName)); + } + + public static bool HasTrait(this Pawn pawn, string trait) + { + if (pawn?.story?.traits?.allTraits == null || pawn.story.traits.allTraits.NullOrEmpty()) + { return false; } + + TraitDef traitDef = DefDatabase.GetNamedSilentFail(trait); + + if (traitDef == null) + { traitDef = DefDatabase.GetNamedSilentFail(trait.ToLower()); } + + if (traitDef == null) + { return false; } + + return pawn.story.traits.HasTrait(traitDef); + } + } +} diff --git a/Source/Scripts/JobDrivers/JobDriver_JoinInSex.cs b/Source/Scripts/JobDrivers/JobDriver_JoinInSex.cs new file mode 100644 index 0000000..d053033 --- /dev/null +++ b/Source/Scripts/JobDrivers/JobDriver_JoinInSex.cs @@ -0,0 +1,79 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using RimWorld; +using UnityEngine; +using Verse; +using Verse.AI; +using rjw; +using Rimworld_Animations; + +namespace Rimworld_Animations_Patch +{ + public class JobDriver_JoinInSex : JobDriver_SexBaseInitiator + { + public override bool TryMakePreToilReservations(bool errorOnFailed) + { + return true; // pawn.Reserve(Target, job, 3, 0, null, errorOnFailed); + } + + protected override IEnumerable MakeNewToils() + { + setup_ticks(); + + this.FailOnDespawnedNullOrForbidden(iTarget); + this.FailOn(() => !Partner.health.capacities.CanBeAwake); + this.FailOn(() => pawn.Drafted); + this.FailOn(() => Partner.Drafted); + + Toil FollowToil = new Toil(); + FollowToil.defaultCompleteMode = ToilCompleteMode.Delay; + FollowToil.socialMode = RandomSocialMode.Off; + FollowToil.defaultDuration = 1200; + FollowToil.tickAction = delegate + { + pawn.pather.StartPath(Partner, PathEndMode.Touch); + + if (pawn.pather.Moving == false && Partner.pather.Moving == false && Partner.jobs.curDriver is JobDriver_SexBaseReciever) + { ReadyForNextToil(); } + }; + yield return FollowToil; + + Toil SexToil = new Toil(); + SexToil.defaultCompleteMode = ToilCompleteMode.Never; + SexToil.socialMode = RandomSocialMode.Off; + SexToil.defaultDuration = duration; + SexToil.handlingFacing = true; + SexToil.FailOn(() => (Partner.jobs.curDriver is JobDriver_SexBaseReciever) == false); + SexToil.initAction = delegate + { + Start(); + Sexprops.usedCondom = CondomUtility.TryUseCondom(pawn) || CondomUtility.TryUseCondom(Partner); + }; + SexToil.AddPreTickAction(delegate + { + if (pawn.IsHashIntervalTick(ticks_between_hearts)) + ThrowMetaIconF(pawn.Position, pawn.Map, FleckDefOf.Heart); + SexTick(pawn, Partner); + SexUtility.reduce_rest(pawn, 1); + if (ticks_left <= 0) + ReadyForNextToil(); + }); + SexToil.AddFinishAction(delegate + { + End(); + }); + yield return SexToil; + + yield return new Toil + { + initAction = delegate + { + //// Trying to add some interactions and social logs + SexUtility.ProcessSex(Sexprops); + }, + defaultCompleteMode = ToilCompleteMode.Instant + }; + } + } +} diff --git a/Source/Scripts/Patches/HarmonyPatch_ApparelGraphicRecordGetter.cs b/Source/Scripts/Patches/HarmonyPatch_ApparelGraphicRecordGetter.cs new file mode 100644 index 0000000..8e1e041 --- /dev/null +++ b/Source/Scripts/Patches/HarmonyPatch_ApparelGraphicRecordGetter.cs @@ -0,0 +1,39 @@ +using System; +using System.Collections.Generic; +using HarmonyLib; +using RimWorld; +using UnityEngine; +using Verse; + +namespace Rimworld_Animations_Patch +{ + [StaticConstructorOnStartup] + [HarmonyPatch(typeof(ApparelGraphicRecordGetter), "TryGetGraphicApparel")] + public static class HarmonyPatch_ApparelGraphicRecordGetter_TryGetGraphicApparel + { + public static void Postfix(ref bool __result, ref Apparel apparel, ref BodyTypeDef bodyType, ref ApparelGraphicRecord rec) + { + if (__result == false || apparel == null || bodyType == null || rec.graphic == null || ApparelSettings.cropApparel == false) + { return; } + + // Get graphic + Graphic graphic = rec.graphic; + + // This graphic may need to be masked if the apparel sits on the skin layer and does not cover the legs + if (apparel.def.apparel.LastLayer == ApparelLayerDefOf.OnSkin && apparel.def.apparel.bodyPartGroups.Contains(BodyPartGroupDefOf.Torso) && !apparel.def.apparel.bodyPartGroups.Contains(BodyPartGroupDefOf.Legs)) + { + Dictionary allGraphics = Traverse.Create(typeof(GraphicDatabase)).Field("allGraphics").GetValue() as Dictionary; + GraphicRequest graphicRequest = new GraphicRequest(typeof(Graphic_Multi), graphic.path, ShaderDatabase.CutoutComplex, apparel.def.graphicData.drawSize, apparel.DrawColor, apparel.DrawColor, null, 0, null, "Masks/apparel_shirt_mask_" + bodyType.defName); + + if (allGraphics.TryGetValue(graphicRequest) == null) + { + Graphic graphicWithApparelMask = GraphicDatabase.Get(graphic.path, ShaderDatabase.CutoutComplex, apparel.def.graphicData.drawSize, apparel.DrawColor, apparel.DrawColor, null, "Masks/apparel_shirt_mask_" + bodyType.defName); + graphic = GraphicMaskingUtility.ApplyGraphicWithMasks(graphic, graphicWithApparelMask, true); + DebugMode.Message("Applying apparel mask: Masks/apparel_shirt_mask_" + bodyType.defName + " to " + apparel.def.defName + " (" + graphic.path + ")"); + } + } + + rec = new ApparelGraphicRecord(graphic, apparel); + } + } +} \ No newline at end of file diff --git a/Source/Scripts/Patches/HarmonyPatch_CompBodyAnimator.cs b/Source/Scripts/Patches/HarmonyPatch_CompBodyAnimator.cs new file mode 100644 index 0000000..87d056f --- /dev/null +++ b/Source/Scripts/Patches/HarmonyPatch_CompBodyAnimator.cs @@ -0,0 +1,46 @@ +using HarmonyLib; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Reflection; +using System.Reflection.Emit; +using UnityEngine; +using RimWorld; +using Verse; +using AlienRace; +using Rimworld_Animations; + +namespace Rimworld_Animations_Patch +{ + [StaticConstructorOnStartup] + [HarmonyPatch(typeof(CompBodyAnimator), "calculateDrawValues")] + public static class HarmonyPatch_CompBodyAnimator_calculateDrawValues + { + public static void Postfix(CompBodyAnimator __instance) + { + if (__instance?.pawn == null) + { return; } + + if (BasicSettings.autoscaleDeltaPos) + { + __instance.deltaPos.x *= __instance.pawn.RaceProps.baseBodySize; + __instance.deltaPos.z *= __instance.pawn.RaceProps.baseBodySize; + } + + if (__instance.pawn.IsInBed(out Building bed) && + __instance.pawn.GetAnimationData().animationDef.actors[__instance.pawn.GetAnimationData().actorID].requiredGenitals.NullOrEmpty() == false && + __instance.pawn.GetAnimationData().animationDef.actors[__instance.pawn.GetAnimationData().actorID].requiredGenitals.Contains("Bed")) + { + __instance.bodyAngle += ((float)bed.Rotation.AsInt - 2f) * 90; + if (__instance.bodyAngle < 0) __instance.bodyAngle = 360 - ((-1f * __instance.bodyAngle) % 360); + if (__instance.bodyAngle > 360) __instance.bodyAngle %= 360; + + __instance.headAngle += ((float)bed.Rotation.AsInt - 2f) * 90; + if (__instance.headAngle < 0) __instance.headAngle = 360 - ((-1f * __instance.headAngle) % 360); + if (__instance.headAngle > 360) __instance.headAngle %= 360; + + __instance.deltaPos = __instance.deltaPos.RotatedBy(-(float)bed.Rotation.AsAngle); + } + } + } +} diff --git a/Source/Scripts/Patches/HarmonyPatch_DrawGUIOverlay.cs b/Source/Scripts/Patches/HarmonyPatch_DrawGUIOverlay.cs new file mode 100644 index 0000000..a5aeaee --- /dev/null +++ b/Source/Scripts/Patches/HarmonyPatch_DrawGUIOverlay.cs @@ -0,0 +1,49 @@ +using HarmonyLib; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Reflection; +using System.Reflection.Emit; +using UnityEngine; +using RimWorld; +using Verse; +using AlienRace; + +namespace Rimworld_Animations_Patch +{ + [StaticConstructorOnStartup] + [HarmonyPatch(typeof(Building_Bed), "DrawGUIOverlay")] + public static class HarmonyPatch_Building_Bed_DrawGUIOverlay + { + // Patches beds so sleeping spot names are hidden when the owner is having sex on it + public static bool Prefix(Building_Bed __instance) + { + foreach (Pawn pawn in __instance.OwnersForReading) + { + if (pawn.GetAnimationData() != null && pawn.IsInBed(out Building bed) && bed == __instance) + { return false; } + } + + return true; + } + } + + [StaticConstructorOnStartup] + [HarmonyPatch(typeof(PawnUIOverlay), "DrawPawnGUIOverlay")] + public static class HarmonyPatch_PawnUIOverlay_DrawPawnGUIOverlay + { + // Patches pawns so their name is hidden when having sex + public static bool Prefix(PawnUIOverlay __instance) + { + if (BasicSettings.hideNamesForSex) + { + Pawn pawn = (Pawn)AccessTools.Field(typeof(PawnUIOverlay), "pawn").GetValue(__instance); + + if (pawn.GetAnimationData() != null) + { return false; } + } + + return true; + } + } +} \ No newline at end of file diff --git a/Source/Scripts/Patches/HarmonyPatch_JobDriver.cs b/Source/Scripts/Patches/HarmonyPatch_JobDriver.cs new file mode 100644 index 0000000..84231ee --- /dev/null +++ b/Source/Scripts/Patches/HarmonyPatch_JobDriver.cs @@ -0,0 +1,34 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using HarmonyLib; +using RimWorld; +using Verse; +using Verse.AI; +using Rimworld_Animations; +using rjw; + +namespace Rimworld_Animations_Patch +{ + [HarmonyPatch(typeof(JobDriver), "GetReport")] + public static class HarmonyPatch_JobDriver + { + public static bool Prefix(JobDriver __instance, ref string __result) + { + JobDriver_Sex jobdriver = __instance as JobDriver_Sex; + + if (jobdriver != null && jobdriver.pawn != null && jobdriver.pawn.GetAnimationData() != null && jobdriver.Sexprops.isRape == false && jobdriver.Sexprops.isWhoring == false) + { + LocalTargetInfo a = jobdriver.job.targetA.IsValid ? jobdriver.job.targetA : jobdriver.job.targetQueueA.FirstValid(); + LocalTargetInfo b = jobdriver.job.targetB.IsValid ? jobdriver.job.targetB : jobdriver.job.targetQueueB.FirstValid(); + LocalTargetInfo targetC = jobdriver.job.targetC; + + __result = JobUtility.GetResolvedJobReport(jobdriver.pawn.GetAnimationData().animationDef.label, a, b, targetC); + + return false; + } + + return true; + } + } +} \ No newline at end of file diff --git a/Source/Scripts/Patches/HarmonyPatch_PatchAll.cs b/Source/Scripts/Patches/HarmonyPatch_PatchAll.cs new file mode 100644 index 0000000..96f6280 --- /dev/null +++ b/Source/Scripts/Patches/HarmonyPatch_PatchAll.cs @@ -0,0 +1,27 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Verse; +using HarmonyLib; +using System.Reflection; +using rjw; + +namespace Rimworld_Animations_Patch +{ + [StaticConstructorOnStartup] + public static class Harmony_PatchAll + { + static Harmony_PatchAll() + { + Harmony harmony = new Harmony("Rimworld_Animations_Patch"); + harmony.PatchAll(Assembly.GetExecutingAssembly()); + + Quirk voyeur = new Quirk("Voyeur", "VoyeurQuirk", null, null); + + if (Quirk.All.Contains(voyeur) == false) + { Quirk.All.Add(voyeur); } + } + } +} diff --git a/Source/Scripts/Patches/HarmonyPatch_PawnRenderer.cs b/Source/Scripts/Patches/HarmonyPatch_PawnRenderer.cs new file mode 100644 index 0000000..dd772fe --- /dev/null +++ b/Source/Scripts/Patches/HarmonyPatch_PawnRenderer.cs @@ -0,0 +1,96 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using HarmonyLib; +using RimWorld; +using Verse; +using UnityEngine; +using System.Reflection; +using System.Reflection.Emit; +using Rimworld_Animations; +using rjw; + +namespace Rimworld_Animations_Patch +{ + [StaticConstructorOnStartup] + [HarmonyPatch(typeof(PawnRenderer), "RenderPawnInternal", new Type[] + { + typeof(Vector3), + typeof(float), + typeof(bool), + typeof(Rot4), + typeof(RotDrawMode), + typeof(PawnRenderFlags) + } + )] + public static class HarmonyPatch_PawnRenderer_RenderPawnInternal + { + public static IEnumerable Transpiler(IEnumerable instructions) + { + List ins = instructions.ToList(); + + for (int i = 0; i < instructions.Count(); i++) + { + bool runIns = true; + + // Replaces the rotation that gets passed to DrawHeadHair with one that is based the current 'true' head orientation + if (i + 8 < instructions.Count() && ins[i + 8].opcode == OpCodes.Call && ins[i + 8].operand != null && ins[i + 8].OperandIs(AccessTools.DeclaredMethod(typeof(PawnRenderer), "DrawHeadHair"))) + { + // Get the true head rotation + yield return new CodeInstruction(OpCodes.Ldarg_0); + yield return new CodeInstruction(OpCodes.Ldfld, AccessTools.DeclaredField(typeof(PawnRenderer), "pawn")); + yield return new CodeInstruction(OpCodes.Ldloc, (object)7); // local body facing + yield return new CodeInstruction(OpCodes.Ldarg_S, (object)6); // renderer flags + yield return new CodeInstruction(OpCodes.Call, AccessTools.DeclaredMethod(typeof(AnimationPatchUtility), "PawnHeadRotInAnimation")); + yield return new CodeInstruction(OpCodes.Stloc_S, (object)7); // set local body facing to true head facing + + // Pass this head rotation to a new DrawHeadHair call + yield return new CodeInstruction(OpCodes.Ldarg_0); + yield return new CodeInstruction(OpCodes.Ldarg_1); + yield return new CodeInstruction(OpCodes.Ldloc_S, (object)6); + yield return new CodeInstruction(OpCodes.Ldarg_2); + yield return new CodeInstruction(OpCodes.Ldloc_S, (object)7); // local true head facing + yield return new CodeInstruction(OpCodes.Ldloc_S, (object)7); // local true head facing + yield return new CodeInstruction(OpCodes.Ldarg_S, (object)5); // bodyDrawType + yield return new CodeInstruction(OpCodes.Ldarg_S, (object)6); // renderer flags + yield return new CodeInstruction(OpCodes.Call, AccessTools.DeclaredMethod(typeof(PawnRenderer), "DrawHeadHair")); + + // Skip the original call to DrawHeadHair + i = i + 8; + + runIns = false; + } + + if (runIns) + { + yield return ins[i]; + } + } + } + } + + [StaticConstructorOnStartup] + [HarmonyPatch(typeof(PawnGraphicSet), "ResolveAllGraphics")] + public static class HarmonyPatch_PawnGraphicSet_ResolveAllGraphics + { + public static void Postfix(PawnGraphicSet __instance) + { + if (__instance?.pawn?.apparel == null) + { return; } + + if (__instance.pawn.GetAnimationData() != null) + { return; } + + if (__instance.pawn.apparel.WornApparel.NullOrEmpty() == false) + { + foreach(Apparel apparel in __instance.pawn.apparel.WornApparel) + { + CompApparelVisibility comp = apparel.TryGetComp(); + + if (comp != null) + { comp.isBeingWorn = true; } + } + } + } + } +} \ No newline at end of file diff --git a/Source/Scripts/Patches/HarmonyPatch_RJW.cs b/Source/Scripts/Patches/HarmonyPatch_RJW.cs new file mode 100644 index 0000000..6e6d690 --- /dev/null +++ b/Source/Scripts/Patches/HarmonyPatch_RJW.cs @@ -0,0 +1,460 @@ +using System.Collections.Generic; +using System.Linq; +using UnityEngine; +using HarmonyLib; +using RimWorld; +using Verse; +using Verse.AI; +using rjw; +using Rimworld_Animations; +using RJW_ToysAndMasturbation; + +namespace Rimworld_Animations_Patch +{ + [HarmonyPatch(typeof(JobDriver_Sex), "setup_ticks")] + public static class HarmonyPatch_JobDriver_Sex_setup_ticks + { + public static void Postfix(ref JobDriver_Sex __instance) + { + // Sets ticks so that the orgasm meter starts empty, plus stop any running animations + HarmonyPatch_JobDriver_Masturbate_setup_ticks.Postfix(ref __instance); + + // Invite another for a threesome? + if (RJWHookupSettings.QuickHookupsEnabled && + __instance is JobDriver_SexBaseInitiator && + __instance.pawn.GetAllSexParticipants().Count == 2 && + (__instance is JobDriver_JoinInSex) == false && + Random.value < BasicSettings.chanceForOtherToJoinInSex) + { + DebugMode.Message("Find another to join in sex"); + + Pawn pawn = __instance.pawn; + List candidates = new List(); + float radius = 4f; + + foreach (Thing thing in GenRadial.RadialDistinctThingsAround(pawn.Position, pawn.Map, radius, true)) + { + Pawn other = thing as Pawn; + + // Find candidates to invite + if (other != null && (int)SexInteractionUtility.CheckSexJobAgainstMorals(other, __instance, out Precept precept) <= 0 && + SexInteractionUtility.PawnCanInvitePasserbyForSex(other, pawn.GetAllSexParticipants())) + { + DebugMode.Message(other.NameShortColored + " is a potential candidate"); + candidates.Add(other); + } + } + + // Invite a random candidate (weighted by attraction) + if (candidates.Count > 0) + { + Pawn invitedPawn = candidates.RandomElementByWeight(x => SexAppraiser.would_fuck(pawn, x, false, false, true) + SexAppraiser.would_fuck(pawn.GetSexPartner(), x, false, false, true)); + pawn.GetSexInitiator().IsInBed(out Building bed); + + DebugMode.Message(invitedPawn.NameShortColored + " was invited to join in sex"); + + Job job = new Job(DefDatabase.GetNamed("JoinInSex", false), pawn.GetSexPartner(), bed); + invitedPawn.jobs.TryTakeOrderedJob(job); + } + } + } + } + + [HarmonyPatch(typeof(JobDriver_Masturbate), "setup_ticks")] + public static class HarmonyPatch_JobDriver_Masturbate_setup_ticks + { + // Sets ticks so that the orgasm meter starts empty, plus stop any running animations + public static void Postfix(ref JobDriver_Sex __instance) + { + __instance.sex_ticks = __instance.duration; + + CompBodyAnimator comp = __instance.pawn.TryGetComp(); + + if (comp != null && comp.isAnimating) + { comp.isAnimating = false; } + } + } + + [HarmonyPatch(typeof(JobDriver_SexBaseInitiator), "Start")] + public static class HarmonyPatch_JobDriver_SexBaseInitiator_Start + { + public static bool MustRerollHumping(Pawn pawn, SexProps sexProps) + { + if (sexProps?.dictionaryKey?.defName == null || sexProps.dictionaryKey.defName != "Masturbation_Humping") + { return false; } + + if (pawn.IsInBed(out Building bed)) + { return false; } + + DebugMode.Message("Not in bed, cannot do requested action"); + + return true; + } + + public static float RandomMasturbationWeights(InteractionDef interactionDef, Pawn pawn) + { + bool hasBed = pawn.IsInBed(out Building bed); + + if (interactionDef.defName == "Masturbation_Breastjob" && Genital_Helper.has_breasts(pawn)) { return BasicSettings.breastsMasturbationChance; } + if (interactionDef.defName == "Masturbation_HandjobA" && Genital_Helper.has_anus(pawn)) { return BasicSettings.analMasturbationChance; } + if (interactionDef.defName == "Masturbation_HandjobP" && Genital_Helper.has_penis_fertile(pawn)) { return BasicSettings.genitalMasturbationChance; } + if (interactionDef.defName == "Masturbation_HandjobV" && Genital_Helper.has_vagina(pawn)) { return BasicSettings.genitalMasturbationChance; } + if (interactionDef.defName == "Masturbation_Humping" && hasBed) { return BasicSettings.humpingMasturbationChance; } + + return 0f; + } + + // Adds weights to masturbation type selection + public static void Prefix(ref JobDriver_SexBaseInitiator __instance) + { + if (__instance.Sexprops == null) + { __instance.Sexprops = __instance.pawn.GetRMBSexPropsCache(); } + + if (__instance is JobDriver_Masturbate && (__instance.Sexprops == null || MustRerollHumping(__instance.pawn, __instance.Sexprops))) + { + DebugMode.Message("No valid sexprops provided. Generating new interaction..."); + + SexProps sexProps = new SexProps(); + sexProps.pawn = __instance.pawn; + sexProps.partner = __instance.pawn; + sexProps.sexType = xxx.rjwSextype.Masturbation; + + List interactionDefs = DefDatabase.AllDefs.Where(x => x.HasModExtension()).ToList(); + Dictionary interactionsPlusWeights = new Dictionary(); + + foreach (InteractionDef interactionDef in interactionDefs) + { + var interaction = rjw.Modules.Interactions.Helpers.InteractionHelper.GetWithExtension(interactionDef); + + if (interaction.Extension.rjwSextype != xxx.rjwSextype.Masturbation.ToStringSafe()) + { continue; } + + interactionsPlusWeights.Add(interaction, RandomMasturbationWeights(interaction.Interaction, sexProps.pawn)); + } + + var selectedInteraction = interactionsPlusWeights.RandomElementByWeight(x => x.Value).Key; + + sexProps.dictionaryKey = selectedInteraction.Interaction; + sexProps.rulePack = selectedInteraction.Extension.rulepack_defs.RandomElement(); + + DebugMode.Message("Generated interaction: " + sexProps.dictionaryKey.defName); + DebugMode.Message(sexProps.rulePack); + + __instance.Sexprops = sexProps; + } + } + + // Adds in option for animated masturbation + public static void Postfix(ref JobDriver_SexBaseInitiator __instance) + { + // Allow solo animations to be played + if (__instance is JobDriver_Masturbate && __instance.pawn.GetAnimationData() == null) + { PickMasturbationAnimation(__instance.pawn, __instance.Sexprops); } + + // Allow make out animations to be played + if (__instance.pawn.GetAnimationData() == null) + { PickMakeOutAnimation(__instance.pawn, __instance.Sexprops); } + + // If there is no animation to play, exit + if (__instance.pawn.GetAnimationData() == null) + { return; } + + // Get animation data + AnimationDef anim = __instance.pawn.GetAnimationData()?.animationDef; + List pawnsToAnimate = __instance.pawn.GetAllSexParticipants(); + + // Sync animations across participants + foreach (Pawn participant in pawnsToAnimate) + { + JobDriver_Sex jobdriver = participant.jobs.curDriver as JobDriver_Sex; + + if (jobdriver == null) + { continue; } + + // Animation timing reset + jobdriver.orgasms = 0; + jobdriver.ticks_left = AnimationPatchUtility.FindTrueAnimationLength(participant, out int orgasmTick); + jobdriver.ticksLeftThisToil = jobdriver.ticks_left; + jobdriver.sex_ticks = orgasmTick; + jobdriver.duration = jobdriver.sex_ticks; + jobdriver.orgasmstick = 0; + + // Reset anchor and animation for sex toys + CompThingAnimator sexToyCompThingAnimator = ((Thing)jobdriver.job.GetTarget(TargetIndex.A)).TryGetComp(); + + if (sexToyCompThingAnimator != null) + { + DebugMode.Message("Using sex toy - " + jobdriver.job.GetTarget(TargetIndex.A)); + + __instance.pawn.IsInBed(out Building bed); + Vector3 anchor = AnimationPatchUtility.GetAnchorPosition(__instance.pawn, bed) - new Vector3(0.5f, 0, 0.5f); + AccessTools.Field(typeof(CompThingAnimator), "anchor").SetValue(sexToyCompThingAnimator, anchor); + } + + // Determine where pawns are to toss clothes + if (participant?.apparel?.WornApparel != null) + { + IntVec3 apparelCell = MathUtility.FindRandomCellNearPawn(participant, 4); + + foreach (Apparel apparel in participant.apparel.WornApparel) + { + CompApparelVisibility compApparelVisibility = apparel.TryGetComp(); + + if (compApparelVisibility != null) + { compApparelVisibility.GenerateFloorPosition(apparelCell, new Vector2(0f, 0.125f)); } + } + } + } + } + + public static void PickMasturbationAnimation(Pawn pawn, SexProps sexProps = null) + { + if (pawn.TryGetComp() == null) + { Log.Error("Error: " + pawn.Name + " of race " + pawn.def.defName + " does not have CompBodyAnimator attached!"); return; } + + pawn.TryGetComp().isAnimating = false; + + List pawnsToAnimate = new List() { pawn }; + AnimationDef anim = null; + + // Get random animation based on interaction type + if (sexProps != null) + { + var interaction = rjw.Modules.Interactions.Helpers.InteractionHelper.GetWithExtension(sexProps.dictionaryKey); + InteractionDef interactionDef = interaction.Interaction; + + DebugMode.Message("Finding animations that match " + interactionDef.defName); + + List anims = new List(); + + foreach (AnimationDef _anim in DefDatabase.AllDefs) + { + if (_anim?.actors?.Count == 1 && + _anim.sexTypes != null && _anim.sexTypes.Contains(xxx.rjwSextype.Masturbation) && + _anim.interactionDefTypes != null && _anim.interactionDefTypes.Contains(interactionDef.defName) && + AnimationUtility.GenitalCheckForPawn(_anim.actors[0].requiredGenitals, pawn, out string failReason)) + { anims.Add(_anim); } + } + + if (anims != null && anims.Any()) + { anim = anims.RandomElement(); } + } + + // If no animation exists, pick one at random + if (anim == null) + { anim = AnimationUtility.tryFindAnimation(ref pawnsToAnimate, xxx.rjwSextype.Masturbation, sexProps); } + + if (anim == null) + { DebugMode.Message("No animation found"); return; } + + // Start animation + DebugMode.Message("Playing " + anim.defName); + + pawn.IsInBed(out Building bed); + + if (bed != null) + { pawn.TryGetComp().setAnchor(bed); } + + else + { pawn.TryGetComp().setAnchor(pawn.Position); } + + pawn.TryGetComp().StartAnimation(anim, pawnsToAnimate, 0, GenTicks.TicksGame % 2 == 0, true, bed == null); + + // Hide hearts if necessary + if (!AnimationSettings.hearts) + { (pawn.jobs.curDriver as JobDriver_Sex).ticks_between_hearts = System.Int32.MaxValue; } + } + + public static void PickMakeOutAnimation(Pawn pawn, SexProps sexProps = null) + { + if (pawn.TryGetComp() == null) + { Log.Error("Error: " + pawn.Name + " of race " + pawn.def.defName + " does not have CompBodyAnimator attached!"); return; } + + List pawnsToAnimate = pawn.GetAllSexParticipants(); + + if (sexProps.sexType != xxx.rjwSextype.Oral || pawnsToAnimate.Count != 2) + { return; } + + List kissingAnims = DefDatabase.AllDefs.Where(x => x.defName.Contains("Kiss")).ToList(); + AnimationDef anim = kissingAnims[Random.Range(0, kissingAnims.Count)]; + + if (anim == null) + { DebugMode.Message("No animation found"); return; } + + bool mirror = GenTicks.TicksGame % 2 == 0; + + // Start animation + DebugMode.Message("Playing " + anim.defName); + + foreach (Pawn participant in pawnsToAnimate) + { + participant.TryGetComp().setAnchor(pawnsToAnimate[0].Position); + participant.TryGetComp().StartAnimation(anim, pawnsToAnimate, pawnsToAnimate.IndexOf(participant), mirror); + + // Hide hearts if necessary + if (!AnimationSettings.hearts) + { (participant.jobs.curDriver as JobDriver_Sex).ticks_between_hearts = System.Int32.MaxValue; } + } + } + } + + [HarmonyPatch(typeof(JobDriver_Sex), "SexTick")] + public static class HarmonyPatch_JobDriver_Sex_SexTick + { + // If pawns don't have privacy, they'll stop having sex + public static void Postfix(ref JobDriver_Sex __instance, Pawn pawn) + { + if (pawn.IsHashIntervalTick(90)) + { + if (pawn.IsMasturbating() && pawn.HasPrivacy(8f) == false) + { pawn.jobs.EndCurrentJob(JobCondition.InterruptForced, false, false); } + + else if (pawn.IsHavingSex()) + { + bool havePrivacy = true; + List participants = pawn.GetAllSexParticipants(); + + foreach (Pawn participant in participants) + { + if (participant.HasPrivacy(8f) == false) + { havePrivacy = false; } + } + + if (__instance.Sexprops != null && (__instance.Sexprops.isRape || __instance.Sexprops.isWhoring)) + { return; } + + if (havePrivacy == false) + { + foreach (Pawn participant in participants) + { participant.jobs.EndCurrentJob(JobCondition.InterruptForced, false, false); } + } + } + } + } + } + + [HarmonyPatch(typeof(JobDriver_Sex), "Orgasm")] + public static class HarmonyPatch_JobDriver_Sex_Orgasm + { + // Stops orgasm triggering more than once per animation + public static bool Prefix(ref JobDriver_Sex __instance) + { + if (__instance.orgasms > 0) + { return false; } + + return true; + } + + public static bool ParticipantsDesireMoreSex(JobDriver_Sex jobdriver) + { + List participants = jobdriver.pawn.GetAllSexParticipants(); + + float satisfaction = 0f; + + foreach (Pawn pawn in participants) + { + Need_Sex sexNeed = pawn?.needs?.TryGetNeed(); + + if (sexNeed == null) + { satisfaction += 1; continue; } + + satisfaction += sexNeed.CurLevelPercentage; + } + + return Rand.Chance(1 - satisfaction / participants.Count); + } + + // Alows the starting of a new animation cycle at the end of the current one + public static void Postfix(ref JobDriver_Sex __instance) + { + if (__instance.orgasms > 0) + { __instance.sex_ticks = 0; } + + if (__instance is JobDriver_SexBaseInitiator == false || __instance is JobDriver_JoinInSex) + { return; } + + if (__instance.Sexprops != null && (__instance.Sexprops.isRape || __instance.Sexprops.isWhoring)) + { return; } + + if (__instance.ticksLeftThisToil <= 1 && (__instance.neverendingsex || ParticipantsDesireMoreSex(__instance))) + { + List participants = __instance.pawn.GetAllSexParticipants(); + + if (participants.Count == 2) + { + Job job = JobMaker.MakeJob(participants[0].CurJobDef, participants[0], participants[0].jobs.curJob.targetC); + participants[1].jobs.StartJob(job, JobCondition.Succeeded); + } + } + } + } + + [HarmonyPatch(typeof(JobDriver_SexBaseInitiator), "End")] + public static class HarmonyPatch_JobDriver_Sex_End + { + // Clear all partners out when sex ends to prevent issues with threesome animations + public static void Postfix(ref JobDriver_SexBaseInitiator __instance) + { + if (__instance.Partner != null && __instance?.Partner?.jobs?.curDriver != null && __instance.Partner.Dead == false && __instance.Partner?.jobs.curDriver is JobDriver_SexBaseReciever) + { + foreach (Pawn participant in (__instance.Partner?.jobs.curDriver as JobDriver_SexBaseReciever).parteners.ToList()) + { participant.jobs.EndCurrentJob(JobCondition.Succeeded, false, true); } + + (__instance.Partner?.jobs.curDriver as JobDriver_SexBaseReciever).parteners.Clear(); + } + } + } + + [HarmonyPatch(typeof(SexUtility), "AfterMasturbation")] + public static class HarmonyPatch_SexUtility_AfterMasturbation + { + // Removes excess calls to generate filth + public static bool Prefix(SexProps props) + { + var methodInfo = AccessTools.Method(typeof(SexUtility), "IncreaseTicksToNextLovin", null, null); + methodInfo.Invoke(null, new object[] { props.pawn }); + AfterSexUtility.UpdateRecords(props); + + return false; + } + } + + [HarmonyPatch(typeof(Genital_Helper), "has_mouth")] + public static class HarmonyPatch_Genital_Helper_has_mouth + { + // Fixes mouth check + public static bool Prefix(ref bool __result, Pawn pawn) + { + __result = pawn.health.hediffSet.GetNotMissingParts().Any(x => x.def.defName.ToLower().ContainsAny("mouth", "teeth", "jaw", "beak")); + + return false; + } + } + + [HarmonyPatch(typeof(SexUtility), "DrawNude")] + public static class HarmonyPatch_SexUtility_DrawNude + { + public static bool Prefix(Pawn pawn, bool keep_hat_on) + { + if (!xxx.is_human(pawn)) return false; + if (pawn.Map != Find.CurrentMap) return false; + + pawn.Drawer.renderer.graphics.ClearCache(); + pawn.Drawer.renderer.graphics.apparelGraphics.Clear(); + + ApparelAnimationUtility.DetermineApparelToKeepOn(pawn); + + foreach (Apparel apparel in pawn.apparel.WornApparel) + { + CompApparelVisibility comp = apparel.TryGetComp(); + + if ((comp == null || comp.isBeingWorn) && ApparelGraphicRecordGetter.TryGetGraphicApparel(apparel, pawn.story.bodyType, out ApparelGraphicRecord item)) + { pawn.Drawer.renderer.graphics.apparelGraphics.Add(item); } + } + + GlobalTextureAtlasManager.TryMarkPawnFrameSetDirty(pawn); + + return false; + } + } +} diff --git a/Source/Scripts/Patches/HarmonyPatch_RimNudeWorld.cs b/Source/Scripts/Patches/HarmonyPatch_RimNudeWorld.cs new file mode 100644 index 0000000..9a07867 --- /dev/null +++ b/Source/Scripts/Patches/HarmonyPatch_RimNudeWorld.cs @@ -0,0 +1,37 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Verse; +using HarmonyLib; +using RimNudeWorld; + +namespace Rimworld_Animations_Patch +{ + [StaticConstructorOnStartup] + public static class HarmonyPatch_RimNudeWorld + { + /*static HarmonyPatch_RimNudeWorld() + { + try + { + ((Action)(() => + { + if (LoadedModManager.RunningModsListForReading.Any(x => x.PackageIdPlayerFacing == "shauaputa.rimnudeworld")) + { + (new Harmony("Rimworld_Animations_Patch")).Patch(AccessTools.Method(AccessTools.TypeByName("RevealingApparel.HarmonyPatch_DrawAddons"), "Postfix"), + prefix: new HarmonyMethod(AccessTools.Method(typeof(HarmonyPatch_RimNudeWorld), "Prefix_DrawAddons"))); + } + }))(); + } + catch (TypeLoadException) { } + } + + // Patch RimNudeWorld to override the revealing apparel feature; this task is handled by the new apparel settings system + public static bool Prefix_DrawAddons() + { + return false; + }*/ + } +} diff --git a/Source/Scripts/Patches/HarmonyPatch_Rimworld_Animations.cs b/Source/Scripts/Patches/HarmonyPatch_Rimworld_Animations.cs new file mode 100644 index 0000000..7849549 --- /dev/null +++ b/Source/Scripts/Patches/HarmonyPatch_Rimworld_Animations.cs @@ -0,0 +1,369 @@ +using HarmonyLib; +using System; +using System.Collections.Generic; +using System.Linq; +using UnityEngine; +using RimWorld; +using Verse; +using AlienRace; +using Rimworld_Animations; +using rjw; + +namespace Rimworld_Animations_Patch +{ + [StaticConstructorOnStartup] + public static class HarmonyPatch_Rimworld_Animations + { + static HarmonyPatch_Rimworld_Animations() + { + (new Harmony("Rimworld_Animations_Patch")).Patch(AccessTools.Method(AccessTools.TypeByName("Rimworld_Animations.AnimationUtility"), "GenitalCheckForPawn"), + postfix: new HarmonyMethod(AccessTools.Method(typeof(HarmonyPatch_Rimworld_Animations), "PostFix_AnimationUtility_GenitalCheckForPawn"))); + (new Harmony("Rimworld_Animations_Patch")).Patch(AccessTools.Method(AccessTools.TypeByName("Rimworld_Animations.CompBodyAnimator"), "setAnchor", new Type[] { typeof(Thing) }), + prefix: new HarmonyMethod(AccessTools.Method(typeof(HarmonyPatch_Rimworld_Animations), "Prefix_HarmonyPatch_CompBodyAnimator_setAnchor"))); + (new Harmony("Rimworld_Animations_Patch")).Patch(AccessTools.Method(AccessTools.TypeByName("Rimworld_Animations.HarmonyPatch_JobDriver_SexBaseInitiator_Start"), "RerollAnimations"), + postfix: new HarmonyMethod(AccessTools.Method(typeof(HarmonyPatch_Rimworld_Animations), "Postfix_RerollAnimations"))); + (new Harmony("Rimworld_Animations_Patch")).Patch(AccessTools.Method(AccessTools.TypeByName("Rimworld_Animations.HarmonyPatch_AlienRace"), "Prefix_AnimateHeadAddons"), + prefix: new HarmonyMethod(AccessTools.Method(typeof(HarmonyPatch_Rimworld_Animations), "Prefix_DrawAddons"))); + } + + // Extend the animation selector's body part check to include hands and whether the pawn is in bed or not + public static void PostFix_AnimationUtility_GenitalCheckForPawn(ref bool __result, List requiredGenitals, Pawn pawn, ref string failReason) + { + int handCount = 0; + bool pawnInBed = pawn.IsInBed(out Building bed); + + var hands = pawn.health.hediffSet.GetNotMissingParts().Where(x => x.def.defName == "Hand"); + if (hands != null) + { handCount = hands.Count(); } + + if (requiredGenitals.NullOrEmpty()) + { return; } + + if (requiredGenitals.Contains("OneHand") && handCount < 1) + { failReason = "missing hand"; __result = false; } + + if (requiredGenitals.Contains("TwoHands") && handCount < 2) + { failReason = "missing hand(s)"; __result = false; } + + if (requiredGenitals.Contains("Bed") && pawnInBed == false) + { failReason = "pawn is not in bed"; __result = false; } + + if (requiredGenitals.Contains("NoBed") && pawnInBed) + { failReason = "pawn is in bed"; __result = false; } + } + + // Override CompBodyAnimator's anchors + public static bool Prefix_HarmonyPatch_CompBodyAnimator_setAnchor(CompBodyAnimator __instance, Thing thing) + { + __instance.anchor = AnimationPatchUtility.GetAnchorPosition(__instance.pawn, thing); + + return false; + } + + // Adds functionality to determine which apparel each actor should discard based on the animation they are running + public static void Postfix_RerollAnimations(Pawn pawn) + { + AnimationDef anim = pawn.GetAnimationData()?.animationDef; + + if (anim != null) + { + DebugMode.Message("Running animation: " + anim.defName); + + List pawnsToAnimate = pawn.GetAllSexParticipants(); + Pawn Target = pawn.GetSexReceiver(); + + foreach (Pawn participant in pawnsToAnimate) + { + int actorID = (int)AccessTools.Field(typeof(CompBodyAnimator), "actor").GetValue(participant.TryGetComp()); + DebugMode.Message("Participant " + actorID + ": " + participant.NameShortColored); + } + } + } + + // Determine if a body addon is covered by apparel + /*public static bool BodyAddonCoveredByApparel(Pawn pawn, AlienPartGenerator.BodyAddon bodyAddon) + { + foreach (ApparelGraphicRecord apparelGraphicRecord in pawn.Drawer.renderer.graphics.apparelGraphics) + { + Apparel apparel = apparelGraphicRecord.sourceApparel; + + if (apparel.def.apparel.bodyPartGroups.Any(x => bodyAddon.hiddenUnderApparelFor.Contains(x))) + { return true; } + } + + return false; + }*/ + + public static bool BodyAddonCoveredByWornApparel(Pawn pawn, AlienPartGenerator.BodyAddon bodyAddon) + { + if (bodyAddon?.hiddenUnderApparelFor == null || bodyAddon?.hiddenUnderApparelTag == null) + { return false; } + + foreach (Apparel apparel in pawn.apparel.WornApparel) + { + if (ApparelAnimationUtility.BodyAddonCoveredByApparel(apparel, bodyAddon)) + { return true; } + } + + return false; + } + + // Determine if a body addon should be drawn + public static bool CanDrawAddon(Pawn pawn, AlienPartGenerator.BodyAddon bodyAddon) + { + if (bodyAddon == null) + { return false; } + + if (pawn.RaceProps.Animal) + { return true; } + + Building_Bed building_Bed = pawn.CurrentBed(); + + if ((building_Bed == null || + building_Bed.def.building.bed_showSleeperBody || + bodyAddon.drawnInBed) && (bodyAddon.backstoryRequirement.NullOrEmpty() || pawn.story.AllBackstories.Any((Backstory x) => x.identifier == bodyAddon.backstoryRequirement))) + { + if (!bodyAddon.drawnDesiccated) + { + Corpse corpse = pawn.Corpse; + if (corpse != null && corpse.GetRotStage() == RotStage.Dessicated) + { return false; } + } + + if (!bodyAddon.bodyPart.NullOrEmpty() && + !pawn.health.hediffSet.GetNotMissingParts(BodyPartHeight.Undefined, BodyPartDepth.Undefined, null, null).Any((BodyPartRecord bpr) => bpr.untranslatedCustomLabel == bodyAddon.bodyPart || bpr.def.defName == bodyAddon.bodyPart)) + { + List list = bodyAddon.hediffGraphics; + bool flag; + if (list == null) + { flag = false; } + + else + { flag = list.Any((AlienPartGenerator.BodyAddonHediffGraphic bahg) => bahg.hediff == HediffDefOf.MissingBodyPart); } + + if (!flag) + { return false; } + } + + if ((pawn.gender == Gender.Female) ? bodyAddon.drawForFemale : bodyAddon.drawForMale) + { + if (bodyAddon.bodyTypeRequirement.NullOrEmpty() || pawn.story.bodyType.ToString() == bodyAddon.bodyTypeRequirement) + { + bool renderClothes = true; + + if (Find.WindowStack.currentlyDrawnWindow is Page_ConfigureStartingPawns) + { renderClothes = (bool)AccessTools.Field(typeof(Page_ConfigureStartingPawns), "renderClothes").GetValue(Find.WindowStack.currentlyDrawnWindow); } + + else + { renderClothes = pawn.Drawer.renderer.graphics.apparelGraphics.Count > 0; } + + bool conditionA = !BodyAddonCoveredByWornApparel(pawn, bodyAddon); + bool conditionB = !renderClothes; + bool conditionC = pawn.GetPosture() == PawnPosture.Standing; + bool conditionD = (pawn.GetPosture() == PawnPosture.LayingOnGroundNormal || pawn.GetPosture() == PawnPosture.LayingOnGroundFaceUp) && bodyAddon.drawnOnGround; + bool conditionE = pawn.GetPosture() == PawnPosture.LayingInBed && bodyAddon.drawnInBed; + + return (conditionA || conditionB) && (conditionC || conditionD || conditionE); + } + } + } + + return false; + } + + // Replacement patch for AlienRace to draw the body addons + public static bool Prefix_DrawAddons(PawnRenderFlags renderFlags, Vector3 vector, Vector3 headOffset, Pawn pawn, Quaternion quat, Rot4 rotation) + { + if (!(pawn.def is ThingDef_AlienRace alienProps) || renderFlags.FlagSet(PawnRenderFlags.Invisible)) + { return false; } + + // Try to draw apparel thrown on ground + if (ApparelSettings.clothesThrownOnGround) + { ApparelAnimationUtility.TryToDrawApparelOnFloor(pawn); } + + // Get components + List bodyAddons = alienProps.alienRace.generalSettings.alienPartGenerator.bodyAddons.ToList(); + AlienPartGenerator.AlienComp alienComp = pawn.GetComp(); + CompBodyAnimator pawnAnimator = pawn.TryGetComp(); + + // Get available hands + var hands = pawn.health.hediffSet.GetNotMissingParts().Where(x => x.def.defName == "Hand"); + int handsAvailableCount = hands.Count(); + + // Sort addons by their layer offset, otherwise body parts will actualy be layered according to their position in the list + // Note that sorting the addons directly seems to mess up relations between lists need by AlienRace + var sortedBodyAddons = bodyAddons.Select((x, i) => new KeyValuePair(x, i)).OrderBy(x => x.Key.offsets.GetOffset(rotation).layerOffset).ToList(); + List idxBodyAddons = sortedBodyAddons.Select(x => x.Value).ToList(); + + for (int idx = 0; idx < idxBodyAddons.Count; idx++) + { + int i = idxBodyAddons[idx]; + AlienPartGenerator.BodyAddon bodyAddon = bodyAddons[i]; + BodyPartRecord bodyPartRecord = AnimationPatchUtility.GetBodyPartRecord(pawn, bodyAddon.bodyPart); + + bool alignWithHead = bodyAddon.alignWithHead || (bodyPartRecord != null && bodyPartRecord.IsInGroup(BodyPartGroupDefOf.FullHead)); + + Graphic addonGraphic = alienComp.addonGraphics[i]; + //DebugMode.Message(" Trying to draw " + addonGraphic.path); + + Rot4 apparentRotation = rotation; + if (!renderFlags.FlagSet(PawnRenderFlags.Portrait) && pawnAnimator != null && pawnAnimator.isAnimating) + { apparentRotation = alignWithHead ? pawnAnimator.headFacing : pawnAnimator.bodyFacing; } + + AlienPartGenerator.RotationOffset defaultOffsets = bodyAddon.defaultOffsets.GetOffset(apparentRotation); + Vector3 bodyTypeOffset = (defaultOffsets != null) ? defaultOffsets.GetOffset(renderFlags.FlagSet(PawnRenderFlags.Portrait), pawn.story.bodyType, alienComp.crownType) : Vector3.zero; + AlienPartGenerator.RotationOffset offsets = bodyAddon.offsets.GetOffset(apparentRotation); + Vector3 vector2 = bodyTypeOffset + ((offsets != null) ? offsets.GetOffset(renderFlags.FlagSet(PawnRenderFlags.Portrait), pawn.story.bodyType, alienComp.crownType) : Vector3.zero); + + // Offset private parts so that they render over tattoos but under apparel (rendering under tatoos looks weird) + if ((bodyPartRecord != null && (bodyPartRecord.IsInGroup(PatchBodyPartGroupDefOf.GenitalsBPG) || bodyPartRecord.IsInGroup(PatchBodyPartGroupDefOf.ChestBPG) || bodyPartRecord.IsInGroup(PatchBodyPartGroupDefOf.AnusBPG))) || + addonGraphic.path.ToLower().Contains("belly")) + { + vector2.y = (vector2.y + 0.40f) / 1000f + 0.012f; + + // Erected penises should be drawn over apparel + if (pawn.RaceProps.Humanlike && + addonGraphic.path.ToLower().Contains("penis") && + addonGraphic.path.ToLower().Contains("flaccid") == false && + BodyAddonCoveredByWornApparel(pawn, bodyAddon) == false && + apparentRotation == Rot4.South) + { vector2.y += 0.010f; } + } + + // Otherwise use the standard offsets + else + { vector2.y = 0.3f + vector2.y; } + + if (!bodyAddon.inFrontOfBody) + { vector2.y *= -1f; } + + float bodyAddonAngle = bodyAddon.angle; + + if (apparentRotation == Rot4.North) + { + if (bodyAddon.layerInvert) + { vector2.y = -vector2.y; } + + bodyAddonAngle = 0f; + } + + if (apparentRotation == Rot4.East) + { + bodyAddonAngle = -bodyAddonAngle; + vector2.x = -vector2.x; + } + + Quaternion addonRotation = quat; + Quaternion quatAdditional = Quaternion.identity; + + float finalAngle = 0; + + if (!renderFlags.FlagSet(PawnRenderFlags.Portrait) && pawnAnimator != null && pawnAnimator.isAnimating) + { + if (pawnAnimator.controlGenitalAngle && bodyAddon?.hediffGraphics != null && !bodyAddon.hediffGraphics.NullOrEmpty() && bodyAddon.hediffGraphics[0]?.path != null && (bodyAddon.hediffGraphics[0].path.Contains("Penis") || bodyAddon.hediffGraphics[0].path.Contains("penis"))) + { + float bodyAngle = pawnAnimator.bodyAngle; + addonRotation = Quaternion.AngleAxis(angle: bodyAngle, axis: Vector3.up); + + float anglePenis = AnimationSettings.controlGenitalRotation ? pawnAnimator.genitalAngle : 0f; + anglePenis = anglePenis < 0 ? 360 - (360 % anglePenis) : anglePenis; + quatAdditional = Quaternion.AngleAxis(angle: anglePenis, axis: Vector3.up); + + finalAngle = bodyAngle + anglePenis; + } + + else if (alignWithHead) + { + float headAngle = pawnAnimator.headAngle; + headAngle = headAngle < 0 ? 360 - (360 % headAngle) : headAngle; + addonRotation = Quaternion.AngleAxis(angle: headAngle, axis: Vector3.up); + + finalAngle = pawnAnimator.bodyAngle + headAngle; + } + + else + { + float bodyAngle = pawnAnimator.bodyAngle; + addonRotation = Quaternion.AngleAxis(angle: bodyAngle, axis: Vector3.up); + + finalAngle = bodyAngle; + } + } + + // Fixes 'leaning left' issue with Yayo's animations + else if (!renderFlags.FlagSet(PawnRenderFlags.Portrait) && (pawnAnimator == null || pawnAnimator.isAnimating == false)) + { + float bodyAngle = addonRotation.eulerAngles.y; + bodyAngle = bodyAngle < 0 ? 360 - (360 % bodyAngle) : bodyAngle; + addonRotation = Quaternion.AngleAxis(angle: bodyAngle, axis: Vector3.up); + } + + if (alignWithHead && bodyAddon.alignWithHead == false) + { vector2 -= pawn.Drawer.renderer.BaseHeadOffsetAt(apparentRotation); } + + Vector3 finalPosition = vector + (alignWithHead ? headOffset : Vector3.zero) + vector2.RotatedBy(angle: Mathf.Acos(f: Quaternion.Dot(a: Quaternion.identity, b: addonRotation)) * 2f * 57.29578f); + + // Draw the addon if visible + if (CanDrawAddon(pawn, bodyAddon)) + { + GenDraw.DrawMeshNowOrLater(mesh: addonGraphic.MeshAt(rot: apparentRotation), + loc: finalPosition, + quat: Quaternion.AngleAxis(angle: bodyAddonAngle, axis: Vector3.up) * quatAdditional * addonRotation, + mat: addonGraphic.MatAt(rot: apparentRotation), renderFlags.FlagSet(PawnRenderFlags.DrawNow)); + } + + // Draw hand over the body part if required + if (BasicSettings.showHands && !renderFlags.FlagSet(PawnRenderFlags.Portrait) && handsAvailableCount > 0) + { + if (HandAnimationUtility.TryToDrawHand(pawn, addonGraphic.path, finalPosition, finalAngle, rotation, renderFlags)) + { handsAvailableCount--; } + } + } + + // Body addons are sometimes are not appropriately concealed by long hair, so re-draw the pawn's hair here + if (pawn.Drawer.renderer.graphics.headGraphic != null) + { + var methodInfo = AccessTools.Method(typeof(PawnRenderer), "DrawHeadHair", null, null); + + Rot4 headFacing = pawnAnimator != null && pawnAnimator.isAnimating && !renderFlags.FlagSet(PawnRenderFlags.Portrait) ? pawnAnimator.headFacing : rotation; + float headAngle = pawnAnimator != null && pawnAnimator.isAnimating && !renderFlags.FlagSet(PawnRenderFlags.Portrait) ? pawnAnimator.headAngle : quat.eulerAngles.y; + RotDrawMode rotDrawMode = (RotDrawMode)AccessTools.Property(typeof(PawnRenderer), "CurRotDrawMode").GetValue(pawn.Drawer.renderer); + + methodInfo.Invoke(pawn.Drawer.renderer, new object[] { vector + new Vector3(0f, YOffset_Head, 0f), headOffset, headAngle, headFacing, headFacing, rotDrawMode, renderFlags }); + } + + return false; + } + + // List of potentially useful layer offsets + //private const float YOffset_CarriedThingUnder = -0.0028957527f; + //private const float YOffset_Align_Behind = 0.0028957527f; + //private const float YOffset_Body = 0.008687258f; + //private const float YOffset_Interval_Clothes = 0.0028957527f; + //private const float YOffset_Shell = 0.02027027f; + private const float YOffset_Head = 0.023166021f; + private const float YOffset_OnHead = 0.028957527f; + //private const float YOffset_PostHead = 0.03185328f; + //private const float YOffset_Tattoo = 0.0014478763f; + //private const float YOffset_WoundOverlays1 = 0.009687258f; + //private const float YOffset_WoundOverlays2 = 0.022166021f; + + /* Details on the above + Body = rootLoc + YOffset_Body; (~ 0.009) + Tattoo = rootLoc + YOffset_Body + YOffset_Tattoo; (~ 0.010) + BodyAddons (not protruding) = rootLoc + 0.011f; (~0.011) + Body wounds (under clothes) = rootLoc + YOffset_WoundOverlays1; (~ 0.010) + Apparel (not north) = rootLoc + YOffset_Shell; (~ 0.020) + BodyAddons (protruding) = rootLoc + 0.011f + 0.010f; (~0.021) + Apparel (north) = rootLoc + YOffset_Head; (~ 0.023) + Body wounds (over clothes) = rootLoc + YOffset_WoundOverlays1 + YOffset_WoundOverlays2; (~ 0.03) + + Head (not north) = rootLoc + YOffset_Head (~ 0.023); + Head (north) = rootLoc + YOffset_Shell; (~ 0.020) + Face tattoo = rootLoc + YOffset_OnHead - YOffset_Tattoo; (~ 0.028) + Head wounds (under clothes) = rootLoc + YOffset_OnHead; (~ 0.029) + Hair = rootLoc + YOffset_OnHead; (~ 0.029) + Hat (over hair) = rootLoc + YOffset_PostHead; (~ 0.031) + */ + } +} \ No newline at end of file diff --git a/Source/Scripts/Patches/HarmonyPatch_VisiblePants.cs b/Source/Scripts/Patches/HarmonyPatch_VisiblePants.cs new file mode 100644 index 0000000..3ea8b3d --- /dev/null +++ b/Source/Scripts/Patches/HarmonyPatch_VisiblePants.cs @@ -0,0 +1,76 @@ +using System; +using System.Collections.Generic; +using HarmonyLib; +using RimWorld; +using UnityEngine; +using Verse; + +namespace Rimworld_Animations_Patch +{ + [StaticConstructorOnStartup] + public static class HarmonyPatch_VisiblePants + { + static HarmonyPatch_VisiblePants() + { + try + { + ((Action)(() => + { + if (LoadedModManager.RunningModsListForReading.Any(x => x.PackageIdPlayerFacing == "XeoNovaDan.VisiblePants")) + { + (new Harmony("HeyLover")).Patch(AccessTools.Method(typeof(ApparelGraphicRecordGetter), "TryGetGraphicApparel"), + prefix: new HarmonyMethod(AccessTools.Method(typeof(HarmonyPatch_VisiblePants), "Prefix_ApparelGraphicRecordGetter_TryGetGraphicApparel"))); + } + }))(); + } + catch (TypeLoadException) { } + } + + public static bool Prefix_ApparelGraphicRecordGetter_TryGetGraphicApparel(ref bool __result, ref Apparel apparel, ref BodyTypeDef bodyType, out ApparelGraphicRecord rec) + { + rec = new ApparelGraphicRecord(null, null); + + if (bodyType == null) + { + Log.Error("Found apparel graphic with undefined body type."); + bodyType = BodyTypeDefOf.Male; + } + + if (apparel == null || apparel.WornGraphicPath.NullOrEmpty()) + { + rec = new ApparelGraphicRecord(null, null); + __result = false; + return false; + } + + string path; + + if (apparel.def.apparel.LastLayer == ApparelLayerDefOf.Overhead || apparel.def.apparel.LastLayer == ApparelLayerDefOf.EyeCover || PawnRenderer.RenderAsPack(apparel) || apparel.WornGraphicPath == BaseContent.PlaceholderImagePath || apparel.WornGraphicPath == BaseContent.PlaceholderGearImagePath) + { path = apparel.WornGraphicPath; } + + else + { path = apparel.WornGraphicPath + "_" + bodyType.defName; } + + Shader shader = ShaderDatabase.Cutout; + + if (apparel.def.apparel.useWornGraphicMask) + { shader = ShaderDatabase.CutoutComplex; } + + // Load the standard apparel graphic + Graphic graphic = GraphicDatabase.Get(path, shader, apparel.def.graphicData.drawSize, apparel.DrawColor); + + // This graphic may need to be masked if the apparel sits on the skin layer and does not cover the legs + if (apparel.def.apparel.LastLayer == ApparelLayerDefOf.OnSkin && apparel.def.apparel.bodyPartGroups.Contains(BodyPartGroupDefOf.Torso) && !apparel.def.apparel.bodyPartGroups.Contains(BodyPartGroupDefOf.Legs)) + { + Graphic graphicWithApparelMask = GraphicDatabase.Get(path, ShaderDatabase.CutoutComplex, apparel.def.graphicData.drawSize, apparel.DrawColor, apparel.DrawColor, null, "Masks/apparel_shirt_mask_" + bodyType.defName); + graphic = GraphicMaskingUtility.ApplyGraphicWithMasks(graphic, graphicWithApparelMask, true); + //Log.Message("Applying apparel mask: Masks/apparel_shirt_mask_" + bodyType.defName + " to " + apparel.def.defName); + } + + rec = new ApparelGraphicRecord(graphic, apparel); + __result = true; + + return false; + } + } +} \ No newline at end of file diff --git a/Source/Scripts/Settings/ApparelSettings.cs b/Source/Scripts/Settings/ApparelSettings.cs new file mode 100644 index 0000000..a70ca46 --- /dev/null +++ b/Source/Scripts/Settings/ApparelSettings.cs @@ -0,0 +1,357 @@ +using System; +using System.Linq; +using System.Collections.Generic; +using UnityEngine; +using Verse; +using RimWorld; +using rjw; + +namespace Rimworld_Animations_Patch +{ + public class ApparelSettings : ModSettings + { + public static List rimNudeData = new List(); + + public static bool cropApparel = false; + public static bool clothesThrownOnGround = true; + public static RJWPreferenceSettings.Clothing apparelWornForQuickies = RJWPreferenceSettings.Clothing.Clothed; + + public override void ExposeData() + { + base.ExposeData(); + + Scribe_Values.Look(ref cropApparel, "cropApparel", false); + Scribe_Values.Look(ref clothesThrownOnGround, "clothesThrownOnGround", true); + Scribe_Values.Look(ref apparelWornForQuickies, "apparelWornForQuickies", RJWPreferenceSettings.Clothing.Clothed); + } + + public static RimNudeData GetRimNudeData(Apparel apparel) + { + if (rimNudeData.NullOrEmpty()) + { ApparelSettingsUtility.ResetRimNudeData(rimNudeData); } + + foreach (RimNudeData apparelData in rimNudeData) + { + if (apparelData.EquivalentTo(new RimNudeData(apparel.def))) + { return apparelData; } + } + + return null; + } + } + + public class ApparelSettingsDisplay : Mod + { + private const float windowY = 250f; + private const float windowHeight = 360f; + + private Vector2 scrollPosition; + private const float scrollBarWidthMargin = 18f; + + private const float headerHeight = 48f; + private const float widgetWidth = 32f; + private const float widgetHeight = 32f; + private const float buttonWidth = 90f; + private const float buttonHeight = 32f; + private const float checkboxSize = 24f; + private const float labelWidth = 170f; + private const float labelHeight = 40f; + + private const float rowHeight = 40f; + private const float halfColumnWidth = 40f; + private const float singleColumnWidth = 100f; + private const float doubleColumnWidth = 180f; + + private static List thingDefs = new List(); + + public ApparelSettingsDisplay(ModContentPack content) : base(content) + { + GetSettings(); + } + + public override void WriteSettings() + { + base.WriteSettings(); + ApplySettings(); + } + + // Update all humanlike pawn graphics when settings window is closed + public void ApplySettings() + { + if (Current.ProgramState == ProgramState.Playing) + { + foreach (Pawn pawn in Current.Game.CurrentMap.mapPawns.AllPawns) + { + if (pawn.RaceProps.Humanlike && pawn.apparel.WornApparel.NullOrEmpty() == false) + { pawn.Drawer.renderer.graphics.ResolveAllGraphics(); } + } + } + } + + public override void DoSettingsWindowContents(Rect inRect) + { + // Settings list + Listing_Standard listingStandard; + listingStandard = new Listing_Standard(); + listingStandard.Begin(inRect); + + listingStandard.Gap(10f); + listingStandard.Label("rimworld_animation_patch_clothing".Translate()); + listingStandard.Gap(5f); + + listingStandard.Label("wearing_clothes_in_bed".Translate(), -1, "wearing_clothes_in_bed_desc".Translate()); + + if (Widgets.ButtonText(new Rect(inRect.width - 128f, 36f, 128f, 24f), RJWPreferenceSettings.sex_wear.ToString())) + { + List options = new List + { + new FloatMenuOption(RJWPreferenceSettings.Clothing.Clothed.ToString(), delegate() + { RJWPreferenceSettings.sex_wear = RJWPreferenceSettings.Clothing.Clothed; + }, MenuOptionPriority.Default, null, null, 0f, null, null, true, 0), + new FloatMenuOption(RJWPreferenceSettings.Clothing.Headgear.ToString(), delegate() + { RJWPreferenceSettings.sex_wear = RJWPreferenceSettings.Clothing.Headgear; + }, MenuOptionPriority.Default, null, null, 0f, null, null, true, 0), + new FloatMenuOption(RJWPreferenceSettings.Clothing.Nude.ToString(), delegate() + { RJWPreferenceSettings.sex_wear = RJWPreferenceSettings.Clothing.Nude; + }, MenuOptionPriority.Default, null, null, 0f, null, null, true, 0), + }; Find.WindowStack.Add(new FloatMenu(options)); + } + + listingStandard.Label("wearing_clothes_for_quickies".Translate(), -1, "wearing_clothes_for_quickies_desc".Translate()); + + if (Widgets.ButtonText(new Rect(inRect.width - 128f, 60f, 128f, 24f), ApparelSettings.apparelWornForQuickies.ToString())) + { + List options = new List + { + new FloatMenuOption(RJWPreferenceSettings.Clothing.Clothed.ToString(), delegate() + { ApparelSettings.apparelWornForQuickies = RJWPreferenceSettings.Clothing.Clothed; + }, MenuOptionPriority.Default, null, null, 0f, null, null, true, 0), + new FloatMenuOption(RJWPreferenceSettings.Clothing.Headgear.ToString(), delegate() + { ApparelSettings.apparelWornForQuickies = RJWPreferenceSettings.Clothing.Headgear; + }, MenuOptionPriority.Default, null, null, 0f, null, null, true, 0), + new FloatMenuOption(RJWPreferenceSettings.Clothing.Nude.ToString(), delegate() + { ApparelSettings.apparelWornForQuickies = RJWPreferenceSettings.Clothing.Nude; + }, MenuOptionPriority.Default, null, null, 0f, null, null, true, 0), + }; Find.WindowStack.Add(new FloatMenu(options)); + } + + listingStandard.CheckboxLabeled("clothes_thrown_on_ground".Translate(), ref ApparelSettings.clothesThrownOnGround, "clothes_thrown_on_ground_desc".Translate()); + listingStandard.CheckboxLabeled("crop_apparel".Translate(), ref ApparelSettings.cropApparel, "crop_apparel_desc".Translate()); + + listingStandard.End(); + base.DoSettingsWindowContents(inRect); + + // Local variables + Rect rect = Find.WindowStack.currentlyDrawnWindow.windowRect.AtZero(); + Rect tempRect = new Rect(0, 0, 0, 0); + + float innerY = 0f; + float innerX = 0; + int num = 0; + + bool isEnabled = false; + bool linkChangesChanged = false; + + // Get a list of apparel of interest + if (thingDefs.NullOrEmpty()) + { thingDefs = ApparelSettingsUtility.GetApparelOfInterest(); } + + // Ensure that all apparel has associated RimNudeData + if (ApparelSettings.rimNudeData.NullOrEmpty()) + { ApparelSettingsUtility.ResetRimNudeData(ApparelSettings.rimNudeData); } + + // Add buttons to the top of the main window + innerX = halfColumnWidth; + + // Apparel + tempRect = new Rect(innerX + SettingsUtility.Align(labelWidth, doubleColumnWidth), windowY - headerHeight - 5, labelWidth, headerHeight); + Widgets.DrawHighlightIfMouseover(tempRect); + TooltipHandler.TipRegion(tempRect, "List of apparel that covers the legs and/or torso. This list can be sorted alphabetically or by the mod that added them."); + + if (Widgets.ButtonText(tempRect, "Apparel")) + { + List options = new List + { + new FloatMenuOption("Sort by name", delegate() + { thingDefs = thingDefs.OrderBy(x => x.label).ToList(); + }, MenuOptionPriority.Default, null, null, 0f, null, null, true, 0), + new FloatMenuOption("Sort by mod", delegate() + { thingDefs = ApparelSettingsUtility.GetApparelOfInterest(); + }, MenuOptionPriority.Default, null, null, 0f, null, null, true, 0), + }; Find.WindowStack.Add(new FloatMenu(options)); + }; innerX += doubleColumnWidth; + + // Covers groin + tempRect = new Rect(innerX + SettingsUtility.Align(buttonWidth, singleColumnWidth), windowY - headerHeight - 5, buttonWidth, headerHeight); + Widgets.DrawHighlightIfMouseover(tempRect); + TooltipHandler.TipRegion(tempRect, "Toggles whether genitials should be hidden when wearing this apparel."); + + if (Widgets.ButtonText(tempRect, "Covers\ngroin")) + { + List options = new List + { + new FloatMenuOption("Set all 'true'", delegate() + { ApparelSettingsUtility.SetAllCoversGroin(ApparelSettings.rimNudeData, true); + }, MenuOptionPriority.Default, null, null, 0f, null, null, true, 0), + new FloatMenuOption("Set all 'false'", delegate() + { ApparelSettingsUtility.SetAllCoversGroin(ApparelSettings.rimNudeData, false); + }, MenuOptionPriority.Default, null, null, 0f, null, null, true, 0), + }; Find.WindowStack.Add(new FloatMenu(options)); + }; innerX += singleColumnWidth; + + // Covers belly + tempRect = new Rect(innerX + SettingsUtility.Align(buttonWidth, singleColumnWidth), windowY - headerHeight - 5, buttonWidth, headerHeight); + Widgets.DrawHighlightIfMouseover(tempRect); + TooltipHandler.TipRegion(tempRect, "Toggles whether an enlarged belly should be hidden when wearing this apparel."); + + if (Widgets.ButtonText(tempRect, "Covers\nbelly")) + { + List options = new List + { + new FloatMenuOption("Set all 'true'", delegate() + { ApparelSettingsUtility.SetAllCoversBelly(ApparelSettings.rimNudeData, true); + }, MenuOptionPriority.Default, null, null, 0f, null, null, true, 0), + new FloatMenuOption("Set all 'false'", delegate() + { ApparelSettingsUtility.SetAllCoversBelly(ApparelSettings.rimNudeData, false); + }, MenuOptionPriority.Default, null, null, 0f, null, null, true, 0), + }; Find.WindowStack.Add(new FloatMenu(options)); + }; innerX += singleColumnWidth; + + // Covers belly + tempRect = new Rect(innerX + SettingsUtility.Align(buttonWidth, singleColumnWidth), windowY - headerHeight - 5, buttonWidth, headerHeight); + Widgets.DrawHighlightIfMouseover(tempRect); + TooltipHandler.TipRegion(tempRect, "Toggles whether this apparel conceals breasts."); + + if (Widgets.ButtonText(tempRect, "Covers\nbreasts")) + { + List options = new List + { + new FloatMenuOption("Set all 'true'", delegate() + { ApparelSettingsUtility.SetAllCoversChest(ApparelSettings.rimNudeData, true); + }, MenuOptionPriority.Default, null, null, 0f, null, null, true, 0), + new FloatMenuOption("Set all 'false'", delegate() + { ApparelSettingsUtility.SetAllCoversChest(ApparelSettings.rimNudeData, false); + }, MenuOptionPriority.Default, null, null, 0f, null, null, true, 0), + }; Find.WindowStack.Add(new FloatMenu(options)); + }; innerX += singleColumnWidth; + + // Sex wear + tempRect = new Rect(innerX + SettingsUtility.Align(buttonWidth, singleColumnWidth), windowY - headerHeight - 5, buttonWidth, headerHeight); + Widgets.DrawHighlightIfMouseover(tempRect); + TooltipHandler.TipRegion(tempRect, "Toggles whether this piece of apparel should always be kept on during lovin'"); + + if (Widgets.ButtonText(tempRect, "Sex-wear")) + { + List options = new List + { + new FloatMenuOption("Set all 'true'", delegate() + { ApparelSettingsUtility.SetAllSexWear(ApparelSettings.rimNudeData, true); + }, MenuOptionPriority.Default, null, null, 0f, null, null, true, 0), + new FloatMenuOption("Set all 'false'", delegate() + { ApparelSettingsUtility.SetAllSexWear(ApparelSettings.rimNudeData, false); + }, MenuOptionPriority.Default, null, null, 0f, null, null, true, 0), + }; Find.WindowStack.Add(new FloatMenu(options)); + }; innerX += singleColumnWidth; + + // Reset button + tempRect = new Rect(innerX + SettingsUtility.Align(buttonWidth, singleColumnWidth), windowY - headerHeight - 5, buttonWidth, headerHeight); + Widgets.DrawHighlightIfMouseover(tempRect); + TooltipHandler.TipRegion(tempRect, "Returns all values in this table to their default state."); + + if (Widgets.ButtonText(tempRect, "Reset to\ndefaults")) + { ApparelSettingsUtility.ResetRimNudeData(ApparelSettings.rimNudeData); }; innerX += singleColumnWidth + scrollBarWidthMargin; + + // Determine the height of the scrollable area + int apparelCount = thingDefs.Count; + float totalContentHeight = rowHeight * (float)apparelCount; + + // Create a rect for the scroll window + var contentRect = new Rect(0f, windowY, innerX, windowHeight); + + // Determine if the scroll will be visible + bool scrollBarVisible = totalContentHeight > contentRect.height; + + // Create a rect for the scrollable area + var scrollViewTotal = new Rect(0f, 0f, innerX - (scrollBarVisible ? scrollBarWidthMargin : 0), totalContentHeight); + + // Start of content for scrollable area + Widgets.DrawHighlight(contentRect); + Widgets.BeginScrollView(contentRect, ref scrollPosition, scrollViewTotal); + + foreach (ThingDef thingDef in thingDefs) + { + isEnabled = false; + bool changeHappened = false; + + innerX = 0; + innerY = (float)num * (rowHeight); + num++; + + RimNudeData rimNudeApparel = ApparelSettings.rimNudeData.First(x => x.EquivalentTo(new RimNudeData(thingDef))); + + // Apparel symbol + Widgets.ThingIcon(new Rect(innerX + SettingsUtility.Align(widgetWidth, halfColumnWidth), innerY + SettingsUtility.Align(widgetHeight, rowHeight), widgetWidth, widgetHeight), thingDef, null, null, 1f, null); + innerX += halfColumnWidth; + + // Apparel name + Text.Anchor = TextAnchor.MiddleLeft; + Widgets.Label(new Rect(innerX + 10f, innerY + SettingsUtility.Align(labelHeight, rowHeight), labelWidth, labelHeight), thingDef.label.CapitalizeFirst()); innerX += doubleColumnWidth; + Text.Anchor = TextAnchor.UpperLeft; + + // Hide groin checkbox + if (thingDef.apparel.bodyPartGroups.Contains(BodyPartGroupDefOf.Legs) || thingDef.apparel.bodyPartGroups.Contains(PatchBodyPartGroupDefOf.GenitalsBPG)) + { + isEnabled = rimNudeApparel.coversGroin; + Widgets.Checkbox(innerX + SettingsUtility.Align(checkboxSize, singleColumnWidth), innerY + SettingsUtility.Align(checkboxSize, rowHeight), ref isEnabled, checkboxSize, false, true, null, null); + if (isEnabled != rimNudeApparel.coversGroin) { changeHappened = true; } + rimNudeApparel.coversGroin = isEnabled; + }; innerX += singleColumnWidth; + + // Hide belly checkbox + if (thingDef.apparel.bodyPartGroups.Contains(BodyPartGroupDefOf.Torso)) + { + isEnabled = rimNudeApparel.coversBelly; + Widgets.Checkbox(innerX + SettingsUtility.Align(checkboxSize, singleColumnWidth), innerY + SettingsUtility.Align(checkboxSize, rowHeight), ref isEnabled, checkboxSize, false, true, null, null); + if (isEnabled != rimNudeApparel.coversBelly) { changeHappened = true; } + rimNudeApparel.coversBelly = isEnabled; + }; innerX += singleColumnWidth; + + // Covers bust checkbox + if (thingDef.apparel.bodyPartGroups.Contains(BodyPartGroupDefOf.Torso) || thingDef.apparel.bodyPartGroups.Contains(PatchBodyPartGroupDefOf.ChestBPG)) + { + isEnabled = rimNudeApparel.coversChest; + Widgets.Checkbox(innerX + SettingsUtility.Align(checkboxSize, singleColumnWidth), innerY + SettingsUtility.Align(checkboxSize, rowHeight), ref isEnabled, checkboxSize, false, true, null, null); + if (isEnabled != rimNudeApparel.coversChest) { changeHappened = true; } + rimNudeApparel.coversChest = isEnabled; + }; innerX += singleColumnWidth; + + // Is sex-wear checkbox + isEnabled = rimNudeApparel.sexWear; + Widgets.Checkbox(innerX + SettingsUtility.Align(checkboxSize, singleColumnWidth), innerY + SettingsUtility.Align(checkboxSize, rowHeight), ref isEnabled, checkboxSize, false, true, null, null); + if (isEnabled != rimNudeApparel.sexWear) { changeHappened = true; } + rimNudeApparel.sexWear = isEnabled; + innerX += singleColumnWidth; + + // Update other body types if linked changed are enabled + if (BasicSettings.linkChanges && (changeHappened || linkChangesChanged)) + { + for (int i = 0; i < 5; i++) + { + RimNudeData _rimNudeApparel = ApparelSettings.rimNudeData.First(x => x.EquivalentTo(new RimNudeData(thingDef))); + _rimNudeApparel.coversGroin = rimNudeApparel.coversGroin; + _rimNudeApparel.coversBelly = rimNudeApparel.coversBelly; + _rimNudeApparel.coversChest = rimNudeApparel.coversChest; + _rimNudeApparel.sexWear = rimNudeApparel.sexWear; + } + } + } + + Widgets.EndScrollView(); + } + + public sealed override string SettingsCategory() + { + return "rimworld_animation_patch_apparelsettings".Translate(); + } + } +} diff --git a/Source/Scripts/Settings/BasicSettings.cs b/Source/Scripts/Settings/BasicSettings.cs new file mode 100644 index 0000000..f610796 --- /dev/null +++ b/Source/Scripts/Settings/BasicSettings.cs @@ -0,0 +1,127 @@ +using System; +using System.Linq; +using System.Collections.Generic; +using UnityEngine; +using Verse; + +namespace Rimworld_Animations_Patch +{ + public class BasicSettings : ModSettings + { + public static bool autoscaleDeltaPos = true; + + public static bool linkChanges = false; + public static bool needPrivacy = true; + public static float chanceForOtherToJoinInSex = 0.25f; + public static bool hideNamesForSex = false; + public static bool debugMode = false; + public static bool showHands = true; + + public static bool worryAboutInfidelity = true; + public static bool worryAboutBeastiality = true; + public static bool worryAboutRape = true; + public static bool worryAboutNecro = true; + public static bool worryAboutXeno = true; + public static bool ignoreSlaveRape = false; + public static bool majorTabooCanStartFights = false; + + public static float genitalMasturbationChance = 1.0f; + public static float analMasturbationChance = 0.25f; + public static float breastsMasturbationChance = 0.5f; + public static float humpingMasturbationChance = 0.25f; + public static float otherMasturbationChance = 0.2f; + + public override void ExposeData() + { + base.ExposeData(); + + Scribe_Values.Look(ref autoscaleDeltaPos, "autoscaleDeltaPos", true); + Scribe_Values.Look(ref linkChanges, "linkChanges", false); + Scribe_Values.Look(ref needPrivacy, "needPrivacy", true); + Scribe_Values.Look(ref chanceForOtherToJoinInSex, "chanceForSexExtra", 0.25f); + Scribe_Values.Look(ref hideNamesForSex, "hideNamesForSex", false); + Scribe_Values.Look(ref debugMode, "debugMode", false); + Scribe_Values.Look(ref showHands, "showHands", true); + Scribe_Values.Look(ref worryAboutInfidelity, "worryAboutInfidelity", true); + Scribe_Values.Look(ref worryAboutBeastiality, "worryAboutBeastiality", true); + Scribe_Values.Look(ref worryAboutRape, "worryAboutRape", true); + Scribe_Values.Look(ref worryAboutNecro, "worryAboutNecro", true); + Scribe_Values.Look(ref worryAboutXeno, "worryAboutXeno", true); + Scribe_Values.Look(ref ignoreSlaveRape, "ignoreSlaveRape", false); + Scribe_Values.Look(ref majorTabooCanStartFights, "majorTabooCanStartFights", false); + + } + } + + public class BasicSettingsDisplay : Mod + { + public BasicSettingsDisplay(ModContentPack content) : base(content) + { + GetSettings(); + } + + public override void WriteSettings() + { + base.WriteSettings(); + ApplySettings(); + } + + // Update all humanlike pawn graphics when settings window is closed + public void ApplySettings() + { + if (Current.ProgramState == ProgramState.Playing) + { + foreach (Pawn pawn in Current.Game.CurrentMap.mapPawns.AllPawns) + { + if (pawn.RaceProps.Humanlike && pawn.apparel.WornApparel.NullOrEmpty() == false) + { pawn.Drawer.renderer.graphics.ResolveAllGraphics(); } + } + } + } + + public override void DoSettingsWindowContents(Rect inRect) + { + Listing_Standard listingStandard; + listingStandard = new Listing_Standard(); + listingStandard.Begin(inRect); + + listingStandard.Gap(10f); + listingStandard.Label("rimworld_animation_patch_general".Translate()); + listingStandard.Gap(5f); + + listingStandard.CheckboxLabeled("need_privacy".Translate(), ref BasicSettings.needPrivacy, "need_privacy_desc".Translate()); + listingStandard.CheckboxLabeled("worry_about_infidelity".Translate(), ref BasicSettings.worryAboutInfidelity, "worry_about_infidelity_desc".Translate()); + listingStandard.CheckboxLabeled("worry_about_beastiality".Translate(), ref BasicSettings.worryAboutBeastiality, "worry_about_beastiality_desc".Translate()); + listingStandard.CheckboxLabeled("worry_about_rape".Translate(), ref BasicSettings.worryAboutRape, "worry_about_rape_desc".Translate()); + + if (BasicSettings.worryAboutRape) + { + listingStandard.CheckboxLabeled("ignore_slave_rape".Translate(), ref BasicSettings.ignoreSlaveRape); + } + + listingStandard.CheckboxLabeled("worry_about_necro".Translate(), ref BasicSettings.worryAboutNecro, "worry_about_necro_desc".Translate()); + listingStandard.CheckboxLabeled("worry_about_xeno".Translate(), ref BasicSettings.worryAboutXeno, "worry_about_xeno_desc".Translate()); + listingStandard.CheckboxLabeled("major_taboo_can_start_fights".Translate(), ref BasicSettings.majorTabooCanStartFights, "major_taboo_can_start_fights_desc".Translate()); + + listingStandard.Label("chance_for_other_to_join_in_sex".Translate() + ": " + BasicSettings.chanceForOtherToJoinInSex.ToString("F"), -1f, "chance_for_other_to_join_in_sex_desc".Translate()); + BasicSettings.chanceForOtherToJoinInSex = listingStandard.Slider(BasicSettings.chanceForOtherToJoinInSex, 0f, 1f); + listingStandard.CheckboxLabeled("hide_names_for_sex".Translate(), ref BasicSettings.hideNamesForSex, "hide_names_for_sex_desc".Translate()); + listingStandard.CheckboxLabeled("debug_mode".Translate(), ref BasicSettings.debugMode, "debug_mode_desc".Translate()); + + listingStandard.Gap(10f); + listingStandard.Label("rimworld_animation_patch_animation".Translate()); + listingStandard.Gap(5f); + + listingStandard.CheckboxLabeled("autoscale_delta_pos".Translate(), ref BasicSettings.autoscaleDeltaPos, "autoscale_delta_pos_desc".Translate()); + listingStandard.CheckboxLabeled("show_hands".Translate(), ref BasicSettings.showHands, "show_hands_desc".Translate()); + + listingStandard.End(); + base.DoSettingsWindowContents(inRect); + } + + public sealed override string SettingsCategory() + { + return "rimworld_animation_patch_basicsettings".Translate(); + } + } +} diff --git a/Source/Scripts/Settings/BasicSetttings.cs b/Source/Scripts/Settings/BasicSetttings.cs new file mode 100644 index 0000000..a54f790 --- /dev/null +++ b/Source/Scripts/Settings/BasicSetttings.cs @@ -0,0 +1,97 @@ +using System; +using System.Collections.Generic; +using UnityEngine; +using Verse; + +namespace Rimworld_Animations_Patch +{ + public class BasicSettings : ModSettings + { + public static bool autoscaleDeltaPos = true; + + public static bool allowUndressing = true; + public static bool clothesThrownOnGround = true; + + public static float undressingInPrivateDegree = 0.8f; + public static float undressingInPublicDegree = 0.2f; + + public override void ExposeData() + { + base.ExposeData(); + Scribe_Values.Look(ref autoscaleDeltaPos, "autoscaleDeltaPos", true); + Scribe_Values.Look(ref clothesThrownOnGround, "clothesThrownOnGround", true); + Scribe_Values.Look(ref allowUndressing, "allowUndressing", true); + Scribe_Values.Look(ref undressingInPrivateDegree, "undressingInPrivateDegree", 0.8f); + Scribe_Values.Look(ref undressingInPublicDegree, "undressingInPublicDegree", 0.2f); + } + } + + public class BasicSettingsDisplay : Mod + { + + public BasicSettingsDisplay(ModContentPack content) : base(content) + { + GetSettings(); + } + + public override void DoSettingsWindowContents(Rect inRect) + { + Listing_Standard listingStandard; + + listingStandard = new Listing_Standard(); + listingStandard.Begin(inRect); + + listingStandard.Gap(10f); + listingStandard.Label("Misc Options"); + listingStandard.Gap(5f); + listingStandard.CheckboxLabeled(" Auto-scale animations based on pawn body size", ref BasicSettings.autoscaleDeltaPos); + + listingStandard.Gap(10f); + listingStandard.Label("Disrobing options"); + listingStandard.Gap(5f); + listingStandard.CheckboxLabeled(" Animate pawn undressing", ref BasicSettings.allowUndressing); + if (BasicSettings.allowUndressing) + { + listingStandard.CheckboxLabeled(" Show discarded clothes on the floor", ref BasicSettings.clothesThrownOnGround); + listingStandard.Label(" Degree of disrobing when in bed (default is 0.80): " + BasicSettings.undressingInPrivateDegree.ToString("F")); + listingStandard.Label(" " + ReportOnDisrobingInPrivate()); + BasicSettings.undressingInPrivateDegree = listingStandard.Slider(BasicSettings.undressingInPrivateDegree, 0f, 1f); + listingStandard.Label(" Degree of disrobing when out of bed (default is 0.20): " + BasicSettings.undressingInPublicDegree.ToString("F")); + listingStandard.Label(" " + ReportOnDisrobingInPublic()); + BasicSettings.undressingInPublicDegree = listingStandard.Slider(BasicSettings.undressingInPublicDegree, 0f, 1f); + } + + listingStandard.End(); + + base.DoSettingsWindowContents(inRect); + } + + public string ReportOnDisrobing(float val) + { + string report; + + if (val == 1) { report = "(Pawns will always fully disrobe)"; } + else if (val >= 0.6667) { report = "(Pawns prefer to fully disrobe)"; } + else if (val >= 0.3333) { report = "(Pawns like to keep some clothes on)"; } + else if (val > 0) { report = "(Pawns will keep most of their clothes on)"; } + else { report = "(Pawns will try to keep all of their clothes on)"; } + + return report; + } + + public string ReportOnDisrobingInPrivate() + { + return ReportOnDisrobing(BasicSettings.undressingInPrivateDegree); + } + + public string ReportOnDisrobingInPublic() + { + return ReportOnDisrobing(BasicSettings.undressingInPublicDegree); + } + + public override string SettingsCategory() + { + return "Rimworld Animations Patch - Basic settings"; + } + } +} diff --git a/Source/Scripts/Utilities/AnimationPatchUtility.cs b/Source/Scripts/Utilities/AnimationPatchUtility.cs new file mode 100644 index 0000000..43f11e6 --- /dev/null +++ b/Source/Scripts/Utilities/AnimationPatchUtility.cs @@ -0,0 +1,170 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using RimWorld; +using UnityEngine; +using HarmonyLib; +using Verse; +using Rimworld_Animations; +using rjw; + +namespace Rimworld_Animations_Patch +{ + public static class AnimationPatchUtility + { + public static int FindTrueAnimationLength(Pawn pawn, out int orgasmTick) + { + orgasmTick = int.MaxValue; + + ActorAnimationData actorAnimationData = pawn.GetAnimationData(); + CompBodyAnimator compBodyAnimator = pawn.TryGetComp(); + + // No data + if (actorAnimationData == null || compBodyAnimator == null) + { + DebugMode.Message("There is no actor animation data for " + pawn.NameShortColored); + orgasmTick = 1500 + (int)(Rand.Value * 1000f); + + return orgasmTick; + } + + AnimationDef anim = actorAnimationData.animationDef; + int actorId = actorAnimationData.actorID; + bool isQuickie = compBodyAnimator.fastAnimForQuickie; + + int ticks = 0; + + foreach (AnimationStage animStage in anim.animationStages) + { + // Legacy: skip the first stage of quickies if there's no playTimeTicksQuick values declared + if (anim.animationStages.IndexOf(animStage) == 0 && isQuickie && anim.animationStages.Any(x => x.playTimeTicksQuick >= 0) == false) + { continue; } + + int curr_tick = 0; + + foreach (PawnKeyframe keyframe in (animStage.animationClips[actorId] as PawnAnimationClip).keyframes) + { + curr_tick += keyframe.tickDuration; + + if (keyframe.soundEffect != null && keyframe.soundEffect == "Cum" && orgasmTick > (ticks + curr_tick)) + { orgasmTick = ticks + curr_tick; } + + if (isQuickie && animStage.playTimeTicksQuick > 0 && curr_tick >= animStage.playTimeTicksQuick) + { break; } + } + + ticks += isQuickie && animStage.playTimeTicksQuick > 0 && animStage.playTimeTicksQuick < animStage.playTimeTicks ? animStage.playTimeTicksQuick : animStage.playTimeTicks; + } + + // Orgasm tick not found + if (orgasmTick > ticks) + { + // Safeguard for penial, vaginal and anal sex + if (anim.actors[actorId].isFucked || anim.actors[actorId].isFucking || anim.actors[actorId].requiredGenitals.Any(x => x.ToLower().ContainsAny("penis", "vagina", "anus"))) + { orgasmTick = Mathf.Clamp(ticks - 5, 0, int.MaxValue); } + + // Actor does not orgasm + else + { orgasmTick = (int)(ticks * (2f + Rand.Value)); } + } + + return ticks; + + } + + // Extended version of PawnHeadRotInAnimation (prevents pawn hair from getting messed up when draw in portraits) + public static Rot4 PawnHeadRotInAnimation(Pawn pawn, Rot4 regularPos, PawnRenderFlags renderFlags) + { + if (!renderFlags.FlagSet(PawnRenderFlags.Portrait) && pawn?.TryGetComp() != null && pawn.TryGetComp().isAnimating) + { + return pawn.TryGetComp().headFacing; + } + + return regularPos; + } + + public static BodyPartRecord GetBodyPartRecord(Pawn pawn, string bodyPart) + { + if (bodyPart.NullOrEmpty()) + { return null; } + + return pawn.health.hediffSet.GetNotMissingParts(BodyPartHeight.Undefined, BodyPartDepth.Undefined, null, null).FirstOrDefault(x => x.untranslatedCustomLabel == bodyPart || x.def.defName == bodyPart); + } + + public static Vector3 GetAnchorPosition(Pawn pawn, Thing thing = null) + { + Vector3 anchor; + + if (thing == null) + { return pawn.Position.ToVector3Shifted(); } + + int numOfSleepingSlots = 0; + + if (thing is Building_Bed) + { numOfSleepingSlots = BedUtility.GetSleepingSlotsCount(thing.def.size); } + + // Anchor to the pawn's sleeping slot when masturbating in own bed + if (thing is Building_Bed && (pawn.ownership.OwnedBed == thing || pawn.CurrentBed() == thing) && pawn.IsMasturbating()) + { + anchor = RestUtility.GetBedSleepingSlotPosFor(pawn, thing as Building_Bed).ToVector3(); + + if (thing.Rotation.AsInt == 0) + { + anchor.x += 0.5f; + anchor.z += 1f; + } + else if (thing.Rotation.AsInt == 1) + { + anchor.x += 1f; + anchor.z += 0.5f; + } + else if (thing.Rotation.AsInt == 2) + { + anchor.x += 0.5f; + anchor.z += 0.5f; + } + else if (thing.Rotation.AsInt == 3) + { + anchor.x += 0f; + anchor.z += 0.5f; + } + } + + // Anchor to the center of the bed (should work for beds of any size?) + else if (thing is Building_Bed && numOfSleepingSlots > 0) + { + anchor = thing.Position.ToVector3(); + float halfSlots = numOfSleepingSlots / 2f; + + if (thing.Rotation.AsInt == 0) + { + anchor.x += halfSlots; + anchor.z += 1f; + } + else if (thing.Rotation.AsInt == 1) + { + anchor.x += 1f; + anchor.z += (1.0f - halfSlots); + } + else if (thing.Rotation.AsInt == 2) + { + anchor.x += (1f - halfSlots); + anchor.z += 0f; + } + else if (thing.Rotation.AsInt == 3) + { + anchor.x += 0f; + anchor.z += halfSlots; + } + } + + // Anchor to the centre of the thing + else + { + anchor = thing.Position.ToVector3Shifted(); + } + + return anchor; + } + } +} diff --git a/Source/Scripts/Utilities/ApparelAnimationUtility.cs b/Source/Scripts/Utilities/ApparelAnimationUtility.cs new file mode 100644 index 0000000..9553b1b --- /dev/null +++ b/Source/Scripts/Utilities/ApparelAnimationUtility.cs @@ -0,0 +1,197 @@ +using System.Collections.Generic; +using System.Linq; +using Verse; +using RimWorld; +using Rimworld_Animations; +using UnityEngine; +using AlienRace; +using rjw; + +namespace Rimworld_Animations_Patch +{ + public static class ApparelAnimationUtility + { + public static float apparelScale = 0.75f; + + public static void TryToDrawApparelOnFloor(Pawn pawn) + { + if (pawn?.apparel?.WornApparel != null) + { + CompBodyAnimator compBodyAnimator = pawn.TryGetComp(); + + if (ApparelSettings.clothesThrownOnGround == false || Find.CurrentMap != pawn.Map || compBodyAnimator == null || compBodyAnimator.isAnimating == false) + { return; } + + foreach (Apparel apparel in pawn.apparel.WornApparel) + { + CompApparelVisibility compApparelVisibility = apparel.TryGetComp(); + + if (compApparelVisibility != null && compApparelVisibility.position != default && compApparelVisibility.isBeingWorn == false) + { + Graphic apparelGraphic = apparel.Graphic; + apparelGraphic.drawSize.x *= apparelScale; + apparelGraphic.drawSize.y *= apparelScale; + + GenDraw.DrawMeshNowOrLater(mesh: apparelGraphic.MeshAt(rot: apparel.Rotation), + loc: compApparelVisibility.position, + quat: Quaternion.AngleAxis(angle: compApparelVisibility.rotation, axis: Vector3.up), + mat: apparelGraphic.MatAt(rot: apparel.Rotation), + false); + + apparelGraphic.drawSize.x *= 1f / apparelScale; + apparelGraphic.drawSize.y *= 1f / apparelScale; + DebugMode.Message(compApparelVisibility.rotation.ToString()); + //DebugMode.Message("Drawing " + apparel.def.defName + " on ground"); + } + } + } + } + + public static bool BodyAddonCoveredByApparel(Apparel apparel, AlienPartGenerator.BodyAddon bodyAddon) + { + CompApparelVisibility comp = apparel.TryGetComp(); + + if (comp != null && comp.isBeingWorn == false) + { return false; } + + RimNudeData rimNudeData = ApparelSettings.GetRimNudeData(apparel); + + if (rimNudeData != null && bodyAddon?.bodyPart != null) + { + if (bodyAddon.bodyPart == "Genitals" && rimNudeData.coversGroin == false) + { return false; } + + if (bodyAddon.bodyPart == "Chest" && rimNudeData.coversChest == false) + { return false; } + + if (bodyAddon.bodyPart == "Torso" && rimNudeData.coversBelly == false) + { return false; } + } + + if (apparel.def.apparel.bodyPartGroups.Any(x => bodyAddon.hiddenUnderApparelFor.Contains(x)) || + apparel.def.apparel.tags.Any(x => bodyAddon.hiddenUnderApparelTag.Contains(x))) + { return true; } + + return false; + } + + public static bool BodyPartCoveredByApparel(Apparel apparel, BodyPartRecord bodyPart) + { + CompApparelVisibility comp = apparel.TryGetComp(); + + if (comp != null && comp.isBeingWorn == false) + { return false; } + + RimNudeData rimNudeData = ApparelSettings.GetRimNudeData(apparel); + + if (rimNudeData != null) + { + if (bodyPart.def.defName == "Genitals" && rimNudeData.coversGroin == false) + { return false; } + + if (bodyPart.def.defName == "Chest" && rimNudeData.coversChest == false) + { return false; } + + if (bodyPart.def.defName == "Torso" && rimNudeData.coversBelly == false) + { return false; } + } + + if (apparel.def.apparel.CoversBodyPart(bodyPart)) + { return true; } + + return false; + } + + public static void DetermineApparelToKeepOn(Pawn pawn) + { + JobDriver_Sex jobdriver = pawn.jobs.curDriver as JobDriver_Sex; + + if (pawn.RaceProps.Humanlike == false || pawn?.apparel?.WornApparel == null || jobdriver == null) + { return; } + + foreach (Apparel apparel in pawn.apparel?.WornApparel) + { + CompApparelVisibility comp = apparel.TryGetComp(); + if (comp != null) + { comp.isBeingWorn = true; } + } + + ActorAnimationData animData = pawn.GetAnimationData(); + + if (animData == null) + { return; } + + AnimationDef anim = animData.animationDef; + int actorID = animData.actorID; + + var clothingPreference = pawn.IsInBed(out Building bed) ? RJWPreferenceSettings.sex_wear : ApparelSettings.apparelWornForQuickies; + + if (xxx.has_quirk(pawn, "Endytophile")) + { clothingPreference = RJWPreferenceSettings.Clothing.Clothed; } + + // Determine any obstructing apparel that must be removed + foreach (Apparel apparel in pawn.apparel.WornApparel) + { + CompApparelVisibility comp = apparel.TryGetComp(); + + if (comp == null) + { continue; } + + if (apparel.def is bondage_gear_def) + { continue; } + + if (ApparelSettings.GetRimNudeData(apparel) != null && ApparelSettings.GetRimNudeData(apparel).sexWear) + { continue; } + + if (clothingPreference == RJWPreferenceSettings.Clothing.Nude) + { + comp.isBeingWorn = false; + continue; + } + + bool isHat = apparel.def.apparel.bodyPartGroups.NullOrEmpty() == false && (apparel.def.apparel.bodyPartGroups.Contains(BodyPartGroupDefOf.FullHead) || apparel.def.apparel.bodyPartGroups.Contains(BodyPartGroupDefOf.UpperHead)); + + if (clothingPreference == RJWPreferenceSettings.Clothing.Headgear && isHat == false) + { + comp.isBeingWorn = false; + continue; + } + + if (ApparelCoversPawnRequiredBodyParts(pawn, apparel, anim, actorID)) + { + comp.isBeingWorn = false; + continue; + } + } + } + + public static bool ApparelCoversPawnRequiredBodyParts(Pawn pawn, Apparel apparel, AnimationDef anim, int actorID) + { + bool bodyPartCovered = false; + + IEnumerable bodyParts = pawn.RaceProps.body.AllParts; + + var requiredGenitals = anim.actors[actorID].requiredGenitals; + + if (requiredGenitals.NullOrEmpty()) + { requiredGenitals = new List(); } + + if (anim.actors[actorID].isFucking || requiredGenitals.Contains("Penis")) + { bodyPartCovered = bodyPartCovered || BodyPartCoveredByApparel(apparel, bodyParts.FirstOrDefault(x => x.def == xxx.genitalsDef)); } + + if (anim.actors[actorID].isFucked || requiredGenitals.Contains("Vagina")) + { bodyPartCovered = bodyPartCovered || BodyPartCoveredByApparel(apparel, bodyParts.FirstOrDefault(x => x.def == xxx.genitalsDef)); } + + if (anim.actors[actorID].isFucked || requiredGenitals.Contains("Anus")) + { bodyPartCovered = bodyPartCovered || BodyPartCoveredByApparel(apparel, bodyParts.FirstOrDefault(x => x.def == xxx.anusDef)); } + + if (requiredGenitals.Contains("Breasts")) + { bodyPartCovered = bodyPartCovered || BodyPartCoveredByApparel(apparel, bodyParts.FirstOrDefault(x => x.def == xxx.breastsDef)); } + + if (requiredGenitals.Contains("Mouth")) + { bodyPartCovered = bodyPartCovered || BodyPartCoveredByApparel(apparel, bodyParts.FirstOrDefault(x => x.def.defName.ToLower().ContainsAny("mouth", "teeth", "jaw", "beak"))); } + + return bodyPartCovered; + } + } +} diff --git a/Source/Scripts/Utilities/ApparelSettingsUtility.cs b/Source/Scripts/Utilities/ApparelSettingsUtility.cs new file mode 100644 index 0000000..56057f9 --- /dev/null +++ b/Source/Scripts/Utilities/ApparelSettingsUtility.cs @@ -0,0 +1,199 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using Verse; +using RimWorld; + +namespace Rimworld_Animations_Patch +{ + public static class ApparelSettingsUtility + { + public static List GetApparelOfInterest() + { + List thingDefs = new List(); + + foreach (ThingDef thingDef in DefDatabase.AllDefs) + { + if (thingDef.IsApparel && thingDef.apparel.layers.Count == 1 && thingDef.apparel.layers[0] == ApparelLayerDefOf.Belt) + { continue; } + + if (thingDef.IsApparel && + (thingDef.apparel.bodyPartGroups.Contains(BodyPartGroupDefOf.Torso) || + thingDef.apparel.bodyPartGroups.Contains(BodyPartGroupDefOf.Legs) || + thingDef.apparel.bodyPartGroups.Contains(PatchBodyPartGroupDefOf.GenitalsBPG) || + thingDef.apparel.bodyPartGroups.Contains(PatchBodyPartGroupDefOf.ChestBPG))) + { thingDefs.Add(thingDef); } + } + + return thingDefs; + } + + // Resets all data + public static void ResetRimNudeData(List rimNudeData) + { + rimNudeData.Clear(); + List thingDefs = GetApparelOfInterest(); + + foreach (ThingDef thingDef in thingDefs) + { + for (int i = 0; i < 5; i++) + { rimNudeData.Add(new RimNudeData(thingDef)); } + } + + GetApparelDefaults(rimNudeData); + } + + // Update apparel data + public static void UpdateRimNudeData(List rimNudeData, string thingDef, bool coversGroin, bool coversBelly, bool coversChest, bool sexWear) + { + for (int i = 0; i < rimNudeData.Count; i++) + { + RimNudeData apparelData = rimNudeData[i]; + + if (apparelData.thingDef == thingDef) + { + rimNudeData[i] = new RimNudeData(thingDef, coversGroin, coversBelly, coversChest, sexWear); + return; + } + } + } + + public static void SetAllCoversGroin(List rimNudeData, bool value) + { + foreach (RimNudeData rimNudeApparel in rimNudeData) + { rimNudeApparel.coversGroin = value; } + } + + public static void SetAllCoversBelly(List rimNudeData, bool value) + { + foreach (RimNudeData rimNudeApparel in rimNudeData) + { rimNudeApparel.coversBelly = value; } + } + + public static void SetAllCoversChest(List rimNudeData, bool value) + { + foreach (RimNudeData rimNudeApparel in rimNudeData) + { rimNudeApparel.coversChest = value; } + } + + public static void SetAllSexWear(List rimNudeData, bool value) + { + foreach (RimNudeData rimNudeApparel in rimNudeData) + { rimNudeApparel.sexWear = value; } + } + + public static void GetApparelDefaults(List rimNudeData) + { + //Apparel_BasicShirt + UpdateRimNudeData(rimNudeData, "Apparel_BasicShirt", coversGroin: false, coversBelly: true, coversChest: true, sexWear: false); + + //Apparel_CollarShirt + UpdateRimNudeData(rimNudeData, "Apparel_CollarShirt", coversGroin: false, coversBelly: true, coversChest: true, sexWear: false); + + //Apparel_FlakVest + UpdateRimNudeData(rimNudeData, "Apparel_FlakVest", coversGroin: false, coversBelly: false, coversChest: false, sexWear: false); + + //Apparel_Duster + UpdateRimNudeData(rimNudeData, "Apparel_Duster", coversGroin: false, coversBelly: false, coversChest: true, sexWear: false); + + //Apparel_Jacket + UpdateRimNudeData(rimNudeData, "Apparel_Jacket", coversGroin: false, coversBelly: false, coversChest: true, sexWear: false); + + //Apparel_TribalA + UpdateRimNudeData(rimNudeData, "Apparel_TribalA", coversGroin: true, coversBelly: true, coversChest: true, sexWear: false); + + //Apparel_BodyStrap + UpdateRimNudeData(rimNudeData, "Apparel_BodyStrap", coversGroin: false, coversBelly: false, coversChest: false, sexWear: true); + + //Apparel_PsyfocusRobe + UpdateRimNudeData(rimNudeData, "Apparel_PsyfocusRobe", coversGroin: false, coversBelly: false, coversChest: true, sexWear: false); + + //Apparel_Cape + UpdateRimNudeData(rimNudeData, "Apparel_Cape", coversGroin: false, coversBelly: false, coversChest: false, sexWear: false); + + //Apparel_RobeRoyal + UpdateRimNudeData(rimNudeData, "Apparel_RobeRoyal", coversGroin: false, coversBelly: false, coversChest: true, sexWear: false); + + //Apparel_Corset + UpdateRimNudeData(rimNudeData, "Apparel_Corset", coversGroin: false, coversBelly: true, coversChest: true, sexWear: false); + + //VAE_Apparel_Overalls + UpdateRimNudeData(rimNudeData, "VAE_Apparel_Overalls", coversGroin: true, coversBelly: true, coversChest: false, sexWear: false); + + //VAE_Apparel_LabCoat + UpdateRimNudeData(rimNudeData, "VAE_Apparel_LabCoat", coversGroin: false, coversBelly: false, coversChest: true, sexWear: false); + + //VAE_Apparel_BuildersJacket + UpdateRimNudeData(rimNudeData, "VAE_Apparel_BuildersJacket", coversGroin: false, coversBelly: false, coversChest: true, sexWear: false); + + //VAE_Apparel_Apron + UpdateRimNudeData(rimNudeData, "VAE_Apparel_Apron", coversGroin: true, coversBelly: true, coversChest: false, sexWear: false); + + //VAE_Apparel_Tunic + UpdateRimNudeData(rimNudeData, "VAE_Apparel_Tunic", coversGroin: false, coversBelly: true, coversChest: true, sexWear: false); + + //VAE_Apparel_PeltCoat + UpdateRimNudeData(rimNudeData, "VAE_Apparel_PeltCoat", coversGroin: false, coversBelly: false, coversChest: true, sexWear: false); + + //VAE_Apparel_WoodenArmor + UpdateRimNudeData(rimNudeData, "VAE_Apparel_WoodenArmor", coversGroin: false, coversBelly: true, coversChest: false, sexWear: false); + + //VAE_Apparel_AdvancedVest + UpdateRimNudeData(rimNudeData, "VAE_Apparel_AdvancedVest", coversGroin: false, coversBelly: false, coversChest: false, sexWear: false); + + //VAE_Apparel_BulletproofVest + UpdateRimNudeData(rimNudeData, "VAE_Apparel_BulletproofVest", coversGroin: false, coversBelly: true, coversChest: false, sexWear: false); + + //VWE_Apparel_Exoframe + UpdateRimNudeData(rimNudeData, "VWE_Apparel_Exoframe", coversGroin: false, coversBelly: false, coversChest: false, sexWear: false); + + //VFEM_Apparel_Tabard + UpdateRimNudeData(rimNudeData, "VFEM_Apparel_Tabard", coversGroin: true, coversBelly: true, coversChest: true, sexWear: false); + + //VFEV_Apparel_JarlCape + UpdateRimNudeData(rimNudeData, "VFEV_Apparel_JarlCape", coversGroin: false, coversBelly: false, coversChest: true, sexWear: false); + + //VFEV_Apparel_RoyalFurCoat + UpdateRimNudeData(rimNudeData, "VFEV_Apparel_RoyalFurCoat", coversGroin: false, coversBelly: false, coversChest: true, sexWear: false); + + //PrisonerChains + UpdateRimNudeData(rimNudeData, "PrisonerChains", coversGroin: false, coversBelly: false, coversChest: false, sexWear: true); + + //S16_ChainHarnessA + UpdateRimNudeData(rimNudeData, "S16_ChainHarnessA", coversGroin: false, coversBelly: false, coversChest: false, sexWear: true); + + //S16_NippleWristCuffs + UpdateRimNudeData(rimNudeData, "S16_NippleWristCuffs", coversGroin: false, coversBelly: false, coversChest: false, sexWear: true); + + //S16_ServantGirlDress + UpdateRimNudeData(rimNudeData, "S16_ServantGirlDress", coversGroin: true, coversBelly: true, coversChest: false, sexWear: true); + + //S16_ZDress + UpdateRimNudeData(rimNudeData, "S16_ZDress", coversGroin: false, coversBelly: true, coversChest: true, sexWear: true); + + //S16_MaidA + UpdateRimNudeData(rimNudeData, "S16_MaidA", coversGroin: false, coversBelly: true, coversChest: false, sexWear: true); + + //S16_DiscoTop + UpdateRimNudeData(rimNudeData, "S16_DiscoTop", coversGroin: false, coversBelly: false, coversChest: true, sexWear: true); + + //S16_TransparentSkirt + UpdateRimNudeData(rimNudeData, "S16_TransparentSkirt", coversGroin: false, coversBelly: false, coversChest: false, sexWear: true); + + //S16_Vibrator + UpdateRimNudeData(rimNudeData, "S16_Vibrator", coversGroin: false, coversBelly: false, coversChest: false, sexWear: true); + + //S16_VibratorDouble + UpdateRimNudeData(rimNudeData, "S16_VibratorDouble", coversGroin: false, coversBelly: false, coversChest: false, sexWear: true); + + //S16_WiredVibrator + UpdateRimNudeData(rimNudeData, "S16_WiredVibrator", coversGroin: false, coversBelly: false, coversChest: false, sexWear: true); + + //S16_DoubleWiredVibrator + UpdateRimNudeData(rimNudeData, "S16_DoubleWiredVibrator", coversGroin: false, coversBelly: false, coversChest: false, sexWear: true); + + //S16_WiredAnalVibrator + UpdateRimNudeData(rimNudeData, "S16_WiredAnalVibrator", coversGroin: false, coversBelly: false, coversChest: false, sexWear: true); + } + } +} diff --git a/Source/Scripts/Utilities/DebugMode.cs b/Source/Scripts/Utilities/DebugMode.cs new file mode 100644 index 0000000..8e89031 --- /dev/null +++ b/Source/Scripts/Utilities/DebugMode.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using Verse; +using RimWorld; + +namespace Rimworld_Animations_Patch +{ + public static class DebugMode + { + public static void Message(string text) + { + if (BasicSettings.debugMode) + { Log.Message("[DEBUG] " + text); } + } + } +} diff --git a/Source/Scripts/Utilities/GraphicMaskingUtility.cs b/Source/Scripts/Utilities/GraphicMaskingUtility.cs new file mode 100644 index 0000000..280d327 --- /dev/null +++ b/Source/Scripts/Utilities/GraphicMaskingUtility.cs @@ -0,0 +1,144 @@ +using System; +using System.Collections.Generic; +using HarmonyLib; +using RimWorld; +using UnityEngine; +using Verse; + +namespace Rimworld_Animations_Patch +{ + public static class GraphicMaskingUtility + { + public static Texture2D GetReadableTexture2D(Texture2D source, int newWidth, int newHeight, Material mat = null) //rescales texture to newWidth and newHeight + { + source.filterMode = FilterMode.Trilinear; + + RenderTexture rt = RenderTexture.GetTemporary(newWidth, newHeight); + rt.filterMode = FilterMode.Trilinear; + + RenderTexture.active = rt; + if (mat != null) + { Graphics.Blit(source, rt, mat); } + + else + { Graphics.Blit(source, rt); } + + Texture2D nTex = new Texture2D(newWidth, newHeight, TextureFormat.RGBA32, mipChain: true); + nTex.ReadPixels(new Rect(0, 0, newWidth, newHeight), 0, 0); + nTex.name = source.name; + nTex.filterMode = FilterMode.Trilinear; + nTex.anisoLevel = 2; + nTex.Apply(updateMipmaps: true); + + GL.Clear(true, true, Color.clear); + RenderTexture.active = null; + RenderTexture.ReleaseTemporary(rt); + + return nTex; + } + + public static Texture2D GetReadableTexture2D(Texture2D source, Material mat = null) + { + return GetReadableTexture2D(source, source.width, source.height, mat); + } + + public static Texture2D ApplyMaskToTexture2D(Texture2D mainTex, Texture2D maskTex, bool writeOverMainTex) + { + if (mainTex == null || maskTex == null) + { + DebugMode.Message("mainTex or maskTex is missing!"); + return mainTex; + } + + Color[] mainArray = GetReadableTexture2D(mainTex).GetPixels(); + Color[] maskArray = GetReadableTexture2D(maskTex, mainTex.width, mainTex.height).GetPixels(); + + for (int j = 0; j < mainArray.Length; j++) + { + if (maskArray[j] == Color.white) + { /*null*/ } + + else if (maskArray[j].a == 0) + { mainArray[j].a = 0; } + + else if (mainArray[j].a > 0 && maskArray[j].a > 0 && writeOverMainTex) + { mainArray[j] = new Color(Mathf.Min(mainArray[j].r, maskArray[j].r), Mathf.Min(mainArray[j].g, maskArray[j].g), Mathf.Min(mainArray[j].b, maskArray[j].b), Mathf.Min(mainArray[j].a, maskArray[j].a)); } + } + + Texture2D newTex = new Texture2D(mainTex.width, mainTex.height, TextureFormat.RGBA32, mipChain: true); + newTex.SetPixels(mainArray); + newTex.filterMode = FilterMode.Trilinear; + newTex.anisoLevel = 2; + newTex.Apply(updateMipmaps: true); + + return newTex; + } + + public static Graphic ApplyGraphicWithMasks(Graphic graphic, Graphic graphicWithMask, bool writeOverMainTex) + { + for (int i = 0; i < 4; i++) + { + Texture2D mainTex = (Texture2D)graphic.MatAt(new Rot4(i)).mainTexture; + Texture2D maskTex = graphicWithMask.MatAt(new Rot4(i)).GetMaskTexture(); + graphic.MatAt(new Rot4(i)).mainTexture = ApplyMaskToTexture2D(mainTex, maskTex, writeOverMainTex); + } + + return graphic; + } + + public static Graphic ApplyGraphicWithMasks(Graphic graphic, string mask, bool writeOverMainTex) + { + for (int i = 0; i < 4; i++) + { + Texture2D mainTex = (Texture2D)graphic.MatAt(new Rot4(i)).mainTexture; + + if (mainTex == null) + { DebugMode.Message("Main Texture2D not found for " + graphic.path + ". Rotation: " + i.ToString()); continue; } + + string suffix = string.Empty; + switch (i) + { + case 0: suffix = "_north"; break; + case 1: suffix = "_east"; break; + case 2: suffix = "_south"; break; + case 3: suffix = "_west"; break; + } + + Texture2D maskTex = ContentFinder.Get(mask + suffix, false); + + if (maskTex == null) + { DebugMode.Message("Mask Texture2D not found for " + mask + ". Rotation: " + i.ToString()); continue; } + + graphic.MatAt(new Rot4(i)).mainTexture = ApplyMaskToTexture2D(mainTex, maskTex, writeOverMainTex); + } + + return graphic; + } + + public static void ResetGraphic(Graphic graphic) + { + for (int i = 0; i < 4; i++) + { + string suffix = string.Empty; + switch (i) + { + case 0: suffix = "_north"; break; + case 1: suffix = "_east"; break; + case 2: suffix = "_south"; break; + case 3: suffix = "_west"; break; + } + + Texture2D texture2D = ContentFinder.Get(graphic.path + suffix, false); + + if (texture2D == null && i == 3) + { texture2D = ContentFinder.Get(graphic.path + "_east", false); } + + if (texture2D == null) + { texture2D = ContentFinder.Get(graphic.path + "_north", false); } + + if (texture2D != null) + { graphic.MatAt(new Rot4(i)).mainTexture = texture2D; } + } + } + } +} \ No newline at end of file diff --git a/Source/Scripts/Utilities/HandAnimationUtility.cs b/Source/Scripts/Utilities/HandAnimationUtility.cs new file mode 100644 index 0000000..032ec7b --- /dev/null +++ b/Source/Scripts/Utilities/HandAnimationUtility.cs @@ -0,0 +1,219 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using UnityEngine; +using Verse; +using RimWorld; +using HarmonyLib; +using Rimworld_Animations; + +namespace Rimworld_Animations_Patch +{ + public static class HandAnimationUtility + { + public static BodyPartDef handDef; + + public static bool BodyPartIsBeingTouched(Pawn pawn, string bodypartFilePath, out List handAnimationData) + { + handAnimationData = new List(); + + ActorAnimationData actorAnimationData = pawn.GetAnimationData(); + HandAnimationDef handAnimationDef = DefDatabase.AllDefs.FirstOrDefault(x => x.animationDefName == actorAnimationData.animationDef.defName); + + if (handAnimationDef == null) + { return false; } + + foreach (HandAnimationData datum in handAnimationDef.handAnimationData) + { + if (datum.stageID != actorAnimationData.currentStage || datum.actorID != actorAnimationData.actorID) + { continue; } + + if (datum.bodySide.NullOrEmpty() == false && bodypartFilePath.ToLower().Contains(datum.bodySide) == false) + { continue; } + + if (datum.targetBodyPart.NullOrEmpty() == false && bodypartFilePath.ToLower().Contains(datum.targetBodyPart.ToLower())) + { handAnimationData.Add(datum); } + + else if (datum.targetBodyParts.Any(x => bodypartFilePath.ToLower().Contains(x.ToLower()))) + { handAnimationData.Add(datum); } + } + + return handAnimationData.NullOrEmpty() == false; + } + + public static Vector3 GetHandPosition(Pawn pawn, HandAnimationData handAnimationData, Vector3 basePosition, float baseAngle) + { + var methodInfo = AccessTools.Method(typeof(HandAnimationUtility), handAnimationData.motion, null, null); + + if (methodInfo == null) + { + Debug.LogWarning("Hand anaimation motion '" + handAnimationData.motion + "' was not found"); + return default; + } + + Vector3 handPosition = (Vector3)methodInfo.Invoke(null, new object[] { pawn, handAnimationData, baseAngle }); + + return handPosition * pawn.RaceProps.baseBodySize + basePosition; + } + + public static float GetGenitalSize(Pawn pawn, string genitalName) + { + switch(genitalName.ToLower()) + { + case "penis": return pawn.health.hediffSet.hediffs.First(x => x.def.defName.ToLower().Contains("penis")).Severity; + case "breasts": return pawn.health.hediffSet.hediffs.First(x => x.def.defName.ToLower().Contains("breasts")).Severity; + case "vagina": return 0.1f; + case "anus": return 0.1f; + } + + return 0.1f; + } + + public static Vector3 Motion_StrokeGenitalsUpAndDownShort_FacingNS(Pawn pawn, HandAnimationData handAnimationData, float baseAngle) + { + Vector3 handPosition = new Vector3(); + ActorAnimationData data = pawn.GetAnimationData(); + + float p = (Mathf.PingPong(data.stageTicks, handAnimationData.cycleTime) / handAnimationData.cycleTime); + float length = 0.035f; + + handPosition.x = 0; + handPosition.z = length * p; + + handPosition = handPosition.RotatedBy(baseAngle); + + return handPosition; + } + + public static Vector3 Motion_StrokeGenitalsUpAndDown_FacingNS(Pawn pawn, HandAnimationData handAnimationData, float baseAngle) + { + Vector3 handPosition = new Vector3(); + ActorAnimationData data = pawn.GetAnimationData(); + + float p = (Mathf.PingPong(data.stageTicks, handAnimationData.cycleTime) / handAnimationData.cycleTime); + float size = GetGenitalSize(pawn, handAnimationData.targetBodyPart) * 0.2f; + float m = (data.actorFacing == Rot4.North ? -1f : 1f) * (handAnimationData.mirror ? -1f : 1f) * (pawn.TryGetComp().Mirror ? -1f : 1f); + + handPosition.x = 0.025f * m; + handPosition.z = size * p; + + handPosition = handPosition.RotatedBy(baseAngle); + + return handPosition; + } + + public static Vector3 Motion_StrokeGenitalsUpAndDown_FacingEW(Pawn pawn, HandAnimationData handAnimationData, float baseAngle) + { + Vector3 handPosition = new Vector3(); + ActorAnimationData data = pawn.GetAnimationData(); + + float p = Mathf.PingPong(data.stageTicks, handAnimationData.cycleTime) / handAnimationData.cycleTime; + float size = GetGenitalSize(pawn, handAnimationData.targetBodyPart) * 0.2f; + float m = (data.actorFacing == Rot4.West ? -1f : 1f) * (handAnimationData.mirror ? -1f : 1f); + + handPosition.x = Mathf.Sin(m * (baseAngle + 45f) / 180f * Mathf.PI) * size * p; + handPosition.z = Mathf.Cos(m * (baseAngle + 45f) / 180f * Mathf.PI) * size * p; + + return handPosition; + } + + public static Vector3 Motion_RubGenitals_FacingNS(Pawn pawn, HandAnimationData handAnimationData, float baseAngle) + { + Vector3 handPosition = new Vector3(); + ActorAnimationData data = pawn.GetAnimationData(); + + float a = ((float)data.stageTicks % (float)handAnimationData.cycleTime) / (float)handAnimationData.cycleTime * 360f; + float m = (data.actorFacing == Rot4.North ? 1f : -1f) * (handAnimationData.mirror ? -1f : 1f) * (pawn.TryGetComp().Mirror ? -1f : 1f); + + handPosition.x = (Mathf.Sin(a / 180f * Mathf.PI) * 0.05f - 0.025f) * m; + handPosition.z = Mathf.Cos(a / 180f * Mathf.PI) * 0.015f + 0.03f; + + handPosition = handPosition.RotatedBy(baseAngle); + + return handPosition; + } + + public static Vector3 Motion_RubGenitals_FacingEW(Pawn pawn, HandAnimationData handAnimationData, float baseAngle) + { + Vector3 handPosition = new Vector3(); + ActorAnimationData data = pawn.GetAnimationData(); + + float a = ((float)data.stageTicks % (float)handAnimationData.cycleTime) / (float)handAnimationData.cycleTime * 360f; + float m = (data.actorFacing == Rot4.West ? 1f : -1f) * (handAnimationData.mirror ? -1f : 1f); + + handPosition.x = (Mathf.Sin(a / 180f * Mathf.PI) * 0.005f - 0.05f) * m; + handPosition.z = Mathf.Cos(a / 180f * Mathf.PI) * 0.015f; + //handPosition.y = -0.1f; + + handPosition = handPosition.RotatedBy(baseAngle); + + return handPosition; + } + + public static Vector3 Motion_RubBreasts_FacingNS(Pawn pawn, HandAnimationData handAnimationData, float baseAngle) + { + Vector3 handPosition = new Vector3(); + ActorAnimationData data = pawn.GetAnimationData(); + + float a = ((float)data.stageTicks % (float)handAnimationData.cycleTime) / (float)handAnimationData.cycleTime * 360f; + float m = (data.actorFacing == Rot4.North ? -1f : 1f) * (handAnimationData.mirror ? -1f : 1f) * (pawn.TryGetComp().Mirror ? -1f : 1f); + float size = GetGenitalSize(pawn, "breasts"); + + handPosition.x = (Mathf.Sin(a / 180f * Mathf.PI) * 0.05f * size - size * 0.25f) * m; + handPosition.z = Mathf.Cos(a / 180f * Mathf.PI) * 0.015f - size * 0.125f; + + handPosition = handPosition.RotatedBy(baseAngle); + + return handPosition; + } + + public static Vector3 Motion_RubBreasts_FacingEW(Pawn pawn, HandAnimationData handAnimationData, float baseAngle) + { + Vector3 handPosition = new Vector3(); + ActorAnimationData data = pawn.GetAnimationData(); + + float a = ((float)data.stageTicks % (float)handAnimationData.cycleTime) / (float)handAnimationData.cycleTime * 360f; + float m = (data.actorFacing == Rot4.West ? 1f : -1f) * (handAnimationData.mirror ? -1f : 1f); + float size = GetGenitalSize(pawn, "breasts"); + + handPosition.x = (Mathf.Sin(a / 180f * Mathf.PI) * 0.005f - size * 0.25f) * m; + handPosition.z = Mathf.Cos(a / 180f * Mathf.PI) * 0.015f - size * 0.125f; + + handPosition = handPosition.RotatedBy(baseAngle); + + return handPosition; + } + + public static Graphic GetHandGraphic(Pawn touchingPawn, string touchedBodyAddonName, HandAnimationData handAnimationData) + { + string handGraphicPath = "Hands/HandClean"; + Color skinColour = touchingPawn.story.SkinColor; + float handSize = 0.6667f * touchingPawn.RaceProps.baseBodySize; + + return GraphicDatabase.Get(handGraphicPath, ShaderDatabase.Cutout, new Vector2(handSize, handSize), skinColour); + } + + public static bool TryToDrawHand(Pawn pawn, string bodyAddonName, Vector3 bodyAddonPosition, float bodyAddonAngle, Rot4 bodyAddonRotation, PawnRenderFlags renderFlags) + { + if (pawn.TryGetComp() != null && pawn.TryGetComp().isAnimating && BodyPartIsBeingTouched(pawn, bodyAddonName, out List handAnimationData)) + { + foreach (HandAnimationData datum in handAnimationData) + { + Pawn touchingPawn = datum.touchingActorID >= 0 && pawn.GetAllSexParticipants().Count > datum.touchingActorID ? pawn.GetAllSexParticipants()[datum.touchingActorID] : pawn; + + Graphic handgraphic = GetHandGraphic(touchingPawn, bodyAddonName, datum); + Vector3 handPosition = GetHandPosition(pawn, datum, bodyAddonPosition, bodyAddonAngle); + + GenDraw.DrawMeshNowOrLater(mesh: handgraphic.MeshAt(rot: bodyAddonRotation), + loc: handPosition + new Vector3(0f, 0.022f, 0f), + quat: Quaternion.identity, + mat: handgraphic.MatAt(rot: bodyAddonRotation), renderFlags.FlagSet(PawnRenderFlags.DrawNow)); + + return true; + } + } + + return false; + } + } +} diff --git a/Source/Scripts/Utilities/MathUtility.cs b/Source/Scripts/Utilities/MathUtility.cs new file mode 100644 index 0000000..b602858 --- /dev/null +++ b/Source/Scripts/Utilities/MathUtility.cs @@ -0,0 +1,46 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using UnityEngine; +using Verse; + +namespace Rimworld_Animations_Patch +{ + public static class MathUtility + { + public static float Repeat(float value, float min, float max) + { + if (Mathf.Abs(max) < Mathf.Abs(min)) + { + Log.Error("RepeatDual: min value must be greater than max value"); + return -1; + } + + float range = max - min; + float m = value % range; + + if (m < 0) + { m = range + m; } + + return min + m; + } + + public static IntVec3 FindRandomCellNearPawn(Pawn pawn, int maxRadius) + { + if (maxRadius > 0) + { + for (int radius = 1; radius < maxRadius; radius++) + { + List cells = GenRadial.RadialCellsAround(pawn.Position, radius + 0.75f, false).Where(x => x.Standable(pawn.Map) && x.GetRoom(pawn.Map) == pawn.GetRoom())?.ToList(); + + if (cells.NullOrEmpty() == false && cells.Count > 0) + { return cells.RandomElement(); } + } + } + + return GenAdj.RandomAdjacentCellCardinal(pawn); + } + } +} diff --git a/Source/Scripts/Utilities/PatchDefOf.cs b/Source/Scripts/Utilities/PatchDefOf.cs new file mode 100644 index 0000000..735dac4 --- /dev/null +++ b/Source/Scripts/Utilities/PatchDefOf.cs @@ -0,0 +1,14 @@ +using Verse; +using RimWorld; +using AlienRace; + +namespace Rimworld_Animations_Patch +{ + [DefOf] + public static class PatchBodyPartGroupDefOf + { + public static BodyPartGroupDef GenitalsBPG; + public static BodyPartGroupDef AnusBPG; + public static BodyPartGroupDef ChestBPG; + } +} diff --git a/Source/Scripts/Utilities/SettingsUtility.cs b/Source/Scripts/Utilities/SettingsUtility.cs new file mode 100644 index 0000000..f44eaee --- /dev/null +++ b/Source/Scripts/Utilities/SettingsUtility.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Rimworld_Animations_Patch +{ + public static class SettingsUtility + { + public static float Align(float objectDim, float columnDim) + { + return (columnDim - objectDim) * 0.5f; + } + } +} diff --git a/Source/Scripts/Utilities/SexInteractionUtility.cs b/Source/Scripts/Utilities/SexInteractionUtility.cs new file mode 100644 index 0000000..c1aff20 --- /dev/null +++ b/Source/Scripts/Utilities/SexInteractionUtility.cs @@ -0,0 +1,241 @@ +using System.Collections.Generic; +using System.Linq; +using Verse; +using Verse.AI; +using Verse.AI.Group; +using RimWorld; +using rjw; +using RJWSexperience.Ideology; +using UnityEngine; + +namespace Rimworld_Animations_Patch +{ + public static class SexInteractionUtility + { + public static bool PawnCaughtLovinByWitness(Pawn pawn, Pawn witness) + { + if (witness == null || pawn == witness || witness.AnimalOrWildMan() || witness.RaceProps.IsMechanoid || witness.Awake() == false || witness.CanSee(pawn) == false) + { return false; } + + if (pawn.IsHavingSex() == false && pawn.IsMasturbating() == false) + { return false; } + + List sexParticipants = pawn.GetAllSexParticipants(); + bool witnessIsCourtingSexParticipant = witness.jobs.curDriver is JobDriver_SexBaseInitiator && sexParticipants.Contains((witness.jobs.curDriver as JobDriver_SexBaseInitiator).Partner); + + if (sexParticipants.Contains(witness) || witnessIsCourtingSexParticipant) + { return false; } + + return true; + } + + public static bool PawnIsCheatingOnPartner(Pawn pawn, Pawn partner) + { + if (BasicSettings.worryAboutInfidelity == false || pawn.IsMasturbating() || pawn.IsHavingSex() == false || pawn.GetAllSexParticipants().Contains(partner)) + { return false; } + + if (pawn.GetAllSexParticipants().Any(x => pawn.GetSpouseCount(false) > 0 && pawn.GetSpouses(false).Contains(x))) + { return false; } + + return partner.IsLoverOfOther(pawn) && pawn.HasTrait("Polygamist") == false && partner.HasTrait("Polygamist") == false; + } + + public static bool PawnCanInvitePasserbyForSex(Pawn passerby, List participants) + { + if (passerby == null || participants.NullOrEmpty() || participants.Contains(passerby) || passerby.AnimalOrWildMan() || passerby.RaceProps.IsMechanoid || passerby.Awake() == false || participants.All(x => x.CanSee(passerby) == false)) + { return false; } + + if (participants.Any(x => x.IsForbidden(passerby) || x.HostileTo(passerby) || PawnIsCheatingOnPartner(x, passerby)) || CasualSex_Helper.CanHaveSex(passerby) == false || xxx.IsTargetPawnOkay(passerby) == false || participants.Count > 2) + { return false; } + + if (SexUtility.ReadyForHookup(passerby) && + (passerby?.jobs?.curJob == null || (passerby.jobs.curJob.playerForced == false && CasualSex_Helper.quickieAllowedJobs.Contains(passerby.jobs.curJob.def))) && + participants.Any(x => SexAppraiser.would_fuck(x, passerby) > 0.1f && SexAppraiser.would_fuck(passerby, x) > 0.1f) && + participants.All(x => SexAppraiser.would_fuck(x, passerby, false, false, true) > 0.1f && SexAppraiser.would_fuck(passerby, x, false, false, true) > 0.1f)) + { + return true; + } + + return false; + } + + public static TabooStatus CheckSexJobAgainstMorals(Pawn pawn, JobDriver_Sex jobDriver, out Precept precept) + { + bool sexIsNecro = jobDriver.Partner != null && jobDriver.Partner.Dead; + bool sexIsBeastial = jobDriver.Partner != null && jobDriver.Partner.RaceProps.Animal; + bool sexIsRape = sexIsBeastial == false && sexIsNecro == false && + (jobDriver is JobDriver_Rape || jobDriver is JobDriver_RapeEnemy || jobDriver is JobDriver_SexBaseRecieverRaped) && + jobDriver.Partner.IsPrisoner == false && jobDriver.Partner.IsSlave == false; + bool sexIsSlaveRape = sexIsBeastial == false && sexIsNecro == false && + (jobDriver is JobDriver_Rape || jobDriver is JobDriver_RapeEnemy || jobDriver is JobDriver_SexBaseRecieverRaped) && + (jobDriver.Partner.IsPrisoner || jobDriver.Partner.IsSlave); + bool sexIsXeno = jobDriver.Partner != null && jobDriver.Partner.def.defName != jobDriver.pawn.def.defName; + + TabooStatus tabooStatus = TabooStatus.NotTaboo; + precept = null; + + if (BasicSettings.worryAboutNecro && sexIsNecro && xxx.is_necrophiliac(pawn) == false) + { tabooStatus = GetTabooStatusOfIssue(pawn, DefDatabase.GetNamedSilentFail("Necrophilia"), TabooStatus.MajorTaboo, out precept); } + + else if (BasicSettings.worryAboutBeastiality && sexIsBeastial && xxx.is_zoophile(pawn) == false) + { tabooStatus = GetTabooStatusOfIssue(pawn, DefDatabase.GetNamedSilentFail("Beastility"), TabooStatus.MajorTaboo, out precept); } + + else if (BasicSettings.worryAboutRape && sexIsRape && xxx.is_rapist(pawn) == false) + { tabooStatus = GetTabooStatusOfIssue(pawn, DefDatabase.GetNamedSilentFail("Rape"), TabooStatus.MajorTaboo, out precept); } + + else if (BasicSettings.worryAboutRape && BasicSettings.ignoreSlaveRape == false && sexIsSlaveRape && xxx.is_rapist(pawn) == false) + { tabooStatus = GetTabooStatusOfIssue(pawn, DefDatabase.GetNamedSilentFail("Rape"), TabooStatus.MajorTaboo, out precept); } + + else if (BasicSettings.worryAboutXeno && sexIsXeno && pawn.HasTrait("Xenophobia") && pawn.story.traits.DegreeOfTrait(DefDatabase.GetNamedSilentFail("Xenophobia")) > 0) + { tabooStatus = TabooStatus.MajorTaboo; } + + else if (BasicSettings.worryAboutXeno && sexIsXeno) + { tabooStatus = GetTabooStatusOfIssue(pawn, DefDatabase.GetNamedSilentFail("HAR_AlienDating"), TabooStatus.NotTaboo, out precept); } + + //DebugMode.Message("Sex job is: " + jobDriver + " Issue is: " + (precept?.def?.issue?.defName).ToStringSafe() + " Opinion is: " + (precept?.def?.defName).ToStringSafe() + " Judgement is: " + tabooStatus.ToString()); + + return tabooStatus; + } + + public static TabooStatus GetTabooStatusOfIssue(Pawn pawn, IssueDef issueDef, TabooStatus defaultTabboStatus, out Precept precept) + { + if (pawn.IssueIsMajorTaboo(issueDef, out precept)) + { return TabooStatus.MajorTaboo; } + + if (pawn.IssueIsMinorTaboo(issueDef, out precept)) + { return TabooStatus.MinorTaboo; } + + return defaultTabboStatus; + } + + public static bool ResolveThoughtsForWhenSexIsWitnessed(Pawn pawn, Pawn witness, out bool witnessJoiningSex) + { + witnessJoiningSex = false; + + if (pawn.IsAnimal() || pawn.RaceProps.IsMechanoid || pawn.Dead) + { return false; } + + if (witness.IsAnimal() || witness.RaceProps.IsMechanoid || witness.Dead) + { return false; } + + JobDriver_Sex jobDriver = pawn.jobs.curDriver as JobDriver_Sex; + + string pawnThoughtDefName = pawn.IsMasturbating() ? "SeenMasturbating" : "SeenHavingSex"; + string witnessThoughtDefName = pawn.IsMasturbating() ? "SawMasturbation" : "SawSex"; + + bool pawnIsExhibitionist = pawn.HasTrait("Exhibitionist") || xxx.has_quirk(pawn, "Exhibitionist"); + if (pawnIsExhibitionist) + { pawnThoughtDefName += "Exhibitionist"; } + + bool witnessIsVoyeur = witness.HasTrait("Voyeur") || xxx.has_quirk(witness, "Voyeur"); + if (witnessIsVoyeur) + { witnessThoughtDefName += "Voyeur"; } + + bool sexIsRitual = pawn.GetLord() != null && pawn.GetLord().LordJob is LordJob_Ritual && witness?.Ideo == pawn?.Ideo; + bool pawnIsVictim = pawn.CurJob.def == xxx.gettin_raped || pawn.Dead; + bool pawnIsCheating = pawnIsVictim == false && PawnIsCheatingOnPartner(pawn, witness); + + witnessJoiningSex = Random.value < BasicSettings.chanceForOtherToJoinInSex && PawnCanInvitePasserbyForSex(witness, pawn.GetAllSexParticipants()); + + // Determine if there are any issues with the witness' morals + TabooStatus tabooStatus = CheckSexJobAgainstMorals(witness, jobDriver, out Precept precept); + + if (tabooStatus == TabooStatus.MajorTaboo) + { witnessThoughtDefName = "SawMajorTaboo"; witnessJoiningSex = false; } + + else if (tabooStatus == TabooStatus.MinorTaboo) + { witnessThoughtDefName = "SawTaboo"; witnessJoiningSex = false; } + + else if (pawnIsCheating) + { witnessThoughtDefName = "CheatedOnMe"; witnessJoiningSex = false; } + + else if (BasicSettings.needPrivacy == false) + { witnessThoughtDefName = ""; } + + // Apply thoughts to witness + ThoughtDef witnessThoughtDef = DefDatabase.GetNamedSilentFail(witnessThoughtDefName); + + if (witnessThoughtDef != null && pawnIsVictim == false && witnessJoiningSex == false && sexIsRitual == false) + { + witness.needs.mood.thoughts.memories.TryGainMemory(witnessThoughtDef, pawn, precept); + + if (witnessThoughtDef.stages[0].baseMoodEffect < 0) + { FleckMaker.ThrowMetaIcon(witness.Position, witness.Map, FleckDefOf.IncapIcon); } + + // Fight or flight reaction + if (BasicSettings.majorTabooCanStartFights && + (tabooStatus == TabooStatus.MajorTaboo || pawnIsCheating) && + witness.Drafted == false && + witness.jobs.curDriver is JobDriver_Flee == false && + witness.jobs.curDriver is JobDriver_AttackMelee == false && + witness.jobs.curDriver is JobDriver_Vomit == false) + { + // Fight + if (pawn.RaceProps.Humanlike && witness.RaceProps.Humanlike && witness.DislikesViolence() == false && (Random.value < 0.2f || witness.EnjoysViolence()) && witness.HostileTo(pawn) == false && InteractionUtility.TryGetRandomVerbForSocialFight(witness, out Verb verbToUse)) + { + if (witness.LastAttackedTarget.Pawn != pawn || (pawn.mindState.lastAttackTargetTick < 0 && pawn.mindState.lastAttackTargetTick + Find.TickManager.TicksGame > 180)) + { + pawn.mindState.lastAttackTargetTick = Find.TickManager.TicksGame; + string message = witness.LabelShort + " is going to punish " + pawn.LabelShort + " for " + GenderUtility.GetPossessive(pawn.gender) + " transgression."; + Messages.Message(message, pawn, MessageTypeDefOf.NegativeEvent); + } + + Job job = JobMaker.MakeJob(JobDefOf.SocialFight, pawn); + job.maxNumMeleeAttacks = 1; + job.verbToUse = verbToUse; + + witness.jobs.EndCurrentJob(JobCondition.InterruptForced, false, false); + witness.jobs.StartJob(job); + } + + // Vomit + else if (jobDriver.Partner != null && jobDriver.Partner.Dead) + { + Job jobVomit = JobMaker.MakeJob(JobDefOf.Vomit); + Job jobFlee = JobMaker.MakeJob(JobDefOf.FleeAndCower, CellFinderLoose.GetFleeDest(witness, new List() { pawn }, 24f), pawn); + + witness.jobs.EndCurrentJob(JobCondition.InterruptForced, false, false); + witness.jobs.StartJob(jobVomit); + witness.jobs.jobQueue.EnqueueFirst(jobFlee); + } + + // Flight + else + { + Job job = JobMaker.MakeJob(JobDefOf.FleeAndCower, CellFinderLoose.GetFleeDest(witness, new List() { pawn }, 24f), pawn); + witness.jobs.EndCurrentJob(JobCondition.InterruptForced, false, false); + witness.jobs.StartJob(job); + } + } + } + + // Check issue against pawn precepts + tabooStatus = CheckSexJobAgainstMorals(pawn, jobDriver, out precept); + + if (tabooStatus == TabooStatus.MajorTaboo) + { pawnThoughtDefName = "SeenCommittingMajorTaboo"; witnessJoiningSex = false; } + + else if (tabooStatus == TabooStatus.MinorTaboo) + { pawnThoughtDefName = "SeenCommittingTaboo"; witnessJoiningSex = false; } + + else if (pawnIsCheating) + { pawnThoughtDefName = "CaughtCheating"; witnessJoiningSex = false; } + + else if (BasicSettings.needPrivacy == false) + { pawnThoughtDefName = ""; } + + // Apply thoughts to pawn + ThoughtDef pawnThoughtDef = DefDatabase.GetNamedSilentFail(pawnThoughtDefName); + + if (pawnThoughtDef != null && pawnIsVictim == false && witnessJoiningSex == false && sexIsRitual == false) + { + pawn.needs.mood.thoughts.memories.TryGainMemory(pawnThoughtDef, witness, precept); + + if (pawnThoughtDef.stages[0].baseMoodEffect < 0) + { FleckMaker.ThrowMetaIcon(pawn.Position, pawn.Map, FleckDefOf.IncapIcon); } + } + + return witnessJoiningSex; + } + } +} diff --git a/Source/obj/Debug/DesignTimeResolveAssemblyReferences.cache b/Source/obj/Debug/DesignTimeResolveAssemblyReferences.cache new file mode 100644 index 0000000000000000000000000000000000000000..a7bdf91612271316a725622f87c408ecc8c7d9e7 GIT binary patch literal 424 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 Gs{Icio@&hi literal 0 HcmV?d00001 diff --git a/Source/obj/Debug/Rimworld-Animations-Patch.dll b/Source/obj/Debug/Rimworld-Animations-Patch.dll new file mode 100644 index 0000000000000000000000000000000000000000..2212931ab980cf0a060725a7c834d0335e9dc4ea GIT binary patch literal 90112 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 literal 0 HcmV?d00001 diff --git a/Source/obj/Debug/Rimworld-Animations-Patch.pdb b/Source/obj/Debug/Rimworld-Animations-Patch.pdb new file mode 100644 index 0000000000000000000000000000000000000000..a1609247fc45ec03df034cea82bcd6d478783cb3 GIT binary patch literal 232960 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 n1Aut0+a8Z7XiTHt>Gk-l|2 literal 0 HcmV?d00001 diff --git a/Textures/Hands/Hand.png b/Textures/Hands/Hand.png new file mode 100644 index 0000000000000000000000000000000000000000..3af05d34b4311e890d6c74e4f2274d930471574c GIT binary patch literal 13049 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 Y=x_u=H0KELsRl?-+fXa-#HB0$4=C={egFUf literal 0 HcmV?d00001 diff --git a/Textures/Hands/HandClean.png b/Textures/Hands/HandClean.png new file mode 100644 index 0000000000000000000000000000000000000000..fe4f806bebf2f5bced14de248bcc66c40031e144 GIT binary patch literal 11364 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 literal 0 HcmV?d00001 diff --git a/Textures/Masks/apparel_shirt_mask_Fat_east.png b/Textures/Masks/apparel_shirt_mask_Fat_east.png new file mode 100644 index 0000000000000000000000000000000000000000..ae1e240cf9b6c540299ac296a6ad58f28f59a8d2 GIT binary patch literal 9640 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 bNG}vDk?dEz;)kw7zz3$Hsr=*7i?{y^^r(px literal 0 HcmV?d00001 diff --git a/Textures/Masks/apparel_shirt_mask_Female_east.png b/Textures/Masks/apparel_shirt_mask_Female_east.png new file mode 100644 index 0000000000000000000000000000000000000000..6c94519ab2b1d500190b31d85343ea610ca9b5b3 GIT binary patch literal 10204 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 literal 0 HcmV?d00001 diff --git a/Textures/Masks/apparel_shirt_mask_Female_north.png b/Textures/Masks/apparel_shirt_mask_Female_north.png new file mode 100644 index 0000000000000000000000000000000000000000..e6119b02994488d5525badfd3908e71388e55874 GIT binary patch literal 9648 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 literal 0 HcmV?d00001 diff --git a/Textures/Masks/apparel_shirt_mask_Female_south.png b/Textures/Masks/apparel_shirt_mask_Female_south.png new file mode 100644 index 0000000000000000000000000000000000000000..61b4e670e9b7c416f483ec70be2d897747aa5e6d GIT binary patch literal 9648 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 ZU2y46v+*MLKQV4>sq8=kvAP67) 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
      96;~TP-YEh(mt? z$EgMaEUV)R#ol)k+H0`L=lT)`wP+8(5-eLv zq0JltrR7IT9I@vBVYY-gj4?MeOEeOZM2^0FlCGhye{e7z8FvMrIUyVnd?Hwf>%;Ck z?!0`&zQ*^>A_NlgDb~bgcNV0d`+dF2K{O?_n30yo>bFt?FygFquRxLi&UGUsZ4zOl)5ak8ZiZaIv+yq%eLIw;sqquEdiI zk@)LEl{J{4wIc9O_~B=|zK6hYTVWEki?W^`te|r?Rgd|dC_ZBP5(ZgrU8M)2e#B@9d*^A>$18aW zXZE|70Pyfr6H4lqI?et9#JMuRubQc5ihTCqrh%yVb6?QSDlq*8^?I&X?d$Eb;PYcy zH7)sS-MntYIlplqbo!qebCRITbAqH@d16WPs=#dqn7x{=#_1D46-&u<5*5ets(96D zT;s?4pweYEHDfcGp``+#+eyKU!*`MjZy-n4`eG5A$+|%Gbq!<#{Ne?nZ#)MZ^%U}# z@RXk4L0tobk*xBCDpnMIDM9u3A28*+V2ExB6nn}M3jOrirNIEEyANfHmx1;nlw_bl zTWQ3R=Dj-8-0c7j)H6b`h&mWV=+B7K3@U5;_;^@aX1)P-tPu1h2SA{GZ&Y9RxB=lO zlehi)^{qOiP7Tda)TkYzk+Tz!LV_0YC7b{~;rDWOQ_foQ;VG^LAQl5I7AUBz`%4;f z3#5kS`)w!CNtj;8lho}7ko?Vk{~^pkjunMPMsGtp*J$ySnv3nm%9qA;sPNqC=3{Pf zad7Zn1+E7ojtmc4;Y{*B>IBA4^}GUy=$<5zOnd{08mjk+;zM{!!PM8Ut5uCOAyYa#d%n6bK(S8YlGM2yj(x77?bOJdVbPTaX_{lley&1~% zuD#0E5)~u7(N6^Vs11mH3Jxzuch3m$qR17*HXFJ*BV$sbS_K9?i{YY7OJ=BB>iq1~ z`P=BKF|dYx#HaodFkYYwB+9oW5|`J&7ytVT(15f87JsbdAhd3=A|77U-45aDuhfm zze_6B0%%)JK(=N`q@G@)Ay{=tsCqN}Vsg0xDDIU? zrrL)$khZFhPCWIbN-YVxDCXTesu*22O`FlOd`%?1DZIA-J{TY^gMQ_-%&pLbjAHVp(;F9lr8VnN54nw&gQk*UVngG6UrHHyay_ABa{TGu=EyG zN!e!8t?2~!@tY1ynP1DB*pyP^!1zkpazi0CL<#Q#wZgOKnAIQ!RuwN$;en3Q{(JwXQzaAADfw(olFoTFvsgPh;=ad zTQh=73SJ7PcWMd23=Uj8@(joTI6NgSZN>{MZ`lPVQM(tVPBA+-*CaTgL*+cz{-`)D z&BUGx@1ZD|;)=S0F{Bv0k`N7LL=utH(_W09`?ot0h*1IbZ&EPP;^O3VVlV)Lpbv~7 z%0Sm=JX8QC8Lta{12C9TpqAZ#{rOWA literal 0 HcmV?d00001 diff --git a/Textures/Masks/apparel_shirt_mask_Hulk_east.png b/Textures/Masks/apparel_shirt_mask_Hulk_east.png new file mode 100644 index 0000000000000000000000000000000000000000..5eb4e33dc4efd7cb5a5ebdbea93ee0e6ae5dfefb GIT binary patch literal 9681 zcmeHrcQjn@xAz%Bik1XPL`flf2%?vfuOK1_f~X^i62|DAk@8I;AsIn*QKO3*h9MDQ zLJ+-+I@%b0j56~+?z(r~_pWuwEc4=?%zdOW=NFu=tT zf&zw#A1uqnL|8RxT$*e!*l9Zj75+zzs{1xsp&g;7eMR#t4NJ_*NNM(GRTY)9rL=>V zqPdGj!)}f$~b6qFh>j{T>_iSrehq0hwT!ry$a`%x> z%5yb2agI2J*x*(j+3LEor?YpIA+A56!r2a#H)9IzPP^VVIRaOLe8mlFvS4%>iD$HOFy+~IV{)-_o%aG) z^b*C#9(*}|@w#QPZI9Q{LZkOPdCjjr7Mn-rCz@`h>tP>?d5{_8~qj}5uY=Q?R_;3GSc0xnasR$i>tr2(w=pS8|VH~3auJ4 zvk1Jw-eziz8(y^h_FTkos1`Xu#1g|^R>l}81}*na=cZ6!4RiNhh(d=a)*0%u8If_j zug+(F?2i_i>3(I?t}f0ATMIgMF}(3mNKeaUS`;y(5*w)u}jm)GS6E7+eI{tBb!Zgxq0 z268b~4n7V_XZqkDZT%lyF28}gTUhm!TYN6eEqeOHUDNF9R!#=jV|Cs|>eQKX*Cd%( zZ}%4#<%>3t3pNzSZ%Vh<#zbXMlFRH;;|!`kXpujPT@us!W{fjSeEvyzC9Z6D>+CO2 zoHfd?>V?m{vUk>tVw?{}N?t0<{SEVeIi=Eij)3r`-b=!oaU-82qWa%i6?FJ0 z?Ix7!mU&6rv*^0|G5N=5#)l4QsBcTSg~NDz=4GQ7Pqq{fF>}2nNPD{TpO=;#TC20y zI1#KaQVaXiK0>mdtbR1qX73`i%W;|S`XWON-?|drgVz^-on;IPof0tVW3Q_Cnjf`( zkNsMY#c}PBNvBS~BX79zxs`sRnT28x{eOxf|7aLijs3{cJArgklzEp?6TPH!AuL>V z>7#6suTztdFlpqgmTKcmtQ>4|)8YB6;DL9yTaPk7yS1WQuO}TS?#D3fiHJ|99)Eg1 zO?W%V`DhpRm&<7A$;<*~Bb(b@QJw(`<6{_ShNtFDtk(Xho5oE`oSL0;n_VesN!9qD ziHxt+-gbM(pSRGfax1Ay;Bi&E(^~Ts&m|LciAk+7Hu&U*(7?<41M@6FjXjY$>RRW7 z^gS%DD~f8)nsqoF$$6WdQ?XHT{^VbSpV^kheb49&IqG%|3B>uC!DVMXUz*x+3i+u7 zzWTK0p!!A6rRjOUrt;}-{YYZ;a$d}%n;VT?&p(bWMLs?jcgx#Y{Abg#_z+8x+~VG< zC{e6Hreg8k&L-Q3-lu*z^f65%qnx!G1JosX)oPb{8A>LZUw*i2|5aC7oyV?CZK!E1 z2uG9bM}^m+1|{9X;U`F6%$$$HU+QIp*%W+Q#~PwZcpnBM+;dffL4r*xW7 z$XFRSS4Py$DeeftV`9yhf3Uo+h`|QHKUxu*o~(WMQ{Ff=nPll$yJ%(4 z`ZD3}x9oC{fxPhpSxZ5Cc z-0A0{t=9YISBw*5FU=05Vw*|``)S@^vp!9zM->){4@qV!39fw+q&R>_3 zv*q0{hMjND|4Ogt4xs81M4Mska}M%-@Q38|L3X!jxUqmH!l+evwOAWg#*%4l=R}K^b<^{EM$%DWVygsrY<1&jAt--6BvIB-J`pg zDi8jkSFx7m3cS7;I?qP3-N=RMaP(PcS+~8t!759ka5C4I?pmq^`^!+w`23?u{)=B& ztgQTH1KGZe!n9I-@Nb7P@i}+J=}1nSdV#h(XU^UC4q95C-h{OpnYGC`e!XZ7Bld32VE;iTwgx3ErD2;zRObMwYMApOPy-^XsH5Y{@2?6f(A&uAXGdGno-;|UnK z)#<+tIZ{3mq=Ztc^vGFK-rdszRiVzZW4{A>6<)On{}wp?@Y%QY zlbUBv-Br&T6p6?WnqzxxnsvV-{k~0!_u^e&lJS+W8s9YX!5BfU`W}boDde5Q zBCrky1S$lngDW6hPeM>QxHXmF z|KHpDPX_dV0Bqa;PelJ2M=eK~YBi2K6Nf9!>w|nvi!5Rj6B7%qv2w2ch4_4vf-7KzRgsL3))<&& zD37&`jZI%yS684@n3jo&$>E;KKHWN8*PZVw`ON=$4luh-f_}nLS&3{?%=1R z;i>V6FiOwYP(~JRj+vzrJo*U^HZM;E3B%LTN)_oto2Hjs*uJuHtqqy9zEd2U&}+~GRWbI{e1$wlS#6!v;dwVfp^u(mk+(8 zw{Bs`Q5n1?shQ`~_232Xw$lr~p!uO9%W6JVu;ekfyt}w;<$-4lZ+yc}WJ4>LQ}R3e zC`G{{3&kowgdvBfX|YwpY+F3xDVthrceZZ1^Y4uI6lM91xnFJXMU18WS4IuC$~zSa z$@ff6a}3hd7WxXzfc?PvwOQVTj)m^*NKSzxP;m6_?rwXMykt*~UR#WTT0$CiGZ(wd ze@2iJiqX-rxxF4_$l<%UFR7E)o9Q}GOaMu+@Pt#$G`SL_^tK*yuck9pV!+BGw;)>Wtn z$?H|af6`!8bhu+~KJ)=#O(Su5J0nu!=WIM8^%TEWmRX67yIb(iyMsg2*nWM|o+vAJ zm>9raAF_4hSGLgP@%mtbE@IaRWYX~VToS6|gOt6IiAgLl z@B14M`Q_DkadV8K_uNdM8RFNWi=EO!{o=!ZfT){JG@xl@i^@l`PEF5QHU>%%4FLzc zTO`zA>EuCeZS6ylRo14WvFBs5>gwu>t+9TtF zYSM2I;4qLq3rSg>fMr;dQLKTX692-0G7zssn#`J092x{vi9ACg@q+%t}~6c3}BFJkfP-4hhfk( zyuMQ0u;G%M(qEsEk%1_&sTUO!6@3oUmC^}lvk$$yxqwUyS;re}$+W!Yih0Mc?bwxm zV*$7(N@41lq=_c9I+-#9w%pj?=p>8>lg5V1mt+MfO*tvlX-&g+8N9W3+tq5Gpi$43 z&|o~~3T;*!zH5lhF}1QqTgxgpbH~oql!cyL z!YiTF)*b_ReG{n$AY-W@KmUvmaoE=`Fp$EZn;Nu8+S?{tV%a9bSarQZFtoQb-vydt zHphlYBtUEb!koajTq*$`VD}|R<47Yl=ksSN8K;hRV*}M#ED5JvU{*4ofJ*x8l1p2C zObwy()ykCI_R_?(VR(jn{mvpnJSDKpW%o=>vH`0cy~7Or9%bcG$ONg1ID6G%bC8}*<=P(fg?DR^gRV*LK=CqOKc&1jKmSqNiLX*EJTdNL zwUlNKXt|)j1d#@aTai40rs=B=lK{T*YrF|+Zyo+J#9d7!*eZ)WXl(gEm_nOEt0=-#&P`ej%n&K96LLBZ3GN+r?M`uh5m zN2%YKB$L;$69+4)58L8YYpc^<5+Lk`nlS!@K)idz6G8GSKyuq54Sm#jF*lzXtsl*& zx}DJX81U@X+^AG3d#%*KxrCG;jZdHLTjn;>XdzLm+k+2zm3+SVuKxK-OJtiMJtj^R zGYTr!1HyGOyLaz(*iuoo-;UQ~!%VH&^)|`Q)ybxM(%+CRs={OPn+ixG%I-h|t_f+N zw2<|No{@QHL9C>1{Xl*^z&>YzxaB`=E#KUDMW>^kb-XyZ{ezSudDL4bVD-=DLXVJY z(B_~R-&fh|*BvP9v*uqs9?W&5B$**XWusNrZvmlF*+k-%alG>{&N+X5{%P33Zv808 zk_J6#MZ8w^TZ4wbt~s>6ofHDF&9<)fq5SL&+b)0V@8j155N8!ktW+dc^hi5*U2I`F z23d611#Yaj@<-1^DX$DpR>j7~lKhqjJ@*0Olf)wIDi??`{=;LK9 z4lqw|{Nq4>zvEb~uX(k*b$_vS5-5Of=0DPud>@5vBuy-@({wd8o3TX}mAlrUre=X! zHzAntSs4-Bxou)*=AU0&%m-*`n47x#0?tDNj&<`tzR;~J`D^gAy^P)Wm*D$N5Cep5 znre>R0AHWup4j=pT1_0S*+7{U-uE;!M%18OXP-vQKsB-Zu3^w)}d{HfJ*`w^Kyeo^CsseC>{P@R0<)ttgPGk2wnJG zsa59_m6G)dfpBq6Bors7Div;=yK* zv7zCEAi8kt$_Gu)_W=?*c>PB|H_2>o5l6_)lnny9TsUGPfoJ696H}e2J6=8*d%1%^ zAI!LpD8@&xtVf$^d$G^836zA&us@BD^9l>ydO&{fK7al^-sxB3)($AzioU}YE@;sR zyEk}JngniVDhgG<)&DoCfku@j)sx4$KxGR&*+_1n9lYj}5d;{#rT}X^lmc4R-4dD- zZ5u_a8Y3PSMhei=JG&qnY1d@c>;-(rIOvbcf5z7e$m%?b$QZP>bE_R=zOzoyq3Tv` z^!6aD$KpVx&j!A&VK@Sf7#SPKps56O2Y3K>>`<6~y#*Y&Pci^m%NCij>Lr|>t&xsY z3&AhyQC7cej9hmg{bB{6!6oN*ADqJ8gD(8Xj~^@~pQIFRC0{?D)NwcPdXO0KXyFNyL@Ri(!v?Ihg+X0&v{KFNu%ZYo0Tu=qaQS)EJ;ZOzd*e2fs` zP%Qzb>YkB9?0h@x)n{U+YGG(7wOv@=v2GD&i(q6*lis*{o*^D!0` z6JxmpEl(VRWslT=evwP6U;Dw0u&(i%tpNaCy=+Xsy>@awbtXzcKIc_@_IN0HtY&-I zwO;HaGzhN;{S&32VYfhKvr9wI-Fx%5Hp+RdcI&E)WBU$Vka5}RQkNJ$MW?t;ZhSc( zO`~$b!$P#8`H1Q_V5PKA#l;0XTkhNw#chDo)T)%#OG-U>@V0qpH`n&Oi0Q^=r%5ng{ z+DKosT-MfIY^~fh{OjlI^g!h37b!B3Iez|BpzO?ty1K6A2uGlXDfCA%8Nz%9URD^A zK;FpiZb1o7X~5dw8uW!u_f4T~Ucie$b_aWbn@G|-+7i%XXE`;c+P;U=hsgeUCP2eD zwDu1GJukwhx_KA3(=4gvAI=$GKawcxx?Y3|b;T;v1RC6&ofYsM7cPoK*afMD@E2fp zv%6bNHGsZOVUqZA5xpUgj;VAVI3EXA`V-J2$m-b^ICX7XF8CsTOVcm_32ziKqt|!u z%kR_J+S)p(#;xQR6#rBukH(~`2A_WqmT3cG!;$MrL}vop0OLyBhb3CE1mxjxVfQfz zROr~V@AMGn66mCb99SdBuJ(=0fe1A6EN^J2r-_1F^C)+Ahj z*8ExCsg?v9fphO6XY)=tEu=$bqn(IcpNPoVv5cV`oIUxauCQ>K3V`5esom(^sTx1o z^nx1$IdesxmF&pNO-%%{L#`4}6OEX16=Yb=XFc4J#ynctQ75~51N=4WIUJ~ zbMJC!t^n;sB<`c*k>UtgsV=#)Q&vtcObVYEZG#KiT0HC~fq;1Kz+l^%D2KEFl`*k4 zC=l~ALwH<9B;3*bxWW~DNm<_rGaC?)ovLK3L%FL_MpwEA_L;-&t&EHdBFZ<8I`_wh z!v$(C;(tWjsDaKSWSV=zBNYN}`2niA3@F4o#bF>rI+IQ}x|<*WatTix-(4q#l7efd zqm+$I=cI}_!^h?ca9W_Tne6usDungE@&_jXAKqO@frz8FGG^6u}pXyuhJbvsj$hkfKFbC`3OWc_CMHs3*TJ-l%R!7%t? zrt>gS#&tZvd?FBFjO7-z%x9pwbl}^x!(Z2FBASME4!5CTXM%~SukN}&X8S_@eu7gfe#j{escs4-b{3lJ;hvI~{HRcH z2&b(%=C~zd#a12GwG7(b@m>@5J4e$sRqD1F;1s+;@>zB0dI^HM9-wMvH%GG7s5@*^`o$@7NC)klu+K6(C}@!#&}Br>ZK;2vE%=;(7ULy6kHTP@_RY$F$6O!Xbc^k&|& zEe4?Pu5rRvhmcFQ7?8k2;7p0E>XCcj$8o{r6|hPTi>x<4Y#@{c=}XP#Yqm0JK#nIw zK!d7c5YQcoC}}A8?@ah^GiY(TbM&}@rD@jo(?VvuU~pC6#Ww^r6pu_t`@o_KqfpM+jFnVS!@OXWF zJ=x>iam%BPqA@UMPa%PYQcC1fNrM`Y#^3~9AyF#ptPn$o>uN`&$ z6s)VRDoh6t6a)jL-ln`~-v+ZR>IVlakBEqf4pjwY>_Q7z!kMoZ?;@GCIQ}xnhlfn z^&VvL-DJpTyCKQFR^%xoi!?B9?|pncVbr@*4|CYX!}llI+VmJ~qv5-fS15~fC8#fx z&ylzX+;r*YCZ?wDl#s>VJbgKqQo@_tUdwaZv~h|7w0sI^)v42@o0t>Lkj|EF#+-G_8E^=}sc IW&7m+06p+3?*IS* literal 0 HcmV?d00001 diff --git a/Textures/Masks/apparel_shirt_mask_Hulk_north.png b/Textures/Masks/apparel_shirt_mask_Hulk_north.png new file mode 100644 index 0000000000000000000000000000000000000000..a4e2ec5d0a30fb99f6288d4fb3ecca42d53e85f1 GIT binary patch literal 9262 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 Snu1$uh=!VuYUSOBVgCcOpZhNW literal 0 HcmV?d00001 diff --git a/Textures/Masks/apparel_shirt_mask_Hulk_south.png b/Textures/Masks/apparel_shirt_mask_Hulk_south.png new file mode 100644 index 0000000000000000000000000000000000000000..a4ba06306861e0717a264d380076a0fbaa9e4a19 GIT binary patch literal 9261 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 Ra7zu*(YynzxOp$~e*kx%_nrU% literal 0 HcmV?d00001 diff --git a/Textures/Masks/apparel_shirt_mask_Hulk_west.png b/Textures/Masks/apparel_shirt_mask_Hulk_west.png new file mode 100644 index 0000000000000000000000000000000000000000..b5f85867e7c8c7c98a01eb27688ccf4ef248a68b GIT binary patch literal 9674 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 Hr!W5(VSPLk literal 0 HcmV?d00001 diff --git a/Textures/Masks/apparel_shirt_mask_Male_east.png b/Textures/Masks/apparel_shirt_mask_Male_east.png new file mode 100644 index 0000000000000000000000000000000000000000..18b830e40747034e343a84998c8a659a01eb5b53 GIT binary patch literal 9090 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 NmsfjI^q1-1{{m`|@;Cqh literal 0 HcmV?d00001 diff --git a/Textures/Masks/apparel_shirt_mask_Male_south.png b/Textures/Masks/apparel_shirt_mask_Male_south.png new file mode 100644 index 0000000000000000000000000000000000000000..eb37ef4dbf200361c05925ecb0f1a94a7bf4aac7 GIT binary patch literal 9114 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 Sd;mYYKyZ0gx#CC9UjGj)qsvJE literal 0 HcmV?d00001 diff --git a/Textures/Masks/apparel_shirt_mask_Thin_north.png b/Textures/Masks/apparel_shirt_mask_Thin_north.png new file mode 100644 index 0000000000000000000000000000000000000000..f13ad80250e56929b64b85af8a0c01ddd5e0156d GIT binary patch literal 10146 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 KN5v1#U;QtQA0op5 literal 0 HcmV?d00001 diff --git a/Textures/Masks/apparel_shirt_mask_Thin_south.png b/Textures/Masks/apparel_shirt_mask_Thin_south.png new file mode 100644 index 0000000000000000000000000000000000000000..0beee38fa73add552f8a4393250b4daa285113c8 GIT binary patch literal 10145 zcmdUTcTiN{mhK_^040ecC|N)d5s;jdh|oj<0m(Th2~CDZQBV-kZplf>8I+t+Bs56Q z8KhBiPEG2!x%a)Ax>fUL=HB<_kLjwe({=iswbtHyt?&ERdh=LAiTpC%We9@EVagA+ zAqXG*#D_?Tz-7;O=oo^C*ZiM6_0qQRVR`1^X6xW=!{X)l%!b9r*TEKod?(i9jgXjX zaz$LlWj=XA5`1HdG^&~BahnP@dT@2kfGNR+E&ZGadG}OU<&C8_ik!|?(@u_wne$ln zMWVG;Yp|Ha0-@j^XU9W-B&V_1^P`S{J<)~HKjaq5H7l!ORinbfZR?Yy%ubo-liS=g zKI}8sf(lPlANO|J3A zNz=qOox5K@&i|1#rCAb3iS+CS6>Lwf`iz|TyAD;|7Q={6p8TFGp*WtwE-$X_Ezr+O znoR^4H|^SB<%&*^9(`q&#JO+Bz1kmS#cn)moZPJ3l{rlPa_GNay!b+?OENuGOoe%H z%e;N@xL!{zdGKhxS4;eb4bl7FfTF&U8YpuO8lmTU>c_zp^TYa${`rFYS%0^zr*S~^Lb_Lb zPD!b%2F9{Yej{*~IwbR~t(%D$!H@wbh)cbjYB6)(I>7@!5mr$$3 z^&S#dzpfy+A~{LkKn`icsv><=j`*QmiyHe_3VgI0$0HRz9*>%r$rXO>gS&pnhW066|%)er1=nKFAk&)?8x#GSNL zFMqry8UH*UL-;HB3d^TOb8n?i0}2n~vbxJKix(ffOKWT;UgKGq!klw7*BWmf>QtN1 z$i7NC6~z=2OylrtNSA`6Cn+B%ezxz2hb6iDk-~INB)R4_;h3|G8VQ$OR-NhMh4TW zwCP0;{>*XGzpjQ?*eKm)p2bBK%sZ1@Ns`X}*3R)R-jL%~?AYVk37c{}ag^F=$tCa0 z?sPvC zP4t~_!?{liAD^-Ajr8;IdE}QJ9?$TNj7yRaH&2oHbJnZnGCPE^;+5~m9(r4C82%tK zkIw33j*u|k_MK~7hbwMfIlZr_{Or1uCx48%cc=8^hjelY=NsfjuGb8C*on6v#y{Ea zxHm-~{H!{?HL zJ5JgXtn8@sTV7CKVb5!$0v(>*m*!sNe3~9HVOwANXj(C@FBem$sc6hjx0FU# ziA5_}8T@a{sWhFuvB$rC<@;Zs@fp5G%v@_BV$5A7`gX}tB3H)uDu$lGUI0E|7FCt%>y)1w)le3X(ip|8bmWbs$9H!J?`6N&2*}a7V%T(bJmuPV5Ax4}@L7pG*#wn`R2*7msh4#x zr!ue_yn9pj7HjgYAvm9v`1BJVVW#Sl#n#5s4qVhon_XS zc?;(5PHjv|5qwXN(Ks0ne|DYl8|4*IQBFl#u5E<+XT`U~?PtC|o9>4cR}yuz6N7X@ z@(mtIP|%HNkJ8v#S|M5A44AF8zxqm zOSecW9)7*YD0$d11-^kcyK%>!`)2VVg95&)GV5Pd0xP+nE|XFj3TvxnI>>JPVs<&v z!64DPcx>(Xj*o9uoXsJ&>Ws?77~x2K_vS;(N#=zR1g*WW^U29rr4eVy;mzuS+H=Ee zuY-^?OOEqwEY;-3#y-M+l+{ysk5awR?#&*9<0!DfO6LiSgq#}L_7{vSY&5m~A#Jp@?qxq<3AZ(v@FaT|lO3K5&}S)`{cXrnNH6XcL;qSD*MnlXPxK|Lw+V zi6S|d%33I?tkAblS83nhZh80C*)teH5^F<*XJ8vPy6X4a&$g%G-mbLgreAN(pH!W@ z5$Pn*GdV6neCP@Ug@E`7A&3QB@F0i;g57PIU|80o`V*97k<{tz2 zm-66Z5C0$H{TC1PKdy#2ctb7=ZBcpo z`JKqys$c#0R|-uVB)Ij9)yizU2l90b${mOA#>B)d59R4hRJu5s?>~gY;Uk3xC}F1& zc35Xu*I>Qhu8`BnJszV8niZktOp_EPb+xjy`Q5Ag1`a z)Sn?}-W;;GGR!UQzo&e1uujf^2Sv5M_={8k7(d;KYx)^k7}aDo0rg_E5k3-sxh zL8Y?+Fffam4`=QPrIe{QLMTmEx)d0J`?`91dKJNE$2%2Hqk6?Ab(QLH_`XKd5n`j} z&+q(#;?7cwmVtCdQtsbug=S4Me2qtzO#VxsPxsAm`@Co4J3Bk+0f!p}`bCDi_YBK( z_fwB>#(s-2;=4ZuFBa#uI>M8sjaGR8$pw{Jw1oXkm6p_$+J5L-w_aIjSmBs+KJ_`A zskTxfoT8-AsA>ayom=mx@1GPOQ{^2)E$YqTW0t!yhV08}m?iemL?H){&bBD}lg*{s z8xmgjuGRBlZyCh3Nro)D6NUe_8x4muQs+ktlJ%Q*vM1wFN{sNKdXPM738HQ@gCNU} z*H=rL8pY7ek?CXAt^WDS+6kG5BFsUeL2Cp2T7Qx~HGuuNg=kqB>3{>TQvhl!Eo}=4 zcByFT!>Qd5^wI3gV_&TJ!OCWJb#rwSkS@G>! zM{}knC%H9>bEf)QCJH-wH<#3{tgJ|#?G4tfS5EFsdG-$br|A_L+DuiuM;cYRN;~wY zD^i}Xf!H^rPoyfjei5-_pCGM}WU2#vXpOT7S?{$mW3PTi@q;m|!7No;$_Iqdnrc@p zPZvs4CSlU8Ng5o`FN)2{0{s%prM}O6_1ND@lo$CCO|AIFxkS1{C2Ir5%gxPQSDu}n z9pG{(zFEJ!V~04f6W^#_7|4X72wbNdaOWr3{SrjVX7FL%#kLk5-W2!1?2Hr{;evE^ zhl84qhf98M>~pqj=P4ksi3TMjt>=19YYK{M?}Ga7;%{d_g;Gd#5M0B90z6w}9R@O| zd>5h&>V3Ba)&{Wc1E9}V~V$xE|WAl$sV2M<7IZU2P*|7GP=}?-N6B0 z@5R*K7Ux9QB)u>XFPSD|ln~N43xaEiFH*Z*QiPgQ%K_?0ZU4AdGap7T;Nv>obR{)# z2Q3axJ~d6!XX7QnhE1&hb~ATOSe4`OO55Q~z-HluEADu-DfQAdj!gX$(;J0j#?%+zIv24_m4GLfg-Hem0-kARngSqxp4LX0d1H?mwuM zq>kKh2X3O*6~C0qOTCFzaoPFyg=wLyv-8mq`1lFUrQxt?e||;sX*30&)rW?hm4pys zV)RY9cx#u^Sz#&6f6@@=JKGEGW~fX9Eoui6W>^oCOyJR`(@8Kux2I~!Vqc!tc-VxR zxCsjjx2p0rJTVT&E>;wmu|-RLwH?aU!o_DgDHzzn3)@p+=U-Lhcy%R@Z>HS0c);&8 zQkb5d-4>d7_6X`@xo7Y-vwF3-&bxYEc7I4GF4=p+!AxTy^SP^3=c6b(IQlPICFhI;+pIcxcAcMa90L?%OA40muKFKo>mlg*%C7c zZYcu9UE7sBPH0%pPKp44?jOPinH$lIy539mU&%{1YYK+TykYYE$?p_S$$VbK-c65g z%UG@$H4WGWs=ThUa`Q0Rvxh5NBgGIPRIw?pO*Y_Q?H3@ALU>Ar+ic_S4z}pPJFt?r z^7)eW3{b``nle~SPLimb>7U*$%HXX~OHkHKTO`n(i1b{*9F6-$Zo}Bj@y`n3mY9wY zxc8Y>R#VT|^KMA_Zn>D$d7J1=9?IJOjQ<62Cr|&@#R*#i7Hox&n&_`efZ{E17%3d@ zMeRAQ(Vx4>`X6pc+y8h?g_7`EdaN_)Od*bWZ@Gg(w*mr?KB9scs(~#nGJ281o+zAq zJEJHkdYkxr7#l2{y(%syX1G?#9K78MYCl4^KySTjzruTc!t!`;8Q$2|v}~nq@kw{%GJ*=DA=t+oK)2uOgK3;oV{0|FsSla>@?CZ zHuh7}qF$xUty=r25`;XpLG})NpS-`N-~m9u=4fkvd7@%f1}n?+w3OwdoG1}TEfSh@ zC~JRYQe=Ak3TNP|PYBtK`*Ry{X2E{SE>*Lhz0x&%1FAX(1`bbs=~<#CPqDk63sIuB zzka-_n3-t|I-!l_HSyQdqV}ZNB5&V@HKt(pYBxNAzs1wt-d-&w#uyQoiM4(NV*INO zv#AU=HDF`B-vlR#_K8UMoznD~2C04Y3OsYVwLfY$yWuQvmjc(@0DQZ*IXnC53M8a) z5vom`NvybM{iQ{lIurV=q2#_3JK`@OHJ*aoWHX1zA1{Ngk< z>ukFde-L~xA^Xq0qy9;{E!*1AsDmK2#b_}6*L zYbJ~FTeZJ~J6aGzQSE@9cKZ}47Y9`NiuMn_e*KCCwP$uW;+Mlq z3#;wy?0m~CD-%jgsga|RqHSQ10GKArrYqK9e)UsvvBaSx-^b%!;J~2}IWjxa@R}Shk~E zbk=y(B%1^KK#Mw3-6=B=lo=|WR({YgE>yWBN9Kt>n4}zHbMW) z07*68x;nM_QWwU-nGlaz2LC1=n;Jx?73b#q+V8In2URw#e^6pV19_#Rr)T>ZMEVYZ zqo~>0iv9&Y57%0;pmAWw>^LfvL|9!=$qAS;n1j$OP80Dt_D>EtIb zb&tL5=nd>#){6s}p<6`BbyzGX)(Sbxkr0EaQq-!q^FM(%m>8Ox2IG$RSF37Q<^bL# z8M!qGU%!4m>?QQ++#d*3kL_04(f#0UQB<-nb!!2~Ulos`!@M7vs!Q z>o#h+*C#3j*$JWj-ehr40U!~6CJGl+CYh;uX!OhR;x3=?<4Xv+OnB{tk<*8{)C2;$ zz$P_ele|`j(C@)YnB5w&wvVEjOh(&qSa!C^^ryDkr8-p49wQMd0=8X?IcdTE92&`Y z@W&h|ZrPL=mYT~q?q%@}S8S)HVxG_=#{3ku3e|UBvCGbQU_Wx{2v~f7dC#PF2-sdT z12PHQso$tQ>U2JcOg5lyRYAQlc^47|YeZs-dEzt^g}6kgo+;>+n7SyFKnKwPf)*#7 zN{UvCf^jLBwe&lB3Dj%egw%>!#%Y)to;ci5yKE0n)fDn@7BPF_!H8bOxx>U~IwqXS zKNqZ8Qy~A&<)-xJRCjo#pZFZ$^PaQAS>|xxFKiU}*3l=+nux?MzNY%hq~Dx3^{88o zvIzsW-qb&FL{d_aoqmt)!tKi91i_kX@oqt5C&Bv#W;OsHE2hh(&|4rq_-~JKQ}x|L z55i;uBh77WY*G>DSO!42L_fUi37eUA0W(+wK?h#oM=Oe)mmWGxNbkn8Z#tV+Iu7Sw zsAGdKmai_1OJ4LgNv^eAk+h@!^NsY8>Av4TnwKawr?Y1u3&-o7J3n$^`=f)c#hlw! zp*5<*DNoJf#^aR<*W;Y@JB{`aN-5LERI?&?zu6?p3R$(iC1a8rdj|GI`~sqYa(Ap- zj$v=7QPgr#DeYyOGeZUj?~bxPdfS0Pqb@L1jD7nm#5@SPv5PaCaLw27_#7p>CW=5} zT2`GdgldAAdwL!VG$weVMTX#svn7&Clm}_)cVgLVEW2zF$2o|^s+k>LV?tmDNPv%S zfeZ8%(|h(vVl|S30K!uNbZ@1xEgzI5P82e&ZDNu_%2$6sTIP63uWPc(t;u6~AS(#0 zd-UTcCMk5BiV5l`Y`|mp>n!g4u!lTE8d^&=JN-pF>2fNHt&Nf$DrkUqQB!4$Uz<+q zngnmG;hB%}nA8d>gpr}AYCNk9gC`tv8n!SfO^R*7zxG}E2(GvrK&%M^f7NUoLE?{snl>Hg}%IP*H_jLfPgj}A9y z5yKhLGXAJ#xrQ0iQUP>mQd6p=kL&NB309!BmN5jS(TMGKbFB&lx^DJvgk{1d`G&*3 zSTj(dEe{Ey!1A0_f5*DnbI`1v{N7pY+7x88zhcXd-BObSVTe%SL6ViAsgl}iKKOHB z&=`nKN#a$wJmi`54tuwf`XoQT^8B<% zax?xl6jBS?8_$X}k!?!e0|N3M#BJ=>wAt?OZb9Iqf;)m0$ktw`x@Gyn=R}9TrbtQ+ z@?>_ull3ZcMM!R)hSxa0of#20*~&+wxGf2uSzhc;^X2{og-Eyrj5Mh;$dHkbhR3a> zihE`|kU+U6j7_(s90mHGF^?q4CP=^?MV!aXS@EGt{Vu$a$gi!u4?leyU+KfGIJWOx zhQ`_eZte8qPJ1VL&nujigEt5ilR9G{H=KHm8K}L)u*DzrUK~O?124S1m^J7;5&m?VWLq zMtrdToF})?Ut%U3048V7E})CJXj5Y&W2qJAlRx)~m1`iu=_b5{LW+hxyi0x5|DucX zh7DvWQKG=?;{(kNJfXlW?K}Zk89S(=$md`;Hei;Miri{{(Y?}iKF7?3Qi_n{LCg*@ zRB{WKLx8eK3WGwTrwB?Xo_uouOAh3fx&qWJBFkW7gAdX9LFG=PJz!5j8WX=(5S4Co z0+Q1FVlPI3I((w1cNww|^yh&6=}DROppgTqv4MBAmm}M-m|g*v&j|t1C^!med?+8t z;4mmkGn)OPRi&kW1%(*;Mc)_V&7!2(5ckr73jdZ_J2bcKy=vJVQrVT5gZ4P16d-U? z1T7Y@0nqF1gZ4;rKnz%OO!C2l$jxx<;-GWGJvKF+ng082)XR@*gmm>8NDSzui$pGi zf}n?p6G()72~e1q*EE(KsX^`!WveIgG&x(a_RZ~UB2%RUB>n=aS?l6S2D}j!KDo?~39Qfq2&^w8hJ19A*)T%p4 zv=?-`R+NwseuMwMgbeJR*e{Zni@&n8xmv==Cr`6b_;Lh#T3YU>&CdxuJ8p&FAaZ9^ zmeJmvX%I!Mps@L^{2CjbaP?Ke^GkR}EuK!1B>6{My#)CYB^N}ucin2-XqFCj8QsIFKiM+0Qtr&px3 zsj}7`@AsDaTkZq$s^!rjVuwEA`RxzupO|`&+svGYL*|D-cd-^3Rv34OD3plYUmEsD zJ8vkHD#)k^xmV`x@KJNi#>Osi-N{Tfl7@#2tZ_qfITIC&2~|~Qo_gI_*zLL%t`8W`aunRTSK1sk?9f?ZZ+z-91H-<^*tS)pBBUBm~g zcEq#?&=&vx^5CB>?YuoxqyqhT)xjjY=F=7-0lPHNetJ%nyJIN;cOHgk6|Pk?N&Ej) z8>ssbnH)d@3jD-6WsA&SBF>SI1eNe@hi=v{8^ zUg67xP{7dEd`n%j-|vJOW3v6nAO&+l8*b~4Wcph`D>DrN7o$i|HT;z{u&B3ESPZHz zfsnaXK4k4H7-fKp6tRmZ9O5G&B3lv;K0TrV@EWR45CDxWB#OGFMnpvPz$OxjhM0j` zIYRMUwRzpY1l+1CDk?^#KYLF##AZ_KRg>wnIg_G>kJoJK3EF?#)`;tfc{`GoZ~&Y8 zi~`mjoGQ0zD;`3nwEIi_Y>3kZW=fbxxkK~0zLwT@>$lK`y=cgs&k2;nNQqe*`zYr& zH}RTX5J0iZc{2ELP z8=Lq+f^iyFxu!&c$-)fjv&=Wm!PxaCXF%nP;INim>43Q1X9{7*HgVvew8DI*+?717 zfCo)shXL!|9O+;9@}<3Spi+h{!Wq5uV5J3rpEWb>s3GUuppzjgSg;$}7(w&7*8`-A zRY*{$d^HKQ@~Zz4bfR_=`0NTVa8S2-RP!R}H-a9ou8SX9BTv)VN#}1i9p*rLST!?2 zE7x*}!x}av9|2u8q@=`=U`1A{A1HvXYx~=c*-BdIAh9kA3V?EZi8%bmZ*Z!TMXRy&-zdQE=FM0WRIyk%8U-Ap`vcF{i(Afck9uBX*w?NI* z(BC9ipAmcHc^1d3Ch z#Qr*RQ)O=v>8_*Le1X{R zCaKXXub?3A<%>V^HZ0QBIx;+pDY%3llLvO@h2cM+fAv zcdk+ot)2E_a+Q6>yW$$HoRAnCjVk^0l!pdF3U}npQB!^{ue&ZWa3`1nrL|igq}lE3 z=~3;-6O{^OC0J9rmFYHoDQAM;p}8();apzcpIXM0QZc0SwSH$jN3jKY?M@DY^)0WU z?>hr6&ah@S^`_oJY6iDqW54{RG87eDv@(cR+HKYuY@$}D|wLFx|*xM zg1JP{sd^?8e!B87;|(pt7@4vf@`F$9p6{*b`Jnuw9^DznK|9o>EE(4zpouve*~)l% zq`U2y1wT(pULcDz**7lhYgKzLJt>smt>`w@DqT^ZhIzO9(5_&gI%tbn3wD<&=KnO* ztTQobUVTqE8OW=LGF#G#bBgh)x$|C;I$%cES*c{A*UYxe-dI1`mC;@E(XwllWwl*O z@0*f$`X0zi1IN0<(G+@b-C5(M@t4!)=CTzvw=HxySn6NC>%-Ce;4pnM_p1uK2*pOF zyw-&&^wDw(_k{(wMCVYivYdPG`7<@+-!`va&XgKmMK+9!-1}sSbN^W4Syz%pCFq;$ zyNQu>7dv!ttfFhqe_BwhJ)GtHl?(N)0pVjxdJ4GnfqI6qormQvV z6mn*osdBTkz+c%h3fJh}X(XlG{PK5Epo??=E~fvS;H2n9on?z$Pam26!MOs^2=NRxIuU5wP)sahH$e0suQR{6eJnfk@!57pY%2EU6!PVc+q7>M2T z^T_6G-Ehbr341DCF?HIqz}J>Zf3CHTe3^^-cflLIyV_q4D--H4q8;m+2xW4 zixG#}kd<(;TE2i%MP!c8R_@k$FB^u3fhB+J`M$m|se^Jq;CV-9*c-6%7%rt{y z2)kO%qDGH(jJO$se|*fThjV9%H`L;LkGAjf-(BkkutyLyyxTzY}-8k1Uz`FV5m zhFJcp#<^e7tye^rm(X0}3cs{RK5e+1ieUaKB_)wb_;&Wlmv3+})5?P9yIEny0=szf zZCD*ckaBanT&|+X+c!n^)?#P1#>su1hi%B|3~cBnvC6ajP_R#{V@FWb!xL`@U^f>2 z_*k-Y^F?Yl^)HKhjWgIc|M=~r|H-V2c0xQ(a~RiskAKxTL9RCXbIwHxQWd_b1YgKd zt9Dl62I1D#PplUPIrp4j9RFyx@<#;?H(dgzFY`vnIpe`U!@pvm zsIQN#(-CLhN=uyTRbCE9?&sVRlZx={FJ&_hN8_O z$NMQoHv`WL(o(hAqelZv>tuy@w<|PM%rc{ydi3rVsBUq`WGUuKe0%ZADs{zGuH_3n zEVjunV}A3|rTo{|)(m~c*^t*%gk1bD`?=WJYyV^ulJ~4)Kl*WPwX4+#nV?`w>dRXZ z5i$2ZqKBA99_)E$#0R0e5O*BSy>y%nKk6F}&-F!h5iRtMdPIxd`OI$VyIf4Rf1Rbz zl^JE3UU!p%>#DmZ7p7>yJvUY}ADN`sk|lemZA;N{VMv@qSGq&JszZr~PZfkBh_0m!Uzc&5e&e zb9lR!iKxOirrrOxew_|=-Kfmy=MED)3h}YG<;K-vo0Fnv-Y*Nzm~JxvxX8x(ajwKP z?m|_}xnM*gv#7?mkb76$x*`Kta{FS$KgtPr++)HNGW?nl>|Rg0Bb}GyHOl@ZACv!w z`!sVNw-(W8h~bR1Jb~iiQOafNzwq}rPwii{fR#{)81Qn{?dn{XKg4_yC5#vSo#17p zk#oJ5n+rh{Po34(ZzI&z|1X~bEG8}Nt@5o#)r-Gu40SYwxK=Jrz4@qM_C~PV;LBYq z+MJ@!FHc%>Y&t*jBD}qsEom9Tg-y6D)BOFtSg5`;o|Tmq&|tl`5rO=u@rtI2^e}ME zo4{~3#W*)5%rNqcnWh30t1r>GiyW=CclIWo!OP@eiPHDamiKC&KmQuYls+4d@3{Vn zS@-0_n^W?+oEJ7uZmi_y_>K!Ol%PMI%{Z^m;iopGRg7c6dW)8uO(yg5rKSroFva9> zCx*OFpig)hC0CfwF-t4|oTc3&tCRpM325fY`#M@T!6$eT z)oUZb$7!!yX1)-_(0Kf&X!6Xr0~cxh5J(N0Sz79|0;m1mZk>Q2Zb8INH6uVl$Aaqm zs6UW52&_YI!6?+wvuqu7)2cdsGiTt<05 zIvkym=H#T7{d*iI#A1aKdTQ$IQ5nFgm}rvCcam!tgl57f-~r6GD@+ zgmDs(YJB&fQ;;gy6ClfHAt(}jqk^DI;DZA2W$2&W`fm>Z4~zU)X8#Yv|9wyY(ms!8 z`u8dR>9PLv!lxj<|C%-a^JD*J!~Y-q{U=`gf9?|)<-hO$f1BwN^y+_P-~avn{)-M( z1$pr=IW!Uyr~IGT_kVxC|Efd(^~7%Ymw?DEtC|T)D6FWE*_!X@C^RdT@EotJ+g~b3 zRt^cs)z3&D9v&tiNc9$)?G8C+tW?jZ54l&4b=QXw{P3glRyBTzIBwL#N?*6L*+G{ufxi#hpAI2UmG=l3ts9L^3osPMB+RzpDX3 zbp@^HKfWExNeB2^F;gplW9yLBa>Dl7R##lOlt4zPPZS+Hs-7^e$fX#t4daEN@oTRA zg)P0G4Yx`&NWud)5u}QviYth8Jqg*CI+!m?*ecLw8Rp(ks?|p+%kJg%#U3e>i5X=1 zri;G1m-px*XVP?A`ic|Kp7=7uSl)j`{WUb03+bLgJNBGjWLAB>QTI+6h?9 z{W#bY6dl56vL=G@78QaI86cD|?MyXv3O4y>pEql!m{7ep5 z9nLW>Fo`NVpJ1Q-*)Y#xWw4}rr{AJ-yE6z8o;=eIix0GWhJ9_&$&2tu#T6dRzj13a zFix@wCr%K!zIA})8b6_vDBN;L+>#8$kJfE>>jVM6ZT*q#m9(cHp;%*;*HN0g9!H=;JA{9}o)xw?& z5TC>NP}{?a6SARu>uLV|W}l0T^#+Qql!s114=Yvru$!$yK^wnV|FPcD!CJ@9m**$C z;16b+-^x$D;FGXxezUzc0WY$sl-c9jUMl!HH<#+!PMpucRzDX;Ze}3DjS^>d=;x5- zS5vOY`&rS2^0$mz94N1jRCZiRvP7NNljA*cl5Ty551L#pUZ4My9KYC;=h*u0+Od_k z=HcX^JQC5^*qGRAia|9p!j+!TFji>o$(YwY^u~izrbQePckq1^AkLqamzTqJC5nY{ zvK)u0ZU&)OTdpDWw9$QHWU;Er$7!LPEkhAxQcq!WeEDU_HdWZNN?g*h{m;8=hCVov z%9$=Lo-hk?{r4v{j)bv5eU#GSdZQWIu7!aVI9%zOvDE>GgAslp45tcxcJ7wD7>AP& zCLFgHx`H-a1Z1nR{>%M1lVVF^J#0b@=i{9nQYsQ{f>3!oBZP?6L;sRI^&x03S$_JJ zq|f?y8pkB7fDKADNY#q=f^c)0bB|AlGGXRmf_xNPcU^4QKFKQGr7P=~q5E)IPz^Fw zMy%3x0ROdiwPNHD5zk*=jelKZhPr?-Z%>mi9Y~Y+jS{x5dq~dFNy3-94WS=NI{aB6 zHk@Ge3jxtmx&O8(f_y}rlf@=y$0`T{i#u&PqAajaCX7w35>B7zck_uzm2vNf5j$9f zOb%Vm62F@Ker}FkFVtsyv-WU-BRz24y#SyBp465q3(w8Xo#O#1Cb9QYAboI3t1@0+MLsXh zM_Xn65#uMrJUt{nC=CEq_~A6qe5=scLc&p^h{brhOW&86R&<)#Th9iKF8LOA#L*Q* zhluj-4_dK5?2c(~>vxB7oDgMX?rc%zcq=fYg!j}>OYdJSBl{yR=v}t;gLqwSi5y`Z zi{fHiecyK)p2N2QL=Jp)l0=ok(3h*Sgu&g_k$E&u6bCX%(rdCIdSa&5sVi$V{9sic z1pab8HfU=uuF$%EKh@q$r5iT>A|?xol8k?)-5sJ6$0g~YtEaqUq(y%T$`2L89{O+x zFMK?lq=DxXYX1iR(e|-HP4EY03gfP<5gE-5m_zW@^UoROCL? z-v9aH)kS#;_2&%8BvC8DrE1HP`x@L2Cm+4yR#wml3xqKS@wQOgn;oGM7+zM5Wmuj- z_0<-9YRIU{!Ad-NFOJ-Nz3E~+Fk5iEDs)@k#l=O!zV+Q`=vG@bzGk^%wo)m{?gnZE zhYqcHgl&;s8~8ercaq`a!*Kw};R}zcX`|cRS*i{N2S1r)=a1Sz9F+^>21rzHoBIn1Gb0GSwqY)VWoeJm zs>5mc(Sv|7e^YgJsI%%gy$Pef`l9vQ-2gT(bS$EUUG=y2Z4lgr?*=>#n1AKLNsHMu zjND3drr7%ND)?-)!cq-W_)J9k2>?$KNBsFRGoacH-A1joN z)YG-?3FI-5%q#B>PG=;FS_R{|0!K@RbefG#P3Hly|LOdw-UCqlr1y)#AJ1qdgEnUl z*Pp{jyBFV)-`N?NC1SVEf3srh6mBs?U{dW$9TPa<;h}o+v&?xpnoy?~d;|Dyta|b> zZG|5_K^hUBFf)u67LfiWzq8omI5_$J3E6(`PjVBSe7Kc5c6##ZdA(+Yz=wD04DztB zgWa*uj&CeLK|HP;qo8zGub^=ie&|p0@s=reH_Q^t!_NfBQ3YRNPns#U2v&Z@F3C?i zAjpbSLG+E$EJ8kH62Y-I-@rmaWDNy_>uoj$F0ql$JnUH;tqoig3ta4;%}578D1zVE zDTxac&e-qGJFX*iY~qtvLyop2ZE{HyH}19U_X#fca(%zJRj?r?7-HKaM!tQN5a z%*~oSD1#+dB7JV4#8@=Ef!9Vt(>cM(VHHch+VFui+?z#<3DR@!U?-2Nzfp7-ERoZJW~P7#-Y>f&DZv# zGhI=C5wRYiGIdEyONZ3yMD%i+)yB_#Fbnzp%Q%;u4kuWlcSqTH3f7K}VRZm|C9Yg|PYELA?J6Y$o=^ZH8OdE6q8q0Gn1Al>EH z>b7JEpCb%VG4Y3kgdc0fGxw8Vq|)6iNn=Ftl|_>dbyj{Nt|r1E$zFb7o1<^*aHx=E zo;yyWEXE$~0|Z7-i77pUCasJN4dZPNr@-x;e~N7(X#-rSj2u@7q;|Lk zAGS#k%oNy=TvB8`J?kkC()6`%auphC`NOldZTgT>=dl&N>D!LKwojSOvDPqZUH$(gHn?yR9to0)Fy0)f9)Cq z6F(#IoS>FHd~O|%U?^TY0!$^Rre-*k3PO%e{fhDJ(qNsfSuP&2%T`6j#% ze=Sup(4!rAT-bc(92aFIzw;2NUn@Qz^D@Y z>ODcpuLh*n&~RG29X$3A+E9rlt?rBdRTOIZh8E6CIcIc}>d?6@MLO?-MoG)ScW^v^ zeAP6A`j^|g6t?F9RJ0G4Jn;SdjJ3ahSq$+7hdzwCruM9eE_!McmedzG@h4fbv_s{9 z4J85@)o_A8(_j+FoCp<0zOgs23Qla;w)&#luytwNPRlGB66&E5sK4a1@|~y;h+*W{K0fG%1OIRa#>v!Vi?K0*U$&`#nma z9-cJf4W(AiMW!a6U{v~spAtatdSMgzsgPc?x0#=p1G4(o9+&9uXP*f&^m^r}kIr$H z+^T>&-xu92xtwHG(ef6KL#5fxG9pdQ661E42iE5Oll0$<^BU$U(7%8(yK1-E6@3X~ zsTYY`MQC9gaW1Ff>;H z;P)$bn}XWV@w%YJzJer*AxhN;emzLpKC3c`mPM1JhG0OEtG-xNdblo$lBapdPI8oy zzZY_ntXsj`JaB^mlGa(FA=usw1G?c_n|`bC`46I0f{@cY4^Vt+V#aSt{I-j%ap*`V zJ*mNY)bI5FNtNvYoiEG!B6$LbwsccaRp#~>saVDNvjU1%%FhQm>4qPSO!Qkx3A8XG zPv+~JCC+Zn;$(;1_ORpwY!nzE3`k+RYjJfheySvvNK-MjTSI$1cW-a+`&Urr^@sb5 zdCTc*5gI5?m zT~sj;1u7>nEhcrfx+e!U34K=Uhg%(~(NN|`i*L4S+@b5==~?R&X0TvpP4Wl3?DNl* zN!vZSmm#MGYd~&lVvg=6&Yp{>sL(J=^n@j&|Dr+RXto8F-%43=S;<4NAt0sh?`zPl zOXwu-T?9O+(>iE2p(Z9>ip5ru^cnwHBj!RfSdSO<_5(|z!M}|nSEb7FkAc9@XauGi zvLWve)WkTXp858{0cM8z3s~ue_s0(ulrlD?20&C5AXr?{yPs4eWFwA3pD;mEcDN)@ z=G6#kCR-Z!ZRv&|&)To>gM~qEmHb7T9-Rp2Eu{po`J%Vl>3JJ@vOYk|-OqUv=mlev zD;fxOAXrqsmO1tQ)QVI&B3he1GMM2yU{P=UR)_r?Q=h$T&@(paB;yL{$q^vh=Z09o zid+hQ;#BMD2fI4C!bt+egX&*4!HYSC=H;!W%fD`^mydYVx<4$f2G5#WsFB4u!{~22 z^6-K49cwExbwlGfCzTDZ*gm+sy`($jZO|7RQeFrBxltx~h(DlGkVq?Sr%X{Kl(|Bwn9Cytzk79uCl*vBweaO zHBPJBg+ab~7l37*K%+RgK8N9_T*+klhYgL4jfcR0kU&(bhNa+;Ie=6h%Xpyw`UGSS zVs{dz?C8^&a&*?heZhuZL7b0qztu?QmoKe)ks!Nl7dk(R$W%ECLEqG)v+llyk@j~a z=_phmh&y#=(tC2dTy9`6Plk~W6tnI^omYE__egJELW=pisC4C!l&2v27Xa|KgIwB? zWt3!^T+R1Q@ji|kCasGlM@eDPSzg+#O)7wWI6eZ%nA-yQ zjPjR_yUt`AQfOI?HongTQK)A7bt44&iVtQ>aw*&jvaXuf0jWa+wE_y`Nswu749eS` zJ2vC17R(w6FQJiqW0aApX&wO6T#!$0!8=O{e6e!(H)>KFkyL}4Me%?;^YVjRh3yK< zg*#ZKcBx4BUQq<-SH$9h+fDlV`j!L#a#=HL2%V>>P&Vj4u zII7wzQf7j%I-ci`X6(i4Bf0eRx+exx#_K}@bx|H;HSEV`P+Z7-(hZn2Xp5%KYZ$ED zzub@r`r;b(DQ)0i&95Nrs%KC-cMJ`Clv~8lQyd%irQGgdxeYmDL7hjTODeL6N_BvV zPxF)eNJSJ_Y~>_9$Gb)bMd1$${`=jaxER`;fKtmH+EP4tKo3oS1G;_Myxb+>YXoVz znlK&`xH?!eZ3+&41KRdt0M?|I2km7%3=m*)tTSYBDiUvO+|Dfu<+IfX@3iI{WJ}!p z@zg3}D|Mnwk|}dML95hZEM#}Z8FUTWo5>xa{O1Mq{(M5jt9WuWIQRt~Px*{p!tU0W zf&xh(oEicnyov>qqZBo$jmIRTU4A}IX?O4ek7)D{HB5tMbk<RH?VL6PzLX<#13y~!s%U}~AL{cU2QGlcK~&3(CU_W%sw zL?MW(V~3?Ma!5IqftwP33!Nu))u2u)I!+m3ARtdTg6QIrpm*9#F*P>ka-d^bzsW&i z(Np0*0(6O*_dsE&g7JtmIn~T{WMCtJa$!l;Z~;n*=8IF3i04Nt_<>e%_wX5iA<(cg z);d2vQ5&RGHSGGR{yZ&gcgPF~JV->W1d|gg8su7<9UUMDKk0Z>l#ZX>oK3O`pg!xA zGR&&cHNXZ~q%K(Cc#nTF;AHNeNdCnz%}bC|mdepa-2Ab&pmD>ex|+vueDB%`5Sf6sqTU0mG4q7tmMfU#3ZU*Y3Rwr%>%N0ZQ~UTGlzS2qJC( zc_QUi9J`wRwN|w7>qo27AP|6bb)|_XBD54{t$v%xFTn2bkFD$ANms* z#4QV4kOzIw!3B+bTDbO0-_nulwt?nP>PT?s2?h}$dour&2rA8qjuNWqV*?|< z>7(L6P)54@ql%#0Oqlyrl#m;BWUk{=CL@`7ipepbyQrpD6ddz4yojRfr=UTmQq;;U zl8PgzA7R3#ZokC>ttDa*?blB_y$j}e1VvUputed1L$CGV#}*18Nw{M5sW_frZu$QE z5)gzr5@&GWu4VyDi$neVRb@pAbo}-$bOT%F_vQE*eX|gDTfspxjr+I7O5ZtU0t8+N M4ZWMiH*6pOA0kGy%m4rY literal 0 HcmV?d00001