コード例 #1
0
ファイル: ModTest.cs プロジェクト: WangMingJue/ModTest
        public static string CompleteQuest(List <string> strings)
        {
            if (Campaign.Current == null)
            {
                return("Campaign was not started.");
            }
            if (CampaignCheats.CheckParameters(strings, 0) || CampaignCheats.CheckHelp(strings))
            {
                return("Format is \"campaign.complete_active_quest [QuestName]\".");
            }
            string questName = string.Join(" ", strings.ToArray()).Trim(new char[]
            {
                '"'
            });
            QuestBase questBase = Campaign.Current.QuestManager.Quests.FirstOrDefault((QuestBase q) => q.Title.ToString().ToLower().Contains(questName.ToLower()));

            if (questBase == null)
            {
                return("Failed to find active quest with name \"" + questName + "\"");
            }
            MethodInfo method = questBase.GetType().GetMethod("CompleteQuestWithSuccess", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);

            if (method == null)
            {
                return("Failed to locate method.");
            }
            method.Invoke(questBase, null);
            return(string.Format("{0} has been completed.", questBase.Title));
        }
コード例 #2
0
ファイル: Commands.cs プロジェクト: projectew/Bannerlord
        public static string StartRevolt(List <string> strings)
        {
            if (Campaign.Current == null)
            {
                return("Campaign was not started.");
            }

            if (!strings.Any() || CampaignCheats.CheckHelp(strings))
            {
                return("Format is \"revolts.start [Settlement Name]\"");
            }

            var settlementName = strings.Aggregate((i, j) => i + " " + j);

            var settlement = Campaign.Current.Settlements.FirstOrDefault(s => string.Equals(s.Name.ToString(), settlementName, StringComparison.CurrentCultureIgnoreCase));

            if (settlement == null)
            {
                return($"There is no Settlement \"{settlementName}\".");
            }

            var settlementInfo = Managers.Settlement.Get(settlement);

            if (settlementInfo.HasRebellionEvent)
            {
                return($"{settlement.Name} has an running revolt.");
            }

            RevoltBehavior.StartRevolt(settlement);
            return($"Started a Revolt in {settlement.Name}.");
        }
コード例 #3
0
ファイル: ModTest.cs プロジェクト: WangMingJue/ModTest
        public static string SpawnProp(List <string> strings)
        {
            if (Campaign.Current == null)
            {
                return("Campaign was not started.");
            }
            if (CampaignCheats.CheckParameters(strings, 0) || CampaignCheats.CheckHelp(strings))
            {
                return("Format is \"mission.spawn_prop [PropId]\".");
            }
            if (Mission.Current == null)
            {
                return("You are not in a mission.");
            }
            GameEntity gameEntity;

            if (Agent.Main == null)
            {
                MissionScreen missionScreen = ScreenManager.TopScreen as MissionScreen;
                if (missionScreen != null && missionScreen.CombatCamera != null)
                {
                    gameEntity = GameEntity.Instantiate(Mission.Current.Scene, strings[0], missionScreen.CombatCamera.Frame);
                    goto IL_99;
                }
            }
            gameEntity = GameEntity.Instantiate(Mission.Current.Scene, strings[0], Agent.Main.Frame);
IL_99:
            if (gameEntity == null)
            {
                return("Failed to spawn prop with id \"" + strings[0] + "\"");
            }
            return("Spawned " + gameEntity.Name + ".");
        }
コード例 #4
0
ファイル: Commands.cs プロジェクト: projectew/Bannerlord
        public static string ShowPlottingStatesOf(List <string> strings)
        {
            if (Campaign.Current == null)
            {
                return("Campaign was not started.");
            }

            if (!strings.Any() || CampaignCheats.CheckHelp(strings))
            {
                return("Format is \"civilwars.show_plotting_state_of [Kingdom Name]\"");
            }

            var kingdomName = strings.Aggregate((i, j) => i + " " + j);

            var kingdom = Campaign.Current.Kingdoms.FirstOrDefault(s => string.Equals(s.Name.ToString(), kingdomName, StringComparison.CurrentCultureIgnoreCase));

            if (kingdom == null)
            {
                return($"There is no Kingdom \"{kingdomName}\".");
            }

            var clanLeaders = (from clan in kingdom.Clans.Where(c => c.StringId != kingdom.Leader.StringId) select Managers.Character.Get(clan.Leader.CharacterObject) into clanLeader where clanLeader != null select $"{clanLeader.Character.Name} | {Enum.GetName(typeof(PlotState), clanLeader.PlotState)}").ToList();

            return($"{clanLeaders.Aggregate((i, j) => i + Environment.NewLine + j)}");
        }
