Luxocracy / NeatPlates

NeatPlates is a continuation of the original Tidy Plates in an attempt to keep it update date in the absence of its authors.
https://wow.curseforge.com/projects/neat-plates
79 stars 20 forks source link

'Anim' Error in ComboPointWidget.lua #386

Closed chasaya closed 1 year ago

chasaya commented 1 year ago

What version of the game you are experiencing the issue with: Live/Retail

Describe the bug For my Warlocks, after casting 3 different spells on a target, the following error appears: (Had to replace the table tag with < table >, otherwise the details tag breaks)

Error > NeatPlatesWidgets/ComboPointWidget.lua:213: attempt to index field 'Anim' (a nil value) > [string "@NeatPlatesWidgets/ComboPointWidget.lua"]:213: in function > [string "@NeatPlatesWidgets/ComboPointWidget.lua"]:333: in function > > Locals: > frame = Frame { > 0 = > Spark = Frame { > } > UpdateScale = defined @NeatPlatesWidgets/ComboPointWidget.lua:262 > Update = defined @NeatPlatesWidgets/ComboPointWidget.lua:182 > PartialFill = Frame { > } > _Hide = defined =[C]:-1 > guid = "Creature-0-3893-1153-20708-87761-00001C38A1" > UpdateContext = defined @NeatPlatesWidgets/ComboPointWidget.lua:289 > Icon = Texture { > } > Hide = defined @NeatPlatesWidgets/ComboPointWidget.lua:468 > } > points = 26 > maxPoints = 50 > chargedPowerPoints = nil > { > h = 20 > r = 0.250000 > l = 0.125000 > w = 80 > o = 4 > } > offset = 4 > modPoints = 2 > fragments = 6 > fOffset = 1 > (*temporary) = nil > (*temporary) = nil > (*temporary) = "CENTER" > (*temporary) = Frame { > 0 = > Spark = Frame { > } > UpdateScale = defined @NeatPlatesWidgets/ComboPointWidget.lua:262 > Update = defined @NeatPlatesWidgets/ComboPointWidget.lua:182 > PartialFill = Frame { > } > _Hide = defined =[C]:-1 > guid = "Creature-0-3893-1153-20708-87761-00001C38A1" > UpdateContext = defined @NeatPlatesWidgets/ComboPointWidget.lua:289 > Icon = Texture { > } > Hide = defined @NeatPlatesWidgets/ComboPointWidget.lua:468 > } > (*temporary) = "CENTER" > (*temporary) = -14.500000 > (*temporary) = 1 > (*temporary) = > (*temporary) = defined =[C]:-1 > (*temporary) = Texture { > 0 = > } > (*temporary) = "attempt to index field 'Anim' (a nil value)" > GetPlayerPower = defined @NeatPlatesWidgets/ComboPointWidget.lua:126 > SelectPattern = defined @NeatPlatesWidgets/ComboPointWidget.lua:154 > PlayerClass = "WARLOCK" > playerSpec = 267 > grid = 0.062500 > t = < table > { > DEATHKNIGHT = < table > { > } > WARLOCK = < table > { > } > ROGUE = < table > { > } > MAGE = < table > { > } > DRUID = < table > { > } > MONK = < table > { > } > PALADIN = < table > { > } > } > ScaleOptions = < table > { > y = 1 > x = 1 > offset = < table > { > } > } > artfile = < table > { > 1 = "Interface\Addons\NeatPlatesWidgets\ComboWidget\Powers.tga" > 2 = "Interface\Addons\NeatPlatesWidgets\ComboWidget\PowersNeat.tga" > 3 = "Interface\Addons\NeatPlatesWidgets\ComboWidget\PowersTrad.tga" > } > artstyle = 1

The error keeps popping until i deselect the target and pops again when i select the specific target again. After a reload, the error stops until i attack a target again. I am using the "Blizzard" theme and the error occurs whether "Use Blizzard Bar Widgets" is enabled or not.

To Reproduce Steps to reproduce the behavior:

  1. Target an enemy/dummy
  2. cast 3 different spells, no specific order, e.g. Conflagrate, Immolate, Incinerate or other way round, the error always pops after the 3rd spell

    Expected behavior Spells should be castable without error

    Screenshots If applicable, add screenshots to help explain your problem.

Additional context This has been happening for me constantly since version 425. In 424, a different issue was happening (popping directly on loading into the game):

424 Error > NeatPlatesWidgets/ComboPointWidget.lua:382: attempt to call method 'SetFromScale' (a nil value) > [string "@NeatPlatesWidgets/ComboPointWidget.lua"]:382: in function > [string "@NeatPlatesWidgets/ComboPointWidget.lua"]:447: in function `createFunction' > [string "@NeatPlatesHub/functions/Widgets.lua"]:626: in function > [string "@NeatPlatesHub/functions/Widgets.lua"]:663: in function `OnInitializeWidgets' > [string "@NeatPlatesHub/functions/Core.lua"]:531: in function `OnInitialize' > [string "@NeatPlates/NeatPlatesCore.lua"]:762: in function > [string "@NeatPlates/NeatPlatesCore.lua"]:1623: in function `?' > [string "@NeatPlates/NeatPlatesCore.lua"]:1578: in function > > Locals: > parent = Frame { > 0 = > Icon = Texture { > } > PartialFill = Frame { > } > } > spark = Frame { > 0 = > scaleIn = Scale { > } > fadeIn = Alpha { > } > Anim = AnimationGroup { > } > Texture = Texture { > } > } > (*temporary) = nil > (*temporary) = Scale { > 0 = > } > (*temporary) = 0.600000 > (*temporary) = 0.600000 > (*temporary) = "attempt to call method 'SetFromScale' (a nil value)" > artpath = "Interface\Addons\NeatPlatesWidgets\ComboWidget\" >

As far as i understood, the 424 error is happening because apparently the widget functions Scale:SetFromScale and Scale:SetToScale have been renamed to Scale:SetScaleFrom and Scale:SetScaleTo respectively in 10.0.0 https://wowpedia.fandom.com/wiki/Patch_10.0.0/API_changes (under "Widgets"). When i change those names in lines 382, 383, 387 and 388 in ComboPointWidget.lua to the new names, 424 is working for me. There might still be functional errors with the Combo Points which i haven't noticed yet, but at least it stopped the lua error for me. Thanks a lot in advance (and for the great addon of course 😃)!

Luxocracy commented 1 year ago

You should probably update your addon. As this should have been dealt with as of v425.

And the "old" combopoint widget is something that is no longer being supported, and I would recommend you swap over to using it's replacement if possible the "Personal Resource Display" as this is the only one currently supporting Dragonflight properly.

chasaya commented 1 year ago

I have updated the addon to the latest version 427, but the 'Anim' error keeps occurring. I'm unsure how to disable the combopoint widget or preventing the combopoints from showing on the target's health bar. I tried checking/unchecking "Use Blizzard Bar Widgets" as well as enabling the Personal Resource Display in the game settings, but the combopoints and thus the error are still there.. could you point me to the correct setting? Thanks again! Edit: nvm, i found the setting now under Default Profile/Personal Resource Display and set "Show On" to "none", error is now gone 😃 .