mirror of
https://github.com/amevarashi/RJW-Sexperience.git
synced 2024-08-14 23:54:08 +00:00
Compare commits
7 commits
Author | SHA1 | Date | |
---|---|---|---|
|
37927f19b3 | ||
|
25a4e0786c | ||
|
b6d34be263 | ||
|
190c6fc3d6 | ||
|
4265e3c3e1 | ||
|
9e21992d9b | ||
|
cfee907258 |
16 changed files with 185 additions and 176 deletions
Binary file not shown.
|
@ -1,7 +1,7 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
<Manifest>
|
<Manifest>
|
||||||
<identifier>RJWSexperience</identifier>
|
<identifier>RJWSexperience</identifier>
|
||||||
<version>1.4.1.2</version>
|
<version>1.4.1.3</version>
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<li>RimJobWorld >= 5.3.0</li>
|
<li>RimJobWorld >= 5.3.0</li>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
|
@ -1,3 +1,6 @@
|
||||||
|
### 1.4.1.3
|
||||||
|
* Prisoners use buckets to clean themselves
|
||||||
|
|
||||||
### 1.4.1.2
|
### 1.4.1.2
|
||||||
* Fixed IsVirgin check for pawns with children
|
* Fixed IsVirgin check for pawns with children
|
||||||
|
|
||||||
|
|
|
@ -85,6 +85,10 @@
|
||||||
<RSOption_EnableSexHistory_Desc>* Needs a game restart\n\nEnables Sex History window, information collection for the said window and save/load of this information. Also enables sex partners count in the pawn's records.\n\n[Caution] Disabling this mid save will result in the loss of previously collected histories.</RSOption_EnableSexHistory_Desc>
|
<RSOption_EnableSexHistory_Desc>* Needs a game restart\n\nEnables Sex History window, information collection for the said window and save/load of this information. Also enables sex partners count in the pawn's records.\n\n[Caution] Disabling this mid save will result in the loss of previously collected histories.</RSOption_EnableSexHistory_Desc>
|
||||||
<RSOption_HideGizmoWhenDrafted_Label>Hide Sex History button when drafted</RSOption_HideGizmoWhenDrafted_Label>
|
<RSOption_HideGizmoWhenDrafted_Label>Hide Sex History button when drafted</RSOption_HideGizmoWhenDrafted_Label>
|
||||||
<RSOption_HideGizmoWhenDrafted_Desc>Hides Sex History Gizmo for currently drafted pawns</RSOption_HideGizmoWhenDrafted_Desc>
|
<RSOption_HideGizmoWhenDrafted_Desc>Hides Sex History Gizmo for currently drafted pawns</RSOption_HideGizmoWhenDrafted_Desc>
|
||||||
|
<RSOption_VirginityCheck_M2M_Label>Remove virginity with anal sex (for male/male sex)</RSOption_VirginityCheck_M2M_Label>
|
||||||
|
<RSOption_VirginityCheck_M2M_Desc>Remove virginity with anal sex (for male/male sex)</RSOption_VirginityCheck_M2M_Desc>
|
||||||
|
<RSOption_VirginityCheck_F2F_Label>Remove virginity with scissoring sex (for female/female sex)</RSOption_VirginityCheck_F2F_Label>
|
||||||
|
<RSOption_VirginityCheck_F2F_Desc>Remove virginity with scissoring sex (for female/female sex)</RSOption_VirginityCheck_F2F_Desc>
|
||||||
|
|
||||||
<!-- Mod settings: Debug -->
|
<!-- Mod settings: Debug -->
|
||||||
<RSOption_Debug_Label>Debug</RSOption_Debug_Label>
|
<RSOption_Debug_Label>Debug</RSOption_Debug_Label>
|
||||||
|
|
Binary file not shown.
|
@ -0,0 +1,19 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
|
|
||||||
|
<Defs>
|
||||||
|
<ThinkTreeDef>
|
||||||
|
<defName>CleanSelfWithBucket</defName>
|
||||||
|
<insertTag>Humanlike_PostDuty</insertTag>
|
||||||
|
<insertPriority>100</insertPriority>
|
||||||
|
<thinkRoot Class="ThinkNode_Priority">
|
||||||
|
<subNodes>
|
||||||
|
<li Class="ThinkNode_ConditionalPrisoner">
|
||||||
|
<leaveJoinableLordIfIssuesJob>true</leaveJoinableLordIfIssuesJob>
|
||||||
|
<subNodes>
|
||||||
|
<li Class="RJWSexperienceCum.JobGiver_CleanSelfWithBucket"/>
|
||||||
|
</subNodes>
|
||||||
|
</li>
|
||||||
|
</subNodes>
|
||||||
|
</thinkRoot>
|
||||||
|
</ThinkTreeDef>
|
||||||
|
</Defs>
|
|
@ -25,6 +25,9 @@ namespace RJWSexperience
|
||||||
public readonly SettingHandle<bool> EnableSexHistory = new SettingHandle<bool>("EnableSexHistory", true);
|
public readonly SettingHandle<bool> EnableSexHistory = new SettingHandle<bool>("EnableSexHistory", true);
|
||||||
public readonly SettingHandle<bool> HideGizmoWhenDrafted = new SettingHandle<bool>("HideGizmoWhenDrafted", true);
|
public readonly SettingHandle<bool> HideGizmoWhenDrafted = new SettingHandle<bool>("HideGizmoWhenDrafted", true);
|
||||||
|
|
||||||
|
public readonly SettingHandle<bool> VirginityCheck_M2M_Anal = new SettingHandle<bool>("VirginityCheck_M2M_Anal", true);
|
||||||
|
public readonly SettingHandle<bool> VirginityCheck_F2F_Scissoring = new SettingHandle<bool>("VirginityCheck_F2F_Scissoring", false);
|
||||||
|
|
||||||
public readonly SettingHandle<bool> DevMode = new SettingHandle<bool>("DevMode", false);
|
public readonly SettingHandle<bool> DevMode = new SettingHandle<bool>("DevMode", false);
|
||||||
|
|
||||||
public readonly SettingHandle<bool> SelectionLocked = new SettingHandle<bool>("SelectionLocked", false);
|
public readonly SettingHandle<bool> SelectionLocked = new SettingHandle<bool>("SelectionLocked", false);
|
||||||
|
|
|
@ -98,6 +98,10 @@ namespace RJWSexperience
|
||||||
public static readonly string Option_HideGizmoWithRJW_Label = "RSOption_HideGizmoWithRJW_Label".Translate();
|
public static readonly string Option_HideGizmoWithRJW_Label = "RSOption_HideGizmoWithRJW_Label".Translate();
|
||||||
public static readonly string Option_HideGizmoWithRJW_Desc = "RSOption_HideGizmoWithRJW_Desc".Translate();
|
public static readonly string Option_HideGizmoWithRJW_Desc = "RSOption_HideGizmoWithRJW_Desc".Translate();
|
||||||
public static readonly string Button_ResetToDefault = "Button_ResetToDefault".Translate();
|
public static readonly string Button_ResetToDefault = "Button_ResetToDefault".Translate();
|
||||||
|
public static readonly string Option_VirginityCheck_M2M_Label = "RSOption_VirginityCheck_M2M_Label".Translate();
|
||||||
|
public static readonly string Option_VirginityCheck_M2M_Desc = "RSOption_VirginityCheck_M2M_Desc".Translate();
|
||||||
|
public static readonly string Option_VirginityCheck_F2F_Label = "RSOption_VirginityCheck_F2F_Label".Translate();
|
||||||
|
public static readonly string Option_VirginityCheck_F2F_Desc = "RSOption_VirginityCheck_F2F_Desc".Translate();
|
||||||
|
|
||||||
public static string Translate(this PartnerOrderMode mode)
|
public static string Translate(this PartnerOrderMode mode)
|
||||||
{
|
{
|
||||||
|
|
|
@ -94,10 +94,43 @@ namespace RJWSexperience
|
||||||
{
|
{
|
||||||
public static void Postfix(JobDriver_SexBaseInitiator __instance)
|
public static void Postfix(JobDriver_SexBaseInitiator __instance)
|
||||||
{
|
{
|
||||||
if (__instance.Sexprops.hasPartner() && __instance.Sexprops.sexType == xxx.rjwSextype.Vaginal)
|
if (__instance.Sexprops.hasPartner())
|
||||||
|
{
|
||||||
|
// remove hetero virginity
|
||||||
|
if((__instance.Sexprops.sexType == xxx.rjwSextype.Vaginal || __instance.Sexprops.sexType == xxx.rjwSextype.DoublePenetration))
|
||||||
{
|
{
|
||||||
__instance.pawn.TryRemoveVirginity(__instance.Partner, __instance.Sexprops);
|
__instance.pawn.TryRemoveVirginity(__instance.Partner, __instance.Sexprops);
|
||||||
__instance.Partner.TryRemoveVirginity(__instance.pawn, __instance.Sexprops);
|
__instance.Partner.TryRemoveVirginity(__instance.pawn, __instance.Sexprops);
|
||||||
|
} else if(__instance.Sexprops.sexType == xxx.rjwSextype.Fisting)
|
||||||
|
{
|
||||||
|
//check if receiver is a virgin female..
|
||||||
|
Pawn receiver = __instance.Sexprops.IsInitiator() ? __instance.Partner : __instance.pawn;
|
||||||
|
if (receiver != null && receiver.gender == Gender.Female && receiver.IsVirgin())
|
||||||
|
{
|
||||||
|
Pawn initiator = __instance.Sexprops.IsInitiator() ? __instance.pawn : __instance.Partner;
|
||||||
|
receiver.TryRemoveVirginity(initiator, __instance.Sexprops);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// check if both pawn are male -> anal used as alternative virginity remover
|
||||||
|
if(SexperienceMod.Settings.VirginityCheck_M2M_Anal &&
|
||||||
|
__instance.Sexprops.sexType == xxx.rjwSextype.Anal
|
||||||
|
&& __instance.pawn.gender == Gender.Male && __instance.Partner.gender == Gender.Male)
|
||||||
|
{
|
||||||
|
__instance.pawn.TryRemoveVirginity(__instance.Partner, __instance.Sexprops);
|
||||||
|
__instance.Partner.TryRemoveVirginity(__instance.pawn, __instance.Sexprops);
|
||||||
|
}
|
||||||
|
|
||||||
|
// check if both pawn are female -> scissoring used as alternative virginity remover
|
||||||
|
if(SexperienceMod.Settings.VirginityCheck_F2F_Scissoring &&
|
||||||
|
__instance.Sexprops.sexType == xxx.rjwSextype.Scissoring
|
||||||
|
&& __instance.pawn.gender == Gender.Female && __instance.Partner.gender == Gender.Female)
|
||||||
|
{
|
||||||
|
__instance.pawn.TryRemoveVirginity(__instance.Partner, __instance.Sexprops);
|
||||||
|
__instance.Partner.TryRemoveVirginity(__instance.pawn, __instance.Sexprops);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,116 +1,31 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
<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>
|
<PropertyGroup>
|
||||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
|
||||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
|
||||||
<ProjectGuid>{9C728E06-573B-4B04-A07F-ACBF60CB424D}</ProjectGuid>
|
<ProjectGuid>{9C728E06-573B-4B04-A07F-ACBF60CB424D}</ProjectGuid>
|
||||||
<OutputType>Library</OutputType>
|
<TargetFramework>net472</TargetFramework>
|
||||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
|
||||||
<RootNamespace>RJWSexperience</RootNamespace>
|
<RootNamespace>RJWSexperience</RootNamespace>
|
||||||
<AssemblyName>RJWSexperience</AssemblyName>
|
<AssemblyName>RJWSexperience</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>..\..\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>..\..\1.4\Assemblies\</OutputPath>
|
<OutputPath>..\..\1.4\Assemblies\</OutputPath>
|
||||||
<DefineConstants>TRACE</DefineConstants>
|
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
|
||||||
<ErrorReport>prompt</ErrorReport>
|
<Company>amevarashi</Company>
|
||||||
<WarningLevel>4</WarningLevel>
|
<Optimize>True</Optimize>
|
||||||
</PropertyGroup>
|
<GenerateAssemblyInfo>False</GenerateAssemblyInfo>
|
||||||
<PropertyGroup>
|
|
||||||
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
|
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<PackageReference Include="Krafs.Rimworld.Ref">
|
||||||
|
<Version>1.4.*</Version>
|
||||||
|
</PackageReference>
|
||||||
|
<PackageReference Include="Lib.Harmony">
|
||||||
|
<Version>2.*</Version>
|
||||||
|
<ExcludeAssets>runtime</ExcludeAssets>
|
||||||
|
<IncludeAssets>compile; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||||
|
</PackageReference>
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Reference Include="RJW">
|
<Reference Include="RJW">
|
||||||
<HintPath>..\..\..\rjw\1.4\Assemblies\RJW.dll</HintPath>
|
<HintPath>..\..\..\rjw\1.4\Assemblies\RJW.dll</HintPath>
|
||||||
<Private>False</Private>
|
<Private>False</Private>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="System.Core" />
|
|
||||||
<Reference Include="System.Data.DataSetExtensions" />
|
|
||||||
<Reference Include="Microsoft.CSharp" />
|
|
||||||
<Reference Include="System.Data" />
|
|
||||||
<Reference Include="System.Net.Http" />
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
|
||||||
<Compile Include="Cum\Building_Cumbucket.cs" />
|
|
||||||
<Compile Include="Configurations.cs" />
|
|
||||||
<Compile Include="Cum\CumUtility.cs" />
|
|
||||||
<Compile Include="DebugAction.cs" />
|
|
||||||
<Compile Include="ExtensionMethods\PawnExtensions.cs" />
|
|
||||||
<Compile Include="ExtensionMethods\SexPropsExtensions.cs" />
|
|
||||||
<Compile Include="Cum\FilterWorkers\SpecialThingFilterWorker_CumBase.cs" />
|
|
||||||
<Compile Include="Cum\FilterWorkers\SpecialThingFilterWorker_NoCum.cs" />
|
|
||||||
<Compile Include="GlobalSuppressions.cs" />
|
|
||||||
<Compile Include="Harmony.cs" />
|
|
||||||
<Compile Include="Cum\IngestionOutcomeDoer_RecordEatenCum.cs" />
|
|
||||||
<Compile Include="Cum\Interactions\CumAddictPartKindUsageRule.cs" />
|
|
||||||
<Compile Include="Logs\DebugLogProvider.cs" />
|
|
||||||
<Compile Include="Logs\LogManager.cs" />
|
|
||||||
<Compile Include="LustUtility.cs" />
|
|
||||||
<Compile Include="Patches\ConditionalDefLoad.cs" />
|
|
||||||
<Compile Include="Patches\DefInjection.cs" />
|
|
||||||
<Compile Include="Settings\ISettingHandle.cs" />
|
|
||||||
<Compile Include="Settings\SettingHandle.cs" />
|
|
||||||
<Compile Include="Settings\SettingsContainer.cs" />
|
|
||||||
<Compile Include="Settings\SettingsTab.cs" />
|
|
||||||
<Compile Include="Settings\SettingsTabMain.cs" />
|
|
||||||
<Compile Include="SexHistory\UI\BarInfo.cs" />
|
|
||||||
<Compile Include="SexHistory\UI\PartnerPortraitInfo.cs" />
|
|
||||||
<Compile Include="SexHistory\UI\PreferedRaceCard.cs" />
|
|
||||||
<Compile Include="SexHistory\UI\InfoCard.cs" />
|
|
||||||
<Compile Include="SexHistory\UI\PartnerOrderMode.cs" />
|
|
||||||
<Compile Include="SexHistory\UI\SexStatusViewModel.cs" />
|
|
||||||
<Compile Include="Virginity\Recipe_HymenSurgery.cs" />
|
|
||||||
<Compile Include="Settings\SettingsTabHistory.cs" />
|
|
||||||
<Compile Include="Settings\SettingsTabDebug.cs" />
|
|
||||||
<Compile Include="Settings\IResettable.cs" />
|
|
||||||
<Compile Include="Settings\ITab.cs" />
|
|
||||||
<Compile Include="Settings\SettingsWidgets.cs" />
|
|
||||||
<Compile Include="SexHistory\RecordRandomizer.cs" />
|
|
||||||
<Compile Include="RJWUtility.cs" />
|
|
||||||
<Compile Include="SexHistory\HistoryUtility.cs" />
|
|
||||||
<Compile Include="SexHistory\SexHistoryComp.cs" />
|
|
||||||
<Compile Include="SexHistory\SexPartnerHistoryRecord.cs" />
|
|
||||||
<Compile Include="PawnRelationWorker_Bastard.cs" />
|
|
||||||
<Compile Include="Keyed.cs" />
|
|
||||||
<Compile Include="Patches\Rimworld_Patch.cs" />
|
|
||||||
<Compile Include="Patches\RJW_Patch.cs" />
|
|
||||||
<Compile Include="SexperienceMod.cs" />
|
|
||||||
<Compile Include="Cum\FilterWorkers\SpecialThingFilterWorker_Cum.cs" />
|
|
||||||
<Compile Include="StatParts.cs" />
|
|
||||||
<Compile Include="Thoughts\ThoughtDefExtension_StageFromRecord.cs" />
|
|
||||||
<Compile Include="Cum\Thought_AteCum.cs" />
|
|
||||||
<Compile Include="Thoughts\Thought_Recordbased.cs" />
|
|
||||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
|
||||||
<Compile Include="SexHistory\UI\UIUtility.cs" />
|
|
||||||
<Compile Include="SexHistory\UI\SexStatusWindow.cs" />
|
|
||||||
<Compile Include="Utility.cs" />
|
|
||||||
<Compile Include="RsDefOf.cs" />
|
|
||||||
<Compile Include="Virginity\TraitDegree.cs" />
|
|
||||||
<Compile Include="Virginity\TraitHandler.cs" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<PackageReference Include="Krafs.Rimworld.Ref">
|
|
||||||
<Version>1.4.3704</Version>
|
|
||||||
</PackageReference>
|
|
||||||
<PackageReference Include="Lib.Harmony">
|
|
||||||
<Version>2.2.2</Version>
|
|
||||||
<ExcludeAssets>runtime</ExcludeAssets>
|
|
||||||
<IncludeAssets>compile; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
|
||||||
</PackageReference>
|
|
||||||
</ItemGroup>
|
|
||||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
|
||||||
</Project>
|
</Project>
|
|
@ -31,7 +31,9 @@ namespace RJWSexperience.Settings
|
||||||
settings.VirginRatio,
|
settings.VirginRatio,
|
||||||
settings.SlavesBeenRapedExp,
|
settings.SlavesBeenRapedExp,
|
||||||
settings.EnableSexHistory,
|
settings.EnableSexHistory,
|
||||||
settings.HideGizmoWhenDrafted
|
settings.HideGizmoWhenDrafted,
|
||||||
|
settings.VirginityCheck_M2M_Anal,
|
||||||
|
settings.VirginityCheck_F2F_Scissoring
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,7 +21,9 @@ namespace RJWSexperience.Settings
|
||||||
settings.VirginRatio,
|
settings.VirginRatio,
|
||||||
settings.SlavesBeenRapedExp,
|
settings.SlavesBeenRapedExp,
|
||||||
settings.EnableSexHistory,
|
settings.EnableSexHistory,
|
||||||
settings.HideGizmoWhenDrafted
|
settings.HideGizmoWhenDrafted,
|
||||||
|
settings.VirginityCheck_M2M_Anal,
|
||||||
|
settings.VirginityCheck_F2F_Scissoring
|
||||||
}
|
}
|
||||||
) { }
|
) { }
|
||||||
|
|
||||||
|
@ -64,6 +66,9 @@ namespace RJWSexperience.Settings
|
||||||
listmain.CheckboxLabeled(Keyed.Option_HideGizmoWhenDrafted_Label, settings.HideGizmoWhenDrafted, Keyed.Option_HideGizmoWhenDrafted_Desc);
|
listmain.CheckboxLabeled(Keyed.Option_HideGizmoWhenDrafted_Label, settings.HideGizmoWhenDrafted, Keyed.Option_HideGizmoWhenDrafted_Desc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
listmain.CheckboxLabeled(Keyed.Option_VirginityCheck_M2M_Label, settings.VirginityCheck_M2M_Anal, Keyed.Option_VirginityCheck_M2M_Desc);
|
||||||
|
listmain.CheckboxLabeled(Keyed.Option_VirginityCheck_F2F_Label, settings.VirginityCheck_F2F_Scissoring, Keyed.Option_VirginityCheck_F2F_Label);
|
||||||
|
|
||||||
if (listmain.ButtonText(Keyed.Button_ResetToDefault))
|
if (listmain.ButtonText(Keyed.Button_ResetToDefault))
|
||||||
{
|
{
|
||||||
Reset();
|
Reset();
|
||||||
|
|
|
@ -15,6 +15,8 @@ namespace RJWSexperience.Settings
|
||||||
settings.LustLimit,
|
settings.LustLimit,
|
||||||
settings.MaxSingleLustChange,
|
settings.MaxSingleLustChange,
|
||||||
settings.SexCanFillBuckets,
|
settings.SexCanFillBuckets,
|
||||||
|
settings.VirginityCheck_M2M_Anal,
|
||||||
|
settings.VirginityCheck_F2F_Scissoring
|
||||||
}
|
}
|
||||||
) { }
|
) { }
|
||||||
|
|
||||||
|
@ -27,6 +29,8 @@ namespace RJWSexperience.Settings
|
||||||
listmain.SliderOption(Keyed.Option_MaxSingleLustChange_Label + " {0}", Keyed.Option_MaxSingleLustChange_Desc, settings.MaxSingleLustChange, new FloatRange(0f, 10f), 0.05f);
|
listmain.SliderOption(Keyed.Option_MaxSingleLustChange_Label + " {0}", Keyed.Option_MaxSingleLustChange_Desc, settings.MaxSingleLustChange, new FloatRange(0f, 10f), 0.05f);
|
||||||
listmain.CheckboxLabeled(Keyed.Option_EnableBastardRelation_Label, settings.EnableBastardRelation, Keyed.Option_EnableBastardRelation_Desc);
|
listmain.CheckboxLabeled(Keyed.Option_EnableBastardRelation_Label, settings.EnableBastardRelation, Keyed.Option_EnableBastardRelation_Desc);
|
||||||
listmain.CheckboxLabeled(Keyed.Option_SexCanFillBuckets_Label, settings.SexCanFillBuckets, Keyed.Option_SexCanFillBuckets_Desc);
|
listmain.CheckboxLabeled(Keyed.Option_SexCanFillBuckets_Label, settings.SexCanFillBuckets, Keyed.Option_SexCanFillBuckets_Desc);
|
||||||
|
listmain.CheckboxLabeled(Keyed.Option_VirginityCheck_M2M_Label, settings.VirginityCheck_M2M_Anal, Keyed.Option_VirginityCheck_M2M_Desc);
|
||||||
|
listmain.CheckboxLabeled(Keyed.Option_VirginityCheck_F2F_Label, settings.VirginityCheck_F2F_Scissoring, Keyed.Option_VirginityCheck_F2F_Desc);
|
||||||
|
|
||||||
if (settings.DevMode)
|
if (settings.DevMode)
|
||||||
LustUtility.DrawGraph(listmain.GetRect(300f));
|
LustUtility.DrawGraph(listmain.GetRect(300f));
|
||||||
|
|
|
@ -17,9 +17,6 @@ namespace RJWSexperience.SexHistory.UI
|
||||||
public const float BASESAT = UIUtility.BASESAT;
|
public const float BASESAT = UIUtility.BASESAT;
|
||||||
public const float ICONSIZE = UIUtility.ICONSIZE;
|
public const float ICONSIZE = UIUtility.ICONSIZE;
|
||||||
|
|
||||||
private static GUIStyle fontStyleCenter;
|
|
||||||
private static GUIStyle fontStyleRight;
|
|
||||||
private static GUIStyle fontStyleLeft;
|
|
||||||
private static GUIStyle boxStyle;
|
private static GUIStyle boxStyle;
|
||||||
private static GUIStyle buttonStyle;
|
private static GUIStyle buttonStyle;
|
||||||
|
|
||||||
|
@ -32,17 +29,13 @@ namespace RJWSexperience.SexHistory.UI
|
||||||
|
|
||||||
private static void InitStyles()
|
private static void InitStyles()
|
||||||
{
|
{
|
||||||
if (fontStyleCenter != null)
|
if (boxStyle != null)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
GUIStyleState fontStyleState = new GUIStyleState() { textColor = Color.white };
|
|
||||||
GUIStyleState boxStyleState = GUI.skin.textArea.normal;
|
GUIStyleState boxStyleState = GUI.skin.textArea.normal;
|
||||||
GUIStyleState buttonStyleState = GUI.skin.button.normal;
|
GUIStyleState buttonStyleState = GUI.skin.button.normal;
|
||||||
fontStyleCenter = new GUIStyle() { alignment = TextAnchor.MiddleCenter, normal = fontStyleState };
|
|
||||||
fontStyleRight = new GUIStyle() { alignment = TextAnchor.MiddleRight, normal = fontStyleState };
|
|
||||||
fontStyleLeft = new GUIStyle() { alignment = TextAnchor.MiddleLeft, normal = fontStyleState };
|
|
||||||
boxStyle = new GUIStyle(GUI.skin.textArea) { hover = boxStyleState, onHover = boxStyleState, onNormal = boxStyleState };
|
boxStyle = new GUIStyle(GUI.skin.textArea) { hover = boxStyleState, onHover = boxStyleState, onNormal = boxStyleState };
|
||||||
buttonStyle = new GUIStyle(GUI.skin.button) { hover = buttonStyleState, onHover = buttonStyleState, onNormal = buttonStyleState };
|
buttonStyle = new GUIStyle(GUI.skin.button) { hover = buttonStyleState, onHover = buttonStyleState, onNormal = buttonStyleState };
|
||||||
}
|
}
|
||||||
|
@ -179,7 +172,9 @@ namespace RJWSexperience.SexHistory.UI
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
GUI.Label(sexinfoRect2, context.Relations + " ", fontStyleRight);
|
Text.Anchor = TextAnchor.MiddleRight;
|
||||||
|
Widgets.Label(sexinfoRect2, context.Relations + " ");
|
||||||
|
GenUI.ResetLabelAlign();
|
||||||
TooltipHandler.TipRegion(rect, context.Tooltip);
|
TooltipHandler.TipRegion(rect, context.Tooltip);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -195,8 +190,11 @@ namespace RJWSexperience.SexHistory.UI
|
||||||
protected void DrawSexInfoCard(Rect rect, InfoCard context)
|
protected void DrawSexInfoCard(Rect rect, InfoCard context)
|
||||||
{
|
{
|
||||||
rect.SplitHorizontally(FONTHEIGHT, out Rect labelRect, out Rect infoRect);
|
rect.SplitHorizontally(FONTHEIGHT, out Rect labelRect, out Rect infoRect);
|
||||||
GUI.Label(labelRect, context.Label, fontStyleLeft);
|
Text.Anchor = TextAnchor.MiddleLeft;
|
||||||
GUI.Label(labelRect, context.LastSexTime, fontStyleRight);
|
Widgets.Label(labelRect, context.Label);
|
||||||
|
Text.Anchor = TextAnchor.MiddleRight;
|
||||||
|
Widgets.Label(labelRect, context.LastSexTime);
|
||||||
|
GenUI.ResetLabelAlign();
|
||||||
DrawInfoWithPortrait(infoRect, context);
|
DrawInfoWithPortrait(infoRect, context);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -211,7 +209,9 @@ namespace RJWSexperience.SexHistory.UI
|
||||||
{
|
{
|
||||||
DrawSexInfoCard(listmain.GetRect(CARDHEIGHT), infoCard);
|
DrawSexInfoCard(listmain.GetRect(CARDHEIGHT), infoCard);
|
||||||
}
|
}
|
||||||
GUI.Label(listmain.GetRect(FONTHEIGHT), Keyed.RS_PreferRace, fontStyleLeft);
|
Text.Anchor = TextAnchor.MiddleLeft;
|
||||||
|
listmain.Label(Keyed.RS_PreferRace);
|
||||||
|
GenUI.ResetLabelAlign();
|
||||||
DrawPreferRace(listmain.GetRect(66f + 15f), _context.PreferedRaceCard);
|
DrawPreferRace(listmain.GetRect(66f + 15f), _context.PreferedRaceCard);
|
||||||
listmain.End();
|
listmain.End();
|
||||||
}
|
}
|
||||||
|
@ -226,16 +226,21 @@ namespace RJWSexperience.SexHistory.UI
|
||||||
Rect infoRect3 = new Rect(infoRect.x, infoRect.y + (FONTHEIGHT * 2), infoRect.width - 2f, FONTHEIGHT);
|
Rect infoRect3 = new Rect(infoRect.x, infoRect.y + (FONTHEIGHT * 2), infoRect.width - 2f, FONTHEIGHT);
|
||||||
|
|
||||||
Widgets.DrawTextureFitted(portraitRect, preferedRaceCard.PortraitGetter(portraitRect.size), 1.0f);
|
Widgets.DrawTextureFitted(portraitRect, preferedRaceCard.PortraitGetter(portraitRect.size), 1.0f);
|
||||||
GUI.Label(infoRect1, preferedRaceCard.PreferRaceLabel, fontStyleLeft);
|
|
||||||
|
|
||||||
if (preferedRaceCard.PreferRaceTypeLabel != null)
|
Text.Anchor = TextAnchor.MiddleLeft;
|
||||||
{
|
Widgets.Label(infoRect1, preferedRaceCard.PreferRaceLabel);
|
||||||
GUI.Label(infoRect1, preferedRaceCard.PreferRaceTypeLabel + " ", fontStyleRight);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (preferedRaceCard.SexCount != null)
|
if (preferedRaceCard.SexCount != null)
|
||||||
{
|
{
|
||||||
GUI.Label(infoRect2, preferedRaceCard.SexCount, fontStyleLeft);
|
Widgets.Label(infoRect2, preferedRaceCard.SexCount);
|
||||||
|
}
|
||||||
|
|
||||||
|
GenUI.ResetLabelAlign();
|
||||||
|
|
||||||
|
if (preferedRaceCard.PreferRaceTypeLabel != null)
|
||||||
|
{
|
||||||
|
Text.Anchor = TextAnchor.MiddleRight;
|
||||||
|
Widgets.Label(infoRect1, preferedRaceCard.PreferRaceTypeLabel + " ");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (preferedRaceCard.BarInfo.Label != null)
|
if (preferedRaceCard.BarInfo.Label != null)
|
||||||
|
@ -280,8 +285,10 @@ namespace RJWSexperience.SexHistory.UI
|
||||||
}
|
}
|
||||||
|
|
||||||
GUI.Box(nameRect, "", boxStyle);
|
GUI.Box(nameRect, "", boxStyle);
|
||||||
GUI.Label(nameRect.TopHalf(), _context.Name, fontStyleCenter);
|
Text.Anchor = TextAnchor.MiddleCenter;
|
||||||
GUI.Label(nameRect.BottomHalf(), _context.AgeAndTitle, fontStyleCenter);
|
Widgets.Label(nameRect.TopHalf(), _context.Name);
|
||||||
|
Widgets.Label(nameRect.BottomHalf(), _context.AgeAndTitle);
|
||||||
|
GenUI.ResetLabelAlign();
|
||||||
|
|
||||||
Listing_Standard listmain = new Listing_Standard();
|
Listing_Standard listmain = new Listing_Standard();
|
||||||
listmain.Begin(infoRect);
|
listmain.Begin(infoRect);
|
||||||
|
@ -292,7 +299,9 @@ namespace RJWSexperience.SexHistory.UI
|
||||||
GUI.color = Color.red;
|
GUI.color = Color.red;
|
||||||
GUI.Box(tmp, "", boxStyle);
|
GUI.Box(tmp, "", boxStyle);
|
||||||
GUI.color = Color.white;
|
GUI.color = Color.white;
|
||||||
GUI.Label(tmp, _context.VirginLabel, fontStyleCenter);
|
Text.Anchor = TextAnchor.MiddleCenter;
|
||||||
|
Widgets.Label(tmp, _context.VirginLabel);
|
||||||
|
GenUI.ResetLabelAlign();
|
||||||
listmain.Gap(1f);
|
listmain.Gap(1f);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -382,7 +391,9 @@ namespace RJWSexperience.SexHistory.UI
|
||||||
listmain.Begin(rect);
|
listmain.Begin(rect);
|
||||||
|
|
||||||
//Sex statistics
|
//Sex statistics
|
||||||
GUI.Label(listmain.GetRect(FONTHEIGHT), " " + Keyed.RS_Statistics, fontStyleLeft);
|
Text.Anchor = TextAnchor.MiddleLeft;
|
||||||
|
listmain.Label(" " + Keyed.RS_Statistics);
|
||||||
|
GenUI.ResetLabelAlign();
|
||||||
listmain.Gap(1f);
|
listmain.Gap(1f);
|
||||||
|
|
||||||
for (int i = 0; i < _context.SexTypes.Count; i++)
|
for (int i = 0; i < _context.SexTypes.Count; i++)
|
||||||
|
@ -396,7 +407,9 @@ namespace RJWSexperience.SexHistory.UI
|
||||||
//Partner list
|
//Partner list
|
||||||
Rect listLabelRect = listmain.GetRect(FONTHEIGHT);
|
Rect listLabelRect = listmain.GetRect(FONTHEIGHT);
|
||||||
Rect sortbtnRect = new Rect(listLabelRect.xMax - 80f, listLabelRect.y, 80f, listLabelRect.height);
|
Rect sortbtnRect = new Rect(listLabelRect.xMax - 80f, listLabelRect.y, 80f, listLabelRect.height);
|
||||||
GUI.Label(listLabelRect, " " + Keyed.RS_PartnerList, fontStyleLeft);
|
Text.Anchor = TextAnchor.MiddleLeft;
|
||||||
|
Widgets.Label(listLabelRect, " " + Keyed.RS_PartnerList);
|
||||||
|
GenUI.ResetLabelAlign();
|
||||||
if (Widgets.ButtonText(sortbtnRect, orderMode.Translate()))
|
if (Widgets.ButtonText(sortbtnRect, orderMode.Translate()))
|
||||||
{
|
{
|
||||||
SoundDefOf.Click.PlayOneShotOnCamera();
|
SoundDefOf.Click.PlayOneShotOnCamera();
|
||||||
|
@ -432,7 +445,11 @@ namespace RJWSexperience.SexHistory.UI
|
||||||
|
|
||||||
DrawPartnerPortrait(pawnRect, partner);
|
DrawPartnerPortrait(pawnRect, partner);
|
||||||
Widgets.DrawHighlightIfMouseover(pawnRect);
|
Widgets.DrawHighlightIfMouseover(pawnRect);
|
||||||
GUI.Label(labelRect, partner.PartnerRecord.Label, fontStyleCenter);
|
|
||||||
|
Text.Anchor = TextAnchor.MiddleCenter;
|
||||||
|
Widgets.Label(labelRect, partner.PartnerRecord.Label);
|
||||||
|
GenUI.ResetLabelAlign();
|
||||||
|
|
||||||
if (Widgets.ButtonInvisible(pawnRect))
|
if (Widgets.ButtonInvisible(pawnRect))
|
||||||
{
|
{
|
||||||
_context.SetSelectedPartner(partner.PartnerRecord);
|
_context.SetSelectedPartner(partner.PartnerRecord);
|
||||||
|
|
27
Source/RJWSexperienceCum/JobGiver_CleanSelfWithBucket.cs
Normal file
27
Source/RJWSexperienceCum/JobGiver_CleanSelfWithBucket.cs
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
using RJWSexperience;
|
||||||
|
using Verse;
|
||||||
|
using Verse.AI;
|
||||||
|
|
||||||
|
namespace RJWSexperienceCum
|
||||||
|
{
|
||||||
|
public class JobGiver_CleanSelfWithBucket : ThinkNode_JobGiver
|
||||||
|
{
|
||||||
|
protected override Job TryGiveJob(Pawn pawn)
|
||||||
|
{
|
||||||
|
if (HediffDefOf.Hediff_CumController == null || !pawn.health.hediffSet.HasHediff(HediffDefOf.Hediff_CumController))
|
||||||
|
{
|
||||||
|
// Nothing to clean
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
Building_CumBucket bucket = pawn.FindClosestBucket();
|
||||||
|
|
||||||
|
if (bucket == null)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return JobMaker.MakeJob(JobDefOf.CleanSelfwithBucket, pawn, bucket);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,55 +1,29 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
<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>
|
<PropertyGroup>
|
||||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
|
||||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
|
||||||
<ProjectGuid>{73CB4597-22BD-4A3E-A3CE-6D65DD080F65}</ProjectGuid>
|
<ProjectGuid>{73CB4597-22BD-4A3E-A3CE-6D65DD080F65}</ProjectGuid>
|
||||||
<OutputType>Library</OutputType>
|
<TargetFramework>net472</TargetFramework>
|
||||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
|
||||||
<RootNamespace>RJWSexperienceCum</RootNamespace>
|
<RootNamespace>RJWSexperienceCum</RootNamespace>
|
||||||
<AssemblyName>RJWSexperienceCum</AssemblyName>
|
<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>
|
<OutputPath>..\..\Mod Compatibility\RJW Cum\Assemblies\</OutputPath>
|
||||||
<DefineConstants>TRACE</DefineConstants>
|
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
|
||||||
<ErrorReport>prompt</ErrorReport>
|
<Company>amevarashi</Company>
|
||||||
<WarningLevel>4</WarningLevel>
|
<Optimize>True</Optimize>
|
||||||
|
<GenerateAssemblyInfo>False</GenerateAssemblyInfo>
|
||||||
</PropertyGroup>
|
</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>
|
<ItemGroup>
|
||||||
<PackageReference Include="Krafs.Rimworld.Ref">
|
<PackageReference Include="Krafs.Rimworld.Ref">
|
||||||
<Version>1.4.3704</Version>
|
<Version>1.4.*</Version>
|
||||||
</PackageReference>
|
</PackageReference>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<Reference Include="RJW">
|
||||||
|
<HintPath>..\..\..\rjw\1.4\Assemblies\RJW.dll</HintPath>
|
||||||
|
<Private>False</Private>
|
||||||
|
</Reference>
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\RJWSexperience\RJWSexperience.csproj">
|
<ProjectReference Include="..\RJWSexperience\RJWSexperience.csproj">
|
||||||
<Project>{9c728e06-573b-4b04-a07f-acbf60cb424d}</Project>
|
<Project>{9c728e06-573b-4b04-a07f-acbf60cb424d}</Project>
|
||||||
|
@ -57,5 +31,4 @@
|
||||||
<Private>False</Private>
|
<Private>False</Private>
|
||||||
</ProjectReference>
|
</ProjectReference>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
|
||||||
</Project>
|
</Project>
|
Loading…
Reference in a new issue