code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using HarmonyLib;
using RimWorld;
using Verse;
using rjw;

namespace Rimworld_Animations {

    [HarmonyPatch(typeof(JobDriver_SexBaseInitiator), "Start")]
    static class HarmonyPatch_JobDriver_SexBaseInitiator_Start {
        public static void Postfix(ref JobDriver_SexBaseInitiator __instance) {
			/*
			 These particular jobs need special code
			 don't play anim for now
			 */
			if(__instance is JobDriver_Masturbate || __instance is JobDriver_ViolateCorpse) {
				return;
			}

			Pawn pawn = __instance.pawn;

			Building_Bed bed = __instance.Bed;

			if ((__instance.Target as Pawn)?.jobs?.curDriver is JobDriver_SexBaseReciever) {

				Pawn Target = __instance.Target as Pawn;

				bool quickie = (__instance is JobDriver_SexQuick) && AnimationSettings.fastAnimForQuickie;

				int preAnimDuration = __instance.duration;
				int AnimationTimeTicks = 0;

				if (bed != null) {
                    RerollAnimations(Target, out AnimationTimeTicks, bed as Thing, __instance.Sexprops.sexType, quickie, sexProps: __instance.Sexprops);
                }
				else {
					RerollAnimations(Target, out AnimationTimeTicks, sexType: __instance.Sexprops.sexType, fastAnimForQuickie: quickie, sexProps: __instance.Sexprops);
				}

				//Modify Orgasm ticks to only orgasm as many times as RJW stock orgasm allows
				if(AnimationTimeTicks != 0)
                {
					__instance.orgasmstick = preAnimDuration * __instance.orgasmstick / AnimationTimeTicks;
				}

			}
		}

		public static void RerollAnimations(Pawn pawn, out int AnimationTimeTicks, Thing bed = null, xxx.rjwSextype sexType = xxx.rjwSextype.None, bool fastAnimForQuickie = false, rjw.SexProps sexProps = null) {

			AnimationTimeTicks = 0;

			if(pawn == null || !(pawn.jobs?.curDriver is JobDriver_SexBaseReciever)) {
				Log.Error("Error: Tried to reroll animations when pawn isn't sexing");
				return;
			}

			List<Pawn> pawnsToAnimate = (pawn.jobs.curDriver as JobDriver_SexBaseReciever).parteners.ToList();

			if (!pawnsToAnimate.Contains(pawn)) {
				pawnsToAnimate = pawnsToAnimate.Append(pawn).ToList();
			}

			for(int i = 0; i < pawnsToAnimate.Count; i++) {

				if(pawnsToAnimate[i].TryGetComp<CompBodyAnimator>() == null) {
					Log.Error("Error: " + pawnsToAnimate[i].Name + " of race " + pawnsToAnimate[i].def.defName + " does not have CompBodyAnimator attached!");
					break;
				}
			}

			AnimationDef anim = AnimationUtility.tryFindAnimation(ref pawnsToAnimate, sexType, sexProps);

			if (anim != null) {

				bool mirror = GenTicks.TicksGame % 2 == 0;

				IntVec3 pos = pawn.Position;

				for (int i = 0; i < anim.actors.Count; i++)
				{
					pawnsToAnimate[i].TryGetComp<CompBodyAnimator>().isAnimating = false;
				}

				for (int i = 0; i < pawnsToAnimate.Count; i++) {

					if (bed != null)
						pawnsToAnimate[i].TryGetComp<CompBodyAnimator>().setAnchor(bed);
					else {

						pawnsToAnimate[i].TryGetComp<CompBodyAnimator>().setAnchor(pos);
					}

					bool shiver = pawnsToAnimate[i].jobs.curDriver is JobDriver_SexBaseRecieverRaped;
					pawnsToAnimate[i].TryGetComp<CompBodyAnimator>().StartAnimation(anim, pawnsToAnimate, i, mirror, shiver, fastAnimForQuickie);

					int animTicks = anim.animationTimeTicks - (fastAnimForQuickie ? anim.animationStages[0].playTimeTicks : 0);
					(pawnsToAnimate[i].jobs.curDriver as JobDriver_Sex).ticks_left = animTicks;
					(pawnsToAnimate[i].jobs.curDriver as JobDriver_Sex).sex_ticks = animTicks;
					(pawnsToAnimate[i].jobs.curDriver as JobDriver_Sex).duration = animTicks;

					AnimationTimeTicks = animTicks;

					if(!AnimationSettings.hearts) {
						(pawnsToAnimate[i].jobs.curDriver as JobDriver_Sex).ticks_between_hearts = Int32.MaxValue;
					}

				}
			}
			else {
				Log.Message("No animation found");

				/*

				//if pawn isn't already animating,
				if (!pawn.TryGetComp<CompBodyAnimator>().isAnimating) {
					(pawn.jobs.curDriver as JobDriver_SexBaseReciever).increase_time(duration);
					//they'll just do the thrusting anim
				}

				*/
			}
		}
	}

	[HarmonyPatch(typeof(JobDriver_SexBaseInitiator), "End")]
	static class HarmonyPatch_JobDriver_SexBaseInitiator_End {

		public static void Postfix(ref JobDriver_SexBaseInitiator __instance) {

			if ((__instance.Target as Pawn)?.jobs?.curDriver is JobDriver_SexBaseReciever) {
				if (__instance.pawn.TryGetComp<CompBodyAnimator>().isAnimating) {

					List<Pawn> parteners = ((__instance.Target as Pawn)?.jobs.curDriver as JobDriver_SexBaseReciever).parteners;

					for (int i = 0; i < parteners.Count; i++) {

						//prevents pawns who started a new anim from stopping their new anim
						if (!((parteners[i].jobs.curDriver as JobDriver_SexBaseInitiator) != null && (parteners[i].jobs.curDriver as JobDriver_SexBaseInitiator).Target != __instance.pawn))
							parteners[i].TryGetComp<CompBodyAnimator>().isAnimating = false;

					}

					__instance.Target.TryGetComp<CompBodyAnimator>().isAnimating = false;

					if (xxx.is_human((__instance.Target as Pawn))) {
						(__instance.Target as Pawn)?.Drawer.renderer.graphics.ResolveApparelGraphics();
						PortraitsCache.SetDirty((__instance.Target as Pawn));
					}
				}

				((__instance.Target as Pawn)?.jobs.curDriver as JobDriver_SexBaseReciever).parteners.Remove(__instance.pawn);

			}

			if (xxx.is_human(__instance.pawn)) {
				__instance.pawn.Drawer.renderer.graphics.ResolveApparelGraphics();
				PortraitsCache.SetDirty(__instance.pawn);
			}
		}
	}
}


code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using HarmonyLib;
using RimWorld;
using Verse;
using rjw;
using System.Reflection.Emit;

namespace Rimworld_Animations
{

    [HarmonyPatch(typeof(JobDriver_SexBaseRecieverLoved), "MakeSexToil")]
    public static class HarmonyPatch_JobDriver_SexBaseReceiverLoved
    {

        public static IEnumerable<CodeInstruction> Transpiler(IEnumerable<CodeInstruction> codeInstructions)
        {

            var ins = codeInstructions.ToList();
            for(int i = 0; i < ins.Count; i++)
            {
                if(i + 13 < ins.Count && ins[i + 13].opcode == OpCodes.Call && ins[i + 13].OperandIs(AccessTools.DeclaredMethod(typeof(Toils_LayDown), "LayDown"))) {

                    ins.RemoveRange(i, 14);

                }

                else
                {
                    yield return ins[i];
                }
            }

        }

    }
}

license: unknown


code:
using HarmonyLib;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Verse;
using RimWorld;
using UnityEngine;

namespace Rimworld_Animations
{
    [HarmonyPatch(typeof(PawnRenderer), "DrawHeadHair")]
    public static class HarmonyPatch_HeadHair
    {
        public static void Prefix(ref Vector3 headOffset, ref float angle)
        {

        }

    }
}


code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using HarmonyLib;
using RimWorld;
using Verse;
using UnityEngine;
using System.Reflection;
using System.Reflection.Emit;

namespace Rimworld_Animations {

	[HarmonyPatch(typeof(PawnRenderer), "RenderPawnInternal", new Type[]
		{
					typeof(Vector3),
					typeof(float),
					typeof(bool),
					typeof(Rot4),
					typeof(RotDrawMode),
					typeof(PawnRenderFlags)
		}
	)]
	public static class HarmonyPatch_PawnRenderer
	{

		[HarmonyBefore(new string[] { "showhair.kv.rw", "erdelf.HumanoidAlienRaces", "Nals.FacialAnimation" })]
		public static void Prefix(PawnRenderer __instance, ref Vector3 rootLoc, ref float angle, bool renderBody, ref Rot4 bodyFacing, RotDrawMode bodyDrawType, PawnRenderFlags flags)
		{

			if (flags.FlagSet(PawnRenderFlags.Portrait)) return;

			PawnGraphicSet graphics = __instance.graphics;
			Pawn pawn = graphics.pawn;
			CompBodyAnimator bodyAnim = pawn.TryGetComp<CompBodyAnimator>();

			if (bodyAnim != null && bodyAnim.isAnimating && pawn.Map == Find.CurrentMap)
			{
				bodyAnim.animatePawnBody(ref rootLoc, ref angle, ref bodyFacing);

			}

		}

		public static IEnumerable<CodeInstruction> Transpiler(IEnumerable<CodeInstruction> instructions)
		{
			List<CodeInstruction> ins = instructions.ToList();

			for(int i = 0; i < instructions.Count(); i++)
			{

				if (i - 3 >= 0 && ins[i - 3].opcode == OpCodes.Call && ins[i - 3].operand != null && ins[i - 3].OperandIs(AccessTools.DeclaredMethod(typeof(PawnRenderer), "BaseHeadOffsetAt")))
                {

					yield return new CodeInstruction(OpCodes.Ldloca, (object)0);
					yield return new CodeInstruction(OpCodes.Ldloca, (object)7);
					yield return new CodeInstruction(OpCodes.Ldloca, (object)6);
					yield return new CodeInstruction(OpCodes.Ldarga, (object)2);
					yield return new CodeInstruction(OpCodes.Ldarg_0);
					yield return new CodeInstruction(OpCodes.Ldfld, AccessTools.DeclaredField(typeof(PawnRenderer), "pawn"));
					yield return new CodeInstruction(OpCodes.Ldarg, (object)6);
					yield return new CodeInstruction(OpCodes.Call, AccessTools.DeclaredMethod(typeof(AnimationUtility), "AdjustHead"));
					yield return ins[i];
					//headFacing equals true
                }

				else
                {
					yield return ins[i];
				}

			}

		}

	}

}


code:
using HarmonyLib;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Verse;

namespace Rimworld_Animations {
    [HarmonyPatch(typeof(Thing), "Rotation", MethodType.Getter)]
    public static class HarmonyPatch_PawnRotation {

        public static bool Prefix(Thing __instance, ref Rot4 __result) {

            if(!(__instance is Pawn) || (__instance as Pawn)?.TryGetComp<CompBodyAnimator>() == null || !(__instance as Pawn).TryGetComp<CompBodyAnimator>().isAnimating) {
                return true;
            }

            Pawn pawn = (__instance as Pawn);
            __result = pawn.TryGetComp<CompBodyAnimator>().bodyFacing;

            return false;

        }

    }

}


code:
using HarmonyLib;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using UnityEngine;
using Verse;

namespace Rimworld_Animations {

    [HarmonyPatch(typeof(Pawn_DrawTracker), "DrawPos", MethodType.Getter)]
    public static class HarmonyPatch_Pawn_DrawTracker {
        public static bool Prefix(ref Pawn ___pawn, ref Vector3 __result) {

            CompBodyAnimator bodyAnim = ___pawn.TryGetComp<CompBodyAnimator>();

            if (bodyAnim != null && bodyAnim.isAnimating) {
                __result = ___pawn.TryGetComp<CompBodyAnimator>().anchor + ___pawn.TryGetComp<CompBodyAnimator>().deltaPos;

                return false;
            }
            return true;
        }
    }
}


code:
using HarmonyLib;
using RimWorld;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection.Emit;
using System.Text;
using System.Threading.Tasks;
using UnityEngine;
using Verse;

namespace Rimworld_Animations
{
	[HarmonyPatch(typeof(PawnRenderer), "RenderPawnAt")]
	public static class PawnRenderer_RenderPawnAt_Patch
	{
		static bool ClearCache(Pawn pawn)
		{
			return pawn.IsInvisible() || (pawn.TryGetComp<CompBodyAnimator>() != null && pawn.TryGetComp<CompBodyAnimator>().isAnimating);
		}

		public static IEnumerable<CodeInstruction> Transpiler(IEnumerable<CodeInstruction> instructions)
		{
			var list = instructions.ToList();

			foreach (CodeInstruction i in instructions)
			{
				if (i.OperandIs(AccessTools.Method(typeof(PawnUtility), "IsInvisible")))
				{

					yield return new CodeInstruction(OpCodes.Call, AccessTools.Method(typeof(PawnRenderer_RenderPawnAt_Patch), "ClearCache"));
				}
				else
				{
					yield return i;
				}
			}
		}
	}

}


code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Verse;
using UnityEngine;
using RimWorld;

namespace Rimworld_Animations {

    public class AnimationSettings : ModSettings {

        public static bool orgasmQuiver, rapeShiver, soundOverride = true, hearts = true, controlGenitalRotation = false, applySemenOnAnimationOrgasm = false, fastAnimForQuickie = false;
        public static bool offsetTab = false, debugMode = false;
        public static float shiverIntensity = 2f;

        public static Dictionary<string, Vector2> offsets = new Dictionary<string, Vector2>();
        public static Dictionary<string, float> rotation = new Dictionary<string, float>();

