protected override bool PrivateUpdate(ScenarioFrame frame) { if (SimID.Matches(Flirts.PreviousLoveLoss, Sim)) { Flirts.PreviousLoveLoss = null; } return(true); }
public override void RemoveSim(ulong sim) { base.RemoveSim(sim); RemoveSim(mFlirtPool, sim); RemoveSim(mFlirtySims, sim); if (SimID.Matches(mPreviousLoveLoss, sim)) { mPreviousLoveLoss = null; } }
protected override bool PrivateUpdate(ScenarioFrame frame) { Relationship relationship = ManagerSim.GetRelationship(Sim, Target); if (relationship == null) { return(false); } LongTermRelationship LTR = relationship.LTR; if (LTR == null) { return(false); } Sim.SetFirstKiss(Target); Sim.SetFirstRomance(Target); SetElapsedTime <DayOfLastFlirtOption>(Sim); SetElapsedTime <DayOfLastFlirtOption>(Target); if ((Sim.CreatedSim != null) && (Target.CreatedSim != null)) { EventTracker.SendEvent(new AskOnDateEvent(Sim.CreatedSim, Target.CreatedSim, true)); } Romances.BumpToHigherState(this, Sim, Target); IncStat(LTR.CurrentLTR.ToString()); if (SimID.Matches(Flirts.PreviousLoveLoss, Sim)) { Flirts.PreviousLoveLoss = null; } return(true); }
protected override bool PrivateUpdate(ScenarioFrame frame) { Relationship relationship = ManagerSim.GetRelationship(Sim, Target); if (relationship == null) { return(false); } LongTermRelationship LTR = relationship.LTR; if (LTR == null) { return(false); } if (Sim.TraitManager.HasElement(TraitNames.GreatKisser) || Target.TraitManager.HasElement(TraitNames.GreatKisser)) { if (Sim.CreatedSim != null) { ManagerSim.AddBuff(this, Sim, BuffNames.GreatKisser, Origin.FromSocialization); } if (Target.CreatedSim != null) { ManagerSim.AddBuff(this, Target, BuffNames.GreatKisser, Origin.FromSocialization); } } if (SimID.Matches(Flirts.PreviousLoveLoss, Sim)) { Flirts.PreviousLoveLoss = null; } if (LTR.Liking > Sims3.Gameplay.Actors.Sim.kWooHooUseLikingGate) { if (!Sim.HadFirstWooHoo) { Sim.SetFirstWooHoo(); if ((Sim.CreatedSim != null) && (Target.CreatedSim != null)) { EventTracker.SendEvent(EventTypeId.kHadFirstWoohoo, Sim.CreatedSim, Target.CreatedSim); } } if (!Target.HadFirstWooHoo) { Target.SetFirstWooHoo(); if ((Sim.CreatedSim != null) && (Target.CreatedSim != null)) { EventTracker.SendEvent(EventTypeId.kHadFirstWoohoo, Target.CreatedSim, Sim.CreatedSim); } } LTR.AddInteractionBit(LongTermRelationship.InteractionBits.Kissed); LTR.AddInteractionBit(LongTermRelationship.InteractionBits.WooHoo); if (Sim.IsHuman) { Sim.SetFirstKiss(Target); Target.SetFirstKiss(Sim); } else { if ((Sim.CreatedSim != null) && (Target.CreatedSim != null)) { EventTracker.SendEvent(EventTypeId.kPetWooHooed, Sim.CreatedSim, Target.CreatedSim); EventTracker.SendEvent(EventTypeId.kPetWooHooed, Target.CreatedSim, Sim.CreatedSim); } } if (mPregnancyChance != 0) { Add(frame, new UnexpectedPregnancyScenario(Sim, Target, mPregnancyChance), ScenarioResult.Start); } else { Romances.AddWoohooerNotches(Sim, Target, false, false); } } if (OnRomanceAffairScenario != null) { OnRomanceAffairScenario(this, frame); } return(false); }