Esempio n. 1
0
        public BoostOrca(IBookMarkCache bookMarkCache, IMiningConfiguration miningConfiguration, IBookmarks bookmarks, ISafespots safespots, IMovement movement, IMainConfiguration mainConfiguration, IShip ship, IMeCache meCache)
        {
            _bookMarkCache       = bookMarkCache;
            _miningConfiguration = miningConfiguration;
            _bookmarks           = bookmarks;
            _safespots           = safespots;
            _movement            = movement;
            _mainConfiguration   = mainConfiguration;
            _ship    = ship;
            _meCache = meCache;

            IsEnabled = true;
            BehaviorManager.BehaviorsToPulse.Add(BotModes.BoostOrca, this);
            ModuleName = "BoostOrca";
        }
Esempio n. 2
0
        internal Defense(IIsxeveProvider isxeveProvider, IEntityProvider entityProvider, IShip ship, IMeCache meCache, IDefensiveConfiguration defensiveConfiguration, ISocial social, IDrones drones, IAlerts alerts, ISafespots safespots, IMovement movement)
        {
            _isxeveProvider         = isxeveProvider;
            _entityProvider         = entityProvider;
            _ship                   = ship;
            _meCache                = meCache;
            _defensiveConfiguration = defensiveConfiguration;
            _social                 = social;
            _drones                 = drones;
            _alerts                 = alerts;
            _safespots              = safespots;
            _movement               = movement;

            ModuleManager.ModulesToPulse.Add(this);
            ModuleName     = "Defense";
            PulseFrequency = 1;
        }
Esempio n. 3
0
        public Ratting(ISocial social, IMeCache meCache, IBookmarks bookmarks, ISalvageConfiguration salvageConfiguration, IRattingConfiguration rattingConfiguration, IAnomalyProvider anomalyProvider,
                       IEntityProvider entityProvider, IAnomalyClaimTracker anomalyClaimTracker, ISafespots safespots, IMovement movement, IShip ship, IAsteroidBelts asteroidBelts, IMovementConfiguration movementConfiguration,
                       IAlerts alerts, ITargetQueue targetQueue, IAttackers attackers)
        {
            _social               = social;
            _meCache              = meCache;
            _bookmarks            = bookmarks;
            _salvageConfiguration = salvageConfiguration;
            _rattingConfiguration = rattingConfiguration;
            _anomalyProvider      = anomalyProvider;
            _entityProvider       = entityProvider;
            _anomalyClaimTracker  = anomalyClaimTracker;
            _safespots            = safespots;
            _movement             = movement;
            _ship                  = ship;
            _asteroidBelts         = asteroidBelts;
            _movementConfiguration = movementConfiguration;
            _alerts                = alerts;
            _targetQueue           = targetQueue;
            _attackers             = attackers;

            BehaviorManager.BehaviorsToPulse.Add(BotModes.Ratting, this);
            ModuleName     = "Ratting";
            IsEnabled      = true;
            PulseFrequency = 2;

            var knownEwarPointTargetTags = new List <string> {
                "Dire Guristas", "Arch Angel Hijacker", "Arch Angel Outlaw", "Arch Angel Rogue",
                "Arch Angel Thug", "Sansha's Loyal", "Guardian Agent", "Guardian Initiate",
                "Guardian Scout", "Guardian Spy", " Watchman", " Patroller",
                "Elder Blood Upholder", "Elder Blood Worshipper", "Elder Blood Follower", "Elder Blood Herald",
                "Blood Wraith", "Blood Disciple", "Strain "
            };

            _cachedResourcesByKeys.Add(KnownEwarPointTargetTags, knownEwarPointTargetTags);

            _randomWaitObject = new RandomWaitObject(ModuleName);
            _randomWaitObject.AddWait(new KeyValuePair <int, int>(30, 70), 5);
            _randomWaitObject.AddWait(new KeyValuePair <int, int>(5, 15), 10);
        }
