Compare commits

...

17 Commits

Author SHA1 Message Date
118aa0f493 Updated TOC to 8.1 2019-01-12 17:33:29 -06:00
48ee6c0270 Updated changelog 2018-10-03 08:21:58 -05:00
395de299f0 Fixed shard numeric formatting incorrectly in non-Destruction specs 2018-10-03 08:20:30 -05:00
588ba76ef5 Possible fix for reported nil comparison issue. Can't reproduce here. 2018-10-02 09:02:59 -05:00
9fc64bcfe4 Added suggested CC spells 2018-09-19 16:35:13 -05:00
a4945641fb Updated changelog 2018-09-15 14:51:59 -05:00
195b7ab264 Only show placeholder icon when in config mode 2018-09-15 14:50:33 -05:00
410cc2b634 Fixed CD bars not displaying when both IgnoreRange and OnlyShowWithTarget were set 2018-09-12 22:06:33 -05:00
6986131d73 Only show placeholder icon when in config mode
If a CD bar was tracking a spell that was currently unknown to the player (such as the not-currently-active variations of Wildfire Bomb for Survival Hunters after first login/UI reload) then the placeholder frost icon would show up instead. The icon was only meant to be used to aid in configuration mode, so now the icon is set to the placeholder icon when config mode is enabled only. Technically we should clear the icon if it's set to the default whenever config mode is exited, but I figure config mode is pretty rare and should be okay for now.
2018-09-12 21:59:29 -05:00
43aff89b5c Updated changelog 2018-08-30 16:48:33 -05:00
b3a1602d6c Hide lag bar if lag is over half the cast time 2018-08-27 22:57:33 -05:00
c558010b25 Updated changelog 2018-08-27 21:02:05 -05:00
af42f4a4f3 Added option (enabled by default) to hide mod during shell games 2018-08-27 20:48:30 -05:00
ccdabc210c Added HasDebuffs utility method 2018-08-27 20:48:13 -05:00
32e2ce3902 Added Rogue Between the Eyes stun 2018-08-24 00:04:56 -05:00
9764694568 Updated changelog 2018-08-18 14:56:01 -05:00
337bd72545 Fix cast lag indicator updating for others' spells 2018-08-18 14:55:22 -05:00
13 changed files with 104 additions and 23 deletions

View File

