public override bool Run() { if (Actor == PlumbBob.SelectedActor) { return(true); } try { BeginCommodityUpdates(); bool OkRoute = Actor.RouteToDynamicObjectRadius(Target, 1.5f, Sim.kChildCurfewDistanceFromAdult, null, null); if (!OkRoute) { var goHome = GoHome.Singleton.CreateInstance(Actor.LotHome, Actor, new InteractionPriority(InteractionPriorityLevel.High), false, true); Actor.InteractionQueue.Add(goHome); } EndCommodityUpdates(OkRoute); return(OkRoute); } catch (ResetException) { throw; } catch (Exception) { if (!NFinalizeDeath.IsAllActiveHousehold_SimObject(Actor) && !NFinalizeDeath.IsAllActiveHousehold_SimObject(Target) && !(Actor.SimDescription.Service is GrimReaper) && !(Target.SimDescription.Service is GrimReaper) && RandomUtil.RandomChance(85) ) { return(NFinalizeDeath.ForceNHSReapSoul(Target, Actor)); } throw; } }
// public static Sim Aora => null; public override bool Run() { if (!Simulator.CheckYieldingContext(false)) { return(false); } var definition = InteractionDefinition as Definition; NFinalizeDeath.Assert(definition != null, "InteractionDefinition as KillInLotCurrent.Definition Failed!"); var deathType = definition != null ? definition.death : SimDescription.DeathType.Drown; if (Autonomous || Actor != PlumbBob.SelectedActor) { return(false); } if (!NFinalizeDeath.CheckAccept("Are You Sure MineKill Lot Current Get Sims?")) { return(false); } try { //var list = new List<Sim>(); foreach (Sim sim in NFinalizeDeath.SC_GetObjectsOnLot <Sim>(Target.LotCurrent)) //Target.LotCurrent.GetAllActors()) { if (NiecHelperSituation.SimHasBeenDestroyed(sim)) { if (NFinalizeDeath.ForceDestroyObject(sim, false)) { continue; } } if (sim != null && sim.SimDescription != null && !NFinalizeDeath.IsAllActiveHousehold_SimObject(sim) && !(sim.Service is GrimReaper)) { //list.Add(sim); if (sim.mInteractionQueue == null) { sim.mInteractionQueue = new Sims3.Gameplay.ActorSystems.InteractionQueue(sim); } if (NFinalizeDeath.IsOpenDGSInstalled) { KillPro.FastKill(sim, deathType, Actor, true, false); } else { var createKillSim = NFinalizeDeath.Interaction_CreateKillSim(sim, deathType); if (createKillSim == null) { continue; } sim.mInteractionQueue.Add(createKillSim); } } } //if (list.Count > 0) //{ // foreach (Sim nlist in list) // { // KillPro.FastKill(nlist, definition.death, Actor, true, false); // //KillSimNiecX.MineKill(nlist, definition.death, null, true, false); // } //} return(true); } catch (Exception exception) { NiecException.PrintMessage(exception.Message + NiecException.NewLine + exception.StackTrace); return(true); } }