Example #1
0
        /// <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);
                }
            }
        }
Example #2
0
        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);
        }
Example #3
0
 public Definition(ArrestSuspectSituation situation)
 {
     this.arrestSituation = situation;
 }