@ -94,6 +94,7 @@ function IceCore.prototype:SetupDefaults()
bHideDuringPetBattles = true,
bHideInBarberShop = true,
bHideDuringShellGame = true,
},
global = {
lastRunVersion = 0,
@ -254,6 +255,7 @@ function IceCore.prototype:Enable(userToggle)
self.IceHUDFrame:RegisterEvent("PET_BATTLE_OVER")
self.IceHUDFrame:RegisterEvent("BARBER_SHOP_OPEN")
self.IceHUDFrame:RegisterEvent("BARBER_SHOP_CLOSE")
self.IceHUDFrame:RegisterEvent("UNIT_AURA")
self.IceHUDFrame:SetScript("OnEvent", function(self, event, ...)
if (event == "PET_BATTLE_OPENING_START") then
if IceHUD.IceCore.settings.bHideDuringPetBattles then
@ -271,6 +273,15 @@ function IceCore.prototype:Enable(userToggle)
if IceHUD.IceCore.settings.bHideInBarberShop then
self:Show()
end
elseif (event == "UNIT_AURA") then
local unit = ...
if IceHUD.IceCore.settings.bHideDuringShellGame and unit == "player" and IceHUD:HasDebuffs("player", {271571})[1] and UnitInVehicle("player") then
self:RegisterEvent("UNIT_EXITED_VEHICLE")
self:Hide()
end
elseif (event == "UNIT_EXITED_VEHICLE") then
self:UnregisterEvent("UNIT_EXITED_VEHICLE")
self:Show()
end
end)

View File

@ -437,7 +437,7 @@ end
do
local retval = {}
function IceHUD:HasBuffs(unit, spellIDs)
function IceHUD:HasBuffs(unit, spellIDs, filter)
for i=1, #spellIDs do
retval[i] = false
end
@ -445,9 +445,9 @@ do
local i = 1
local name, _, texture, applications, _, _, _, _, _, _, auraID
if IceHUD.WowVer < 80000 then
name, _, texture, applications, _, _, _, _, _, _, auraID = UnitAura(unit, i)
name, _, texture, applications, _, _, _, _, _, _, auraID = UnitAura(unit, i, filter)
else
name, texture, applications, _, _, _, _, _, _, auraID = UnitAura(unit, i)
name, texture, applications, _, _, _, _, _, _, auraID = UnitAura(unit, i, filter)
end
while name do
for i=1, #spellIDs do
@ -459,14 +459,18 @@ do
i = i + 1
if IceHUD.WowVer < 80000 then
name, _, texture, applications, _, _, _, _, _, _, auraID = UnitAura(unit, i)
name, _, texture, applications, _, _, _, _, _, _, auraID = UnitAura(unit, i, filter)
else
name, texture, applications, _, _, _, _, _, _, auraID = UnitAura(unit, i)
name, texture, applications, _, _, _, _, _, _, auraID = UnitAura(unit, i, filter)
end
end
return retval
end
function IceHUD:HasDebuffs(unit, spellIDs, filter)
return IceHUD:HasBuffs(unit, spellIDs, filter and filter.."|HARMFUL" or "HARMFUL")
end
end
function IceHUD:OnDisable()

View File

@ -1,4 +1,4 @@
## Interface: 80000
## Interface: 80100
## Author: Parnic, originally created by Iceroth
## Name: IceHUD
## Title: IceHUD |cff7fff7f-Ace3-|r

View File

@ -1,4 +1,4 @@
## Interface: 80000
## Interface: 80100
## Title: IceHUD |cff7fff7f-Options-|r
## Author: Parnic
## Version: @project-version@

View File

@ -398,6 +398,23 @@ Blizzard added a "Personal Resource Display" feature in the 7.0 game client. You
end,
order = 35,
},
bHideDuringShellGame = {
type = 'toggle',
name = L["Hide during shell game"],
desc = L["This will hide the entire mod when playing the BfA Tortollan shell game world quest."],
width = 'double',
get = function()
return IceHUD.IceCore.settings.bHideDuringShellGame
end,
set = function(info, value)
IceHUD.IceCore.settings.bHideDuringShellGame = value
if not value then
IceHUD.IceCore.IceHUDFrame:Show()
end
end,
order = 36,
},
}
},

View File

@ -1,3 +1,23 @@
v1.11.8:
- Updated TOC to 8.1
v1.11.7:
- Fixed Warlock shard numeric formatting incorrectly in non-Destruction specs.
- Possibly fixed reported bug with Brewmaster Monks' Stagger bars.
- Added several spells to be tracked in the CC modules.
v1.11.6:
- Only show placeholder icon on custom bars when in configuration mode (fixes placeholder icon showing up for abilities the player hasn't enabled yet, like Survival Hunter's Bombs).
- Fixed Custom Cooldown bars not displaying properly when both "ignore range" and "only show with target" were checked.
v1.11.5:
- Added Rogue's Between the Eyes stun to the CC stun bar list.
- Added option (enabled by default) to hide mod during shell games.
- Packaged new LibDogTag-Unit to fix hostile NPC class names displaying in all caps.
v1.11.4:
- Fixed cast lag indicator updating randomly mid-cast.
v1.11.3:
- Balance druids with Nature's Wrath now treat 50-100 astral power as full for alpha purposes (so the bar will fade to "out of combat" levels when resting around 50%).
- Fixed the GCD and player castbar lag indicator to show up again.

View File

