Ejemplo n.º 1
0
        private static void BreakAllAlliances(Clan clan)
        {
            Kingdom        kingdom        = clan.Kingdom;
            List <Kingdom> alliedKingdoms = Kingdom.All.Where(otherKingdom => otherKingdom != kingdom).Where(otherKingdom => FactionManager.IsAlliedWithFaction(kingdom, otherKingdom)).ToList();

            foreach (Kingdom alliedKingdom in alliedKingdoms)
            {
                BreakAllianceAction.Apply(kingdom, alliedKingdom);
            }
            return;
        }
Ejemplo n.º 2
0
        private static void ConsiderBreakingAlliances(Kingdom kingdom)
        {
            List <Kingdom> alliedKingdoms = Kingdom.All.Where(otherKingdom => otherKingdom != kingdom).Where(otherKingdom => FactionManager.IsAlliedWithFaction(kingdom, otherKingdom)).ToList();

            foreach (Kingdom alliedKingdom in alliedKingdoms)
            {
                if (MBRandom.RandomFloat < 0.05f && AllianceConditions.CanBreakAlliance(kingdom, alliedKingdom) && !AllianceScoringModel.ShouldFormAlliance(kingdom, alliedKingdom))
                {
                    BreakAllianceAction.Apply(kingdom, alliedKingdom);
                }
            }
        }
Ejemplo n.º 3
0
        private static void ConsiderBreakingAlliances(Kingdom kingdom)
        {
            var alliedKingdoms = Kingdom.All
                                 .Where(k => k != kingdom && FactionManager.IsAlliedWithFaction(kingdom, k))
                                 .ToList();

            foreach (var alliedKingdom in alliedKingdoms)
            {
                if (MBRandom.RandomFloat < 0.05f &&
                    BreakAllianceConditions.Instance.CanApply(kingdom, alliedKingdom) &&
                    !AllianceScoringModel.Instance.ShouldForm(kingdom, alliedKingdom))
                {
                    BreakAllianceAction.Apply(kingdom, alliedKingdom);
                }
            }
        }
Ejemplo n.º 4
0
        private static void BreakAllAlliances(Clan clan)
        {
            var kingdom = clan.Kingdom;

            if (kingdom is null)
            {
                return;
            }

            var alliedKingdoms = Kingdom.All
                                 .Where(k => k != kingdom && FactionManager.IsAlliedWithFaction(kingdom, k))
                                 .ToList();

            foreach (var alliedKingdom in alliedKingdoms)
            {
                BreakAllianceAction.Apply(kingdom, alliedKingdom);
            }
        }
 private void BreakAlliance(KingdomDiplomacyItemVM item)
 {
     BreakAllianceAction.Apply(item.Faction1 as Kingdom, item.Faction2 as Kingdom);
     RefreshDiplomacyList();
     RefreshAlliances();
 }
 protected override void ExecuteExecutiveAction()
 {
     BreakAllianceAction.Apply(Faction1 as Kingdom, Faction2 as Kingdom);
 }
 protected override void ExecuteExecutiveAction() => BreakAllianceAction.Apply((Kingdom)Faction1, (Kingdom)Faction2);