rjw-quirks/RJW-Quirks/Modules/Quirks/Comps/PartKindUsageRules_Impregna...

42 lines
1.6 KiB
C#

using rjw.Modules.Interactions.Enums;
using rjw.Modules.Interactions.Objects;
using rjw.Modules.Shared;
using System.Collections.Generic;
namespace rjwquirks.Modules.Quirks.Comps
{
public class PartKindUsageRules_ImpregnationFetish : PartKindUsageRules
{
/// <summary>
/// Add desire to use penis if partner has vagina and vise-verse.
/// Check of partner's parts is to avoid boosting vagina on futa when partner is female.
/// No check of pawn's parts because interaction framework will filter it anyway
/// </summary>
public override IEnumerable<Weighted<LewdablePartKind>> GetModifiersForPawn(InteractionPawn quirkOwner, InteractionPawn partner)
{
if (!partner.BlockedParts.Contains(LewdablePartKind.Vagina))
{
yield return new Weighted<LewdablePartKind>(Multipliers.Doubled, LewdablePartKind.Penis);
}
if (!partner.BlockedParts.Contains(LewdablePartKind.Penis))
{
yield return new Weighted<LewdablePartKind>(Multipliers.Doubled, LewdablePartKind.Vagina);
}
}
/// <summary>
/// Ask partner to use penis if quirk owner has vagina and provide vagina if owner has penis.
/// </summary>
public override IEnumerable<Weighted<LewdablePartKind>> GetModifiersForPartner(InteractionPawn quirkOwner, InteractionPawn partner)
{
if (!quirkOwner.BlockedParts.Contains(LewdablePartKind.Vagina))
{
yield return new Weighted<LewdablePartKind>(Multipliers.Doubled, LewdablePartKind.Penis);
}
if (!quirkOwner.BlockedParts.Contains(LewdablePartKind.Penis))
{
yield return new Weighted<LewdablePartKind>(Multipliers.Doubled, LewdablePartKind.Vagina);
}
}
}
}