示例#1
0
        public FourGate(DefaultSharkyBot defaultSharkyBot, ICounterTransitioner counterTransitioner)
            : base(defaultSharkyBot, counterTransitioner)
        {
            SharkyUnitData = defaultSharkyBot.SharkyUnitData;

            OpeningAttackChatSent = false;
        }
示例#2
0
        public FourGate(BuildOptions buildOptions, MacroData macroData, ActiveUnitData activeUnitData, AttackData attackData, ChatService chatService, ChronoData chronoData, SharkyUnitData sharkyUnitData, ICounterTransitioner counterTransitioner, UnitCountService unitCountService, MicroTaskData microTaskData)
            : base(buildOptions, macroData, activeUnitData, attackData, chatService, chronoData, counterTransitioner, unitCountService, microTaskData)
        {
            SharkyUnitData = sharkyUnitData;

            OpeningAttackChatSent = false;
        }
示例#3
0
        public UnitManager(ActiveUnitData activeUnitData, SharkyUnitData sharkyUnitData, SharkyOptions sharkyOptions, TargetPriorityService targetPriorityService, CollisionCalculator collisionCalculator, MapDataService mapDataService, DebugService debugService, DamageService damageService, UnitDataService unitDataService)
        {
            ActiveUnitData = activeUnitData;

            SharkyUnitData        = sharkyUnitData;
            SharkyOptions         = sharkyOptions;
            TargetPriorityService = targetPriorityService;
            CollisionCalculator   = collisionCalculator;
            MapDataService        = mapDataService;
            DebugService          = debugService;
            DamageService         = damageService;
            UnitDataService       = unitDataService;

            ActiveUnitData.EnemyUnits   = new ConcurrentDictionary <ulong, UnitCalculation>();
            ActiveUnitData.SelfUnits    = new ConcurrentDictionary <ulong, UnitCalculation>();
            ActiveUnitData.NeutralUnits = new ConcurrentDictionary <ulong, UnitCalculation>();

            ActiveUnitData.Commanders = new ConcurrentDictionary <ulong, UnitCommander>();

            ActiveUnitData.DeadUnits = new List <ulong>();

            TargetPriorityCalculationFrame = 0;

            UndeadTypes = new List <UnitTypes> {
                UnitTypes.ZERG_BROODLING, UnitTypes.ZERG_EGG, UnitTypes.ZERG_LARVA, UnitTypes.TERRAN_KD8CHARGE, UnitTypes.ZERG_OVERLORD, UnitTypes.ZERG_OVERLORDCOCOON, UnitTypes.ZERG_OVERLORDTRANSPORT, UnitTypes.ZERG_TRANSPORTOVERLORDCOCOON
            };
        }
示例#4
0
 public ZergBuildingPlacement(ActiveUnitData activeUnitData, SharkyUnitData sharkyUnitData, DebugService debugService, BuildingService buildingService)
 {
     ActiveUnitData  = activeUnitData;
     SharkyUnitData  = sharkyUnitData;
     DebugService    = debugService;
     BuildingService = buildingService;
 }
示例#5
0
        public MacroManager(MacroSetup macroSetup, ActiveUnitData activeUnitData, SharkyUnitData sharkyUnitData, IBuildingBuilder buildingBuilder, SharkyOptions sharkyOptions, BaseData baseData, TargetingData targetingData, AttackData attackData, IBuildingPlacement warpInPlacement, MacroData macroData, Morpher morpher, BuildOptions buildOptions,
                            BuildPylonService buildPylonService, BuildDefenseService buildDefenseService, BuildProxyService buildProxyService, UnitCountService unitCountService, BuildingCancelService buildingCancelService)
        {
            MacroSetup      = macroSetup;
            ActiveUnitData  = activeUnitData;
            SharkyUnitData  = sharkyUnitData;
            BuildingBuilder = buildingBuilder;
            SharkyOptions   = sharkyOptions;
            BaseData        = baseData;
            TargetingData   = targetingData;
            AttackData      = attackData;
            WarpInPlacement = warpInPlacement;

            MacroData    = macroData;
            Morpher      = morpher;
            BuildOptions = buildOptions;

            BuildPylonService     = buildPylonService;
            BuildDefenseService   = buildDefenseService;
            BuildProxyService     = buildProxyService;
            UnitCountService      = unitCountService;
            BuildingCancelService = buildingCancelService;

            MacroData.DesiredUpgrades = new Dictionary <Upgrades, bool>();

            LastRunFrame = -10;
            RunFrequency = 5;
        }
