forked from Da-Teach/Questor
-
Notifications
You must be signed in to change notification settings - Fork 28
QuestorStates Outline
ISeeDEDPpl edited this page Mar 16, 2012
·
4 revisions
QuestorStates a rough Outline
Settings: AfterMissionSalvaging = false
If everything goes 'right' the most efficient way through the states is (1st Run):
Idle --> Cleanup --> GotoBase --> UnloadLoot --> CheckEVEStatus --> Start -->
Arm --> LocalWatch --> WarpOutStation --> GotoMission --> ExecuteMission --> GotoBase -->
CompleteMission --> UnloadLoot --> Idle
Settings: AfterMissionSalvaging = false
If everything goes 'right' the most efficient way through the states is (2nd through nth Runs):
Idle --> Cleanup --> CheckEVEStatus --> Start -->
Arm --> LocalWatch --> WarpOutStation --> GotoMission --> ExecuteMission --> GotoBase -->
CompleteMission --> UnloadLoot --> Idle
Settings: AfterMissionSalvaging = true
If everything goes 'right' the most efficient way through the states is (1st Run):
Idle --> Cleanup --> GotoBase --> UnloadLoot --> CheckEVEStatus --> Start -->
Arm --> LocalWatch --> WarpOutStation --> GotoMission --> ExecuteMission --> GotoBase -->
CompleteMission --> UnloadLoot --> BeginAfterMissionSalvaging --> GotoSalvageBookmark -->
Salvage --> GotoBase --> UnloadLoot --> Idle
Settings: AfterMissionSalvaging = true
If everything goes 'right' the most efficient way through the states is (2nd through nth Runs):
Idle --> Cleanup --> CheckEVEStatus --> Start -->
Arm --> LocalWatch --> WarpOutStation --> GotoMission --> ExecuteMission --> GotoBase -->
CompleteMission --> UnloadLoot --> BeginAfterMissionSalvaging --> GotoSalvageBookmark -->
Salvage --> GotoBase --> UnloadLoot --> Idle
Idle--> CloseQuestor : MaxRTunTime
--> CloseQuestor : StopTimeSpecified
--> CloseQuestor : ExitWhenIdle
--> DelayedGotoBase : Cache.Instance.InSpace = true
--> DelayedStart : if (Settings.Instance.RandomDelay > 0 || Settings.Instance.MinimumDelay > 0)
--> Cleanup : Start the next State headed toward starting a mission
DelayedGotoBase,
--> GotoBase : Wait n seconds then GotoBase State
DelayedStart,
--> Cleanup : Start the next State headed toward starting a mission
Cleanup,
--> GotoBase : If Loot hasn't been unloaded yet (just started questor?)
--> CheckEVEStatus : Checks EVE process health status
CheckEVEStatus,
--> CloseQuestor : If necessary eve will be closed and restarted (memory usage?)
--> Start : Start
CloseQuestor, : Close EVE and restart: Once you have reached this state their is nothing to do but close eve and restart
Start,
--> Switch : If you are in the wrong station and is not the first agent
--> Storyline : If storylines are enabled, and you have one (this should run a storyline as soon as you get it)
--> Switch : if (_agentInteraction.State == AgentInteractionState.ChangeAgent)
--> Arm : if (_agentInteraction.State == AgentInteractionState.Done)
Switch,
--> GotoBase : When done switching ???
Arm,
--> CourierMission : if (Cache.Instance.CourierMission)
--> LocalWatch : Check Local for bad guys before undocking
LocalWatch,
--> WarpOutStation : Use undock bookmark if it exists
WaitingforBadGuytoGoAway,
--> LocalWatch : Check Local Again
WarpOutStation,
--> GotoMission : If you have no undock bookmark or if you've landed at your bookmark
GotoMission,
--> ExecuteMission : Once we are at the mission, execute the mission
ExecuteMission,
--> GotoBase : if (_missionController.State == MissionControllerState.Done) or MissionControllerState.Error
GotoBase,
--> Error : If MissionControllerState.Error
--> CompleteMission : If we aren't out of ammo and we have a mission and missionstate is Accepted
--> UnloadLoot : If we are out of ammo, we don't have a mission or missionstate is not Accepted
CompleteMission,
--> UnloadLoot : if (_agentInteraction.State == AgentInteractionState.Done)
--> Idle : if (Cache.Instance.CourierMission)
UnloadLoot,
--> BeginAfterMissionSalvaging : if (DateTime.Now.Subtract(Statistics.Instance.FinishedSalvaging).Minutes > ((int)Time.WrecksDisappearAfter_minutes - (int)Time.AverageTimeToCompleteAMission_minutes - (int)Time.AverageTimetoSalvageMultipleMissions_minutes))
--> Idle : else (if not after mission salvaging then go to next mission)
--> Start : if we were out of ammo
--> Idle : If we aren't after mission salvaging and we aren't out of ammo we must be done.
CourierMission,
BeginAfterMissionSalvaging,
--> GotoSalvageBookmark : The Salvaging equivalent to GotoMission
GotoSalvageBookmark,
--> Salvage : Once we are at a salvagebookmark, salvage
SalvageUseGate,
--> SalvageNextPocket : go to next pocket
SalvageNextPocket,
--> Salvage : Once we have reached the next pocket, salvage
Salvage,
--> GotoSalvageBookmark : If we don't have any gates here assume you can warp to the next bookmark
--> UseGatesInSalvage : If we do have gates assume you need to use the gate for the next bookmark
--> GotoBase : If we have gates and useGatesInSalvage is false Return to Base (does this delete the existing bookmarks if any?)
Error,
Paused,
Panic,
Traveler,
Scanning,
Storyline,
StorylinePanic,
CombatHelper,
CombatHelper_anomaly,
SalvageOnly,
SalvageOnlyBookmarks,
GotoSalvageOnlyBookmark,
Debug_Windows,
Debug_CloseQuestor,