mirror of
				https://gitgud.io/lutepickle/rjw_menstruation.git
				synced 2024-08-14 22:46:52 +00:00 
			
		
		
		
	Delete the sexperience module entirely
This commit is contained in:
		
							parent
							
								
									ee2ea2e34f
								
							
						
					
					
						commit
						65d9df832d
					
				
					 13 changed files with 2 additions and 509 deletions
				
			
		| 
						 | 
					@ -1,14 +0,0 @@
 | 
				
			||||||
<?xml version="1.0" encoding="utf-8" ?>
 | 
					 | 
				
			||||||
<Defs>
 | 
					 | 
				
			||||||
  <ThingDef ParentName="GatheredCum">
 | 
					 | 
				
			||||||
    <defName>GatheredCumMixture</defName>
 | 
					 | 
				
			||||||
    <label>cum mixture</label>
 | 
					 | 
				
			||||||
    <description>Gathered mixture of cum.</description>
 | 
					 | 
				
			||||||
	<thingClass>RJW_Menstruation.Sexperience.GatheredCumMixture</thingClass>
 | 
					 | 
				
			||||||
    <graphicData>
 | 
					 | 
				
			||||||
      <texPath>Things/Item/GatheredCum</texPath>
 | 
					 | 
				
			||||||
      <drawSize>1</drawSize>
 | 
					 | 
				
			||||||
	  <graphicClass>Graphic_StackCount</graphicClass>
 | 
					 | 
				
			||||||
    </graphicData>
 | 
					 | 
				
			||||||
  </ThingDef>
 | 
					 | 
				
			||||||
</Defs>
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,10 +0,0 @@
 | 
				
			||||||
<?xml version="1.0" encoding="utf-8" ?>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
<Defs>
 | 
					 | 
				
			||||||
	<JobDef>
 | 
					 | 
				
			||||||
		<defName>VaginaWashingwithBucket</defName>
 | 
					 | 
				
			||||||
		<driverClass>RJW_Menstruation.Sexperience.JobDriver_VaginaWashingWithBucket</driverClass>
 | 
					 | 
				
			||||||
		<reportString>gather cum</reportString>
 | 
					 | 
				
			||||||
		<casualInterruptible>true</casualInterruptible>
 | 
					 | 
				
			||||||
	</JobDef>
 | 
					 | 
				
			||||||
</Defs>
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,14 +1,12 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Microsoft Visual Studio Solution File, Format Version 12.00
 | 
					Microsoft Visual Studio Solution File, Format Version 12.00
 | 
				
			||||||
# Visual Studio Version 16
 | 
					# Visual Studio Version 17
 | 
				
			||||||
VisualStudioVersion = 16.0.30907.101
 | 
					VisualStudioVersion = 17.3.32929.385
 | 
				
			||||||
MinimumVisualStudioVersion = 10.0.40219.1
 | 
					MinimumVisualStudioVersion = 10.0.40219.1
 | 
				
			||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RJW_Menstruation", "RJW_Menstruation\RJW_Menstruation.csproj", "{EED2F3B9-8C20-4194-919E-8D151B29F70B}"
 | 
					Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RJW_Menstruation", "RJW_Menstruation\RJW_Menstruation.csproj", "{EED2F3B9-8C20-4194-919E-8D151B29F70B}"
 | 
				
			||||||
EndProject
 | 
					EndProject
 | 
				
			||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MilkModule", "MilkModule\MilkModule.csproj", "{3591B3C1-EB57-44BF-AB69-A613E097A7F8}"
 | 
					Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MilkModule", "MilkModule\MilkModule.csproj", "{3591B3C1-EB57-44BF-AB69-A613E097A7F8}"
 | 
				
			||||||
EndProject
 | 
					EndProject
 | 
				
			||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SexperienceModule", "SexperienceModule\SexperienceModule.csproj", "{7DB664D7-D4B4-4673-9FF1-62EC18305715}"
 | 
					 | 
				
			||||||
EndProject
 | 
					 | 
				
			||||||
Global
 | 
					Global
 | 
				
			||||||
	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 | 
						GlobalSection(SolutionConfigurationPlatforms) = preSolution
 | 
				
			||||||
		Debug|Any CPU = Debug|Any CPU
 | 
							Debug|Any CPU = Debug|Any CPU
 | 
				
			||||||