示例#6
0
 public BuildingBuilder(ActiveUnitData activeUnitData, TargetingData targetingData, IBuildingPlacement buildingPlacement, SharkyUnitData sharkyUnitData, BaseData baseData)
 {
     ActiveUnitData    = activeUnitData;
     TargetingData     = targetingData;
     BuildingPlacement = buildingPlacement;
     SharkyUnitData    = sharkyUnitData;
     BaseData          = baseData;
 }
示例#7
0
 public ProtossBuildingPlacement(ActiveUnitData activeUnitData, SharkyUnitData sharkyUnitData, DebugService debugService, MapDataService mapDataService, BuildingService buildingService, IBuildingPlacement wallOffPlacement)
 {
     ActiveUnitData   = activeUnitData;
     SharkyUnitData   = sharkyUnitData;
     DebugService     = debugService;
     MapDataService   = mapDataService;
     BuildingService  = buildingService;
     WallOffPlacement = wallOffPlacement;
 }
示例#8
0
 public MacroBalancer(BuildOptions buildOptions, ActiveUnitData activeUnitData, MacroData macroData, SharkyUnitData sharkyUnitData, BaseData baseData, UnitCountService unitCountService)
 {
     BuildOptions     = buildOptions;
     ActiveUnitData   = activeUnitData;
     MacroData        = macroData;
     SharkyUnitData   = sharkyUnitData;
     BaseData         = baseData;
     UnitCountService = unitCountService;
 }
示例#9
0
 public WallOffPlacement(ActiveUnitData activeUnitData, SharkyUnitData sharkyUnitData, DebugService debugService, MapData mapData, BuildingService buildingService, TargetingData targetingData)
 {
     ActiveUnitData  = activeUnitData;
     SharkyUnitData  = sharkyUnitData;
     DebugService    = debugService;
     MapData         = mapData;
     BuildingService = buildingService;
     TargetingData   = targetingData;
 }
示例#10
0
 public BaseManager(SharkyUnitData sharkyUnitData, ActiveUnitData activeUnitData, IPathFinder pathFinder, UnitCountService unitCountService, BaseData baseData)
 {
     SharkyUnitData         = sharkyUnitData;
     ActiveUnitData         = activeUnitData;
     PathFinder             = pathFinder;
     UnitCountService       = unitCountService;
     BaseData               = baseData;
     BaseData.BaseLocations = new List <BaseLocation>();
 }
示例#11
0
 public BuildingPlacement(IBuildingPlacement protossBuildingPlacement, IBuildingPlacement terranBuildingPlacement, IBuildingPlacement zergBuildingPlacement, BaseData baseData, ActiveUnitData activeUnitData, BuildingService buildingService, SharkyUnitData sharkyUnitData)
 {
     ProtossBuildingPlacement = protossBuildingPlacement;
     TerranBuildingPlacement  = terranBuildingPlacement;
     ZergBuildingPlacement    = zergBuildingPlacement;
     BaseData        = baseData;
     ActiveUnitData  = activeUnitData;
     BuildingService = buildingService;
     SharkyUnitData  = sharkyUnitData;
 }
示例#12
0
        public BuildProxyService(MacroData macroData, IBuildingBuilder buildingBuilder, SharkyUnitData sharkyUnitData, ActiveUnitData activeUnitData, Morpher morpher, MicroTaskData microTaskData)
        {
            MacroData       = macroData;
            BuildingBuilder = buildingBuilder;
            SharkyUnitData  = sharkyUnitData;
            ActiveUnitData  = activeUnitData;
            Morpher         = morpher;
            MicroTaskData   = microTaskData;

            lastFailFrame = 0;
        }
