示例#1
0
 protected RunScenario(RunScenario scenario)
     : base (scenario)
 {
     mFirst = scenario.mFirst;
     mPersonality = scenario.mPersonality;
     mScenarios = scenario.mScenarios;  // intentionally reference the list
 }
示例#2
0
        public override bool Parse(XmlDbRow row, SimPersonality personality, ref string error)
        {
            if (!base.Parse(row, personality, ref error))
            {
                return(false);
            }

            if (!row.Exists("Name"))
            {
                error = "Name missing";
                return(false);
            }
            else if (!row.Exists("Default"))
            {
                error = "Default missing";
                return(false);
            }

            mName = row.GetString("Name");

            SetValue(row.GetInt("Default"));

            mResetOnLeaderChange = row.GetBool("ResetOnLeaderChange");

            return(true);
        }
示例#3
0
        protected override void Perform(BooterHelper.BootFile file, XmlDbRow row)
        {
            BooterHelper.DataBootFile dataFile = file as BooterHelper.DataBootFile;
            if (dataFile == null)
            {
                return;
            }

            mIndex++;

            string personalityName = row.GetString("Name");

            if (string.IsNullOrEmpty(personalityName))
            {
                BooterLogger.AddError(file + " : Method " + mIndex + " Unnamed");
                return;
            }

            BooterLogger.AddTrace("Found " + personalityName);

            if (GetPersonality(personalityName) != null)
            {
                BooterLogger.AddError(personalityName + " Name already in use");
                return;
            }

            Type classType = row.GetClassType("FullClassName");

            if (classType == null)
            {
                BooterLogger.AddError(personalityName + " No Class");
                return;
            }

            SimPersonality personality = null;

            try
            {
                personality = classType.GetConstructor(new Type[0]).Invoke(new object[0]) as SimPersonality;
            }
            catch
            { }

            if (personality == null)
            {
                BooterLogger.AddError(personalityName + ": Constructor Fail " + row.GetString("FullClassName"));
            }
            else
            {
                XmlDbTable optionTable = dataFile.GetTable(personalityName);
                if (personality.Parse(row, optionTable))
                {
                    sLookup.Add(personalityName.ToLower(), personality);
                }
                else
                {
                    BooterLogger.AddError(personalityName + ": Parsing Fail");
                }
            }
        }
示例#4
0
 protected RunScenario(RunScenario scenario)
     : base(scenario)
 {
     mFirst       = scenario.mFirst;
     mPersonality = scenario.mPersonality;
     mScenarios   = scenario.mScenarios; // intentionally reference the list
 }
示例#5
0
        protected override bool PrivateUpdate(ScenarioFrame frame)
        {
            if (!mSuccess.TestBeforehand(Manager, Sim, Target))
            {
                IncStat("Success TestBeforehand Fail");
                return(false);
            }

            if (!base.PrivateUpdate(frame))
            {
                return(false);
            }

            SimPersonality manager = Manager as SimPersonality;

            if (manager == null)
            {
                return(false);
            }

            manager.SetLeader(null, false);

            mSuccess.Perform(this, frame, "Success", Sim, Target);
            return(true);
        }
示例#6
0
        public List <SimPersonality> GetClanMembership(SimDescription sim, bool includeLeadership)
        {
            List <SimPersonality> personalities = new List <SimPersonality>();

            if (sim != null)
            {
                if (includeLeadership)
                {
                    personalities.AddRange(GetClanLeadership(sim));
                }

                SimData simData = GetData(sim);

                List <string> clans = new List <string>(simData.Clans);
                foreach (string clan in clans)
                {
                    SimPersonality personality = GetPersonality(clan);
                    if (personality == null)
                    {
                        simData.RemoveClan(clan);
                    }
                    else
                    {
                        personalities.Add(personality);
                    }
                }
            }

            return(personalities);
        }
示例#7
0
        protected override bool TargetAllow(SimDescription sim)
        {
            SimPersonality clan = Manager as SimPersonality;

            if (sim.ToddlerOrBelow)
            {
                IncStat("Too Young");
                return(false);
            }
            else if (GetData(sim).IsClan(clan))
            {
                IncStat("Already Clan");
                return(false);
            }
            else if (!clan.CanAdd(this, sim, mAllowSteal))
            {
                IncStat("Opposing");
                return(false);
            }
            else if (!clan.TestMemberRetention(sim))
            {
                IncStat("Retention Fail");
                return(false);
            }

            return(base.TargetAllow(sim));
        }
