mirror of
https://github.com/vegapnk/RJW-Genes.git
synced 2024-08-15 00:23:31 +00:00
1f865320b0
Adds lifeforce gene and functions for gaining lifeforce from oral sex and mental break if lifeforce reaches zero. Also add succubus wings drawn by me
56 lines
1.6 KiB
C#
56 lines
1.6 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using rjw;
|
|
using rjw.Modules.Interactions.Contexts;
|
|
using rjw.Modules.Interactions.Enums;
|
|
using rjw.Modules.Interactions.Rules.PartKindUsageRules;
|
|
using rjw.Modules.Shared;
|
|
using Verse;
|
|
|
|
namespace RJW_Genes.Interactions
|
|
{
|
|
public class GenesPartKindUsageRule : IPartPreferenceRule
|
|
{
|
|
public IEnumerable<Weighted<LewdablePartKind>> ModifiersForDominant(InteractionContext context)
|
|
{
|
|
Pawn pawn = context.Internals.Dominant.Pawn;
|
|
if (GeneUtility.HasCriticalLifeForce(pawn))
|
|
{
|
|
Log.Message("Critical");
|
|
yield return new Weighted<LewdablePartKind>(50f, LewdablePartKind.Mouth);
|
|
}
|
|
else if (GeneUtility.HasLowLifeForce(pawn))
|
|
{
|
|
Log.Message("Low");
|
|
yield return new Weighted<LewdablePartKind>(10f, LewdablePartKind.Mouth);
|
|
}
|
|
else if (GeneUtility.HasLifeForce(pawn))
|
|
{
|
|
Log.Message("normal");
|
|
yield return new Weighted<LewdablePartKind>(2f, LewdablePartKind.Mouth);
|
|
}
|
|
yield break;
|
|
}
|
|
|
|
public IEnumerable<Weighted<LewdablePartKind>> ModifiersForSubmissive(InteractionContext context)
|
|
{
|
|
Pawn pawn = context.Internals.Submissive.Pawn;
|
|
if (GeneUtility.HasCriticalLifeForce(pawn))
|
|
{
|
|
Log.Message("Critical");
|
|
yield return new Weighted<LewdablePartKind>(50f, LewdablePartKind.Mouth);
|
|
}
|
|
else if (GeneUtility.HasLowLifeForce(pawn))
|
|
{
|
|
Log.Message("Low");
|
|
yield return new Weighted<LewdablePartKind>(10f, LewdablePartKind.Mouth);
|
|
}
|
|
else if (GeneUtility.HasLifeForce(pawn))
|
|
{
|
|
Log.Message("normal");
|
|
yield return new Weighted<LewdablePartKind>(2f, LewdablePartKind.Mouth);
|
|
}
|
|
yield break;
|
|
}
|
|
}
|
|
}
|