public Questor(frmMain form1) { m_Parent = form1; _lastPulse = DateTime.MinValue; _random = new Random(); _salvage = new Salvage(); _defense = new Defense(); _combat = new Combat(); _traveler = new Traveler(); _unloadLoot = new UnloadLoot(); _agentInteraction = new AgentInteraction(); _arm = new Arm(); _missionController = new MissionController(); _drones = new Drones(); _panic = new Panic(); _storyline = new Storyline(); Settings.Instance.SettingsLoaded += SettingsLoaded; // State fixed on ExecuteMission State = QuestorState.Idle; _directEve = new DirectEve(); Cache.Instance.DirectEve = _directEve; Cache.Instance.StopTimeSpecified = Program.stopTimeSpecified; _directEve.OnFrame += OnFrame; }
public Storyline() { _combat = new Combat(); _traveler = new Traveler(); _agentInteraction = new AgentInteraction(); _agentBlacklist = new List <long>(); _storylines = new Dictionary <string, IStoryline>(); //_storylines.Add("__", new GenericCombatStoryline()); _storylines.Add("Materials For War Preparation", new MaterialsForWarPreparation()); _storylines.Add("Shipyard Theft", new GenericCombatStoryline()); _storylines.Add("Evolution", new GenericCombatStoryline()); _storylines.Add("Record Cleaning", new GenericCombatStoryline()); _storylines.Add("Covering Your Tracks", new GenericCombatStoryline()); _storylines.Add("Crowd Control", new GenericCombatStoryline()); _storylines.Add("A Force to Be Reckoned With", new GenericCombatStoryline()); _storylines.Add("Kidnappers Strike - Ambush In The Dark (1 of 10)", new GenericCombatStoryline()); _storylines.Add("Kidnappers Strike - The Kidnapping (3 of 10)", new GenericCombatStoryline()); _storylines.Add("Kidnappers Strike - Incriminating Evidence (5 of 10)", new GenericCombatStoryline()); _storylines.Add("Kidnappers Strike - The Secret Meeting (7 of 10)", new GenericCombatStoryline()); _storylines.Add("Kidnappers Strike - Defend the Civilian Convoy (8 of 10)", new GenericCombatStoryline()); _storylines.Add("Kidnappers Strike - Retrieve the Prisoners (9 of 10)", new GenericCombatStoryline()); _storylines.Add("Kidnappers Strike - The Final Battle (10 of 10)", new GenericCombatStoryline()); _storylines.Add("Whispers in the Dark - First Contact (1 of 4)", new GenericCombatStoryline()); _storylines.Add("Whispers in the Dark - Lay and Pray (2 of 4)", new GenericCombatStoryline()); _storylines.Add("Whispers in the Dark - The Outpost (4 of 4)", new GenericCombatStoryline()); _storylines.Add("Transaction Data Delivery", new TransactionDataDelivery()); _storylines.Add("Innocents in the Crossfire", new GenericCombatStoryline()); }
public Storyline() { _combat = new Combat(); _traveler = new Traveler(); _agentInteraction = new AgentInteraction(); _agentBlacklist = new List<long>(); _storylines = new Dictionary<string, IStoryline>(); //_storylines.Add("__", new GenericCombatStoryline()); //_storylines.Add("Materials For War Preparation", new MaterialsForWarPreparation()); _storylines.Add("Shipyard Theft", new GenericCombatStoryline()); _storylines.Add("Evolution", new GenericCombatStoryline()); _storylines.Add("Record Cleaning", new GenericCombatStoryline()); _storylines.Add("Covering Your Tracks", new GenericCombatStoryline()); _storylines.Add("Crowd Control", new GenericCombatStoryline()); _storylines.Add("A Force to Be Reckoned With", new GenericCombatStoryline()); _storylines.Add("Kidnappers Strike - Ambush In The Dark (1 of 10)", new GenericCombatStoryline()); _storylines.Add("Kidnappers Strike - The Kidnapping (3 of 10)", new GenericCombatStoryline()); _storylines.Add("Kidnappers Strike - Incriminating Evidence (5 of 10)", new GenericCombatStoryline()); _storylines.Add("Kidnappers Strike - The Secret Meeting (7 of 10)", new GenericCombatStoryline()); _storylines.Add("Kidnappers Strike - Defend the Civilian Convoy (8 of 10)", new GenericCombatStoryline()); _storylines.Add("Kidnappers Strike - Retrieve the Prisoners (9 of 10)", new GenericCombatStoryline()); _storylines.Add("Kidnappers Strike - The Final Battle (10 of 10)", new GenericCombatStoryline()); _storylines.Add("Whispers in the Dark - First Contact (1 of 4)", new GenericCombatStoryline()); _storylines.Add("Whispers in the Dark - Lay and Pray (2 of 4)", new GenericCombatStoryline()); _storylines.Add("Whispers in the Dark - The Outpost (4 of 4)", new GenericCombatStoryline()); _storylines.Add("Transaction Data Delivery", new TransactionDataDelivery()); _storylines.Add("Innocents in the Crossfire", new TransactionDataDelivery()); }
public Questor() { _lastPulse = DateTime.MinValue; _random = new Random(); _salvage = new Salvage(); _defense = new Defense(); _combat = new Combat(); _traveler = new Traveler(); _unloadLoot = new UnloadLoot(); _agentInteraction = new AgentInteraction(); _arm = new Arm(); _missionController = new MissionController(); _drones = new Drones(); _panic = new Panic(); _storyline = new Storyline(); Settings.Instance.SettingsLoaded += SettingsLoaded; // State fixed on ExecuteMission State = QuestorState.Idle; _directEve = new DirectEve(); Cache.Instance.DirectEve = _directEve; _directEve.OnFrame += OnFrame; }
// Use this for initialization void Start() { avatarVision = GetComponent <VisionManager>(); animator = GetComponent <Animator>(); commandsQueue = new Queue <Command>(); aI = GetComponent <AgentInteraction>(); speech = GetComponent <AgentSpeech>(); locationsList = new List <GameObject>(); Debug.Log("RHS>>> " + this.name + " " + this.GetType() + " is ready."); }
public GenericCombatStoryline() { _neededAmmo = new List<Ammo>(); _agentInteraction = new AgentInteraction(); _arm = new Arm(); _combat = new Combat(); _drones = new Drones(); _salvage = new Salvage(); _statistics = new Statistics(); _combatMissionCtrl = new CombatMissionCtrl(); Settings.Instance.SettingsLoaded += ApplySettings; }
public GenericCombatStoryline() { _neededAmmo = new List<Ammo>(); _agentInteraction = new AgentInteraction(); _arm = new Arm(); _traveler = new Traveler(); _combat = new Combat(); _drones = new Drones(); _salvage = new Salvage(); _missionController = new MissionController(); Settings.Instance.SettingsLoaded += ApplySettings; }
public GenericCombatStoryline() { _neededAmmo = new List <Ammo>(); _agentInteraction = new AgentInteraction(); _arm = new Arm(); _traveler = new Traveler(); _combat = new Combat(); _drones = new Drones(); _salvage = new Salvage(); _missionController = new MissionController(); Settings.Instance.SettingsLoaded += ApplySettings; }
public Storyline() { _combat = new Combat(); _traveler = new Traveler(); _agentInteraction = new AgentInteraction(); _agentBlacklist = new List <long>(); _storylines = new Dictionary <string, IStoryline>(); _storylines.Add("Materials For War Preparation", new MaterialsForWarPreparation()); _storylines.Add("Shipyard Theft", new GenericCombatStoryline()); _storylines.Add("Evolution", new GenericCombatStoryline()); _storylines.Add("Record Cleaning", new GenericCombatStoryline()); _storylines.Add("Covering Your Tracks", new GenericCombatStoryline()); _storylines.Add("Crowd Control", new GenericCombatStoryline()); _storylines.Add("Transaction Data Delivery", new TransactionDataDelivery()); }
public Storyline() { _combat = new Combat(); _traveler = new Traveler(); _agentInteraction = new AgentInteraction(); _agentBlacklist = new List<long>(); _storylines = new Dictionary<string, IStoryline>(); _storylines.Add("Materials For War Preparation", new MaterialsForWarPreparation()); _storylines.Add("Shipyard Theft", new GenericCombatStoryline()); _storylines.Add("Evolution", new GenericCombatStoryline()); _storylines.Add("Record Cleaning", new GenericCombatStoryline()); _storylines.Add("Covering Your Tracks", new GenericCombatStoryline()); _storylines.Add("Crowd Control", new GenericCombatStoryline()); _storylines.Add("Transaction Data Delivery", new TransactionDataDelivery()); }
// Use this for initialization222 void Start() { robotVision = robot.GetComponent <VisionManager>(); robotSmell = robot.GetComponent <SmellManager>(); robotHearing = robot.GetComponent <HearingManager>(); robotTaste = robot.GetComponent <TasteManager>(); robotTouch = robot.GetComponent <TouchManager>(); locationsOnScene = new List <GameObject>(GameObject.FindGameObjectsWithTag(Constants.TAG_KNOWLOCATIONS)); commandsQueue = new Queue <Command>(); aI = robot.GetComponent <AgentInteraction>(); aM = robot.GetComponent <AgentMovement>(); hM = robot.GetComponent <AgentHeadMovement>(); sp = robot.GetComponent <AgentSpeech>(); locationsList = new List <GameObject>(locationsOnScene); Debug.Log("RHS>>> " + this.name + " ready."); }
/// <summary> /// Interact with the agent so we know what ammo to bring /// </summary> /// <returns>True if interact is done</returns> private bool Interact() { // Are we done? if (_States.CurrentAgentInteractionState == AgentInteractionState.Done) { return(true); } if (AgentInteraction.Agent == null) { throw new Exception("Invalid agent"); } // Start the conversation if (_States.CurrentAgentInteractionState == AgentInteractionState.Idle) { _States.CurrentAgentInteractionState = AgentInteractionState.StartConversation; } // Interact with the agent to find out what ammo we need AgentInteraction.ProcessState(); if (_States.CurrentAgentInteractionState == AgentInteractionState.DeclineMission) { if (AgentInteraction.Agent.Window != null) { AgentInteraction.Agent.Window.Close(); } Logging.Log("GenericCombatStoryline", "Mission offer is in a Low Security System", Logging.Orange); //do storyline missions in lowsec get blacklisted by: "public StorylineState Arm(Storyline storyline)"? throw new Exception("Low security systems"); } if (_States.CurrentAgentInteractionState == AgentInteractionState.Done) { Modules.Actions.Arm.AmmoToLoad.Clear(); Modules.Actions.Arm.AmmoToLoad.AddRange(AgentInteraction.AmmoToLoad); return(true); } return(false); }
public Storyline() { _combat = new Combat(); _traveler = new Traveler(); _agentInteraction = new AgentInteraction(); _agentBlacklist = new List <long>(); _storylines = new Dictionary <string, IStoryline>(); //_storylines.Add("__", new GenericCombatStoryline()); // broken in crucible 1.5 (yes/no dialog needs directeve support) _storylines.Add("Materials For War Preparation", new MaterialsForWarPreparation()); _storylines.Add("Shipyard Theft", new GenericCombatStoryline()); _storylines.Add("Evolution", new GenericCombatStoryline()); _storylines.Add("Record Cleaning", new GenericCombatStoryline()); _storylines.Add("Covering Your Tracks", new GenericCombatStoryline()); _storylines.Add("Crowd Control", new GenericCombatStoryline()); _storylines.Add("A Force to Be Reckoned With", new GenericCombatStoryline()); _storylines.Add("Kidnappers Strike - Ambush In The Dark (1 of 10)", new GenericCombatStoryline()); _storylines.Add("Kidnappers Strike - The Kidnapping (3 of 10)", new GenericCombatStoryline()); _storylines.Add("Kidnappers Strike - Incriminating Evidence (5 of 10)", new GenericCombatStoryline()); _storylines.Add("Kidnappers Strike - The Secret Meeting (7 of 10)", new GenericCombatStoryline()); _storylines.Add("Kidnappers Strike - Defend the Civilian Convoy (8 of 10)", new GenericCombatStoryline()); _storylines.Add("Kidnappers Strike - Retrieve the Prisoners (9 of 10)", new GenericCombatStoryline()); _storylines.Add("Kidnappers Strike - The Final Battle (10 of 10)", new GenericCombatStoryline()); _storylines.Add("Whispers in the Dark - First Contact (1 of 4)", new GenericCombatStoryline()); _storylines.Add("Whispers in the Dark - Lay and Pray (2 of 4)", new GenericCombatStoryline()); _storylines.Add("Whispers in the Dark - The Outpost (4 of 4)", new GenericCombatStoryline()); _storylines.Add("Transaction Data Delivery", new TransactionDataDelivery()); _storylines.Add("Innocents in the Crossfire", new GenericCombatStoryline()); //_storylines.Add("Patient Zero", new GenericCombatStoryline()); _storylines.Add("Soothe the Salvage Beast", new GenericCombatStoryline()); _storylines.Add("Forgotten Outpost", new GenericCombatStoryline()); _storylines.Add("Stem the Flow", new GenericCombatStoryline()); _storylines.Add("Quota Season", new GenericCombatStoryline()); //_storylines.Add("Matriarch", new GenericCombatStoryline()); //_storylines.Add("Diplomatic Incident", new GenericCombatStoryline()); _storylines.Add("Nine Tenths of the Wormhole", new GenericCombatStoryline()); }
public Storyline() { _combat = new Combat(); _traveler = new Traveler(); _agentInteraction = new AgentInteraction(); _agentBlacklist = new List<long>(); _storylines = new Dictionary<string, IStoryline>(); //_storylines.Add("__", new GenericCombatStoryline()); // broken in crucible 1.5 (yes/no dialog needs directeve support) _storylines.Add("Materials For War Preparation", new MaterialsForWarPreparation()); _storylines.Add("Shipyard Theft", new GenericCombatStoryline()); _storylines.Add("Evolution", new GenericCombatStoryline()); _storylines.Add("Record Cleaning", new GenericCombatStoryline()); _storylines.Add("Covering Your Tracks", new GenericCombatStoryline()); _storylines.Add("Crowd Control", new GenericCombatStoryline()); _storylines.Add("A Force to Be Reckoned With", new GenericCombatStoryline()); _storylines.Add("Kidnappers Strike - Ambush In The Dark (1 of 10)", new GenericCombatStoryline()); _storylines.Add("Kidnappers Strike - The Kidnapping (3 of 10)", new GenericCombatStoryline()); _storylines.Add("Kidnappers Strike - Incriminating Evidence (5 of 10)", new GenericCombatStoryline()); _storylines.Add("Kidnappers Strike - The Secret Meeting (7 of 10)", new GenericCombatStoryline()); _storylines.Add("Kidnappers Strike - Defend the Civilian Convoy (8 of 10)", new GenericCombatStoryline()); _storylines.Add("Kidnappers Strike - Retrieve the Prisoners (9 of 10)", new GenericCombatStoryline()); _storylines.Add("Kidnappers Strike - The Final Battle (10 of 10)", new GenericCombatStoryline()); _storylines.Add("Whispers in the Dark - First Contact (1 of 4)", new GenericCombatStoryline()); _storylines.Add("Whispers in the Dark - Lay and Pray (2 of 4)", new GenericCombatStoryline()); _storylines.Add("Whispers in the Dark - The Outpost (4 of 4)", new GenericCombatStoryline()); _storylines.Add("Transaction Data Delivery", new TransactionDataDelivery()); _storylines.Add("Innocents in the Crossfire", new GenericCombatStoryline()); //_storylines.Add("Patient Zero", new GenericCombatStoryline()); _storylines.Add("Soothe the Salvage Beast", new GenericCombatStoryline()); _storylines.Add("Forgotten Outpost", new GenericCombatStoryline()); _storylines.Add("Stem the Flow", new GenericCombatStoryline()); _storylines.Add("Quota Season", new GenericCombatStoryline()); //_storylines.Add("Matriarch", new GenericCombatStoryline()); //_storylines.Add("Diplomatic Incident", new GenericCombatStoryline()); _storylines.Add("Nine Tenths of the Wormhole", new GenericCombatStoryline()); }
public Storyline() { _combat = new Combat(); _agentInteraction = new AgentInteraction(); Cache.Instance.AgentBlacklist = new List<long>(); _storylines = new Dictionary<string, IStoryline> { // Examples // note: All storylines must be entered in lowercase or use ".ToLower()" // //{"StorylineCombatNameHere".ToLower(), new GenericCombatStoryline()}, //{"StorylineCourierNameHere".ToLower(), new GenericCourier()}, // // COURIER/DELIVERY - ALL FACTIONS - ALL LEVELS // {"Materials For War Preparation".ToLower(), new MaterialsForWarPreparation()}, {"Transaction Data Delivery".ToLower(), new TransactionDataDelivery()}, //{"A Special Delivery".ToLower(), new GenericCourier()}, // Needs 40k m3 cargo (i.e. Iteron Mark V, T2 CHO rigs) for lvl4 // // COURIER/DELIVERY - ALL FACTIONS - LEVEL 1 // // // COURIER/DELIVERY - ALL FACTIONS - LEVEL 2 // // // COURIER/DELIVERY - ALL FACTIONS - LEVEL 3 // {"Kidnappers Strike - The Interrogation (2 of 10)".ToLower(), new GenericCourier()}, //lvl3 {"Kidnappers Strike - Possible Leads (4 of 10)".ToLower(), new GenericCourier()}, //lvl3 {"Kidnappers Strike - The Flu Outbreak (6 of 10)".ToLower(), new GenericCourier()}, //lvl3 // // COURIER/DELIVERY - ALL FACTIONS - LEVEL 4 // // // COURIER/DELIVERY - AMARR - LEVEL 1 // // // COURIER/DELIVERY - AMARR - LEVEL 2 // // // COURIER/DELIVERY - AMARR - LEVEL 3 // // // COURIER/DELIVERY - AMARR - LEVEL 4 // {"Opiate of the Masses".ToLower(), new GenericCourier()}, //lvl4 //{"Send the Marines".ToLower(), new GenericCourier()}, //lvl4 {"Send the Marines!".ToLower(), new GenericCourier()}, //lvl4 {"The Governors Ball".ToLower(), new GenericCourier()}, //lvl4 {"The State of the Empire".ToLower(), new GenericCourier()}, //lvl4 {"Unmasking the Traitor".ToLower(), new GenericCourier()}, //lvl4 // // COURIER/DELIVERY - CALDARI - LEVEL 1 // //{"A Fathers Love".ToLower(), new GenericCourier()}, //lvl1 //{"A Greener World".ToLower(), new GenericCourier()}, //lvl1 //{"Eradication".ToLower(), new GenericCourier()}, //lvl1 //{"Evacuation".ToLower(), new GenericCourier()}, //lvl1 //{"On the Run".ToLower(), new GenericCourier()}, //lvl1 // // COURIER/DELIVERY - CALDARI - LEVEL 2 // // // COURIER/DELIVERY - CALDARI - LEVEL 3 // // // COURIER/DELIVERY - CALDARI - LEVEL 4 // {"A Desperate Rescue".ToLower(), new GenericCourier()}, //lvl4 {"Black Ops Crisis".ToLower(), new GenericCourier()}, //lvl4 {"Fire and Ice".ToLower(), new GenericCourier()}, //lvl4 {"Hunting Black Dog".ToLower(), new GenericCourier()}, //lvl4 {"Operation Doorstop".ToLower(), new GenericCourier()}, //lvl4 // // COURIER/DELIVERY - GALLENTE - LEVEL 1 // //{"A Little Work On The Side".ToLower(), new GenericCourier()}, //lvl1 //{"Ancient Treasures".ToLower(), new GenericCourier()}, //lvl1 //{"Pieces of the Past".ToLower(), new GenericCourier()}, //lvl1 //{"The Latest Style".ToLower(), new GenericCourier()}, //lvl1 //{"Wartime Advances".ToLower(), new GenericCourier()}, //lvl1 // // COURIER/DELIVERY - GALLENTE - LEVEL 2 // // // COURIER/DELIVERY - GALLENTE - LEVEL 3 // // // COURIER/DELIVERY - GALLENTE - LEVEL 4 // //{"A Fathers Love".ToLower(), new GenericCourier()}, //lvl4 {"A Fine Wine".ToLower(), new GenericCourier()}, //lvl4 //{"A Greener World".ToLower(), new GenericCourier()}, //lvl4 {"Amphibian Error".ToLower(), new GenericCourier()}, //lvl4 //{"Eradication".ToLower(), new GenericCourier()}, //lvl4 //{"Evacuation".ToLower(), new GenericCourier()}, //lvl4 //{"On the Run".ToLower(), new GenericCourier()}, //lvl4 {"Shifting Rocks".ToLower(), new GenericCourier()}, //lvl4 {"The Creeping Cold".ToLower(), new GenericCourier()}, //lvl4 {"The Natural Way".ToLower(), new GenericCourier()}, //lvl4 // // COURIER/DELIVERY - MINMATAR - LEVEL 1 // // // COURIER/DELIVERY - MINMATAR - LEVEL 2 // // // COURIER/DELIVERY - MINMATAR - LEVEL 3 // // // COURIER/DELIVERY - MINMATAR - LEVEL 4 // {"A Cargo With Attitude".ToLower(), new GenericCourier()}, //lvl4 {"A Load of Scrap".ToLower(), new GenericCourier()}, //lvl4 {"Brand New Harvesters".ToLower(), new GenericCourier()}, //lvl4 {"Heart of the Rogue Drone".ToLower(), new GenericCourier()}, //lvl4 {"Their Secret Defense".ToLower(), new GenericCourier()}, //lvl4 //{"Very Important Pirates".ToLower(), new GenericCourier()}, //lvl4 // // COMBAT - ALL FACTIONS - ALL LEVELS // {"Soothe the Salvage Beast".ToLower(), new GenericCombatStoryline()}, //lvl3 and lvl4 // // COMBAT - ALL FACTIONS - LEVEL 1 // // // COMBAT - ALL FACTIONS - LEVEL 2 // // // COMBAT - ALL FACTIONS - LEVEL 3 // {"Kidnappers Strike - Ambush in the Dark (1 of 10)".ToLower(), new GenericCombatStoryline()}, //lvl3 {"Kidnappers Strike - The Kidnapping (3 of 10)".ToLower(), new GenericCombatStoryline()}, //lvl3 {"Kidnappers Strike - Incriminating Evidence (5 of 10)".ToLower(), new GenericCombatStoryline()}, //lvl3 {"Kidnappers Strike - The Secret Meeting (7 of 10)".ToLower(), new GenericCombatStoryline()}, //lvl3 {"Kidnappers Strike - Defend the Civilian Convoy (8 of 10)".ToLower(), new GenericCombatStoryline()}, //lvl3 {"Kidnappers Strike - Retrieve the Prisoners (9 of 10)".ToLower(), new GenericCombatStoryline()}, //lvl3 {"Kidnappers Strike - The Final Battle (10 of 10)".ToLower(), new GenericCombatStoryline()}, //lvl3 // // COMBAT - ALL FACTIONS - LEVEL 4 // {"Covering Your Tracks".ToLower(), new GenericCombatStoryline()}, //lvl4 {"Evolution".ToLower(), new GenericCombatStoryline()}, //lvl4 {"Patient Zero".ToLower(), new GenericCombatStoryline()}, //lvl4 {"Record Cleaning".ToLower(), new GenericCombatStoryline()}, //lvl4 {"Shipyard Theft".ToLower(), new GenericCombatStoryline()}, //lvl4 // // COMBAT - AMARR - LEVEL 1 // // // COMBAT - AMARR - LEVEL 2 // {"Whispers in the Dark - First Contact (1 of 4)".ToLower(), new GenericCombatStoryline()}, //vs sansha lvl2 {"Whispers in the Dark - Lay and Pray (2 of 4)".ToLower(), new GenericCombatStoryline()}, //vs sansha lvl2 {"Whispers in the Dark - The Outpost (4 of 4)".ToLower(), new GenericCombatStoryline()}, //vs sansha lvl2 // // COMBAT - AMARR - LEVEL 3 // // // COMBAT - AMARR - LEVEL 4 // {"Blood Farm".ToLower(), new GenericCombatStoryline()}, //amarr lvl4 {"Dissidents".ToLower(), new GenericCombatStoryline()}, //amarr lvl4 {"Extract the Renegade".ToLower(), new GenericCombatStoryline()}, //amarr lvl4 {"Gate to Nowhere".ToLower(), new GenericCombatStoryline()}, //amarr lvl4 {"Jealous Rivals".ToLower(), new GenericCombatStoryline()}, //amarr lvl4 {"Racetrack Ruckus".ToLower(), new GenericCombatStoryline()}, //amarr lvl4 {"The Mouthy Merc".ToLower(), new GenericCombatStoryline()}, //amarr lvl4 // // COMBAT - CALDARI - LEVEL 1 // // // COMBAT - CALDARI - LEVEL 2 // // // COMBAT - CALDARI - LEVEL 3 // // // COMBAT - CALDARI - LEVEL 4 // {"Crowd Control".ToLower(), new GenericCombatStoryline()}, //caldari lvl4 {"Forgotten Outpost".ToLower(), new GenericCombatStoryline()},//caldari lvl4 //{"Illegal Mining".ToLower(), new GenericCombatStoryline()}, //caldari lvl4 note: Extremely high DPS after shooting structures! {"Innocents in the Crossfire".ToLower(), new GenericCombatStoryline()}, //caldari lvl4 {"Stem the Flow".ToLower(), new GenericCombatStoryline()}, //caldari lvl4 // // COMBAT - GALLENTE - LEVEL 1 // // // COMBAT - GALLENTE - LEVEL 2 // // // COMBAT - GALLENTE - LEVEL 3 // {"A Force to Be Reckoned With".ToLower(), new GenericCombatStoryline()}, //gallente lvl4 // // COMBAT - GALLENTE - LEVEL 4 // {"Federal Confidence".ToLower(), new GenericCombatStoryline()}, //gallente lvl4 {"Hidden Hope".ToLower(), new GenericCombatStoryline()}, //gallente lvl4 //{"Missing Persons Report", new GenericCombatStoryline()}, //{"Inspired".ToLower(), new GenericCombatStoryline()}, //gallente lvl4 {"Prison Transfer".ToLower(), new GenericCombatStoryline()}, //gallente lvl4 {"Serpentis Ship Builders".ToLower(), new GenericCombatStoryline()}, //gallente lvl4 {"The Serpent and the Slaves".ToLower(), new GenericCombatStoryline()}, //gallente lvl4 {"Tomb of the Unknown Soldiers".ToLower(), new GenericCombatStoryline()}, //gallente lvl4 // // COMBAT - MINMATAR - LEVEL 1 // // // COMBAT - MINMATAR - LEVEL 2 // // // COMBAT - MINMATAR - LEVEL 3 // // // COMBAT - MINMATAR - LEVEL 4 // {"Amarrian Excavators".ToLower(), new GenericCombatStoryline()}, //lvl4 {"Diplomatic Incident".ToLower(), new GenericCombatStoryline()}, //lvl4 {"Matriarch".ToLower(), new GenericCombatStoryline()}, //lvl4 {"Nine Tenths of the Wormhole".ToLower(), new GenericCombatStoryline()}, //lvl4 {"Postmodern Primitives".ToLower(), new GenericCombatStoryline()}, //lvl4 {"Quota Season".ToLower(), new GenericCombatStoryline()}, //lvl4 {"The Blood of Angry Men".ToLower(), new GenericCombatStoryline()}, //lvl4 }; }
public void ProcessState() { switch (_States.CurrentStorylineState) { case StorylineState.Idle: IdleState(); break; case StorylineState.Arm: //Logging.Log("Storyline: Arm"); _States.CurrentStorylineState = _storyline.Arm(this); break; case StorylineState.GotoAgent: //Logging.Log("Storyline: GotoAgent"); GotoAgent(StorylineState.PreAcceptMission); break; case StorylineState.PreAcceptMission: //Logging.Log("Storyline: PreAcceptMission-!!"); _States.CurrentAgentInteractionState = AgentInteractionState.Idle; _States.CurrentStorylineState = _storyline.PreAcceptMission(this); break; case StorylineState.DeclineMission: if (_States.CurrentAgentInteractionState == AgentInteractionState.Idle) { Logging.Log("Storyline.AgentInteraction", "Start conversation [Decline Mission]", Logging.Yellow); _States.CurrentAgentInteractionState = AgentInteractionState.StartConversation; AgentInteraction.Purpose = AgentInteractionPurpose.DeclineMission; AgentInteraction.AgentId = Cache.Instance.CurrentStorylineAgentId; } AgentInteraction.ProcessState(); if (Settings.Instance.DebugStates) { Logging.Log("AgentInteraction.State is ", _States.CurrentAgentInteractionState.ToString(), Logging.White); } if (_States.CurrentAgentInteractionState == AgentInteractionState.Done) { _States.CurrentAgentInteractionState = AgentInteractionState.Idle; // If there is no mission anymore then we're done (we declined it) } break; case StorylineState.AcceptMission: //Logging.Log("Storyline: AcceptMission!!-"); if (_States.CurrentAgentInteractionState == AgentInteractionState.Idle) { Logging.Log("Storyline.AgentInteraction", "Start conversation [Start Mission]", Logging.Yellow); _States.CurrentAgentInteractionState = AgentInteractionState.StartConversation; AgentInteraction.Purpose = AgentInteractionPurpose.StartMission; AgentInteraction.AgentId = Cache.Instance.CurrentStorylineAgentId; AgentInteraction.ForceAccept = true; } AgentInteraction.ProcessState(); if (Settings.Instance.DebugStates) { Logging.Log("AgentInteraction.State is ", _States.CurrentAgentInteractionState.ToString(), Logging.White); } if (_States.CurrentAgentInteractionState == AgentInteractionState.Done) { _States.CurrentAgentInteractionState = AgentInteractionState.Idle; // If there is no mission anymore then we're done (we declined it) _States.CurrentStorylineState = StorylineMission == null ? StorylineState.Done : StorylineState.ExecuteMission; } break; case StorylineState.ExecuteMission: _States.CurrentStorylineState = _storyline.ExecuteMission(this); break; case StorylineState.ReturnToAgent: GotoAgent(StorylineState.CompleteMission); break; case StorylineState.CompleteMission: if (_States.CurrentAgentInteractionState == AgentInteractionState.Idle) { Logging.Log("AgentInteraction", "Start Conversation [Complete Mission]", Logging.Yellow); _States.CurrentAgentInteractionState = AgentInteractionState.StartConversation; AgentInteraction.Purpose = AgentInteractionPurpose.CompleteMission; } AgentInteraction.ProcessState(); if (Settings.Instance.DebugStates) { Logging.Log("AgentInteraction.State is", _States.CurrentAgentInteractionState.ToString(), Logging.White); } if (_States.CurrentAgentInteractionState == AgentInteractionState.Done) { _States.CurrentAgentInteractionState = AgentInteractionState.Idle; _States.CurrentStorylineState = StorylineState.BringSpoilsOfWar; } break; case StorylineState.BringSpoilsOfWar: if (!BringSpoilsOfWar()) { return; } break; case StorylineState.BlacklistAgent: Cache.Instance.AgentBlacklist.Add(Cache.Instance.CurrentStorylineAgentId); Logging.Log("Storyline", "BlacklistAgent: The agent that provided us with this storyline mission has been added to the session blacklist", Logging.Orange); Reset(); _States.CurrentCombatMissionBehaviorState = CombatMissionsBehaviorState.GotoBase; break; case StorylineState.Done: if (DateTime.UtcNow > _nextStoryLineAttempt) { _States.CurrentStorylineState = StorylineState.Idle; } break; } }
public Storyline() { _combat = new Combat(); _agentInteraction = new AgentInteraction(); Cache.Instance.AgentBlacklist = new List<long>(); _storylines = new Dictionary<string, IStoryline> { // Examples //{"StorylineCombatNameHere", new GenericCombatStoryline()}, //{"StorylineCourierNameHere", new GenericCourier()}, /* COURIER/DELIVERY - ALL FACTIONS */ {"Materials For War Preparation", new MaterialsForWarPreparation()}, {"Transaction Data Delivery", new TransactionDataDelivery()}, //{"A Special Delivery", new GenericCourier()}, // Needs 40k m3 cargo capacity (i.e. Iteron Mark V, T2 CHO rigs) {"Kidnappers Strike - The Interrogation (2 of 10)", new GenericCourier()},//lvl3 {"Kidnappers Strike - Possible Leads (4 of 10)", new GenericCourier()},//lvl3 {"Kidnappers Strike - The Flu Outbreak (6 of 10)", new GenericCourier()},//lvl3 /* COURIER/DELIVERY - AMARR */ {"Opiate of the Masses", new GenericCourier()}, {"Send the Marines", new GenericCourier()}, {"The Governors Ball", new GenericCourier()}, {"The State of the Empire", new GenericCourier()}, {"Unmasking the Traitor", new GenericCourier()}, /* COURIER/DELIVERY - CALDARI */ {"A Desperate Rescue", new GenericCourier()}, {"Black Ops Crisis", new GenericCourier()}, {"Fire and Ice", new GenericCourier()}, {"Hunting Black Dog", new GenericCourier()}, {"Operation Doorstop", new GenericCourier()}, /* COURIER/DELIVERY - GALLENTE */ {"A Fine Wine", new GenericCourier()}, {"On the Run", new GenericCourier()}, {"A Fathers Love", new GenericCourier()}, {"A Greener World", new GenericCourier()}, {"Eradication", new GenericCourier()}, {"Evacuation", new GenericCourier()}, {"The Natural Way", new GenericCourier()}, /* COURIER/DELIVERY - MINMATAR */ {"Very Important Pirates", new GenericCourier()}, {"A Cargo With Attitude", new GenericCourier()}, {"A Load of Scrap", new GenericCourier()}, {"Brand New Harvesters", new GenericCourier()}, {"Heart of the Rogue Drone", new GenericCourier()}, {"Their Secret Defense", new GenericCourier()}, /* COMBAT - ALL FACTIONS */ {"Covering Your Tracks", new GenericCombatStoryline()},//lvl4 {"Evolution", new GenericCombatStoryline()},//lvl4 {"Patient Zero", new GenericCombatStoryline()},//lvl4 {"Record Cleaning", new GenericCombatStoryline()},//lvl4 {"Shipyard Theft", new GenericCombatStoryline()},//lvl4 {"Soothe the Salvage Beast", new GenericCombatStoryline()},//lvl3 {"Kidnappers Strike - Ambush In The Dark (1 of 10)", new GenericCombatStoryline()},//lvl3 {"Kidnappers Strike - The Kidnapping (3 of 10)", new GenericCombatStoryline()},//lvl3 {"Kidnappers Strike - Incriminating Evidence (5 of 10)", new GenericCombatStoryline()},//lvl3 {"Kidnappers Strike - The Secret Meeting (7 of 10)", new GenericCombatStoryline()},//lvl3 {"Kidnappers Strike - Defend the Civilian Convoy (8 of 10)", new GenericCombatStoryline()},//lvl3 {"Kidnappers Strike - Retrieve the Prisoners (9 of 10)", new GenericCombatStoryline()},//lvl3 {"Kidnappers Strike - The Final Battle (10 of 10)", new GenericCombatStoryline()},//lvl3 /* COMBAT - AMARR */ {"Blood Farm", new GenericCombatStoryline()}, {"Dissidents", new GenericCombatStoryline()}, {"Extract the Renegade", new GenericCombatStoryline()}, {"Gate to Nowhere", new GenericCombatStoryline()}, {"Racetrack Ruckus", new GenericCombatStoryline()}, {"The Mouthy Merc", new GenericCombatStoryline()}, /* COMBAT - CALDARI */ {"Crowd Control", new GenericCombatStoryline()}, {"Forgotten Outpost", new GenericCombatStoryline()}, {"Illegal Mining", new GenericCombatStoryline()}, {"Innocents in the Crossfire", new GenericCombatStoryline()}, {"Jealous Rivals", new GenericCombatStoryline()}, {"Stem the Flow", new GenericCombatStoryline()}, /* COMBAT - GALLENTE */ {"A Force to Be Reckoned With", new GenericCombatStoryline()}, {"Whispers in the Dark - First Contact (1 of 4)", new GenericCombatStoryline()}, {"Whispers in the Dark - Lay and Pray (2 of 4)", new GenericCombatStoryline()}, {"Whispers in the Dark - The Outpost (4 of 4)", new GenericCombatStoryline()}, /* COMBAT - MINMATAR */ {"Amarrian Excavators", new GenericCombatStoryline()}, {"Diplomatic Incident", new GenericCombatStoryline()}, {"Matriarch", new GenericCombatStoryline()}, {"Nine Tenths of the Wormhole", new GenericCombatStoryline()}, {"Postmodern Primitives", new GenericCombatStoryline()}, {"Quota Season", new GenericCombatStoryline()}, {"The Blood of Angry Men", new GenericCombatStoryline()}, }; }
/// <summary> /// Goto the pickup location /// Pickup the item /// Goto drop off location /// Drop the item /// Goto Agent /// Complete mission /// </summary> /// <returns></returns> public void ProcessState() { if (DateTime.UtcNow < _nextCourierMissionCtrlPulse) { return; } if (Settings.Instance.DebugCourierMissions) { Logging.Log("CourierMissionCtrl", "CourierMissionCtrlState: [" + _States.CurrentCourierMissionCtrlState.ToString() + "]", Logging.Debug); } switch (_States.CurrentCourierMissionCtrlState) { case CourierMissionCtrlState.Idle: break; case CourierMissionCtrlState.GotoPickupLocation: if (GotoMissionBookmark(Cache.Instance.AgentId, "Objective (Pick Up)")) { _States.CurrentCourierMissionCtrlState = CourierMissionCtrlState.PickupItem; return; } break; case CourierMissionCtrlState.PickupItem: if (DateTime.UtcNow < Cache.Instance.LastInSpace.AddSeconds(20)) { return; } if (moveItemRetryCounter > 20) { Cache.Instance.Paused = true; Logging.Log("CourierMissionCtrl", "MoveItem has tried 20x to Pickup the missionitem and failed. Pausing: please debug the cause of this error", Logging.Red); _States.CurrentCourierMissionCtrlState = CourierMissionCtrlState.Error; return; } if (MoveItem(true)) { _States.CurrentCourierMissionCtrlState = CourierMissionCtrlState.GotoDropOffLocation; moveItemRetryCounter = 0; return; } break; case CourierMissionCtrlState.GotoDropOffLocation: if (GotoMissionBookmark(Cache.Instance.AgentId, "Objective (Drop Off)")) { _States.CurrentCourierMissionCtrlState = CourierMissionCtrlState.DropOffItem; return; } break; case CourierMissionCtrlState.DropOffItem: if (moveItemRetryCounter > 20) { Cache.Instance.Paused = true; Logging.Log("CourierMissionCtrl", "MoveItem has tried 20x to Dropoff the missionitem and failed. Pausing: please debug the cause of this error", Logging.Red); _States.CurrentCourierMissionCtrlState = CourierMissionCtrlState.Error; } if (MoveItem(false)) { _States.CurrentCourierMissionCtrlState = CourierMissionCtrlState.CompleteMission; moveItemRetryCounter = 0; return; } break; case CourierMissionCtrlState.CompleteMission: // // this state should never be reached in space. if we are in space and in this state we should switch to gotomission // if (Cache.Instance.InSpace) { Logging.Log(_States.CurrentCourierMissionCtrlState.ToString(), "We are in space, how did we get set to this state while in space? Changing state to: GotoBase", Logging.White); _States.CurrentCourierMissionCtrlState = CourierMissionCtrlState.GotoDropOffLocation; return; } if (_States.CurrentAgentInteractionState == AgentInteractionState.Idle) { if (DateTime.UtcNow > Cache.Instance.LastInStation.AddSeconds(5) && Cache.Instance.InStation) //do not proceed until we have been docked for at least a few seconds { return; } Logging.Log("AgentInteraction", "Start Conversation [Complete Mission]", Logging.White); _States.CurrentAgentInteractionState = AgentInteractionState.StartConversation; AgentInteraction.Purpose = AgentInteractionPurpose.CompleteMission; return; } AgentInteraction.ProcessState(); if (Settings.Instance.DebugStates) { Logging.Log("AgentInteraction.State is ", _States.CurrentAgentInteractionState.ToString(), Logging.White); } if (_States.CurrentAgentInteractionState == AgentInteractionState.Done) { _States.CurrentAgentInteractionState = AgentInteractionState.Idle; _States.CurrentCourierMissionCtrlState = CourierMissionCtrlState.Done; return; } break; case CourierMissionCtrlState.Done: Logging.Log("CourierMissionCtrl", "Done", Logging.White); break; } }
/// <summary> /// Arm does nothing but get into a (assembled) shuttle /// </summary> /// <returns></returns> /// public CourierMissionCtrl() { _traveler = new Traveler(); _agentInteraction = new AgentInteraction(); }
public Questor(frmMain form1) { m_Parent = form1; _lastPulse = DateTime.MinValue; _random = new Random(); //_debugmodule = new DebugModule(); //_scoop = new Scoop(); _salvage = new Salvage(); _defense = new Defense(); _localwatch = new LocalWatch(); _scanInteraction = new ScanInteraction(); _combat = new Combat(); _traveler = new Traveler(); _unloadLoot = new UnloadLoot(); _agentInteraction = new AgentInteraction(); _arm = new Arm(); _courier = new CourierMission(); _switch = new SwitchShip(); _missionController = new MissionController(); _drones = new Drones(); _panic = new Panic(); _storyline = new Storyline(); Settings.Instance.SettingsLoaded += SettingsLoaded; // State fixed on ExecuteMission State = QuestorState.Idle; _directEve = new DirectEve(); Cache.Instance.DirectEve = _directEve; Cache.Instance.StopTimeSpecified = Program.stopTimeSpecified; Cache.Instance.MaxRuntime = Program.maxRuntime; Cache.Instance.StopTime = Program._stopTime; _questorStarted = DateTime.Now; _directEve.OnFrame += OnFrame; }