private void MakeMergedPawn([NotNull] SapienceTracker sTracker) { if (sTracker.CurrentState != null) { return; } (Pawn p1, Pawn p2) = FormerHumanUtilities.GenerateRandomUnmergedHuman(sTracker.Pawn); CleanupPawn(p1); CleanupPawn(p2); Pawn[] tmpArr = { p1, p2 }; MergedPawnUtilities.TransferToMergedPawn(tmpArr, sTracker.Pawn); var tfPawn = new MergedPawns() { meld = sTracker.Pawn, originals = new List <Pawn> { p1, p2 } }; var gComp = Find.World.GetComponent <PawnmorphGameComp>(); gComp.AddTransformedPawn(tfPawn); //TODO figure out how relationships work for merged pawns sTracker.EnterState(SapienceStateDefOf.MergedPawn, Rand.Range(0.2f, 1)); }