protected static void OnTravelHouseholdChanged(HouseholdEvent householdEvent, IActor member, Household oldHousehold) { try { if (oldHousehold != null) { if (GameStates.TravelHousehold == null) { oldHousehold.HouseholdSimsChanged -= OnTravelHouseholdChanged; return; } if (householdEvent == HouseholdEvent.kSimRemoved) { if (Households.NumSims(oldHousehold) == 0) { oldHousehold.HouseholdSimsChanged -= OnTravelHouseholdChanged; if (GameStates.sTravelData != null) { GameStates.sTravelData.mTravelHouse = Household.ActiveHousehold; } LinkToTravelHousehold(); } } } } catch (Exception e) { Common.Exception("OnTravelHouseholdChanged", e); } }
protected override bool Allow(SimDescription sim) { if (!base.Allow(sim)) { return(false); } if (!GetValue <AllowAdoptionOption, bool>(sim)) { IncStat("Adoption Denied"); return(false); } else if (!Households.Allow(this, sim, 0)) { IncStat("User Denied"); return(false); } else if (AddScoring("Adoption Cooldown", TestElapsedTime <DayOfLastPetOption, MinTimeBetweenAdoptionOption>(sim)) < 0) { AddStat("Too Soon After Adoption", GetElapsedTime <DayOfLastPetOption>(sim)); return(false); } else if (Situation.GetSituations <SocialWorkerPetAdoptionSituation>().Count > 0) { IncStat("Adoption Situation"); return(false); } else if ((sim.IsHorse) && (sim.Child)) { IncStat("Foal"); return(false); } return(true); }
protected new void JournalismRummage(Sim rummager, IOutdoorAcceptsGarbage can) { Journalism job = OmniCareer.Career <Journalism>(rummager.Occupation); Common.DebugNotify("RummageEx:JournalismRummage"); List <SimDescription> choices = new List <SimDescription>(); foreach (SimDescription sim in Households.Humans(can.LotCurrent.Household)) { if (sim.YoungAdultOrAbove && !job.SimsTrashScoped.Contains(sim)) { choices.Add(sim); } } if (choices.Count != 0x0) { SimDescription choice = RandomUtil.GetRandomObjectFromList(choices); Common.DebugNotify("JournalismRummage: " + choice.FullName); job.SimsTrashScoped.Add(choice); rummager.ShowTNSIfSelectable(Common.LocalizeEAString(rummager.IsFemale, "Gameplay/Objects/Miscellaneous/TrashcanOutside:RummageForInfo" + RandomUtil.GetInt(0x1, 0x3), new object[] { rummager, choice }), StyledNotification.NotificationStyle.kGameMessagePositive, ObjectGuid.InvalidObjectGuid, rummager.ObjectId); } }
protected override bool Allow() { if ((mMovers == null) || (mMovers.Count == 0)) { return(false); } foreach (SimDescription sim in mMovers) { if ((sim.Household != null) && (TestAllow) && (!Households.Allow(this, sim))) { IncStat("User Denied"); return(false); } else if (SimTypes.IsDead(sim)) { IncStat("Dead"); return(false); } else if (!sim.Marryable) { IncStat("Not Marryable"); return(false); } else if (SimTypes.InServicePool(sim, ServiceType.GrimReaper)) { IncStat("Reaper Denied"); return(false); } } return(base.Allow()); }
public override void PopulatePieMenuPicker(ref InteractionInstanceParameters parameters, out List <ObjectPicker.TabInfo> listObjs, out List <ObjectPicker.HeaderInfo> headers, out int NumSelectableRows) { if (GameUtils.IsFutureWorld()) { base.PopulatePieMenuPicker(ref parameters, out listObjs, out headers, out NumSelectableRows); } else { listObjs = null; headers = null; Sim actor = parameters.Actor as Sim; List <Sim> sims = new List <Sim>(); foreach (Sim sim2 in Households.AllSims(actor.Household)) { GreyedOutTooltipCallback callback = null; if (TravelerSpace.Helpers.TravelUtilEx.CanSimTriggerTravelToFutureWorld(sim2, true, ref callback)) { sims.Add(sim2); } } NumSelectableRows = sims.Count - 0x1; if (NumSelectableRows > 0x0) { base.PopulateSimPicker(ref parameters, out listObjs, out headers, sims, false); } } }
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 PrivateUpdate(ScenarioFrame frame) { HouseholdBreakdown breakdown = new HouseholdBreakdown(Manager, this, UnlocalizedName, Sim, ChildMove, false); if (!breakdown.SimGoing) { IncStat("Staying"); return(false); } else if ((breakdown.NoneStaying) && (Sim.LotHome != null)) { IncStat("None Staying"); return(false); } else if (breakdown.NoneGoing) { IncStat("None Going"); return(false); } else if ((mStay != null) && (breakdown.Going.Contains(mStay))) { IncStat("Both Going"); return(false); } if (Households.AllowSoloMove(Sim)) { Add(frame, GetMoveInLotScenario(breakdown.Going), ScenarioResult.Failure); } Add(frame, GetMoveInScenario(breakdown.Going), ScenarioResult.Failure); return(false); }
protected override bool Allow(SimDescription sim) { if (sim.LotHome == null) { IncStat("Homeless"); return(false); } else if (!Households.AllowGuardian(sim)) { IncStat("Too Young"); return(false); } else if (AddScoring("Popularity", sim) <= 0) { IncStat("Unpopular"); return(false); } else if (AddScoring("Friendly", sim) <= 0) { IncStat("Score Fail"); return(false); } return(base.Allow(sim)); }
public static List <Sim> GetPotentials(Sim actor, Sim target) { Lot lotHome = actor.LotHome; bool allowHorses = ((lotHome == null) || (!lotHome.HasVirtualResidentialSlots)); List <Sim> results = new List <Sim>(); if (target.Household != null) { foreach (Sim sim in Households.AllPets(target.Household)) { if (!sim.SimDescription.ChildOrBelow) { continue; } if (sim.IsHorse) { if (!allowHorses) { continue; } } results.Add(sim); } } return(results); }
public void DeleteHousehold(int householdInternalId) { var personQuery = People.Where(a => a.InternalParentId == householdInternalId); if (personQuery.Any()) { foreach (var person in personQuery) { DeletePerson(person.InternalId); } } var incomeSourceQuery = IncomeSources.Where(a => a.InternalParentId == householdInternalId); if (incomeSourceQuery.Any()) { foreach (var incomeSource in incomeSourceQuery) { DeleteIncomeSource(incomeSource.InternalId); } } DeleteHouseholdCustomValues(householdInternalId); var householdQuery = Households.Where(a => a.InternalId == householdInternalId); if (householdQuery.Any()) { Households.RemoveRange(householdQuery); } }
public List <SimDescription> GetDeedOwner(RabbitHole hole) { List <SimDescription> owners = new List <SimDescription>(); if (hole != null) { foreach (Household house in Household.GetHouseholdsLivingInWorld()) { if (house.RealEstateManager == null) { continue; } PropertyData data = house.RealEstateManager.FindProperty(hole); if (data == null) { continue; } foreach (SimDescription sim in HouseholdsEx.Humans(house)) { if (Households.AllowGuardian(sim)) { owners.Add(sim); } } } } return(owners); }
public new static Relationship GetRelationshipToHostedSituation(SimDescription hostSim, SimDescription simToCheck) { Relationship relationship2 = Relationship.Get(hostSim, simToCheck, false); float liking2 = 0; if (relationship2 != null) { liking2 = relationship2.LTR.Liking; } foreach (SimDescription description in Households.Humans(hostSim.Household)) { Relationship relationship = Relationship.Get(description, simToCheck, false); float liking = 0; if (relationship != null) { liking = relationship.LTR.Liking; } if (liking > liking2) { relationship2 = relationship; } } return(relationship2); }
protected override bool Allow(SimDescription sim) { if (Deaths.IsDying(sim)) { IncStat("Dying"); return(false); } else if (sim.Household == null) { IncStat("No Home"); return(false); } else if (!Households.AllowGuardian(sim)) { IncStat("Too Young"); return(false); } else if (sim.Genealogy == null) { IncStat("No Gene"); return(false); } else if (!Money.Allow(this, sim)) { IncStat("User Denied"); return(false); } else if (sim.TraitManager.HasElement(TraitNames.NoBillsEver)) { IncStat("No Bills"); return(false); } return(base.Allow(sim)); }
public static bool SatisfiesMaximumOccupants(Sim sim, bool autonomous, ref GreyedOutTooltipCallback greyedOutTooltipCallback) { if (autonomous) { return(true); } int count = 0; if (sim.IsHuman) { count = Households.NumHumansIncludingPregnancy(sim.Household); } else { count = Households.NumPetsIncludingPregnancy(sim.Household); } int maximum = Woohooer.Settings.mTryForBabyUserMaximum[PersistedSettings.GetSpeciesIndex(sim)]; if ((maximum > 0) && (count > maximum)) { greyedOutTooltipCallback = delegate { return(Common.Localize("TryForBaby:UserMaximum", sim.IsFemale)); }; return(false); } return(true); }
public static string Perform(Household house, bool ignorePlaceholders) { if (house.LotHome == null) { return(null); } string msg = null; if (Households.NumSims(house) != Households.AllSims(house).Count) { List <SimDescription> sims = new List <SimDescription>(Households.All(house)); foreach (SimDescription description in sims) { bool flag = true; foreach (Sim sim in Households.AllSims(house)) { if (sim.SimDescription == description) { flag = false; break; } } if (flag) { FixInvisibleTask.Perform(description, false); msg += RecoverMissingSimTask.Perform(description, ignorePlaceholders); } } } return(msg); }
public int GetSpeed(DaysOfTheWeek day, int hour, int overrideSpeed) { if (mDisable) { return(Relativity.sOneMinute); } if (overrideSpeed > 0) { return(overrideSpeed); } int speed = 0; if (mSpeedOverride != 0) { if (mSpeedOverride < 0) { speed = 0; } else { speed = mSpeedOverride; } } else { Dictionary <DaysOfTheWeek, Dictionary <int, int> > days; if ((!Speeds.TryGetValue(GameUtils.GetCurrentWorld(), out days)) && (!Speeds.TryGetValue(WorldName.Undefined, out days))) { speed = Relativity.sOneMinute; } else { Dictionary <int, int> hours; if (!days.TryGetValue(day, out hours)) { speed = Relativity.sOneMinute; } else if (!hours.TryGetValue(hour, out speed)) { speed = Relativity.sOneMinute; } } } int activeSize = Households.NumSims(Household.ActiveHousehold) - mActiveSimFactorMinimum; if (activeSize > 0) { speed -= (int)(speed * activeSize * (mActiveSimFactorReduction / 100f)); if (speed <= 0) { speed = 1; } } return(speed); }
protected override bool Allow(Household house) { if (!Households.Allow(this, house, 0)) { IncStat("User Denied"); return(false); } else if (!GetValue <AllowAdoptionOption, bool>(SimTypes.HeadOfFamily(house))) { IncStat("Adoption Denied"); return(false); } else { SimDescription head = SimTypes.HeadOfFamily(house); if (AddScoring("Cooldown: Between Adoptions", TestElapsedTime <DayOfLastPetOption, PetAdoptionScenario.MinTimeBetweenAdoptionOption>(head)) < 0) { AddStat("Too Soon After Adoption", GetElapsedTime <DayOfLastPetOption>(head)); return(false); } } mPassedInspection = Lots.PassesHomeInspection(this, House.LotHome, HouseholdsEx.Pets(House), ManagerLot.FindLotFlags.InspectPets); if ((mPassedInspection) && (!HouseholdsEx.IsFull(this, House, CASAgeGenderFlags.Dog, GetValue <RoomToLeaveOption, int>(), false))) { IncStat("Score Fail"); return(false); } return(base.Allow(house)); }
protected override bool Allow(SimDescription sim) { if ((sim.Household == null) || (sim.LotHome == null)) { IncStat("Homeless"); return(false); } int count = 0; foreach (SimDescription member in sim.Household.AllSimDescriptions) { if (!Households.AllowGuardian(member)) { continue; } if (Deaths.IsDying(member)) { continue; } count++; } if (count > 0) { IncStat("Remaining"); return(false); } return(base.Allow(sim)); }
protected override void PrivatePerformAction(bool prompt) { try { Overwatch.Log("Turn Off Televisions"); int count = 0; List <TV> televisions = new List <TV>(Sims3.Gameplay.Queries.GetObjects <TV>()); foreach (TV obj in televisions) { if ((!NRaas.Overwatch.Settings.mAffectActiveLot) && (Household.ActiveHousehold != null)) { if (obj.LotCurrent.Household == Household.ActiveHousehold) { continue; } bool found = false; foreach (Sim sim in Households.AllSims(Household.ActiveHousehold)) { if (sim.LotCurrent == obj.LotCurrent) { found = true; break; } } if (found) { continue; } } if (obj.TurnedOn) { try { obj.ClearStateInformation(); obj.TurnOff(); count++; } catch { obj.SetObjectToReset(); } } } if (count > 0) { Overwatch.AlarmNotify(Common.Localize("TurnOffTelevisions:Success", false, new object[] { count })); } } catch (Exception exception) { Common.Exception(Name, exception); } }
public ActionResult DeleteConfirmed(int id) { Households households = db.Households.Find(id); db.Households.Remove(households); db.SaveChanges(); return(RedirectToAction("Index")); }
public Repository(string host) { UsersRepository = new Users(host, Path); HouseholdsRepository = new Households(host, Path); MessagesRepository = new Messages(host, Path); CategoriesRepository = new Categories(host, Path); CashFlowsRepository = new CashFlows(host, Path); }
protected static void UpdateAttractionControllers(Household newHouse, Household oldHouse) { Dictionary <Relationship, bool> toDispose = new Dictionary <Relationship, bool>(); if (oldHouse != null) { foreach (SimDescription sim in Households.All(oldHouse)) { foreach (Relationship relation in Relationship.Get(sim)) { if (relation.AttractionNPCController != null) { if (!toDispose.ContainsKey(relation)) { toDispose.Add(relation, true); } } } } } if (newHouse != null) { foreach (SimDescription sim in Households.All(newHouse)) { foreach (Relationship relation in Relationship.Get(sim)) { if ((!SimTypes.IsSelectable(relation.SimDescriptionA)) && (!SimTypes.IsSelectable(relation.SimDescriptionB))) { continue; } // don't blow up when one Sim is selectable but out of world (boinked parents vacation, boarding school) if ((relation.SimDescriptionA.CreatedSim == null) && (relation.SimDescriptionB.CreatedSim == null)) { continue; } if (relation.AreAttracted) { if (TestEnableAttractionNPCController(relation)) { toDispose.Remove(relation); if (relation.AttractionNPCController == null) { relation.AttractionNPCController = new AttractionNPCBehaviorController(relation); } } } } } } foreach (Relationship relation in toDispose.Keys) { relation.AttractionNPCController.Dispose(); } }
public CareerStore(Household house, SafeStore.Flag flags) { mSafeStore = new Dictionary <ulong, SafeStore>(); foreach (SimDescription sim in Households.All(house)) { mSafeStore[sim.SimDescriptionId] = new SafeStore(sim, flags); } }
protected override bool PrivateUpdate(ScenarioFrame frame) { if (Households.MatchesAlertLevel(HouseholdsEx.All(House))) { mHead = SimTypes.HeadOfFamily(House); } return(Households.EliminateHousehold(UnlocalizedName, House)); }
protected bool TestMoveInLot() { bool nonRoomie = false; bool hasAdult = false; foreach (SimDescription sim in mMovers) { if (!Households.Allow(this, sim, GetValue <ManagerHousehold.MinTimeBetweenMovesOption, int>())) { IncStat("User Denied"); return(false); } else if ((TestDead) && (SimTypes.IsDead(sim))) { IncStat("Dead"); return(false); } else if (!sim.Marryable) { IncStat("Not Marryable"); return(false); } else if (SimTypes.InServicePool(sim, ServiceType.GrimReaper)) { IncStat("Reaper Denied"); return(false); } if (!Household.RoommateManager.IsNPCRoommate(sim)) { nonRoomie = true; } if (Households.AllowGuardian(sim)) { hasAdult = true; } Lots.PackupVehicles(sim.CreatedSim, true); } if (!nonRoomie) { IncStat("All Roomies"); return(false); } if (!hasAdult) { IncStat("No adult"); return(false); } return(true); }
protected override bool PrivateUpdate(ScenarioFrame frame) { if (GetValue <SplitOpposingClanOption, bool>()) { mOpposing = !Households.Allow(this, Sim, Target, Managers.Manager.AllowCheck.None); } Add(frame, new BrokenHomeMoveOutScenario(Sim, Target), ScenarioResult.Start); return(false); }
protected override bool CommonAllow(SimDescription sim) { if (!Households.AllowGuardian(sim)) { IncStat("Too Young"); return(false); } return(base.CommonAllow(sim)); }
protected override bool Allow(SimDescription sim) { if (!Households.Allow(this, sim)) { IncStat("User Denied"); return(false); } return(base.Allow(sim)); }
protected override bool Allow(SimDescription sim) { if (Households.AllowGuardian(sim)) { IncStat("Too Old"); return(false); } return(base.Allow(sim)); }
public ActionResult Edit([Bind(Include = "Id,Name")] Households households) { if (ModelState.IsValid) { db.Entry(households).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(households)); }