Compare commits

...

12 Commits

Author SHA1 Message Date
8858459b10 Disable Runes Hide Blizzard option
This is no longer functional in 10.0 and I can't find an easy replacement, so I'm removing the functionality for 10.0+ for now. The entire player frame can still be hidden, which also hides the runes, so I don't feel like this is super critical to have.

Fixes #26
2022-10-27 08:56:53 -05:00
86e40187a2 Update Party hide feature for 10.0 compatibility 2022-10-25 22:42:46 -05:00
62bcc17ed6 Increase TOC to 10.0 2022-10-25 21:43:46 -05:00
52c9b51e8d Temp fix for error in 10.0
I need to find the new way to disable party frames, but this gets the addon loaded for now.
2022-10-25 21:43:13 -05:00
aa03a0b332 Add support for max power changing
Evokers can spec into an additional Essence, so we need to handle the power counter increasing/decreasing. This was a fundamental change to the class power counter, so I'm sure something else broke somewhere. A casual glance at other classes/specs seems fine, though...
2022-10-25 21:43:05 -05:00
3017b5dd18 Rename Anima Charged to Charged
Charged combo points are still a thing, but they're no longer called "Anima-charged" or relate to Kyrian.
2022-10-25 21:42:32 -05:00
1f54f7d41d Use new player castbar frame name 2022-10-25 21:42:13 -05:00
5b73d3b35f Update to correct LibDogTag url 2022-10-04 22:36:41 -05:00
decb0017f3 Update changelog 2022-10-04 22:33:35 -05:00
a32b75bf44 Update to latest packager example 2022-09-22 11:01:21 -05:00
6c506579be Add Wago packaging support 2022-09-22 10:46:11 -05:00
701fb1373f Fix Runes disappearing for DK on Wrath
MaxPower events fire, but I guess only Legion+ actually returns rune counts from this function. On Wrath it always returns 0, so the CheckMaxNumRunes logic was hiding all runes.
2022-09-20 14:27:31 -05:00
12 changed files with 125 additions and 58 deletions

View File

@ -23,6 +23,7 @@ jobs:
env:
CF_API_KEY: ${{ secrets.CF_API_KEY }}
WOWI_API_TOKEN: ${{ secrets.WOWI_API_TOKEN }}
WAGO_API_TOKEN: ${{ secrets.WAGO_API_TOKEN }}
GITHUB_OAUTH: ${{ secrets.GITHUB_TOKEN }} # "GITHUB_TOKEN" is a secret always provided to the workflow
# for your own token, the name cannot start with "GITHUB_"
@ -31,25 +32,27 @@ jobs:
# we first have to clone the AddOn project, this is a required step
- name: Clone project
uses: actions/checkout@v1
uses: actions/checkout@v3
with:
fetch-depth: 0 # gets git history for changelogs
# once cloned, we just run the GitHub Action for the packager project
- name: Package and release
uses: BigWigsMods/packager@master
uses: BigWigsMods/packager@v2
# another example where we supply additional arguments, this example is specifically to release
# for the Classic version of the game
- name: Package and release for Classic
uses: BigWigsMods/packager@master
uses: BigWigsMods/packager@v2
with:
args: -g classic -w 0
- name: Package and release for TBC
uses: BigWigsMods/packager@master
uses: BigWigsMods/packager@v2
with:
args: -g bcc -w 0
- name: Package and release for Wrath
uses: BigWigsMods/packager@master
uses: BigWigsMods/packager@v2
with:
args: -g wrath -w 0

View File

@ -43,9 +43,9 @@ externals:
url: svn://svn.wowace.com/wow/libsharedmedia-3-0/mainline/trunk
tag: latest
libs/LibDogTag-3.0:
url: git://git.wowace.com/wow/libdogtag-3-0/mainline.git
url: https://github.com/parnic/LibDogTag-3.0
libs/LibDogTag-Unit-3.0:
url: git://git.wowace.com/wow/libdogtag-unit-3-0/mainline.git
url: https://github.com/parnic/LibDogTag-Unit-3.0
libs/LibDBIcon-1.0:
url: svn://svn.wowace.com/wow/libdbicon-1-0/mainline/trunk/LibDBIcon-1.0
libs/LibDualSpec-1.0:

View File