コード例 #5
0
ファイル: Commands.cs プロジェクト: projectew/Bannerlord
        public static string ShowLoyaltyOf(List <string> strings)
        {
            if (Campaign.Current == null)
            {
                return("Campaign was not started.");
            }

            if (!strings.Any() || CampaignCheats.CheckHelp(strings))
            {
                return("Format is \"revolutions.show_loyalty_of [Settlement Name]\"");
            }

            var settlementName = strings.Aggregate((i, j) => i + " " + j);

            var settlement = Campaign.Current.Settlements.FirstOrDefault(s => string.Equals(s.Name.ToString(), settlementName, StringComparison.CurrentCultureIgnoreCase));

            if (settlement == null)
            {
                return($"There is no Settlement \"{settlementName}\".");
            }

            if (!settlement.IsTown)
            {
                return($"Settlement \"{settlementName}\" is not a town.");
            }

            var settlementInfo = Managers.Settlement.Get(settlement);

            return($"{settlement.Name} is loyal to {settlementInfo.LoyalFaction.Name}.");
        }
コード例 #6
0
ファイル: ModTest.cs プロジェクト: WangMingJue/ModTest
        public static string SetMainAgentHealth(List <string> strings)
        {
            if (Campaign.Current == null)
            {
                return("Campaign was not started.");
            }
            int num;

            if (CampaignCheats.CheckParameters(strings, 0) || CampaignCheats.CheckHelp(strings) || !int.TryParse(strings[0], out num))
            {
                return("Format is \"mission.set_main_agent_health [Integer]\".");
            }
            if (Mission.Current == null)
            {
                return("You are not in a mission.");
            }
            if (Agent.Main == null)
            {
                return("No main agent found.");
            }
            if (num < 0)
            {
                num = 0;
            }
            if (num > 10000000)
            {
                num = 10000000;
            }
            if ((float)num > Agent.Main.HealthLimit)
            {
                Agent.Main.HealthLimit = (float)num;
            }
            Agent.Main.Health = (float)num;
            return(string.Format("Set main agent health to {0}", num));
        }
コード例 #7
0
        public static string FillUp(List <string> strings)
        {
            if (Campaign.Current == null)
            {
                return("Campaign is null");
            }
            if (CampaignCheats.CheckParameters(strings, 0) || CampaignCheats.CheckHelp(strings))
            {
                return("Format is \"campaign.fill_up [Hero Name]\"");
            }
            switch (strings.Count)
            {
            case 1 when strings.Single().Trim() == "all":
                return(Utils.Handle(Utils.NpcHeros, Utils.FillUp));

            case 2 when strings.First().Trim() == "all" && int.TryParse(strings.Last().Trim(), out var skillValue):
                return(Utils.Handle(Utils.NpcHeros, hero => Utils.FillUp(hero, skillValue)));

            default:
                if (int.TryParse(strings.Last().Trim(), out var skillValue2))
                {
                    return(Utils.Handle(strings, hero => Utils.FillUp(hero, skillValue2)));
                }
                return(Utils.Handle(strings, Utils.FillUp));
            }
        }
