brittyazel / Neuron

A full-featured World of Warcraft action bar and interface replacement addon
https://www.curseforge.com/wow/addons/neuron
MIT License
31 stars 21 forks source link

some flyout spell, item keys no longer work as at wow 8.1 #216

Open baldricinoz opened 5 years ago

baldricinoz commented 5 years ago
  1. Flyout keys for mage teleport, portal, polyporph has changed - i.e. spell:teleport no longer works it looks like spell keys have been replaced - blizzard:8 (teleport), blizzard:12 (portal), blizzard:92 (polymorph)
  2. mage polymorph only shows sheep on action bar, when all variants are shown in the blizzard spellbook (i.e. cat, pig)
  3. some keys like /flyout type:food ... no longer work
  4. more complex keys like /flyout spell:conjure,refreshment ... no longer work

reload, button reset does not fix the problem

brittyazel commented 5 years ago

When did this start happening?

baldricinoz commented 5 years ago

above flyouts were working ok prior to wow 8.1 release it looks like some of the spell id's and blizz flyouts like above may have changed?

jpmeyers commented 5 years ago

I have been playing with this for a while with the 1.01 release. I decided to do a complete fresh start, so I made a copy of my WTF folder, blew all traces of Neuron out, then installed 1.01. So my starting point is zero with this build.

I found that the 'item' type no longer works across the board. Example: /flyout i,s:hearthstone,dreamwalk:l:r:l:2:c. This will show only the Dreamwalk spell (druid), but no hearthstones in my bags. Spells, mounts, toys, and such all seem to work fine, but it doesn't seem to want to find any item in a bag when using the 'item' type.

I did a simple food flyout: type:Food:l:r:l:6:c. This one works strangely. It creates the flyout, but even with 9 food items in my bags, it will only show one, have only the ? icon and will not fly out when right clicked. However, if I re-open the edit, hit Tab, then close the edit, I now get a flyout with all items represented, although still with only the ? icons. These items are usable. If I relog or reload it resets back to the original condition and requiring opening the edit to get them back.