| 
						 | 
					@ -23,10 +21,6 @@ Global
 | 
				
			||||||
		{3591B3C1-EB57-44BF-AB69-A613E097A7F8}.Debug|Any CPU.Build.0 = Debug|Any CPU
 | 
							{3591B3C1-EB57-44BF-AB69-A613E097A7F8}.Debug|Any CPU.Build.0 = Debug|Any CPU
 | 
				
			||||||
		{3591B3C1-EB57-44BF-AB69-A613E097A7F8}.Release|Any CPU.ActiveCfg = Release|Any CPU
 | 
							{3591B3C1-EB57-44BF-AB69-A613E097A7F8}.Release|Any CPU.ActiveCfg = Release|Any CPU
 | 
				
			||||||
		{3591B3C1-EB57-44BF-AB69-A613E097A7F8}.Release|Any CPU.Build.0 = Release|Any CPU
 | 
							{3591B3C1-EB57-44BF-AB69-A613E097A7F8}.Release|Any CPU.Build.0 = Release|Any CPU
 | 
				
			||||||
		{7DB664D7-D4B4-4673-9FF1-62EC18305715}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 | 
					 | 
				
			||||||
		{7DB664D7-D4B4-4673-9FF1-62EC18305715}.Debug|Any CPU.Build.0 = Debug|Any CPU
 | 
					 | 
				
			||||||
		{7DB664D7-D4B4-4673-9FF1-62EC18305715}.Release|Any CPU.ActiveCfg = Release|Any CPU
 | 
					 | 
				
			||||||
		{7DB664D7-D4B4-4673-9FF1-62EC18305715}.Release|Any CPU.Build.0 = Release|Any CPU
 | 
					 | 
				
			||||||
	EndGlobalSection
 | 
						EndGlobalSection
 | 
				
			||||||
	GlobalSection(SolutionProperties) = preSolution
 | 
						GlobalSection(SolutionProperties) = preSolution
 | 
				
			||||||
		HideSolutionNode = FALSE
 | 
							HideSolutionNode = FALSE
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,58 +0,0 @@
 | 
				
			||||||
using System.Collections.Generic;
 | 
					 | 
				
			||||||
using System.Text;
 | 
					 | 
				
			||||||
using UnityEngine;
 | 
					 | 
				
			||||||