        public override void ExposeData() {

            base.ExposeData();

            Scribe_Values.Look(ref debugMode, "RJWAnimations-AnimsDebugMode", false);
            Scribe_Values.Look(ref offsetTab, "RJWAnimations-EnableOffsetTab", false);
            Scribe_Values.Look(ref controlGenitalRotation, "RJWAnimations-controlGenitalRotation", false);
            Scribe_Values.Look(ref orgasmQuiver, "RJWAnimations-orgasmQuiver");
            Scribe_Values.Look(ref fastAnimForQuickie, "RJWAnimations-fastAnimForQuickie");
            Scribe_Values.Look(ref rapeShiver, "RJWAnimations-rapeShiver");
            Scribe_Values.Look(ref hearts, "RJWAnimation-sheartsOnLovin");
            Scribe_Values.Look(ref applySemenOnAnimationOrgasm, "RJWAnimations-applySemenOnOrgasm", false);
            Scribe_Values.Look(ref soundOverride, "RJWAnimations-rjwAnimSoundOverride", true);
            Scribe_Values.Look(ref shiverIntensity, "RJWAnimations-shiverIntensity", 2f);
            //todo: save offsetsByDefName

            Scribe_Collections.Look(ref offsets, "RJWAnimations-animationOffsets");
            Scribe_Collections.Look(ref rotation, "RJWAnimations-rotationOffsets");

            //needs to be rewritten
            //probably somewhere in options?

        }

    }

    public class RJW_Animations : Mod {

        public RJW_Animations(ModContentPack content) : base(content) {
            GetSettings<AnimationSettings>();

        }

        public override void DoSettingsWindowContents(Rect inRect) {

            Listing_Standard listingStandard = new Listing_Standard();
            listingStandard.Begin(inRect);

            listingStandard.CheckboxLabeled("Enable Sound Override", ref AnimationSettings.soundOverride);
            listingStandard.CheckboxLabeled("Control Genital Rotation", ref AnimationSettings.controlGenitalRotation);
            listingStandard.CheckboxLabeled("Play Fast Animation for Quickie", ref AnimationSettings.fastAnimForQuickie);
            listingStandard.CheckboxLabeled("Apply Semen on Animation Orgasm", ref AnimationSettings.applySemenOnAnimationOrgasm);

            if(AnimationSettings.applySemenOnAnimationOrgasm) {
                listingStandard.Label("Recommended--turn down \"Cum on body percent\" in RJW settings to about 33%");
            }

            listingStandard.CheckboxLabeled("Enable Orgasm Quiver", ref AnimationSettings.orgasmQuiver);
            listingStandard.CheckboxLabeled("Enable Rape Shiver", ref AnimationSettings.rapeShiver);
            listingStandard.CheckboxLabeled("Enable hearts during lovin'", ref AnimationSettings.hearts);

            listingStandard.CheckboxLabeled("Enable Animation Manager Tab", ref AnimationSettings.offsetTab);

            listingStandard.Label("Shiver/Quiver Intensity (default 2): " + AnimationSettings.shiverIntensity);
            AnimationSettings.shiverIntensity = listingStandard.Slider(AnimationSettings.shiverIntensity, 0.0f, 12f);

            listingStandard.CheckboxLabeled("Debug Mode", ref AnimationSettings.debugMode);

            listingStandard.End();
            base.DoSettingsWindowContents(inRect);
        }

        public override void WriteSettings() {
            base.WriteSettings();
            OffsetMainButtonDefOf.OffsetManager.buttonVisible = AnimationSettings.offsetTab;

        }

        public override string SettingsCategory() {
            return "RJW Animation Settings";
        }
    }
}


code:
<?xml version="1.0" encoding="utf-8"?>

<ModMetaData>
	<name>Rimworld-Animations</name>
	<author>C0ffee</author>
  <url>https://gitgud.io/c0ffeeeeeeee/rimworld-animations</url>
	<supportedVersions>

1.1

1.2

1.3

	</supportedVersions>
	<packageId>c0ffee.rimworld.animations</packageId>
	<modDependencies>

			<packageId>brrainz.harmony</packageId>
			<displayName>Harmony</displayName>
			<steamWorkshopUrl>steam://url/CommunityFilePage/2009463077</steamWorkshopUrl>
			<downloadUrl>https://github.com/pardeike/HarmonyRimWorld/releases/latest</downloadUrl>

			<packageId>UnlimitedHugs.HugsLib</packageId>
			<displayName>HugsLib</displayName>
			<downloadUrl>https://github.com/UnlimitedHugs/RimworldHugsLib/releases/latest</downloadUrl>
			<steamWorkshopUrl>steam://url/CommunityFilePage/818773962</steamWorkshopUrl>

			<packageId>rim.job.world</packageId>
			<displayName>RimJobWorld</displayName>
			<downloadUrl>https://www.loverslab.com/topic/110270-mod-rimjobworld/</downloadUrl>

			<packageId>erdelf.HumanoidAlienRaces</packageId>
			<displayName>Humanoid Alien Races 2.0</displayName>
			<steamWorkshopUrl>https://steamcommunity.com/sharedfiles/filedetails/?id=839005762</steamWorkshopUrl>

	</modDependencies>
	<loadAfter>

UnlimitedHugs.HugsLib

brrainz.harmony

erdelf.humanoidalienraces

nals.facialanimation

com.yayo.yayoAni

	</loadAfter>
	<loadBefore>
	</loadBefore>
	<incompatibleWith>

velc.HatsDisplaySelection

	</incompatibleWith>
	<description>
    Rimworld Animations! Hurray!

    Questions or bugs?
    Chat with me on the forums: https://www.loverslab.com/topic/140386-rjw-animations/
    Or on the rjw discord: https://discord.gg/CXwHhv8

  </description>
</ModMetaData>


code:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Manifest>
  <identifier>Rimworld-Animations</identifier>
  <version>1.2.3</version>
</Manifest>


code:
<?xml version="1.0" encoding="utf-8"?>
<LanguageData>

  <OffsetManager.label>gerenciador de posições</OffsetManager.label>
  <OffsetManager.description>Controla as posições sexuais dos colonos.</OffsetManager.description>

</LanguageData>


code:
<?xml version="1.0" encoding="utf-8"?>
<LanguageData>

  <Dog_Doggystyle.label>estilo cachorrinho</Dog_Doggystyle.label>
  <Horse_Cowgirl.label>vaqueira</Horse_Cowgirl.label>

</LanguageData>


code:
<?xml version="1.0" encoding="utf-8"?>
<LanguageData>

  <Tribadism.label>tribadismo</Tribadism.label>
  <Cunnilingus.label>cunilíngua</Cunnilingus.label>

</LanguageData>


code:
<?xml version="1.0" encoding="utf-8"?>
<LanguageData>

  <Double_Penetration.label>dupla penetração</Double_Penetration.label>

</LanguageData>


code:
<?xml version="1.0" encoding="utf-8"?>
<LanguageData>

  <Doggystyle.label>estilo cachorrinho</Doggystyle.label>
  <Blowjob.label>boquete</Blowjob.label>
  <ReverseStandAndCarry.label>69</ReverseStandAndCarry.label>
  <Cowgirl.label>vaqueira</Cowgirl.label>

</LanguageData>


code:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<loadFolders>
	<v1.1>

/

1.1

	</v1.1>
	<v1.2>

/

1.2

Patch_HatsDisplaySelection/1.2

	</v1.2>
	<v1.3>

/

1.3

Patch_HatsDisplaySelection/1.2

	</v1.3>

</loadFolders>


code:
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;

// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("Rimworld-Animations")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("Rimworld-Animations")]
[assembly: AssemblyCopyright("Copyright ©  2020")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]

// Setting ComVisible to false makes the types in this assembly not visible
// to COM components.  If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]

// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("71b05d71-67b2-4014-82cd-18c20ac0882f")]

// Version information for an assembly consists of the following four values:
//
//      Major Version
//      Minor Version
//      Build Number
//      Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]


code:
<?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>{71B05D71-67B2-4014-82CD-18C20AC0882F}</ProjectGuid>
    <OutputType>Library</OutputType>
    <AppDesignerFolder>Properties</AppDesignerFolder>
    <RootNamespace>Rimworld_Animations</RootNamespace>
    <AssemblyName>Rimworld-Animations</AssemblyName>
    <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
    <FileAlignment>512</FileAlignment>
    <Deterministic>true</Deterministic>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
    <DebugSymbols>false</DebugSymbols>
    <DebugType>none</DebugType>
    <Optimize>false</Optimize>
    <OutputPath>1.3\Assemblies\</OutputPath>
    <DefineConstants>DEBUG;TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    <DebugType>none</DebugType>
    <Optimize>true</Optimize>
    <OutputPath>bin\Release\</OutputPath>
    <DefineConstants>TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>
  <ItemGroup>
    <Reference Include="0Harmony">
      <HintPath>..\..\..\..\workshop\content\294100\2009463077\Current\Assemblies\0Harmony.dll</HintPath>
      <Private>False</Private>
    </Reference>
    <Reference Include="AlienRace">
      <HintPath>..\..\..\..\workshop\content\294100\839005762\1.3\Assemblies\AlienRace.dll</HintPath>
      <Private>False</Private>
    </Reference>
    <Reference Include="Assembly-CSharp">
      <HintPath>..\..\RimWorldWin64_Data\Managed\Assembly-CSharp.dll</HintPath>
      <Private>False</Private>
    </Reference>
    <Reference Include="RJW">
      <HintPath>..\rjw\1.3\Assemblies\RJW.dll</HintPath>
    </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>
  </ItemGroup>
  <ItemGroup>
    <Compile Include="Properties\AssemblyInfo.cs" />
    <Compile Include="1.3\Source\Actors\Actor.cs" />
    <Compile Include="1.3\Source\Actors\AlienRaceOffset.cs" />
    <Compile Include="1.3\Source\Actors\BodyTypeOffset.cs" />
    <Compile Include="1.3\Source\Animations\AnimationStage.cs" />
    <Compile Include="1.3\Source\Animations\Clips\BaseAnimationClip.cs" />
    <Compile Include="1.3\Source\Animations\Clips\PawnAnimationClip.cs" />
    <Compile Include="1.3\Source\Animations\Clips\ThingAnimationClip.cs" />
    <Compile Include="1.3\Source\Animations\Keyframes\Keyframe.cs" />
    <Compile Include="1.3\Source\Animations\Keyframes\PawnKeyframe.cs" />
    <Compile Include="1.3\Source\Animations\Keyframes\ThingKeyframe.cs" />
    <Compile Include="1.3\Source\AnimationUtility.cs" />
    <Compile Include="1.3\Source\Comps\CompBodyAnimator.cs" />
    <Compile Include="1.3\Source\Comps\CompProperties_BodyAnimator.cs" />
    <Compile Include="1.3\Source\Comps\CompProperties_ThingAnimator.cs" />
    <Compile Include="1.3\Source\Comps\CompThingAnimator.cs" />
    <Compile Include="1.3\Source\Defs\AnimationDef.cs" />
    <Compile Include="1.3\Source\MainTabWindows\WorldComponent_UpdateMainTab.cs" />
    <Compile Include="1.3\Source\MainTabWindows\MainTabWindow_OffsetConfigure.cs" />
    <Compile Include="1.3\Source\MainTabWindows\OffsetMainButtonDefOf.cs" />
    <Compile Include="1.3\Source\Patches\OtherModPatches\HarmonyPatch_AlienRace.cs" />
    <Compile Include="1.3\Source\Patches\OtherModPatches\HarmonyPatch_CSL.cs" />
    <Compile Include="1.3\Source\Patches\OtherModPatches\HarmonyPatch_DontShaveYourHead.cs" />
    <Compile Include="1.3\Source\Patches\OtherModPatches\HarmonyPatch_FacialAnimation.cs" />
    <Compile Include="1.3\Source\Patches\OtherModPatches\HarmonyPatch_HatsDisplaySelection.cs" />
    <Compile Include="1.3\Source\Patches\OtherModPatches\HarmonyPatch_ShowHairWithHats.cs" />
    <Compile Include="1.3\Source\Patches\RimworldPatches\HarmonyPatch_HeadHair.cs" />
    <Compile Include="1.3\Source\Patches\RimworldPatches\HarmonyPatch_PawnRenderer.cs" />
    <Compile Include="1.3\Source\Patches\RimworldPatches\HarmonyPatch_PawnRotation.cs" />
    <Compile Include="1.3\Source\Patches\RimworldPatches\HarmonyPatch_Pawn_DrawTracker.cs" />
    <Compile Include="1.3\Source\Patches\RimworldPatches\HarmonyPatch_SetPawnAnimatable.cs" />
    <Compile Include="1.3\Source\Patches\Harmony_PatchAll.cs" />
    <Compile Include="1.3\Source\Patches\RJWPatches\JobDrivers\HarmonyPatch_JobDriver_JoinInBed.cs" />
    <Compile Include="1.3\Source\Patches\RJWPatches\JobDrivers\HarmonyPatch_JobDriver_SexBaseInitiator.cs" />
    <Compile Include="1.3\Source\Patches\RJWPatches\HarmonyPatch_PlaySexSounds.cs" />
    <Compile Include="1.3\Source\Patches\RJWPatches\HarmonyPatch_SexTick.cs" />
    <Compile Include="1.3\Source\Patches\RJWPatches\HarmonyPatch_WorkGiverSex.cs" />
    <Compile Include="1.3\Source\Patches\RJWPatches\JobDrivers\HarmonyPatch_JobDriver_SexBaseReceiverLoved.cs" />
    <Compile Include="1.3\Source\Settings\AnimationSettings.cs" />
  </ItemGroup>
  <ItemGroup>
    <Content Include="1.1\Assemblies\Rimworld-Animations.dll" />
    <Content Include="1.3\Assemblies\Rimworld-Animations.dll" />
    <Content Include="About\About.xml" />
    <Content Include="About\Manifest.xml" />
    <Content Include="1.3\Defs\AnimationDefs\Animations_Beast.xml" />
    <Content Include="1.3\Defs\AnimationDefs\Animations_Lesbian.xml" />
    <Content Include="1.3\Defs\AnimationDefs\Animations_Masturbate.xml" />
    <Content Include="1.3\Defs\AnimationDefs\Animations_Multi.xml" />
    <Content Include="1.3\Defs\AnimationDefs\Animations_vanilla.xml" />
    <Content Include="1.3\Defs\AnimationDefs\Animations_Vanilla2.xml" />
    <Content Include="1.3\Defs\MainTabDefs\MainButtonDef.xml" />
    <Content Include="1.3\Defs\SoundDefs\Sounds_Sex.xml" />
    <Content Include="Languages\PortugueseBrazilian\DefInjected\MainButtonDef\MainButtonDef.xml" />
    <Content Include="Languages\PortugueseBrazilian\DefInjected\Rimworld_Animations.AnimationDef\Animations_Beast.xml" />
    <Content Include="Languages\PortugueseBrazilian\DefInjected\Rimworld_Animations.AnimationDef\Animations_Lesbian.xml" />
    <Content Include="Languages\PortugueseBrazilian\DefInjected\Rimworld_Animations.AnimationDef\Animations_Multi.xml" />
    <Content Include="Languages\PortugueseBrazilian\DefInjected\Rimworld_Animations.AnimationDef\Animations_vanilla.xml" />
    <Content Include="LoadFolders.xml" />
  </ItemGroup>
  <ItemGroup>
    <Folder Include="1.2\" />
    <Folder Include="1.3\Defs\JobDefs\" />
    <Folder Include="1.3\Source\JobDrivers\" />
  </ItemGroup>
  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>


