rjw-genes/Source/Genes/Breeding/ConditionalStatAffecters/ConditionalStatAffecter_VeryManyChildren.cs

37 lines
1 KiB
C#
Raw Normal View History

2024-07-04 09:24:27 +00:00
using RimWorld;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Verse;
namespace RJW_Genes
{
public class ConditionalStatAffecter_VeryManyChildren : ConditionalStatAffecter
{
public override string Label => (string)"StatsReport_VeryManyChildren".Translate();
public const int THRESHOLD_FOR_CHILDREN = 8;
public override bool Applies(StatRequest req)
{
if (req == null || req.Thing == null || !req.Thing.Spawned) return false;
if (req.Thing is Pawn pawn)
{
// Do nothing if Pawn is Baby or Child (#25)
if (!pawn.ageTracker.Adult)
return false;
2024-07-04 09:24:27 +00:00
if (GeneUtility.HasGeneNullCheck(pawn, GeneDefOf.rjw_genes_hardwired_progenity))
{
return pawn.relations.ChildrenCount >= THRESHOLD_FOR_CHILDREN;
}
}
return false;
}
}
}