using Verse;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
namespace RJW_Menstruation.Sexperience
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
    public class GatheredCumMixture : ThingWithComps
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
        public Color cumColor = Color.white;
 | 
					 | 
				
			||||||
        public List<string> ingredients = new List<string>();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        public override Color DrawColor => cumColor;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        public override void ExposeData()
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            base.ExposeData();
 | 
					 | 
				
			||||||
            Scribe_Values.Look(ref cumColor, "cumColor", Color.white, true);
 | 
					 | 
				
			||||||
            Scribe_Collections.Look(ref ingredients, "ingredients");
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        public override bool TryAbsorbStack(Thing other, bool respectStackLimit)
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            float amount = stackCount;
 | 
					 | 
				
			||||||
            float count = ThingUtility.TryAbsorbStackNumToTake(this, other, respectStackLimit);
 | 
					 | 
				
			||||||
            bool res = base.TryAbsorbStack(other, respectStackLimit);
 | 
					 | 
				
			||||||
            if (res && other is GatheredCumMixture mixture)
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                GatheredCumMixture othercum = mixture;
 | 
					 | 
				
			||||||
                cumColor = Colors.CMYKLerp(cumColor, othercum.cumColor, count / (amount + count));
 | 
					 | 
				
			||||||
                if (!othercum.ingredients.NullOrEmpty()) for (int i = 0; i < othercum.ingredients.Count; i++)
 | 
					 | 
				
			||||||
                    {
 | 
					 | 
				
			||||||
                        if (!ingredients.Contains(othercum.ingredients[i])) ingredients.Add(othercum.ingredients[i]);
 | 
					 | 
				
			||||||
                    }
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
            return res;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        public override string GetInspectString()
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            StringBuilder res = new StringBuilder();
 | 
					 | 
				
			||||||
            if (!ingredients.NullOrEmpty()) for (int i = 0; i < ingredients.Count; i++)
 | 
					 | 
				
			||||||
                {
 | 
					 | 
				
			||||||
                    res.Append(ingredients[i]);
 | 
					 | 
				
			||||||
                    if (i != ingredients.Count - 1) res.Append(", ");
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
            return res.ToString();
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        public void InitwithCum(CumMixture cum)
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            ingredients.AddRange(cum.Getingredients);
 | 
					 | 
				
			||||||
            cumColor = cum.Color;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,72 +0,0 @@
 | 
				
			||||||
using RJWSexperienceCum;
 | 
					 | 
				
			||||||
using System.Collections.Generic;
 | 
					 | 
				
			||||||
using System.Linq;
 | 
					 | 
				
			||||||
using Verse;
 | 
					 | 
				
			||||||
using Verse.AI;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
namespace RJW_Menstruation.Sexperience
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
    public class JobDriver_VaginaWashingWithBucket : JobDriver_CleanSelfWithBucket
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
        const int excretingTime = 300;//ticks - 120 = 2 real seconds, 3 in-game minutes
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        public override bool TryMakePreToilReservations(bool errorOnFailed)
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            return pawn.Reserve(pawn, job, 1, -1, null, errorOnFailed);
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        protected override IEnumerable<Toil> MakeNewToils()
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            //this.FailOn(delegate
 | 
					 | 
				
			||||||
            //{
 | 
					 | 
				
			||||||
            //    return !(Comp.TotalCumPercent > 0.001);
 | 
					 | 
				
			||||||
            //});
 | 
					 | 
				
			||||||
            yield return Toils_Goto.GotoThing(TargetIndex.B, PathEndMode.ClosestTouch);
 | 
					 | 
				
			||||||
            Toil excreting = Toils_General.Wait(excretingTime, TargetIndex.None);//duration of 
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            excreting.WithProgressBarToilDelay(TargetIndex.A);
 | 
					 | 
				
			||||||
            yield return excreting;
 | 
					 | 
				
			||||||
            yield return new Toil()
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                initAction = delegate ()
 | 
					 | 
				
			||||||
                {
 | 
					 | 
				
			||||||
                    bool anyExcreted = false;
 | 
					 | 
				
			||||||
                    foreach (HediffComp_Menstruation comp in pawn.GetMenstruationComps())
 | 
					 | 
				
			||||||
                        if (comp.TotalCumPercent > 0.001)
 | 
					 | 
				
			||||||
                        {
 | 
					 | 
				
			||||||
                            CumMixture mixture = comp.MixtureOut(RJWSexperience.VariousDefOf.GatheredCum, 0.5f);
 | 
					 | 
				
			||||||
                            float amount = mixture.Volume;
 | 
					 | 
				
			||||||
                            if (mixture.ispurecum)
 | 
					 | 
				
			||||||
                            {
 | 
					 | 
				
			||||||
                                Bucket.AddCum(amount);
 | 
					 | 
				
			||||||
                            }
 | 
					 | 
				
			||||||
                            else
 | 
					 | 
				
			||||||
                            {
 | 
					 | 
				
			||||||
                                GatheredCumMixture cummixture = (GatheredCumMixture)ThingMaker.MakeThing(VariousDefOf.GatheredCumMixture);
 | 
					 | 
				
			||||||
                                cummixture.InitwithCum(mixture);
 | 
					 | 
				
			||||||
                                Bucket.AddCum(amount, cummixture);
 | 
					 | 
				
			||||||
                            }
 | 
					 | 
				
			||||||
                            anyExcreted = true;
 | 
					 | 
				
			||||||
                        }
 | 
					 | 
				
			||||||
                    if (!anyExcreted) ReadyForNextToil();
 | 
					 | 
				
			||||||
                    if (pawn.GetMenstruationComps().Any(c => c.TotalCumPercent > 0.001)) JumpToToil(excreting);
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
            };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            Toil cleaning = new Toil
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                initAction = CleaningInit,
 | 
					 | 
				
			||||||
                tickAction = CleaningTick
 | 
					 | 
				
			||||||
            };
 | 
					 | 
				
			||||||
            cleaning.AddFinishAction(Finish);
 | 
					 | 
				
			||||||
            cleaning.defaultCompleteMode = ToilCompleteMode.Never;
 | 
					 | 
				
			||||||
            cleaning.WithProgressBar(TargetIndex.A, () => progress / CleaningTime);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            yield return cleaning;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            //yield return excreting;
 | 
					 | 
				
			||||||
            yield break;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,39 +0,0 @@
 | 
				
			||||||
using HarmonyLib;
 | 
					 | 
				
			||||||
using System.Collections.Generic;
 | 
					 | 
				
			||||||
using UnityEngine;
 | 
					 | 
				
			||||||
