mirror of
https://gitgud.io/lutepickle/rjw_menstruation.git
synced 2024-08-14 22:46:52 +00:00
1.0.1.2
This commit is contained in:
parent
bf20fc3ceb
commit
6e31ac190b
19 changed files with 200 additions and 48 deletions
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<Manifest>
|
||||
<identifier>RJW Menstruation</identifier>
|
||||
<version>1.0.1.1</version>
|
||||
<version>1.0.1.2</version>
|
||||
<dependencies>
|
||||
</dependencies>
|
||||
<incompatibleWith />
|
||||
|
|
Binary file not shown.
|
@ -21,7 +21,7 @@
|
|||
<li>
|
||||
<label>unpleasant</label>
|
||||
<statFactors>
|
||||
<SexFrequency>0.90</SexFrequency>
|
||||
<SexFrequency>0.50</SexFrequency>
|
||||
<SexSatisfaction>0.95</SexSatisfaction>
|
||||
</statFactors>
|
||||
<painOffset>0.05</painOffset>
|
||||
|
@ -30,8 +30,8 @@
|
|||
<minSeverity>0.2</minSeverity>
|
||||
<label>annoy</label>
|
||||
<statFactors>
|
||||
<SexFrequency>0.70</SexFrequency>
|
||||
<SexSatisfaction>0.90</SexSatisfaction>
|
||||
<SexFrequency>0.40</SexFrequency>
|
||||
<SexSatisfaction>0.95</SexSatisfaction>
|
||||
</statFactors>
|
||||
<painOffset>0.1</painOffset>
|
||||
</li>
|
||||
|
@ -39,8 +39,8 @@
|
|||
<minSeverity>0.4</minSeverity>
|
||||
<label>ache</label>
|
||||
<statFactors>
|
||||
<SexFrequency>0.50</SexFrequency>
|
||||
<SexSatisfaction>0.70</SexSatisfaction>
|
||||
<SexFrequency>0.20</SexFrequency>
|
||||
<SexSatisfaction>0.95</SexSatisfaction>
|
||||
</statFactors>
|
||||
<painOffset>0.2</painOffset>
|
||||
</li>
|
||||
|
@ -49,7 +49,7 @@
|
|||
<label>painful</label>
|
||||
<statFactors>
|
||||
<SexFrequency>0.0</SexFrequency>
|
||||
<SexSatisfaction>0.50</SexSatisfaction>
|
||||
<SexSatisfaction>0.95</SexSatisfaction>
|
||||
</statFactors>
|
||||
<painOffset>0.4</painOffset>
|
||||
</li>
|
||||
|
@ -81,8 +81,8 @@
|
|||
<stages>
|
||||
<li>
|
||||
<statFactors>
|
||||
<SexFrequency>0.20</SexFrequency>
|
||||
<SexSatisfaction>0.25</SexSatisfaction>
|
||||
<SexFrequency>0.01</SexFrequency>
|
||||
<SexSatisfaction>0.50</SexSatisfaction>
|
||||
</statFactors>
|
||||
<capMods>
|
||||
<li>
|
||||
|
@ -117,7 +117,7 @@
|
|||
<li>
|
||||
<label>early</label>
|
||||
<statFactors>
|
||||
<SexFrequency>0.75</SexFrequency>
|
||||
<SexFrequency>0.50</SexFrequency>
|
||||
<SexSatisfaction>0.8</SexSatisfaction>
|
||||
</statFactors>
|
||||
<capMods>
|
||||
|
@ -131,8 +131,8 @@
|
|||
<label>middle</label>
|
||||
<minSeverity>0.2</minSeverity>
|
||||
<statFactors>
|
||||
<SexFrequency>0.50</SexFrequency>
|
||||
<SexSatisfaction>0.6</SexSatisfaction>
|
||||
<SexFrequency>0.25</SexFrequency>
|
||||
<SexSatisfaction>0.7</SexSatisfaction>
|
||||
</statFactors>
|
||||
<capMods>
|
||||
<li>
|
||||
|
@ -145,8 +145,8 @@
|
|||
<label>latter</label>
|
||||
<minSeverity>0.4</minSeverity>
|
||||
<statFactors>
|
||||
<SexFrequency>0.40</SexFrequency>
|
||||
<SexSatisfaction>0.4</SexSatisfaction>
|
||||
<SexFrequency>0.10</SexFrequency>
|
||||
<SexSatisfaction>0.6</SexSatisfaction>
|
||||
</statFactors>
|
||||
<capMods>
|
||||
<li>
|
||||
|
@ -159,8 +159,8 @@
|
|||
<label>end</label>
|
||||
<minSeverity>0.6</minSeverity>
|
||||
<statFactors>
|
||||
<SexFrequency>0.25</SexFrequency>
|
||||
<SexSatisfaction>0.25</SexSatisfaction>
|
||||
<SexFrequency>0.05</SexFrequency>
|
||||
<SexSatisfaction>0.5</SexSatisfaction>
|
||||
</statFactors>
|
||||
<capMods>
|
||||
<li>
|
||||
|
|
10
Defs/JobDefs/Jobs_CleanSelf.xml
Normal file
10
Defs/JobDefs/Jobs_CleanSelf.xml
Normal file
|
@ -0,0 +1,10 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
|
||||
<Defs>
|
||||
<JobDef Name="VaginaWashing">
|
||||
<defName>VaginaWashing</defName>
|
||||
<driverClass>RJW_Menstruation.JobDriver_VaginaWashing</driverClass>
|
||||
<reportString>wasing vagina</reportString>
|
||||
<casualInterruptible>true</casualInterruptible>
|
||||
</JobDef>
|
||||
</Defs>
|
|
@ -74,7 +74,7 @@
|
|||
<description>An wet used tampon</description>
|
||||
<thingClass>RJW_Menstruation.Absorber_Tampon</thingClass>
|
||||
<graphicData>
|
||||
<texPath>Things/Item/Tampon_Dirty</texPath>
|
||||
<texPath>Things/Item/Tampon</texPath>
|
||||
<graphicClass>Graphic_Single</graphicClass>
|
||||
</graphicData>
|
||||
<tickerType>Never</tickerType>
|
||||
|
@ -133,7 +133,7 @@
|
|||
<tickerType>Never</tickerType>
|
||||
<smeltable>false</smeltable>
|
||||
<statBases>
|
||||
<MaxHitPoints>20</MaxHitPoints>
|
||||
<MaxHitPoints>40</MaxHitPoints>
|
||||
<Mass>0.02</Mass>
|
||||
<WorkToMake>1000</WorkToMake>
|
||||
<Flammability>1.0</Flammability>
|
||||
|
@ -192,13 +192,13 @@
|
|||
<description>An wet used pad</description>
|
||||
<thingClass>RJW_Menstruation.Absorber</thingClass>
|
||||
<graphicData>
|
||||
<texPath>Things/Item/Pad_Dirty</texPath>
|
||||
<texPath>Things/Item/Pad</texPath>
|
||||
<graphicClass>Graphic_Single</graphicClass>
|
||||
</graphicData>
|
||||
<tickerType>Never</tickerType>
|
||||
<smeltable>false</smeltable>
|
||||
<statBases>
|
||||
<MaxHitPoints>20</MaxHitPoints>
|
||||
<MaxHitPoints>40</MaxHitPoints>
|
||||
<Mass>0.10</Mass>
|
||||
<MarketValue>0</MarketValue>
|
||||
<WorkToMake>1000</WorkToMake>
|
||||
|
|
|
@ -61,4 +61,6 @@
|
|||
<Option17_Label>max enzygotic twins</Option17_Label>
|
||||
<Option17_Desc>set max number of twins</Option17_Desc>
|
||||
|
||||
<FloatMenu_CleanSelf>Vaginal washing</FloatMenu_CleanSelf>
|
||||
|
||||
</LanguageData>
|
7
Languages/Korean/DefInjected/JobDef/RJWMenstruation.xml
Normal file
7
Languages/Korean/DefInjected/JobDef/RJWMenstruation.xml
Normal file
|
@ -0,0 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LanguageData>
|
||||
<VaginaWashing.reportString>질세척 하는중</VaginaWashing.reportString>
|
||||
|
||||
|
||||
|
||||
</LanguageData>
|
|
@ -61,5 +61,6 @@
|
|||
<Option17_Label>최대 일란성 쌍둥이 수</Option17_Label>
|
||||
<Option17_Desc>일란성 쌍둥이의 수를 제한합니다.</Option17_Desc>
|
||||
|
||||
<FloatMenu_CleanSelf>질세척</FloatMenu_CleanSelf>
|
||||
|
||||
</LanguageData>
|
Binary file not shown.
Before Width: | Height: | Size: 7.8 KiB |
Binary file not shown.
Before Width: | Height: | Size: 3.8 KiB |
|
@ -1,9 +1,15 @@
|
|||
Version 1.0.1.2
|
||||
- reduced sex satisfaction debuffs
|
||||
- if pawn is climacteric or menopause sex need recover to 50%.
|
||||
- added vaginal washing
|
||||
- fixed bugs absorber does not work properly
|
||||
- used absorbers are colored fluid's color
|
||||
Version 1.0.1.1
|
||||
- requires RJW 4.6.1 or later
|
||||
- added superovulation inducing agent
|
||||
- cumflations (no effects yet)
|
||||
- added tampon and sanitary pad can absorb fluids.
|
||||
- tampon blocks fluids completly. however, keep wearing dirty tampon can cause infection.
|
||||
- tampon blocks fluids completely. however, keep wearing dirty tampon can cause infection.
|
||||
- pad blocks fluids for a while, but if exceed over the absorbable, fluids leak again.
|
||||
- fixed erros when male pawn take hyperfertility pills.
|
||||
|
||||
|
|
|
@ -89,6 +89,8 @@ namespace RJW_Menstruation
|
|||
private int bleedingIntervalhours = -1;
|
||||
private int recoveryIntervalhours = -1;
|
||||
private float crampPain= -1;
|
||||
private Need sexNeed = null;
|
||||
private string customwombtex = null;
|
||||
|
||||
public float TotalCum
|
||||
{
|
||||
|
@ -236,6 +238,19 @@ namespace RJW_Menstruation
|
|||
|
||||
}
|
||||
|
||||
public string wombTex
|
||||
{
|
||||
get
|
||||
{
|
||||
if (customwombtex == null) return Props.wombTex;
|
||||
else return customwombtex;
|
||||
}
|
||||
set
|
||||
{
|
||||
customwombtex = value;
|
||||
}
|
||||
}
|
||||
|
||||
public string GetFertilizingInfo
|
||||
{
|
||||
get
|
||||
|
@ -555,7 +570,7 @@ namespace RJW_Menstruation
|
|||
/// <param name="targetcum"></param>
|
||||
/// <param name="portion"></param>
|
||||
/// <returns></returns>
|
||||
public float CumOutForce(Cum targetcum, float portion = 0.1f)
|
||||
public float CumOutForce(Cum targetcum = null, float portion = 0.1f)
|
||||
{
|
||||
if (cums.NullOrEmpty()) return 0;
|
||||
float outcum = 0;
|
||||
|
@ -674,6 +689,19 @@ namespace RJW_Menstruation
|
|||
loaded = true;
|
||||
}
|
||||
|
||||
public void AfterSimulator()
|
||||
{
|
||||
if (ovarypower < ovarypowerthreshold)
|
||||
{
|
||||
if (sexNeed == null) sexNeed = parent.pawn.needs.TryGetNeed(VariousDefOf.SexNeed);
|
||||
else
|
||||
{
|
||||
if (sexNeed.CurLevel < 0.5) sexNeed.CurLevel += 0.02f;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
private Pawn Fertilize()
|
||||
{
|
||||
|
@ -765,7 +793,7 @@ namespace RJW_Menstruation
|
|||
private void BleedOut()
|
||||
{
|
||||
//FilthMaker.TryMakeFilth(parent.pawn.Position, parent.pawn.Map, ThingDefOf.Filth_Blood,parent.pawn.Label);
|
||||
CumIn(parent.pawn, Rand.Range(0f, 5f), Translations.Menstrual_Blood,-5.0f,ThingDefOf.Filth_Blood);
|
||||
CumIn(parent.pawn, Rand.Range(1f, 2f), Translations.Menstrual_Blood,-5.0f,ThingDefOf.Filth_Blood);
|
||||
GetNotCum(Translations.Menstrual_Blood).color = Colors.blood;
|
||||
}
|
||||
|
||||
|
@ -777,9 +805,11 @@ namespace RJW_Menstruation
|
|||
if (!absorber.dirty)
|
||||
{
|
||||
absorber.absorbedfluids += amount;
|
||||
if (absorber.absorbedfluids < 10)
|
||||
if (absorber.absorbedfluids > absorber.GetStatValue(VariousDefOf.MaxAbsorbable))
|
||||
{
|
||||
absorber.def = absorber.DirtyDef;
|
||||
//absorber.fluidColor = GetCumMixtureColor;
|
||||
absorber.SetColor(GetCumMixtureColor);
|
||||
absorber.dirty = true;
|
||||
}
|
||||
}
|
||||
|
@ -814,7 +844,7 @@ namespace RJW_Menstruation
|
|||
}
|
||||
|
||||
|
||||
private Action PeriodSimulator(Enum targetstage)
|
||||
private Action PeriodSimulator(Stage targetstage)
|
||||
{
|
||||
Action action = null;
|
||||
switch (targetstage)
|
||||
|
@ -930,22 +960,24 @@ namespace RJW_Menstruation
|
|||
case Stage.Fertilized: //Obsoleted stage. merged in luteal stage
|
||||
action = delegate
|
||||
{
|
||||
if (curStageHrs >= 24)
|
||||
{
|
||||
if (Implant())
|
||||
{
|
||||
GoNextStage(Stage.Pregnant);
|
||||
}
|
||||
else
|
||||
{
|
||||
GoNextStageSetHour(Stage.Luteal, 96);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
curStageHrs+=Configurations.CycleAcceleration;
|
||||
StayCurrentStage();
|
||||
}
|
||||
ModLog.Message("Obsoleted stage. skipping...");
|
||||
GoNextStage(Stage.Luteal);
|
||||
//if (curStageHrs >= 24)
|
||||
//{
|
||||
// if (Implant())
|
||||
// {
|
||||
// GoNextStage(Stage.Pregnant);
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// GoNextStageSetHour(Stage.Luteal, 96);
|
||||
// }
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
// curStageHrs+=Configurations.CycleAcceleration;
|
||||
// StayCurrentStage();
|
||||
//}
|
||||
};
|
||||
break;
|
||||
case Stage.Pregnant:
|
||||
|
@ -1095,6 +1127,7 @@ namespace RJW_Menstruation
|
|||
{
|
||||
if (parent.pawn.health.capacities.GetLevel(xxx.reproduction) <= 0) curStage = Stage.Young;
|
||||
CumOut();
|
||||
AfterSimulator();
|
||||
};
|
||||
|
||||
actionref = action;
|
||||
|
@ -1107,6 +1140,7 @@ namespace RJW_Menstruation
|
|||
HugsLibController.Instance.TickDelayScheduler.ScheduleCallback(PeriodSimulator(nextstage), (int)(tickInterval * factor), parent.pawn, false);
|
||||
}
|
||||
|
||||
|
||||
void GoNextStageSetHour(Stage nextstage, int hour, float factor = 1.0f)
|
||||
{
|
||||
curStageHrs = hour;
|
||||
|
|
45
source/RJW_Menstruation/RJW_Menstruation/JobDrivers.cs
Normal file
45
source/RJW_Menstruation/RJW_Menstruation/JobDrivers.cs
Normal file
|
@ -0,0 +1,45 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using RimWorld;
|
||||
using Verse;
|
||||
using Verse.AI;
|
||||
|
||||
namespace RJW_Menstruation
|
||||
{
|
||||
public class JobDriver_VaginaWashing : JobDriver
|
||||
{
|
||||
const int excretingTime = 300;//ticks - 120 = 2 real seconds, 3 in-game minutes
|
||||
|
||||
public override bool TryMakePreToilReservations(bool errorOnFailed)
|
||||
{
|
||||
return pawn.Reserve(pawn, job, 1, -1, null, errorOnFailed);
|
||||
}
|
||||
|
||||
protected override IEnumerable<Toil> MakeNewToils()
|
||||
{
|
||||
|
||||
HediffComp_Menstruation Comp = Utility.GetMenstruationComp(pawn);
|
||||
this.FailOn(delegate
|
||||
{
|
||||
return !(Comp.TotalCumPercent > 0.01);
|
||||
});
|
||||
Toil excreting = Toils_General.Wait(excretingTime, TargetIndex.None);//duration of
|
||||
|
||||
excreting.WithProgressBarToilDelay(TargetIndex.A);
|
||||
yield return excreting;
|
||||
yield return new Toil()
|
||||
{
|
||||
initAction = delegate ()
|
||||
{
|
||||
Comp.CumOutForce(null, 0.5f);
|
||||
if (Comp.TotalCumPercent > 0.01) this.JumpToToil(excreting);
|
||||
}
|
||||
};
|
||||
//yield return excreting;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
|
@ -3,11 +3,12 @@ using System.Collections.Generic;
|
|||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using UnityEngine;
|
||||
using RimWorld;
|
||||
using Verse;
|
||||
using HarmonyLib;
|
||||
using HugsLib;
|
||||
|
||||
using rjw;
|
||||
|
||||
namespace RJW_Menstruation
|
||||
{
|
||||
|
@ -25,8 +26,47 @@ namespace RJW_Menstruation
|
|||
comp.Initialize();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[HarmonyPatch(typeof(FloatMenuMakerMap), "AddHumanlikeOrders")]
|
||||
public class HumanlikeOrder_Patch
|
||||
{
|
||||
public static void Postfix(Vector3 clickPos, Pawn pawn, List<FloatMenuOption> opts)
|
||||
{
|
||||
var selftargets = GenUI.TargetsAt_NewTemp(clickPos, TargetingParameters.ForSelf(pawn));
|
||||
|
||||
foreach (LocalTargetInfo t in selftargets)
|
||||
{
|
||||
opts.AddDistinct(MakeSelfMenu(pawn, t));
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
public static FloatMenuOption MakeSelfMenu(Pawn pawn, LocalTargetInfo target)
|
||||
{
|
||||
FloatMenuOption option = null;
|
||||
if (Utility.HasMenstruationComp(pawn))
|
||||
{
|
||||
option = FloatMenuUtility.DecoratePrioritizedTask(new FloatMenuOption(Translations.FloatMenu_CleanSelf, delegate ()
|
||||
{
|
||||
pawn.jobs.TryTakeOrderedJob_NewTemp(new Verse.AI.Job(VariousDefOf.VaginaWashing, null, null, target.Cell));
|
||||
}, MenuOptionPriority.Low), pawn, target);
|
||||
}
|
||||
|
||||
|
||||
return option;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -61,6 +61,7 @@
|
|||
<Compile Include="DNADef.cs" />
|
||||
<Compile Include="DrugOutcomDoers.cs" />
|
||||
<Compile Include="Hediff_MultiplePregnancy.cs" />
|
||||
<Compile Include="JobDrivers.cs" />
|
||||
<Compile Include="Patch\GetGizmos.cs" />
|
||||
<Compile Include="Gizmo_Womb.cs" />
|
||||
<Compile Include="Patch\Harmony.cs" />
|
||||
|
|
|
@ -6,6 +6,7 @@ using System.Threading.Tasks;
|
|||
using RimWorld;
|
||||
using Verse;
|
||||
using rjw;
|
||||
using UnityEngine;
|
||||
|
||||
namespace RJW_Menstruation
|
||||
{
|
||||
|
@ -29,7 +30,9 @@ namespace RJW_Menstruation
|
|||
public virtual ThingDef DirtyDef => def.GetModExtension<AbsorberModExtention>().dirtyDef;
|
||||
public virtual int MinHrstoDirtyEffect => def.GetModExtension<AbsorberModExtention>().minHourstoDirtyEffect;
|
||||
|
||||
public Color fluidColor = Color.white;
|
||||
|
||||
|
||||
|
||||
public virtual void DirtyEffect() {}
|
||||
|
||||
|
@ -38,12 +41,15 @@ namespace RJW_Menstruation
|
|||
wearhours++;
|
||||
}
|
||||
|
||||
public override Color DrawColorTwo => fluidColor;
|
||||
|
||||
public override void ExposeData()
|
||||
{
|
||||
base.ExposeData();
|
||||
Scribe_Values.Look(ref absorbedfluids, "absorbedfluids", absorbedfluids, true);
|
||||
Scribe_Values.Look(ref dirty, "dirty", dirty, true);
|
||||
Scribe_Values.Look(ref wearhours, "wearhours", wearhours, true);
|
||||
Scribe_Values.Look(ref fluidColor, "fluidColor", fluidColor, true);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -67,7 +67,7 @@ namespace RJW_Menstruation
|
|||
public static readonly string Option17_Label = "Option17_Label".Translate();
|
||||
public static readonly string Option17_Desc = "Option17_Desc".Translate();
|
||||
|
||||
|
||||
public static readonly string FloatMenu_CleanSelf = "FloatMenu_CleanSelf".Translate();
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -122,7 +122,7 @@ namespace RJW_Menstruation
|
|||
{
|
||||
Hediff_BasePregnancy h = (Hediff_BasePregnancy)hediff;
|
||||
string fetustex = DefDatabase<DNADef>.GetNamedSilentFail(h.babies.First().def.defName)?.fetusTexPath ?? "Fetus/Fetus_Default";
|
||||
if (h.GestationProgress < 0.2f) icon = comp.Props.wombTex + "_Implanted";
|
||||
if (h.GestationProgress < 0.2f) icon = comp.wombTex + "_Implanted";
|
||||
else if (h.GestationProgress < 0.3f) icon += "Fetus/Fetus_Early00";
|
||||
else if (h.GestationProgress < 0.4f) icon += fetustex + "00";
|
||||
else if (h.GestationProgress < 0.5f) icon += fetustex + "01";
|
||||
|
@ -137,7 +137,7 @@ namespace RJW_Menstruation
|
|||
|
||||
public static Texture2D GetCumIcon(HediffComp_Menstruation comp)
|
||||
{
|
||||
string icon = comp.Props.wombTex;
|
||||
string icon = comp.wombTex;
|
||||
float cumpercent = comp.TotalCumPercent;
|
||||
if (cumpercent < 0.001f) icon = "Womb/Empty";
|
||||
else if (cumpercent < 0.01f) icon += "_Cum_00";
|
||||
|
@ -164,7 +164,7 @@ namespace RJW_Menstruation
|
|||
|
||||
public static Texture2D GetWombIcon(HediffComp_Menstruation comp)
|
||||
{
|
||||
string icon = comp.Props.wombTex;
|
||||
string icon = comp.wombTex;
|
||||
HediffComp_Menstruation.Stage stage = comp.curStage;
|
||||
if (stage == HediffComp_Menstruation.Stage.Bleeding) icon += "_Bleeding";
|
||||
|
||||
|
|
|
@ -29,8 +29,8 @@ namespace RJW_Menstruation
|
|||
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");
|
||||
|
||||
|
||||
public static readonly NeedDef SexNeed = DefDatabase<NeedDef>.GetNamed("Sex");
|
||||
public static readonly JobDef VaginaWashing = DefDatabase<JobDef>.GetNamed("VaginaWashing");
|
||||
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue