Support for RJW-CUM

This commit is contained in:
amevarashi 2022-07-23 15:41:57 +05:00
parent 8682b21e58
commit b1e6f05a23
5 changed files with 38 additions and 37 deletions

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" ?> <?xml version="1.0" encoding="utf-8" ?>
<Defs> <Defs>
<JobDef> <JobDef MayRequire="rjw.cum">
<defName>CleanSelfwithBucket</defName> <defName>CleanSelfwithBucket</defName>
<driverClass>RJWSexperience.JobDriver_CleanSelfWithBucket</driverClass> <driverClass>RJWSexperience.JobDriver_CleanSelfWithBucket</driverClass>
<reportString>collecting cum</reportString> <reportString>collecting cum</reportString>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?> <?xml version="1.0" encoding="utf-8" ?>
<Defs> <Defs>
<WorkGiverDef> <WorkGiverDef MayRequire="rjw.cum">
<defName>CleanSelfwithBucket</defName> <defName>CleanSelfwithBucket</defName>
<label>collect cum into a bucket</label> <label>collect cum into a bucket</label>
<giverClass>RJWSexperience.Cum.WorkGiver_CleanSelfWithBucket</giverClass> <giverClass>RJWSexperience.Cum.WorkGiver_CleanSelfWithBucket</giverClass>
@ -8,7 +8,7 @@
<verb>collect cum into a</verb> <verb>collect cum into a</verb>
<gerund>collecting cum into a</gerund> <gerund>collecting cum into a</gerund>
<scanCells>false</scanCells> <scanCells>false</scanCells>
<priorityInType>12</priorityInType><!-- slightly higher than RJW CleanSelf--> <priorityInType>12</priorityInType>
<nonColonistsCanDo>true</nonColonistsCanDo> <nonColonistsCanDo>true</nonColonistsCanDo>
<requiredCapacities> <requiredCapacities>
<li>Manipulation</li> <li>Manipulation</li>

View File