@ -1,5 +1,5 @@
## Interface: 90207
## Interface-Retail: 90207
## Interface: 100000
## Interface-Retail: 100000
## Interface-Classic: 11403
## Interface-BCC: 20504
## Interface-Wrath: 30400
@ -19,6 +19,7 @@
## X-Website: https://www.wowace.com/projects/ice-hud
## X-Curse-Project-ID: 5394
## X-WoWI-ID: 8149
## X-Wago-ID: 5bGolJN0
#@no-lib-strip@
# Libraries

View File

@ -1,5 +1,5 @@
## Interface: 90207
## Interface-Retail: 90207
## Interface: 100000
## Interface-Retail: 100000
## Interface-Classic: 11403
## Interface-BCC: 20504
## Interface-Wrath: 30400

View File

@ -1,5 +1,13 @@
# Changelog
v1.13.17.3:
- Packaged latest LibDogTag-Unit to work around crash in Wrath Classic client.
v1.13.17.2:
- Fixed Runes disappearing for Death Knights on Wrath Classic when using the dual spec feature.
v1.13.17.1:
- Fixed Priests hanging on login on the retail client.

View File

@ -3,6 +3,11 @@ local CastBar = IceCore_CreateClass(IceCastBar)
local IceHUD = _G.IceHUD
local CastingBarFrame = CastingBarFrame
if not CastingBarFrame then
CastingBarFrame = PlayerCastingBarFrame
end
CastBar.prototype.spellCastSent = nil
-- Constructor --

View File

@ -468,6 +468,9 @@ function IceClassPowerCounter.prototype:DisplayCounter()
self:RegisterEvent(IceHUD.UnitPowerEvent, "UpdateRunePower")
self:RegisterEvent("UNIT_DISPLAYPOWER", "UpdateRunePower")
self:RegisterEvent("PLAYER_ENTERING_WORLD", "EnteringWorld")
if IceHUD.EventExistsUnitMaxPower then
self:RegisterEvent("UNIT_MAXPOWER", "UpdateRunePower")
end
if (self.moduleSettings.hideBlizz) then
self:HideBlizz()
@ -497,8 +500,22 @@ function IceClassPowerCounter.prototype:UpdateRunePower(event, arg1, arg2)
if IceHUD.WowVer >= 70000 then
local numMax = UnitPowerMax(self.unit, self.unitPower)
if numMax ~= self.numRunes then
local oldMax = self.numRunes
self.numRunes = numMax
self:CreateFrame()
self:SetDisplayMode()
for i=self.numRunes+1, oldMax do
if self.frame.graphical[i] then
self.frame.graphical[i]:Hide()
end
end
for i=oldMax+1, self.numRunes do
if self:GetRuneMode() ~= "Numeric" then
self.frame.graphical[i]:Show()
end
self:HideRune(i)
end
end
end
@ -567,11 +584,7 @@ function IceClassPowerCounter.prototype:UpdateRunePower(event, arg1, arg2)
end
end
else
if self.moduleSettings.inactiveDisplayMode == "Darkened" then
self.frame.graphical[i].rune:SetVertexColor(0, 0, 0)
elseif self.moduleSettings.inactiveDisplayMode == "Hidden" then
self.frame.graphical[i]:Hide()
end
self:HideRune(i)
end
end
end
@ -592,6 +605,19 @@ function IceClassPowerCounter.prototype:UpdateRunePower(event, arg1, arg2)
end
end
function IceClassPowerCounter.prototype:HideRune(i)
if self:GetRuneMode() == "Numeric" then
self.frame.graphical[i].Hide()
return
end
if self.moduleSettings.inactiveDisplayMode == "Darkened" then
self.frame.graphical[i].rune:SetVertexColor(0, 0, 0)
elseif self.moduleSettings.inactiveDisplayMode == "Hidden" then
self.frame.graphical[i]:Hide()
end
end
function IceClassPowerCounter.prototype:StartRunesFullAnimation()
if not self.AnimUpdate then
self.AnimUpdate = function() self:UpdateRuneAnimation() end
@ -717,6 +743,9 @@ function IceClassPowerCounter.prototype:CreateRuneFrame()
for i=1, self.numRunes do
self:CreateRune(i)
end
for i=self.numRunes+1, #self.frame.graphical do
self.frame.graphical[i]:Hide()
end
end
function IceClassPowerCounter.prototype:CreateRune(i)
@ -758,7 +787,13 @@ function IceClassPowerCounter.prototype:CreateRune(i)
end
end
function IceClassPowerCounter.prototype:SetupNewRune(rune)
end
function IceClassPowerCounter.prototype:SetupRuneTexture(rune)
if rune > #self.runeCoords then
self:SetupNewRune(rune)
end
if not rune or rune < 1 or rune > #self.runeCoords then
return
end

