Beispiel #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) }
            };
        }
Beispiel #2
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
            };
        }
Beispiel #3
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
            };
        }
Beispiel #4
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
            };
        }