Describe the expected behavior and what actually happened?
The GetUnitSpeed API does not return real values while Dragon(Sky)riding, but the IsFlying API does return true. so the Movement Speed datatext returns the maximum steady flying speed. The GetGlidingInfo API's return values of isGliding / forwardSpeed can be used instead to display proper values while Dragon(Sky)riding.
local function DelayUpdate(self)
local _, runSpeed, flightSpeed, swimSpeed = GetUnitSpeed('player')
local isGliding, canGlide, forwardSpeed = C_PlayerInfo.GetGlidingInfo()
local speed
if isGliding then
speed = forwardSpeed
wasFlying = true
elseif IsSwimming() then
speed = swimSpeed
wasFlying = false
...
Reproducing the issue.
Mount a dragonriding mount in retail
The Movement Speed datatext reads at 210% while grounded (assumes Mount Up guild perk and no other modifiers)
The Movement Speed datatext reads at 420% while flying (assumes Mount Up guild perk and no other modifiers)
Lua Errors
N/A
Verification Steps
[X] I have read the Changelog and verified ElvUI is up to date by checking /estatus
[X] I have verified my issue doesn't exist in the Default UI or the Issue Tracker.
[ ] I have not read any of these steps, please close my issue when you see it.
[X] I have done the Troubleshooting Steps and included the requested screenshots, which show the issue and status panel.
Troubleshooting Steps
Describe the expected behavior and what actually happened?
The GetUnitSpeed API does not return real values while Dragon(Sky)riding, but the IsFlying API does return true. so the Movement Speed datatext returns the maximum steady flying speed. The GetGlidingInfo API's return values of isGliding / forwardSpeed can be used instead to display proper values while Dragon(Sky)riding.
Reproducing the issue.
Lua Errors
Verification Steps