In a odd happenstance I accidentally made the following flyout: food:[list of several food names]:l:r:l:6:c. and strangely enough, this sort of worked, even showed item icons after I dragged the items in question onto a bar temporarily (populating a cache, maybe?) This surprised me because I didn't think food was a valid type in that fashion. Even though this worked it only worked somewhat, any item with a ' (such as Mon'Dazi) or a - (Honey-Glazed Haunches) wouldn't show up in the flyout at all.

I do get one or two errors when making a flyout specifically, but if the flyout was correctly written a reload will get it to show up and that flyout will work correctly. Creation of another flyout creates another error. I'll paste the one I get with each creation attempt below. I hope this makes sense and helps out.

5x Neuron\Objects/BAR.lua:1022: attempt to perform arithmetic on local 'padH' (a nil value) Neuron\Objects/BAR.lua:1022: in function SetObjectLoc' ...aceNeuron\Objects/ACTIONBUTTON_FLYOUTBTN.lua:403: in functionupdateFlyoutBars' ...aceNeuron\Objects/ACTIONBUTTON_FLYOUTBTN.lua:566: in function Flyout_UpdateButtons' ...aceNeuron\Objects/ACTIONBUTTON_FLYOUTBTN.lua:724: in functionUpdateFlyout' Neuron\Neuron-GUI.lua:2648: in function macroText_OnEditFocusLost' Neuron\Neuron-GUI.lua:3069: in function <Neuron\Neuron-GUI.lua:3069> [C]: in functionClearFocus'

Locals: self = NeuronActionBar5_ActionButton1_NeuronFlyoutBar2 { 0 = WrapScript = defined @FrameXML\SecureHandlers.lua:782 index = 2 keybind = NeuronActionBar5_ActionButton1_NeuronFlyoutBar2KeyBind { } Execute = defined @FrameXML\SecureHandlers.lua:777 text = NeuronActionBar5_ActionButton1_NeuronFlyoutBar2Text { } data =

{ } handler = NeuronFlyoutHandler2 { } UnwrapScript = defined @FrameXML\SecureHandlers.lua:788 objCount = 9 SetFrameRef = defined @FrameXML\SecureHandlers.lua:793 objPrefix = "NeuronFlyoutButton" elapsed = 0 messagebg = NeuronActionBar5_ActionButton1_NeuronFlyoutBar2MessageBG { } class = "FlyoutBar" message = NeuronActionBar5_ActionButton1_NeuronFlyoutBar2Message { } } width = 43 height = 43 num = 0 origCol = 9 x = nil y = nil lastObj = nil placed = 0 shape = nil padH = nil padV = nil arcStart = nil arcLength = nil cAdjust = 0.500000 rAdjust = 1 columns = 4.500000 rows = 1 count = 9 buttons =
{ 1 = NeuronActionBar5_ActionButton1_NeuronFlyoutButton1 { } 2 = NeuronActionBar5_ActionButton1_NeuronFlyoutButton2 { } 3 = NeuronActionBar5_ActionButton1_NeuronFlyoutButton3 { } 4 = NeuronActionBar5_ActionButton1_NeuronFlyoutButton4 { } 5 = NeuronActionBar5_ActionButton1_NeuronFlyoutButton5 { } 6 = NeuronActionBar5_ActionButton1_NeuronFlyoutButton6 { } 7 = NeuronActionBar5_ActionButton1_NeuronFlyoutButton7 { } 8 = NeuronActionBar5_ActionButton1_NeuronFlyoutButton8 { } 9 = NeuronActionBar5_ActionButton1_NeuronFlyoutButton9 { } } (for generator) = defined =[C]:-1 (for state) =
{ 1 = NeuronActionBar5_ActionButton1_NeuronFlyoutButton1 { } 2 = NeuronActionBar5_ActionButton1_NeuronFlyoutButton2 { } 3 = NeuronActionBar5_ActionButton1_NeuronFlyoutButton3 { } 4 = NeuronActionBar5_ActionButton1_NeuronFlyoutButton4 { } 5 = NeuronActionBar5_ActionButton1_NeuronFlyoutButton5 { } 6 = NeuronActionBar5_ActionButton1_NeuronFlyoutButton6 { } 7 = NeuronActionBar5_ActionButton1_NeuronFlyoutButton7 { } 8 = NeuronActionBar5_ActionButton1_NeuronFlyoutButton8 { } 9 = NeuronActionBar5_ActionButton1_NeuronFlyoutButton9 { } } (for control) = 1 i = 1 object = NeuronActionBar5_ActionButton1_NeuronFlyoutButton1 { macroname = NeuronActionBar5_ActionButton1_NeuronFlyoutButton1MacroName { } shine5 = NeuronActionBar5_ActionButton1_NeuronFlyoutButton1Shine5 { } flyoutborder = NeuronActionBar5_ActionButton1_NeuronFlyoutButton1FlyoutBorder { } elapsed = 0 class = "flyout" flyoutright = NeuronActionBar5_ActionButton1_NeuronFlyoutButton1FlyoutRight { } shine12 = NeuronActionBar5_ActionButton1_NeuronFlyoutButton1Shine12 { } shine11 = NeuronActionBar5_ActionButton1_NeuronFlyoutButton1Shine11 { } shine16 = NeuronActionBar5_ActionButton1_NeuronFlyoutButton1Shine16 { } stored = false iconframebackground = NeuronActionBar5_ActionButton1_NeuronFlyoutButton1IconFrameBackGround { } objTIndex = 1 gloss = NeuronActionBar5_ActionButton1_NeuronFlyoutButton1Gloss { } count = NeuronActionBar5_ActionButton1_NeuronFlyoutButton1Count { } hitbox = NeuronActionBar5_ActionButton1_NeuronFlyoutButton1HitBox { } SetData = defined @Neuron\Objects/ACTIONBUTTON_FLYOUTBTN.lua:765 bar = NeuronActionBar5_ActionButton1_NeuronFlyoutBar2 { } flyoutbordershadow = NeuronActionBar5_ActionButton1_NeuronFlyoutButton1FlyoutBorderShadow { } auracolor1 =
{ } iconframeaurawatchtimer = NeuronActionBar5_ActionButton1_NeuronFlyoutButton1IconFrameAuraWatchTimer { } shine13 = NeuronActionBar5_ActionButton1_NeuronFlyoutButton1Shine13 { } data =
{ } cdcolor2 =
{ } objType = "FLYOUTBUTTON" debuffcolor =
{ } normaltexture = NeuronActionBar5_ActionButton1_NeuronFlyoutButton1NormalTexture { } shine3 = NeuronActionBar5_ActionButton1_NeuronFlyoutButton1Shine3 { } macroparse = " /cast [nobtn:2] archaeology() " rangecolor =
{ } shine8 = NeuronActionBar5_ActionButton1_NeuronFlyoutButton1Shine8 { } shine6 = Neur

baldricinoz commented 5 years ago

I did a simple food flyout: type:Food:l:r:l:6:c. This one works strangely. It creates the flyout, but even with 9 food items in my bags, it will only show one

I see similar behavior with some spells i.e. mage polymorph (item 2 in OP above)

brittyazel commented 5 years ago

I'll work on this in the morning. Hang tight

baldricinoz commented 5 years ago

I'll try to pinpoint some issues around the flyouts:

It looks like the matching functionality is not quite working as originally intended.

e.g. if you have these items in your backpack:

  • Hearthstone
  • Garrison Hearthstone
  • Dalaran Hearthstone

and code the following macro:

/flyout item:hearthstone:linear:right:left:12:mouse:show

This used to show all 3 items, but now only shows Hearthstone

However, if you explicitly specify the items:

/flyout item:hearthstone,garrison hearthstone,dalaran hearthstone:linear:right:left:12:mouse:show

3 items will be in the flyout

This generates a macro something like:

#showtooltip Garrison Hearthstone
/use [nobtn:2] Garrison Hearthstone
/stopmacro [nobtn:2]
/flyout item:hearthstone,garrison hearthstone,dalaran hearthstone:linear:right:left:12:mouse:show

But not all the tooltips and icons show correctly. I think the cause is there is something wrong with the #showtooltip command not showing some items by name correctly. i.e. the Hearthstone icon shows correctly but the Dalaran Hearthstone does not.

This is also the case for spell matching, and likely other types of matching.

baldricinoz commented 5 years ago

It used to be possible to mix flyout types i.e. mount, spell - this was especially useful for grouping things like hearthstones and teleports in the same flyout, and for a druid mixing travel forms with mount flyouts:

/flyout mount,spell:FFlying,travel form:linear:right:left:6:mouse:show

baldricinoz commented 5 years ago

Some spells don't seem to mix too well. For a druid:

/flyout spell:Arcanist's Manasaber,Travel Form:linear:right:left:6:mouse:show

Will only show Travel Form. I'm pretty sure both these are spells because when you drag each from the spellbook & mounts they both autowrite macro code as cast: i.e.

/cast Travel Form()
/cast Arcanist's Manasaber;
DejayRezme commented 3 years ago

The "fun" category seems to work for me. Like Findle's Loot-A-Rang: /flyout fun:Findle's Loot-A-Rang:L:B:T:3:M

Mixing would be nice too. I like to put my hearthstone in the bank and use a toy version. You can use My guess is that it's some bug in the parser and that it stops parsing maybe?

For example this works but doesn't show the icon: /flyout fun:"Wormhole Centrifuge":l:b:t:3:m But this doesn't: /flyout fun:"Wormhole Centrifuge","Wormhole Generator: Northrend":l:b:t:3:m It even changes the direction of the flyout arrow indicator to bottom, the default. So it doesn't seem parse the rest of the line but stop at some kind of error. EDIT: Ok this bug probably caused by the ":" in the name of the item.

Strangely after testing this a few times using all hearthstone items at first didn't seem to work but now suddenly does: /flyout item:hearthstone:L:B:T:1:M. My guess is that mixing it with toy items doesn't work. But this does not work with a list of explicit names: /flyout item:Hearthstone,Garrison Hearthstone, Dalaran Hearthstone:l:b:t:1:m Strangely this works but ONLY if I use "fun" instead of "item" and it does not support partial names here: /flyout fun:Hearthstone,Garrison Hearthstone, dalaran hearthstone:l:b:t:5:m

DejayRezme commented 3 years ago

This is probably related so I'll add this here:

Typing this into a button on my hunter creates an error that seems "brick" the profile if you type reload (so test this only with a new profile) /flyout spell:fire:l:b:t:3:m

Click for Lua Errors ``` Message: ...erface\AddOns\Neuron\Objects\ACTIONBUTTON_Flyout.lua:485: Usage: IsSpellKnown(spellID[, isPet]) Time: Fri Dec 18 06:06:45 2020 Count: 1 Stack: ...erface\AddOns\Neuron\Objects\ACTIONBUTTON_Flyout.lua:485: Usage: IsSpellKnown(spellID[, isPet]) [string "=[C]"]: in function `IsSpellKnown' [string "@Interface\AddOns\Neuron\Objects\ACTIONBUTTON_Flyout.lua"]:485: in function `filter_spell' [string "@Interface\AddOns\Neuron\Objects\ACTIONBUTTON_Flyout.lua"]:758: in function `GetDataList' [string "@Interface\AddOns\Neuron\Objects\ACTIONBUTTON_Flyout.lua"]:799: in function `Flyout_UpdateData' [string "@Interface\AddOns\Neuron\Objects\ACTIONBUTTON_Flyout.lua"]:1072: in function `UpdateFlyout' [string "@Interface\AddOns\Neuron\Neuron-GUI.lua"]:2682: in function `macroText_OnEditFocusLost' [string "@Interface\AddOns\Neuron\Neuron-GUI.lua"]:3102: in function [string "=[C]"]: in function `?' [string "@Interface\FrameXML\UIParent.lua"]:2388: in function Locals: (*temporary) = nil (*temporary) = true ``` After typing /reload: ``` Message: ...erface\AddOns\Neuron\Objects\ACTIONBUTTON_Flyout.lua:485: Usage: IsSpellKnown(spellID[, isPet]) Time: Fri Dec 18 06:09:04 2020 Count: 1 Stack: ...erface\AddOns\Neuron\Objects\ACTIONBUTTON_Flyout.lua:485: Usage: IsSpellKnown(spellID[, isPet]) [string "=[C]"]: in function `IsSpellKnown' [string "@Interface\AddOns\Neuron\Objects\ACTIONBUTTON_Flyout.lua"]:485: in function `filter_spell' [string "@Interface\AddOns\Neuron\Objects\ACTIONBUTTON_Flyout.lua"]:758: in function `GetDataList' [string "@Interface\AddOns\Neuron\Objects\ACTIONBUTTON_Flyout.lua"]:799: in function `Flyout_UpdateData' [string "@Interface\AddOns\Neuron\Objects\ACTIONBUTTON_Flyout.lua"]:1072: in function `UpdateFlyout' [string "@Interface\AddOns\Neuron\Objects\ACTIONBUTTON.lua"]:292: in function `SetType' [string "@Interface\AddOns\Neuron\Objects\BAR.lua"]:1194: in function `LoadObjects' [string "@Interface\AddOns\Neuron\Objects\BAR.lua"]:2931: in function `Load' [string "@Interface\AddOns\Neuron\Neuron.lua"]:225: in function [string "=[C]"]: ? [string "@Interface\AddOns\BagSync\libs\AceAddon-3.0\AceAddon-3.0.lua"]:70: in function <...ce\AddOns\BagSync\libs\AceAddon-3.0\AceAddon-3.0.lua:65> [string "@Interface\AddOns\BagSync\libs\AceAddon-3.0\AceAddon-3.0.lua"]:527: in function `EnableAddon' [string "@Interface\AddOns\BagSync\libs\AceAddon-3.0\AceAddon-3.0.lua"]:630: in function <...ce\AddOns\BagSync\libs\AceAddon-3.0\AceAddon-3.0.lua:615> Locals: ``` Next error: ``` Message: Interface\AddOns\Neuron\Objects\ACTIONBUTTON.lua:547: attempt to index field 'binder' (a nil value) Time: Fri Dec 18 06:09:04 2020 Count: 1 Stack: Interface\AddOns\Neuron\Objects\ACTIONBUTTON.lua:547: attempt to index field 'binder' (a nil value) [string "@Interface\AddOns\Neuron\Objects\ACTIONBUTTON.lua"]:547: in function `?' [string "@Interface\AddOns\BagSync\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua"]:119: in function <...ync\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:119> [string "=[C]"]: ? [string "@Interface\AddOns\BagSync\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua"]:29: in function <...ync\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:25> [string "@Interface\AddOns\BagSync\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua"]:64: in function `Fire' [string "@Interface\AddOns\BagSync\libs\AceEvent-3.0\AceEvent-3.0.lua"]:120: in function <...ce\AddOns\BagSync\libs\AceEvent-3.0\AceEvent-3.0.lua:119> Locals: ``` When trying to left or right click on neuron minimap button to enter edit mode this error comes up: ``` Message: Interface\AddOns\Neuron\Objects\BUTTON.lua:585: attempt to index field 'data' (a nil value) Time: Fri Dec 18 06:09:40 2020 Count: 1 Stack: Interface\AddOns\Neuron\Objects\BUTTON.lua:585: attempt to index field 'data' (a nil value) [string "@Interface\AddOns\Neuron\Objects\BUTTON.lua"]:585: in function `HasAction' [string "@Interface\AddOns\Neuron\Objects\ACTIONBUTTON.lua"]:94: in function `UpdateObjectVisibility' [string "@Interface\AddOns\Neuron\Objects\BAR.lua"]:1703: in function `UpdateBarObjectVisibility' [string "@Interface\AddOns\Neuron\Neuron.lua"]:590: in function `ToggleBarEditMode' [string "@Interface\AddOns\Neuron\Neuron.lua"]:607: in function `ToggleButtonEditMode' [string "@Interface\AddOns\Neuron\Neuron-MinimapIcon.lua"]:79: in function `Minimap_OnClickHandler' [string "@Interface\AddOns\Neuron\Neuron-MinimapIcon.lua"]:46: in function `OnClick' [string "@Interface\AddOns\DBM-Core\Libs\LibDBIcon-1.0\LibDBIcon-1.0.lua"]:144: in function <...AddOns\DBM-Core\Libs\LibDBIcon-1.0\LibDBIcon-1.0.lua:142> Locals: self = NeuronActionBar2_ActionButton4 { CalculateAction = defined @Interface\FrameXML\SecureTemplates.lua:582 WrapScript = defined @Interface\FrameXML\SecureHandlers.lua:782 elements =
{ } editor = NeuronActionBar2_ActionButton4EditFrame { } Execute = defined @Interface\FrameXML\SecureHandlers.lua:777 class = "ActionBar" DB =
{ } objType = "ACTIONBUTTON" UnwrapScript = defined @Interface\FrameXML\SecureHandlers.lua:788 id = 4 FlyoutBorder = NeuronActionBar2_ActionButton4FlyoutBorder { } FlyoutBorderShadow = NeuronActionBar2_ActionButton4FlyoutBorderShadow { } SetFrameRef = defined @Interface\FrameXML\SecureHandlers.lua:793 FlyoutArrow = NeuronActionBar2_ActionButton4FlyoutArrow { } 0 = bar = NeuronActionBar2 { } } (*temporary) = nil (*temporary) = nil (*temporary) = nil (*temporary) = "attempt to index field 'data' (a nil value)" ```
Aurenge commented 3 years ago

Update: None of this matters because it breaks when I exit the game. Reloading the UI doesn't break it, but shutting it down does. The icon remains in place, the macro itself remains, but it doesn't respond to either click or bindings afterward.

I'm late to this party but I'm having a hard time with flyouts as well. I used the info in this link to get a few extras done: like adding "+" to the item or using ~ and ! to stack it a little more than the default allows right now.

It's an old post from Maul about configuring flyout macros

https://www.wowinterface.com/portal.php?id=221&a=faq&faqid=634

I was able to get a mix of various teleport items using:

/flyout ,item+:~teleports,~returns,~guzzler,!scroll:LINEAR:RIGHT:LEFT:10:CLICK

It allowed me to list all of the items in my bag with "teleports, returns, guzzler (Grim Guzzler Remote)" in their tooltip, but exclude a Scroll of Teleportation from the Cow Level event (I'm experimenting right now, don't judge my inventory management!) However adding "fun+" to the type doesn't add the Eternal Traveler's Hearthstone to the list. Nor does adding "spell" or "spell+" add Dreamwalk to it either.

However this guy:

/flyout ,item+,spell+:~teleports,~returns,~guzzler,!scroll:LINEAR:RIGHT:LEFT:10:CLICK

Turns the whole thing into a Dreamwalk/Rebirth/Revive flyout because of the "returns" variable... I'm not sure why that configuration of types causes the whole thing to be overwritten as spells only but it do.