mirror of
https://github.com/parnic/ice-hud.git
synced 2025-06-16 14:50:13 -05:00
First batch of WoW Classic compatibility updates
This has been tested on Classic with a Rogue up to level 5 using various modules and casually checked against a few level 1 classes. I'm sure there's a lot more to do here. I also made sure to test on Live. Where possible I tried to check for API availability rather than specific client versions or program IDs. There are many cases where that's impractical, however, so version/program ID checks were used. This was tested with: * Ace3 @r1225 * AceGUI-3.0-SharedMediaWidgets @r61 * LibDBIcon-1.0 @v8.2.0 * LibDogTag-3.0 @v80200.1 * LibDogTag-Unit-3.0 @v80200.1-2-g93a898d-alpha * LibRangeCheck-2.0 @v4.2.3 (with a couple of local changes) * LibSharedMedia-3.0 @r113-alpha
This commit is contained in:
@ -3,6 +3,12 @@ local TargetCast = IceCore_CreateClass(IceCastBar)
|
||||
|
||||
TargetCast.prototype.notInterruptible = false
|
||||
|
||||
local UnitCastingInfo, UnitChannelInfo = UnitCastingInfo, UnitChannelInfo
|
||||
if IceHUD.WowClassic then
|
||||
UnitCastingInfo = CastingInfo
|
||||
UnitChannelInfo = ChannelInfo
|
||||
end
|
||||
|
||||
-- Constructor --
|
||||
function TargetCast.prototype:init()
|
||||
TargetCast.super.prototype.init(self, "TargetCast")
|
||||
@ -15,8 +21,10 @@ end
|
||||
function TargetCast.prototype:Enable(core)
|
||||
TargetCast.super.prototype.Enable(self, core)
|
||||
|
||||
self:RegisterEvent("UNIT_SPELLCAST_INTERRUPTIBLE", "SpellCastInterruptible")
|
||||
self:RegisterEvent("UNIT_SPELLCAST_NOT_INTERRUPTIBLE", "SpellCastNotInterruptible")
|
||||
if IceHUD.WowVer >= 30200 then
|
||||
self:RegisterEvent("UNIT_SPELLCAST_INTERRUPTIBLE", "SpellCastInterruptible")
|
||||
self:RegisterEvent("UNIT_SPELLCAST_NOT_INTERRUPTIBLE", "SpellCastNotInterruptible")
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@ -83,7 +91,7 @@ function TargetCast.prototype:TargetChanged(unit)
|
||||
end
|
||||
|
||||
local spell = UnitCastingInfo(self.unit)
|
||||
local notInterruptible = select(IceHUD.WowVer < 80000 and 9 or 8, UnitCastingInfo(self.unit))
|
||||
local notInterruptible = select((IceHUD.WowVer < 80000 and not IceHUD.WowClassic) and 9 or 8, UnitCastingInfo(self.unit))
|
||||
if spell then
|
||||
self.notInterruptible = notInterruptibleCast
|
||||
self:StartBar(IceCastBar.Actions.Cast)
|
||||
@ -91,7 +99,7 @@ function TargetCast.prototype:TargetChanged(unit)
|
||||
end
|
||||
|
||||
local channel = UnitChannelInfo(self.unit)
|
||||
notInterruptible = select(IceHUD.WowVer < 80000 and 8 or 7, UnitChannelInfo(self.unit))
|
||||
notInterruptible = select((IceHUD.WowVer < 80000 and not IceHUD.WowClassic) and 8 or 7, UnitChannelInfo(self.unit))
|
||||
if channel then
|
||||
self.notInterruptible = notInterruptibleChannel
|
||||
self:StartBar(IceCastBar.Actions.Channel)
|
||||
|
Reference in New Issue
Block a user