コード例 #1
0
            protected static void OnRun(Scenario scenario, ScenarioFrame frame)
            {
                SimScenario s = scenario as SimScenario;
                if (s == null) return;

                scenario.Add(frame, new OnlyOneMayLeadScenario(s.Sim), ScenarioResult.Failure);
            }
コード例 #2
0
ファイル: WeightScenarioHelper.cs プロジェクト: yakoder/NRaas
        protected SimScenario GetNewScenario(StoryProgressionObject manager, SimDescription sim, SimDescription target)
        {
            if (mScenario == null)
            {
                return(null);
            }

            SimScenario simScenario = mScenario.Clone() as SimScenario;

            simScenario.Manager = manager;

            switch (mScenarioActor)
            {
            case PropagateBuffScenario.WhichSim.Actor:
                simScenario.Sim = sim;
                break;

            case PropagateBuffScenario.WhichSim.Target:
                simScenario.Sim = target;
                break;

            case PropagateBuffScenario.WhichSim.NotActor:
                simScenario.NotSim = sim;
                break;

            case PropagateBuffScenario.WhichSim.NotTarget:
                simScenario.NotSim = target;
                break;
            }

            DualSimScenario dualSimScenario = simScenario as DualSimScenario;

            if (dualSimScenario != null)
            {
                switch (mScenarioTarget)
                {
                case PropagateBuffScenario.WhichSim.Actor:
                    dualSimScenario.Target = sim;
                    break;

                case PropagateBuffScenario.WhichSim.Target:
                    dualSimScenario.Target = target;
                    break;

                case PropagateBuffScenario.WhichSim.NotActor:
                    dualSimScenario.NotTarget = sim;
                    break;

                case PropagateBuffScenario.WhichSim.NotTarget:
                    dualSimScenario.NotTarget = target;
                    break;
                }
            }

            return(simScenario);
        }
コード例 #3
0
            protected static void OnPerform(Scenario scenario, ScenarioFrame frame)
            {
                SimScenario s = scenario as SimScenario;

                if (s == null)
                {
                    return;
                }

                scenario.Add(frame, new JackOfAllTradesScenario(s.Sim), ScenarioResult.Failure);
            }
コード例 #4
0
            public static void OnInstall(Scenario scenario, ScenarioFrame frame)
            {
                SimScenario s = scenario as SimScenario;

                if (s == null)
                {
                    return;
                }

                scenario.Add(frame, new WorkStartTwoHourCommuteScenario(s.Sim), ScenarioResult.Failure);
            }
コード例 #5
0
            public static void OnRun(Scenario scenario, ScenarioFrame frame)
            {
                SimScenario s = scenario as SimScenario;

                if (s == null)
                {
                    return;
                }

                scenario.Add(frame, new InheritStuffScenario(s.Sim), ScenarioResult.Start);
            }
コード例 #6
0
            public static void OnPerform(Scenario scenario, ScenarioFrame frame)
            {
                SimScenario s = scenario as SimScenario;

                if (s == null)
                {
                    return;
                }

                scenario.Add(frame, new BabyShowerGatheringScenario(s.Sim), ScenarioResult.Start);
            }
コード例 #7
0
            protected static void OnPerform(Scenario scenario, ScenarioFrame frame)
            {
                SimScenario s = scenario as SimScenario;

                if (s == null)
                {
                    return;
                }

                scenario.Add(frame, new RerollCareerOnTopLevelScenario(s.Sim), ScenarioResult.Start);
            }
コード例 #8
0
            protected static void OnRun(Scenario scenario, ScenarioFrame frame)
            {
                SimScenario s = scenario as SimScenario;

                if (s == null)
                {
                    return;
                }

                scenario.Add(frame, new PropagateMournScenario(s.Sim), ScenarioResult.Start);
            }
