protected override bool Allow(Household house) { if (SimTypes.IsSpecial(house)) { IncStat("Special"); return(false); } else if (house == Household.ActiveHousehold) { IncStat("Active"); return(false); } else if (house.LotHome == null) { IncStat("Homeless"); return(false); } else if (!Households.Allow(this, house, GetValue <ManagerHousehold.MinTimeBetweenMovesOption, int>())) { IncStat("Cooldown"); return(false); } else if (GetValue <IsAncestralOption, bool>(house)) { IncStat("Ancestral"); return(false); } else if (Lots.AllowCastes(this, house.LotHome, HouseholdsEx.All(house))) { IncStat("Unnecessary"); return(false); } return(base.Allow(house)); }
protected override bool Allow(SimDescription sim) { if (!Households.Allow(this, sim)) { IncStat("User Denied"); return(false); } else if (sim.Household == null) { return(false); } else if (SimTypes.IsSpecial(sim)) { IncStat("Special"); return(false); } else if (sim.LotHome == null) { IncStat("Homeless"); return(false); } else if (SimTypes.HeadOfFamily(sim.Household) == sim) { IncStat("Head"); return(false); } else if (!Households.AllowSoloMove(sim)) { IncStat("Too Young"); return(false); } else if (Lots.AllowCastes(this, sim.LotHome, sim)) { IncStat("Unnecessary"); return(false); } return(base.Allow(sim)); }