@ -455,7 +455,7 @@ end
function CastBar.prototype:SpellCastSucceeded(event, unit, castGuid, spellId)
CastBar.super.prototype.SpellCastSucceeded(self, event, unit, castGuid, spellId)
if not self.actionDuration then
if not self.actionDuration or unit ~= self.unit then
return
end
@ -477,7 +477,7 @@ function CastBar.prototype:UpdateLagBar(isChannel)
scale = IceHUD:Clamp(self.fixedLatency / self.actionDuration, 0, 1)
else
local lag = now - (self.spellCastSent or now)
if lag >= self.actionDuration then
if lag >= (self.actionDuration / 2) then
scale = 0
else
scale = IceHUD:Clamp(lag / self.actionDuration, 0, 1)

View File

@ -169,8 +169,6 @@ function IceCustomBar.prototype:CreateBar()
if not self.barFrame.icon then
self.barFrame.icon = self.masterFrame:CreateTexture(nil, "LOW")
-- default texture so that 'config mode' can work without activating the bar first
self.barFrame.icon:SetTexture("Interface\\Icons\\Spell_Frost_Frost")
-- this cuts off the border around the buff icon
self.barFrame.icon:SetTexCoord(0.1, 0.9, 0.1, 0.9)
self.barFrame.icon:SetDrawLayer("OVERLAY")
@ -635,7 +633,7 @@ end
-- 'Protected' methods --------------------------------------------------------
function IceCustomBar.prototype:GetAuraDuration(unitName, buffName)
if not unitName or not buffName then
if not unitName or not buffName or buffName == "" then
return nil
end
@ -776,6 +774,10 @@ function IceCustomBar.prototype:UpdateCustomBar(unit, fromUpdate)
end
if IceHUD.IceCore:IsInConfigMode() or self.moduleSettings.displayAuraIcon then
if IceHUD.IceCore:IsInConfigMode() and not self.barFrame.icon:GetTexture() then
self.barFrame.icon:SetTexture("Interface\\Icons\\Spell_Frost_Frost")
end
self.barFrame.icon:Show()
else
self.barFrame.icon:Hide()

View File

@ -132,8 +132,6 @@ function IceCustomCDBar.prototype:CreateBar()
if not self.barFrame.icon then
self.barFrame.icon = self.masterFrame:CreateTexture(nil, "LOW")
-- default texture so that 'config mode' can work without activating the bar first
self.barFrame.icon:SetTexture("Interface\\Icons\\Spell_Frost_Frost")
-- this cuts off the border around the buff icon
self.barFrame.icon:SetTexCoord(0.1, 0.9, 0.1, 0.9)
self.barFrame.icon:SetDrawLayer("OVERLAY")
@ -675,6 +673,9 @@ function IceCustomCDBar.prototype:UpdateIcon()
end
if IceHUD.IceCore:IsInConfigMode() or self.moduleSettings.displayAuraIcon then
if not self.barFrame.icon:GetTexture() and IceHUD.IceCore:IsInConfigMode() then
self.barFrame.icon:SetTexture("Interface\\Icons\\Spell_Frost_Frost")
end
self.barFrame.icon:Show()
else
self.barFrame.icon:Hide()
@ -694,7 +695,10 @@ function IceCustomCDBar.prototype:UpdateItemUnitInventoryChanged(event, unit)
end
end
function IceCustomCDBar.prototype:UpdateCustomBarEvent()
function IceCustomCDBar.prototype:UpdateCustomBarEvent(event, unit)
if unit ~= self.unit then
return
end
if not self.moduleSettings.cooldownType or self.moduleSettings.cooldownType == COOLDOWN_TYPE_SPELL then
self:UpdateCustomBar()
end
@ -722,6 +726,8 @@ function IceCustomCDBar.prototype:UpdateCustomBar(fromUpdate)
else
self.cooldownEndTime = remaining + now
end
self:UpdateIcon()
end
if self.cooldownEndTime and self.cooldownEndTime >= now then
@ -796,7 +802,9 @@ function IceCustomCDBar.prototype:IsReady()
local checkSpell = self:GetSpellNameOrId(self.moduleSettings.cooldownToTrack)
if (IsUsableSpell(checkSpell)) then
if (not self.moduleSettings.bIgnoreRange and SpellHasRange(checkSpell)) or (self.moduleSettings.bOnlyShowWithTarget) then
if self.moduleSettings.bIgnoreRange and self.moduleSettings.bOnlyShowWithTarget then
is_ready = UnitExists("target") and 1 or nil
elseif (not self.moduleSettings.bIgnoreRange and SpellHasRange(checkSpell)) or (self.moduleSettings.bOnlyShowWithTarget) then
if (UnitExists("target") and (not SpellHasRange(checkSpell) or IsSpellInRange(checkSpell, "target") == 1))
or (not UnitExists("target") and not self.moduleSettings.bOnlyShowWithTarget and IsSpellInRange(checkSpell, "player")) then
is_ready = 1

