mirror of
https://gitgud.io/amevarashi/rjw-sexperience-ideology.git
synced 2026-06-18 19:25:59 +00:00
62 lines
2.1 KiB
C#
62 lines
2.1 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 DecreasedVaginalPreferences
|
|
{
|
|
public static IEnumerable<SexPreference> GetPreferences(Pawn fucker, Pawn fucked)
|
|
{
|
|
var validHumanPrecepts = new HashSet<PreceptDef>
|
|
{
|
|
RsiDefOf.Precept.Pregnancy_Horrible
|
|
};
|
|
|
|
var validAnimalPrecepts = new HashSet<PreceptDef>
|
|
{
|
|
RsiDefOf.Precept.PregnancyAnimal_Horrible
|
|
};
|
|
|
|
var validBreedingPrecepts = new HashSet<PreceptDef>
|
|
{
|
|
RsiDefOf.Precept.BestialBreeding_Horrible,
|
|
RsiDefOf.Precept.BestialBreeding_Disliked
|
|
};
|
|
|
|
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 hasValidAnimalPreceptForFucked = fucked.Ideo != null &&
|
|
validAnimalPrecepts.Any(preceptDef => fucked.Ideo.HasPrecept(preceptDef));
|
|
|
|
bool hasValidBreedingPreceptsForFucker = fucker.Ideo != null &&
|
|
validBreedingPrecepts.Any(preceptDef => fucker.Ideo.HasPrecept(preceptDef));
|
|
|
|
if ((hasValidHumanPreceptForFucked || hasValidHumanPreceptForFucker) && PawnExtensions.IsHumanLike(fucker))
|
|
{
|
|
RsiLog.Message($"DecreasedVaginal: {fucker.Name} is human and {fucked.Name} has a valid precept for human pregnancy.");
|
|
}
|
|
else if (hasValidAnimalPreceptForFucked && PawnExtensions.IsAnimal(fucker))
|
|
{
|
|
RsiLog.Message($"DecreasedVaginal: {fucker.Name} is animal and {fucked.Name} has a valid precept for animal pregnancy.");
|
|
}
|
|
else if (hasValidBreedingPreceptsForFucker && 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.Hate);
|
|
}
|
|
}
|
|
}
|