mirror of
				https://github.com/vegapnk/RJW-Genes.git
				synced 2024-08-15 00:23:31 +00:00 
			
		
		
		
	Hardened Utility to account for childs with in-active lifeforce
This commit is contained in:
		
							parent
							
								
									999236768e
								
							
						
					
					
						commit
						1b590ba2a2
					
				
					 2 changed files with 30 additions and 3 deletions
				
			
		| 
						 | 
				
			
			@ -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…
	
	Add table
		Add a link
		
	
		Reference in a new issue