First. I have to thank to @Viir for helping me alot. With newest parseSquadronsUI. I have some funtion request / need to correct it:
Before enterAnomaly, using Dscan on a matching site,
if there are “No Scan Results” in Dscan results then
warp to that Anomaly site
Else ignore that Anomaly site
launchFighterTospace : ReadingFromGameClient -> Maybe DecisionPathNode
launchFighterTospace parsedUserInterface =
parsedUserInterface.shipUI
|> maybeNothingFromCanNotSeeIt
|> Maybe.andThen
(\shipUI ->
case shipUI.squadronsUI of
Just squadronsUI ->
let
readyfighters =
squadronsUI.squadrons
|> List.filter (.actionLabel >> EveOnline.ParseUserInterface.getAllContainedDisplayTexts >> List.any (String.toLower >> String.contains "ready"))
in
if 0 < (readyfighters |> List.length) then
Just
(describeBranch "I see there are fighters in bay. Launch it"
(endDecisionPath
(actWithoutFurtherReadings
( " by using SHIFT + D Key"
, [ VolatileHostInterface.KeyDown Common.EffectOnWindow.VK_SHIFT
, VolatileHostInterface.KeyDown Common.EffectOnWindow.VK_R
, VolatileHostInterface.KeyUp Common.EffectOnWindow.VK_R
, VolatileHostInterface.KeyUp Common.EffectOnWindow.VK_SHIFT
]
)
)
)
)
else
Nothing
_ ->
Nothing
)
returnFighterToBay : ReadingFromGameClient -> Maybe DecisionPathNode
returnFighterToBay parsedUserInterface =
parsedUserInterface.shipUI
|> maybeNothingFromCanNotSeeIt
|> Maybe.andThen
(\shipUI ->
case shipUI.squadronsUI of
Just squadronsUI ->
let
readyfighters =
squadronsUI.squadrons
|> List.filter (.actionLabel >> EveOnline.ParseUserInterface.getAllContainedDisplayTexts >> List.any (String.toLower >> String.contains "ready"))
in
if 0 < (readyfighters |> List.length) then
Nothing
else
Just
(describeBranch "I see there are fighters in local space. Return those to bay."
(endDecisionPath
(actWithoutFurtherReadings
( " by using SHIFT + R Key"
, [ VolatileHostInterface.KeyDown Common.EffectOnWindow.VK_SHIFT
, VolatileHostInterface.KeyDown Common.EffectOnWindow.VK_R
, VolatileHostInterface.KeyUp Common.EffectOnWindow.VK_R
, VolatileHostInterface.KeyUp Common.EffectOnWindow.VK_SHIFT
]
)
)
)
)
_ ->
Nothing
)
And fighter’s module to active on target
fightersModulesToActivateOnTarget : SeeUndockingComplete -> List SquadronAbilityIcon
fightersModulesToActivateOnTarget =
.shipUI >> .squadrons >> .abilities
And then in combat funtion:
-
Replace return/launchAndEngageDrones with fighers.
-
Replace shipUIModulesToActivateOnTarget with fightersModulesToActivateOnTarget
-
Repalce ensureShipIsOrbiting with ensureShipIsAligning
ensureShipIsAligning: ShipUI → ReadingFromGameClient → Maybe DecisionPathNode
ensureShipIsAligning shipUI readingFromGameClient =
if (shipUI.indication |> maybeVisibleAndThen .maneuverType) == CanSee EveOnline.ParseUserInterface.ManeuverAlign || (shipUI.indication |> maybeVisibleAndThen .maneuverType) == CanSee EveOnline.ParseUserInterface.ManeuverApproach then
Nothingelse useContextMenuCascadeOnListSurroundingsButton (useMenuEntryWithTextContainingFirstOf [ "locations" ] (useMenuEntryWithTextContainingFirstOf [ "Safe", "top" ] (useMenuEntryWithTextContainingFirstOf [ "Top", "Safe" ] (useMenuEntryWithTextContainingFirstOf [ "Align to", "Approach" ] MenuCascadeCompleted) ) ) )