示例#13
0
        public BuildDefenseService(MacroData macroData, IBuildingBuilder buildingBuilder, SharkyUnitData sharkyUnitData, ActiveUnitData activeUnitData, BaseData baseData, TargetingData targetingData, BuildOptions buildOptions)
        {
            MacroData       = macroData;
            BuildingBuilder = buildingBuilder;
            SharkyUnitData  = sharkyUnitData;
            ActiveUnitData  = activeUnitData;
            BaseData        = baseData;
            TargetingData   = targetingData;
            BuildOptions    = buildOptions;

            defensivePointLastFailFrame = 0;
        }
示例#14
0
        public BuildPylonService(MacroData macroData, IBuildingBuilder buildingBuilder, SharkyUnitData sharkyUnitData, ActiveUnitData activeUnitData, BaseData baseData, TargetingData targetingData, BuildingService buildingService)
        {
            MacroData       = macroData;
            BuildingBuilder = buildingBuilder;
            SharkyUnitData  = sharkyUnitData;
            ActiveUnitData  = activeUnitData;
            BaseData        = baseData;
            TargetingData   = targetingData;
            BuildingService = buildingService;

            defensivePointLastFailFrame = 0;
        }
示例#15
0
        public ProxyScoutTask(SharkyUnitData sharkyUnitData, TargetingData targetingData, BaseData baseData, SharkyOptions sharkyOptions, bool enabled, float priority, IIndividualMicroController individualMicroController)
        {
            SharkyUnitData            = sharkyUnitData;
            TargetingData             = targetingData;
            BaseData                  = baseData;
            SharkyOptions             = sharkyOptions;
            Priority                  = priority;
            IndividualMicroController = individualMicroController;

            UnitCommanders = new List <UnitCommander>();
            Enabled        = enabled;
            LateGame       = false;
        }
示例#16
0
        public ProxyVoidRay(DefaultSharkyBot defaultSharkyBot, ICounterTransitioner counterTransitioner, IIndividualMicroController probeMicroController)
            : base(defaultSharkyBot, counterTransitioner)
        {
            SharkyOptions        = defaultSharkyBot.SharkyOptions;
            SharkyUnitData       = defaultSharkyBot.SharkyUnitData;
            ProxyLocationService = defaultSharkyBot.ProxyLocationService;

            OpeningAttackChatSent  = false;
            CancelledProxyChatSent = false;

            ProxyTask           = new ProxyTask(SharkyUnitData, false, 0.9f, MacroData, string.Empty, MicroTaskData, defaultSharkyBot.DebugService, probeMicroController);
            ProxyTask.ProxyName = GetType().Name;
        }
示例#17
0
        public WallOffTask(SharkyUnitData sharkyUnitData, TargetingData targetingData, ActiveUnitData activeUnitData, MacroData macroData, IBuildingPlacement wallOffPlacement, bool enabled, float priority)
        {
            SharkyUnitData   = sharkyUnitData;
            TargetingData    = targetingData;
            Priority         = priority;
            ActiveUnitData   = activeUnitData;
            MacroData        = macroData;
            WallOffPlacement = wallOffPlacement;

            UnitCommanders = new List <UnitCommander>();
            Enabled        = enabled;

            PlacementPoints = new List <Point2D>();
        }
示例#18
0
        public MapManager(MapData mapData, ActiveUnitData activeUnitData, SharkyOptions sharkyOptions, SharkyUnitData sharkyUnitData, DebugService debugService, WallDataService wallDataService)
        {
            MapData         = mapData;
            ActiveUnitData  = activeUnitData;
            SharkyOptions   = sharkyOptions;
            SharkyUnitData  = sharkyUnitData;
            DebugService    = debugService;
            WallDataService = wallDataService;

            LastBuildingCount         = 0;
            LastVisibleEnemyUnitCount = 0;
            FramesPerUpdate           = 5;
            LastUpdateFrame           = -100;
        }
