protected override bool PrivateUpdate(ScenarioFrame frame) { Firefighter instance = Firefighter.Instance; if (instance == null) { IncStat("No Service"); return(false); } List <SimDescription> sims = new List <SimDescription>(); foreach (SimDescription sim in Sims.All) { if (SimTypes.IsSelectable(sim)) { IncStat("Active"); } else if (sim.CreatedSim == null) { IncStat("Hibernating"); } else if (sim.LotHome == null) { IncStat("Not Resident"); } else if (!(sim.Occupation is ActiveFireFighter)) { IncStat("Not Firefighter"); } else if (!Situations.Allow(this, sim, Managers.Manager.AllowCheck.None)) { IncStat("Situation Denied"); } else { sims.Add(sim); } } if (sims.Count > 0) { AddStat("Choices", sims.Count); SimDescription choice = RandomUtil.GetRandomObjectFromList(sims); if (Situations.GreetSimOnLot(choice, Lot)) { IncStat("Active Firefighter"); new NRaas.StoryProgressionSpace.Situations.FirefighterSituation(Lot, choice.CreatedSim); return(true); } } IncStat("Service Firefighter"); instance.MakeServiceRequest(Lot, true, ObjectGuid.InvalidObjectGuid); return(true); }