View File

@ -278,7 +278,6 @@ function IceCustomCounterBar.prototype:CreateFrame()
if not self.barFrame.icon then
self.barFrame.icon = self.masterFrame:CreateTexture(nil, "LOW")
self.barFrame.icon:SetTexture(DefaultAuraIcon)
self.barFrame.icon:SetTexCoord(0.1, 0.9, 0.1, 0.9)
self.barFrame.icon:SetDrawLayer("OVERLAY")
self.barFrame.icon:Hide()
@ -306,10 +305,6 @@ function IceCustomCounterBar.prototype:UpdateAuraIcon()
local auraIcon, _
_, _, auraIcon = GetSpellInfo(self.moduleSettings.auraName)
if auraIcon == nil then
auraIcon = "Interface\\Icons\\Spell_Frost_Frost"
end
self.barFrame.icon:SetTexture(auraIcon)
end
@ -319,6 +314,10 @@ function IceCustomCounterBar.prototype:UpdateCustomCount()
local percent = IceHUD:Clamp(1.0 * points / (max > 0 and max or 1), 0, 1)
if IceHUD.IceCore:IsInConfigMode() then
if not self.barFrame.icon:GetTexture() then
self.barFrame.icon:SetTexture(DefaultAuraIcon)
end
points = IceStackCounter_GetMaxCount(self)
percent = 1
self.barFrame.icon:Show()

View File

@ -67,7 +67,7 @@ function ShardCounter.prototype:Enable(core)
if IceHUD.WowVer >= 70000 then
self.numRunes = UnitPowerMax(self.unit, self.unitPower)
if GetSpecialization() == SPEC_WARLOCK_DESTRUCTION then
if IceHUD.WowVer >= 80000 or GetSpecialization() == SPEC_WARLOCK_DESTRUCTION then
self.shouldShowUnmodified = true
self.numericFormat = "%.1f"
self.round = floor

View File

@ -166,7 +166,7 @@ end
function StaggerBar.prototype:GetDebuffInfo()
if IceHUD.WowVer >= 70000 then
self.amount = UnitStagger(self.unit)
self.amount = UnitStagger(self.unit) or 0
self.staggerLevel = 1
local healthMax = UnitHealthMax(self.unit)

View File

@ -53,6 +53,8 @@ local StunCCList = {
105593,
-- Remorseless Winter
115001,
-- Between the Eyes
199804,
}
local IncapacitateCCList = {
@ -78,6 +80,14 @@ local IncapacitateCCList = {
28271,
-- Polymorph: Penguin
59634,
-- Polymorph: Monkey
161354,
-- Polymorph: Polar Bear Cub
120137,
-- Polymorph: Porcupine
120140,
-- Polymorph: Direhorn
162625,
-- Hibernate
2637,
-- Freezing Trap Effect
@ -113,6 +123,16 @@ local FearCCList = {
5246,
-- Hex
51514,
-- Hex: Compy
210873,
-- Hex: Wicker Mongrel
277784,
-- Hex: Zandalari Tendonripper
277778,
-- Hex: Spider
211004,
-- Hex: Skeletal Hatchling
269352,
-- Scare Beast
1513,
}