예제 #1
0
        public BattleBannerAssignBehaviour(IBMBSettings settings, IBMBFormationBanners formationBannerSettings, MissionType missionType)
        {
            _controller              = new BattleBannerController(settings, formationBannerSettings, missionType);
            _dropBannerController    = new DropBannerController(settings);
            _settings                = settings;
            _formationBannerSettings = formationBannerSettings;

            // For battles, we don't want ranged units dropping banners because they had a bow
            _forbiddenWeapons = new HashSet <WeaponClass>()
            {
                WeaponClass.Arrow,
                WeaponClass.Bolt,
                WeaponClass.Bow,
                WeaponClass.Crossbow
            };

            _formationBanners = new Dictionary <FormationGroup, Banner>()
            {
                { FormationGroup.Infantry, new Banner(_formationBannerSettings.Infantry) },
                { FormationGroup.Ranged, new Banner(_formationBannerSettings.Ranged) },
                { FormationGroup.Cavalry, new Banner(_formationBannerSettings.Cavalry) },
                { FormationGroup.HorseArcher, new Banner(_formationBannerSettings.HorseArcher) },
                { FormationGroup.Skirmisher, new Banner(_formationBannerSettings.Skirmisher) },
                { FormationGroup.HeavyInfantry, new Banner(_formationBannerSettings.HeavyInfantry) },
                { FormationGroup.LightCavalry, new Banner(_formationBannerSettings.LightCavalry) },
                { FormationGroup.HeavyCavalry, new Banner(_formationBannerSettings.HeavyCavalry) }
            };
        }
 public TournamentBannerAssignBehaviour(IBMBSettings settings)
 {
     _controller           = new TournamentBannerController(settings);
     _dropBannerController = new DropBannerController(settings);
     _settings             = settings;
     _forbiddenWeapons     = new HashSet <ItemObject.ItemTypeEnum>()
     {
         ItemObject.ItemTypeEnum.Shield
     };
 }
예제 #3
0
 public DropBannerComponent(Agent agent, IBMBSettings settings, DropBannerController controller) : base(agent)
 {
     try
     {
         _settings         = settings;
         _controller       = controller;
         _dropsOnLowHealth = _controller.DropsOnLowHealth();
         _dropsOnRetreat   = _controller.DropsOnRetreat(agent.Character.GetPower());
     }
     catch (Exception ex)
     {
         Main.LogError(ex);
     }
 }
예제 #4
0
        public CustomBattleBannerBehaviour(IBMBSettings settings)
        {
            _controller           = new BattleBannerController(settings, null, MissionType.CustomBattle);
            _dropBannerController = new DropBannerController(settings);
            _settings             = settings;

            _forbiddenWeapons = new HashSet <ItemObject.ItemTypeEnum>()
            {
                ItemObject.ItemTypeEnum.Arrows,
                ItemObject.ItemTypeEnum.Bolts,
                ItemObject.ItemTypeEnum.Bow,
                ItemObject.ItemTypeEnum.Crossbow
            };
        }
예제 #5
0
        public CustomBattleBannerBehaviour(IBMBSettings settings)
        {
            _controller           = new BattleBannerController(settings, null, MissionType.CustomBattle);
            _dropBannerController = new DropBannerController(settings);
            _settings             = settings;

            _forbiddenWeapons = new HashSet <WeaponClass>()
            {
                WeaponClass.Arrow,
                WeaponClass.Bolt,
                WeaponClass.Bow,
                WeaponClass.Crossbow
            };
        }
예제 #6
0
        public BattleBannerAssignBehaviour(IBMBSettings settings, IPolybianConfig polybianConfig, MissionType missionType)
        {
            _controller           = new BattleBannerController(settings, polybianConfig, missionType);
            _dropBannerController = new DropBannerController(settings);
            _settings             = settings;
            _polybianConfig       = polybianConfig;

            // For battles, we don't want ranged units dropping banners because they had a bow
            _forbiddenWeapons = new HashSet <ItemObject.ItemTypeEnum>()
            {
                ItemObject.ItemTypeEnum.Arrows,
                ItemObject.ItemTypeEnum.Bolts,
                ItemObject.ItemTypeEnum.Bow,
                ItemObject.ItemTypeEnum.Crossbow
            };
        }