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); }
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); }