コード例 #8
0
ファイル: ModTest.cs プロジェクト: WangMingJue/ModTest
        public static string OpenScreen(List <string> strings)
        {
            if (CampaignCheats.CheckParameters(strings, 0) || CampaignCheats.CheckHelp(strings))
            {
                return("Format is \"ui.open_screen [TypeName]\".");
            }
            Assembly[]        assemblies = AppDomain.CurrentDomain.GetAssemblies();
            Func <Type, bool> modify_by_why;

            modify_by_why = null;
            for (int i = 0; i < assemblies.Length; i++)
            {
                IEnumerable <Type> types = assemblies[i].GetTypes();
                Func <Type, bool>  predicate;
                if ((predicate = modify_by_why) == null)
                {
                    predicate = (modify_by_why = ((Type t) => t.Name == strings[0]));
                }
                Type type = types.FirstOrDefault(predicate);
                if (type != null && type.BaseType == typeof(ScreenBase))
                {
                    MethodInfo methodInfo = typeof(ViewCreatorManager).GetMethods(BindingFlags.Static | BindingFlags.Public).FirstOrDefault((MethodInfo m) => m.Name == "CreateScreenView" && m.GetParameters().Length == 0);
                    ScreenBase screenBase = ((methodInfo != null) ? methodInfo.MakeGenericMethod(new Type[]
                    {
                        type
                    }).Invoke(null, null) : null) as ScreenBase;
                    if (screenBase != null)
                    {
                        ScreenManager.PushScreen(screenBase);
                        return("Pushed Screen " + type.Name + ".");
                    }
                }
            }
            return("Could not find screen with name " + strings[0] + ".");
        }
コード例 #9
0
        private static string FormAlliance(List <string> strings)
        {
            if (!CampaignCheats.CheckCheatUsage(ref CampaignCheats.ErrorType))
            {
                return(CampaignCheats.ErrorType);
            }

            if (!CampaignCheats.CheckParameters(strings, 2) || CampaignCheats.CheckHelp(strings))
            {
                return("Format uses 2 kingdom ID parameters without spaces: diplomacy.form_alliance [Kingdom1] [Kingdom2]");
            }

            var b1 = strings[0].ToLower();
            var b2 = strings[1].ToLower();

            if (b1 == b2)
            {
                return("Cannot ally a kingdom to itself!");
            }

            Kingdom?kingdom1 = null;
            Kingdom?kingdom2 = null;

            foreach (var k in Kingdom.All)
            {
                var id = k.Name.ToString().ToLower().Replace(" ", "");

                if (id == b1)
                {
                    kingdom1 = k;
                }
                else if (id == b2)
                {
                    kingdom2 = k;
                }
            }

            if (kingdom1 is null && kingdom2 is null)
            {
                return("Could not find either required kingdom!");
            }

            if (kingdom1 is null)
            {
                return("1st kingdom ID not found: " + b1);
            }

            if (kingdom2 is null)
            {
                return("2nd kingdom ID not found: " + b2);
            }

            DeclareAllianceAction.Apply(kingdom1, kingdom2, bypassCosts: true);
            return($"Alliance formed between {kingdom1.Name} and  {kingdom2.Name}!");
        }
コード例 #10
0
 public static string Respec_1Hero(List <string> strings)
 {
     if (Campaign.Current == null)
     {
         return("Campaign is null");
     }
     if (CampaignCheats.CheckParameters(strings, 0) || CampaignCheats.CheckHelp(strings))
     {
         return("Format is \"campaign.respec_companion [Hero Name]\"");
     }
     return(Utils.Handle(strings, Utils.RespecHero));
 }
コード例 #11
0
        public static string Age(List <string> strings)
        {
            if (CampaignCheats.CheckParameters(strings, 0) || CampaignCheats.CheckHelp(strings))
            {
                return($"{FormatMsgHeader} \"dcc.age [{AgeText}]\".");
            }

            if (!int.TryParse(strings[0], out int num))
            {
                return(EnterAgeMsg.ToString());
            }
            Hero.MainHero.BirthDay = HeroHelper.GetRandomBirthDayForAge(num);
            return(SuccessMsg.ToString());
        }
コード例 #12
0
        public static string Age(List <string> strings)
        {
            if (CampaignCheats.CheckParameters(strings, 0) || CampaignCheats.CheckHelp(strings))
            {
                return($"{FormatMsgHeader} \"dcc.age [{AgeText}]\".");
            }

            if (!int.TryParse(strings[0], out int num))
            {
                return(EnterAgeMsg.ToString());
            }
            CharacterBodyManager.ResetBirthDayForAge(Hero.MainHero.CharacterObject, num, true);
            return(SuccessMsg.ToString());
        }
コード例 #13
0
        public static string Age(List <string> strings)
        {
            if (CampaignCheats.CheckParameters(strings, 0) || CampaignCheats.CheckHelp(strings))
            {
                return("Format is \"dcc.age [Age]\".");
            }
            int num = 1;

            if (!int.TryParse(strings[0], out num))
            {
                return("Please enter a age");
            }
            Hero.MainHero.BirthDay = HeroHelper.GetRandomBirthDayForAge((float)num);
            return("Success");
        }
コード例 #14
0
ファイル: Commands.cs プロジェクト: projectew/Bannerlord
        public static string ShowLuckyNations(List <string> strings)
        {
            if (Campaign.Current == null)
            {
                return("Campaign was not started.");
            }

            if (strings.Any() || CampaignCheats.CheckHelp(strings))
            {
                return("Format is \"revolts.show_lucky_nations\"");
            }

            var luckyNations = Managers.Kingdom.Infos.Where(i => i.LuckyNation).Select(info => info.Kingdom.Name.ToString()).ToList();

            return(luckyNations.Count == 0 ? "There are no Lucky Nations!" : $"{luckyNations.Aggregate((i, j) => i + Environment.NewLine + j)}");
        }
コード例 #15
0
        public static string FormAlliance(List <string> strings)
        {
            if (!CampaignCheats.CheckCheatUsage(ref CampaignCheats.ErrorType))
            {
                return(CampaignCheats.ErrorType);
            }
            if (!CampaignCheats.CheckParameters(strings, 2) || CampaignCheats.CheckHelp(strings))
            {
                return("Format is faction names without space \"campaign.form_alliance [Faction1] [Faction2]\".");
            }
            string  b        = strings[0].ToLower();
            string  b2       = strings[1].ToLower();
            Kingdom faction  = null;
            Kingdom faction2 = null;

            foreach (Kingdom faction3 in Campaign.Current.Kingdoms)
            {
                string a = faction3.Name.ToString().ToLower().Replace(" ", "");
                if (a == b)
                {
                    faction = faction3;
                }
                else if (a == b2)
                {
                    faction2 = faction3;
                }
            }
            if (faction != null && faction2 != null)
            {
                DeclareAllianceAction.Apply(faction as Kingdom, faction2 as Kingdom, bypassCosts: true);
                return(string.Concat(new object[]
                {
                    "Alliance declared between ",
                    faction.Name,
                    " and ",
                    faction2.Name
                }));
            }
            if (faction == null)
            {
                return("Faction is not found: " + faction);
            }
            return("Faction is not found: " + faction2);
        }
コード例 #16
0
        public static string AgeHero(List <string> strings)
        {
            if (!CampaignCheats.CheckParameters(strings, 2) || CampaignCheats.CheckHelp(strings))
            {
                return($"{FormatMsgHeader.ToString()} \"dcc.age_hero [{HeroNameText.ToString()}] [{AgeText.ToString()}]\".");
            }
            Hero hero = CampaignCheats.GetHero(strings[0].Replace('_', ' '));

            if (hero == null)
            {
                return(HeroNotFoundMsg.ToString());
            }
            if (!int.TryParse(strings[1], out int num))
            {
                return(EnterAgeMsg.ToString());
            }
            hero.BirthDay = HeroHelper.GetRandomBirthDayForAge(num);
            return(SuccessMsg.ToString());
        }
コード例 #17
0
        public static string AgeHero(List <string> strings)
        {
            if (!CampaignCheats.CheckParameters(strings, 2) || CampaignCheats.CheckHelp(strings))
            {
                return($"{FormatMsgHeader} \"dcc.age_hero [{HeroNameText}] [{AgeText}]\".");
            }
            Hero hero = CampaignCheats.GetHero(strings[0].Replace('_', ' '));

            if (hero == null)
            {
                return(HeroNotFoundMsg.ToString());
            }
            if (!int.TryParse(strings[1], out int num))
            {
                return(EnterAgeMsg.ToString());
            }
            CharacterBodyManager.ResetBirthDayForAge(hero.CharacterObject, num, true);
            return(SuccessMsg.ToString());
        }