using Verse;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
namespace RJW_Menstruation.Sexperience
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
    [HarmonyPatch(typeof(Pawn_GetGizmos), nameof(Pawn_GetGizmos.GetMenstruationGizmos))]
 | 
					 | 
				
			||||||
    public static class GetGizmos_Patch
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
        public static void Postfix(HediffComp_Menstruation comp, ref List<Gizmo> __result)
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            if (Configurations.EnableGatherCumGizmo)
 | 
					 | 
				
			||||||
                __result.Add(CreateGizmo_GatherCum(comp));
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        private static Gizmo CreateGizmo_GatherCum(HediffComp_Menstruation comp)
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            Texture2D icon = TextureCache.GatherCum_Bucket;
 | 
					 | 
				
			||||||
            string label = Translations.Gizmo_GatherCum;
 | 
					 | 
				
			||||||
            string description = Translations.Gizmo_GatherCum;
 | 
					 | 
				
			||||||
            Gizmo gizmo = new Command_Toggle
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                defaultLabel = label,
 | 
					 | 
				
			||||||
                defaultDesc = description,
 | 
					 | 
				
			||||||
                icon = icon,
 | 
					 | 
				
			||||||
                isActive = delegate () { return comp.DoCleanWomb; },
 | 
					 | 
				
			||||||
                toggleAction = delegate
 | 
					 | 
				
			||||||
                {
 | 
					 | 
				
			||||||
                    comp.DoCleanWomb = !comp.DoCleanWomb;
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
            };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            return gizmo;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,16 +0,0 @@
 | 
				
			||||||
using HarmonyLib;
 | 
					 | 
				
			||||||
using System.Reflection;
 | 
					 | 
				
			||||||
using Verse;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
namespace RJW_Menstruation.Sexperience
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
    [StaticConstructorOnStartup]
 | 
					 | 
				
			||||||
    internal static class First
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
        static First()
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            Harmony har = new Harmony("RJW_Menstruation.Sexperience");
 | 
					 | 
				
			||||||
            har.PatchAll(Assembly.GetExecutingAssembly());
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,38 +0,0 @@
 | 
				
			||||||
using HarmonyLib;
 | 
					 | 
				
			||||||
using RimWorld;
 | 
					 | 
				
			||||||
using UnityEngine;
 | 
					 | 
				
			||||||
using Verse;
 | 
					 | 
				
			||||||
using Verse.Sound;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
namespace RJW_Menstruation.Sexperience
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
    [HarmonyPatch(typeof(Dialog_WombStatus), "DrawWomb")]
 | 
					 | 
				
			||||||
    public static class Menstruation_Patch_Dialog_WombStatus
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
        public const float ICONSIZE = 42f;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        public static void Postfix(Rect rect, Dialog_WombStatus __instance)
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            Rect buttonRect = new Rect(rect.x, rect.yMax - ICONSIZE, ICONSIZE, ICONSIZE).ContractedBy(2f);
 | 
					 | 
				
			||||||
            if (__instance.Comp.DoCleanWomb)
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                Widgets.DrawTextureFitted(buttonRect, TextureCache.GatherCum_Bucket, 1.0f);
 | 
					 | 
				
			||||||
                TooltipHandler.TipRegion(buttonRect, Translations.Dialog_DoCleanWomb_Tooltip);
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
            else
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                Widgets.DrawTextureFitted(buttonRect, TextureCache.GatherCum_Pussy, 1.0f);
 | 
					 | 
				
			||||||
                TooltipHandler.TipRegion(buttonRect, Translations.Dialog_DontCleanWomb_Tooltip);
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            if (Widgets.ButtonInvisible(buttonRect))
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                SoundDefOf.Click.PlayOneShotOnCamera();
 | 
					 | 
				
			||||||
                __instance.Comp.DoCleanWomb = !__instance.Comp.DoCleanWomb;
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,42 +0,0 @@
 | 
				
			||||||
using HarmonyLib;
 | 
					 | 
				
			||||||
using RimWorld;
 | 
					 | 
				
			||||||
using RJWSexperience;
 | 
					 | 
				
			||||||
using System.Collections.Generic;
 | 
					 | 
				
			||||||
using System.Linq;
 | 
					 | 
				
			||||||
using UnityEngine;
 | 
					 | 
				
			||||||