示例#19
0
        public ProxyVoidRay(BuildOptions buildOptions, MacroData macroData, ActiveUnitData activeUnitData, AttackData attackData, ChatService chatService, ChronoData chronoData, SharkyOptions sharkyOptions, MicroTaskData microTaskData, ICounterTransitioner counterTransitioner, SharkyUnitData unitDataManager, ProxyLocationService proxyLocationService, DebugService debugService, UnitCountService unitCountService, IIndividualMicroController probeMicroController)
            : base(buildOptions, macroData, activeUnitData, attackData, chatService, chronoData, counterTransitioner, unitCountService)
        {
            SharkyOptions        = sharkyOptions;
            MicroTaskData        = microTaskData;
            SharkyUnitData       = unitDataManager;
            ProxyLocationService = proxyLocationService;

            OpeningAttackChatSent  = false;
            CancelledProxyChatSent = false;

            ProxyTask           = new ProxyTask(SharkyUnitData, false, 0.9f, MacroData, string.Empty, MicroTaskData, debugService, probeMicroController);
            ProxyTask.ProxyName = GetType().Name;
        }
示例#20
0
        public ProxyTask(SharkyUnitData sharkyUnitData, bool enabled, float priority, MacroData macroData, string proxyName, MicroTaskData microTaskData, DebugService debugService, IIndividualMicroController individualMicroController, int desiredWorkers = 1)
        {
            SharkyUnitData            = sharkyUnitData;
            Priority                  = priority;
            MacroData                 = macroData;
            ProxyName                 = proxyName;
            MicroTaskData             = microTaskData;
            DebugService              = debugService;
            IndividualMicroController = individualMicroController;

            UnitCommanders = new List <UnitCommander>();
            Enabled        = enabled;
            DesiredWorkers = desiredWorkers;
        }
示例#21
0
        public WorkerScoutTask(SharkyUnitData sharkyUnitData, TargetingData targetingData, MapDataService mapDataService, bool enabled, float priority, IIndividualMicroController individualMicroController, DebugService debugService, BaseData baseData, AreaService areaService)
        {
            SharkyUnitData            = sharkyUnitData;
            TargetingData             = targetingData;
            MapDataService            = mapDataService;
            Priority                  = priority;
            IndividualMicroController = individualMicroController;
            DebugService              = debugService;
            BaseData                  = baseData;
            AreaService               = areaService;

            UnitCommanders = new List <UnitCommander>();
            Enabled        = enabled;
        }
示例#22
0
        public MiningTask(SharkyUnitData sharkyUnitData, BaseData baseData, ActiveUnitData activeUnitData, float priority, MiningDefenseService miningDefenseService, MacroData macroData, BuildOptions buildOptions)
        {
            SharkyUnitData       = sharkyUnitData;
            BaseData             = baseData;
            ActiveUnitData       = activeUnitData;
            Priority             = priority;
            MiningDefenseService = miningDefenseService;
            MacroData            = macroData;
            BuildOptions         = buildOptions;

            LowMineralsHighGas = false;

            UnitCommanders = new List <UnitCommander>();
            Enabled        = true;
        }
示例#23
0
        public TargetingManager(SharkyUnitData sharkyUnitData, BaseData baseData, MacroData macroData, TargetingData targetingData, MapData mapData,
                                ChokePointService chokePointService, ChokePointsService chokePointsService, DebugService debugService)
        {
            SharkyUnitData = sharkyUnitData;
            BaseData       = baseData;
            MacroData      = macroData;
            TargetingData  = targetingData;
            MapData        = mapData;

            ChokePointService  = chokePointService;
            ChokePointsService = chokePointsService;
            DebugService       = debugService;

            baseCount                         = 0;
            LastUpdateFrame                   = -10000;
            TargetingData.ChokePoints         = new ChokePoints();
            TargetingData.WallOffBasePosition = WallOffBasePosition.Current;
        }
示例#24
0
        public WorkerScoutGasStealTask(SharkyUnitData sharkyUnitData, TargetingData targetingData, MacroData macroData, MapDataService mapDataService,
                                       bool enabled, float priority, DebugService debugService, BaseData baseData, AreaService areaService, MapData mapData, BuildingService buildingService, ActiveUnitData activeUnitData)
        {
            SharkyUnitData  = sharkyUnitData;
            TargetingData   = targetingData;
            MacroData       = macroData;
            MapDataService  = mapDataService;
            Priority        = priority;
            DebugService    = debugService;
            BaseData        = baseData;
            AreaService     = areaService;
            BuildingService = buildingService;
            MapData         = mapData;
            ActiveUnitData  = activeUnitData;

            UnitCommanders = new List <UnitCommander>();
            Enabled        = enabled;

            BlockExpansion  = false;
            HidePylonInBase = false;
            BlockWall       = false;
        }
示例#25
0
 public NexusManager(ActiveUnitData activeUnitData, SharkyUnitData sharkyUnitData, ChronoData chronoData)
 {
     ActiveUnitData = activeUnitData;
     SharkyUnitData = sharkyUnitData;
     ChronoData     = chronoData;
 }
示例#26
0
 public ZealotMicroController(MapDataService mapDataService, SharkyUnitData sharkyUnitData, ActiveUnitData activeUnitData, DebugService debugService, IPathFinder sharkyPathFinder, BaseData baseData, SharkyOptions sharkyOptions, DamageService damageService, UnitDataService unitDataService, TargetingData targetingData, MicroPriority microPriority, bool groupUpEnabled)
     : base(mapDataService, sharkyUnitData, activeUnitData, debugService, sharkyPathFinder, baseData, sharkyOptions, damageService, unitDataService, targetingData, microPriority, groupUpEnabled)
 {
 }
示例#27
0
 public EnemyRaceManager(ActiveUnitData activeUnitData, SharkyUnitData sharkyUnitData, EnemyData enemyData)
 {
     ActiveUnitData = activeUnitData;
     SharkyUnitData = sharkyUnitData;
     EnemyData      = enemyData;
 }
