mirror of
https://github.com/amevarashi/RJW-Sexperience.git
synced 2024-08-14 23:54:08 +00:00
Separate RJW Cum integration, add Vanilla Skills Expanded integration
This commit is contained in:
parent
d69b01c150
commit
0a412a0060
16 changed files with 238 additions and 39 deletions
|
@ -36,6 +36,7 @@ This is a submod for RJW that adds:
|
|||
Credits:
|
||||
moreorganstodump Original Author
|
||||
c0ffee RJW 4.9.0 update
|
||||
Vegapnk Cum-Per-Penis, Multifilling Cumbuckets, Sex fills Cumbucket]]>
|
||||
Vegapnk Cum-Per-Penis, Multifilling Cumbuckets, Sex fills Cumbucket
|
||||
Rain Vanilla Skils Expanded integration]]>
|
||||
</description>
|
||||
</ModMetaData>
|
|
@ -2,6 +2,7 @@
|
|||
<loadFolders>
|
||||
<v1.3>
|
||||
<li>/</li>
|
||||
<li IfModActive="Ludeon.RimWorld.Ideology">RJWSexperience_Ideology</li>
|
||||
<li IfModActive="vanillaexpanded.skills">Mod Compatibility/Vanilla Skills Expanded</li>
|
||||
<li IfModActive="rjw.cum">Mod Compatibility/RJW Cum</li>
|
||||
</v1.3>
|
||||
</loadFolders>
|
|
@ -1,9 +1,9 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
|
||||
<Defs>
|
||||
<JobDef MayRequire="rjw.cum">
|
||||
<JobDef>
|
||||
<defName>CleanSelfwithBucket</defName>
|
||||
<driverClass>RJWSexperience.JobDriver_CleanSelfWithBucket</driverClass>
|
||||
<driverClass>RJWSexperienceCum.JobDriver_CleanSelfWithBucket</driverClass>
|
||||
<reportString>collecting cum</reportString>
|
||||
<casualInterruptible>true</casualInterruptible>
|
||||
</JobDef>
|
|
@ -1,9 +1,9 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<Defs>
|
||||
<WorkGiverDef MayRequire="rjw.cum">
|
||||
<WorkGiverDef>
|
||||
<defName>CleanSelfwithBucket</defName>
|
||||
<label>collect cum into a bucket</label>
|
||||
<giverClass>RJWSexperience.Cum.WorkGiver_CleanSelfWithBucket</giverClass>
|
||||
<giverClass>RJWSexperienceCum.WorkGiver_CleanSelfWithBucket</giverClass>
|
||||
<workType>BasicWorker</workType>
|
||||
<verb>collect cum into a</verb>
|
||||
<gerund>collecting cum into a</gerund>
|
|
@ -0,0 +1,78 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Defs>
|
||||
<!-- Sex ExpertiseDefs by Rain -->
|
||||
<VSE.Expertise.ExpertiseDef>
|
||||
<defName>Sensualist</defName>
|
||||
<label>Sensualising</label>
|
||||
<skill>Sex</skill>
|
||||
<description>An expert in sex and sensuous activities.</description>
|
||||
<statOffsets>
|
||||
<SexAbility>0.05</SexAbility>
|
||||
</statOffsets>
|
||||
</VSE.Expertise.ExpertiseDef>
|
||||
|
||||
<VSE.Expertise.ExpertiseDef>
|
||||
<defName>Rapist</defName>
|
||||
<label>Raping</label>
|
||||
<skill>Sex</skill>
|
||||
<description>An experienced rapist.</description>
|
||||
<statOffsets>
|
||||
<Vulnerability>-0.025</Vulnerability>
|
||||
<!-- Pawn gets more out of sex but isn't necessarily good at sex -->
|
||||
<SexSatisfaction>0.025</SexSatisfaction>
|
||||
</statOffsets>
|
||||
</VSE.Expertise.ExpertiseDef>
|
||||
|
||||
<VSE.Expertise.ExpertiseDef>
|
||||
<defName>Victim</defName>
|
||||
<label>Rapee</label>
|
||||
<skill>Sex</skill>
|
||||
<description>An expertise in getting raped.</description>
|
||||
<statOffsets>
|
||||
<Vulnerability>0.025</Vulnerability>
|
||||
<SexSatisfaction>-0.025</SexSatisfaction>
|
||||
</statOffsets>
|
||||
</VSE.Expertise.ExpertiseDef>
|
||||
|
||||
<VSE.Expertise.ExpertiseDef>
|
||||
<defName>Submissive</defName>
|
||||
<label>Submitting</label>
|
||||
<skill>Sex</skill>
|
||||
<description>An expert in sexual submission.</description>
|
||||
<statOffsets>
|
||||
<Vulnerability>0.025</Vulnerability>
|
||||
<SexSatisfaction>0.025</SexSatisfaction>
|
||||
</statOffsets>
|
||||
</VSE.Expertise.ExpertiseDef>
|
||||
|
||||
<VSE.Expertise.ExpertiseDef>
|
||||
<defName>Dominant</defName>
|
||||
<label>Dominating</label>
|
||||
<skill>Sex</skill>
|
||||
<description>An expert in sexual domination.</description>
|
||||
<statOffsets>
|
||||
<Vulnerability>-0.025</Vulnerability>
|
||||
<SexSatisfaction>0.025</SexSatisfaction>
|
||||
</statOffsets>
|
||||
</VSE.Expertise.ExpertiseDef>
|
||||
|
||||
<VSE.Expertise.ExpertiseDef>
|
||||
<defName>Hypersexuality</defName>
|
||||
<label>Sexualizing</label>
|
||||
<skill>Sex</skill>
|
||||
<description>A sex craved individual.</description>
|
||||
<statOffsets>
|
||||
<SexFrequency>0.05</SexFrequency>
|
||||
</statOffsets>
|
||||
</VSE.Expertise.ExpertiseDef>
|
||||
|
||||
<VSE.Expertise.ExpertiseDef>
|
||||
<defName>Prude</defName>
|
||||
<label>Pruding</label>
|
||||
<skill>Sex</skill>
|
||||
<description>An experienced person in sex but decided they do not like it.</description>
|
||||
<statOffsets>
|
||||
<SexFrequency>-0.05</SexFrequency>
|
||||
</statOffsets>
|
||||
</VSE.Expertise.ExpertiseDef>
|
||||
</Defs>
|
|
@ -1,10 +1,12 @@
|
|||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 16
|
||||
VisualStudioVersion = 16.0.31424.327
|
||||
# Visual Studio Version 17
|
||||
VisualStudioVersion = 17.2.32630.192
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RJWSexperience", "RJWSexperience\RJWSexperience.csproj", "{9C728E06-573B-4B04-A07F-ACBF60CB424D}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RJWSexperienceCum", "RJWSexperienceCum\RJWSexperienceCum.csproj", "{73CB4597-22BD-4A3E-A3CE-6D65DD080F65}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
|
@ -15,6 +17,10 @@ Global
|
|||
{9C728E06-573B-4B04-A07F-ACBF60CB424D}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{9C728E06-573B-4B04-A07F-ACBF60CB424D}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{9C728E06-573B-4B04-A07F-ACBF60CB424D}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{73CB4597-22BD-4A3E-A3CE-6D65DD080F65}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{73CB4597-22BD-4A3E-A3CE-6D65DD080F65}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{73CB4597-22BD-4A3E-A3CE-6D65DD080F65}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{73CB4597-22BD-4A3E-A3CE-6D65DD080F65}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
|
|
@ -1,14 +0,0 @@
|
|||
using System;
|
||||
using Verse;
|
||||
using Verse.AI;
|
||||
|
||||
namespace RJWSexperience.Cum
|
||||
{
|
||||
public class JobGiver_UseBucket : ThinkNode_JobGiver
|
||||
{
|
||||
protected override Job TryGiveJob(Pawn pawn)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -45,8 +45,6 @@
|
|||
<Compile Include="Cum\Building_Cumbucket.cs" />
|
||||
<Compile Include="Configurations.cs" />
|
||||
<Compile Include="Cum\CumUtility.cs" />
|
||||
<Compile Include="Cum\JobGiver_UseBucket.cs" />
|
||||
<Compile Include="Cum\WorkGiver_CleanSelfWithBucket.cs" />
|
||||
<Compile Include="DebugAction.cs" />
|
||||
<Compile Include="ExtensionMethods\PawnExtensions.cs" />
|
||||
<Compile Include="ExtensionMethods\SexPropsExtensions.cs" />
|
||||
|
@ -56,7 +54,6 @@
|
|||
<Compile Include="Harmony.cs" />
|
||||
<Compile Include="Cum\IngestionOutcomeDoer_RecordEatenCum.cs" />
|
||||
<Compile Include="Cum\Interactions\CumAddictPartKindUsageRule.cs" />
|
||||
<Compile Include="Cum\JobDriver_CleanSelfWithBucket.cs" />
|
||||
<Compile Include="Logs\DebugLogProvider.cs" />
|
||||
<Compile Include="Logs\LogManager.cs" />
|
||||
<Compile Include="LustUtility.cs" />
|
||||
|
|
|
@ -28,14 +28,10 @@ namespace RJWSexperience
|
|||
public static readonly ChemicalDef Cum;
|
||||
public static readonly NeedDef Chemical_Cum;
|
||||
public static readonly TraitDef Virgin;
|
||||
public static readonly JobDef CleanSelfwithBucket;
|
||||
public static readonly KeyBindingDef OpenSexStatistics;
|
||||
public static readonly StatDef SexAbility;
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
|
13
RJWSexperience/RJWSexperienceCum/HediffDefOf.cs
Normal file
13
RJWSexperience/RJWSexperienceCum/HediffDefOf.cs
Normal file
|
@ -0,0 +1,13 @@
|
|||
using RimWorld;
|
||||
using Verse;
|
||||
|
||||
namespace RJWSexperienceCum
|
||||
{
|
||||
[DefOf]
|
||||
public static class HediffDefOf
|
||||
{
|
||||
public static readonly HediffDef Hediff_CumController;
|
||||
public static readonly HediffDef Hediff_Cum;
|
||||
public static readonly HediffDef Hediff_InsectSpunk;
|
||||
}
|
||||
}
|
11
RJWSexperience/RJWSexperienceCum/JobDefOf.cs
Normal file
11
RJWSexperience/RJWSexperienceCum/JobDefOf.cs
Normal file
|
@ -0,0 +1,11 @@
|
|||
using RimWorld;
|
||||
using Verse;
|
||||
|
||||
namespace RJWSexperienceCum
|
||||
{
|
||||
[DefOf]
|
||||
public static class JobDefOf
|
||||
{
|
||||
public static readonly JobDef CleanSelfwithBucket;
|
||||
}
|
||||
}
|
|
@ -1,9 +1,9 @@
|
|||
using RimWorld;
|
||||
using RJWSexperience;
|
||||
using System.Collections.Generic;
|
||||
using Verse;
|
||||
using Verse.AI;
|
||||
|
||||
namespace RJWSexperience // Used in Menstruation with this namespace
|
||||
namespace RJWSexperienceCum
|
||||
{
|
||||
public class JobDriver_CleanSelfWithBucket : JobDriver
|
||||
{
|
||||
|
@ -31,7 +31,7 @@ namespace RJWSexperience // Used in Menstruation with this namespace
|
|||
this.FailOn(delegate
|
||||
{
|
||||
List<Hediff> hediffs = pawn.health.hediffSet.hediffs;
|
||||
return !hediffs.Exists(x => x.def == VariousDefOf.Hediff_CumController);
|
||||
return !hediffs.Exists(x => x.def == HediffDefOf.Hediff_CumController);
|
||||
});
|
||||
yield return Toils_Goto.GotoThing(TargetIndex.B, PathEndMode.ClosestTouch);
|
||||
Toil cleaning = new Toil
|
||||
|
@ -48,7 +48,7 @@ namespace RJWSexperience // Used in Menstruation with this namespace
|
|||
|
||||
protected void CleaningInit()
|
||||
{
|
||||
hediffcache = pawn.health.hediffSet.hediffs.Find(x => x.def == VariousDefOf.Hediff_Cum || x.def == VariousDefOf.Hediff_InsectSpunk);
|
||||
hediffcache = pawn.health.hediffSet.hediffs.Find(x => x.def == HediffDefOf.Hediff_Cum || x.def == HediffDefOf.Hediff_InsectSpunk);
|
||||
if (hediffcache == null)
|
||||
{
|
||||
pawn.jobs.EndCurrentJob(JobCondition.Succeeded);
|
||||
|
@ -84,7 +84,7 @@ namespace RJWSexperience // Used in Menstruation with this namespace
|
|||
|
||||
protected void Finish()
|
||||
{
|
||||
if (pawn.CurJobDef == JobDefOf.Wait_MaintainPosture)
|
||||
if (pawn.CurJobDef == RimWorld.JobDefOf.Wait_MaintainPosture)
|
||||
{
|
||||
pawn.jobs.EndCurrentJob(JobCondition.InterruptForced);
|
||||
}
|
36
RJWSexperience/RJWSexperienceCum/Properties/AssemblyInfo.cs
Normal file
36
RJWSexperience/RJWSexperienceCum/Properties/AssemblyInfo.cs
Normal file
|
@ -0,0 +1,36 @@
|
|||
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("RJWSexperienceCum")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("RJWSexperienceCum")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2022")]
|
||||
[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("73cb4597-22bd-4a3e-a3ce-6d65dd080f65")]
|
||||
|
||||
// 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")]
|
61
RJWSexperience/RJWSexperienceCum/RJWSexperienceCum.csproj
Normal file
61
RJWSexperience/RJWSexperienceCum/RJWSexperienceCum.csproj
Normal file
|
@ -0,0 +1,61 @@
|
|||
<?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>{73CB4597-22BD-4A3E-A3CE-6D65DD080F65}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>RJWSexperienceCum</RootNamespace>
|
||||
<AssemblyName>RJWSexperienceCum</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>bin\Debug\</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>..\..\Mod Compatibility\RJW Cum\Assemblies\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Net.Http" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="JobDefOf.cs" />
|
||||
<Compile Include="ThingDefOf.cs" />
|
||||
<Compile Include="JobDriver_CleanSelfWithBucket.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="HediffDefOf.cs" />
|
||||
<Compile Include="WorkGiver_CleanSelfWithBucket.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Krafs.Rimworld.Ref">
|
||||
<Version>1.3.3389</Version>
|
||||
</PackageReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\RJWSexperience\RJWSexperience.csproj">
|
||||
<Project>{9c728e06-573b-4b04-a07f-acbf60cb424d}</Project>
|
||||
<Name>RJWSexperience</Name>
|
||||
<Private>False</Private>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
12
RJWSexperience/RJWSexperienceCum/ThingDefOf.cs
Normal file
12
RJWSexperience/RJWSexperienceCum/ThingDefOf.cs
Normal file
|
@ -0,0 +1,12 @@
|
|||
using RimWorld;
|
||||
using Verse;
|
||||
|
||||
namespace RJWSexperienceCum
|
||||
{
|
||||
[DefOf]
|
||||
public static class ThingDefOf
|
||||
{
|
||||
public static readonly ThingDef GatheredCum;
|
||||
public static readonly ThingDef CumBucket;
|
||||
}
|
||||
}
|
|
@ -1,16 +1,17 @@
|
|||
using RimWorld;
|
||||
using RJWSexperience;
|
||||
using Verse;
|
||||
using Verse.AI;
|
||||
|
||||
namespace RJWSexperience.Cum
|
||||
namespace RJWSexperienceCum
|
||||
{
|
||||
public class WorkGiver_CleanSelfWithBucket : WorkGiver_Scanner
|
||||
{
|
||||
public override ThingRequest PotentialWorkThingRequest => ThingRequest.ForDef(VariousDefOf.CumBucket);
|
||||
public override ThingRequest PotentialWorkThingRequest => ThingRequest.ForDef(ThingDefOf.CumBucket);
|
||||
public override PathEndMode PathEndMode => PathEndMode.ClosestTouch;
|
||||
public override bool ShouldSkip(Pawn pawn, bool forced = false)
|
||||
{
|
||||
return VariousDefOf.Hediff_CumController == null || !pawn.health.hediffSet.HasHediff(VariousDefOf.Hediff_CumController);
|
||||
return HediffDefOf.Hediff_CumController == null || !pawn.health.hediffSet.HasHediff(HediffDefOf.Hediff_CumController);
|
||||
}
|
||||
|
||||
public override bool HasJobOnThing(Pawn pawn, Thing t, bool forced = false)
|
||||
|
@ -18,12 +19,12 @@ namespace RJWSexperience.Cum
|
|||
if (!(t is Building_CumBucket bucket))
|
||||
return false;
|
||||
|
||||
return bucket.StoredStackCount < VariousDefOf.GatheredCum.stackLimit;
|
||||
return bucket.StoredStackCount < ThingDefOf.GatheredCum.stackLimit;
|
||||
}
|
||||
|
||||
public override Job JobOnThing(Pawn pawn, Thing t, bool forced = false)
|
||||
{
|
||||
return JobMaker.MakeJob(VariousDefOf.CleanSelfwithBucket, pawn, t);
|
||||
return JobMaker.MakeJob(JobDefOf.CleanSelfwithBucket, pawn, t);
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue