mirror of
https://github.com/amevarashi/RJW-Sexperience.git
synced 2024-08-14 23:54:08 +00:00
No virgin? trait for tribal pawns
This commit is contained in:
parent
0743575d56
commit
3c4060f8bd
2 changed files with 14 additions and 3 deletions
|
@ -27,16 +27,25 @@ namespace RJWSexperience
|
|||
[HarmonyPatch(typeof(ParentRelationUtility), nameof(ParentRelationUtility.SetMother))]
|
||||
public static class Rimworld_Patch_RemoveVirginOnSetMother
|
||||
{
|
||||
/// <summary>
|
||||
/// Retcon virginity if game desides to generate a child for the pawn
|
||||
/// </summary>
|
||||
public static void Postfix(Pawn pawn, Pawn newMother)
|
||||
{
|
||||
if (!pawn.relations.DirectRelationExists(PawnRelationDefOf.Parent, newMother))
|
||||
return;
|
||||
return; // Failed to add relation?
|
||||
|
||||
Trait virgin = newMother.story?.traits?.GetTrait(RsDefOf.Trait.Virgin, Virginity.TraitDegree.FemaleVirgin);
|
||||
if (virgin != null)
|
||||
{
|
||||
newMother.story.traits.RemoveTrait(virgin);
|
||||
newMother.story.traits.GainTrait(new Trait(RsDefOf.Trait.Virgin, Virginity.TraitDegree.FemaleAfterSurgery));
|
||||
|
||||
// Player may notice the missing trait on their pawns.
|
||||
// Doing this for all pawns results in up to a half of tribal raid generating with "virgin?"
|
||||
if (newMother.IsColonist || newMother.IsPrisonerOfColony)
|
||||
{
|
||||
newMother.story.traits.GainTrait(new Trait(RsDefOf.Trait.Virgin, Virginity.TraitDegree.FemaleAfterSurgery));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -14,7 +14,9 @@ namespace RJWSexperience.Virginity
|
|||
|
||||
if (pawn.gender == Gender.Female && !pawn.IsVirgin())
|
||||
{
|
||||
if (Rand.Chance(hymenSurgeryChance))
|
||||
TechLevel techLevel = pawn.Faction?.def.techLevel ?? TechLevel.Industrial;
|
||||
|
||||
if (techLevel >= TechLevel.Industrial && Rand.Chance(hymenSurgeryChance))
|
||||
{
|
||||
Trait virgin = new Trait(RsDefOf.Trait.Virgin, TraitDegree.FemaleAfterSurgery, true);
|
||||
pawn.story.traits.GainTrait(virgin);
|
||||
|
|
Loading…
Reference in a new issue