示例#28
0
        public UnitDataManager(UpgradeDataService upgradeDataService, BuildingDataService buildingDataService, TrainingDataService trainingDataService, AddOnDataService addOnDataService, MorphDataService morphDataService, SharkyUnitData sharkyUnitData)
        {
            SharkyUnitData = sharkyUnitData;

            SharkyUnitData.UnitData      = new Dictionary <UnitTypes, UnitTypeData>();
            SharkyUnitData.UnitAbilities = new Dictionary <Abilities, UnitTypes>();

            SharkyUnitData.ZergTypes    = new HashSet <UnitTypes>();
            SharkyUnitData.ProtossTypes = new HashSet <UnitTypes>();
            SharkyUnitData.TerranTypes  = new HashSet <UnitTypes>();
            foreach (var name in Enum.GetNames(typeof(UnitTypes)))
            {
                if (name.StartsWith("ZERG"))
                {
                    UnitTypes value;
                    if (Enum.TryParse(name, out value))
                    {
                        SharkyUnitData.ZergTypes.Add(value);
                    }
                }
                else if (name.StartsWith("PROTOSS"))
                {
                    UnitTypes value;
                    if (Enum.TryParse(name, out value))
                    {
                        SharkyUnitData.ProtossTypes.Add(value);
                    }
                }
                else if (name.StartsWith("TERRAN"))
                {
                    UnitTypes value;
                    if (Enum.TryParse(name, out value))
                    {
                        SharkyUnitData.TerranTypes.Add(value);
                    }
                }
            }

            SharkyUnitData.BuildingData = buildingDataService.BuildingData();
            SharkyUnitData.TrainingData = trainingDataService.TrainingData();
            SharkyUnitData.UpgradeData  = upgradeDataService.UpgradeData();
            SharkyUnitData.AddOnData    = addOnDataService.AddOnData();
            SharkyUnitData.MorphData    = morphDataService.MorphData();

            SharkyUnitData.AbilityCooldownTimes = new Dictionary <Abilities, float> {
                { Abilities.EFFECT_BLINK_STALKER, 10 }, { Abilities.EFFECT_SHADOWSTRIDE, 14 }, { Abilities.EFFECT_TIMEWARP, 7.1f }, { Abilities.EFFECT_PURIFICATIONNOVA, 21.4f }, { Abilities.EFFECT_PSISTORM, 1.43f }, { Abilities.EFFECT_VOIDRAYPRISMATICALIGNMENT, 42.9f }, { Abilities.EFFECT_ORACLEREVELATION, 10f }, { Abilities.BEHAVIOR_PULSARBEAMON, 4f }, { Abilities.EFFECT_KD8CHARGE, 14f }, { Abilities.EFFECT_ADEPTPHASESHIFT, 18f }, { Abilities.NEXUSMASSRECALL, 130f }
            };
            SharkyUnitData.WarpInCooldownTimes = new Dictionary <Abilities, float> {
                { Abilities.TRAINWARP_ADEPT, 20f }, { Abilities.TRAINWARP_DARKTEMPLAR, 32f }, { Abilities.TRAINWARP_HIGHTEMPLAR, 32f }, { Abilities.TRAINWARP_SENTRY, 23f }, { Abilities.TRAINWARP_STALKER, 23f }, { Abilities.TRAINWARP_ZEALOT, 20f }
            };


            SharkyUnitData.TechLabTypes = new HashSet <UnitTypes> {
                UnitTypes.TERRAN_BARRACKSTECHLAB,
                UnitTypes.TERRAN_FACTORYTECHLAB,
                UnitTypes.TERRAN_STARPORTTECHLAB
            };

            SharkyUnitData.ReactorTypes = new HashSet <UnitTypes> {
                UnitTypes.TERRAN_BARRACKSREACTOR,
                UnitTypes.TERRAN_FACTORYREACTOR,
                UnitTypes.TERRAN_STARPORTREACTOR
            };

            SharkyUnitData.CarryingResourceBuffs = new HashSet <Buffs> {
                Buffs.CARRYHARVESTABLEVESPENEGEYSERGAS,
                Buffs.CARRYHARVESTABLEVESPENEGEYSERGASPROTOSS,
                Buffs.CARRYHARVESTABLEVESPENEGEYSERGASZERG,
                Buffs.CARRYHIGHYIELDMINERALFIELDMINERALS,
                Buffs.CARRYMINERALFIELDMINERALS
            };

            SharkyUnitData.CarryingMineralBuffs = new HashSet <Buffs> {
                Buffs.CARRYHIGHYIELDMINERALFIELDMINERALS,
                Buffs.CARRYMINERALFIELDMINERALS
            };

            SharkyUnitData.MineralFieldTypes = new HashSet <UnitTypes>
            {
                UnitTypes.NEUTRAL_BATTLESTATIONMINERALFIELD,
                UnitTypes.NEUTRAL_BATTLESTATIONMINERALFIELD750,
                UnitTypes.NEUTRAL_MINERALFIELD,
                UnitTypes.NEUTRAL_MINERALFIELD750,
                UnitTypes.NEUTRAL_PURIFIERMINERALFIELD,
                UnitTypes.NEUTRAL_PURIFIERMINERALFIELD750,
                UnitTypes.NEUTRAL_PURIFIERRICHMINERALFIELD,
                UnitTypes.NEUTRAL_PURIFIERRICHMINERALFIELD750,
                UnitTypes.NEUTRAL_RICHMINERALFIELD,
                UnitTypes.NEUTRAL_RICHMINERALFIELD750,
                UnitTypes.NEUTRAL_LABMINERALFIELD,
                UnitTypes.NEUTRAL_LABMINERALFIELD750
            };

            SharkyUnitData.GasGeyserTypes = new HashSet <UnitTypes>
            {
                UnitTypes.NEUTRAL_VESPENEGEYSER,
                UnitTypes.NEUTRAL_SPACEPLATFORMGEYSER,
                UnitTypes.NEUTRAL_SHAKURASVESPENEGEYSER,
                UnitTypes.NEUTRAL_RICHVESPENEGEYSER,
                UnitTypes.NEUTRAL_PURIFIERVESPENEGEYSER,
                UnitTypes.NEUTRAL_PROTOSSVESPENEGEYSER,
                UnitTypes.ZERG_EXTRACTOR,
                UnitTypes.ZERG_EXTRACTORRICH,
                UnitTypes.PROTOSS_ASSIMILATOR,
                UnitTypes.PROTOSS_ASSIMILATORRICH,
                UnitTypes.TERRAN_REFINERY,
                UnitTypes.TERRAN_REFINERYRICH
            };

            SharkyUnitData.GasGeyserRefineryTypes = new HashSet <UnitTypes>
            {
                UnitTypes.ZERG_EXTRACTOR,
                UnitTypes.ZERG_EXTRACTORRICH,
                UnitTypes.PROTOSS_ASSIMILATOR,
                UnitTypes.PROTOSS_ASSIMILATORRICH,
                UnitTypes.TERRAN_REFINERY,
                UnitTypes.TERRAN_REFINERYRICH
            };

            SharkyUnitData.MiningAbilities = new HashSet <Abilities>
            {
                Abilities.HARVEST_GATHER,
                Abilities.HARVEST_GATHER_DRONE,
                Abilities.HARVEST_GATHER_PROBE,
                Abilities.HARVEST_GATHER_SCV,
                Abilities.HARVEST_RETURN,
                Abilities.HARVEST_RETURN_DRONE,
                Abilities.HARVEST_RETURN_MULE,
                Abilities.HARVEST_RETURN_PROBE,
                Abilities.HARVEST_RETURN_SCV
            };
            SharkyUnitData.GatheringAbilities = new HashSet <Abilities>
            {
                Abilities.HARVEST_GATHER,
                Abilities.HARVEST_GATHER_DRONE,
                Abilities.HARVEST_GATHER_PROBE,
                Abilities.HARVEST_GATHER_SCV
            };

            SharkyUnitData.GroundSplashDamagers = new HashSet <UnitTypes>
            {
                UnitTypes.TERRAN_SIEGETANKSIEGED,
                UnitTypes.TERRAN_PLANETARYFORTRESS,
                UnitTypes.TERRAN_HELLION,
                UnitTypes.TERRAN_HELLIONTANK,
                UnitTypes.TERRAN_WIDOWMINEBURROWED,
                UnitTypes.PROTOSS_ARCHON,
                UnitTypes.PROTOSS_HIGHTEMPLAR,
                UnitTypes.PROTOSS_COLOSSUS,
                UnitTypes.ZERG_BANELING,
                UnitTypes.ZERG_BANELINGBURROWED,
                UnitTypes.ZERG_INFESTOR,
                UnitTypes.ZERG_INFESTORBURROWED,
                UnitTypes.ZERG_LURKERMPBURROWED
            };

            SharkyUnitData.AirSplashDamagers = new HashSet <UnitTypes>
            {
                UnitTypes.TERRAN_THOR,
                UnitTypes.TERRAN_LIBERATOR,
                UnitTypes.TERRAN_WIDOWMINEBURROWED,
                UnitTypes.PROTOSS_ARCHON,
                UnitTypes.PROTOSS_HIGHTEMPLAR,
                UnitTypes.ZERG_INFESTOR,
                UnitTypes.ZERG_INFESTORBURROWED,
            };

            SharkyUnitData.CloakableAttackers = new HashSet <UnitTypes>
            {
                UnitTypes.PROTOSS_DARKTEMPLAR,
                UnitTypes.TERRAN_GHOST,
                UnitTypes.TERRAN_BANSHEE,
                UnitTypes.TERRAN_WIDOWMINE,
                UnitTypes.TERRAN_WIDOWMINEBURROWED,
                UnitTypes.ZERG_LURKERMPBURROWED,
                UnitTypes.ZERG_LURKERMP,
                UnitTypes.ZERG_SWARMHOSTBURROWEDMP,
                UnitTypes.ZERG_SWARMHOSTMP,
                UnitTypes.PROTOSS_MOTHERSHIP
            };

            SharkyUnitData.DetectionTypes = new HashSet <UnitTypes>
            {
                UnitTypes.TERRAN_MISSILETURRET,
                UnitTypes.PROTOSS_PHOTONCANNON,
                UnitTypes.ZERG_SPORECRAWLER,
                UnitTypes.ZERG_SPORECRAWLERUPROOTED,
                UnitTypes.PROTOSS_OBSERVER,
                UnitTypes.TERRAN_RAVEN,
                UnitTypes.ZERG_OVERSEER
            };

            SharkyUnitData.AbilityDetectionTypes = new HashSet <UnitTypes>
            {
                UnitTypes.PROTOSS_ORACLE,
                UnitTypes.TERRAN_GHOST,
                UnitTypes.TERRAN_ORBITALCOMMAND,
                UnitTypes.ZERG_INFESTOR,
                UnitTypes.ZERG_INFESTORBURROWED
            };

            SharkyUnitData.NoWeaponCooldownTypes = new HashSet <UnitTypes>
            {
                UnitTypes.PROTOSS_ORACLE,
                UnitTypes.PROTOSS_VOIDRAY
            };

            SharkyUnitData.ResourceCenterTypes = new HashSet <UnitTypes>
            {
                UnitTypes.TERRAN_COMMANDCENTER,
                UnitTypes.TERRAN_COMMANDCENTERFLYING,
                UnitTypes.TERRAN_ORBITALCOMMAND,
                UnitTypes.TERRAN_ORBITALCOMMANDFLYING,
                UnitTypes.TERRAN_PLANETARYFORTRESS,
                UnitTypes.PROTOSS_NEXUS,
                UnitTypes.ZERG_HATCHERY,
                UnitTypes.ZERG_LAIR,
                UnitTypes.ZERG_HIVE
            };

            SharkyUnitData.DefensiveStructureTypes = new HashSet <UnitTypes>
            {
                UnitTypes.ZERG_SPORECRAWLER,
                UnitTypes.ZERG_SPINECRAWLER,
                UnitTypes.ZERG_SPORECRAWLERUPROOTED,
                UnitTypes.ZERG_SPINECRAWLERUPROOTED,
                UnitTypes.PROTOSS_SHIELDBATTERY,
                UnitTypes.PROTOSS_PHOTONCANNON,
                UnitTypes.TERRAN_PLANETARYFORTRESS,
                UnitTypes.TERRAN_MISSILETURRET,
                UnitTypes.TERRAN_BUNKER
            };
        }
