Retiring [dragonridable] and merging into LM.Environment:CanFly()
LootFever opened this issue ยท 7 comments
While adjusting my Advanced Actionlist for Nokhud I encountered a problem with the execution and mount selection.
The following is the relevant Debug Info and my Advanced Actionlist. I only tested one line at a time.
If it succeeds the mount will be summoned, if it fails it falls back to a later rule wich is a ground mount.
Results are below tthe Actionlist.
--- General ---
date: Mon Jul 29 23:07:44 2024
expansion: Dragonflight
build: 11.0.0 | 55824 | Jul 24 2024 | 110000 | |
version: 11.0.0-14
locale: enUS
current profile: Default
--- Location ---
map: The Nokhud Offensive (2093)
mapPath: The Nokhud Offensive (2093) -> Dragon Isles (1978) -> Azeroth (947) -> Cosmic (946)
instance: The Nokhud Offensive (2516)
zoneText: Ohn'ahran Plains
subZoneText: Maruukai
IsFlyableArea(): true
IsAdvancedFlyableArea(): true
# Nokhud Offensive
Mount [instance:2516,flyable] 395644
Mount [instance:2516,advflyable] 395644
Mount [instance:2516,dragonridable] 395644
Mount [instance:2516,flyable,advflyable] 395644
Mount [instance:2516,flyable,dragonridable] 395644
#
The expected result is the summon of a flying mount.
Line 1: ground
Line 2: flying
Line 3: flying
Line 4: ground
Line 5: ground
As you can see only the lines with the [flyable]
-check fail but the area returns IsFlyableArea(): true
.
Just saw your response to ticket #271.
Gonna test the no flying area at the end of Nokhud and will report back the results.
The test above was done at the start of the instance.
Results from the end while boss was still alive:
--- General ---
date: Mon Jul 29 23:16:22 2024
expansion: Dragonflight
build: 11.0.0 | 55824 | Jul 24 2024 | 110000 | |
version: 11.0.0-14
locale: enUS
current profile: Default
--- Player ---
name: Calzra-Blackhand
class: EVOKER
level: 70
race: Dracthyr
faction: Horde
spec: 2 1468 0
--- Location ---
map: The Nokhud Offensive (2093)
mapPath: The Nokhud Offensive (2093) -> Dragon Isles (1978) -> Azeroth (947) -> Cosmic (946)
instance: The Nokhud Offensive (2516)
zoneText: Ohn'ahran Plains
subZoneText: Nokhudon Hold
IsFlyableArea(): false
IsAdvancedFlyableArea(): true
Since it is supposed to always summon a ground mount here due to IsFlyableArea(): false
the results will show the mount type:
Line 1: ground
Line 2: flying
Line 3: flying
Line 4: ground
Line 5: ground
I've also gone ahead and checked areas when my flight style was steady flight.
Start:
--- Location ---
map: The Nokhud Offensive (2093)
mapPath: The Nokhud Offensive (2093) -> Dragon Isles (1978) -> Azeroth (947) -> Cosmic (946)
instance: The Nokhud Offensive (2516)
zoneText: Ohn'ahran Plains
subZoneText: Maruukai
IsFlyableArea(): true
IsAdvancedFlyableArea(): false
Line 1: flying
Line 2: nothing
Line 3: nothing
Line 4: nothing
Line 5: nothing
End:
--- Location ---
map: The Nokhud Offensive (2093)
mapPath: The Nokhud Offensive (2093) -> Dragon Isles (1978) -> Azeroth (947) -> Cosmic (946)
instance: The Nokhud Offensive (2516)
zoneText: Ohn'ahran Plains
subZoneText: Nokhudon Hold
IsFlyableArea(): false
IsAdvancedFlyableArea(): false
Line 1: ground
Line 2: ground
Line 3: ground
Line 4: ground
Line 5: ground
I think with this we got proof that the [flyable] condition also checks if the flight style is steady.
Just like you expected in the pull request.
Thanks for all the testing. I will probably leave this alone until after launch since the starting area of TWW has a non-flying debuff which I could only test as-is and the leveling beta has been down lately. Hopefully after that I can spend some time to simplify things.
I think it's looking pretty good to retire [dragonridable]
completely, merge CanDragonride()
and CanSteadyFly()
back into CanFly()
and have the SmartMount actions check [flyable,flightstyle:skriding]
and [flyable:flightstyle:steady]
.
The pain point is going back and re-testing the overrides that I can, and then accepting that things might be broken in edge cases like never having unlocked various area flights, which I can't test on my account.
If I'm incredibly lucky Blizzard might have fixed it all up and it will simply work. I retain some optimism.