View File

@ -21,7 +21,7 @@ function ComboPoints.prototype:init()
if AnticipationExists then
self:SetDefaultColor("AnticipationPoints", 1, 0, 1)
end
self:SetDefaultColor("KyrianAnimaComboPoint", 0.3137254901960784, 0.3725490196078432, 1)
self:SetDefaultColor("ChargedComboPoint", 0.3137254901960784, 0.3725490196078432, 1)
self.scalingEnabled = true
end
@ -222,16 +222,16 @@ function ComboPoints.prototype:GetOptions()
order = 35
}
opts["bShowAnimaCharged"] = {
opts["bShowCharged"] = {
type = 'toggle',
width = 'double',
name = L["Show Anima-charged points"],
desc = L["Whether or not to color an anima-charged combo point a separate color. Set the KyrianAnimaComboPoint color to the color you would like it to be."],
name = L["Show Charged points"],
desc = L["Whether or not to color a charged combo point a separate color. Set the ChargedComboPoint color to the color you would like it to be."],
get = function()
return self.moduleSettings.bShowAnimaCharged
return self.moduleSettings.bShowCharged
end,
set = function(info, v)
self.moduleSettings.bShowAnimaCharged = v
self.moduleSettings.bShowCharged = v
self:UpdateChargedComboPoints()
end,
disabled = function()
@ -261,7 +261,7 @@ function ComboPoints.prototype:GetDefaultSettings()
defaults["comboGap"] = 0
defaults["showAnticipation"] = true
defaults["bShowWithNoTarget"] = true
defaults["bShowAnimaCharged"] = true
defaults["bShowCharged"] = true
return defaults
end
@ -440,8 +440,8 @@ function ComboPoints.prototype:CreateComboFrame(forceTextureUpdate)
g = g - ((1 / maxComboPoints)*i)
end
if self.moduleSettings.bShowAnimaCharged and self:IsAnimaChargedPoint(i) then
self.frame.graphical[i].texture:SetVertexColor(self:GetColor("KyrianAnimaComboPoint"))
if self.moduleSettings.bShowCharged and self:IsChargedPoint(i) then
self.frame.graphical[i].texture:SetVertexColor(self:GetColor("ChargedComboPoint"))
else
self.frame.graphical[i].texture:SetVertexColor(r, g, b)
end
@ -489,7 +489,7 @@ function ComboPoints.prototype:CreateComboFrame(forceTextureUpdate)
end
end
function ComboPoints.prototype:IsAnimaChargedPoint(point)
function ComboPoints.prototype:IsChargedPoint(point)
if not self.chargedPowerPoints then
return false
end

View File

@ -142,7 +142,9 @@ function ComboPointsBar.prototype:UpdateComboPoints(...)
end
self:SetBottomText1(points or "0")
self:SetBottomText2(self.chargedPowerPointIndex)
if self.chargedPowerPointIndex then
self:SetBottomText2(self.chargedPowerPointIndex)
end
end
function ComboPointsBar.prototype:Update()

View File

@ -10,6 +10,7 @@ PlayerHealth.prototype.absorbAmount = 0
local configMode = false
local HealComm
local incomingHealAmt = 0
local groupEvent = IceHUD.EventExistsGroupRosterUpdate and "GROUP_ROSTER_UPDATE" or "PARTY_MEMBERS_CHANGED"
-- Constructor --
function PlayerHealth.prototype:init()
@ -81,11 +82,7 @@ function PlayerHealth.prototype:Enable(core)
self:RegisterEvent("PLAYER_REGEN_DISABLED", "CheckCombat")
self:RegisterEvent("PARTY_LEADER_CHANGED", "CheckLeader")
if IceHUD.EventExistsGroupRosterUpdate then
self:RegisterEvent("GROUP_ROSTER_UPDATE", "CheckLeader")
else
self:RegisterEvent("PARTY_MEMBERS_CHANGED", "CheckLeader")
end
self:RegisterEvent(groupEvent, "CheckLeader")
if GetLFGProposal then
self:RegisterEvent("LFG_PROPOSAL_UPDATE", "CheckPartyRole")
self:RegisterEvent("LFG_PROPOSAL_FAILED", "CheckPartyRole")
@ -1427,37 +1424,34 @@ function PlayerHealth.prototype:HideBlizzardParty()
return
end
-- Both Pitbull 4 and Xperl use these exact code, so we use it too.
for i = 1, MAX_PARTY_MEMBERS do
local party = _G['PartyMemberFrame'..i]
party:UnregisterAllEvents()
party:Hide()
party.Show = function() end
if PartyFrame then
PartyFrame:Hide()
PartyFrame:UnregisterEvent(groupEvent)
else
for i = 1, MAX_PARTY_MEMBERS do
local frame = _G["PartyMemberFrame" .. i]
frame:SetAttribute("statehidden", true)
hook_frames(frame)
end
UIParent:UnregisterEvent(groupEvent)
end
UIParent:UnregisterEvent('RAID_ROSTER_UPDATE')
end
function PlayerHealth.prototype:ShowBlizzardParty()
-- Both Pitbull 4 and Xperl use these exact code, so we use it too.
for i = 1, MAX_PARTY_MEMBERS do
local frame = _G["PartyMemberFrame"..i]
if frame then
frame.Show = nil
frame:GetScript("OnLoad")(frame)
if IceHUD.WowVer >= 50000 then
frame:GetScript("OnEvent")(frame, "GROUP_ROSTER_UPDATE")
else
frame:GetScript("OnEvent")(frame, "PARTY_MEMBERS_CHANGED")
end
PartyMemberFrame_UpdateMember(frame)
if PartyFrame then
PartyFrame:Show()
PartyFrame:Layout()
PartyFrame:RegisterEvent(groupEvent)
else
for i = 1, MAX_PARTY_MEMBERS do
local frame = _G["PartyMemberFrame" .. i]
frame:SetAttribute("statehidden", nil)
unhook_frames(frame)
frame:GetScript("OnEvent")(frame, groupEvent)
end
UIParent:RegisterEvent(groupEvent)
end
UIParent:RegisterEvent("RAID_ROSTER_UPDATE")
end
--function PlayerHealth.prototype:ShowBlizzParty()

View File

@ -3,6 +3,8 @@ local Runes = IceCore_CreateClass(IceElement)
local IceHUD = _G.IceHUD
local RunesReturnedByMaxPower = IceHUD.WowVer >= 70000
local CooldownFrame_SetTimer = CooldownFrame_SetTimer
if CooldownFrame_Set then
CooldownFrame_SetTimer = CooldownFrame_Set
@ -132,6 +134,9 @@ function Runes.prototype:GetOptions()
disabled = function()
return not self.moduleSettings.enabled
end,
hidden = function()
return not PlayerFrame_HideVehicleTexture
end,
order = 32
}
@ -265,7 +270,7 @@ end
-- OVERRIDE
function Runes.prototype:Enable(core)
if IceHUD.WowVer >= 70000 then
if RunesReturnedByMaxPower then
self.numRunes = UnitPowerMax("player", SPELL_POWER_RUNES)
end
@ -283,7 +288,9 @@ function Runes.prototype:Enable(core)
self:RegisterEvent("PLAYER_SPECIALIZATION_CHANGED", "UpdateRuneColors")
end
self:RegisterEvent("PLAYER_ENTERING_WORLD", "EnteringWorld")
self:RegisterEvent("UNIT_MAXPOWER", "CheckMaxNumRunes")
if RunesReturnedByMaxPower then
self:RegisterEvent("UNIT_MAXPOWER", "CheckMaxNumRunes")
end
if (self.moduleSettings.hideBlizz) then
self:HideBlizz()
@ -577,6 +584,10 @@ local function hook_playerframe()
end
function Runes.prototype:HideBlizz()
if not PlayerFrame_HideVehicleTexture then
return
end
RuneFrame:Hide()
RuneFrame:UnregisterAllEvents()

View File

@ -1,5 +1,13 @@
# Changelog
v1.13.17.3:
- Packaged latest LibDogTag-Unit to work around crash in Wrath Classic client.
v1.13.17.2:
- Fixed Runes disappearing for Death Knights on Wrath Classic when using the dual spec feature.
v1.13.17.1:
- Fixed Priests hanging on login on the retail client.