コード例 #18
0
        public static string AgeHero(List <string> strings)
        {
            if (!CampaignCheats.CheckParameters(strings, 2) || CampaignCheats.CheckHelp(strings))
            {
                return("Format is \"dcc.age_hero [HeroName] [Age]\".");
            }
            Hero hero = CampaignCheats.GetHero(strings[0].Replace('_', ' '));

            if (hero == null)
            {
                return("Hero is not found");
            }
            int num;

            if (!int.TryParse(strings[1], out num))
            {
                return("Please enter a age");
            }
            hero.BirthDay = HeroHelper.GetRandomBirthDayForAge((float)num);
            return("Success");
        }
コード例 #19
0
ファイル: ModTest.cs プロジェクト: WangMingJue/ModTest
        public static string CancelQuest(List <string> strings)
        {
            if (Campaign.Current == null)
            {
                return("Campaign was not started.");
            }
            if (CampaignCheats.CheckParameters(strings, 0) || CampaignCheats.CheckHelp(strings))
            {
                return("Format is \"campaign.cancel_active_quest [QuestName]\".");
            }
            string questName = string.Join(" ", strings.ToArray()).Trim(new char[]
            {
                '"'
            });
            QuestBase questBase = Campaign.Current.QuestManager.Quests.FirstOrDefault((QuestBase q) => q.Title.ToString().ToLower().Contains(questName.ToLower()));

            if (questBase == null)
            {
                return("Failed to find active quest with name \"" + questName + "\"");
            }
            questBase.CompleteQuestWithCancel(null);
            return(string.Format("{0} has been cancelled.", questBase.Title));
        }
コード例 #20
0
        public static string ShowPlottingStatesOf(List <string> strings)
        {
            if (Campaign.Current == null)
            {
                return("Campaign was not started.");
            }

            if (strings.Count() < 1 || CampaignCheats.CheckHelp(strings))
            {
                return("Format is \"civilwars.show_plotting_state_of [Kingdom Name]\"");
            }

            var kingdomName = strings.Aggregate((i, j) => i + " " + j);

            var kingdom = Campaign.Current.Kingdoms.FirstOrDefault(s => s.Name.ToString().ToLower() == kingdomName.ToLower());

            if (kingdom == null)
            {
                return($"There is no Kingdom \"{kingdomName}\".");
            }

            var clanLeaders = new List <string>();

            foreach (var clan in kingdom.Clans.Where(c => c.StringId != kingdom.Leader.StringId))
            {
                var clanLeader = Managers.Character.Get(clan.Leader.CharacterObject);
                if (clanLeader == null)
                {
                    continue;
                }

                clanLeaders.Add($"{clanLeader.Character.Name} | {Enum.GetName(typeof(PlotState), clanLeader.PlotState)}");
            }

            return($"{clanLeaders.Aggregate((i, j) => i + Environment.NewLine + j)}");
        }
コード例 #21
0
ファイル: Commands.cs プロジェクト: projectew/Bannerlord
        public static string EndRevolt(List <string> strings)
        {
            if (Campaign.Current == null)
            {
                return("Campaign was not started.");
            }

            if (strings.Count < 2 || !strings.Contains("-s") || !strings.Contains("-w") || CampaignCheats.CheckHelp(strings))
            {
                return("Format is \"revolts.end -s [Settlement Name] -w [Win (true|false)]\"");
            }

            var       aggregatedString    = strings.Aggregate((i, j) => i + " " + j);
            const int settlementNameIndex = 3;
            var       winIndex            = aggregatedString.IndexOf("-w ", StringComparison.Ordinal) + 3;

            var settlementName = aggregatedString.Substring(settlementNameIndex, winIndex - 7);

            var settlement = Campaign.Current.Settlements.FirstOrDefault(s => string.Equals(s.Name.ToString(), settlementName, StringComparison.CurrentCultureIgnoreCase));

            if (settlement == null)
            {
                return($"There is no Settlement \"{settlementName}\".");
            }

            var revolt = Managers.Revolt.GetRevoltBySettlement(settlement);

            if (revolt == null)
            {
                return($"{settlementName} is not conflicted in a revolt.");
            }

            if (!bool.TryParse(aggregatedString.Substring(winIndex, aggregatedString.Length - winIndex), out var isWin))
            {
                return("Format is \"Revolts.end_Revolt -s [Settlement Name] -w [Win (true|false)]\".");
            }

            if (isWin)
            {
                RevoltBehavior.EndSucceededRevolt(revolt);
            }
            else
            {
                RevoltBehavior.EndFailedRevolt(revolt);
            }

            return($"Ended a {(isWin ? "successful" : "failed")} Revolt in {settlement.Name}.");
        }
コード例 #22
0
        static bool Prefix(ArmyManagementVM __instance, MBBindingList <ArmyManagementItemVM> ____partiesToRemove, Action ____onClose)
        {
            // Only enable this hack if it is enabled and player is independent
            // THIS IS A PORT OF ArmyManagementVM.ExecuteDone!
            if (!Hero.MainHero.MapFaction.IsKingdomFaction && Settings.Instance.CreatePlayerKingdom)
            {
                int  num   = __instance.PartiesInCart.Sum <ArmyManagementItemVM>((Func <ArmyManagementItemVM, int>)(P => P.Cost));
                bool flag1 = num <= 0 || (double)num <= (double)Hero.MainHero.Clan.Influence;
                if (flag1 && __instance.NewCohesion > __instance.Cohesion)
                {
                    var foo = __instance.GetType().GetMethod("ApplyCohesionChange", System.Reflection.BindingFlags.NonPublic);
                    foo.Invoke(__instance, null);
                }
                if (__instance.PartiesInCart.Count > 1 & flag1 /* && MobileParty.MainParty.MapFaction.IsKingdomFaction*/)
                {
                    if (MobileParty.MainParty.Army == null)
                    {
                        string err = "";
                        if (!CampaignCheats.CheckCheatUsage(ref err))
                        {
                            InformationMessage im = new InformationMessage(err);
                            InformationManager.DisplayMessage(im);
                            return(false);
                        }
                        if ((MobileParty.MainParty.MapFaction as Kingdom) is null)
                        {
                            CampaignCheats.CreatePlayerKingdom(new List <string>());
                        }
                        ((Kingdom)MobileParty.MainParty.MapFaction).CreateArmy(Hero.MainHero, (IMapPoint)Hero.MainHero.HomeSettlement, Army.ArmyTypes.Patrolling);
                    }
                    foreach (ArmyManagementItemVM managementItemVm in (Collection <ArmyManagementItemVM>)__instance.PartiesInCart)
                    {
                        if (managementItemVm.Party != MobileParty.MainParty)
                        {
                            managementItemVm.Party.Army = MobileParty.MainParty.Army;
                            SetPartyAiAction.GetActionForEscortingParty(managementItemVm.Party, MobileParty.MainParty);
                            managementItemVm.Party.IsJoiningArmy = true;
                        }
                    }
                    Hero.MainHero.Clan.Influence -= (float)num;
                }
                if (____partiesToRemove.Count > 0)
                {
                    bool flag2 = false;
                    foreach (ArmyManagementItemVM managementItemVm in (Collection <ArmyManagementItemVM>)____partiesToRemove)
                    {
                        if (managementItemVm.Party == MobileParty.MainParty)
                        {
                            managementItemVm.Party.Army = (Army)null;
                            flag2 = true;
                        }
                    }
                    if (!flag2)
                    {
                        foreach (ArmyManagementItemVM managementItemVm in (Collection <ArmyManagementItemVM>)____partiesToRemove)
                        {
                            Army army = MobileParty.MainParty.Army;
                            if ((army != null ? (army.Parties.Contains(managementItemVm.Party) ? 1 : 0) : 0) != 0)
                            {
                                managementItemVm.Party.Army = (Army)null;
                            }
                        }
                    }
                    ____partiesToRemove.Clear();
                }
                if (flag1)
                {
                    ____onClose();
                    CampaignEventDispatcher.Instance.OnArmyOverlaySetDirty();
                }
                else
                {
                    InformationManager.AddQuickInformation(new TextObject("{=Xmw93W6a}Not Enough Influence"));
                }

                //int num = __instance.PartiesInCart.Sum<ArmyManagementItemVM>((Func<ArmyManagementItemVM, int>)(P => P.Cost));
                //bool flag1 = (double)num <= (double)Hero.MainHero.Clan.Influence;
                //if (flag1 && __instance.NewCohesion > __instance.Cohesion)
                //{
                //    if (MobileParty.MainParty.Army == null)
                //        return false;
                //    ArmyManagementCalculationModel calculationModel = Campaign.Current.Models.ArmyManagementCalculationModel;
                //    int num1 = __instance.NewCohesion - __instance.Cohesion;
                //    Army army = MobileParty.MainParty.Army;
                //    double num2 = (double)num1;
                //    int totalInfluenceCost = calculationModel.CalculateTotalInfluenceCost(army, (float)num2);
                //    MobileParty.MainParty.Army.BoostCohesionWithInfluence((float)num1, totalInfluenceCost);
                //}
                //if (__instance.PartiesInCart.Count > 1 & flag1/* && MobileParty.MainParty.MapFaction.IsKingdomFaction*/)
                //{
                //    if (MobileParty.MainParty.Army == null)
                //    {
                //        string err = "";
                //        if (!CampaignCheats.CheckCheatUsage(ref err))
                //        {
                //            InformationMessage im = new InformationMessage(err);
                //            InformationManager.DisplayMessage(im);
                //            return false;
                //        }
                //        if ((MobileParty.MainParty.MapFaction as Kingdom) is null)
                //            CampaignCheats.CreatePlayerKingdom(new List<string>());

                //        ((Kingdom)MobileParty.MainParty.MapFaction).CreateArmy(Hero.MainHero, (IMapPoint)Hero.MainHero.HomeSettlement, Army.ArmyTypes.Patrolling);
                //    }
                //    foreach (ArmyManagementItemVM managementItemVm in (Collection<ArmyManagementItemVM>)__instance.PartiesInCart)
                //    {
                //        if (managementItemVm.Party != MobileParty.MainParty)
                //        {
                //            managementItemVm.Party.Army = MobileParty.MainParty.Army;
                //            SetPartyAiAction.GetActionForEscortingParty(managementItemVm.Party, MobileParty.MainParty);
                //            managementItemVm.Party.IsJoiningArmy = true;
                //        }
                //    }
                //    Hero.MainHero.Clan.Influence -= (float)num;
                //}
                //if (____partiesToRemove.Count > 0)
                //{
                //    bool flag2 = false;
                //    foreach (ArmyManagementItemVM managementItemVm in (Collection<ArmyManagementItemVM>)____partiesToRemove)
                //    {
                //        if (managementItemVm.Party == MobileParty.MainParty)
                //        {
                //            managementItemVm.Party.Army = (Army)null;
                //            flag2 = true;
                //        }
                //    }
                //    if (!flag2)
                //    {
                //        foreach (ArmyManagementItemVM managementItemVm in (Collection<ArmyManagementItemVM>)____partiesToRemove)
                //        {
                //            Army army = MobileParty.MainParty.Army;
                //            if ((army != null ? (army.Parties.Contains(managementItemVm.Party) ? 1 : 0) : 0) != 0)
                //                managementItemVm.Party.Army = (Army)null;
                //        }
                //    }
                //    ____partiesToRemove.Clear();
                //}
                //if (flag1)
                //    ____onClose();
                //else
                //    InformationManager.AddQuickInformation(new TextObject("{=Xmw93W6a}Not Enough Influence", (Dictionary<string, TextObject>)null), 0, (BasicCharacterObject)null, "");

                return(false);
            }

            return(true);
        }