protected override bool Allow(SimDescription sim) { if (sim.LotHome == null) { IncStat("Not Resident"); return(false); } else if (sim.AdultOrAbove) { IncStat("Too Old"); return(false); } else if (sim.TraitManager == null) { IncStat("No Manager"); return(false); } else if (!Sims.MatchesAlertLevel(sim)) { IncStat("No Match"); return(false); } return(base.Allow(sim)); }
protected bool PrivatePerform() { if (!Sims.Instantiate(Sim, null, false)) { return(false); } if (Sim.CreatedSim == null) { return(false); } bool DnP = (Sim.CreatedSim.DreamsAndPromisesManager != null); bool success = false; if (!DnP) { bool hadWish = Sim.HasLifetimeWish; try { DreamsAndPromisesManager.CreateAndIntitForSim(Sim.CreatedSim); } catch (Exception e) { Common.DebugException(Sim, e); } if (!hadWish) { Sim.LifetimeWish = ChooseRandomLifetimeWish(Sim.CreatedSim.DreamsAndPromisesManager); if (Sim.HasLifetimeWish) { Sim.CreatedSim.DreamsAndPromisesManager.TryAddLifetimeWish(); } success = true; } } if ((Sims.MatchesAlertLevel(Sim)) && (GetValue <PromptOption, bool>())) { if ((AcceptCancelDialog.Show(ManagerSim.GetPersonalInfo(Sim, Common.Localize("ChooseLifetimeWish:Prompt", Sim.IsFemale)))) && (LifetimeWants.SetLifetimeWant(Sim))) { success = true; } } if (!success) { Sim.LifetimeWish = ChooseRandomLifetimeWish(Sim.CreatedSim.DreamsAndPromisesManager); if (Sim.HasLifetimeWish) { Sim.CreatedSim.DreamsAndPromisesManager.TryAddLifetimeWish(); } } IncStat("Set"); if (!DnP) { Sim.CreatedSim.NullDnPManager(); } return(true); }