コード例 #9
0
ファイル: FuneralScenario.cs プロジェクト: yakoder/NRaas
            protected static void OnRun(Scenario scenario, ScenarioFrame frame)
            {
                SimScenario s = scenario as SimScenario;

                if (s == null)
                {
                    return;
                }

                scenario.Add(frame, FuneralScenario.Create(scenario.Situations, s.Sim), ScenarioResult.Start);
            }
コード例 #10
0
            protected static void OnPerform(Scenario scenario, ScenarioFrame frame)
            {
                SimScenario s = scenario as SimScenario;

                if (s == null)
                {
                    return;
                }

                scenario.Add(frame, new CelebrityPromotionScenario(s.Sim), ScenarioResult.Failure);
            }
コード例 #11
0
            protected static void OnPerform(Scenario scenario, ScenarioFrame frame)
            {
                SimScenario simScenario = scenario as SimScenario;

                if (simScenario == null)
                {
                    return;
                }

                frame.Add(scenario.Manager, new StylistHelpScenario(simScenario.Sim), ScenarioResult.Start);
            }
コード例 #12
0
ファイル: GettingOldScenario.cs プロジェクト: yakoder/NRaas
        public static void AddDeathScenarios(SimScenario scenario, ScenarioFrame frame)
        {
            scenario.GetData <ManagerDeath.DyingSimData>(scenario.Sim).Testing = true;

            scenario.Add(frame, new PregnancySaveScenario(scenario.Sim), ScenarioResult.Start);
            scenario.Add(frame, new AncestralSaveScenario(scenario.Sim), ScenarioResult.Failure);

            scenario.Add(frame, new ChildrenToSafetyScenario(scenario.Sim.Household), ScenarioResult.Start);

            if (OnInheritStuffScenario != null)
            {
                OnInheritStuffScenario(scenario, frame);
            }
        }
コード例 #13
0
ファイル: RetireAtMaxScenario.cs プロジェクト: yakoder/NRaas
            public static void OnPerform(Scenario scenario, ScenarioFrame frame)
            {
                RetirementScenario retirement = scenario as RetirementScenario;

                if (retirement != null)
                {
                    retirement.RetiredAtMax = scenario.GetValue <Option, bool>();
                }

                SimScenario s = scenario as SimScenario;

                if (s == null)
                {
                    return;
                }

                scenario.Add(frame, new RetireAtMaxScenario(s.Sim), ScenarioResult.Start);
            }
コード例 #14
0
ファイル: WeightScenarioHelper.cs プロジェクト: yakoder/NRaas
        public bool TestBeforehand(StoryProgressionObject manager, SimDescription sim, SimDescription target)
        {
            if (!mTestBeforehand)
            {
                return(true);
            }

            SimScenario scenario = GetNewScenario(manager, sim, target);

            if (scenario == null)
            {
                return(true);
            }

            if (scenario.GetAllowedSims().Count == 0)
            {
                return(false);
            }

            DualSimScenario dualScenario = scenario as DualSimScenario;

            if (dualScenario != null)
            {
                bool found = false;

                foreach (SimDescription actor in scenario.GetAllowedSims())
                {
                    if (dualScenario.GetAllowedTargets(actor).Count > 0)
                    {
                        found = true;
                        break;
                    }
                }

                if (!found)
                {
                    return(false);
                }
            }

            return(true);
        }
コード例 #15
0
            public static void OnPerform(Scenario scenario, ScenarioFrame frame)
            {
                PromotedScenario promoted = scenario as PromotedScenario;

                if (promoted != null)
                {
                    if (promoted.IsSuppressed())
                    {
                        return;
                    }
                }

                SimScenario s = scenario as SimScenario;

                if (s == null)
                {
                    return;
                }

                scenario.Add(frame, new CareerBranchScenario(s.Sim), ScenarioResult.Start);
            }
コード例 #16
0
            public static void OnInstall(Scenario scenario, ScenarioFrame frame)
            {
                SimScenario s = scenario as SimScenario;

                scenario.Add(frame, new ManageCareerScenario(s.Sim), ScenarioResult.Start);
            }