So, hat jetzt durch das Wochenende und Classic doch ein wenig länger gedauert, als ich erhofft hatte. Sorry!
Du könntest einmal folgenden Code-Schnipsel testen, den du auf https://addon.bool.no/ in ein kleines Addon umwandeln kannst. Einfach einen beliebigen Namen eingeben und den Code in das zweite Eingabefeld kopieren.
Die Reihenfolge der Tiergestalten wird durch die englischen Namen am Anfang festgelegt, diese könntest du einfach so anpassen, wie es dir gefällt. Dabei aber darauf achten, dass die Formatierung (Anführungszeichen & Kommas) genau so bleibt, wie sie derzeit ist
Wichtig dabei: Das ändert ausschließlich die Reihenfolge, in der diese Buttons angezeigt werden, nicht aber wie diese von Blizzard erstellt werden. Für die Tastaturbelegung musst du also weiterhin die originale Reihenfolge von Blizzard nutzen!
--[[ CONFIG ]]--
local stanceOrderByName = {
"bear",
"cat",
"moonkin",
"travel",
"treant",
"stag",
}
--[[ DONT CHANGE ANYTHING AFTER THIS ]]--
if not StanceBarFrame then return end
local oocUpdate
local data = {["bear"] = 1, ["cat"] = 2, ["travel"] = 3, ["moonkin"] = 4, ["treant"] = 5, ["stag"] = 6}
local orderFrame = CreateFrame("Frame",nil,UIParent,"SecureHandlerStateTemplate")
orderFrame:Hide()
orderFrame:SetScript("OnEvent", function(self,event)
if event == "PLAYER_REGEN_ENABLED" and not oocUpdate then
return
end
if InCombatLockdown() then
oocUpdate = true
return
end
local previousAnchor
for i = 1, #stanceOrderByName do
local f = StanceBarFrame.StanceButtons[data[stanceOrderByName[i]]]
if f then
f:ClearAllPoints()
if i == 1 then
f:SetPoint("BOTTOMLEFT", StanceBarFrame, "BOTTOMLEFT", 11, 3)
else
f:SetPoint("LEFT", previousAnchor, "RIGHT", 7, 0)
end
end
previousAnchor = f
end
oocUpdate = false
end)
orderFrame:RegisterEvent("UPDATE_SHAPESHIFT_FORMS")
orderFrame:RegisterEvent("PLAYER_REGEN_ENABLED")
orderFrame:RegisterEvent("PLAYER_LOGIN")
Ich kann leider nicht garantieren, dass das einwandfrei funktioniert. Bei meinen Tests sah das soweit gut aus, falls irgendetwas auffällt, müsste ich mich da aber nochmal etwas weiter mit beschäftigen.