Skip to content

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,
Clone this wiki locally