protected override void PrivatePerformAction(bool prompt) { Overwatch.Log(Name); foreach (Sim createdSim in new List <Sim> (LotManager.Actors)) { if (createdSim.SimDescription == null) { continue; } StuckSimData other; if (!sData.TryGetValue(createdSim.SimDescription.SimDescriptionId, out other)) { other = new StuckSimData(); sData.Add(createdSim.SimDescription.SimDescriptionId, other); } try { bool reset = false; SimDescription sim = createdSim.SimDescription; if (TestAging(sim, other)) { reset = true; } if (reset) { string notice = Common.Localize(GetTitlePrefix() + ":" + other.Reason + "Two", sim.IsFemale, new object[] { sim }); if (other.mAgingSituation) { ResetSimTask.Perform(createdSim, true); sData.Remove(sim.SimDescriptionId); } else { AgeTransitionTask.Perform(createdSim); } Overwatch.AlarmNotify(notice); Overwatch.Log(notice); } else if (other.Valid) { if (Overwatch.Settings.mReportFirstResetCheck) { string notice = Common.Localize(GetTitlePrefix() + ":" + other.Reason + "One", sim.IsFemale, new object[] { sim }); Overwatch.Notify(createdSim, notice); Overwatch.Log(notice); Overwatch.Log(" Was Negative: " + other.mWasNegative); Overwatch.Log(" Aging Situation: " + other.mAgingSituation); } if (other.mWasNegative) { AgeTransitionTask.Perform(createdSim); } } } catch (Exception e) { Common.Exception(createdSim, e); } } }