code:
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.29905.134
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Rimworld-Animations", "Rimworld-Animations.csproj", "{71B05D71-67B2-4014-82CD-18C20AC0882F}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Patch_HatsDisplaySelection", "Patch_HatsDisplaySelection\Patch_HatsDisplaySelection.csproj", "{BA766964-1716-422D-A09E-29426F8EB9D5}"
EndProject
Global
	GlobalSection(SolutionConfigurationPlatforms) = preSolution
		Debug|Any CPU = Debug|Any CPU
		Release|Any CPU = Release|Any CPU
	EndGlobalSection
	GlobalSection(ProjectConfigurationPlatforms) = postSolution
		{71B05D71-67B2-4014-82CD-18C20AC0882F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
		{71B05D71-67B2-4014-82CD-18C20AC0882F}.Debug|Any CPU.Build.0 = Debug|Any CPU
		{71B05D71-67B2-4014-82CD-18C20AC0882F}.Release|Any CPU.ActiveCfg = Release|Any CPU
		{71B05D71-67B2-4014-82CD-18C20AC0882F}.Release|Any CPU.Build.0 = Release|Any CPU
		{BA766964-1716-422D-A09E-29426F8EB9D5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
		{BA766964-1716-422D-A09E-29426F8EB9D5}.Release|Any CPU.ActiveCfg = Release|Any CPU
		{BA766964-1716-422D-A09E-29426F8EB9D5}.Release|Any CPU.Build.0 = Release|Any CPU
	EndGlobalSection
	GlobalSection(SolutionProperties) = preSolution
		HideSolutionNode = FALSE
	EndGlobalSection
	GlobalSection(ExtensibilityGlobals) = postSolution
		SolutionGuid = {7E01292A-D76F-4CA3-AA64-085B84ECD905}
	EndGlobalSection
EndGlobal


code:
# Auto detect text files and perform LF normalization
* text=auto

repo_name: XGDragon/labyrinthtrans

path: .gitattributes


code: # LabyrinthTrans


code:
###############################################################################
# Set default behavior to automatically normalize line endings.
###############################################################################
* text=auto

###############################################################################
# Set default behavior for command prompt diff.
#
# This is need for earlier builds of msysgit that does not have it on by
# default for csharp files.
# Note: This is only used by command line
###############################################################################
#*.cs     diff=csharp

###############################################################################
# Set the merge driver for project and solution files
#
# Merging from the command prompt will add diff markers to the files if there
# are conflicts (Merging from VS is not affected by the settings below, in VS
# the diff markers are never inserted). Diff markers may cause the following
# file extensions to fail to load in VS. An alternative would be to treat
# these files as binary and thus will always conflict and require user
# intervention with every merge. To do so, just uncomment the entries below
###############################################################################
#*.sln       merge=binary
#*.csproj    merge=binary
#*.vbproj    merge=binary
#*.vcxproj   merge=binary
#*.vcproj    merge=binary
#*.dbproj    merge=binary
#*.fsproj    merge=binary
#*.lsproj    merge=binary
#*.wixproj   merge=binary
#*.modelproj merge=binary
#*.sqlproj   merge=binary
#*.wwaproj   merge=binary

###############################################################################
# behavior for image files
#
# image files are treated as binary by default.
###############################################################################
#*.jpg   binary
#*.png   binary
#*.gif   binary

###############################################################################
# diff behavior for common document formats
#
# Convert binary document formats to text before diffing them. This feature
# is only available from the command line. Turn it on by uncommenting the
# entries below.
###############################################################################
#*.doc   diff=astextplain
#*.DOC   diff=astextplain
#*.docx  diff=astextplain
#*.DOCX  diff=astextplain
#*.dot   diff=astextplain
#*.DOT   diff=astextplain
#*.pdf   diff=astextplain
#*.PDF   diff=astextplain
#*.rtf   diff=astextplain
#*.RTF   diff=astextplain

repo_name: Eggs/rjw

license: mit


code:
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.

# User-specific files
*.suo
*.user
*.userosscache
*.sln.docstates
*.csproj.user

# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs

# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/
bld/
[Bb]in/
[Oo]bj/
[Ll]og/

# Visual Studio 2015 cache/options directory
.vs/
# Uncomment if you have tasks that create the project's static files in wwwroot
#wwwroot/

# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*

# NUNIT
*.VisualState.xml
TestResult.xml

# Build Results of an ATL Project
[Dd]ebugPS/
[Rr]eleasePS/
dlldata.c

# DNX
project.lock.json
project.fragment.lock.json
artifacts/

*_i.c
*_p.c
*_i.h
*.ilk
*.meta
*.obj
*.pch
*.pdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*.log
*.vspscc
*.vssscc
.builds
*.pidb
*.svclog
*.scc

# Chutzpah Test files
_Chutzpah*

# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opendb
*.opensdf
*.sdf
*.cachefile
*.VC.db
*.VC.VC.opendb

# Visual Studio profiler
*.psess
*.vsp
*.vspx
*.sap

# TFS 2012 Local Workspace
$tf/

# Guidance Automation Toolkit
*.gpState

# ReSharper is a .NET coding add-in
_ReSharper*/
*.[Rr]e[Ss]harper
*.DotSettings.user

# JustCode is a .NET coding add-in
.JustCode

# TeamCity is a build add-in
_TeamCity*

# DotCover is a Code Coverage Tool
*.dotCover

# NCrunch
_NCrunch_*
.*crunch*.local.xml
nCrunchTemp_*

# MightyMoose
*.mm.*
AutoTest.Net/

# Web workbench (sass)
.sass-cache/

# Installshield output folder
[Ee]xpress/

# DocProject is a documentation generator add-in
DocProject/buildhelp/
DocProject/Help/*.HxT
DocProject/Help/*.HxC
DocProject/Help/*.hhc
DocProject/Help/*.hhk
DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html

# Click-Once directory
publish/

# Publish Web Output
*.[Pp]ublish.xml
*.azurePubxml
# TODO: Comment the next line if you want to checkin your web deploy settings
# but database connection strings (with potential passwords) will be unencrypted
#*.pubxml
*.publishproj

# Microsoft Azure Web App publish settings. Comment the next line if you want to
# checkin your Azure Web App publish settings, but sensitive information contained
# in these scripts will be unencrypted
PublishScripts/

# NuGet Packages
*.nupkg
# The packages folder can be ignored because of Package Restore
**/packages/*
# except build/, which is used as an MSBuild target.
!**/packages/build/
# Uncomment if necessary however generally it will be regenerated when needed
#!**/packages/repositories.config
# NuGet v3's project.json files produces more ignoreable files
*.nuget.props
*.nuget.targets

# Microsoft Azure Build Output
csx/
*.build.csdef

# Microsoft Azure Emulator
ecf/
rcf/

# Windows Store app package directories and files
AppPackages/
BundleArtifacts/
Package.StoreAssociation.xml
_pkginfo.txt

# Visual Studio cache files
# files ending in .cache can be ignored
*.[Cc]ache
# but keep track of directories ending in .cache
!*.[Cc]ache/

# Others
ClientBin/
~$*
*~
*.dbmdl
*.dbproj.schemaview
*.jfm
*.pfx
*.publishsettings
node_modules/
orleans.codegen.cs

# Since there are multiple workflows, uncomment next line to ignore bower_components
# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
#bower_components/

# RIA/Silverlight projects
Generated_Code/

# Backup & report files from converting an old project file
# to a newer Visual Studio version. Backup files are not needed,
# because we have git ;-)
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm

# SQL Server files
*.mdf
*.ldf

# Business Intelligence projects
*.rdl.data
*.bim.layout
*.bim_*.settings

# Microsoft Fakes
FakesAssemblies/

# GhostDoc plugin setting file
*.GhostDoc.xml

# Node.js Tools for Visual Studio
.ntvs_analysis.dat

# Visual Studio 6 build log
*.plg

# Visual Studio 6 workspace options file
*.opt

# Visual Studio LightSwitch build output
**/*.HTMLClient/GeneratedArtifacts
**/*.DesktopClient/GeneratedArtifacts
**/*.DesktopClient/ModelManifest.xml
**/*.Server/GeneratedArtifacts
**/*.Server/ModelManifest.xml
_Pvt_Extensions

# Paket dependency manager
.paket/paket.exe
paket-files/

# FAKE - F# Make
.fake/

# JetBrains Rider
.idea/
*.sln.iml

# CodeRush
.cr/

# Python Tools for Visual Studio (PTVS)
__pycache__/
*.pyc
/Archived
/MyTo-Do.txt
/LL_post.txt
/creditsnew.txt
/Assemblies/UnityEngine.UI.dll
/Assemblies/UnityEngine.dll
/Assemblies/TextMeshPro-1.0.55.56.0b11.dll
/Assemblies/NVorbis.dll
/Assemblies/NAudio.dll
/Assemblies/HugsLib.dll
/Assemblies/Assembly-CSharp.dll
/Assemblies/Assembly-CSharp-firstpass.dll
/Assemblies/0Harmony.dll
/RimJobWorld.Main.sln
*.csproj
/.gitignore

path: .gitignore


code:
<?xml version="1.0" encoding="utf-8"?>

<ModMetaData>
	<name>RimJobWorld</name>
	<author>Ed86</author>
	<url>https://gitgud.io/Ed86/rjw</url>
	<supportedVersions>

1.0

	</supportedVersions>
	<description>
M for Mature

Load mod at bottom of mod list:
	Core
	HugsLib
	++Mods
	RimJobWorld
	RJW_Ex

Support dev: https://www.patreon.com/Ed86
Forum: https://www.loverslab.com/files/file/7257-rimjobworld/
Discord: https://discord.gg/CXwHhv8
	</description>
</ModMetaData>


code:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Manifest>
	<identifier>RimJobWorld</identifier>
	<version>3.2.2</version>
	<dependencies>

HugsLib

	</dependencies>
	<incompatibleWith />
	<loadAfter>

HugsLib

	</loadAfter>
	<suggests>
	</suggests>
	<manifestUri>https://gitgud.io/Ed86/rjw/raw/master/About/Manifest.xml</manifestUri>
	<downloadUri>https://gitgud.io/Ed86/rjw</downloadUri>
</Manifest>


code:
<?xml version="1.0" encoding="utf-8" ?>

<Defs>
	<BodyPartDef>
		<defName>Genitals</defName>
		genitals
		<hitPoints>12</hitPoints>
		<frostbiteVulnerability>0.01</frostbiteVulnerability>
		<skinCovered>true</skinCovered>
		<solid>false</solid>
		<canSuggestAmputation>false</canSuggestAmputation>
		<bleedRate>1.0</bleedRate>
		<tags>

RJW_FertilitySource

		</tags>
	</BodyPartDef>

	<BodyPartDef>
		<defName>Chest</defName>
		chest
		<hitPoints>24</hitPoints>
		<frostbiteVulnerability>0.01</frostbiteVulnerability>
		<skinCovered>true</skinCovered>
		<solid>false</solid>
		<canSuggestAmputation>false</canSuggestAmputation>
		<bleedRate>1.0</bleedRate>
	</BodyPartDef>

	<BodyPartDef>
		<defName>Anus</defName>
		anus
		<hitPoints>8</hitPoints>
		<frostbiteVulnerability>0.01</frostbiteVulnerability>
		<skinCovered>true</skinCovered>
		<solid>false</solid>
		<canSuggestAmputation>false</canSuggestAmputation>
		<bleedRate>1.0</bleedRate>
	</BodyPartDef>
</Defs>


code:
<?xml version="1.0" encoding="utf-8" ?>

<Defs>
	<BodyPartDef>
		<defName>MechGenitals</defName>
		mechanoid implanter
		<hitPoints>20</hitPoints>
		<skinCovered>true</skinCovered>
		<solid>true</solid>
		<canSuggestAmputation>false</canSuggestAmputation>
		<bleedRate>0</bleedRate>
		<frostbiteVulnerability>0.0</frostbiteVulnerability>
		<tags>

RJW_FertilitySource

		</tags>
	</BodyPartDef>
</Defs>


code:
<?xml version="1.0" encoding="utf-8" ?>

<Defs>
	<BodyPartTagDef>
		<defName>RJW_FertilitySource</defName>
		<label>fertility_source</label>
		<description>Neccessary for reproduction</description>
		<vital>false</vital>
	</BodyPartTagDef>
</Defs>


code:
<?xml version="1.0" encoding="utf-8"?>

<Defs>
	<ConceptDef>
		<defName>WhoreBeds</defName>
		Whore beds
		<priority>50</priority>
		<needsOpportunity>True</needsOpportunity>
		<helpText>Whores prefer to work in beds.\n\nThere are specific whore beds you can build for them.</helpText>
		<highlightTags>

MainTab-Architect-Closed

DesignationCategoryButton-Furniture-Closed

Designator-Build-WhoreBed

		</highlightTags>
	</ConceptDef>
</Defs>


code:
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
	<DamageDef>
		<defName>ViralDamage</defName>
		<workerClass>DamageWorker_AddInjury</workerClass>
		<label>viral damage</label>
		<externalViolence>false</externalViolence>
		<deathMessage>{0} has died of a disease.</deathMessage>
		<hediff>VirusPerma</hediff>
		<hediffSkin>VirusPerma</hediffSkin>
		<hediffSolid>VirusPerma</hediffSolid>
		<makesBlood>false</makesBlood>
		<harmAllLayersUntilOutside>false</harmAllLayersUntilOutside>
	</DamageDef>
</Defs>


code:
<?xml version="1.0" encoding="utf-8" ?>

<Defs>
	<ThingDef ParentName="MakeableDrugBase">
		<defName>Aphrodisiac</defName>
		Aphrodisiac drug
		<description>A smokable drug made from humpshroom.</description>
		<graphicData>
			<texPath>Things/Item/Drug/Penoxycyline</texPath>
			<graphicClass>Graphic_StackCount</graphicClass>
		</graphicData>
		<rotatable>false</rotatable>
		<statBases>
			<WorkToMake>450</WorkToMake>
			<MarketValue>50</MarketValue>
			<Mass>0.05</Mass>
			<DeteriorationRate>6</DeteriorationRate>
			<Flammability>1.3</Flammability>
		</statBases>
		<techLevel>Medieval</techLevel>
		<ingestible>
			<foodType>Plant, Processed</foodType>
			<joyKind>Chemical</joyKind>
			<joy>0.80</joy>
			<baseIngestTicks>720</baseIngestTicks>
			<nurseable>true</nurseable>
			<drugCategory>Social</drugCategory>
			<ingestSound>Ingest_Smoke</ingestSound>
			<ingestEffect>Smoke_Joint</ingestEffect>
			<ingestEffectEat>EatVegetarian</ingestEffectEat>
			<ingestHoldOffsetStanding>
				<northDefault>
					<offset>(0.27,0,0.08)</offset>
					<behind>true</behind>
				</northDefault>
				<east>
					<offset>(0.45,0,0.08)</offset>
				</east>
				<south>
					<offset>(0.27,0,0.08)</offset>
				</south>
				<west>
					<offset>(-0.50,0,0.08)</offset>
					<flip>true</flip>
				</west>
			</ingestHoldOffsetStanding>
			<ingestHoldUsesTable>false</ingestHoldUsesTable>
			<ingestCommandString>Smoke {0}</ingestCommandString>
			<ingestReportString>Smoking {0}.</ingestReportString>
			<ingestReportStringEat>Consuming {0}.</ingestReportStringEat>
			<useEatingSpeedStat>false</useEatingSpeedStat>
			<outcomeDoers>

					<hediffDef>HumpShroomEffect</hediffDef>
					<severity>0.6</severity>
					<toleranceChemical>HumpShroom</toleranceChemical>

					<hediffDef>HumpShroomTolerance</hediffDef>
					<severity>0.042</severity>
					<divideByBodySize>true</divideByBodySize>

					<need>Sex</need>
					<offset>-0.5</offset>

			</outcomeDoers>
		</ingestible>
		<recipeMaker>
			<recipeUsers>

CraftingSpot

DrugLab

			</recipeUsers>
			<workSpeedStat>DrugCookingSpeed</workSpeedStat>
			<workSkill>Cooking</workSkill>
		</recipeMaker>
		<costList>
			<HumpShroom>4</HumpShroom>
		</costList>
		<comps>

				<chemical>HumpShroom</chemical>
				<addictiveness>0.030</addictiveness>
				<minToleranceToAddict>0.15</minToleranceToAddict>
				<existingAddictionSeverityOffset>0.1</existingAddictionSeverityOffset>
				<needLevelOffset>1</needLevelOffset>
				<listOrder>30</listOrder>

		</comps>
	</ThingDef>
</Defs>


code:
<?xml version="1.0" encoding="utf-8" ?>

<Defs>

	<ThingDef ParentName="MakeableDrugPillBase">
		<defName>RJW_Contraceptive</defName>
		Contraception pills
		<description>Deliver severe hit to fertility for one quadrum.</description>
		<graphicData>
			<texPath>Things/Item/Contraceptive</texPath>
			<graphicClass>Graphic_StackCount</graphicClass>
		</graphicData>
		<rotatable>false</rotatable>
		<statBases>
			<WorkToMake>120</WorkToMake>
			<MarketValue>15</MarketValue>
			<Mass>0.05</Mass>
		</statBases>
		<techLevel>Industrial</techLevel>
		<ingestible>
			<drugCategory>Medical</drugCategory>
			<outcomeDoers>

					<hediffDef>RJW_Contraceptive</hediffDef>
					<severity>1.0</severity>

			</outcomeDoers>
		</ingestible>
		<recipeMaker>
			<researchPrerequisite>DrugProduction</researchPrerequisite>
			<recipeUsers>

DrugLab

			</recipeUsers>
		</recipeMaker>
		<costList>
			<MedicineHerbal>1</MedicineHerbal>
		</costList>
		<comps>

			<addictiveness>0</addictiveness>
			<listOrder>1000</listOrder>
				<overdoseSeverityOffset>
					<min>0.08</min>
					<max>0.14</max>
				</overdoseSeverityOffset>

		</comps>
	</ThingDef>

	<HediffDef>
		<defName>RJW_Contraceptive</defName>
		<hediffClass>HediffWithComps</hediffClass>
		contraceptive
		<defaultLabelColor>(0.75, 0.75, 1.0)</defaultLabelColor>
		<isBad>false</isBad>
		<comps>

				<disappearsAfterTicks>
					<min>900000</min>
					<max>900000</max>
				</disappearsAfterTicks>

		</comps>
		<stages>

				Contracepted
				<capMods>

						<capacity>Reproduction</capacity>
						<setMax>0.1</setMax>

				</capMods>

		</stages>
	</HediffDef>
</Defs>


code:
<?xml version="1.0" encoding="utf-8" ?>

<Defs>

	<ThingDef ParentName="MakeableDrugPillBase">
		<defName>RJW_FertPill</defName>
		Hyperfertility pills
		<description>Enhances fertility for 48 hours. Also works as a mild aphrodisiac.</description>
		<graphicData>
			<texPath>Things/Item/FertPill</texPath>
			<graphicClass>Graphic_StackCount</graphicClass>
		</graphicData>
		<rotatable>false</rotatable>
		<statBases>
			<WorkToMake>120</WorkToMake>
			<MarketValue>15</MarketValue>
			<Mass>0.05</Mass>
		</statBases>
		<techLevel>Industrial</techLevel>
		<ingestible>
			<drugCategory>Medical</drugCategory>
			<outcomeDoers>

					<hediffDef>RJW_FertPill</hediffDef>
					<severity>1.0</severity>

					<need>Sex</need>
					<offset>-0.25</offset>

			</outcomeDoers>
		</ingestible>
		<recipeMaker>
			<researchPrerequisite>DrugProduction</researchPrerequisite>
			<recipeUsers>

DrugLab

			</recipeUsers>
		</recipeMaker>
		<costList>
			<MedicineHerbal>1</MedicineHerbal>
			<HumpShroom>1</HumpShroom>
		</costList>
		<comps>

			<addictiveness>0</addictiveness>
			<listOrder>1000</listOrder>
				<overdoseSeverityOffset>
					<min>0.08</min>
					<max>0.14</max>
				</overdoseSeverityOffset>

		</comps>
	</ThingDef>

	<HediffDef>
		<defName>RJW_FertPill</defName>
		<hediffClass>HediffWithComps</hediffClass>
		fertpill
		<defaultLabelColor>(0.75, 0.75, 1.0)</defaultLabelColor>
		<isBad>false</isBad>
		<comps>

				<disappearsAfterTicks>
					<min>120000</min>
					<max>120000</max>
				</disappearsAfterTicks>

		</comps>
		<stages>

				Hyperfertility
				<capMods>

						<capacity>Reproduction</capacity>
						<offset>4</offset>

				</capMods>

		</stages>
	</HediffDef>
</Defs>


code:
<?xml version="1.0" encoding="utf-8" ?>

<Defs>

	<ThingDef ParentName="CavePlantBase">
		<defName>PlantHumpShroom</defName>
		humpshroom shroom
		<description>Thick shroom with tough flesh, thick juice and smooth soft skin. Exhibits aphrodisiac effects when consumed.</description>
		<statBases>
			<MaxHitPoints>85</MaxHitPoints>
			<Beauty>2</Beauty>
			<Nutrition>0.15</Nutrition>
		</statBases>
		<graphicData>
			<texPath>Things/Item/Humpshroom/Humpshroom</texPath>
			<graphicClass>Graphic_Single</graphicClass>
		</graphicData>
		<selectable>true</selectable>
		<pathCost>10</pathCost>
		<plant>
			<fertilityMin>0.01</fertilityMin>
			<fertilitySensitivity>0.25</fertilitySensitivity>
			<growDays>15.00</growDays>
			<harvestTag>Standard</harvestTag>
			<harvestedThingDef>HumpShroom</harvestedThingDef>
			<harvestYield>2</harvestYield>
			<sowMinSkill>4</sowMinSkill>
			<sowTags>

Hydroponic

			</sowTags>
			<topWindExposure>0.1</topWindExposure>
			<visualSizeRange>
				<min>0.3</min>
				<max>1.0</max>
			</visualSizeRange>
		</plant>
		<comps>

				<glowRadius>1</glowRadius>
				<glowColor>(255,105,180,0)</glowColor>

		</comps>
	</ThingDef>

	<ThingDef ParentName="DrugBase">
		<defName>HumpShroom</defName>
		Hump shroom
		<description>A shroom with tough flesh, thick juice and smooth soft skin. Exhibits aphrodisiac effects when consumed.</description>
		<tradeability>Sellable</tradeability>
		<socialPropernessMatters>true</socialPropernessMatters>
		<tickerType>Rare</tickerType>
		<graphicData>
			<texPath>Things/Item/Humpshroom/HumpshroomCollected</texPath>
			<graphicClass>Graphic_Single</graphicClass>
		</graphicData>
		<thingCategories>

PlantFoodRaw

		</thingCategories>
		<statBases>
			<MarketValue>10</MarketValue>
			<Mass>0.1</Mass>
			<DeteriorationRate>4</DeteriorationRate>
			<Nutrition>0.40</Nutrition>
		</statBases>
		<techLevel>Neolithic</techLevel>
		<ingestible>
			<baseIngestTicks>100</baseIngestTicks>
			<chairSearchRadius>4</chairSearchRadius>
			<preferability>RawTasty</preferability>
			<tasteThought></tasteThought>
			<foodType>VegetableOrFruit</foodType>
			<maxNumToIngestAtOnce>1</maxNumToIngestAtOnce>
			<optimalityOffsetHumanlikes>-6</optimalityOffsetHumanlikes>
			<optimalityOffsetFeedingAnimals>-11</optimalityOffsetFeedingAnimals>
			<ingestEffect>EatVegetarian</ingestEffect>
			<ingestSound>RawVegetable_Eat</ingestSound>
			<joy>0.5</joy>
			<joyKind>Social</joyKind>
			<nurseable>true</nurseable>
			<drugCategory>Social</drugCategory>
			<outcomeDoers>

					<hediffDef>HumpShroomEffect</hediffDef>
					<severity>0.50</severity>
					<toleranceChemical>HumpShroom</toleranceChemical>

					<hediffDef>HumpShroomTolerance</hediffDef>
					<severity>0.032</severity>
					<divideByBodySize>true</divideByBodySize>

					<need>Sex</need>
					<offset>-0.5</offset>

			</outcomeDoers>
		</ingestible>
		<comps>

				<daysToRotStart>30</daysToRotStart>
				<rotDestroys>true</rotDestroys>

				<chemical>HumpShroom</chemical>
				<addictiveness>0.050</addictiveness>
				<minToleranceToAddict>0.15</minToleranceToAddict>
				<existingAddictionSeverityOffset>0.1</existingAddictionSeverityOffset>
				<needLevelOffset>1</needLevelOffset>
				<listOrder>30</listOrder>

		</comps>
	</ThingDef>

	<HediffDef>
		<defName>HumpShroomEffect</defName>
		<hediffClass>HediffWithComps</hediffClass>
		Induced libido
		<defaultLabelColor>(1,0,0.5)</defaultLabelColor>
		<scenarioCanAdd>true</scenarioCanAdd>
		<maxSeverity>1.0</maxSeverity>
		<comps>

				<severityPerDay>-0.9</severityPerDay>

		</comps>
		<stages>

				<restFallFactor>1.33</restFallFactor>

		</stages>
	</HediffDef>

	<ThoughtDef>
		<defName>HumpShroomEffect</defName>
		<workerClass>ThoughtWorker_Hediff</workerClass>
		<hediff>HumpShroomEffect</hediff>
		<validWhileDespawned>true</validWhileDespawned>
		<stages>

				Humpshroom aftertaste
				<description>Tastes funny.</description>
				<baseMoodEffect>1</baseMoodEffect>

		</stages>
	</ThoughtDef>

	<ChemicalDef>
		<defName>HumpShroom</defName>
		humpshroom
		<addictionHediff>HumpShroomAddiction</addictionHediff>
		<toleranceHediff>HumpShroomTolerance</toleranceHediff>
		<onGeneratedAddictedToleranceChance>0.8</onGeneratedAddictedToleranceChance>
	</ChemicalDef>

	<NeedDef ParentName="DrugAddictionNeedBase">
		<defName>Chemical_HumpShroom</defName>
		<needClass>Need_Chemical</needClass>
		humpshroom
		<description>Person is now hooked on shrooms. Without them, their bedroom performance may fall.</description>
		<listPriority>10</listPriority>
	</NeedDef>

	<HediffDef ParentName="DrugToleranceBase">
		<defName>HumpShroomTolerance</defName>
		humpshroom tolerance
		<isBad>false</isBad>
		<comps>

				<severityPerDay>-0.020</severityPerDay>

				<chemical>HumpShroom</chemical>

		</comps>
	</HediffDef>

	<HediffDef ParentName="AddictionBase">
		<defName>HumpShroomAddiction</defName>
		<hediffClass>Hediff_Addiction</hediffClass>
		humpshroom addiction
		<causesNeed>Chemical_HumpShroom</causesNeed>
		<comps>

				<severityPerDay>-0.1</severityPerDay>

		</comps>
		<stages>

				withdrawal

		</stages>
	</HediffDef>

	<ThoughtDef>
		<defName>HumpShroomWithdrawal</defName>
		<workerClass>ThoughtWorker_Hediff</workerClass>
		<hediff>HumpShroomAddiction</hediff>
		<validWhileDespawned>true</validWhileDespawned>
		<stages>

				<visible>false</visible>

				humpshroom withdrawal
				<description>I just feel nothing down there.</description>
				<baseMoodEffect>-5</baseMoodEffect>

		</stages>
	</ThoughtDef>
</Defs>


code:
<?xml version="1.0" encoding="utf-8" ?>

<Defs>
	<HediffDef Name="BondageBase" Abstract="True">
		<hediffClass>Hediff</hediffClass>
		<defaultLabelColor>(0.5, 0.5, 0.9)</defaultLabelColor>
		<makesSickThought>false</makesSickThought>
		<isBad>false</isBad>
		<tendable>false</tendable>
		<scenarioCanAdd>false</scenarioCanAdd>
	</HediffDef>

	<HediffDef ParentName="BondageBase">
		<defName>Armbinder</defName>
		armbinder
		<stages>

				<capMods>

						<capacity>Manipulation</capacity>
						<setMax>0.00</setMax>

				</capMods>

		</stages>
	</HediffDef>

	<HediffDef ParentName="BondageBase">
		<defName>ChastityBelt</defName>
		chastity belt
	</HediffDef>

	<HediffDef ParentName="BondageBase">
		<defName>ChastityCage</defName>
		chastity cage
	</HediffDef>

	<HediffDef ParentName="BondageBase">
		<defName>Chains</defName>
		chains
		<stages>

				<capMods>

						<capacity>Manipulation</capacity>
						<setMax>0.35</setMax>

						<capacity>Moving</capacity>
						<setMax>0.35</setMax>

				 </capMods>

		</stages>
	</HediffDef>

	<HediffDef ParentName="BondageBase">
		<defName>Yoke</defName>
		yoke
		<stages>

				<capMods>

						<capacity>Manipulation</capacity>
						<setMax>0.00</setMax>

				</capMods>

		</stages>
	</HediffDef>

	<HediffDef ParentName="BondageBase">
		<defName>BoundHands</defName>
		bound hands
		<stages>

				<capMods>

						<capacity>Manipulation</capacity>
						<setMax>0.00</setMax>

				</capMods>

		</stages>
	</HediffDef>

	<HediffDef ParentName="BondageBase">
		<defName>BoundLegs</defName>
		bound legs
		<stages>

				<capMods>

						<capacity>Moving</capacity>
						<setMax>0.00</setMax>

				</capMods>

		</stages>
	</HediffDef>

	<HediffDef ParentName="BondageBase">
		<defName>ClosedGag</defName>
		closed gag
		<stages>

				<capMods>

						<capacity>Talking</capacity>
						<setMax>0.00</setMax>

						<capacity>Eating</capacity>
						<setMax>0.00</setMax>

				</capMods>

		</stages>
	</HediffDef>

	<HediffDef ParentName="BondageBase">
		<defName>OpenGag</defName>
		open gag
		<stages>

				<capMods>

						<capacity>Talking</capacity>
						<setMax>0.00</setMax>

						<capacity>Eating</capacity>
						<offset>-0.25</offset>

				</capMods>

		</stages>
	</HediffDef>

	<HediffDef ParentName="BondageBase">
		<defName>RJW_Restraints</defName>
		Restraints
		<stages>

				<capMods>

						<capacity>Manipulation</capacity>
						<setMax>0.00</setMax>

						<capacity>Moving</capacity>
						<setMax>0.00</setMax>

				</capMods>

		</stages>
	</HediffDef>

	<HediffDef ParentName="BondageBase">
		<defName>RJW_Cocoon</defName>
		<hediffClass>rjw.Cocoon</hediffClass>
		Cocoon
		<stages>

				<capMods>

						<capacity>Manipulation</capacity>
						<setMax>0.00</setMax>

						<capacity>Moving</capacity>
						<setMax>0.00</setMax>

				</capMods>

		</stages>
	</HediffDef>
</Defs>


code:
<?xml version="1.0" encoding="utf-8" ?>
<Defs>

	<HediffDef>
		<defName>Hediff_Bukkake</defName>
		<hediffClass>rjw.Hediff_Bukkake</hediffClass>
		Bukkake
		<makesSickThought>false</makesSickThought>
		<initialSeverity>0.01</initialSeverity>
		<maxSeverity>1</maxSeverity>

		<isBad>false</isBad>
		<tendable>false</tendable>
		<stages>

				minor
				<becomeVisible>false</becomeVisible>

				<minSeverity>0.3</minSeverity>
				little
				<statOffsets>
					<Vulnerability>0.2</Vulnerability>
					<SocialImpact>-0.1</SocialImpact>
				</statOffsets>

				<minSeverity>0.6</minSeverity>
				extensive
				<statOffsets>
					<Vulnerability>0.3</Vulnerability>
					<SocialImpact>-0.3</SocialImpact>
				</statOffsets>

				<minSeverity>0.8</minSeverity>
				full
				<statOffsets>
					<Vulnerability>-0.1</Vulnerability>
					<SocialImpact>-0.5</SocialImpact>
				</statOffsets>

		</stages>
	</HediffDef>

	<HediffDef Name="Hediff_Semen">
		<hediffClass>rjw.Hediff_Semen</hediffClass>
		<defName>Hediff_Semen</defName>
		semen
		<labelNoun>semen</labelNoun>
		<labelNounPretty>semen on {1}</labelNounPretty>
		<defaultLabelColor>(0.95,0.95,0.95)</defaultLabelColor>
		<isBad>false</isBad>
		<tendable>false</tendable>
		<makesSickThought>false</makesSickThought>
		<makesAlert>false</makesAlert>
		<maxSeverity>1</maxSeverity>
		<initialSeverity>0.001</initialSeverity>
		<injuryProps>
			<canMerge>true</canMerge>
		</injuryProps>
		<stages>

				little

				<minSeverity>0.25</minSeverity>
				some

				<minSeverity>0.5</minSeverity>
				dripping

				<minSeverity>0.8</minSeverity>
				drenched

		</stages>
		<comps>

				<healIntervalTicksStanding>1800</healIntervalTicksStanding>
				<healAmount>0.01</healAmount>

		</comps>
	</HediffDef>

	<HediffDef ParentName="Hediff_Semen">
		<defName>Hediff_InsectSpunk</defName>
		insect spunk
		<labelNoun>insect spunk</labelNoun>
		<labelNounPretty>insect spunk on {1}</labelNounPretty>
		<defaultLabelColor>(0.6,0.83,0.35)</defaultLabelColor>
	</HediffDef>

	<HediffDef ParentName="Hediff_Semen">
		<defName>Hediff_MechaFluids</defName>
		mechanoid fluids
		<labelNoun>mechanoid fluids</labelNoun>
		<labelNounPretty>mecha fluids on {1}</labelNounPretty>
		<defaultLabelColor>(0.37,0.71,0.82)</defaultLabelColor>
	</HediffDef>
</Defs>


code:
<?xml version="1.0" encoding="utf-8" ?>

<Defs>

	<rjw.HediffDef_InsectEgg Name="RJW_ImplantEgg" Abstract="True">
		<defName>RJW_InsectEgg</defName>
		Egg
		<hediffClass>rjw.Hediff_InsectEgg</hediffClass>
		<defaultLabelColor>(0.8, 0.8, 0.35)</defaultLabelColor>
		<initialSeverity>0.1</initialSeverity>
		<isBad>false</isBad>
		<tendable>false</tendable>
		<eggsize>1</eggsize>
		<selffertilized>false</selffertilized>
		<stages>

				<minSeverity>0.01</minSeverity>
				<capMods>

						<capacity>Moving</capacity>
						<offset>-0.01</offset>

				</capMods>

				<minSeverity>0.02</minSeverity>
				<capMods>

						<capacity>Moving</capacity>
						<offset>-0.02</offset>

				</capMods>

				<minSeverity>0.05</minSeverity>
				<capMods>

						<capacity>Moving</capacity>
						<offset>-0.05</offset>

				</capMods>

				<minSeverity>0.10</minSeverity>
				<capMods>

						<capacity>Moving</capacity>
						<offset>-0.10</offset>

				</capMods>

				<minSeverity>0.15</minSeverity>
				<capMods>

						<capacity>Moving</capacity>
						<offset>-0.15</offset>

				</capMods>

				<minSeverity>0.20</minSeverity>
				<capMods>

						<capacity>Moving</capacity>
						<offset>-0.20</offset>

				</capMods>

				<minSeverity>0.25</minSeverity>
				<capMods>

						<capacity>Moving</capacity>
						<offset>-0.25</offset>

				</capMods>

				<minSeverity>0.30</minSeverity>
				<capMods>

						<capacity>Moving</capacity>
						<offset>-0.30</offset>

				</capMods>

				<minSeverity>0.40</minSeverity>
				<capMods>

						<capacity>Moving</capacity>
						<offset>-0.40</offset>

				</capMods>

				<minSeverity>0.50</minSeverity>
				<capMods>

						<capacity>Moving</capacity>
						<offset>-0.50</offset>

				</capMods>

				<minSeverity>0.75</minSeverity>
				<capMods>

						<capacity>Moving</capacity>
						<offset>-0.75</offset>

				</capMods>

				<minSeverity>0.9</minSeverity>
				<capMods>

						<capacity>Moving</capacity>
						<offset>-1.0</offset>

				</capMods>

		</stages>
	</rjw.HediffDef_InsectEgg>

	<rjw.HediffDef_InsectEgg ParentName="RJW_ImplantEgg">
		<defName>RJW_UnknownEgg</defName>
		<parentDef>Unknown</parentDef>
	</rjw.HediffDef_InsectEgg>

	<rjw.HediffDef_InsectEgg ParentName="RJW_ImplantEgg">
		<defName>RJW_InsectHiveEgg</defName>
		<parentDefs>

Megascarab

Spelopede

Megaspider

Queen

		</parentDefs>
	</rjw.HediffDef_InsectEgg>

	<rjw.HediffDef_MechImplants Name="RJW_ImplantMech" Abstract="True">
		<hediffClass>rjw.Hediff_MechImplants</hediffClass>
		<defaultLabelColor>(0.8, 0.8, 0.35)</defaultLabelColor>
		<initialSeverity>0.1</initialSeverity>
		<parentDefs>

Mech_Lancer

Mech_Scyther

Mech_Centipede

		</parentDefs>
		<tendable>false</tendable>
	</rjw.HediffDef_MechImplants>

	<rjw.HediffDef_MechImplants ParentName="RJW_ImplantMech">
		<hediffClass>rjw.Hediff_MicroComputer</hediffClass>
		<defName>RJW_MicroComputer</defName>
		<tendable>false</tendable>
		<isBad>true</isBad>
		MicroComputer
		<minEventInterval>30000</minEventInterval>
		<maxEventInterval>90000</maxEventInterval>
		<randomHediffDefs>

RJW_Orgasm

TransportCums

TransportEggs

		</randomHediffDefs>
	</rjw.HediffDef_MechImplants>

	<rjw.HediffDef_EnemyImplants>
		<defName>Parasite</defName>
		<hediffClass>rjw.Hediff_Parasite</hediffClass>
		<defaultLabelColor>(0.7, 1.0, 0.7)</defaultLabelColor>
		<initialSeverity>0.1</initialSeverity>
		<isBad>true</isBad>
		pregnant
		<comps>

				<sendLetterWhenDiscovered>true</sendLetterWhenDiscovered>
				<discoverLetterLabel>{0} Parasited</discoverLetterLabel>
				<discoverLetterText>{0} is parasited!</discoverLetterText>

		</comps>
		<stages>

				early-stage-hidden
				<becomeVisible>false</becomeVisible>
				<vomitMtbDays>2.5</vomitMtbDays>

				middle-stage
				<minSeverity>0.333</minSeverity>
				<capMods>

						<capacity>Moving</capacity>
						<offset>-0.15</offset>

				</capMods>

				late-stage
				<minSeverity>0.666</minSeverity>
				<vomitMtbDays>2</vomitMtbDays>
				<capMods>

						<capacity>Moving</capacity>
						<offset>-0.30</offset>

				</capMods>

		</stages>
	</rjw.HediffDef_EnemyImplants>
</Defs>


code:
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
	<HediffDef>
		<defName>FeelingBroken</defName>
		<hediffClass>rjw.AdvancedHediffWithComps</hediffClass>
		Feeling broken
		<defaultLabelColor>(0.5, 0.7, 0.45)</defaultLabelColor>
		<makesSickThought>false</makesSickThought>
		<initialSeverity>0.025</initialSeverity>
		<maxSeverity>1</maxSeverity>
		<scenarioCanAdd>true</scenarioCanAdd>
		<tendable>false</tendable>
		<isBad>false</isBad>
		<comps>

				<severityPerDayReduce>
					<points>

(1,0)

(10,-0.025)

					</points>
				</severityPerDayReduce>

				<severityPerDayIncrease>
					<points>

(0,0.1)

(1,1)

					</points>
				</severityPerDayIncrease>

		</comps>
		<stages>

				early-stage
				<becomeVisible>false</becomeVisible>

				in a trance
				<minSeverity>0.1</minSeverity>
				<painOffset>0.1</painOffset>
				<capMods>

						<capacity>Consciousness</capacity>
						<postFactor>0.8</postFactor>

				</capMods>

				broken
				<minSeverity>0.3</minSeverity>
				<painOffset>0.05</painOffset>
				<capMods>

						<capacity>Consciousness</capacity>
						<postFactor>0.7</postFactor>

				</capMods>
				<statOffsets>
					<Vulnerability>0.25</Vulnerability>
				</statOffsets>

				Extremely broken
				<minSeverity>0.5</minSeverity>
				<painOffset>-0.1</painOffset>
				<capMods>

						<capacity>Consciousness</capacity>
						<postFactor>0.6</postFactor>

				</capMods>
				<statOffsets>
					<Vulnerability>0.5</Vulnerability>
				</statOffsets>

		</stages>
	</HediffDef>
</Defs>


code:
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
	<HediffDef>
		<defName>RJW_IUD</defName>
		IUD
		<hediffClass>HediffWithComps</hediffClass>
		<defaultLabelColor>(0.8, 0.8, 0.35)</defaultLabelColor>
		<isBad>false</isBad>
		<scenarioCanAdd>true</scenarioCanAdd>
		<stages>

				<capMods>

						<capacity>Reproduction</capacity>
						<setMax>0</setMax>

				</capMods>

		</stages>
	</HediffDef>

	<HediffDef>
		<defName>IncreasedFertility</defName>
		Increased fertility
		<hediffClass>HediffWithComps</hediffClass>
		<defaultLabelColor>(0.7, 1.0, 0.7)</defaultLabelColor>
		<isBad>false</isBad>
		<scenarioCanAdd>false</scenarioCanAdd>
		<stages>

				<becomeVisible>false</becomeVisible>
				<capMods>

						<capacity>Reproduction</capacity>
						<offset>0.25</offset>

				</capMods>

		</stages>
	</HediffDef>

	<HediffDef>
		<defName>DecreasedFertility</defName>
		Low fertility
		<hediffClass>HediffWithComps</hediffClass>
		<defaultLabelColor>(1, 0.2, 0.2)</defaultLabelColor>
		<isBad>false</isBad>
		<scenarioCanAdd>false</scenarioCanAdd>
		<stages>

				<becomeVisible>false</becomeVisible>
				<capMods>

						<capacity>Reproduction</capacity>
						<offset>-0.5</offset>
						<setMax>0.25</setMax>

				</capMods>

		</stages>
	</HediffDef>

	<HediffDef>
		<defName>ImpregnationBlocker</defName>
		Archotech pregnancy blocker
		<hediffClass>HediffWithComps</hediffClass>
		<defaultLabelColor>(0.7, 1.0, 0.7)</defaultLabelColor>
		<isBad>false</isBad>
		<scenarioCanAdd>false</scenarioCanAdd>
		<stages>

				<becomeVisible>true</becomeVisible>
				<capMods>

						<capacity>Reproduction</capacity>
						<setMax>0</setMax>

				</capMods>

		</stages>
	</HediffDef>

	<HediffDef>
		<defName>FertilityEnhancer</defName>
		Archotech fertility enhancer
		<hediffClass>HediffWithComps</hediffClass>
		<defaultLabelColor>(0.7, 1.0, 0.7)</defaultLabelColor>
		<isBad>false</isBad>
		<scenarioCanAdd>false</scenarioCanAdd>
		<stages>

				<becomeVisible>true</becomeVisible>
				<capMods>

						<capacity>Reproduction</capacity>
						<offset>0.25</offset>

				</capMods>

		</stages>
	</HediffDef>
</Defs>


code:
<?xml version="1.0" encoding="utf-8" ?>
<Defs>

</Defs>


code:
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
	<HediffDef>
		<defName>RJW_Orgasm</defName>
		<hediffClass>rjw.Hediff_Orgasm</hediffClass>
		Orgasm
		<defaultLabelColor>(0.5, 0.7, 0.45)</defaultLabelColor>
		<makesSickThought>false</makesSickThought>
		<initialSeverity>0.1</initialSeverity>
		<maxSeverity>1</maxSeverity>
		<scenarioCanAdd>false</scenarioCanAdd>
		<tendable>false</tendable>
		<comps>

				<severityPerDay>-1</severityPerDay>

		</comps>
		<stages>

				Slightly
				<capMods>

						<capacity>Consciousness</capacity>
						<postFactor>0.9</postFactor>

						<capacity>Manipulation</capacity>
						<postFactor>0.9</postFactor>

						<capacity>Moving</capacity>
						<postFactor>0.9</postFactor>

						<capacity>Talking</capacity>
						<postFactor>0.9</postFactor>

				</capMods>
				<statOffsets>
					<Vulnerability>0.2</Vulnerability>
				</statOffsets>

				Heavy
				<minSeverity>0.2</minSeverity>
				<capMods>

						<capacity>Consciousness</capacity>
						<postFactor>0.65</postFactor>

						<capacity>Manipulation</capacity>
						<postFactor>0.65</postFactor>

						<capacity>Moving</capacity>
						<postFactor>0.65</postFactor>

						<capacity>Talking</capacity>
						<postFactor>0.65</postFactor>

				</capMods>
				<statOffsets>
					<Vulnerability>0.3</Vulnerability>
				</statOffsets>

				Extremely
				<minSeverity>0.501</minSeverity>
				<capMods>

						<capacity>Consciousness</capacity>
						<postFactor>0.3</postFactor>

						<capacity>Manipulation</capacity>
						<postFactor>0.65</postFactor>

						<capacity>Moving</capacity>
						<postFactor>0.2</postFactor>

						<capacity>Talking</capacity>
						<postFactor>0.5</postFactor>

				</capMods>
				<statOffsets>
					<Vulnerability>0.6</Vulnerability>
				</statOffsets>

		</stages>
	</HediffDef>

	<HediffDef>
		<defName>TransportCums</defName>
		<hediffClass>rjw.Hediff_TransportCums</hediffClass>
		<isBad>false</isBad>
	</HediffDef>

	<HediffDef>
		<defName>TransportEggs</defName>
		<hediffClass>rjw.Hediff_TransportEggs</hediffClass>
		<isBad>false</isBad>
	</HediffDef>
</Defs>


code:
<?xml version="1.0" encoding="utf-8" ?>
<Defs>

	<HediffDef>
		<defName>Immunodeficiency</defName>
		<hediffClass>rjw.Hediff_ID</hediffClass>
		<defaultLabelColor>(1.0, 0.0, 0.0)</defaultLabelColor>
		Immunodeficiency
		<makesSickThought>false</makesSickThought>
		<minSeverity>0.600</minSeverity>
		<initialSeverity>0.601</initialSeverity>
		<tendable>false</tendable>
		<stages>

				<minSeverity>0.60</minSeverity>
				minor
				<restFallFactor>1.10</restFallFactor>
				<capMods>

						<capacity>Consciousness</capacity>
						<offset>-0.05</offset>

				</capMods>

				<minSeverity>0.75</minSeverity>
				major
				<restFallFactor>1.30</restFallFactor>
				<capMods>

						<capacity>Consciousness</capacity>
						<offset>-0.10</offset>

						<capacity>Manipulation</capacity>
						<offset>-0.15</offset>

						<capacity>Moving</capacity>
						<offset>-0.15</offset>

				</capMods>

				<minSeverity>0.90</minSeverity>
				extreme
				<restFallFactor>1.50</restFallFactor>
				<capMods>

						<capacity>Consciousness</capacity>
						<offset>-0.15</offset>

						<capacity>Manipulation</capacity>
						<offset>-0.30</offset>

						<capacity>Moving</capacity>
						<offset>-0.30</offset>

				</capMods>

		</stages>
	</HediffDef>

	<HediffDef>
		<defName>VirusPerma</defName>
		<hediffClass>Hediff_Injury</hediffClass>
		<tendable>false</tendable>
		<displayWound>true</displayWound>
		<chanceToCauseNoPain>1.0</chanceToCauseNoPain>
		viral damage
		<comps>

				<permanentLabel>permanent viral damage</permanentLabel>
				<instantlyPermanentLabel>permanent viral damage</instantlyPermanentLabel>

		</comps>
		<injuryProps>
			<painPerSeverity>0.0</painPerSeverity>
			<averagePainPerSeverityPermanent>0.0</averagePainPerSeverityPermanent>
			<destroyedLabel>Destroyed by disease</destroyedLabel>
			<destroyedOutLabel>Destroyed by disease</destroyedOutLabel>
		</injuryProps>
	</HediffDef>

	<HediffDef ParentName="AddedBodyPartBase">
		<defName>PegArm</defName>
		peg arm
		<labelNoun>a peg arm</labelNoun>
		<addedPartProps>
			<solid>true</solid>
			<partEfficiency>0.00</partEfficiency>
			<betterThanNatural>false</betterThanNatural>
		</addedPartProps>
		<spawnThingOnRemoved>WoodLog</spawnThingOnRemoved>
	</HediffDef>
</Defs>


code:
<?xml version="1.0" encoding="utf-8" ?>

<Defs>
	<HediffDef Name="RJW_pregnancy_template" Abstract="True">
		Pregnant
		<defaultLabelColor>(1, 0.41, 0.81)</defaultLabelColor>
		<initialSeverity>0.001</initialSeverity>
		<isBad>false</isBad>
		<stages>

				early-stage
				<vomitMtbDays>2.5</vomitMtbDays>

				middle-stage
				<minSeverity>0.333</minSeverity>
				<capMods>

						<capacity>Moving</capacity>
						<offset>-0.15</offset>

				</capMods>

				late-stage
				<minSeverity>0.666</minSeverity>
				<vomitMtbDays>2</vomitMtbDays>
				<capMods>

						<capacity>Moving</capacity>
						<offset>-0.30</offset>

				</capMods>

				having contractions
				<minSeverity>0.98</minSeverity>
				<painOffset>0.3</painOffset>
				<capMods>

						<capacity>Moving</capacity>
						<setMax>0.0</setMax>

				</capMods>

		</stages>
	</HediffDef>

	<HediffDef ParentName="RJW_pregnancy_template">
		<defName>RJW_pregnancy</defName>
		<hediffClass>rjw.Hediff_BasePregnancy</hediffClass>
	</HediffDef>

	<HediffDef ParentName="RJW_pregnancy_template">
		<defName>RJW_pregnancy_beast</defName>
		<hediffClass>rjw.Hediff_BestialPregnancy</hediffClass>
	</HediffDef>

	<HediffDef ParentName="RJW_pregnancy_template">
		<defName>RJW_pregnancy_mech</defName>
		<hediffClass>rjw.Hediff_MechanoidPregnancy</hediffClass>
	</HediffDef>
</Defs>


code:
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
	<HediffDef Name="RJW_PrivatePartBase" Abstract="True">
		<hediffClass>rjw.HediffDef_PartBase</hediffClass>

		<isBad>false</isBad>
	</HediffDef>

	<HediffDef ParentName="RJW_PrivatePartBase" Name="NaturalPrivatePartBase" Abstract="True">
		<defaultLabelColor>(0.5, 0.8, 0.5)</defaultLabelColor>
	</HediffDef>

	<HediffDef ParentName="RJW_PrivatePartBase" Name="ArtificialPrivatePartBase" Abstract="True">
		<defaultLabelColor>(0.5, 0.5, 0.9)</defaultLabelColor>
		<addedPartProps>
			<solid>true</solid>
			<partEfficiency>1.0</partEfficiency>
		</addedPartProps>
	</HediffDef>

	<HediffDef ParentName="ArtificialPrivatePartBase" Name="ArtificialPrivatePartLotech" Abstract="True">
		<addedPartProps>
			<betterThanNatural>false</betterThanNatural>
		</addedPartProps>
	</HediffDef>

	<HediffDef ParentName="ArtificialPrivatePartBase" Name="ArtificialPrivatePartHitech" Abstract="True">
		<addedPartProps>
			<betterThanNatural>true</betterThanNatural>
		</addedPartProps>
	</HediffDef>

	<HediffDef ParentName="NaturalPrivatePartBase">
		<defName>GenericPenis</defName>
		generic penis
		<stages>

				<statOffsets>
					<SexAbility>1.0</SexAbility>
				</statOffsets>

		</stages>
	</HediffDef>

	<HediffDef ParentName="NaturalPrivatePartBase">
		<defName>GenericVagina</defName>
		generic vagina
		<stages>

				<statOffsets>
					<SexAbility>1.0</SexAbility>
					<Vulnerability>0.10</Vulnerability>
				</statOffsets>

		</stages>
	</HediffDef>

	<HediffDef ParentName="NaturalPrivatePartBase">
		<defName>GenericBreasts</defName>
		generic breasts
		<stages>

				<statOffsets>
					<SexAbility>0.5</SexAbility>
					<Vulnerability>0.08</Vulnerability>
				</statOffsets>
				<capMods>

						<capacity>Moving</capacity>
						<offset>-0.025</offset>

						<capacity>Manipulation</capacity>
						<offset>-0.025</offset>

				</capMods>

		</stages>
	</HediffDef>

	<HediffDef ParentName="NaturalPrivatePartBase">
		<defName>GenericAnus</defName>
		generic anus
		<stages>

				<statOffsets>
					<SexAbility>1.0</SexAbility>
					<Vulnerability>0.12</Vulnerability>
				</statOffsets>

		</stages>
	</HediffDef>
</Defs>


code:
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
	<HediffDef ParentName="NaturalPrivatePartBase">
		<defName>HorsePenis</defName>
		equine penis
		<stages>

				<statOffsets>
					<SexAbility>1.6</SexAbility>
				</statOffsets>
				<capMods>

						<capacity>Moving</capacity>
						<offset>-0.1</offset>

				</capMods>

		</stages>
		<spawnThingOnRemoved>HorsePenis</spawnThingOnRemoved>
	</HediffDef>

	<HediffDef ParentName="NaturalPrivatePartBase">
		<defName>HorseVagina</defName>
		equine vagina
		<stages>

				<statOffsets>
					<SexAbility>0.1</SexAbility>
					<Vulnerability>0.02</Vulnerability>
				</statOffsets>

		</stages>
		<spawnThingOnRemoved>HorseVagina</spawnThingOnRemoved>
	</HediffDef>

	<HediffDef ParentName="NaturalPrivatePartBase">
		<defName>CatPenis</defName>
		feline penis
		<stages>

				<statOffsets>
					<SexAbility>0.6</SexAbility>
				</statOffsets>

		</stages>
		<spawnThingOnRemoved>CatPenis</spawnThingOnRemoved>
	</HediffDef>

	<HediffDef ParentName="NaturalPrivatePartBase">
		<defName>CatVagina</defName>
		feline vagina
		<stages>

				<statOffsets>
					<SexAbility>0.75</SexAbility>
					<Vulnerability>0.14</Vulnerability>
				</statOffsets>

		</stages>
		<spawnThingOnRemoved>CatVagina</spawnThingOnRemoved>
	</HediffDef>

	<HediffDef ParentName="NaturalPrivatePartBase">
		<defName>DogPenis</defName>
		canine penis
		<stages>

				<statOffsets>
					<SexAbility>0.6</SexAbility>
				</statOffsets>

		</stages>
		<spawnThingOnRemoved>DogPenis</spawnThingOnRemoved>
	</HediffDef>

	<HediffDef ParentName="NaturalPrivatePartBase">
		<defName>DogVagina</defName>
		canine vagina
		<stages>

				<statOffsets>
					<SexAbility>0.5</SexAbility>
					<Vulnerability>0.06</Vulnerability>
				</statOffsets>

		</stages>
		<spawnThingOnRemoved>DogVagina</spawnThingOnRemoved>
	</HediffDef>

	<HediffDef ParentName="NaturalPrivatePartBase">
		<defName>DragonPenis</defName>
		dragon penis
		<stages>

				<statOffsets>
					<SexAbility>0.9</SexAbility>
				</statOffsets>
				<capMods>

						<capacity>Moving</capacity>
						<offset>-0.1</offset>

				</capMods>

		</stages>
		<spawnThingOnRemoved>DragonPenis</spawnThingOnRemoved>
	</HediffDef>

	<HediffDef ParentName="NaturalPrivatePartBase">
		<defName>DragonVagina</defName>
		dragon vagina
		<stages>

				<statOffsets>
					<SexAbility>0.1</SexAbility>
					<Vulnerability>0.02</Vulnerability>
				</statOffsets>

		</stages>
		<spawnThingOnRemoved>DragonVagina</spawnThingOnRemoved>
	</HediffDef>

	<HediffDef ParentName="NaturalPrivatePartBase">
		<defName>RaccoonPenis</defName>
		procyonine penis
		<stages>

				<statOffsets>
					<SexAbility>0.4</SexAbility>
				</statOffsets>

		</stages>
		<spawnThingOnRemoved>RaccoonPenis</spawnThingOnRemoved>
	</HediffDef>

	<HediffDef ParentName="NaturalPrivatePartBase">
		<defName>Hemipenis</defName>
		hemipenis
		<stages>

				<statOffsets>
					<SexAbility>0.6</SexAbility>
				</statOffsets>

		</stages>
		<spawnThingOnRemoved>Hemipenis</spawnThingOnRemoved>
	</HediffDef>

	<HediffDef ParentName="NaturalPrivatePartBase">
		<defName>CrocodilianPenis</defName>
		crocodilian penis
		<stages>

				<statOffsets>
					<SexAbility>0.6</SexAbility>
				</statOffsets>

		</stages>
		<spawnThingOnRemoved>CrocodilianPenis</spawnThingOnRemoved>
	</HediffDef>

	<HediffDef ParentName="NaturalPrivatePartBase">
		<defName>Udder</defName>
		udder
		<stages>

				<statOffsets>
					<SexAbility>0.1</SexAbility>
					<Vulnerability>0.12</Vulnerability>
				</statOffsets>
				<capMods>

						<capacity>Moving</capacity>
						<offset>-0.05</offset>

				</capMods>

		</stages>
		<spawnThingOnRemoved>Udder</spawnThingOnRemoved>
	</HediffDef>

	<HediffDef ParentName="NaturalPrivatePartBase">
		<defName>NarrowVagina</defName>
		narrow vagina
		<stages>

				<statOffsets>
					<SexAbility>0.4</SexAbility>
					<Vulnerability>0.12</Vulnerability>
				</statOffsets>

		</stages>
		<spawnThingOnRemoved>NarrowVagina</spawnThingOnRemoved>
	</HediffDef>

	<HediffDef ParentName="NaturalPrivatePartBase">
		<defName>NeedlePenis</defName>
		needle penis
		<stages>

				<statOffsets>
					<SexAbility>0.4</SexAbility>
				</statOffsets>

		</stages>
		<spawnThingOnRemoved>NeedlePenis</spawnThingOnRemoved>
	</HediffDef>

	<HediffDef ParentName="NaturalPrivatePartBase">
		<defName>CloacalVagina</defName>
		cloacal vagina
		<stages>

				<statOffsets>
					<SexAbility>0.5</SexAbility>
					<Vulnerability>0.12</Vulnerability>
				</statOffsets>

		</stages>
		<spawnThingOnRemoved>CloacalVagina</spawnThingOnRemoved>
	</HediffDef>

	<HediffDef ParentName="NaturalPrivatePartBase">
		<defName>CloacalPenis</defName>
		cloacal penis
		<stages>

				<statOffsets>
					<SexAbility>0.5</SexAbility>
				</statOffsets>

		</stages>
		<spawnThingOnRemoved>CloacalPenis</spawnThingOnRemoved>
	</HediffDef>

	<HediffDef ParentName="NaturalPrivatePartBase">
		<defName>RodentVagina</defName>
		rodent vagina
		<stages>

				<statOffsets>
					<SexAbility>0.1</SexAbility>
					<Vulnerability>0.02</Vulnerability>
				</statOffsets>

		</stages>
		<spawnThingOnRemoved>RodentVagina</spawnThingOnRemoved>
	</HediffDef>

	<HediffDef ParentName="NaturalPrivatePartBase">
		<defName>RodentPenis</defName>
		rodent penis
		<stages>

				<statOffsets>
					<SexAbility>0.1</SexAbility>
				</statOffsets>

		</stages>
		<spawnThingOnRemoved>RodentPenis</spawnThingOnRemoved>
	</HediffDef>

	<HediffDef ParentName="NaturalPrivatePartBase">
		<defName>CloacalAnus</defName>
		cloacal anus
		<stages>

				<statOffsets>
					<SexAbility>0.5</SexAbility>
					<Vulnerability>0.12</Vulnerability>
				</statOffsets>

		</stages>
		<spawnThingOnRemoved>CloacalAnus</spawnThingOnRemoved>
	</HediffDef>
</Defs>


code:
<?xml version="1.0" encoding="utf-8" ?>
<Defs>

	<HediffDef ParentName="NaturalPrivatePartBase">
		<defName>DemonTentaclePenis</defName>
		demon tentacles
		<stages>

				<statOffsets>
					<SexAbility>0.75</SexAbility>
				</statOffsets>

		</stages>
	</HediffDef>

	<HediffDef ParentName="NaturalPrivatePartBase">
		<defName>DemonPenis</defName>
		demon penis
		<stages>

				<statOffsets>
					<SexAbility>0.75</SexAbility>
				</statOffsets>

		</stages>
	</HediffDef>

	<HediffDef ParentName="NaturalPrivatePartBase">
		<defName>DemonVagina</defName>
		demon vagina
		<stages>

				<statOffsets>
					<SexAbility>0.75</SexAbility>
					<Vulnerability>0.2</Vulnerability>
				</statOffsets>

		</stages>
	</HediffDef>

	<HediffDef ParentName="NaturalPrivatePartBase">
		<defName>DemonAnus</defName>
		demon anus
		<stages>

				<statOffsets>
					<SexAbility>0.75</SexAbility>
					<Vulnerability>0.2</Vulnerability>
				</statOffsets>

		</stages>
	</HediffDef>
</Defs>


code:
<?xml version="1.0" encoding="utf-8" ?>
<Defs>

	<HediffDef ParentName="NaturalPrivatePartBase">
		<defName>Penis</defName>
		average penis
		<stages>

				<statOffsets>
					<SexAbility>0.5</SexAbility>
				</statOffsets>

		</stages>
		<spawnThingOnRemoved>Penis</spawnThingOnRemoved>
	</HediffDef>

	<HediffDef ParentName="NaturalPrivatePartBase">
		<defName>MicroPenis</defName>
		micro penis
		<stages>

				<statOffsets>
					<SexAbility>0.1</SexAbility>
				</statOffsets>

		</stages>
		<spawnThingOnRemoved>MicroPenis</spawnThingOnRemoved>
	</HediffDef>

	<HediffDef ParentName="NaturalPrivatePartBase">
		<defName>SmallPenis</defName>
		small penis
		<stages>

				<statOffsets>
					<SexAbility>0.4</SexAbility>
				</statOffsets>

		</stages>
		<spawnThingOnRemoved>SmallPenis</spawnThingOnRemoved>
	</HediffDef>

	<HediffDef ParentName="NaturalPrivatePartBase">
		<defName>BigPenis</defName>
		Big Penis
		<stages>

				<statOffsets>
					<SexAbility>0.6</SexAbility>
				</statOffsets>
				<capMods>

						<capacity>Moving</capacity>
						<offset>-0.03</offset>

				</capMods>

		</stages>
		<spawnThingOnRemoved>BigPenis</spawnThingOnRemoved>
	</HediffDef>

	<HediffDef ParentName="NaturalPrivatePartBase">
		<defName>HugePenis</defName>
		Huge penis
		<stages>

				<statOffsets>
					<SexAbility>0.8</SexAbility>
				</statOffsets>
				<capMods>

						<capacity>Moving</capacity>
						<offset>-0.06</offset>

				</capMods>

		</stages>
		<spawnThingOnRemoved>HugePenis</spawnThingOnRemoved>
	</HediffDef>

	<HediffDef ParentName="NaturalPrivatePartBase">
		<defName>Vagina</defName>
		average vagina
		<stages>

				<statOffsets>
					<SexAbility>0.5</SexAbility>
					<Vulnerability>0.10</Vulnerability>
				</statOffsets>

		</stages>
		<spawnThingOnRemoved>Vagina</spawnThingOnRemoved>
	</HediffDef>

	<HediffDef ParentName="NaturalPrivatePartBase">
		<defName>MicroVagina</defName>
		micro vagina
		<stages>

				<statOffsets>
					<SexAbility>0.1</SexAbility>
					<Vulnerability>0.02</Vulnerability>
				</statOffsets>

		</stages>
		<spawnThingOnRemoved>MicroVagina</spawnThingOnRemoved>
	</HediffDef>

	<HediffDef ParentName="NaturalPrivatePartBase">
		<defName>TightVagina</defName>
		tight vagina
		<stages>

				<statOffsets>
					<SexAbility>0.45</SexAbility>
					<Vulnerability>0.14</Vulnerability>
				</statOffsets>

		</stages>
		<spawnThingOnRemoved>TightVagina</spawnThingOnRemoved>
	</HediffDef>

	<HediffDef ParentName="NaturalPrivatePartBase">
		<defName>LooseVagina</defName>
		loose vagina
		<stages>

				<statOffsets>
					<SexAbility>0.25</SexAbility>
					<Vulnerability>0.06</Vulnerability>
				</statOffsets>

		</stages>
		<spawnThingOnRemoved>LooseVagina</spawnThingOnRemoved>
	</HediffDef>

	<HediffDef ParentName="NaturalPrivatePartBase">
		<defName>GapingVagina</defName>
		gaping vagina
		<stages>

				<statOffsets>
					<SexAbility>0.1</SexAbility>
					<Vulnerability>0.02</Vulnerability>
				</statOffsets>

		</stages>
		<spawnThingOnRemoved>GapingVagina</spawnThingOnRemoved>
	</HediffDef>

	<HediffDef ParentName="NaturalPrivatePartBase">
		<defName>Breasts</defName>
		average breasts
		<stages>

				<statOffsets>
					<SexAbility>0.5</SexAbility>
					<Vulnerability>0.08</Vulnerability>
				</statOffsets>
				<capMods>

						<capacity>Moving</capacity>
						<offset>-0.025</offset>

						<capacity>Manipulation</capacity>
						<offset>-0.025</offset>

				</capMods>

		</stages>
		<spawnThingOnRemoved>Breasts</spawnThingOnRemoved>
	</HediffDef>

	<HediffDef ParentName="NaturalPrivatePartBase">
		<defName>FlatBreasts</defName>
		flat breasts
		<stages>

				<statOffsets>
					<SexAbility>0.1</SexAbility>
					<Vulnerability>0.02</Vulnerability>
				</statOffsets>

		</stages>
		<spawnThingOnRemoved>FlatBreasts</spawnThingOnRemoved>
	</HediffDef>

	<HediffDef ParentName="NaturalPrivatePartBase">
		<defName>SmallBreasts</defName>
		small breasts
		<stages>

				<statOffsets>
					<SexAbility>0.3</SexAbility>
					<Vulnerability>0.04</Vulnerability>
				</statOffsets>

		</stages>
		<spawnThingOnRemoved>SmallBreasts</spawnThingOnRemoved>
	</HediffDef>

	<HediffDef ParentName="NaturalPrivatePartBase">
		<defName>LargeBreasts</defName>
		large breasts
		<stages>

				<statOffsets>
					<SexAbility>0.7</SexAbility>
					<Vulnerability>0.12</Vulnerability>
				</statOffsets>
				<capMods>

						<capacity>Moving</capacity>
						<offset>-0.05</offset>

						<capacity>Manipulation</capacity>
						<offset>-0.05</offset>

				</capMods>

		</stages>
		<spawnThingOnRemoved>LargeBreasts</spawnThingOnRemoved>
	</HediffDef>

	<HediffDef ParentName="NaturalPrivatePartBase">
		<defName>HugeBreasts</defName>
		huge breasts
		<stages>

				<statOffsets>
					<SexAbility>0.9</SexAbility>
					<Vulnerability>0.16</Vulnerability>
				</statOffsets>
				<capMods>

						<capacity>Moving</capacity>
						<offset>-0.1</offset>

						<capacity>Manipulation</capacity>
						<offset>-0.1</offset>

				</capMods>

		</stages>
		<spawnThingOnRemoved>HugeBreasts</spawnThingOnRemoved>
	</HediffDef>

	<HediffDef ParentName="NaturalPrivatePartBase">
		<defName>Anus</defName>
		average anus
		<stages>

				<statOffsets>
					<SexAbility>0.5</SexAbility>
					<Vulnerability>0.12</Vulnerability>
				</statOffsets>

		</stages>
		<spawnThingOnRemoved>Anus</spawnThingOnRemoved>
	</HediffDef>

	<HediffDef ParentName="NaturalPrivatePartBase">
		<defName>MicroAnus</defName>
		micro anus
		<stages>

				<statOffsets>
					<SexAbility>0.1</SexAbility>
					<Vulnerability>0.02</Vulnerability>
				</statOffsets>

		</stages>
		<spawnThingOnRemoved>MicroAnus</spawnThingOnRemoved>
	</HediffDef>

	<HediffDef ParentName="NaturalPrivatePartBase">
		<defName>TightAnus</defName>
		tight anus
		<stages>

				<statOffsets>
					<SexAbility>0.45</SexAbility>
					<Vulnerability>0.16</Vulnerability>
				</statOffsets>

		</stages>
		<spawnThingOnRemoved>TightAnus</spawnThingOnRemoved>
	</HediffDef>

	<HediffDef ParentName="NaturalPrivatePartBase">
		<defName>LooseAnus</defName>
		loose anus
		<stages>

				<statOffsets>
					<SexAbility>0.25</SexAbility>
					<Vulnerability>0.08</Vulnerability>
				</statOffsets>

		</stages>
		<spawnThingOnRemoved>LooseAnus</spawnThingOnRemoved>
	</HediffDef>

	<HediffDef ParentName="NaturalPrivatePartBase">
		<defName>GapingAnus</defName>
		gaping anus
		<stages>

				<statOffsets>
					<SexAbility>0.1</SexAbility>
					<Vulnerability>0.04</Vulnerability>
				</statOffsets>

		</stages>
		<spawnThingOnRemoved>GapingAnus</spawnThingOnRemoved>
	</HediffDef>

	<HediffDef ParentName="NaturalPrivatePartBase">
		<defName>FeaturelessChest</defName>
		featureless chest
		<stages>

				<statOffsets>
					<Vulnerability>-0.05</Vulnerability>
				</statOffsets>

		</stages>
		<spawnThingOnRemoved>FeaturelessChest</spawnThingOnRemoved>
	</HediffDef>
</Defs>


code:
<?xml version="1.0" encoding="utf-8" ?>
<Defs>

	<HediffDef ParentName="ArtificialPrivatePartLotech">
		<hediffClass>Hediff_Implant</hediffClass>
		<defName>PegDick</defName>
		peg dick
		<stages>

				<statOffsets>
					<SexAbility>0.15</SexAbility>
				</statOffsets>
				<capMods>

						<capacity>Moving</capacity>
						<offset>-0.1</offset>

						<capacity>Reproduction</capacity>
						<offset>-1</offset>

				</capMods>

		</stages>
		<spawnThingOnRemoved>PegDick</spawnThingOnRemoved>
	</HediffDef>

	<HediffDef ParentName="ArtificialPrivatePartLotech">
		<defName>HydraulicPenis</defName>
		hydraulic penis
		<stages>

				<statOffsets>
					<SexAbility>0.25</SexAbility>
				</statOffsets>
				<capMods>

						<capacity>Moving</capacity>
						<offset>-0.1</offset>

						<capacity>Reproduction</capacity>
						<offset>-0.1</offset>

				</capMods>

		</stages>
		<spawnThingOnRemoved>HydraulicPenis</spawnThingOnRemoved>
	</HediffDef>

	<HediffDef ParentName="ArtificialPrivatePartLotech">
		<defName>HydraulicVagina</defName>
		hydraulic vagina
		<stages>

				<capMods>

						<capacity>Reproduction</capacity>
						<offset>-0.1</offset>

				</capMods>
				<statOffsets>
					<SexAbility>0.25</SexAbility>
					<Vulnerability>0.04</Vulnerability>
				</statOffsets>

		</stages>
		<spawnThingOnRemoved>HydraulicVagina</spawnThingOnRemoved>
	</HediffDef>

	<HediffDef ParentName="ArtificialPrivatePartLotech">
		<defName>HydraulicBreasts</defName>
		hydraulic breasts
		<stages>

				<statOffsets>
					<SexAbility>0.1</SexAbility>
					<Vulnerability>0.03</Vulnerability>
				</statOffsets>
				<capMods>

						<capacity>Moving</capacity>
						<offset>-0.1</offset>

						<capacity>Manipulation</capacity>
						<offset>-0.1</offset>

				</capMods>

		</stages>
		<spawnThingOnRemoved>HydraulicBreasts</spawnThingOnRemoved>
	</HediffDef>

	<HediffDef ParentName="ArtificialPrivatePartLotech">
		<defName>HydraulicAnus</defName>
		hydraulic anus
		<stages>

				<statOffsets>
					<SexAbility>0.25</SexAbility>
					<Vulnerability>0.04</Vulnerability>
				</statOffsets>

		</stages>
		<spawnThingOnRemoved>HydraulicAnus</spawnThingOnRemoved>
	</HediffDef>

	<HediffDef ParentName="ArtificialPrivatePartHitech">
		<defName>BionicPenis</defName>
		bionic penis
		<stages>

				<statOffsets>
					<SexAbility>0.8</SexAbility>
				</statOffsets>

		</stages>
		<spawnThingOnRemoved>BionicPenis</spawnThingOnRemoved>
	</HediffDef>

	<HediffDef ParentName="ArtificialPrivatePartHitech">
		<defName>BionicVagina</defName>
		bionic vagina
		<stages>

				<statOffsets>
					<SexAbility>0.8</SexAbility>
					<Vulnerability>0.2</Vulnerability>
				</statOffsets>

		</stages>
		<spawnThingOnRemoved>BionicVagina</spawnThingOnRemoved>
	</HediffDef>

	<HediffDef ParentName="ArtificialPrivatePartHitech">
		<defName>BionicBreasts</defName>
		bionic breasts
		<stages>

				<statOffsets>
					<SexAbility>0.6</SexAbility>
					<Vulnerability>0.18</Vulnerability>
				</statOffsets>

		</stages>
		<spawnThingOnRemoved>BionicBreasts</spawnThingOnRemoved>
	</HediffDef>

	<HediffDef ParentName="ArtificialPrivatePartHitech">
		<defName>BionicAnus</defName>
		bionic anus
		<stages>

				<statOffsets>
					<SexAbility>0.8</SexAbility>
					<Vulnerability>0.2</Vulnerability>
				</statOffsets>

		</stages>
		<spawnThingOnRemoved>BionicAnus</spawnThingOnRemoved>
	</HediffDef>

	<HediffDef ParentName="ArtificialPrivatePartHitech">
		<defName>ArchotechPenis</defName>
		archotech penis
		<stages>

				<capMods>

						<capacity>Reproduction</capacity>
						<offset>0.25</offset>

						<capacity>BloodPumping</capacity>
						<offset>0.05</offset>

				</capMods>
				<statOffsets>
					<SexAbility>0.6</SexAbility>
					<ImmunityGainSpeed>0.05</ImmunityGainSpeed>
					<ToxicSensitivity>-0.05</ToxicSensitivity>
				</statOffsets>

		</stages>
		<spawnThingOnRemoved>ArchotechPenis</spawnThingOnRemoved>
	</HediffDef>

	<HediffDef ParentName="ArtificialPrivatePartHitech">
		<defName>ArchotechVagina</defName>
		archotech vagina
		<stages>

				<capMods>

						<capacity>Reproduction</capacity>
						<offset>0.25</offset>

						<capacity>BloodPumping</capacity>
						<offset>0.05</offset>

				</capMods>
				<statOffsets>
					<SexAbility>0.6</SexAbility>
					<ImmunityGainSpeed>0.05</ImmunityGainSpeed>
					<ToxicSensitivity>-0.05</ToxicSensitivity>
					<Vulnerability>-0.25</Vulnerability>
				</statOffsets>

		</stages>
		<spawnThingOnRemoved>ArchotechVagina</spawnThingOnRemoved>
	</HediffDef>

	<HediffDef ParentName="ArtificialPrivatePartHitech">
		<defName>ArchotechAnus</defName>
		archotech anus
		<stages>

				<capMods>

						<capacity>BloodFiltration</capacity>
						<offset>0.25</offset>

						<capacity>Metabolism</capacity>
						<offset>0.5</offset>

				</capMods>
				<statOffsets>
					<SexAbility>0.6</SexAbility>
					<Vulnerability>-0.2</Vulnerability>
					<HungerRateMultiplier>-0.3</HungerRateMultiplier>
				</statOffsets>

		</stages>
		<spawnThingOnRemoved>ArchotechAnus</spawnThingOnRemoved>
	</HediffDef>

	<HediffDef ParentName="ArtificialPrivatePartHitech">
		<defName>ArchotechBreasts</defName>
		archotech breasts
		<stages>

				<capMods>

						<capacity>BloodPumping</capacity>
						<offset>0.2</offset>

				</capMods>
				<statOffsets>
					<SexAbility>0.6</SexAbility>
					<Vulnerability>-0.1</Vulnerability>
					<ComfyTemperatureMin>-10</ComfyTemperatureMin>
				</statOffsets>

		</stages>
		<spawnThingOnRemoved>ArchotechBreasts</spawnThingOnRemoved>
	</HediffDef>
</Defs>


code:
<?xml version="1.0" encoding="utf-8" ?>
<Defs>

	<HediffDef ParentName="NaturalPrivatePartBase">
		<defName>OvipositorF</defName>
		ovipositor (Female)
		<stages>

				<statOffsets>
					<SexAbility>0.25</SexAbility>
					<Vulnerability>0.1</Vulnerability>
				</statOffsets>

		</stages>
		<spawnThingOnRemoved>OvipositorF</spawnThingOnRemoved>
	</HediffDef>

	<HediffDef ParentName="NaturalPrivatePartBase">
		<defName>OvipositorM</defName>
		ovipositor (Male)
		<stages>

				<statOffsets>
					<SexAbility>0.25</SexAbility>
					<Vulnerability>0.1</Vulnerability>
				</statOffsets>

		</stages>
		<spawnThingOnRemoved>OvipositorM</spawnThingOnRemoved>
	</HediffDef>

	<HediffDef ParentName="NaturalPrivatePartBase">
		<defName>InsectAnus</defName>
		insect anus
		<stages>

				<statOffsets>
					<SexAbility>0.25</SexAbility>
					<Vulnerability>0.1</Vulnerability>
				</statOffsets>

		</stages>
		<spawnThingOnRemoved>InsectAnus</spawnThingOnRemoved>
	</HediffDef>
</Defs>


code:
<?xml version="1.0" encoding="utf-8" ?>
<Defs>

	<HediffDef ParentName="NaturalPrivatePartBase">
		<defName>SlimeTentacles</defName>
		slime tentacles
		<stages>

				<statOffsets>
					<SexAbility>2.0</SexAbility>
				</statOffsets>

		</stages>
		<spawnThingOnRemoved>SlimeGlob</spawnThingOnRemoved>
	</HediffDef>

	<HediffDef ParentName="NaturalPrivatePartBase">
		<defName>SlimeVagina</defName>
		slime vagina
		<stages>

				<statOffsets>
					<SexAbility>2.0</SexAbility>
					<Vulnerability>0.2</Vulnerability>
				</statOffsets>

		</stages>
		<spawnThingOnRemoved>SlimeGlob</spawnThingOnRemoved>
	</HediffDef>

	<HediffDef ParentName="NaturalPrivatePartBase">
		<defName>SlimeBreasts</defName>
		slime breasts
		<stages>

				<statOffsets>
					<SexAbility>2.0</SexAbility>
					<Vulnerability>0.18</Vulnerability>
				</statOffsets>

		</stages>
		<spawnThingOnRemoved>SlimeGlob</spawnThingOnRemoved>
	</HediffDef>

	<HediffDef ParentName="NaturalPrivatePartBase">
		<defName>SlimeAnus</defName>
		slime anus
		<stages>

				<statOffsets>
					<SexAbility>2.0</SexAbility>
					<Vulnerability>0.2</Vulnerability>
				</statOffsets>

		</stages>
		<spawnThingOnRemoved>SlimeGlob</spawnThingOnRemoved>
	</HediffDef>
</Defs>