using Verse;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
namespace RJW_Menstruation.Sexperience
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
    [HarmonyPatch(typeof(FloatMenuMakerMap), "AddHumanlikeOrders")]
 | 
					 | 
				
			||||||
    public class HumanlikeOrder_Patch
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
        public static void Postfix(Vector3 clickPos, Pawn pawn, List<FloatMenuOption> opts)
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            IEnumerable<LocalTargetInfo> targets = GenUI.TargetsAt(clickPos, TargetingParameters.ForBuilding());
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            if (pawn.GetMenstruationComps().Any(comp => comp.TotalCumPercent > 0.001f))
 | 
					 | 
				
			||||||
                foreach (LocalTargetInfo t in targets)
 | 
					 | 
				
			||||||
                {
 | 
					 | 
				
			||||||
                    if (t.Thing is Building building)
 | 
					 | 
				
			||||||
                    {
 | 
					 | 
				
			||||||
                        if (building is Building_CumBucket)
 | 
					 | 
				
			||||||
                        {
 | 
					 | 
				
			||||||
                            opts.AddDistinct(MakeMenu(pawn, building));
 | 
					 | 
				
			||||||
                            break;
 | 
					 | 
				
			||||||
                        }
 | 
					 | 
				
			||||||
                    }
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        public static FloatMenuOption MakeMenu(Pawn pawn, LocalTargetInfo target)
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            FloatMenuOption option = FloatMenuUtility.DecoratePrioritizedTask(new FloatMenuOption(Translations.Gizmo_GatherCum, delegate ()
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                pawn.jobs.TryTakeOrderedJob(new Verse.AI.Job(VariousDefOf.VaginaWashingwithBucket, null, target, target.Cell));
 | 
					 | 
				
			||||||
            }, MenuOptionPriority.Low), pawn, target);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            return option;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,40 +0,0 @@
 | 
				
			||||||
using HarmonyLib;
 | 
					 | 
				
			||||||
using rjwcum;
 | 
					 | 
				
			||||||
using RJWSexperience;
 | 
					 | 
				
			||||||
using System.Linq;
 | 
					 | 
				
			||||||
using Verse;
 | 
					 | 
				
			||||||