示例#8
0
        public override bool Parse(XmlDbRow row, SimPersonality personality, ref string error)
        {
            if (!base.Parse(row, personality, ref error))
            {
                return(false);
            }

            if (!row.Exists("Name"))
            {
                error = "Name missing";
                return(false);
            }
            else if (!row.Exists("Default"))
            {
                error = "Default missing";
                return(false);
            }
            else
            {
                CASAgeGenderFlags ageGender;
                if (!ParserFunctions.TryParseEnum <CASAgeGenderFlags>(row.GetString("AgeGender"), out ageGender, CASAgeGenderFlags.None))
                {
                    error = "Unknown AgeGender " + row.GetString("AgeGender");
                    return(false);
                }

                mAge = ageGender & CASAgeGenderFlags.AgeMask;

                if (mAge == CASAgeGenderFlags.None)
                {
                    mAge = CASAgeGenderFlags.AgeMask;
                }

                mGender = ageGender & CASAgeGenderFlags.GenderMask;

                if (mGender == CASAgeGenderFlags.None)
                {
                    mGender = CASAgeGenderFlags.GenderMask;
                }

                StringToSpeciesList converter = new StringToSpeciesList();
                mSpecies = converter.Convert(row.GetString("Species"));
                if (mSpecies == null)
                {
                    error = converter.mError;
                    return(false);
                }

                if (mSpecies.Count == 0)
                {
                    mSpecies.Add(CASAgeGenderFlags.Human);
                }
            }

            mName = row.GetString("Name");

            SetValue(row.GetBool("Default"));

            return(true);
        }
示例#9
0
        public override bool Parse(XmlDbRow row, SimPersonality personality, ref string error)
        {
            if (!base.Parse(row, personality, ref error)) return false;

            if (!row.Exists("Name"))
            {
                error = "Name missing";
                return false;
            }
            else if (!row.Exists("Default"))
            {
                error = "Default missing";
                return false;
            }
            else
            {
                CASAgeGenderFlags ageGender;
                if (!ParserFunctions.TryParseEnum<CASAgeGenderFlags>(row.GetString("AgeGender"), out ageGender, CASAgeGenderFlags.None))
                {
                    error = "Unknown AgeGender " + row.GetString("AgeGender");
                    return false;
                }

                mAge = ageGender & CASAgeGenderFlags.AgeMask;

                if (mAge == CASAgeGenderFlags.None)
                {
                    mAge = CASAgeGenderFlags.AgeMask;
                }

                mGender = ageGender & CASAgeGenderFlags.GenderMask;

                if (mGender == CASAgeGenderFlags.None)
                {
                    mGender = CASAgeGenderFlags.GenderMask;
                }

                StringToSpeciesList converter = new StringToSpeciesList();
                mSpecies = converter.Convert(row.GetString("Species"));
                if (mSpecies == null)
                {
                    error = converter.mError;
                    return false;
                }

                if (mSpecies.Count == 0)
                {
                    mSpecies.Add(CASAgeGenderFlags.Human);
                }
            }

            mName = row.GetString("Name");

            SetValue (row.GetBool("Default"));

            return true;
        }
示例#10
0
文件: SimData.cs 项目: yakoder/NRaas
        public bool IsClan(SimPersonality clan)
        {
            if (clan == null)
            {
                return(false);
            }

            return(mClans.Contains(clan.UnlocalizedName.ToLower()));
        }
示例#11
0
        public override bool IsHit(SimScoringParameters parameters)
        {
            SimPersonality clan = StoryProgression.Main.Personalities.GetPersonality(Clan);

            if (clan == null)
            {
                return(false);
            }

            return(clan.IsMember(parameters.Actor));
        }
示例#12
0
        public SimDescription GetClanLeader(StoryProgressionObject manager)
        {
            SimPersonality clan = manager as SimPersonality;

            if (clan == null)
            {
                return(null);
            }

            return(clan.Me);
        }
示例#13
0
        public override bool Install(SimPersonality main, bool initial)
        {
            if (!base.Install(main, initial)) return false;

            if (mScenario != null)
            {
                mScenario.Manager = Manager;
            }

            return true;
        }
示例#14
0
文件: SimData.cs 项目: yakoder/NRaas
        public void AddClan(SimPersonality clan)
        {
            string name = clan.UnlocalizedName.ToLower();

            if (mClans.Contains(name))
            {
                return;
            }

            ScoringLookup.UnloadCaches <IClanScoring>();

            mClans.Add(name);
        }
