mirror of
https://gitgud.io/amevarashi/rjw-sexperience-ideology.git
synced 2024-08-15 00:43:19 +00:00
Compare commits
4 commits
a722673244
...
a5b01e26dd
Author | SHA1 | Date | |
---|---|---|---|
|
a5b01e26dd | ||
|
0c0b6753ad | ||
|
71df71a0eb | ||
|
472933e192 |
7 changed files with 104 additions and 90 deletions
Binary file not shown.
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<Manifest>
|
||||
<identifier>RJWSexperienceIdeology</identifier>
|
||||
<version>1.0.2.1</version>
|
||||
<version>1.4.1.0</version>
|
||||
<dependencies>
|
||||
<li>RimJobWorld >= 5.3.0</li>
|
||||
</dependencies>
|
||||
|
|
|
@ -1,3 +1,6 @@
|
|||
## Version 1.4.1.0
|
||||
* Changed to a new versioning system. Now the first two digits are a Rimworld version, followed by the major and minor version of the mod.
|
||||
* Fixed: Pawns raping despite Rape-Abhorrent precept
|
||||
## Version 1.0.2.1
|
||||
* Fixed SecondaryRomanceChanceFactor patch
|
||||
## Version 1.0.2.0
|
||||
|
|
44
README.md
Normal file
44
README.md
Normal file
|
@ -0,0 +1,44 @@
|
|||
## RJW Sexperience Ideology
|
||||
This is a submod for the RJW mod for RimWorld. Does not require "base" RJW Sexperience.
|
||||
|
||||
This project was started by the motd1233 on the Loverslab/GitHub as a part of RJW Sexperience mod. I took over the mod some time after they stopped updating. Ideology content was moved to a separate mod shortly after.
|
||||
|
||||
### Features
|
||||
This mod adds:
|
||||
- Memes
|
||||
- Lewd
|
||||
- Rapist
|
||||
- Zoophile
|
||||
- Necrophile
|
||||
- Rituals
|
||||
- Consensual gangbang
|
||||
- Rape gangbang
|
||||
- Consensual animal gangbang
|
||||
- Rape animal gangbang
|
||||
- Drug orgy
|
||||
- Precepts
|
||||
- Baby faction
|
||||
- Bestiality
|
||||
- Incest
|
||||
- Necrophilia
|
||||
- Rape
|
||||
- Allowed sex type
|
||||
- Social affection
|
||||
- Submissive gender
|
||||
- Virginity
|
||||
- Pregnancy
|
||||
- Sex proselyzing
|
||||
- Size matters
|
||||
- Buildings
|
||||
- HumpShroom bong
|
||||
- HumpShroom Autobong
|
||||
|
||||
### Contacts / Feedback
|
||||
The only consistent way to get in touch with me is the RJW Discord server #sexperience-amevarashi. You can find the link in the [RJW Loverslab Thread](https://www.loverslab.com/topic/110270-mod-rimjobworld/). Loverslab is no good because I check it even less than the repositories.
|
||||
|
||||
Please, ping me in the RJW Discord if you rased the issue here.
|
||||
|
||||
### Contributing
|
||||
To be consistent with RJW, please use TABS not SPACES.
|
||||
|
||||
Please, ping me in the RJW Discord after creating a merge request.
|
|
@ -2,6 +2,7 @@
|
|||
using Verse;
|
||||
using System.Linq;
|
||||
using System.Collections.Generic;
|
||||
using System.Runtime.CompilerServices;
|
||||
|
||||
namespace RJWSexperience.Ideology.HistoryEvents
|
||||
{
|
||||
|
@ -27,6 +28,7 @@ namespace RJWSexperience.Ideology.HistoryEvents
|
|||
//Log.Message($"[RSI] Recorded event {historyEvent.def.ToStringWithPartner(pawn, partner)}");
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public static HistoryEvent CreateEvent(this HistoryEventDef def, Pawn pawn)
|
||||
{
|
||||
return new HistoryEvent(def, pawn.Named(HistoryEventArgsNames.Doer));
|
||||
|
|
|
@ -1,113 +1,33 @@
|
|||
<?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')" />
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{B4481C38-31B1-422D-B5AA-0059FE7CCA1C}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>RJWSexperience.Ideology</RootNamespace>
|
||||
<AssemblyName>RJWSexperience.Ideology</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>..\..\RJWSexperience_Ideology\Assemblies\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<TargetFramework>net48</TargetFramework>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>..\..\1.4\Assemblies\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
|
||||
<GenerateAssemblyInfo>False</GenerateAssemblyInfo>
|
||||
<LangVersion>8.0</LangVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Reference Include="RJW">
|
||||
<HintPath>..\..\..\rjw\1.4\Assemblies\RJW.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</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>
|
||||
<Compile Include="BloodRelationDegree.cs" />
|
||||
<Compile Include="DebugAction.cs" />
|
||||
<Compile Include="GlobalSuppressions.cs" />
|
||||
<Compile Include="HistoryEvents\DefExtension_SecondaryEvents.cs" />
|
||||
<Compile Include="HistoryEvents\DefExtension_EventOverrides.cs" />
|
||||
<Compile Include="HistoryEvents\TwoPawnEventRule.cs" />
|
||||
<Compile Include="InteractionDefExtension_HistoryEvents.cs" />
|
||||
<Compile Include="GoodwillSituationWorker_MemeCompatibility.cs" />
|
||||
<Compile Include="Harmony.cs" />
|
||||
<Compile Include="HistoryEvents\ArgsNamesCustom.cs" />
|
||||
<Compile Include="Keyed.cs" />
|
||||
<Compile Include="Precepts\DefExtension_Incest.cs" />
|
||||
<Compile Include="Precepts\IPreceptTipPostfix.cs" />
|
||||
<Compile Include="PreceptWorkers\ThoughtWorker_Precept_GenitalSize.cs" />
|
||||
<Compile Include="PreceptWorkers\ThoughtWorker_Precept_GenitalSize_Social.cs" />
|
||||
<Compile Include="PreceptWorkers\ThoughtWorker_Precept_NonPregnant.cs" />
|
||||
<Compile Include="PreceptWorkers\ThoughtWorker_Precept_NonPregnant_Social.cs" />
|
||||
<Compile Include="PreceptWorkers\ThoughtWorker_Precept_Pregnant.cs" />
|
||||
<Compile Include="PreceptWorkers\ThoughtWorker_Precept_Pregnant_Social.cs" />
|
||||
<Compile Include="Filters\RelationFilter.cs" />
|
||||
<Compile Include="RelationHelpers.cs" />
|
||||
<Compile Include="RomanceChanceFactorHelpers.cs" />
|
||||
<Compile Include="Filters\TwoPawnFilter.cs" />
|
||||
<Compile Include="Filters\SinglePawnFilter.cs" />
|
||||
<Compile Include="Precepts\Comp_SelfTookMemoryThought_Gendered.cs" />
|
||||
<Compile Include="Precepts\Comp_KnowsMemoryThought_Gendered.cs" />
|
||||
<Compile Include="HistoryEvents\HistoryEventDefExtensionMethods.cs" />
|
||||
<Compile Include="Patches\RJW_Patch_ChancePerHour.cs" />
|
||||
<Compile Include="Precepts\DefExtension_ModifyMtb.cs" />
|
||||
<Compile Include="Precepts\DefExtension_ModifyFappinMtb.cs" />
|
||||
<Compile Include="Precepts\DefExtension_ModifyRapeCPMtb.cs" />
|
||||
<Compile Include="Precepts\DefExtension_ModifyNecroMtb.cs" />
|
||||
<Compile Include="Precepts\DefExtension_ModifyBestialityMtb.cs" />
|
||||
<Compile Include="Precepts\DefExtension_ModifyPreference.cs" />
|
||||
<Compile Include="Precepts\DefExtension_MultipleMemesRequired.cs" />
|
||||
<Compile Include="Rituals\JobGiver_GangbangConsensual.cs" />
|
||||
<Compile Include="Rituals\LordJob_Rituals.cs" />
|
||||
<Compile Include="Patches\RJW_Patch_Ideo.cs" />
|
||||
<Compile Include="Patches\Sexperience_Patch.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Patches\Rimworld_Patch.cs" />
|
||||
<Compile Include="Rituals\JobGiver_DrugOrgy.cs" />
|
||||
<Compile Include="Rituals\JobGiver_GangbangVictim.cs" />
|
||||
<Compile Include="Rituals\RitualBehaviorWorkers.cs" />
|
||||
<Compile Include="Rituals\RitualOutcomeComps.cs" />
|
||||
<Compile Include="Rituals\RitualRoles.cs" />
|
||||
<Compile Include="RsiMod.cs" />
|
||||
<Compile Include="RsiSettings.cs" />
|
||||
<Compile Include="StatParts.cs" />
|
||||
<Compile Include="IdeoUtility.cs" />
|
||||
<Compile Include="Thoughts\ThoughtDefExtension_IncreaseRecord.cs" />
|
||||
<Compile Include="Thoughts\ThoughtDefExtension_StageFromValue.cs" />
|
||||
<Compile Include="Thoughts\Thought_IncreaseRecord.cs" />
|
||||
<Compile Include="Thoughts\Thought_Opinionbased.cs" />
|
||||
<Compile Include="RsiDefOf.cs" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Krafs.Rimworld.Ref">
|
||||
<Version>1.4.3704</Version>
|
||||
<Version>1.4.*</Version>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Lib.Harmony">
|
||||
<Version>2.2.2</Version>
|
||||
<Version>2.*</Version>
|
||||
<ExcludeAssets>runtime</ExcludeAssets>
|
||||
<IncludeAssets>compile; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
</PackageReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup />
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
|
@ -7,10 +7,55 @@ using RJWSexperience.Ideology.HistoryEvents;
|
|||
using RJWSexperience.Ideology.Precepts;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Reflection.Emit;
|
||||
using Verse;
|
||||
|
||||
namespace RJWSexperience.Ideology.Patches
|
||||
{
|
||||
[HarmonyPatch(typeof(xxx), nameof(xxx.can_rape))]
|
||||
public static class RJW_Patch_CannotRapeBecauseIdeo
|
||||
{
|
||||
/// <summary>
|
||||
/// Injects IdeoCanRape call into is_human block of xxx.can_rape
|
||||
/// </summary>
|
||||
/// <param name="instructions">Original method instructions</param>
|
||||
/// <returns>Modified method instructions</returns>
|
||||
[HarmonyTranspiler]
|
||||
public static IEnumerable<CodeInstruction> AddIdeoCheck(IEnumerable<CodeInstruction> instructions, ILGenerator generator)
|
||||
{
|
||||
using IEnumerator<CodeInstruction> enumerator = instructions.GetEnumerator();
|
||||
|
||||
System.Reflection.FieldInfo wildMode = AccessTools.Field(typeof(RJWSettings), nameof(RJWSettings.WildMode));
|
||||
Label labelWildMode = generator.DefineLabel();
|
||||
bool done = false;
|
||||
|
||||
while (enumerator.MoveNext())
|
||||
{
|
||||
if (!done && enumerator.Current.LoadsField(wildMode))
|
||||
{
|
||||
// Found RJWSettings.WildMode check, insert before
|
||||
// Need to move labels to our instruction because previous check jumps to one of them, skipping our call
|
||||
var existingLabels = enumerator.Current.labels;
|
||||
enumerator.Current.labels = new List<Label>() { labelWildMode };
|
||||
// Load the first argument - Pawn
|
||||
yield return new CodeInstruction(OpCodes.Ldarg_0) { labels = existingLabels };
|
||||
// Call the check. Consumes pawn and pushes bool
|
||||
yield return CodeInstruction.Call(typeof(RJW_Patch_CannotRapeBecauseIdeo), nameof(IdeoCanRape));;
|
||||
// If bool is true, jump to the next check
|
||||
yield return new CodeInstruction(OpCodes.Brtrue_S, labelWildMode);
|
||||
// The bool was false, push false and exit the method
|
||||
yield return new CodeInstruction(OpCodes.Ldc_I4_0);
|
||||
yield return new CodeInstruction(OpCodes.Ret);
|
||||
done = true;
|
||||
}
|
||||
|
||||
yield return enumerator.Current;
|
||||
}
|
||||
}
|
||||
|
||||
public static bool IdeoCanRape(Pawn pawn) => RsiDefOf.HistoryEvent.RSI_Raped.CreateEvent(pawn).DoerWillingToDo();
|
||||
}
|
||||
|
||||
[HarmonyPatch(typeof(xxx), nameof(xxx.is_rapist))]
|
||||
public static class RJW_Patch_is_rapist
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue