mirror of
https://gitgud.io/amevarashi/rjw-sexperience-ideology.git
synced 2026-06-18 19:25:59 +00:00
52 lines
No EOL
1.6 KiB
C#
52 lines
No EOL
1.6 KiB
C#
using RimWorld;
|
|
using rjw;
|
|
using rjw.Modules.Interactions.Preferences;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using Verse;
|
|
|
|
namespace RJWSexperience.Ideology
|
|
{
|
|
public class IncreasedVaginalPreferences
|
|
{
|
|
public static IEnumerable<SexPreference> GetPreferences(Pawn fucker, Pawn fucked)
|
|
{
|
|
// Define the set of valid precepts
|
|
var validHumanPrecepts = new HashSet<PreceptDef>
|
|
{
|
|
RsiDefOf.Precept.Pregnancy_Elevated,
|
|
RsiDefOf.Precept.Pregnancy_Holy,
|
|
};
|
|
|
|
var validBreedingPrecepts = new HashSet<PreceptDef>
|
|
{
|
|
RsiDefOf.Precept.BestialBreeding_Encouraged,
|
|
};
|
|
|
|
// Check precepts for the pawns
|
|
bool hasValidHumanPreceptForFucker = fucker.Ideo != null &&
|
|
validHumanPrecepts.Any(preceptDef => fucker.Ideo.HasPrecept(preceptDef));
|
|
|
|
bool hasValidHumanPreceptForFucked = fucked.Ideo != null &&
|
|
validHumanPrecepts.Any(preceptDef => fucked.Ideo.HasPrecept(preceptDef));
|
|
|
|
bool hasValidBreedingPreceptForFucker = fucker.Ideo != null &&
|
|
validBreedingPrecepts.Any(preceptDef => fucker.Ideo.HasPrecept(preceptDef));
|
|
|
|
if ((hasValidHumanPreceptForFucked || hasValidHumanPreceptForFucker) && PawnExtensions.IsHuman(fucker))
|
|
{
|
|
RsiLog.Message($"IncreasedVaginal: {fucker.Name} is human and {fucked.Name} has a valid precept for human pregnancy.");
|
|
}
|
|
else if (hasValidBreedingPreceptForFucker && PawnExtensions.IsAnimal(fucked))
|
|
{
|
|
RsiLog.Message($"MaleIncreasedVaginal: {fucked.Name} is animal and {fucker.Name} has a valid precept for bestial breeding.");
|
|
}
|
|
else
|
|
{
|
|
yield break;
|
|
}
|
|
|
|
yield return new TypePreference(xxx.rjwSextype.Vaginal, Preference.Love);
|
|
}
|
|
}
|
|
} |