示例#15
0
        protected override bool PrivateUpdate(ScenarioFrame frame)
        {
            if (!mSuccess.TestBeforehand(Manager, Sim, Target))
            {
                IncStat("Success TestBeforehand Fail");
                return(false);
            }

            if (!mFailure.TestBeforehand(Manager, Sim, Target))
            {
                IncStat("Failure TestBeforehand Fail");
                return(false);
            }

            if (!RandomUtil.RandomChance(mChance))
            {
                IncStat("Chance Fail");
                return(false);
            }

            SimPersonality clan = Personalities.GetPersonality(TargetFilter.Clan);

            if (clan == null)
            {
                clan = Manager as SimPersonality;
            }

            if (clan == null)
            {
                IncStat("Clan Missing");
                return(false);
            }

            mFail = ((!string.IsNullOrEmpty(mAcceptanceScoring)) && (AddScoring("Acceptance", ScoringLookup.GetScore(mAcceptanceScoring, Target, Sim)) <= 0));

            if (!mFail)
            {
                if (!clan.RemoveFromClan(Target))
                {
                    return(false);
                }

                mSuccess.Perform(this, frame, "Success", Sim, Target);
            }
            else
            {
                mFailure.Perform(this, frame, "Failure", Sim, Target);
            }
            return(true);
        }
示例#16
0
        public override bool Install(SimPersonality main, bool initial)
        {
            if (!base.Install(main, initial))
            {
                return(false);
            }

            if (mScenario != null)
            {
                mScenario.Manager = Manager;
            }

            return(true);
        }
示例#17
0
        protected override bool PrivateAllow(IScoringGenerator stats, SimDescription sim, SimData settings, AllowCheck check)
        {
            if (sim.LotHome == null)
            {
                stats.IncStat("Allow: Homeless");
                return(false);
            }

            if (!settings.GetValue <AllowPersonalityOption, bool>())
            {
                stats.IncStat("Allow: User Denied");
                return(false);
            }

            SimPersonality personality = stats as SimPersonality;

            if (personality == null)
            {
                IHasPersonality hasPersonality = stats as IHasPersonality;
                if (hasPersonality != null)
                {
                    personality = hasPersonality.Personality;
                }
                else
                {
                    Scenario scenario = stats as Scenario;
                    if (scenario != null)
                    {
                        personality = scenario.Manager as SimPersonality;
                    }
                }
            }

            if (personality == null)
            {
                Common.DebugStackLog(stats.GetType().ToString());
                //stats.IncStat("Allow: Incorrect Manager");
                //return false;
            }
            else if (settings.HasValue <DisallowPersonalityOption, SimPersonality>(personality))
            {
                stats.IncStat("Allow: Personality Denied");
                return(false);
            }

            return(true);
        }
示例#18
0
        protected override bool Allow(SimDescription sim)
        {
            SimPersonality manager = Manager as SimPersonality;

            if (manager == null)
            {
                IncStat("No Manager");
                return(false);
            }
            else if (manager.Me != sim)
            {
                IncStat("No Leader");
                return(false);
            }

            return(base.Allow(sim));
        }
示例#19
0
        public void Perform(Scenario scenario, SimDescription actor, SimDescription target)
        {
            ICollection <SimDescription> recruits = mTargetRecruit.Filter(new SimScenarioFilter.Parameters(scenario, mActorRecruit.Enabled), "TargetRecruit", target);

            recruits = mActorRecruit.Filter(new SimScenarioFilter.Parameters(scenario, false), "ActorRecruit", actor, recruits);
            if (recruits == null)
            {
                return;
            }

            SimPersonality clan = scenario.Manager as SimPersonality;

            foreach (SimDescription recruit in recruits)
            {
                clan.AddToClan(scenario, recruit, mAllowSteal);
            }
        }
示例#20
0
        protected override ManagerStory.Story PrintStory(StoryProgressionObject manager, string name, object[] parameters, string[] extended, ManagerStory.StoryLogging logging)
        {
            if (mNemesis)
            {
                SimPersonality clan = Manager as SimPersonality;
                if (clan != null)
                {
                    if (clan.Me != Sim)
                    {
                        return(null);
                    }
                }

                name = "Nemesis";
            }

            return(base.PrintStory(manager, name, parameters, extended, logging));
        }
示例#21
0
        protected override ManagerStory.Story PrintStory(StoryProgressionObject manager, string name, object[] parameters, string[] extended, ManagerStory.StoryLogging logging)
        {
            if (manager == null)
            {
                manager = Friends;
            }

            if (!Sim.IsHuman)
            {
                if (string.IsNullOrEmpty(name))
                {
                    return(null);
                }

                name += "Pet";
            }
            else if (mNemesis)
            {
                SimPersonality clan = Manager as SimPersonality;
                if (clan != null)
                {
                    if (clan.Me != Sim)
                    {
                        return(null);
                    }
                }

                name = "Nemesis";
            }
            else if (Sim.Partner == Target)
            {
                if (string.IsNullOrEmpty(name))
                {
                    return(null);
                }

                name += "Partner";
            }

            return(base.PrintStory(manager, name, parameters, extended, logging));
        }
示例#22
0
        public SimPersonality GetPersonality(string name)
        {
            if (string.IsNullOrEmpty(name))
            {
                return(null);
            }

            SimPersonality personality = PersonalityLookup.GetPersonality(name);

            if (personality == null)
            {
                return(null);
            }

            if (!personality.IsInstalled)
            {
                return(null);
            }

            return(personality);
        }
示例#23
0
        public override bool Parse(XmlDbRow row, SimPersonality personality, ref string error)
        {
            if (!base.Parse(row, personality, ref error)) return false;

            if (!row.Exists("Name"))
            {
                error = "Name missing";
                return false;
            }
            else if (!row.Exists("Default"))
            {
                error = "Default missing";
                return false;
            }

            mName = row.GetString("Name");

            SetValue (row.GetBool("Default"));

            return true;
        }
示例#24
0
        protected override bool PrivateUpdate(ScenarioFrame frame)
        {
            SimPersonality clan = Manager as SimPersonality;

            foreach (SimDescription sim in clan.GetClanMembers(false))
            {
                clan.CheckRetention(sim);
            }

            if ((mScenarios == null) || (mScenarios.Count == 0))
            {
                IncStat("No Choices");
                return(false);
            }

            WeightOption scenario = RandomUtil.GetWeightedRandomObjectFromList(mScenarios.ToArray()) as WeightOption;

            if (scenario == null)
            {
                IncStat("Bad Choice");
                return(false);
            }

            if (!mFirst)
            {
                if (scenario is SimPersonality.IMustBeFirstChoiceOption)
                {
                    IncStat("Must Be First");
                    return(false);
                }
            }

            mFirst = false;

            mScenarios.Remove(scenario);

            Add(frame, scenario.GetScenario(), ScenarioResult.Start);
            Add(frame, new ResetChanceScenario(mPersonality), ScenarioResult.Success);
            return(true);
        }
示例#25
0
        protected override bool PrivateUpdate(ScenarioFrame frame)
        {
            if (!mSuccess.TestBeforehand(Manager, Sim, Target))
            {
                IncStat("Success TestBeforehand Fail");
                return(false);
            }

            if (!mFailure.TestBeforehand(Manager, Sim, Target))
            {
                IncStat("Failure TestBeforehand Fail");
                return(false);
            }

            if (!base.PrivateUpdate(frame))
            {
                return(false);
            }

            SimPersonality clan = Manager as SimPersonality;

            if (clan == null)
            {
                IncStat("No Clan");
                return(false);
            }

            mFail = !clan.AddToClan(this, Target, mAllowSteal);

            if (mFail)
            {
                mFailure.Perform(this, frame, "Failure", Sim, Target);
                return(false);
            }
            else
            {
                mSuccess.Perform(this, frame, "Success", Sim, Target);
                return(true);
            }
        }
示例#26
0
        public void Perform(Scenario scenario, ScenarioFrame frame, string name, SimDescription sim, SimDescription target)
        {
            scenario.IncStat(name);

            foreach (KeyValuePair <BuffNames, Origin> value in mActorBuffs)
            {
                HandleBuff(sim.CreatedSim, value.Key, value.Value);
            }

            foreach (KeyValuePair <BuffNames, Origin> value in mTargetBuffs)
            {
                HandleBuff(target.CreatedSim, value.Key, value.Value);
            }

            mRecruit.Perform(scenario, sim, target);

            mPropagate.Perform(scenario, frame, sim, target);

            int minCelebrity = scenario.GetValue <ManagerPersonality.MinCelebrityOption, int>();

            if (minCelebrity > 0)
            {
                SimPersonality personality = scenario.Manager as SimPersonality;

                int actorCelebrity = mActorCelebrity;
                if (actorCelebrity < minCelebrity)
                {
                    actorCelebrity = minCelebrity;
                }

                if (actorCelebrity > 0)
                {
                    scenario.Friends.AccumulateCelebrity(sim, actorCelebrity);
                }

                if ((personality != null) && (personality.Me != sim))
                {
                    scenario.Friends.AccumulateCelebrity(personality.Me, actorCelebrity);
                }

                int targetCelebrity = mTargetCelebrity;
                if (targetCelebrity < minCelebrity)
                {
                    targetCelebrity = minCelebrity;
                }

                if (targetCelebrity > 0)
                {
                    scenario.Friends.AccumulateCelebrity(target, targetCelebrity);
                }
            }

            if (mAccumulatorOptions != null)
            {
                foreach (SimPersonality.IAccumulatorValue value in mAccumulatorOptions)
                {
                    value.ApplyAccumulator();
                }
            }

            Scenario newScenario = GetNewScenario(scenario.Manager, sim, target);

            if (newScenario != null)
            {
                scenario.IncStat(newScenario.UnlocalizedName);

                scenario.Add(frame, newScenario, ScenarioResult.Start);
            }

            SimPersonality clan = scenario.Manager as SimPersonality;

            if ((sim != clan.Me) && (clan != null) && (clan.IsFriendlyLeadership))
            {
                int delta = mDelta.Score(new DualSimScoringParameters(sim, clan.Me));

                if (delta < 0)
                {
                    scenario.IncStat("ExistingEnemy");

                    scenario.Add(frame, new ExistingEnemyManualScenario(sim, clan.Me, delta, 0), ScenarioResult.Start);
                }
                else if (delta > 0)
                {
                    scenario.IncStat("ExistingFriend");

                    scenario.Add(frame, new ExistingFriendManualScenario(sim, clan.Me, delta, 0), ScenarioResult.Start);
                }
            }

            scenario.Add(frame, new SuccessScenario(), ScenarioResult.Start);
        }
示例#27
0
 public RunScenario(SimPersonality personality)
 {
     mPersonality = personality;
     mScenarios   = personality.GetScenarios();
 }
示例#28
0
 public ResetChanceScenario(ResetChanceScenario scenario)
     : base(scenario)
 {
     mPersonality = scenario.mPersonality;
 }
示例#29
0
 public ResetChanceScenario(SimPersonality personality)
 {
     mPersonality = personality;
 }
示例#30
0
文件: SimData.cs 项目: yakoder/NRaas
 public bool RemoveClan(SimPersonality clan)
 {
     return(RemoveClan(clan.UnlocalizedName));
 }
 protected PropagateClanDelightScenario(PropagateClanDelightScenario scenario)
     : base (scenario)
 {
     mClan = scenario.mClan;
 }
示例#32
0
 public static void OnAcceptGigolo(SimPersonality personality, SimDescription sim)
 {
     sActivateProfessional.Invoke<bool>(new object[] { sim });
     sActivateRendezvous.Invoke<bool>(new object[] { sim });
 }
示例#33
0
 public ResetChanceScenario(SimPersonality personality)
 {
     mPersonality = personality;
 }
