
molten armor for SoD mage
quinn-dougherty opened this issue ยท 10 comments
In general, more configurability would be awesome, but I realize that wouldn't be a quick fix.
What do you have in mind? What configurability? I only can have it on or off, and if its off, its casted.
is it just removing one line?
Wait a second, this is Season of D, and they added molten armor? I stopped following SoD for a few months.
So yes, you just remove :RequireTBC()
in AllSpellsMage.lua
for molten armor
The spell ID has changed it seems, from wowhead i can find
428741 https://www.wowhead.com/classic/spell=428741/molten-armor
and 409307 https://www.wowhead.com/classic/spell=429307/molten-armor
are you recommending that I put my fork in my Interface/AddOns
dir, or would you like a PR upstream to here?
Sadly there's no quick way for me to test this, my mage in SoD is 16 and i don't have plans to level it. Min level for emerald wardens is 23 though, not too far off
if it works for you i'd have either a PR, or a code snippet to paste and commit, but then your name will not be in the commits history :) can put it in the code comment though
I got my fork up and running in my personal WoW build, but Molten Armor didn't show up as an option. Perhaps bom
isn't reading the rune tab of the spellbook?
No it doesn't, if the spell doesn't appear as a learned spell, BOM has no idea that the spell is available (and no idea how to cast it, standard macro /cast which BOM uses doesn't seem to work either). I might need some advice how to read that.
It is quite silly, you can use armor slot, like /use Legs Rune Ability
but that's not cool with BOM.
Not sure how active this is, but any chance you'll take a look at this any time soon? I play a mage in SoD as well.
I've been fixing some stuff for my warlock (Fel Armor, easy, just remove the :RequireTBC()
as mentioned above!), and then I tried getting Summon Felguard to work and I ended up here!
Looks like getting the runes equipped isn't too bad, I found a WeakAura just listing them that grabs them by handling RUNE_UPDATED and PLAYER_EQUIPMENT_CHANGED.
-- events: RUNE_UPDATED, PLAYER_EQUIPMENT_CHANGED
aura_env.onEvent = function(states, event, ...)
if C_Engraving and C_Engraving.IsEngravingEnabled() then
local categories = C_Engraving.GetRuneCategories(false, true)
for _, category in pairs(categories) do
local rune = C_Engraving.GetRuneForEquipmentSlot(category)
if rune then
states[category] = {
show = true,
changed = true,
unit = "player",
name = rune.name,
shortName = aura_env.shortenString(rune.name),
icon = rune.iconTexture,
slot = GetItemInventorySlotInfo(rune.equipmentSlot),
}
else
states[category] = {
show = false,
changed = true,
}
end
end
return true
end
end
https://warcraft.wiki.gg/wiki/API_C_Engraving.GetRuneForEquipmentSlot returns a field named learnedAbilitySpellIDs
I'm not too familiar with this addon codebase yet, but if we handle those two events and keep a list of learned spellIDs from the currently equipped runes, that would make this work? I'm going to look into doing it this way, I'll make a PR if I get something working :)
Edit:
So I have engraved the Summon Felguard rune on my bracer, and /run print(C_Engraving.GetRuneForEquipmentSlot(9).name)
returns Summon Felguard
, which is castable with /cast Summon Felguard
/run print(C_Engraving.GetRuneForEquipmentSlot(9).learnedAbilitySpellIDs
just returns [15:36:05] table: 00000151B6BD7090
instead of a list of spellIds. Not sure if there are any addon development addons that would help me print an actual list
The problem with SoD is on several levels. 1. I do not play SoD. 2. Till today I had no idea how SoD runes and scripting work, so knowing nothing and finding nothing in google, I literally had nowhere to begin. So i just waved SoD support away.
Abilities to be casted are picked from the buff list and filtered via "IsSpellKnown" API. If equipping a rune teaches you that spell directly, then there's no problem in adding it to the buff list.
ALso, when you want to print some complex structure use /dump instead of /run print :)