public Sim ITarget(InteractionInstance paramInteraction) { RabbitHole.VisitRabbitHoleBase <TInteraction> interaction = paramInteraction as RabbitHole.VisitRabbitHoleBase <TInteraction>; if (interaction == null) { return(null); } return(interaction.WooHooee); }
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); } }
protected override InteractionDefinition CreateStairsDefinition(RabbitHole.VisitRabbitHoleBase <EiffelTower.TakeElevatorToTop> .BaseDefinition baseDef) { return(new StairsDefinition(baseDef)); }
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)); }
public StairsDefinition(RabbitHole.VisitRabbitHoleBase <EiffelTower.TakeElevatorToTop> .BaseDefinition baseDef) : base(baseDef) { }
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)); } }
public ElevatorDefinition(RabbitHole.VisitRabbitHoleBase <EiffelTower.TakeElevatorToTop> .BaseDefinition baseDef) : base(baseDef.InteractionName, baseDef.VisitTuning, baseDef.VisitBuffOrigin) { mBaseDefinition = baseDef; }