示例#34
0
        public override bool Parse(XmlDbRow row, SimPersonality personality, ref string error)
        {
            ProductVersion productVersion;

            if (!ParserFunctions.TryParseEnum <ProductVersion>(row.GetString("ProductVersion"), out productVersion, ProductVersion.BaseGame))
            {
                error = "ProductVersion missing";
                return(false);
            }

            if (!GameUtils.IsInstalled(productVersion))
            {
                return(true);
            }

            string module = row.GetString("Module");

            if ((!string.IsNullOrEmpty(module)) && (!Common.AssemblyCheck.IsInstalled(module)))
            {
                return(true);
            }

            // Must be after the product version checks, but before everything else
            if (!base.Parse(row, personality, ref error))
            {
                return(false);
            }

            if (!row.Exists("Scenario"))
            {
                error = "Scenario missing";
                return(false);
            }
            else if (!row.Exists("Weight"))
            {
                error = "Weight missing";
                return(false);
            }
            else if (!row.Exists("Name"))
            {
                error = "Name missing";
                return(false);
            }

            mName = new NameOption(row);

            Type classType = row.GetClassType("Scenario");

            if (classType == null)
            {
                error = "Scenario class not found";
                return(false);
            }

            int weight = row.GetInt("Weight");

            if (weight > 0)
            {
                mVisible = true;
            }
            else
            {
                weight = 1;

                if (!row.Exists("ShouldPush"))
                {
                    error = "ShouldPush missing";
                    return(false);
                }
            }

            SetValue(weight);

            try
            {
                mScenario = classType.GetConstructor(new Type[0]).Invoke(new object[0]) as Scenario;
            }
            catch
            {}

            if (mScenario == null)
            {
                error = "Scenario constructor fail";
                return(false);
            }

            mScenario.Manager = personality;

            if (!mScenario.Parse(row, ref error))
            {
                return(false);
            }

            if (!mScenario.PostParse(ref error))
            {
                return(false);
            }

            IViolentScenario violentScenario = mScenario as IViolentScenario;

            if ((violentScenario != null) && (violentScenario.IsViolent))
            {
                PushDeathChanceOption.Installed = true;
            }

            return(true);
        }
示例#35
0
 public RunScenario(SimPersonality personality)
 {
     mPersonality = personality;
     mScenarios = personality.GetScenarios();
 }
示例#36
0
 public static void OnAcceptGigolo(SimPersonality personality, SimDescription sim)
 {
     sActivateProfessional.Invoke <bool>(new object[] { sim });
     sActivateRendezvous.Invoke <bool>(new object[] { sim });
 }
 public PropagateClanDelightScenario(SimDescription center, StoryProgressionObject clan, Origin origin)
     : base(center, BuffNames.Delighted, origin)
 {
     mClan = clan as SimPersonality;
 }
示例#38
0
 public ResetChanceScenario(ResetChanceScenario scenario)
     : base(scenario)
 {
     mPersonality = scenario.mPersonality;
 }
示例#39
0
        public override bool Parse(XmlDbRow row, SimPersonality personality, ref string error)
        {
            ProductVersion productVersion;
            if (!ParserFunctions.TryParseEnum<ProductVersion>(row.GetString("ProductVersion"), out productVersion, ProductVersion.BaseGame))
            {
                error = "ProductVersion missing";
                return false;
            }

            if (!GameUtils.IsInstalled(productVersion))
            {
                return true;
            }

            string module = row.GetString("Module");
            if ((!string.IsNullOrEmpty(module)) && (!Common.AssemblyCheck.IsInstalled(module)))
            {
                return true;
            }

            // Must be after the product version checks, but before everything else
            if (!base.Parse(row, personality, ref error)) return false;

            if (!row.Exists("Scenario"))
            {
                error = "Scenario missing";
                return false;
            }
            else if (!row.Exists("Weight"))
            {
                error = "Weight missing";
                return false;
            }
            else if (!row.Exists("Name"))
            {
                error = "Name missing";
                return false;
            }

            mName = new NameOption(row);

            Type classType = row.GetClassType("Scenario");
            if (classType == null)
            {
                error = "Scenario class not found";
                return false;
            }

            int weight = row.GetInt("Weight");

            if (weight > 0)
            {
                mVisible = true;
            }
            else
            {
                weight = 1;

                if (!row.Exists("ShouldPush"))
                {
                    error = "ShouldPush missing";
                    return false;
                }
            }

            SetValue (weight);

            try
            {
                mScenario = classType.GetConstructor(new Type[0]).Invoke(new object[0]) as Scenario;
            }
            catch
            {}

            if (mScenario == null)
            {
                error = "Scenario constructor fail";
                return false;
            }

            mScenario.Manager = personality;

            if (!mScenario.Parse(row, ref error))
            {
                return false;
            }

            if (!mScenario.PostParse(ref error))
            {
                return false;
            }

            IViolentScenario violentScenario = mScenario as IViolentScenario;
            if ((violentScenario != null) && (violentScenario.IsViolent))
            {
                PushDeathChanceOption.Installed = true;
            }

            return true;
        }
示例#40
0
 public PropagateClanDelightScenario(SimDescription center, StoryProgressionObject clan, Origin origin)
     : base(center, BuffNames.Delighted, origin)
 {
     mClan = clan as SimPersonality;
 }
示例#41
0
 protected PropagateClanDelightScenario(PropagateClanDelightScenario scenario)
     : base(scenario)
 {
     mClan = scenario.mClan;
 }