Skip to content

Commit

Permalink
Move some Azerite Power and Essence setup back into State.lua
Browse files Browse the repository at this point in the history
  • Loading branch information
Hekili committed Nov 17, 2020
1 parent 5a4989e commit dabcafa
Show file tree
Hide file tree
Showing 3 changed files with 43 additions and 43 deletions.
40 changes: 0 additions & 40 deletions BfA/AzeritePowers.lua
Original file line number Diff line number Diff line change
Expand Up @@ -7,46 +7,6 @@ local Hekili = _G[ addon ]
local all = Hekili.Class.specs[ 0 ]
local state = Hekili.State

-- Azerite and Essences.
local mt_default_trait = {
__index = function( t, k )
local heart = C_AzeriteItem.FindActiveAzeriteItem()

heart = heart and heart:IsValid() and C_AzeriteItem.IsAzeriteItemEnabled( heart ) or false

if k == 'enabled' or k == 'minor' or k == 'equipped' then
return heart and t.__rank and t.__rank > 0
elseif k == 'disabled' then
return not heart or not t.__rank or t.__rank == 0
elseif k == 'rank' then
return heart and t.__rank or 0
elseif k == 'major' then
return heart and t.__major or false
elseif k == 'minor' then
return heart and t.__minor or false
end
end
}

local mt_artifact_traits = {
__index = function( t, k )
return t.no_trait
end,

__newindex = function( t, k, v )
rawset( t, k, setmetatable( v, mt_default_trait ) )
return t[ k ]
end
}

setmetatable( state.azerite, mt_artifact_traits )
state.azerite.no_trait = { rank = 0 }
state.artifact = state.azerite

-- Essences
setmetatable( state.essence, mt_artifact_traits )
state.essence.no_trait = { rank = 0, major = false, minor = false }


-- Register Azerite Powers before going with generics...
all:RegisterAuras( {
Expand Down
3 changes: 1 addition & 2 deletions BfA/Essences.lua
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,9 @@ local addon, ns = ...
local Hekili = _G[ addon ]

local all = Hekili.Class.specs[ 0 ]
local state = Hekili.State


-- 8.3 Essences
-- Breath of the Dying
all:RegisterAbility( "reaping_flames", {
id = 310690,
cast = 0,
Expand Down
43 changes: 42 additions & 1 deletion State.lua
Original file line number Diff line number Diff line change
Expand Up @@ -3476,12 +3476,53 @@ do
end
}
ns.metatables.mt_generic_traits = mt_generic_traits

setmetatable( state.corruptions, mt_generic_traits )
state.corruptions.no_trait = { rank = 0 }

setmetatable( state.legendary, mt_generic_traits )
state.legendary.no_trait = { rank = 0 }

-- Azerite and Essences.
local mt_default_trait = {
__index = function( t, k )
local heart = C_AzeriteItem.FindActiveAzeriteItem()

heart = heart and heart:IsValid() and C_AzeriteItem.IsAzeriteItemEnabled( heart ) or false

if k == 'enabled' or k == 'minor' or k == 'equipped' then
return heart and t.__rank and t.__rank > 0
elseif k == 'disabled' then
return not heart or not t.__rank or t.__rank == 0
elseif k == 'rank' then
return heart and t.__rank or 0
elseif k == 'major' then
return heart and t.__major or false
elseif k == 'minor' then
return heart and t.__minor or false
end
end
}

local mt_artifact_traits = {
__index = function( t, k )
return t.no_trait
end,

__newindex = function( t, k, v )
rawset( t, k, setmetatable( v, mt_default_trait ) )
return t[ k ]
end
}

ns.metatables.mt_artifact_traits = mt_artifact_traits

setmetatable( state.azerite, mt_artifact_traits )
state.azerite.no_trait = { rank = 0 }
state.artifact = state.azerite

setmetatable( state.essence, ns.metatables.mt_artifact_traits )
state.essence.no_trait = { rank = 0, major = false, minor = false }
end


Expand Down

0 comments on commit dabcafa

Please sign in to comment.