Ejemplo n.º 1
0
            public Sim ITarget(InteractionInstance paramInteraction)
            {
                RabbitHole.VisitRabbitHoleBase <TInteraction> interaction = paramInteraction as RabbitHole.VisitRabbitHoleBase <TInteraction>;
                if (interaction == null)
                {
                    return(null);
                }

                return(interaction.WooHooee);
            }
Ejemplo n.º 2
0
        public override bool InRabbitHole()
        {
            try
            {
                StartStages();
                BeginCommodityUpdates();

                bool succeeded = false;
                try
                {
                    succeeded = DoLoop(~(ExitReason.Replan | ExitReason.MidRoutePushRequested | ExitReason.ObjectStateChanged | ExitReason.PlayIdle | ExitReason.MaxSkillPointsReached), new Interaction <Sim, RabbitHole> .InsideLoopFunction(LoopDel), null);
                }
                finally
                {
                    EndCommodityUpdates(succeeded);
                }

                RabbitHole.VisitRabbitHoleBase <EiffelTower.TakeElevatorToTop> .BaseDefinition definition = InteractionDefinition as RabbitHole.VisitRabbitHoleBase <EiffelTower.TakeElevatorToTop> .BaseDefinition;

                if (IsGettingItOn)
                {
                    VisitRabbitHoleEx.GettingItOnInRabbitHole(this, WooHooer, WooHooee, RomanticType, definition.VisitTuning, mStyle, CommonWoohoo.WoohooLocation.EiffelTower, mImpregnate);

                    /*if (Actor == WooHooer)
                     * {
                     *  switch (RomanticType)
                     *  {
                     *      case RabbitHoleRomanticType.TryForBaby:
                     *      case RabbitHoleRomanticType.WooHoo:
                     *                                  CommonWoohoo.RunPostWoohoo(WooHooer, WooHooee, Target, mStyle, CommonWoohoo.WoohooLocation.EiffelTower, true);
                     *          break;
                     *  }
                     *
                     *  Relationship relationship = Relationship.Get(WooHooer, WooHooee, true);
                     *  if (relationship != null)
                     *  {
                     *      relationship.UpdateSTCFromOutsideConversation(WooHooer, WooHooee, definition.VisitTuning.WooHooingCommodity, definition.VisitTuning.WooHooingSTCIncrement);
                     *  }
                     * }
                     *
                     * if ((mImpregnate) && (CommonPregnancy.IsSuccess(WooHooer, WooHooee, Autonomous, mStyle)))
                     * {
                     *  CommonPregnancy.Impregnate(WooHooer, WooHooee, Autonomous, mStyle);
                     * }
                     *
                     * Target.RabbitHoleProxy.TurnOffWooHooEffect();*/
                }

                if (Actor.HasExitReason(ExitReason.StageComplete) || (Actor.HasExitReason(ExitReason.Finished) && !IsGettingItOn))
                {
                    VisitRabbitHoleEx.GiveVisitingBuffs(Actor, Target, definition.VisitTuning, Origin.FromEiffelTower);

                    /*Career occupationAsCareer = Actor.OccupationAsCareer;
                     * if ((occupationAsCareer != null) && (occupationAsCareer.CareerLoc.Owner == Target))
                     * {
                     *  Actor.BuffManager.AddElement(BuffNames.Bored, definition.VisitBuffOrigin);
                     *  return succeeded;
                     * }
                     *
                     * float visitBoredomChanceAdult = definition.VisitTuning.VisitBoredomChanceAdult;
                     * if (Actor.SimDescription.Teen)
                     * {
                     *  visitBoredomChanceAdult = definition.VisitTuning.VisitBoredomChanceTeen;
                     * }
                     * else if (Actor.SimDescription.Child)
                     * {
                     *  visitBoredomChanceAdult = definition.VisitTuning.VisitBoredomChanceChild;
                     * }
                     *
                     * if (RandomUtil.RandomChance(visitBoredomChanceAdult))
                     * {
                     *  Actor.BuffManager.AddElement(BuffNames.Bored, definition.VisitBuffOrigin);
                     *  return succeeded;
                     * }
                     *
                     * BuffNames[] namesArray = new BuffNames[] { BuffNames.Excited, BuffNames.Fascinated, BuffNames.Intrigued, BuffNames.Impressed, BuffNames.Educated };
                     * Actor.BuffManager.AddElement(namesArray[RandomUtil.GetInt(0x4)], definition.VisitBuffOrigin);*/
                }
                return(succeeded);
            }
            catch (ResetException)
            {
                throw;
            }
            catch (Exception e)
            {
                Common.Exception(Actor, Target, e);
                return(false);
            }
        }
Ejemplo n.º 3
0
 protected override InteractionDefinition CreateStairsDefinition(RabbitHole.VisitRabbitHoleBase <EiffelTower.TakeElevatorToTop> .BaseDefinition baseDef)
 {
     return(new StairsDefinition(baseDef));
 }
Ejemplo n.º 4
0
 public override InteractionDefinition CreateDefinition(RabbitHole.VisitRabbitHoleBase <EiffelTower.TakeElevatorToTop> .BaseDefinition baseDef, string displayName)
 {
     return(new StairsDefinition(displayName, new string[][] { baseDef.GetPath(false), baseDef.GetPath(true) }, false, baseDef.InteractionName, baseDef.VisitTuning, baseDef.VisitBuffOrigin));
 }
Ejemplo n.º 5
0
 public StairsDefinition(RabbitHole.VisitRabbitHoleBase <EiffelTower.TakeElevatorToTop> .BaseDefinition baseDef) : base(baseDef)
 {
 }
Ejemplo n.º 6
0
            public override void AddInteractions(InteractionObjectPair iop, Sim actor, RabbitHole target, List <InteractionObjectPair> results)
            {
                List <InteractionObjectPair> iops = new List <InteractionObjectPair> ();

                mBaseDefinition.AddInteractions(iop, actor, target, iops);
                foreach (InteractionObjectPair current in iops)
                {
                    RabbitHole.VisitRabbitHoleBase <EiffelTower.TakeElevatorToTop> .BaseDefinition baseDef = current.InteractionDefinition as RabbitHole.VisitRabbitHoleBase <EiffelTower.TakeElevatorToTop> .BaseDefinition;
                    results.Add(new InteractionObjectPair(CreateDefinition(baseDef, baseDef.GetInteractionName(actor, target, iop)), iop.Target));
                }
            }
Ejemplo n.º 7
0
 public ElevatorDefinition(RabbitHole.VisitRabbitHoleBase <EiffelTower.TakeElevatorToTop> .BaseDefinition baseDef) : base(baseDef.InteractionName, baseDef.VisitTuning, baseDef.VisitBuffOrigin)
 {
     mBaseDefinition = baseDef;
 }