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);
                }
            }
Example #5
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);
        }
 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]));
 }
Example #9
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;
        }