3 Commits

4 changed files with 16 additions and 10 deletions
+1 -1
View File
@@ -37,7 +37,7 @@ jobs:
RID=$(curl -sf -X POST -H "Authorization: token $GITEA_TOKEN" \ RID=$(curl -sf -X POST -H "Authorization: token $GITEA_TOKEN" \
-H "Content-Type: application/json" \ -H "Content-Type: application/json" \
"$API/repos/$REPO/releases" \ "$API/repos/$REPO/releases" \
-d "$(jq -nc --arg t "$TAG" '{tag_name:$t,name:$t,draft:false,prerelease:false}')" \ -d "$(jq -nc --arg t "$TAG" '{tag_name:$t,name:$t,draft:false,prerelease:false,hide_archive_links:true}')" \
| jq -r '.id') | jq -r '.id')
fi fi
echo "release id: $RID" echo "release id: $RID"
+8 -5
View File
@@ -7,11 +7,14 @@ if not HasMultiCastActionBar then return end
local classMask = UnitClassMask("player") local classMask = UnitClassMask("player")
-- CoA: the SHAMAN/HERO mask check doesn't know about CoA custom classes -- CoA: Enum.ClassMask only knows vanilla classes (SHAMAN/HERO); custom classes
-- (e.g. Witchdoctor, which also uses the totem bar). Fall back to the -- (e.g. Witchdoctor) won't match. EnumUtil/Enum.ClassMask may also be nil on
-- game-created MultiCastActionBarFrame: if the engine produced it for this -- this client. Guard both: if the mask API is unavailable OR the player's class
-- player, we wrap it regardless of class. -- isn't in the vanilla set, fall through to the MultiCastActionBarFrame check —
if not bit.contains(EnumUtil.CombineMasks(Enum.ClassMask.SHAMAN, Enum.ClassMask.HERO), classMask) -- if the engine created the bar for this player we wrap it regardless of class.
local _vanillaMask = EnumUtil and Enum and Enum.ClassMask
and EnumUtil.CombineMasks(Enum.ClassMask.SHAMAN, Enum.ClassMask.HERO)
if _vanillaMask and not bit.contains(_vanillaMask, classMask)
and not MultiCastActionBarFrame then and not MultiCastActionBarFrame then
return return
end end
+6 -3
View File
@@ -7,9 +7,12 @@ if not HasMultiCastActionBar then return end
local classMask = UnitClassMask("player") local classMask = UnitClassMask("player")
-- CoA: see MultiCastBar.lua — same gate, same fallback so the options -- CoA: see MultiCastBar.lua — same gate, same fallback so the options panel is
-- panel is registered for custom classes (e.g. Witchdoctor) too. -- registered for custom classes (e.g. Witchdoctor) too. Guard EnumUtil /
if not bit.contains(EnumUtil.CombineMasks(Enum.ClassMask.SHAMAN, Enum.ClassMask.HERO), classMask) -- Enum.ClassMask for nil in case they are absent on this client.
local _vanillaMask = EnumUtil and Enum and Enum.ClassMask
and EnumUtil.CombineMasks(Enum.ClassMask.SHAMAN, Enum.ClassMask.HERO)
if _vanillaMask and not bit.contains(_vanillaMask, classMask)
and not MultiCastActionBarFrame then and not MultiCastActionBarFrame then
return return
end end
@@ -199,7 +199,7 @@ local function Constructor()
button:SetScript("OnKeyDown", Keybinding_OnKeyDown) button:SetScript("OnKeyDown", Keybinding_OnKeyDown)
button:SetScript("OnMouseDown", Keybinding_OnMouseDown) button:SetScript("OnMouseDown", Keybinding_OnMouseDown)
button:SetScript("OnMouseWheel", Keybinding_OnMouseWheel) button:SetScript("OnMouseWheel", Keybinding_OnMouseWheel)
button:SetScript("OnGamePadButtonDown", Keybinding_OnKeyDown) pcall(button.SetScript, button, "OnGamePadButtonDown", Keybinding_OnKeyDown)
button:SetPoint("BOTTOMLEFT") button:SetPoint("BOTTOMLEFT")
button:SetPoint("BOTTOMRIGHT") button:SetPoint("BOTTOMRIGHT")
button:SetHeight(24) button:SetHeight(24)