mirror of
https://gitgud.io/lutepickle/rjw_menstruation.git
synced 2024-08-14 22:46:52 +00:00
1.0.5.4
This commit is contained in:
parent
1851627615
commit
c1ac806cb2
35 changed files with 778 additions and 45 deletions
Binary file not shown.
|
@ -136,5 +136,53 @@
|
|||
</comps>
|
||||
</ThingDef>
|
||||
|
||||
<ThingDef ParentName="MakeableDrugPillBase">
|
||||
<defName>Cyclosporine</defName>
|
||||
<label>cyclosporine</label>
|
||||
<description>An immunosuppressant. Can cure antisperm antibody.</description>
|
||||
<graphicData>
|
||||
<texPath>Things/Item/Cyclosporine</texPath>
|
||||
<graphicClass>Graphic_StackCount</graphicClass>
|
||||
</graphicData>
|
||||
<rotatable>false</rotatable>
|
||||
<statBases>
|
||||
<WorkToMake>1000</WorkToMake>
|
||||
<MarketValue>12</MarketValue>
|
||||
<Mass>0.01</Mass>
|
||||
</statBases>
|
||||
<techLevel>Industrial</techLevel>
|
||||
<ingestible>
|
||||
<drugCategory>Medical</drugCategory>
|
||||
<outcomeDoers>
|
||||
<li Class="IngestionOutcomeDoer_GiveHediff">
|
||||
<hediffDef>Hediff_Cyclosporine</hediffDef>
|
||||
<severity>1.0</severity>
|
||||
</li>
|
||||
<li Class="RJW_Menstruation.IngestionOutcomeDoer_AdjustSeverity">
|
||||
<hediffDef>Hediff_ASA</hediffDef>
|
||||
<severity>-0.20</severity>
|
||||
</li>
|
||||
</outcomeDoers>
|
||||
</ingestible>
|
||||
<recipeMaker>
|
||||
<researchPrerequisite>DrugProduction</researchPrerequisite>
|
||||
<recipeUsers>
|
||||
<li>DrugLab</li>
|
||||
</recipeUsers>
|
||||
</recipeMaker>
|
||||
<costList>
|
||||
<MedicineHerbal>1</MedicineHerbal>
|
||||
</costList>
|
||||
<comps>
|
||||
<li Class="CompProperties_Drug">
|
||||
<addictiveness>0</addictiveness>
|
||||
<listOrder>1000</listOrder>
|
||||
<overdoseSeverityOffset>
|
||||
<min>0.08</min>
|
||||
<max>0.14</max>
|
||||
</overdoseSeverityOffset>
|
||||
</li>
|
||||
</comps>
|
||||
</ThingDef>
|
||||
|
||||
</Defs>
|
111
1.3/Defs/HediffDef/Hediffs_Cum.xml
Normal file
111
1.3/Defs/HediffDef/Hediffs_Cum.xml
Normal file
|
@ -0,0 +1,111 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<Defs>
|
||||
<HediffDef>
|
||||
<hediffClass>HediffWithComps</hediffClass>
|
||||
<defName>Hediff_ASA</defName>
|
||||
<label>Antisperm antibody</label>
|
||||
<labelNoun>antisperm antibody</labelNoun>
|
||||
<description>Antisperm antibody. Increases death rate of sperm.</description>
|
||||
<labelNounPretty>{0} got antisperm antibody</labelNounPretty>
|
||||
<defaultLabelColor>(0.8,0.1,0.1)</defaultLabelColor>
|
||||
<isBad>false</isBad>
|
||||
<tendable>false</tendable>
|
||||
<makesSickThought>false</makesSickThought>
|
||||
<makesAlert>true</makesAlert>
|
||||
<maxSeverity>1</maxSeverity>
|
||||
<initialSeverity>0.1</initialSeverity>
|
||||
<injuryProps>
|
||||
<canMerge>true</canMerge>
|
||||
</injuryProps>
|
||||
<stages>
|
||||
<li>
|
||||
<becomeVisible>false</becomeVisible>
|
||||
</li>
|
||||
<li>
|
||||
<minSeverity>0.40</minSeverity>
|
||||
<becomeVisible>true</becomeVisible>
|
||||
</li>
|
||||
</stages>
|
||||
<comps>
|
||||
</comps>
|
||||
</HediffDef>
|
||||
|
||||
<HediffDef>
|
||||
<hediffClass>HediffWithComps</hediffClass>
|
||||
<defName>Hediff_ForceFertile</defName>
|
||||
<label>fertile</label>
|
||||
<labelNoun>fertile</labelNoun>
|
||||
<description>fertile</description>
|
||||
<labelNounPretty>{0} is fertile</labelNounPretty>
|
||||
<defaultLabelColor>(0.3,0.3,0.8)</defaultLabelColor>
|
||||
<isBad>false</isBad>
|
||||
<tendable>false</tendable>
|
||||
<makesSickThought>false</makesSickThought>
|
||||
<makesAlert>true</makesAlert>
|
||||
<maxSeverity>3</maxSeverity>
|
||||
<initialSeverity>0.1</initialSeverity>
|
||||
<injuryProps>
|
||||
<canMerge>true</canMerge>
|
||||
</injuryProps>
|
||||
<stages>
|
||||
<li>
|
||||
<becomeVisible>false</becomeVisible>
|
||||
<capMods>
|
||||
<li>
|
||||
<capacity>RJW_Fertility</capacity>
|
||||
<offset>0.05</offset>
|
||||
</li>
|
||||
</capMods>
|
||||
</li>
|
||||
<li>
|
||||
<minSeverity>0.20</minSeverity>
|
||||
<becomeVisible>false</becomeVisible>
|
||||
<capMods>
|
||||
<li>
|
||||
<capacity>RJW_Fertility</capacity>
|
||||
<offset>0.25</offset>
|
||||
</li>
|
||||
</capMods>
|
||||
</li>
|
||||
<li>
|
||||
<minSeverity>0.40</minSeverity>
|
||||
<becomeVisible>true</becomeVisible>
|
||||
<capMods>
|
||||
<li>
|
||||
<capacity>RJW_Fertility</capacity>
|
||||
<offset>0.50</offset>
|
||||
</li>
|
||||
</capMods>
|
||||
</li>
|
||||
<li>
|
||||
<minSeverity>0.60</minSeverity>
|
||||
<becomeVisible>true</becomeVisible>
|
||||
<capMods>
|
||||
<li>
|
||||
<capacity>RJW_Fertility</capacity>
|
||||
<offset>0.75</offset>
|
||||
</li>
|
||||
</capMods>
|
||||
</li>
|
||||
<li>
|
||||
<minSeverity>0.80</minSeverity>
|
||||
<becomeVisible>true</becomeVisible>
|
||||
<capMods>
|
||||
<li>
|
||||
<capacity>RJW_Fertility</capacity>
|
||||
<offset>1.00</offset>
|
||||
</li>
|
||||
</capMods>
|
||||
</li>
|
||||
</stages>
|
||||
<comps>
|
||||
<li Class="HediffCompProperties_SeverityPerDay">
|
||||
<severityPerDay>-1.0</severityPerDay>
|
||||
<showHoursToRecover>true</showHoursToRecover>
|
||||
</li>
|
||||
</comps>
|
||||
</HediffDef>
|
||||
|
||||
|
||||
|
||||
</Defs>
|
|
@ -260,4 +260,30 @@
|
|||
</li>
|
||||
</comps>
|
||||
</HediffDef>
|
||||
|
||||
<HediffDef>
|
||||
<hediffClass>HediffWithComps</hediffClass>
|
||||
<defName>Hediff_Cyclosporine</defName>
|
||||
<label>Cyclosporine</label>
|
||||
<description>Immunosuppressant.</description>
|
||||
<defaultLabelColor>(0.75,0.75,1.0)</defaultLabelColor>
|
||||
<isBad>false</isBad>
|
||||
<tendable>false</tendable>
|
||||
<makesSickThought>false</makesSickThought>
|
||||
<makesAlert>false</makesAlert>
|
||||
<maxSeverity>10</maxSeverity>
|
||||
<initialSeverity>1.0</initialSeverity>
|
||||
<stages>
|
||||
<li>
|
||||
<statOffsets>
|
||||
<ImmunityGainSpeed>-0.25</ImmunityGainSpeed>
|
||||
</statOffsets>
|
||||
</li>
|
||||
</stages>
|
||||
<comps>
|
||||
<li Class="HediffCompProperties_SeverityPerDay">
|
||||
<severityPerDay>-1.0</severityPerDay>
|
||||
</li>
|
||||
</comps>
|
||||
</HediffDef>
|
||||
</Defs>
|
Binary file not shown.
|
@ -1,5 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
|
||||
<!--
|
||||
<Operation Class="PatchOperationAddModExtension">
|
||||
<xpath>Defs/ThingDef[defName="Race's defName"]</xpath>
|
||||
|
@ -8,6 +9,12 @@
|
|||
<fetusTexPath>Fetus/Fetus_Default</fetusTexPath>
|
||||
<cumColor>(255,255,255,255)</cumColor>
|
||||
<cumThickness>0.2</cumThickness>
|
||||
<cumOutcomeDoers>
|
||||
<li Class="IngestionOutcomeDoers">
|
||||
<Some field>value</Some field>
|
||||
<Some field>value</Some field>
|
||||
</li>
|
||||
</cumOutcomeDoers>
|
||||
<hybridExtension>
|
||||
<Other Race's defName>
|
||||
<Race or PawnKind defName>1.0</Race or PawnKind defName>
|
||||
|
@ -33,6 +40,13 @@
|
|||
<fetusTexPath>Fetus/Fetus_Default</fetusTexPath>
|
||||
<cumColor>(255,255,255,255)</cumColor>
|
||||
<cumThickness>0.2</cumThickness>
|
||||
<ingestionOutcomeDoers>
|
||||
<li Class="IngestionOutcomeDoer_GiveHediff">
|
||||
<chance>0.02</chance>
|
||||
<hediffDef>Hediff_ASA</hediffDef>
|
||||
<severity>0.02</severity>
|
||||
</li>
|
||||
</ingestionOutcomeDoers>
|
||||
<hybridExtension>
|
||||
</hybridExtension>
|
||||
</li>
|
||||
|
|
BIN
1.3/SexperienceModule/Assemblies/SexperienceModule.dll
Normal file
BIN
1.3/SexperienceModule/Assemblies/SexperienceModule.dll
Normal file
Binary file not shown.
14
1.3/SexperienceModule/Defs/Items_Resource_CumMixture.xml
Normal file
14
1.3/SexperienceModule/Defs/Items_Resource_CumMixture.xml
Normal file
|
@ -0,0 +1,14 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<Defs>
|
||||
<ThingDef ParentName="GatheredCum">
|
||||
<defName>GatheredCumMixture</defName>
|
||||
<label>cum mixture</label>
|
||||
<description>Gathered mixture of cum.</description>
|
||||
<thingClass>RJW_Menstruation.Sexperience.GatheredCumMixture</thingClass>
|
||||
<graphicData>
|
||||
<texPath>Things/Item/GatheredCum</texPath>
|
||||
<drawSize>1</drawSize>
|
||||
<graphicClass>Graphic_StackCount</graphicClass>
|
||||
</graphicData>
|
||||
</ThingDef>
|
||||
</Defs>
|
10
1.3/SexperienceModule/Defs/JobDefs/Jobs_GatherCum.xml
Normal file
10
1.3/SexperienceModule/Defs/JobDefs/Jobs_GatherCum.xml
Normal file
|
@ -0,0 +1,10 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
|
||||
<Defs>
|
||||
<JobDef>
|
||||
<defName>VaginaWashingwithBucket</defName>
|
||||
<driverClass>RJW_Menstruation.Sexperience.JobDriver_VaginaWashingWithBucket</driverClass>
|
||||
<reportString>washing vagina</reportString>
|
||||
<casualInterruptible>true</casualInterruptible>
|
||||
</JobDef>
|
||||
</Defs>
|
BIN
1.3/Textures/Things/Item/Cyclosporine/Cyclosporine_a.png
Normal file
BIN
1.3/Textures/Things/Item/Cyclosporine/Cyclosporine_a.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.7 KiB |
BIN
1.3/Textures/Things/Item/Cyclosporine/Cyclosporine_b.png
Normal file
BIN
1.3/Textures/Things/Item/Cyclosporine/Cyclosporine_b.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 5.3 KiB |
|
@ -17,7 +17,7 @@
|
|||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<OutputPath>..\..\..\MilkModule\Assemblies\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
|
@ -90,6 +90,7 @@
|
|||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="JobDriver_MilkSelf.cs" />
|
||||
<Compile Include="Milk_Patch.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
|
|
41
1.3/source/RJW_Menstruation/MilkModule/Milk_Patch.cs
Normal file
41
1.3/source/RJW_Menstruation/MilkModule/Milk_Patch.cs
Normal file
|
@ -0,0 +1,41 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Reflection;
|
||||
using HarmonyLib;
|
||||
using Verse;
|
||||
using RimWorld;
|
||||
using Milk;
|
||||
using RJW_Menstruation;
|
||||
|
||||
namespace MilkModule
|
||||
{
|
||||
internal static class First
|
||||
{
|
||||
static First()
|
||||
{
|
||||
var har = new Harmony("RJW_Menstruation_MilkModule");
|
||||
har.PatchAll(Assembly.GetExecutingAssembly());
|
||||
}
|
||||
}
|
||||
|
||||
[HarmonyPatch(typeof(HumanCompHasGatherableBodyResource), "Gathered")]
|
||||
public static class Milk_Patch
|
||||
{
|
||||
public static void Postfix(Pawn doer, HumanCompHasGatherableBodyResource __instance)
|
||||
{
|
||||
Pawn pawn = __instance.parent as Pawn;
|
||||
HediffComp_Breast comp = null;
|
||||
if (pawn != null) comp = pawn.GetBreastComp();
|
||||
if (comp != null)
|
||||
{
|
||||
comp.AdjustAreolaSize(Rand.Range(0.0f, 0.01f * Configurations.NipplePermanentTransitionVariance));
|
||||
comp.AdjustNippleSize(Rand.Range(0.0f, 0.01f * Configurations.NipplePermanentTransitionVariance));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -7,6 +7,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RJW_Menstruation", "RJW_Men
|
|||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MilkModule", "MilkModule\MilkModule.csproj", "{3591B3C1-EB57-44BF-AB69-A613E097A7F8}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SexperienceModule", "SexperienceModule\SexperienceModule.csproj", "{7DB664D7-D4B4-4673-9FF1-62EC18305715}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
|
@ -21,6 +23,10 @@ Global
|
|||
{3591B3C1-EB57-44BF-AB69-A613E097A7F8}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{3591B3C1-EB57-44BF-AB69-A613E097A7F8}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{3591B3C1-EB57-44BF-AB69-A613E097A7F8}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{7DB664D7-D4B4-4673-9FF1-62EC18305715}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{7DB664D7-D4B4-4673-9FF1-62EC18305715}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{7DB664D7-D4B4-4673-9FF1-62EC18305715}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{7DB664D7-D4B4-4673-9FF1-62EC18305715}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
|
|
@ -18,6 +18,7 @@ namespace RJW_Menstruation
|
|||
protected bool useCustomColor = false;
|
||||
protected float notcumthickness = 0;
|
||||
protected float cumthickness = 1.0f;
|
||||
protected Thing internalThing;
|
||||
|
||||
public float Volume
|
||||
{
|
||||
|
@ -109,6 +110,19 @@ namespace RJW_Menstruation
|
|||
}
|
||||
}
|
||||
|
||||
public Thing CumThing
|
||||
{
|
||||
get
|
||||
{
|
||||
if (internalThing == null)
|
||||
{
|
||||
internalThing = ThingMaker.MakeThing(VariousDefOf.CumFilth);
|
||||
internalThing.stackCount = (int)volume;
|
||||
}
|
||||
internalThing.stackCount = (int)volume;
|
||||
return internalThing;
|
||||
}
|
||||
}
|
||||
|
||||
public Cum() { }
|
||||
|
||||
|
@ -151,6 +165,7 @@ namespace RJW_Menstruation
|
|||
public virtual void ExposeData()
|
||||
{
|
||||
Scribe_References.Look(ref pawn, "pawn", true);
|
||||
Scribe_References.Look(ref internalThing, "internalThing", true);
|
||||
Scribe_Values.Look(ref volume, "volume", volume, true);
|
||||
Scribe_Values.Look(ref fertvolume, "fertvolume", fertvolume, true);
|
||||
Scribe_Values.Look(ref notcumthickness, "notcumthickness", notcumthickness, true);
|
||||
|
@ -208,14 +223,25 @@ namespace RJW_Menstruation
|
|||
CutMinor();
|
||||
totalleak -= volume;
|
||||
return totalleak;
|
||||
}
|
||||
|
||||
public void CumEffects(Pawn pawn)
|
||||
{
|
||||
if (!notcum && DNA != null && volume >= 1.0f)
|
||||
{
|
||||
List<IngestionOutcomeDoer> doers = DNA.ingestionOutcomeDoers;
|
||||
|
||||
if (!doers.NullOrEmpty()) for (int i = 0; i < doers.Count; i++)
|
||||
{
|
||||
doers[i].DoIngestionOutcome(pawn, CumThing);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected void CutMinor()
|
||||
{
|
||||
if (volume < 0.01f) volume = 0f;
|
||||
if (fertvolume < 0.001f) fertvolume = 0f;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -224,7 +250,8 @@ namespace RJW_Menstruation
|
|||
public class CumMixture : Cum, IDisposable
|
||||
{
|
||||
protected List<string> cums;
|
||||
|
||||
public bool ispurecum = true;
|
||||
public List<string> Getingredients => cums;
|
||||
|
||||
public CumMixture()
|
||||
{
|
||||
|
@ -232,13 +259,14 @@ namespace RJW_Menstruation
|
|||
cums = new List<string>();
|
||||
}
|
||||
|
||||
public CumMixture(Pawn pawn, float volume, List<string> cums, Color color, ThingDef mixtureDef)
|
||||
public CumMixture(Pawn pawn, float volume, List<string> cums, Color color, ThingDef mixtureDef, bool pure)
|
||||
{
|
||||
this.pawn = pawn;
|
||||
this.volume = volume;
|
||||
this.cums = cums;
|
||||
this.customColor = color;
|
||||
this.useCustomColor = true;
|
||||
ispurecum = pure;
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
|
|
|
@ -25,6 +25,36 @@ namespace RJW_Menstruation
|
|||
}
|
||||
}
|
||||
|
||||
public class InduceOvulationOutcomDoer : IngestionOutcomeDoer
|
||||
{
|
||||
protected override void DoIngestionOutcomeSpecial(Pawn pawn, Thing ingested)
|
||||
{
|
||||
HediffComp_Menstruation comp = pawn.GetMenstruationComp();
|
||||
if (comp != null && (comp.curStage.Equals(HediffComp_Menstruation.Stage.Follicular)
|
||||
|| comp.curStage.Equals(HediffComp_Menstruation.Stage.ClimactericFollicular)
|
||||
|| comp.curStage.Equals(HediffComp_Menstruation.Stage.Anestrus)
|
||||
))
|
||||
{
|
||||
comp.SetEstrus(comp.Props.eggLifespanDays);
|
||||
comp.curStage = HediffComp_Menstruation.Stage.Ovulatory;
|
||||
comp.eggstack += ingested.stackCount - 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class IngestionOutcomeDoer_AdjustSeverity : IngestionOutcomeDoer
|
||||
{
|
||||
public HediffDef hediffDef;
|
||||
public float severity;
|
||||
|
||||
protected override void DoIngestionOutcomeSpecial(Pawn pawn, Thing ingested)
|
||||
{
|
||||
Hediff hediff = pawn.health.hediffSet.GetFirstHediffOfDef(hediffDef);
|
||||
if (hediff != null) hediff.Severity += severity;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public class OvaryPillOutcomDoer : IngestionOutcomeDoer
|
||||
{
|
||||
public float effectOffset;
|
||||
|
@ -37,8 +67,6 @@ namespace RJW_Menstruation
|
|||
{
|
||||
comp.RecoverOvary(1 + effectOffset);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -83,6 +83,10 @@ namespace RJW_Menstruation
|
|||
}
|
||||
}
|
||||
|
||||
public float OriginAlpha => originalpha;
|
||||
public float OriginNipple => originnipple;
|
||||
public float OriginAreola => originareola;
|
||||
public Color OriginColor => Colors.CMYKLerp(parent?.pawn?.story?.SkinColor ?? Color.white, Props.BlackNippleColor, originalpha);
|
||||
|
||||
public Color NippleColor
|
||||
{
|
||||
|
|
|
@ -111,7 +111,7 @@ namespace RJW_Menstruation
|
|||
{
|
||||
get
|
||||
{
|
||||
if (opcache < 0) opcache = (int)(72f * ThingDefOf.Human.race.lifeExpectancy / parent.pawn.def.race.lifeExpectancy);
|
||||
if (opcache < 0) opcache = (int)(72f * parent.pawn.def.race.lifeExpectancy / ThingDefOf.Human.race.lifeExpectancy);
|
||||
return opcache;
|
||||
}
|
||||
}
|
||||
|
@ -610,9 +610,11 @@ namespace RJW_Menstruation
|
|||
|
||||
protected void BeforeCumOut(out Absorber absorber)
|
||||
{
|
||||
Hediff asa = parent.pawn.health.hediffSet.GetFirstHediffOfDef(VariousDefOf.Hediff_ASA);
|
||||
float asafactor = asa?.Severity ?? 0f;
|
||||
|
||||
if (parent.pawn.health.hediffSet.HasHediff(VariousDefOf.RJW_IUD)) antisperm = 0.70f;
|
||||
else antisperm = 0.0f;
|
||||
if (parent.pawn.health.hediffSet.HasHediff(VariousDefOf.RJW_IUD)) antisperm = 0.70f + asafactor;
|
||||
else antisperm = 0.0f + asafactor;
|
||||
|
||||
absorber = (Absorber)parent.pawn.apparel?.WornApparel?.Find(x => x is Absorber);
|
||||
if (absorber != null)
|
||||
|
@ -657,6 +659,7 @@ namespace RJW_Menstruation
|
|||
List<Cum> removecums = new List<Cum>();
|
||||
foreach (Cum cum in cums)
|
||||
{
|
||||
cum.CumEffects(parent.pawn);
|
||||
float vd = cum.DismishNatural(leakfactor, antisperm);
|
||||
cum.MakeThinner(Configurations.CycleAcceleration);
|
||||
totalleak += AbsorbCum(cum, vd, absorber);
|
||||
|
@ -719,7 +722,7 @@ namespace RJW_Menstruation
|
|||
/// <param name="mixtureDef"></param>
|
||||
/// <param name="portion"></param>
|
||||
/// <returns></returns>
|
||||
public Cum MixtureOut(ThingDef mixtureDef ,float portion = 0.1f)
|
||||
public CumMixture MixtureOut(ThingDef mixtureDef ,float portion = 0.1f)
|
||||
{
|
||||
if (cums.NullOrEmpty()) return null;
|
||||
Color color = GetCumMixtureColor;
|
||||
|
@ -727,6 +730,7 @@ namespace RJW_Menstruation
|
|||
List<string> cumlabels = new List<string>();
|
||||
float cumd = TotalCumPercent;
|
||||
List<Cum> removecums = new List<Cum>();
|
||||
bool pure = true;
|
||||
foreach (Cum cum in cums)
|
||||
{
|
||||
float vd = cum.DismishForce(portion);
|
||||
|
@ -734,13 +738,14 @@ namespace RJW_Menstruation
|
|||
cumlabels.Add(tmp.Replace(" x1", ""));
|
||||
totalleak += vd;
|
||||
if (cum.ShouldRemove()) removecums.Add(cum);
|
||||
if (cum.notcum) pure = false;
|
||||
}
|
||||
foreach (Cum cum in removecums)
|
||||
{
|
||||
cums.Remove(cum);
|
||||
}
|
||||
removecums.Clear();
|
||||
return new CumMixture(parent.pawn, totalleak, cumlabels, color, mixtureDef);
|
||||
return new CumMixture(parent.pawn, totalleak, cumlabels, color, mixtureDef, pure);
|
||||
}
|
||||
|
||||
|
||||
|
@ -866,7 +871,7 @@ namespace RJW_Menstruation
|
|||
}
|
||||
}
|
||||
|
||||
public void RecoverOvary(float multiply = 0.2f)
|
||||
public void RecoverOvary(float multiply = 1.2f)
|
||||
{
|
||||
ovarypower = Math.Max(0, (int)(ovarypower * multiply));
|
||||
if (ovarypower >= ovarypowerthreshold)
|
||||
|
@ -1512,9 +1517,10 @@ namespace RJW_Menstruation
|
|||
action += delegate
|
||||
{
|
||||
if (parent.pawn.health.capacities.GetLevel(xxx.reproduction) <= 0) curStage = Stage.Young;
|
||||
CumOut();
|
||||
//CumOut();
|
||||
AfterSimulator();
|
||||
};
|
||||
action = CumOut + action;
|
||||
|
||||
actionref = action;
|
||||
return actionref;
|
||||
|
|
|
@ -207,7 +207,8 @@ namespace RJW_Menstruation
|
|||
{
|
||||
if (xxx.is_human(father))
|
||||
{
|
||||
melanin = (mother.story?.melanin ?? 0f + father.story?.melanin ?? 0f) / 2;
|
||||
melanin = ChildRelationUtility.GetRandomChildSkinColor(father.story?.melanin ?? 0f, mother.story?.melanin ?? 0f);
|
||||
//melanin = (mother.story?.melanin ?? 0f + father.story?.melanin ?? 0f) / 2;
|
||||
lastname = NameTriple.FromString(father.Name.ToStringFull).Last;
|
||||
}
|
||||
else
|
||||
|
@ -215,24 +216,18 @@ namespace RJW_Menstruation
|
|||
melanin = mother.story?.melanin ?? 0f;
|
||||
lastname = NameTriple.FromString(mother.Name.ToStringFull).Last;
|
||||
}
|
||||
|
||||
}
|
||||
else if (xxx.is_human(father))
|
||||
{
|
||||
melanin = father.story?.melanin ?? 0f;
|
||||
lastname = NameTriple.FromString(father.Name.ToStringFull).Last;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (xxx.is_human(father))
|
||||
{
|
||||
melanin = father.story?.melanin ?? 0f;
|
||||
lastname = NameTriple.FromString(father.Name.ToStringFull).Last;
|
||||
}
|
||||
else
|
||||
{
|
||||
melanin = Rand.Range(0, 1.0f);
|
||||
lastname = NameTriple.FromString(mother.Name.ToStringFull).Last;
|
||||
}
|
||||
melanin = Rand.Range(0, 1.0f);
|
||||
lastname = "";
|
||||
}
|
||||
|
||||
|
||||
|
||||
PawnGenerationRequest request = new PawnGenerationRequest(
|
||||
newborn: true,
|
||||
allowDowned: true,
|
||||
|
@ -274,7 +269,8 @@ namespace RJW_Menstruation
|
|||
firstheadpath = (string)baby.story.GetMemberValue("headGraphicPath");
|
||||
if (firstheadpath == null)
|
||||
{
|
||||
baby.story.SetMemberValue("headGraphicPath", GraphicDatabaseHeadRecords.GetHeadRandom(baby.gender, baby.story.SkinColor, baby.story.crownType, true).GraphicPath);
|
||||
Graphic_Multi head = GraphicDatabaseHeadRecords.GetHeadRandom(baby.gender, baby.story.SkinColor, baby.story.crownType, true);
|
||||
if (head != null) baby.story.SetMemberValue("headGraphicPath", head.GraphicPath);
|
||||
firstheadpath = (string)baby.story.GetMemberValue("headGraphicPath");
|
||||
}
|
||||
if (Configurations.HARActivated && baby.IsHAR())
|
||||
|
|
|
@ -42,7 +42,7 @@ namespace RJW_Menstruation
|
|||
|
||||
foreach (LocalTargetInfo t in selftargets)
|
||||
{
|
||||
if (pawn.HasMenstruationComp()) opts.AddDistinct(MakeSelfMenu(pawn, t));
|
||||
if (t.Pawn == pawn && pawn.HasMenstruationComp()) opts.AddDistinct(MakeSelfMenu(pawn, t));
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -60,9 +60,6 @@ namespace RJW_Menstruation
|
|||
|
||||
return option;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
//[HarmonyPatch(typeof(HealthCardUtility), "DrawHediffListing")]
|
||||
|
|
|
@ -114,6 +114,14 @@
|
|||
<HintPath>..\..\..\..\..\..\RimWorldWin64_Data\Managed\UnityEngine.IMGUIModule.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.InputLegacyModule">
|
||||
<HintPath>..\..\..\..\..\..\RimWorldWin64_Data\Managed\UnityEngine.InputLegacyModule.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.InputModule">
|
||||
<HintPath>..\..\..\..\..\..\RimWorldWin64_Data\Managed\UnityEngine.InputModule.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.TextCoreModule">
|
||||
<HintPath>..\..\..\..\..\..\RimWorldWin64_Data\Managed\UnityEngine.TextCoreModule.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
|
|
|
@ -15,6 +15,7 @@ namespace RJW_Menstruation
|
|||
public Color CumColor => cumColor.ToColor;
|
||||
public float cumThickness = 0f;
|
||||
public List<HybridExtension> hybridExtension;
|
||||
public List<IngestionOutcomeDoer> ingestionOutcomeDoers;
|
||||
|
||||
public HybridExtension GetHybridExtension(string race)
|
||||
{
|
||||
|
|
|
@ -201,12 +201,11 @@ namespace RJW_Menstruation
|
|||
Rect pawnLabelRect = new Rect(0, pawnRectHeight, pawnRectWidth, fontheight - 10);
|
||||
Rect pawnLabel2Rect = new Rect(0, pawnRectHeight + fontheight - 10, pawnRectWidth, fontheight - 10);
|
||||
fontstylecenter.normal.textColor = pawn.DrawColor;
|
||||
GUI.Label(pawnLabelRect, pawn.Name.ToStringFull, fontstylecenter);
|
||||
if (pawn.story != null) GUI.Label(pawnLabel2Rect, pawn.story.Title, fontstylecenter);
|
||||
GUI.Label(pawnLabelRect, pawn.Name?.ToStringFull ?? pawn.Label, fontstylecenter);
|
||||
if (pawn.story != null) GUI.Label(pawnLabel2Rect, pawn.ageTracker.AgeBiologicalYears + ", " + pawn.story.Title, fontstylecenter);
|
||||
GUI.color = Color.white;
|
||||
|
||||
|
||||
|
||||
float wombrecth = 0;
|
||||
if (Configurations.DrawWombStatus)
|
||||
{
|
||||
|
@ -342,7 +341,9 @@ namespace RJW_Menstruation
|
|||
GUI.color = new Color(1.00f, 0.47f, 0.47f, 1);
|
||||
GUI.Box(rect, "", boxstyle);
|
||||
|
||||
pawn.DrawBreastIcon(BreastIconRect);
|
||||
|
||||
|
||||
pawn.DrawBreastIcon(BreastIconRect, Mouse.IsOver(BreastIconRect) && Input.GetMouseButton(0));
|
||||
|
||||
|
||||
GUI.color = Color.white;
|
||||
|
|
|
@ -228,7 +228,7 @@ namespace RJW_Menstruation
|
|||
}
|
||||
}
|
||||
|
||||
public static void DrawBreastIcon(this Pawn pawn, Rect rect)
|
||||
public static void DrawBreastIcon(this Pawn pawn, Rect rect , bool drawOrigin = false)
|
||||
{
|
||||
var hediff = Genital_Helper.get_PartsHediffList(pawn, Genital_Helper.get_breastsBPR(pawn)).FirstOrDefault((Hediff h) => h.def.defName.ToLower().Contains("breast"));
|
||||
Texture2D breast, nipple, areola;
|
||||
|
@ -259,9 +259,20 @@ namespace RJW_Menstruation
|
|||
else icon += "_Breast05";
|
||||
|
||||
string nippleicon, areolaicon;
|
||||
float nipplesize, areolasize;
|
||||
if (drawOrigin)
|
||||
{
|
||||
nipplesize = comp.OriginNipple;
|
||||
areolasize = comp.OriginAreola;
|
||||
}
|
||||
else
|
||||
{
|
||||
nipplesize = comp.NippleSize;
|
||||
areolasize = comp.AreolaSize;
|
||||
}
|
||||
|
||||
nippleicon = icon + "_Nipple0" + GetNippleIndex(comp.NippleSize);
|
||||
areolaicon = icon + "_Areola0" + GetAreolaIndex(comp.AreolaSize);
|
||||
nippleicon = icon + "_Nipple0" + GetNippleIndex(nipplesize);
|
||||
areolaicon = icon + "_Areola0" + GetAreolaIndex(areolasize);
|
||||
|
||||
|
||||
breast = ContentFinder<Texture2D>.Get(icon, false);
|
||||
|
@ -270,7 +281,14 @@ namespace RJW_Menstruation
|
|||
GUI.color = pawn.story.SkinColor;
|
||||
GUI.DrawTexture(rect, breast, ScaleMode.ScaleToFit);
|
||||
|
||||
GUI.color = comp.NippleColor;
|
||||
if (drawOrigin)
|
||||
{
|
||||
GUI.color = comp.OriginColor;
|
||||
}
|
||||
else
|
||||
{
|
||||
GUI.color = comp.NippleColor;
|
||||
}
|
||||
GUI.DrawTexture(rect, areola, ScaleMode.ScaleToFit);
|
||||
|
||||
GUI.DrawTexture(rect, nipple, ScaleMode.ScaleToFit);
|
||||
|
|
|
@ -20,6 +20,7 @@ namespace RJW_Menstruation
|
|||
public static readonly HediffDef Hediff_Menopause = DefDatabase<HediffDef>.GetNamed("Hediff_Menopause");
|
||||
public static readonly HediffDef Hediff_Estrus = DefDatabase<HediffDef>.GetNamed("Hediff_Estrus");
|
||||
public static readonly HediffDef Hediff_Estrus_Consealed = DefDatabase<HediffDef>.GetNamed("Hediff_Estrus_Consealed");
|
||||
public static readonly HediffDef Hediff_ASA = DefDatabase<HediffDef>.GetNamed("Hediff_ASA");
|
||||
public static readonly StatDef MaxAbsorbable = DefDatabase<StatDef>.GetNamed("MaxAbsorbable");
|
||||
public static readonly PawnRelationDef Relation_birthgiver = DefDatabase<PawnRelationDef>.AllDefs.FirstOrDefault(d => d.defName == "RJW_Sire");
|
||||
public static readonly PawnRelationDef Relation_spawn = DefDatabase<PawnRelationDef>.AllDefs.FirstOrDefault(d => d.defName == "RJW_Pup");
|
||||
|
|
|
@ -0,0 +1,64 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Verse;
|
||||
using RimWorld;
|
||||
using RJWSexperience;
|
||||
using RJW_Menstruation;
|
||||
using UnityEngine;
|
||||
|
||||
namespace RJW_Menstruation.Sexperience
|
||||
{
|
||||
public class GatheredCumMixture : ThingWithComps
|
||||
{
|
||||
public Color cumColor;
|
||||
public List<string> ingredients = new List<string>();
|
||||
|
||||
public override Color DrawColor => cumColor;
|
||||
|
||||
|
||||
public override void ExposeData()
|
||||
{
|
||||
base.ExposeData();
|
||||
Scribe_Values.Look(ref cumColor, "cumColor", Color.white, true);
|
||||
Scribe_Collections.Look(ref ingredients, "ingredients");
|
||||
}
|
||||
|
||||
public override bool TryAbsorbStack(Thing other, bool respectStackLimit)
|
||||
{
|
||||
float amount = stackCount;
|
||||
float count = ThingUtility.TryAbsorbStackNumToTake(this, other, respectStackLimit);
|
||||
bool res = base.TryAbsorbStack(other, respectStackLimit);
|
||||
if (res && other is GatheredCumMixture)
|
||||
{
|
||||
GatheredCumMixture othercum = (GatheredCumMixture)other;
|
||||
cumColor = Colors.CMYKLerp(cumColor,othercum.cumColor,count/(amount+count));
|
||||
if (!othercum.ingredients.NullOrEmpty()) for (int i=0; i<othercum.ingredients.Count; i++)
|
||||
{
|
||||
if (!ingredients.Contains(othercum.ingredients[i])) ingredients.Add(othercum.ingredients[i]);
|
||||
}
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
public override string GetInspectString()
|
||||
{
|
||||
string res = "";
|
||||
if (!ingredients.NullOrEmpty()) for(int i=0; i<ingredients.Count; i++)
|
||||
{
|
||||
res += ingredients[i];
|
||||
if (i != ingredients.Count - 1) res += ", ";
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
public void InitwithCum(CumMixture cum)
|
||||
{
|
||||
ingredients.AddRange(cum.Getingredients);
|
||||
cumColor = cum.color;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
61
1.3/source/RJW_Menstruation/SexperienceModule/JobDrivers.cs
Normal file
61
1.3/source/RJW_Menstruation/SexperienceModule/JobDrivers.cs
Normal file
|
@ -0,0 +1,61 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using HarmonyLib;
|
||||
using Verse;
|
||||
using Verse.AI;
|
||||
using RimWorld;
|
||||
using RJWSexperience;
|
||||
|
||||
namespace RJW_Menstruation.Sexperience
|
||||
{
|
||||
public class JobDriver_VaginaWashingWithBucket : JobDriver
|
||||
{
|
||||
const int excretingTime = 300;//ticks - 120 = 2 real seconds, 3 in-game minutes
|
||||
|
||||
protected Building_CumBucket Bucket => TargetB.Thing as Building_CumBucket;
|
||||
|
||||
public override bool TryMakePreToilReservations(bool errorOnFailed)
|
||||
{
|
||||
return pawn.Reserve(pawn, job, 1, -1, null, errorOnFailed);
|
||||
}
|
||||
|
||||
protected override IEnumerable<Toil> MakeNewToils()
|
||||
{
|
||||
|
||||
HediffComp_Menstruation Comp = pawn.GetMenstruationComp();
|
||||
this.FailOn(delegate
|
||||
{
|
||||
return !(Comp.TotalCumPercent > 0.001);
|
||||
});
|
||||
yield return Toils_Goto.GotoThing(TargetIndex.B, PathEndMode.ClosestTouch);
|
||||
Toil excreting = Toils_General.Wait(excretingTime, TargetIndex.None);//duration of
|
||||
|
||||
excreting.WithProgressBarToilDelay(TargetIndex.A);
|
||||
yield return excreting;
|
||||
yield return new Toil()
|
||||
{
|
||||
initAction = delegate ()
|
||||
{
|
||||
CumMixture mixture = Comp.MixtureOut(RJWSexperience.VariousDefOf.GatheredCum, 0.5f);
|
||||
float amount = mixture.Volume;
|
||||
if (mixture.ispurecum)
|
||||
{
|
||||
Bucket.AddCum(amount);
|
||||
}
|
||||
else
|
||||
{
|
||||
GatheredCumMixture cummixture = (GatheredCumMixture)ThingMaker.MakeThing(VariousDefOf.GatheredCumMixture);
|
||||
cummixture.InitwithCum(mixture);
|
||||
Bucket.AddCum(amount, cummixture);
|
||||
}
|
||||
if (Comp.TotalCumPercent > 0.001) JumpToToil(excreting);
|
||||
}
|
||||
};
|
||||
//yield return excreting;
|
||||
yield break;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using HarmonyLib;
|
||||
using System.Reflection;
|
||||
using Verse;
|
||||
|
||||
namespace RJW_Menstruation.Sexperience
|
||||
{
|
||||
[StaticConstructorOnStartup]
|
||||
internal static class First
|
||||
{
|
||||
static First()
|
||||
{
|
||||
var har = new Harmony("RJW_Menstruation.Sexperience");
|
||||
har.PatchAll(Assembly.GetExecutingAssembly());
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,50 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Verse;
|
||||
using Verse.AI;
|
||||
using RimWorld;
|
||||
using HarmonyLib;
|
||||
using UnityEngine;
|
||||
using RJWSexperience;
|
||||
|
||||
namespace RJW_Menstruation.Sexperience
|
||||
{
|
||||
[HarmonyPatch(typeof(FloatMenuMakerMap), "AddHumanlikeOrders")]
|
||||
public class HumanlikeOrder_Patch
|
||||
{
|
||||
public static void Postfix(Vector3 clickPos, Pawn pawn, List<FloatMenuOption> opts)
|
||||
{
|
||||
var targets = GenUI.TargetsAt(clickPos, TargetingParameters.ForBuilding());
|
||||
|
||||
foreach (LocalTargetInfo t in targets)
|
||||
{
|
||||
Building building = t.Thing as Building;
|
||||
if (building != null)
|
||||
{
|
||||
if (building is Building_CumBucket)
|
||||
{
|
||||
opts.AddDistinct(MakeMenu(pawn, building));
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
public static FloatMenuOption MakeMenu(Pawn pawn, LocalTargetInfo target)
|
||||
{
|
||||
FloatMenuOption option = FloatMenuUtility.DecoratePrioritizedTask(new FloatMenuOption(Translations.FloatMenu_CleanSelf, delegate ()
|
||||
{
|
||||
pawn.jobs.TryTakeOrderedJob(new Verse.AI.Job(VariousDefOf.VaginaWashingwithBucket, null, target, target.Cell));
|
||||
}, MenuOptionPriority.Low), pawn, target);
|
||||
|
||||
return option;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,36 @@
|
|||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// 어셈블리에 대한 일반 정보는 다음 특성 집합을 통해
|
||||
// 제어됩니다. 어셈블리와 관련된 정보를 수정하려면
|
||||
// 이러한 특성 값을 변경하세요.
|
||||
[assembly: AssemblyTitle("SexperienceModule")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("SexperienceModule")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2021")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// ComVisible을 false로 설정하면 이 어셈블리의 형식이 COM 구성 요소에
|
||||
// 표시되지 않습니다. COM에서 이 어셈블리의 형식에 액세스하려면
|
||||
// 해당 형식에 대해 ComVisible 특성을 true로 설정하세요.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// 이 프로젝트가 COM에 노출되는 경우 다음 GUID는 typelib의 ID를 나타냅니다.
|
||||
[assembly: Guid("7db664d7-d4b4-4673-9ff1-62ec18305715")]
|
||||
|
||||
// 어셈블리의 버전 정보는 다음 네 가지 값으로 구성됩니다.
|
||||
//
|
||||
// 주 버전
|
||||
// 부 버전
|
||||
// 빌드 번호
|
||||
// 수정 버전
|
||||
//
|
||||
// 모든 값을 지정하거나 아래와 같이 '*'를 사용하여 빌드 번호 및 수정 번호를
|
||||
// 기본값으로 할 수 있습니다.
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
|
@ -0,0 +1,112 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{7DB664D7-D4B4-4673-9FF1-62EC18305715}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>RJW_Menstruation.Sexperience</RootNamespace>
|
||||
<AssemblyName>SexperienceModule</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<Deterministic>true</Deterministic>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>..\..\..\SexperienceModule\Assemblies\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>..\..\..\SexperienceModule\Assemblies\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="0Harmony">
|
||||
<HintPath>D:\잉어\Lib\Harmony.2.0.4.0\net472\0Harmony.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>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="RJWSexperience">
|
||||
<HintPath>..\..\..\..\..\RJW_Sexperience\Assemblies\RJWSexperience.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="RJW_Menstruation">
|
||||
<HintPath>..\..\..\Assemblies\RJW_Menstruation.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Net.Http" />
|
||||
<Reference Include="System.Xml" />
|
||||
<Reference Include="UnityEngine">
|
||||
<HintPath>..\..\..\..\..\..\RimWorldWin64_Data\Managed\UnityEngine.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.CoreModule">
|
||||
<HintPath>..\..\..\..\..\..\RimWorldWin64_Data\Managed\UnityEngine.CoreModule.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.IMGUIModule">
|
||||
<HintPath>..\..\..\..\..\..\RimWorldWin64_Data\Managed\UnityEngine.IMGUIModule.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.InputLegacyModule">
|
||||
<HintPath>..\..\..\..\..\..\RimWorldWin64_Data\Managed\UnityEngine.InputLegacyModule.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.InputModule">
|
||||
<HintPath>..\..\..\..\..\..\RimWorldWin64_Data\Managed\UnityEngine.InputModule.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.TextCoreModule">
|
||||
<HintPath>..\..\..\..\..\..\RimWorldWin64_Data\Managed\UnityEngine.TextCoreModule.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.TextRenderingModule">
|
||||
<HintPath>..\..\..\..\..\..\RimWorldWin64_Data\Managed\UnityEngine.TextRenderingModule.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.UI">
|
||||
<HintPath>..\..\..\..\..\..\RimWorldWin64_Data\Managed\UnityEngine.UI.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.UIElementsModule">
|
||||
<HintPath>..\..\..\..\..\..\RimWorldWin64_Data\Managed\UnityEngine.UIElementsModule.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.UIModule">
|
||||
<HintPath>..\..\..\..\..\..\RimWorldWin64_Data\Managed\UnityEngine.UIModule.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="GatheredCumMixture.cs" />
|
||||
<Compile Include="JobDrivers.cs" />
|
||||
<Compile Include="Patch\Harmony.cs" />
|
||||
<Compile Include="Patch\Pawn_Patch.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="VariousDefOf.cs" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
|
@ -0,0 +1,17 @@
|
|||
using RimWorld;
|
||||
using rjw;
|
||||
using System.Linq;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Verse;
|
||||
|
||||
namespace RJW_Menstruation.Sexperience
|
||||
{
|
||||
public static class VariousDefOf
|
||||
{
|
||||
|
||||
public static readonly JobDef VaginaWashingwithBucket = DefDatabase<JobDef>.GetNamed("VaginaWashingwithBucket");
|
||||
public static readonly ThingDef GatheredCumMixture = DefDatabase<ThingDef>.GetNamed("GatheredCumMixture");
|
||||
|
||||
}
|
||||
}
|
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<Manifest>
|
||||
<identifier>RJW Menstruation</identifier>
|
||||
<version>1.0.5.2</version>
|
||||
<version>1.0.5.4</version>
|
||||
<dependencies>
|
||||
</dependencies>
|
||||
<incompatibleWith />
|
||||
|
|
|
@ -9,5 +9,6 @@
|
|||
<li>1.3</li>
|
||||
<li IfModActive="Abraxas.RJW.RaceSupport">1.3\RJW Menstruation Race Support</li>
|
||||
<li IfModActive="rjw.milk.humanoid">1.3\MilkModule</li>
|
||||
<li IfModActive="rjw.sexperience">1.3\SexperienceModule</li>
|
||||
</v1.3>
|
||||
</loadFolders>
|
|
@ -1,3 +1,15 @@
|
|||
Version 1.0.5.4
|
||||
- lactating cause nipple morph
|
||||
- clicking breast image will show nipple's origin state(before & after)
|
||||
- fixed animal pregnancy error
|
||||
- added cum effects
|
||||
- use IngestionOutcomeDoer
|
||||
- might you can make aphrodisiac cum with this
|
||||
- added antisperm antibody
|
||||
- added cyclosporine which cures antisperm antibody
|
||||
- sexperience integrations
|
||||
- added ability to gather cums in womb using cumbucket
|
||||
|
||||
Version 1.0.5.3
|
||||
- now impregnate on every orgasm
|
||||
- added egg lifespan setting
|
||||
|
|
Loading…
Reference in a new issue