public static SimDescription CreateProgenitor(ulong id, out bool unpacked) { unpacked = false; if (id == 0) { return(null); } if (FutureDescendantServiceEx.UnpackedSims.ContainsKey(id)) { return(FutureDescendantServiceEx.UnpackedSims[id]); } SimDescription sim = SimDescription.Find(id); if (sim == null) { MiniSimDescription msd = MiniSimDescription.Find(id); if (msd == null) { return(null); } // Custom sim = MiniSims.UnpackSimAndUpdateRel(msd); if (sim == null) { return(null); } Household.CreateTouristHousehold(); Household.TouristHousehold.AddTemporary(sim); msd.Instantiated = true; if (sim.AgingState != null) { sim.AgingState.MergeTravelInformation(msd); } FutureDescendantServiceEx.UnpackedSims.Add(id, sim); SpeedTrap.Sleep(); unpacked = true; } sim.Fixup(); return(sim); }