Hardened Utility to account for childs with in-active lifeforce
This commit is contained in:
parent
999236768e
commit
1b590ba2a2
|
@ -43,7 +43,9 @@ namespace RJW_Genes
|
|||
{
|
||||
if (HasLifeForce(pawn))
|
||||
{
|
||||
Gene_LifeForce gene = pawn.genes.GetFirstGeneOfType<Gene_LifeForce>();
|
||||
Gene_LifeForce gene = pawn.genes.GetFirstGeneOfType<Gene_LifeForce>();
|
||||
if (gene == null || !gene.Active)
|
||||
return false;
|
||||
if (gene.Resource.Value < gene.targetValue)
|
||||
{
|
||||
return true;
|
||||
|
@ -57,6 +59,8 @@ namespace RJW_Genes
|
|||
if (HasLifeForce(pawn))
|
||||
{
|
||||
Gene_LifeForce gene = pawn.genes.GetFirstGeneOfType<Gene_LifeForce>();
|
||||
if (gene == null || !gene.Active)
|
||||
return false;
|
||||
if (gene.Resource.Value < gene.MinLevelForAlert)
|
||||
{
|
||||
return true;
|
||||
|
@ -122,4 +126,27 @@ namespace RJW_Genes
|
|||
public static bool IsCumEater(Pawn pawn) { return HasGeneNullCheck(pawn, GeneDefOf.rjw_genes_cum_eater); }
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
Exception in Verse.AI.ThinkNode_Priority TryIssueJobPackage: System.NullReferenceException: Object reference not set to an instance of an object
|
||||
at RJW_Genes.GeneUtility.HasLowLifeForce (Verse.Pawn pawn) [0x00014] in < 881b7541af8144a78a14c9dad08e43c7 >:0
|
||||
at RJW_Genes.ThinkNode_ConditionalLowLifeForce.Satisfied(Verse.Pawn p) [0x00000] in < 881b7541af8144a78a14c9dad08e43c7 >:0
|
||||
at Verse.AI.ThinkNode_Conditional.TryIssueJobPackage(Verse.Pawn pawn, Verse.AI.JobIssueParams jobParams) [0x00000] in < 38562b1a2ab64eacb931fb5df05ca994 >:0
|
||||
at Verse.AI.ThinkNode_Priority.TryIssueJobPackage(Verse.Pawn pawn, Verse.AI.JobIssueParams jobParams) [0x00022] in < 38562b1a2ab64eacb931fb5df05ca994 >:0
|
||||
UnityEngine.StackTraceUtility:ExtractStackTrace()
|
||||
Verse.Log:Error(string)
|
||||
Verse.AI.ThinkNode_Priority:TryIssueJobPackage(Verse.Pawn, Verse.AI.JobIssueParams)
|
||||
Verse.AI.ThinkNode_SubtreesByTag:TryIssueJobPackage(Verse.Pawn, Verse.AI.JobIssueParams)
|
||||
Verse.AI.ThinkNode_Priority:TryIssueJobPackage(Verse.Pawn, Verse.AI.JobIssueParams)
|
||||
Verse.AI.Pawn_JobTracker:DetermineNextJob(Verse.ThinkTreeDef &)
|
||||
Verse.AI.Pawn_JobTracker:TryFindAndStartJob()
|
||||
Verse.AI.Pawn_JobTracker:EndCurrentJob(Verse.AI.JobCondition, bool, bool)
|
||||
Verse.AI.Pawn_JobTracker:JobTrackerTick()
|
||||
Verse.Pawn:Tick()
|
||||
Verse.TickList:Tick()
|
||||
(wrapper dynamic - method) Verse.TickManager:Verse.TickManager.DoSingleTick_Patch2(Verse.TickManager)
|
||||
Verse.TickManager:TickManagerUpdate()
|
||||
Verse.Game:UpdatePlay()
|
||||
Verse.Root_Play:Update()
|
||||
*/
|
|
@ -42,7 +42,7 @@ namespace RJW_Genes
|
|||
{
|
||||
Pawn_GeneTracker genes = pawn.genes;
|
||||
Gene_LifeForce gene_Lifeforce = (genes != null) ? genes.GetFirstGeneOfType<Gene_LifeForce>() : null;
|
||||
if (gene_Lifeforce != null && gene_Lifeforce.Value < gene_Lifeforce.MinLevelForAlert)
|
||||
if (gene_Lifeforce != null && gene_Lifeforce.Active && gene_Lifeforce.Value < gene_Lifeforce.MinLevelForAlert)
|
||||
{
|
||||
this.targets.Add(pawn);
|
||||
this.targetLabels.Add(pawn.NameShortColored.Resolve());
|
||||
|
|
Loading…
Reference in New Issue