/// <summary> /// Handels getting caught /// </summary> public void GotCaught() { //Set all family members of the victim, to hate the killer foreach (var sim in Player2.SimDescription.Household.Sims) { if (sim != Player1) { sim.BuffManager.AddElement(BuffNames.MyLove, misery, miseryTimeout, Origin.FromWitnessingDeath); sim.BuffManager.AddElement(BuffNames.Upset, misery, miseryTimeout, Origin.FromGrimReaper); sim.BuffManager.AddElement(BuffNames.WitnessedBetrayal, misery, miseryTimeout, Origin.FromEnemy); } //Remove relationship sim.SocialComponent.AddRelationshipUpdate(Player1, CommodityTypes.Creepy, -100f, -100f); } //Only adults can get arrested ArrestSuspectSituation.Create(Player1.LotCurrent, Player1); //Create aura of evil SimpleAura aura = new SimpleAura(Player1, Criminal.kAuraOfEvilParams, "evilAura"); //Loose job only if not a criminal if (Player1.SimDescription.Occupation != null) { if (((ulong)Player1.SimDescription.Occupation.Guid) != ((ulong)OccupationNames.Criminal)) { Player1.SimDescription.Occupation.FireSim(false); } } }
public override bool Run() { Definition interactionDefinition = base.InteractionDefinition as Definition; ArrestSuspectSituation arrestSituation = interactionDefinition.ArrestSituation; CarService copCar = arrestSituation.CopCar; Sim simToArrest = arrestSituation.SimToArrest; if (base.Actor == simToArrest) { copCar.RouteToAndGetIn(simToArrest, false); InteractionInstance instance = PoliceSituation.Wait.Singleton.CreateInstance(simToArrest, simToArrest, new InteractionPriority(InteractionPriorityLevel.High), false, false); simToArrest.InteractionQueue.PushAsContinuation(instance, true); } else { copCar.RouteToAndGetIn(arrestSituation.Cop, true); CarNpcManager.Singleton.DriveToLotInCar(copCar, arrestSituation.Cop, arrestSituation.Station.LotCurrent, false); } return(true); }
public Definition(ArrestSuspectSituation situation) { this.arrestSituation = situation; }