Rune Sets

Rune Sets

7.4k Downloads

Back rune selection (incorrectly) pops up upon logging in

nteetor opened this issue · 12 comments

commented

Sorry, only noticed this bug once I started playing the Warlock (who got an early back rune). Upon logging in the rune selection pops up as though I am missing a back rune, although I have my back rune engraved.

commented

Can you run this command in-game and see what it prints?

/dump C_Engraving.GetRuneForEquipmentSlot(INVSLOT_BACK)
commented

Dump: value=C_Engraving.GetRuneForEquipmentSlot(INVSLOT_BACK)
[1]={
equipmentSlot=16,
learnedAbilitySpellIDs={
[1]=409240
},
name="Fan of Knives",
level=1,
skillLineAbilityID=49859,
iconTexture=236273,
itemEnchantmentID=7242
}

commented

Similar issue here for Paladin:
Dump: value=C_Engraving.GetRuneForEquipmentSlot(INVSLOT_BACK) [1]={ equipmentSlot=16, learnedAbilitySpellIDs={ [1]=458856 }, name="Divine Light", level=1, skillLineAbilityID=48633, iconTexture=145981, itemEnchantmentID=7562 }

commented

Apologies, I ended up busy all day. I'm glad others were around to provide you with in-game info. Here's what I get from, /dump (GetInventoryItemBroken("player", INVSLOT_BACK)),

[1]=false

Seems logical (no pun intended), the cloak isn't broken, ever.

commented

Yeah so all the info is correct once you are in the game. All that you have provided me suggests you should get no prompt for back slot.

Out of curiosity did you guys empty your Cache folder when the patch dropped?
\_classic_era_\Cache\ is safe to empty out, it get repopulated with fresh spell and item data from the server when you next start the game.
It is actually recommended after a patch or server hotfix has been applied to the game.

On the actual issue It'll be hard for me to troubleshoot properly without getting a rune myself so apologies in advance for the delay.

All the info you have provided me says that you should get no prompt.

/run RuneSets.utils.CheckRuneSlots()

If you run this manually once you are fully loaded into the game and get no prompt then I can only assume that the cloak does not provide correct information early in the loading process.

I could add an artificial delay to the first check and upload a version for you to test.

commented

The strange thing is that is exactly what it should return when you do have a rune applied.

The addon does a series of checks before popping up a prompt

  1. Do we know any runes for that specific slot?
  2. Do we have an item equipped in that slot? (that is not broken)
  3. If 1 + 2 are true check if a rune is applied (this is the script I had you run and it returns the rune applied)
  4. Only if 1 + 2 and not 3 should it show a prompt.

So as the game returns the proper information I'm left to think it's a timing issue for the back slot only.
So the game does not return proper information as early as P_E_W when the first check happens. Which is just as the player gets out of the loading screen.

Can you also do me a favor and see what this script prints? (in case cloak not having durability messes things up)

/dump (GetInventoryItemBroken("player", INVSLOT_BACK))
commented

Appreciate everyone's patience with this.
So apparently if you try to filter to a category that is out of bounds (for example mainhand - 16 which is not yet in the game) the UI will filter to the highest category available instead of erroring (which atm is 15 - back)

So what seems to happen here is the mainhand checks failing causes the popup to show for the back instead.

The simplest solution is to remove the mainhand check, but it really grinds my ⚙️ why it would fail.
I don't get a popup in my L50 (no cloak runes discovered, not played for a couple months) so it does skip over mainhand properly as "not yet implemented".

commented

Can any of you experiencing this issue do these for my peace of mind.

  1. Empty your \_classic_era_\Cache\ Do not worry about side-effects there are no game / addon settings stored there.
  2. Reload / Restart the game.
  3. With a main hand or 2-hand equipped run these scripts in order and tell me what they print
/dump C_Engraving.IsEquipmentSlotEngravable(INVSLOT_MAINHAND)

should print "false"

/dump #C_Engraving.GetRunesForCategory(INVSLOT_MAINHAND, true)

should print "0"

Can you test https://github.com/Road-block/RuneSets/releases/latest (1.2.7)

commented

When i log in i get a repeated message
RuneSets: Main Hand item equipped without a Rune

image

Running /run RuneSets.utils.CheckRuneSlots() opens the runeslot UI to

image

commented

@Road-block removed mainhand from ordered slots and it stopped poping the check for MH

image

commented

That both makes sense and no sense at all.
Blizzard quality assurance ™️

The addon checks that both the slot is engravable and that you already know an engraving in that category.
So it shouldn't popup anything for MH until it's put in the game (P5?)

What does

/dump #C_Engraving.GetRunesForCategory(INVSLOT_MAINHAND, true)

return?

commented

Since no movement for a couple days I'm going to assume 1.2.7 fixed it :)