Open rowaasr13 opened 2 months ago
As far as I can test Blizzard have altered IsAdvancedFlyableArea()
so that it returns whether you are in skyriding flght style, and you need to check IsFlyableArea() to see if you can fly at all - except some parts of DF are still mis-flagged as non-flyable (e.g. The Primalist Future).
As far as I can tell, at least one of the following conditions must be met for IsAdvancedFlyableArea()
to return true:
As for the steady flight switch affecting the output of the function - this function is designed to be used with the advFlyable
macro condition, so the switch affecting that output makes sense. I don't think this behavior will be changed, personally.
so the switch affecting that output makes sense
It does not makes sense for my use case: I want to detect if I'm in advanced flyable area regardless of anything else and activate switch style if necessary and then random advanced flying mount. Every step of setting up such dynamic button OOC is available now except actually detecting if I'm in a place where advanced flying is possible at all.
Actually it would be good if we had functions for every type of mount Is(AdvFlying/Flying/Ground/Underwater/Vashjir)WorksRightInThePlaceYouStand or something. Those could be new functions if current behavior is desirable for something. Or single function with Enums.
(Just for curiosity sake, in which scenario current behavior of advFlyable would make sense considering we have only about one mount that is steadyFligtOnly?)
if I'm in advanced flyable area
Is that a concept that still exists though?
if I'm in advanced flyable area Is that a concept that still exists though?
At least Tindral's fight and flight from platform to Fyrakk shows false true
for /run print(IsFlyableArea(), IsAdvancedFlyableArea())
.
The 'concept' of an advanced flyable area is an area in which one of the conditions I outlined, in the comment above, is met. It's not static and the output can change based on game state.
For macros, this is fine. For all other use cases, it's far less than ideal. If anything, I'd like Blizzard to give us a list of advanced flyable map IDs in-game, or a version of IsAdvancedFlyableArea()
that is not subject to as much variation.
Get into any area where flying is enabled, make sure you have Skyriding style and check
/dump IsAdvancedFlyableArea()
- it will returntrue
.Activate "Switch Flight Style" to switch to "steady" and check
/dump IsAdvancedFlyableArea()
again - it will now returnfalse
.IsAdvancedFlyableArea()
used to be semi-reliable way to detect if flying is possible in current area for "one-button random mount" type addon, but now functionality breaks completely if such addon switches to steady mode and requires to fall back to check against hardcoded table of instance IDs and uiMapIDs.