public override string GetInteractionName(Sim actor, Sim target, InteractionObjectPair iop) { if (mTryingFor == SaunaClassic.CuddleSeatedWooHooSauna.TryingFor.TryForNothing) { return(Common.LocalizeEAString(actor.IsFemale, "Gameplay/Excel/Socializing/Action:NRaasTryForBaby", new object[0])); } else { return(SaunaClassic.LocalizeString(actor.IsFemale, mTryingFor.ToString(), new object[] { actor, target })); } }
protected override bool Satisfies(Sim a, Sim target, SaunaClassic obj, bool isAutonomous, ref GreyedOutTooltipCallback greyedOutTooltipCallback) { try { if (!base.Satisfies(a, target, obj, isAutonomous, ref greyedOutTooltipCallback)) { return(false); } return(CommonPregnancy.SatisfiesTryForBaby(a, target, "SaunaTryForBaby", isAutonomous, true, ref greyedOutTooltipCallback)); } catch (Exception exception) { Common.Exception(a, target, exception); } return(false); }
public bool TestUse(SaunaClassic obj) { if (!TestRepaired(obj)) { return(false); } if (obj.GetLeftSim() != null) { return(false); } if (obj.GetRightSim() != null) { return(false); } return(true); }
public PushWooHooOrTryForBaby(SaunaClassic obj, Sim actor, Sim target, bool autonomous, bool pushGetIn, InteractionDefinition definition) { mObject = obj; mActor = actor; mTarget = target; mDefinition = definition; mAutonomous = autonomous; if (pushGetIn) { SaunaSit entry = mActor.CurrentInteraction as SaunaSit; if ((entry == null) || (entry.Target != mObject)) { entry = SaunaSit.WoohooSingleton.CreateInstanceWithCallbacks(mObject, mActor, new InteractionPriority(InteractionPriorityLevel.UserDirected), false, true, null, OnActorCompleted, null) as SaunaSit; if (!mActor.InteractionQueue.Add(entry)) { return; } } entry.mIsMaster = true; SaunaSit instance = mTarget.CurrentInteraction as SaunaSit; if ((instance == null) || (instance.Target != mObject)) { instance = SaunaSit.WoohooSingleton.CreateInstanceWithCallbacks(mObject, mTarget, new InteractionPriority(InteractionPriorityLevel.UserDirected), false, true, null, OnCompleted, null) as SaunaSit; if (!mTarget.InteractionQueue.Add(instance)) { mTargetFail = true; return; } } instance.mIsMaster = false; instance.LinkedInteractionInstance = entry; } else { OnCompleted(mActor, 1); } }
public static bool StateMachineEnterAndSit(SaunaClassic ths, bool forWoohoo, StateMachineClient smc, SittingPosture sitPosture, Slot routingSlot, object sitContext) { /* * if (sitPosture.Sim.SimDescription.IsVisuallyPregnant) * { * ThoughtBalloonManager.BalloonData bd = null; * bd = new ThoughtBalloonManager.BalloonData("balloon_moodlet_pregnant"); * if (bd != null) * { * sitPosture.Sim.ThoughtBalloonManager.ShowBalloon(bd); * } * return false; * } */ if ((sitPosture.Sim.CarryingChildPosture != null) || (sitPosture.Sim.CarryingPetPosture != null)) { return(false); } if (!sitPosture.Sim.HasTrait(TraitNames.NeverNude)) { bool change = false; if ((Woohooer.Settings.mNakedOutfitSaunaGeneral) || ((forWoohoo) && (Woohooer.Settings.mNakedOutfitSaunaWoohoo))) { if (sitPosture.Sim.SimDescription.Teen) { if (Woohooer.Settings.mAllowTeenWoohoo) { change = true; } } else if (sitPosture.Sim.SimDescription.YoungAdultOrAbove) { change = true; } } if (change) { sitPosture.Sim.SwitchToOutfitWithSpin(OutfitCategories.Naked, 0); Woohooer.Settings.AddChange(sitPosture.Sim); } else { sitPosture.Sim.SwitchToOutfitWithSpin(Sim.ClothesChangeReason.GoingToSwim); } } if (!MultiSeatObjectEx.StateMachineEnterAndSit(ths, smc, sitPosture, routingSlot, sitContext)) { return(false); } sitPosture.Interactions.Remove(new InteractionObjectPair(StartSeatedCuddleA.Singleton, sitPosture.Sim)); sitPosture.Sim.RemoveInteractionByType(StartSeatedCuddleA.Singleton); List <InteractionDefinition> list = sitPosture.mSocialInteractionDefinitions as List <InteractionDefinition>; if (list != null) { list.Remove(StartSeatedCuddleA.Singleton); } sitPosture.AddInteraction(SaunaClassic.CuddleSeatedWooHooSauna.Singleton, sitPosture.Sim); sitPosture.AddInteraction(SaunaClassic.CuddleSeatedWooHooSauna.TryForBoySingleton, sitPosture.Sim); sitPosture.AddInteraction(SaunaClassic.CuddleSeatedWooHooSauna.TryForGirlSingleton, sitPosture.Sim); sitPosture.AddInteraction(SaunaClassic.StartSaunaSeatedCuddleA.Singleton, sitPosture.Sim); sitPosture.AddSocialInteraction(SaunaClassic.StartSaunaSeatedCuddleA.Singleton); sitPosture.Sim.BuffManager.AddElementPaused((BuffNames)(0x9a7f5f1919df0018L), Origin.None); return(true); }
public override string[] GetPath(bool isFemale) { return(new string[] { (SaunaClassic.LocalizeString(isFemale, "WoohooPath", new object[0x0]) + Localization.Ellipsis) }); }
public override string GetInteractionName(Sim actor, SaunaClassic target, InteractionObjectPair iop) { return(Common.LocalizeEAString(actor.IsFemale, "Gameplay/Excel/Socializing/Action:NRaasRiskyWooHoo", new object[0]) + Common.LocalizeEAString(false, "NRaas.Woohooer:RiskyChance", new object[] { Woohooer.Settings.GetRiskyBabyMadeChance(actor) })); }
public override string GetInteractionName(Sim actor, SaunaClassic target, InteractionObjectPair iop) { return(Common.LocalizeEAString(actor.IsFemale, "Gameplay/Excel/Socializing/Action:NRaasWooHoo", new object[0])); }
public static bool StateMachineEnterAndSit(SaunaClassic ths, bool forWoohoo, StateMachineClient smc, SittingPosture sitPosture, Slot routingSlot, object sitContext) { /* if (sitPosture.Sim.SimDescription.IsVisuallyPregnant) { ThoughtBalloonManager.BalloonData bd = null; bd = new ThoughtBalloonManager.BalloonData("balloon_moodlet_pregnant"); if (bd != null) { sitPosture.Sim.ThoughtBalloonManager.ShowBalloon(bd); } return false; } */ if ((sitPosture.Sim.CarryingChildPosture != null) || (sitPosture.Sim.CarryingPetPosture != null)) { return false; } if (!sitPosture.Sim.HasTrait(TraitNames.NeverNude)) { bool change = false; if ((Woohooer.Settings.mNakedOutfitSaunaGeneral) || ((forWoohoo) && (Woohooer.Settings.mNakedOutfitSaunaWoohoo))) { if (sitPosture.Sim.SimDescription.Teen) { if (Woohooer.Settings.mAllowTeenWoohoo) { change = true; } } else if (sitPosture.Sim.SimDescription.YoungAdultOrAbove) { change = true; } } if (change) { sitPosture.Sim.SwitchToOutfitWithSpin(OutfitCategories.Naked, 0); Woohooer.Settings.AddChange(sitPosture.Sim); } else { sitPosture.Sim.SwitchToOutfitWithSpin(Sim.ClothesChangeReason.GoingToSwim); } } if (!MultiSeatObjectEx.StateMachineEnterAndSit(ths, smc, sitPosture, routingSlot, sitContext)) { return false; } sitPosture.Interactions.Remove(new InteractionObjectPair(StartSeatedCuddleA.Singleton, sitPosture.Sim)); sitPosture.Sim.RemoveInteractionByType(StartSeatedCuddleA.Singleton); List<InteractionDefinition> list = sitPosture.mSocialInteractionDefinitions as List<InteractionDefinition>; if (list != null) { list.Remove(StartSeatedCuddleA.Singleton); } sitPosture.AddInteraction(SaunaClassic.CuddleSeatedWooHooSauna.Singleton, sitPosture.Sim); sitPosture.AddInteraction(SaunaClassic.CuddleSeatedWooHooSauna.TryForBoySingleton, sitPosture.Sim); sitPosture.AddInteraction(SaunaClassic.CuddleSeatedWooHooSauna.TryForGirlSingleton, sitPosture.Sim); sitPosture.AddInteraction(SaunaClassic.StartSaunaSeatedCuddleA.Singleton, sitPosture.Sim); sitPosture.AddSocialInteraction(SaunaClassic.StartSaunaSeatedCuddleA.Singleton); sitPosture.Sim.BuffManager.AddElementPaused((BuffNames)(0x9a7f5f1919df0018L), Origin.None); return true; }