Beispiel #1
0
        private void ReduceCorruption(Clan clan)
        {
            if (clan.MapFaction.IsKingdomFaction && !clan.Leader.IsHumanPlayerCharacter && clan.InfluenceChange < 0 && clan.GetCorruption() > 0)
            {
                FiefBarterable fiefBarterable = GetBestFiefBarter(clan, out Clan targetClan);
                if (fiefBarterable != null)
                {
                    int            goldValue      = GetGoldValueForFief(targetClan, fiefBarterable.TargetSettlement);
                    GoldBarterable goldBarterable = new GoldBarterable(targetClan.Leader, clan.Leader, null, null, goldValue);
                    goldBarterable.CurrentAmount = goldValue;

                    fiefBarterable.Apply();
                    goldBarterable.Apply();
                }
            }
        }
Beispiel #2
0
        private void ReduceCorruption(Clan clan)
        {
            if (!clan.MapFaction.IsKingdomFaction || clan.GetCorruption() <= 0 || clan.Leader.IsHumanPlayerCharacter)
                return;

            var influenceChange = Campaign.Current.Models.ClanPoliticsModel.CalculateInfluenceChange(clan).ResultNumber;

            if (influenceChange > 0)
                return;

            var fiefBarterable = GetBestFiefBarter(clan, out var targetClan);

            if (fiefBarterable is null || targetClan is null)
                return;

            var goldValue = GetGoldValueForFief(targetClan, fiefBarterable.TargetSettlement);
            var goldBarterable = new GoldBarterable(targetClan.Leader, clan.Leader, null, null, goldValue) { CurrentAmount = goldValue };

            fiefBarterable.Apply();
            goldBarterable.Apply();
        }