示例#29
0
        public ReaperCheese(BuildOptions buildOptions, MacroData macroData, ActiveUnitData activeUnitData, AttackData attackData, ChatService chatService, MicroTaskData microTaskData, UnitCountService unitCountService, SharkyUnitData sharkyUnitData, ProxyLocationService proxyLocationService, DebugService debugService, IIndividualMicroController scvMicroController) : base(buildOptions, macroData, activeUnitData, attackData, chatService, unitCountService)
        {
            MicroTaskData        = microTaskData;
            ProxyLocationService = proxyLocationService;

            OpeningAttackChatSent = false;
            ProxyTask             = new ProxyTask(sharkyUnitData, false, 0.9f, MacroData, string.Empty, MicroTaskData, debugService, scvMicroController);
            ProxyTask.ProxyName   = GetType().Name;
        }
示例#30
0
 public ColossusMicroController(MapDataService mapDataService, SharkyUnitData unitDataManager, ActiveUnitData activeUnitData, DebugService debugService, IPathFinder sharkyPathFinder, BaseData baseData, SharkyOptions sharkyOptions, DamageService damageService, UnitDataService unitDataService, TargetingData targetingData, MicroPriority microPriority, bool groupUpEnabled, CollisionCalculator collisionCalculator)
     : base(mapDataService, unitDataManager, activeUnitData, debugService, sharkyPathFinder, baseData, sharkyOptions, damageService, unitDataService, targetingData, microPriority, groupUpEnabled)
 {
     CollisionCalculator = collisionCalculator;
 }