@ -1,5 +1,4 @@
using RimWorld; using RimWorld;
using rjw;
using System.Collections.Generic; using System.Collections.Generic;
using Verse; using Verse;
using Verse.AI; using Verse.AI;
@ -32,7 +31,7 @@ namespace RJWSexperience // Used in Menstruation with this namespace
this.FailOn(delegate this.FailOn(delegate
{ {
List<Hediff> hediffs = pawn.health.hediffSet.hediffs; List<Hediff> hediffs = pawn.health.hediffSet.hediffs;
return !hediffs.Exists(x => x.def == RJW_SemenoOverlayHediffDefOf.Hediff_Bukkake); return !hediffs.Exists(x => x.def == VariousDefOf.Hediff_CumController);
}); });
yield return Toils_Goto.GotoThing(TargetIndex.B, PathEndMode.ClosestTouch); yield return Toils_Goto.GotoThing(TargetIndex.B, PathEndMode.ClosestTouch);
Toil cleaning = new Toil Toil cleaning = new Toil
@ -49,7 +48,7 @@ namespace RJWSexperience // Used in Menstruation with this namespace
protected void CleaningInit() protected void CleaningInit()
{ {
hediffcache = pawn.health.hediffSet.hediffs.Find(x => x.def == RJW_SemenoOverlayHediffDefOf.Hediff_Semen || x.def == RJW_SemenoOverlayHediffDefOf.Hediff_InsectSpunk); hediffcache = pawn.health.hediffSet.hediffs.Find(x => x.def == VariousDefOf.Hediff_Cum || x.def == VariousDefOf.Hediff_InsectSpunk);
if (hediffcache == null) if (hediffcache == null)
{ {
pawn.jobs.EndCurrentJob(JobCondition.Succeeded); pawn.jobs.EndCurrentJob(JobCondition.Succeeded);

View File

@ -1,8 +1,4 @@
using RimWorld; using RimWorld;
using rjw;
using System;
using System.Collections.Generic;
using System.Linq;
using Verse; using Verse;
using Verse.AI; using Verse.AI;
@ -14,7 +10,7 @@ namespace RJWSexperience.Cum
public override PathEndMode PathEndMode => PathEndMode.ClosestTouch; public override PathEndMode PathEndMode => PathEndMode.ClosestTouch;
public override bool ShouldSkip(Pawn pawn, bool forced = false) public override bool ShouldSkip(Pawn pawn, bool forced = false)
{ {
return !pawn.health.hediffSet.HasHediff(RJW_SemenoOverlayHediffDefOf.Hediff_Bukkake); return VariousDefOf.Hediff_CumController == null || !pawn.health.hediffSet.HasHediff(VariousDefOf.Hediff_CumController);
} }
public override bool HasJobOnThing(Pawn pawn, Thing t, bool forced = false) public override bool HasJobOnThing(Pawn pawn, Thing t, bool forced = false)

View File

@ -3,33 +3,39 @@ using Verse;
namespace RJWSexperience namespace RJWSexperience
{ {
[DefOf]
public static class VariousDefOf public static class VariousDefOf
{ {
public static readonly RecordDef NumofEatenCum = DefDatabase<RecordDef>.GetNamed("NumofEatenCum"); public static readonly RecordDef NumofEatenCum;
public static readonly RecordDef AmountofEatenCum = DefDatabase<RecordDef>.GetNamed("AmountofEatenCum"); public static readonly RecordDef AmountofEatenCum;
public static readonly RecordDef Lust = DefDatabase<RecordDef>.GetNamed("Lust"); public static readonly RecordDef Lust;
public static readonly RecordDef VaginalSexCount = DefDatabase<RecordDef>.GetNamed("VaginalSexCount"); public static readonly RecordDef VaginalSexCount;
public static readonly RecordDef AnalSexCount = DefDatabase<RecordDef>.GetNamed("AnalSexCount"); public static readonly RecordDef AnalSexCount;
public static readonly RecordDef OralSexCount = DefDatabase<RecordDef>.GetNamed("OralSexCount"); public static readonly RecordDef OralSexCount;
public static readonly RecordDef BlowjobCount = DefDatabase<RecordDef>.GetNamed("BlowjobCount"); public static readonly RecordDef BlowjobCount;
public static readonly RecordDef CunnilingusCount = DefDatabase<RecordDef>.GetNamed("CunnilingusCount"); public static readonly RecordDef CunnilingusCount;
public static readonly RecordDef GenitalCaressCount = DefDatabase<RecordDef>.GetNamed("GenitalCaressCount"); public static readonly RecordDef GenitalCaressCount;
public static readonly RecordDef HandjobCount = DefDatabase<RecordDef>.GetNamed("HandjobCount"); public static readonly RecordDef HandjobCount;
public static readonly RecordDef FingeringCount = DefDatabase<RecordDef>.GetNamed("FingeringCount"); public static readonly RecordDef FingeringCount;
public static readonly RecordDef FootjobCount = DefDatabase<RecordDef>.GetNamed("FootjobCount"); public static readonly RecordDef FootjobCount;
public static readonly RecordDef MiscSexualBehaviorCount = DefDatabase<RecordDef>.GetNamed("MiscSexualBehaviorCount"); public static readonly RecordDef MiscSexualBehaviorCount;
public static readonly RecordDef SexPartnerCount = DefDatabase<RecordDef>.GetNamed("SexPartnerCount"); public static readonly RecordDef SexPartnerCount;
public static readonly RecordDef OrgasmCount = DefDatabase<RecordDef>.GetNamed("OrgasmCount"); public static readonly RecordDef OrgasmCount;
public static readonly SkillDef SexSkill = DefDatabase<SkillDef>.GetNamed("Sex"); public static readonly SkillDef Sex;
public static readonly ThingDef CumBucket = DefDatabase<ThingDef>.GetNamed("CumBucket"); public static readonly ThingDef CumBucket;
public static readonly ThingDef GatheredCum = DefDatabase<ThingDef>.GetNamed("GatheredCum"); public static readonly ThingDef GatheredCum;
public static readonly ThingDef FilthCum = ThingDef.Named("FilthCum"); public static readonly ThingDef FilthCum;
public static readonly HediffDef CumAddiction = DefDatabase<HediffDef>.GetNamed("CumAddiction"); public static readonly ChemicalDef Cum;
public static readonly HediffDef CumTolerance = DefDatabase<HediffDef>.GetNamed("CumTolerance"); public static readonly NeedDef Chemical_Cum;
public static readonly ChemicalDef Cum = DefDatabase<ChemicalDef>.GetNamed("Cum"); public static readonly TraitDef Virgin;
public static readonly NeedDef Chemical_Cum = DefDatabase<NeedDef>.GetNamed("Chemical_Cum"); public static readonly JobDef CleanSelfwithBucket;
public static readonly TraitDef Virgin = DefDatabase<TraitDef>.GetNamed("Virgin"); public static readonly KeyBindingDef OpenSexStatistics;
public static readonly JobDef CleanSelfwithBucket = DefDatabase<JobDef>.GetNamed("CleanSelfwithBucket"); public static readonly StatDef SexAbility;
public static readonly KeyBindingDef OpenSexStatistics = DefDatabase<KeyBindingDef>.GetNamed("OpenSexStatistics");
public static readonly HediffDef CumAddiction;
public static readonly HediffDef CumTolerance;
[MayRequire("rjw.cum")] public static readonly HediffDef Hediff_CumController;
[MayRequire("rjw.cum")] public static readonly HediffDef Hediff_Cum; //for humans & animals
[MayRequire("rjw.cum")] public static readonly HediffDef Hediff_InsectSpunk;
} }
} }