Esempio n. 4
0
        public override bool Initialize()
        {
            IsCleanedUpOutOfFrame = false;

            _isxeveProvider    = new IsxeveProvider();
            _eveWindowProvider = new EveWindowProvider();

            #region Core object construction
            //Background stuff
            Logging     = new Logging();
            LogCallback = LogIsxeveMessage;
            Tracing.AddCallback(LogCallback);

            _mathUtility        = new MathUtility();
            Statistics          = new Statistics();
            EventCommunications = new EventCommunications(Logging);
            FileManager         = new FileManager();

            //moduleManager and BehaviorManager
            ModuleManager = new ModuleManager(_isxeveProvider, _eveWindowProvider);

            //Me cache. Contains the other caches.
            MeCache = new MeCache(_isxeveProvider, _eveWindowProvider);

            //ConfigurationManager
            Config = new Configuration();
            ConfigurationManager = new ConfigurationManager(Config, MeCache);

            Ship = new Ship(_isxeveProvider, _eveWindowProvider, MeCache, MeCache.Ship, Config.CargoConfig, Statistics, Config.MovementConfig);

            //Entity Populator object
            EntityProvider = new EntityProvider(_isxeveProvider);

            //Other Cache and Data classes
            MissionCache = new MissionCache(_isxeveProvider, _eveWindowProvider);
            AgentCache   = new AgentCache(FileManager, MeCache, Config, _eveWindowProvider);

            BookMarkCache  = new BookMarkCache(MeCache, EntityProvider, Logging, _isxeveProvider);
            NpcBountyCache = new NpcBountyCache();
            //EVEDB modules
            PilotCache       = new PilotCache();
            AllianceCache    = new AllianceCache(FileManager);
            CorporationCache = new CorporationCache();
            MissionDatabase  = new MissionDatabase();
            PossibleEwarNpcs = new PossibleEwarNpcs();

            //Core Functionality Providers, not necessarily caches
            TargetQueue          = new TargetQueue(MeCache, EntityProvider, Config.MiningConfig, Config.MainConfig);
            JetCan               = new JettisonContainer(_eveWindowProvider);
            Social               = new Social(_isxeveProvider);
            Station              = new Station(_isxeveProvider, _eveWindowProvider);
            AsteroidBelts        = new AsteroidBelts(Config, MeCache, EntityProvider, BookMarkCache, Ship);
            Bookmarks            = new Bookmarks(MeCache, Station, Config, BookMarkCache, AsteroidBelts, _isxeveProvider);
            Drones               = new Drones(_isxeveProvider);
            Fleet                = new Fleet();
            Alerts               = new Alerts(Config, MeCache, Logging);
            _anomalyProvider     = new AnomalyProvider(MeCache.Ship);
            _anomalyClaimTracker = new AnomalyClaimTracker(Logging, EventCommunications, MeCache);
            _safespots           = new Safespots(MeCache, BookMarkCache, Config.MovementConfig, MeCache.ToEntity, EntityProvider, _isxeveProvider, Ship, Social, _mathUtility, Logging);

            Attackers = new Attackers(MeCache, Config, Ship, Drones, EntityProvider, Alerts, AsteroidBelts, PossibleEwarNpcs, TargetQueue, ModuleManager);
            #endregion

            #region ActionModule construction
            //Action classes
            Movement     = new Movement(_isxeveProvider, EntityProvider, MeCache, _anomalyProvider, TargetQueue, Ship, Drones);
            Targeting    = new Targeting(Logging, Config.MaxRuntimeConfig, MeCache, Ship, Drones, Alerts, ModuleManager, TargetQueue, EntityProvider, Movement);
            Offensive    = new Offensive(Logging, TargetQueue, EntityProvider);
            NonOffensive = new NonOffensive(MeCache, Config.MiningConfig, Config.DefenseConfig, EntityProvider, TargetQueue, Ship, Drones, Targeting, Movement);
            Defense      = new Defense(_isxeveProvider, EntityProvider, Ship, MeCache, Config.DefenseConfig, Social, Drones, Alerts, _safespots, Movement);
            #endregion

            #region Processor construction
            MissionProcessor = new MissionProcessor(_eveWindowProvider, Movement);
            #endregion

            #region BehaviorModule construction
            _moveToDropOffLocationPartialBehavior = new MoveToDropOffLocationPartialBehavior(Movement, EntityProvider, Config.CargoConfig, BookMarkCache, Bookmarks,
                                                                                             Config.MovementConfig, MeCache, _mathUtility, _isxeveProvider);
            _dropOffCargoPartialBehavior = new DropOffCargoPartialBehavior(_eveWindowProvider, Config.CargoConfig, Config.MainConfig, Config.MiningConfig,
                                                                           MeCache, Ship, Station, JetCan, EntityProvider, EventCommunications);

            //Behavior classes
            BehaviorManager = new BehaviorManager();
            Mining          = new Mining(Config.CargoConfig, Config.MainConfig, MeCache, Ship, EntityProvider,
                                         _safespots, Movement, Social, Config.MovementConfig, AsteroidBelts, _moveToDropOffLocationPartialBehavior, _dropOffCargoPartialBehavior, Config.MiningConfig,
                                         _isxeveProvider, BookMarkCache, TargetQueue);
            Hauler = new Hauler(_eveWindowProvider, Config.CargoConfig, Config.MainConfig, Config.MiningConfig, MeCache, Ship, Station, JetCan, EntityProvider, EventCommunications,
                                _safespots, Movement, BookMarkCache, _moveToDropOffLocationPartialBehavior);
            BoostCanOrca = new BoostCanOrca();
            BoostOrca    = new BoostOrca(BookMarkCache, Config.MiningConfig, Bookmarks, _safespots, Movement, Config.MainConfig, Ship, MeCache);
            Freighter    = new Freighter(_eveWindowProvider, Config.CargoConfig, Config.MainConfig,
                                         Config.MiningConfig, MeCache, Ship, Station, JetCan, EntityProvider, EventCommunications, _moveToDropOffLocationPartialBehavior, _dropOffCargoPartialBehavior, Movement);
            MissionRunner     = new MissionRunner(Config, MissionCache, AgentCache, _eveWindowProvider);
            JumpStabilityTest = new JumpStabilityTest();
            Ratting           = new Ratting(Social, MeCache, Bookmarks, Config.SalvageConfig, Config.RattingConfig, _anomalyProvider, EntityProvider, _anomalyClaimTracker, _safespots,
                                            Movement, Ship, AsteroidBelts, Config.MovementConfig, Alerts, TargetQueue, Attackers);
            #endregion

            //StealthBotUI Interop construction
            //SbUiCommunication = new SbUiCommunication();

#if DEBUG
            LavishScript.ExecuteCommand("ISXEVE:Debug_SetHighPerfLogging[1]");
#endif

            return(true);
        }