using Verse.AI;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
namespace RJW_Menstruation.Sexperience
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
    [HarmonyPatch(typeof(WorkGiver_CleanSelf))]
 | 
					 | 
				
			||||||
    public static class RJW_Patch_WorkGiver_CleanSelf
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
        [HarmonyPrefix]
 | 
					 | 
				
			||||||
        [HarmonyPatch("HasJobOnThing")]
 | 
					 | 
				
			||||||
        public static bool HasJobOnThing(Pawn pawn, ref bool __result)
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            if (pawn.GetMenstruationComps().Any(comp => comp.DoCleanWomb && comp.TotalCumPercent > 0.001f) && (pawn.Map?.listerBuildings.ColonistsHaveBuilding(VariousDefOf.CumBucket) ?? false))
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                __result = true;
 | 
					 | 
				
			||||||
                return false;
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
            return true;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        [HarmonyPostfix]
 | 
					 | 
				
			||||||
        [HarmonyPatch("JobOnThing")]
 | 
					 | 
				
			||||||
        public static void JobOnThing(Pawn pawn, ref Job __result)
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            if (pawn.GetMenstruationComps().Any(comp => comp.DoCleanWomb && comp.TotalCumPercent > 0.001f))
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                Building_CumBucket bucket = pawn.FindClosestBucket();
 | 
					 | 
				
			||||||
                if (bucket != null)
 | 
					 | 
				
			||||||
                {
 | 
					 | 
				
			||||||
                    __result = JobMaker.MakeJob(VariousDefOf.VaginaWashingwithBucket, null, bucket, bucket.Position);
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,35 +0,0 @@
 | 
				
			||||||
using System.Reflection;
 | 
					 | 
				
			||||||
using System.Runtime.InteropServices;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// 어셈블리에 대한 일반 정보는 다음 특성 집합을 통해 
 | 
					 | 
				
			||||||
// 제어됩니다. 어셈블리와 관련된 정보를 수정하려면
 | 
					 | 
				
			||||||
// 이러한 특성 값을 변경하세요.
 | 
					 | 
				
			||||||
[assembly: AssemblyTitle("SexperienceModule")]
 | 
					 | 
				
			||||||
[assembly: AssemblyDescription("")]
 | 
					 | 
				
			||||||
[assembly: AssemblyConfiguration("")]
 | 
					 | 
				
			||||||
[assembly: AssemblyCompany("")]
 | 
					 | 
				
			||||||
[assembly: AssemblyProduct("SexperienceModule")]
 | 
					 | 
				
			||||||
[assembly: AssemblyCopyright("Copyright ©  2021")]
 | 
					 | 
				
			||||||
[assembly: AssemblyTrademark("")]
 | 
					 | 
				
			||||||
[assembly: AssemblyCulture("")]
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// ComVisible을 false로 설정하면 이 어셈블리의 형식이 COM 구성 요소에 
 | 
					 | 
				
			||||||
// 표시되지 않습니다. COM에서 이 어셈블리의 형식에 액세스하려면
 | 
					 | 
				
			||||||
// 해당 형식에 대해 ComVisible 특성을 true로 설정하세요.
 | 
					 | 
				
			||||||
[assembly: ComVisible(false)]
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// 이 프로젝트가 COM에 노출되는 경우 다음 GUID는 typelib의 ID를 나타냅니다.
 | 
					 | 
				
			||||||
[assembly: Guid("7db664d7-d4b4-4673-9ff1-62ec18305715")]
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// 어셈블리의 버전 정보는 다음 네 가지 값으로 구성됩니다.
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
//      주 버전
 | 
					 | 
				
			||||||
//      부 버전 
 | 
					 | 
				
			||||||
//      빌드 번호
 | 
					 | 
				
			||||||
//      수정 버전
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
// 모든 값을 지정하거나 아래와 같이 '*'를 사용하여 빌드 번호 및 수정 번호를
 | 
					 | 
				
			||||||
// 기본값으로 할 수 있습니다.
 | 
					 | 
				
			||||||
// [assembly: AssemblyVersion("1.0.*")]
 | 
					 | 
				
			||||||
[assembly: AssemblyVersion("1.0.0.0")]
 | 
					 | 
				
			||||||
[assembly: AssemblyFileVersion("1.0.0.0")]
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,125 +0,0 @@
 | 
				
			||||||
<?xml version="1.0" encoding="utf-8"?>
 | 
					 | 
				
			||||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
 | 
					 | 
				
			||||||
  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
 | 
					 | 
				
			||||||
  <PropertyGroup>
 | 
					 | 
				
			||||||
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
 | 
					 | 
				
			||||||
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
 | 
					 | 
				
			||||||
    <ProjectGuid>{7DB664D7-D4B4-4673-9FF1-62EC18305715}</ProjectGuid>
 | 
					 | 
				
			||||||
    <OutputType>Library</OutputType>
 | 
					 | 
				
			||||||
    <AppDesignerFolder>Properties</AppDesignerFolder>
 | 
					 | 
				
			||||||
    <RootNamespace>RJW_Menstruation.Sexperience</RootNamespace>
 | 
					 | 
				
			||||||
    <AssemblyName>SexperienceModule</AssemblyName>
 | 
					 | 
				
			||||||
    <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
 | 
					 | 
				
			||||||
    <FileAlignment>512</FileAlignment>
 | 
					 | 
				
			||||||
    <Deterministic>true</Deterministic>
 | 
					 | 
				
			||||||
  </PropertyGroup>
 | 
					 | 
				
			||||||
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
 | 
					 | 
				
			||||||
    <DebugSymbols>true</DebugSymbols>
 | 
					 | 
				
			||||||
    <DebugType>full</DebugType>
 | 
					 | 
				
			||||||
    <Optimize>false</Optimize>
 | 
					 | 
				
			||||||
    <OutputPath>..\..\..\SexperienceModule\Assemblies\</OutputPath>
 | 
					 | 
				
			||||||
    <DefineConstants>DEBUG;TRACE</DefineConstants>
 | 
					 | 
				
			||||||
    <ErrorReport>prompt</ErrorReport>
 | 
					 | 
				
			||||||
    <WarningLevel>4</WarningLevel>
 | 
					 | 
				
			||||||
  </PropertyGroup>
 | 
					 | 
				
			||||||
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
 | 
					 | 
				
			||||||
    <DebugType>pdbonly</DebugType>
 | 
					 | 
				
			||||||
    <Optimize>true</Optimize>
 | 
					 | 
				
			||||||
    <OutputPath>..\..\..\SexperienceModule\Assemblies\</OutputPath>
 | 
					 | 
				
			||||||
    <DefineConstants>TRACE</DefineConstants>
 | 
					 | 
				
			||||||
    <ErrorReport>prompt</ErrorReport>
 | 
					 | 
				
			||||||
    <WarningLevel>4</WarningLevel>
 | 
					 | 
				
			||||||
  </PropertyGroup>
 | 
					 | 
				
			||||||
  <ItemGroup>
 | 
					 | 
				
			||||||
    <Reference Include="Assembly-CSharp">
 | 
					 | 
				
			||||||
      <HintPath>..\..\..\..\..\..\RimWorldWin64_Data\Managed\Assembly-CSharp.dll</HintPath>
 | 
					 | 
				
			||||||
      <Private>False</Private>
 | 
					 | 
				
			||||||
    </Reference>
 | 
					 | 
				
			||||||
    <Reference Include="RimJobWorldCum">
 | 
					 | 
				
			||||||
      <HintPath>..\..\..\..\..\rjw-cum\1.3\Assemblies\RimJobWorldCum.dll</HintPath>
 | 
					 | 
				
			||||||
      <Private>False</Private>
 | 
					 | 
				
			||||||
    </Reference>
 | 
					 | 
				
			||||||
    <Reference Include="RJW">
 | 
					 | 
				
			||||||
      <HintPath>..\..\..\..\..\rjw\1.3\Assemblies\RJW.dll</HintPath>
 | 
					 | 
				
			||||||
      <Private>False</Private>
 | 
					 | 
				
			||||||
    </Reference>
 | 
					 | 
				
			||||||
    <Reference Include="RJWSexperience">
 | 
					 | 
				
			||||||
      <HintPath>..\..\..\..\..\RJW-Sexperience\Assemblies\RJWSexperience.dll</HintPath>
 | 
					 | 
				
			||||||
      <Private>False</Private>
 | 
					 | 
				
			||||||
    </Reference>
 | 
					 | 
				
			||||||
    <Reference Include="RJWSexperienceCum">
 | 
					 | 
				
			||||||
      <HintPath>..\..\..\..\..\RJW-Sexperience\Mod Compatibility\RJW Cum\Assemblies\RJWSexperienceCum.dll</HintPath>
 | 
					 | 
				
			||||||
      <Private>False</Private>
 | 
					 | 
				
			||||||
    </Reference>
 | 
					 | 
				
			||||||
    <Reference Include="RJW_Menstruation">
 | 
					 | 
				
			||||||
      <HintPath>..\..\..\Assemblies\RJW_Menstruation.dll</HintPath>
 | 
					 | 
				
			||||||
      <Private>False</Private>
 | 
					 | 
				
			||||||
    </Reference>
 | 
					 | 
				
			||||||
    <Reference Include="System" />
 | 
					 | 
				
			||||||
    <Reference Include="System.Core" />
 | 
					 | 
				
			||||||
    <Reference Include="System.Xml.Linq" />
 | 
					 | 
				
			||||||
    <Reference Include="System.Data.DataSetExtensions" />
 | 
					 | 
				
			||||||
    <Reference Include="Microsoft.CSharp" />
 | 
					 | 
				
			||||||
    <Reference Include="System.Data" />
 | 
					 | 
				
			||||||
    <Reference Include="System.Net.Http" />
 | 
					 | 
				
			||||||
    <Reference Include="System.Xml" />
 | 
					 | 
				
			||||||
    <Reference Include="UnityEngine">
 | 
					 | 
				
			||||||
      <HintPath>..\..\..\..\..\..\RimWorldWin64_Data\Managed\UnityEngine.dll</HintPath>
 | 
					 | 
				
			||||||
      <Private>False</Private>
 | 
					 | 
				
			||||||
    </Reference>
 | 
					 | 
				
			||||||
    <Reference Include="UnityEngine.CoreModule">
 | 
					 | 
				
			||||||
      <HintPath>..\..\..\..\..\..\RimWorldWin64_Data\Managed\UnityEngine.CoreModule.dll</HintPath>
 | 
					 | 
				
			||||||
      <Private>False</Private>
 | 
					 | 
				
			||||||
    </Reference>
 | 
					 | 
				
			||||||
    <Reference Include="UnityEngine.IMGUIModule">
 | 
					 | 
				
			||||||
      <HintPath>..\..\..\..\..\..\RimWorldWin64_Data\Managed\UnityEngine.IMGUIModule.dll</HintPath>
 | 
					 | 
				
			||||||
      <Private>False</Private>
 | 
					 | 
				
			||||||
    </Reference>
 | 
					 | 
				
			||||||
    <Reference Include="UnityEngine.InputLegacyModule">
 | 
					 | 
				
			||||||
      <HintPath>..\..\..\..\..\..\RimWorldWin64_Data\Managed\UnityEngine.InputLegacyModule.dll</HintPath>
 | 
					 | 
				
			||||||
      <Private>False</Private>
 | 
					 | 
				
			||||||
    </Reference>
 | 
					 | 
				
			||||||
    <Reference Include="UnityEngine.InputModule">
 | 
					 | 
				
			||||||
      <HintPath>..\..\..\..\..\..\RimWorldWin64_Data\Managed\UnityEngine.InputModule.dll</HintPath>
 | 
					 | 
				
			||||||
      <Private>False</Private>
 | 
					 | 
				
			||||||
    </Reference>
 | 
					 | 
				
			||||||
    <Reference Include="UnityEngine.TextCoreModule">
 | 
					 | 
				
			||||||
      <HintPath>..\..\..\..\..\..\RimWorldWin64_Data\Managed\UnityEngine.TextCoreModule.dll</HintPath>
 | 
					 | 
				
			||||||
      <Private>False</Private>
 | 
					 | 
				
			||||||
    </Reference>
 | 
					 | 
				
			||||||
    <Reference Include="UnityEngine.TextRenderingModule">
 | 
					 | 
				
			||||||
      <HintPath>..\..\..\..\..\..\RimWorldWin64_Data\Managed\UnityEngine.TextRenderingModule.dll</HintPath>
 | 
					 | 
				
			||||||
      <Private>False</Private>
 | 
					 | 
				
			||||||
    </Reference>
 | 
					 | 
				
			||||||
    <Reference Include="UnityEngine.UI">
 | 
					 | 
				
			||||||
      <HintPath>..\..\..\..\..\..\RimWorldWin64_Data\Managed\UnityEngine.UI.dll</HintPath>
 | 
					 | 
				
			||||||
      <Private>False</Private>
 | 
					 | 
				
			||||||
    </Reference>
 | 
					 | 
				
			||||||
    <Reference Include="UnityEngine.UIElementsModule">
 | 
					 | 
				
			||||||
      <HintPath>..\..\..\..\..\..\RimWorldWin64_Data\Managed\UnityEngine.UIElementsModule.dll</HintPath>
 | 
					 | 
				
			||||||
      <Private>False</Private>
 | 
					 | 
				
			||||||
    </Reference>
 | 
					 | 
				
			||||||
    <Reference Include="UnityEngine.UIModule">
 | 
					 | 
				
			||||||
      <HintPath>..\..\..\..\..\..\RimWorldWin64_Data\Managed\UnityEngine.UIModule.dll</HintPath>
 | 
					 | 
				
			||||||
      <Private>False</Private>
 | 
					 | 
				
			||||||
    </Reference>
 | 
					 | 
				
			||||||
  </ItemGroup>
 | 
					 | 
				
			||||||
  <ItemGroup>
 | 
					 | 
				
			||||||
    <Compile Include="GatheredCumMixture.cs" />
 | 
					 | 
				
			||||||
    <Compile Include="JobDrivers.cs" />
 | 
					 | 
				
			||||||
    <Compile Include="Patch\GetGizmos.cs" />
 | 
					 | 
				
			||||||
    <Compile Include="Patch\Harmony.cs" />
 | 
					 | 
				
			||||||
    <Compile Include="Patch\Menstruation_Patch.cs" />
 | 
					 | 
				
			||||||
    <Compile Include="Patch\Pawn_Patch.cs" />
 | 
					 | 
				
			||||||
    <Compile Include="Patch\RJW_Patch.cs" />
 | 
					 | 
				
			||||||
    <Compile Include="Properties\AssemblyInfo.cs" />
 | 
					 | 
				
			||||||
    <Compile Include="VariousDefOf.cs" />
 | 
					 | 
				
			||||||
  </ItemGroup>
 | 
					 | 
				
			||||||
  <ItemGroup>
 | 
					 | 
				
			||||||
    <PackageReference Include="Lib.Harmony">
 | 
					 | 
				
			||||||
      <Version>2.2.1</Version>
 | 
					 | 
				
			||||||
      <ExcludeAssets>runtime</ExcludeAssets>
 | 
					 | 
				
			||||||
    </PackageReference>
 | 
					 | 
				
			||||||
  </ItemGroup>
 | 
					 | 
				
			||||||
  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
 | 
					 | 
				
			||||||
</Project>
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,12 +0,0 @@
 | 
				
			||||||
using Verse;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
namespace RJW_Menstruation.Sexperience
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
    public static class VariousDefOf
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        public static readonly JobDef VaginaWashingwithBucket = DefDatabase<JobDef>.GetNamed("VaginaWashingwithBucket");
 | 
					 | 
				
			||||||
        public static readonly ThingDef GatheredCumMixture = DefDatabase<ThingDef>.GetNamed("GatheredCumMixture");
 | 
					 | 
				
			||||||
        public static readonly ThingDef CumBucket = DefDatabase<ThingDef>.GetNamed("CumBucket");
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue