Exemplo n.º 1
0
        protected override void OnGameStart(Game game, IGameStarter gameStarter)
        {
            _mercenaryManager = new MercenaryManager();
            _campaignEvents   = new MercenaryContractCampaignEvents();

            if (game.GameType is CampaignStoryMode campaignStoryMode && gameStarter is CampaignGameStarter campaignGameStarter)
            {
                campaignGameStarter.LoadGameTexts($"{BasePath.Name}Modules/Aragas.MercenaryContract/ModuleData/global_strings.xml");
                campaignGameStarter.AddBehavior(new BattleBehavior());
                campaignGameStarter.AddBehavior(new BattleHistoryBehavior());
                campaignGameStarter.AddBehavior(new MercenaryContractBehavior());

                if (campaignStoryMode.CampaignGameLoadingType == Campaign.GameLoadingType.SavedCampaign)
                {
                    // Keep this fix for a few versions (ZIJI: disabling it now in e1.5.5, as this property doesn't even have a public setter)
                    if (Clan.PlayerClan.IsUnderMercenaryService && Clan.PlayerClan.Kingdom == null)
                    {
                        Clan.PlayerClan.EndMercenaryService(isByLeavingKingdom: false);
                    }
                }
            }
        }
Exemplo n.º 2
0
        protected override void OnGameStart(Game game, IGameStarter gameStarter)
        {
            _mercenaryManager = new MercenaryManager();
            _campaignEvents   = new MercenaryContractCampaignEvents();

            if (game.GameType is CampaignStoryMode campaignStoryMode && gameStarter is CampaignGameStarter campaignGameStarter)
            {
                campaignGameStarter.LoadGameTexts($"{BasePath.Name}Modules/Aragas.MercenaryContract/ModuleData/global_strings.xml");
                campaignGameStarter.AddBehavior(new BattleBehavior());
                campaignGameStarter.AddBehavior(new BattleHistoryBehavior());
                campaignGameStarter.AddBehavior(new MercenaryContractBehavior());

                if (campaignStoryMode.CampaignGameLoadingType == Campaign.GameLoadingType.SavedCampaign)
                {
                    // Keep this fix for a few versions
                    if (Clan.PlayerClan.IsUnderMercenaryService && Clan.PlayerClan.Kingdom == null)
                    {
                        Clan.PlayerClan.IsUnderMercenaryService = false;
                    }
                }
            }
        }