public override bool Test(Sim a, Sarcophagus target, bool isAutonomous, ref GreyedOutTooltipCallback greyedOutTooltipCallback) { if ((!target.mLookedIn) && (TombRoomManager.IsObjectInATombRoom(target))) { return(false); } return(base.Test(a, target, isAutonomous, ref greyedOutTooltipCallback)); }
public static void CheckChangeInActiveHousehold(Household newHousehold, bool bForce) { if (newHousehold == null) { return; } if (sCurrentNonNullHousehold == null) { sCurrentNonNullHousehold = PlumbBob.sCurrentNonNullHousehold; PlumbBob.sCurrentNonNullHousehold = null; } try { if (sCurrentNonNullHousehold != newHousehold || bForce) { Lot lot = null; if (sCurrentNonNullHousehold != null) { lot = sCurrentNonNullHousehold.LotHome; } if (sCurrentNonNullHousehold != null && sCurrentNonNullHousehold != newHousehold) { Situation.OnActiveHouseholdChanged(sCurrentNonNullHousehold, newHousehold); if (!NiecHelperSituation.__acorewIsnstalled__) { Party.CancelAllHouseParties(sCurrentNonNullHousehold.LotHome); } //sCurrentNonNullHousehold.ResetSocialWorkerTrigger(); foreach (Sim allActor in sCurrentNonNullHousehold.AllActors) { try { allActor.OnBecameUnselectable(); } catch (Exception) { if (!NiecHelperSituation.__acorewIsnstalled__) { throw; } } } if (lot != null) { lot.OnBecameUnselected(); } sCurrentNonNullHousehold.ResetParentVacationsTrigger(); } if (newHousehold != null) { foreach (Sim actor in newHousehold.AllActors) { if (!Household.RoommateManager.IsNPCRoommate(actor)) { try { actor.OnBecameSelectable(); } catch (Exception) { if (!NiecHelperSituation.__acorewIsnstalled__) { throw; } } } } if (sCurrentNonNullHousehold != newHousehold) { if (lot != null) { //lot.TryTurnOffHolidayHouseLights(); } newHousehold.GiveIngredients(); } if (newHousehold.LotHome != null) { newHousehold.LotHome.OnBecameSelected(); } Lot.UpdatePlayerNeighbors(); TombRoomManager.OnChangeHousehold(newHousehold); try { if (sCurrentNonNullHousehold != newHousehold) { newHousehold.SetParentFreeVacationTrigger(false, false); } } catch (Exception) { if (!NiecHelperSituation.__acorewIsnstalled__) { throw; } } } EventTracker.SendEvent(new HouseholdUpdateEvent(EventTypeId.kHouseholdSelected, newHousehold)); } sCurrentNonNullHousehold = newHousehold; PlumbBob.sCurrentNonNullHousehold = newHousehold; } catch (Exception ex) { niec_native_func.OutputDebugString("CheckChangeInActiveHousehold(Household newHousehold, bool bForce) failed."); NiecException.SendTextExceptionToDebugger(ex); } }