You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

118 lines
3.5 KiB

local AS, L, S, R = unpack(AddOnSkins)
local _G = _G
local unpack = unpack
local CreateFrame = CreateFrame
local hooksecurefunc = hooksecurefunc
local function StyleTooltip(frame)
if not frame then return end
S:HandleTooltip(frame)
end
local function AbilityTooltip(frame)
if not frame then return end
S:HandleTooltip(frame)
S:HandleIcon(frame.Icon, true)
end
function S:GarrisonShipyardTooltip()
local tt = _G.GarrisonShipyardMapMissionTooltip
S:HandleTooltip(tt)
local reward = tt.ItemTooltip
local icon = reward and reward.Icon
if icon then
S:HandleIcon(icon)
if reward.IconBorder then
reward.IconBorder:SetAlpha(0)
end
end
local bonusIcon = tt.BonusReward and tt.BonusReward.Icon
if bonusIcon then
S:HandleIcon(bonusIcon)
end
-- other tooltips
StyleTooltip(_G.GarrisonBuildingFrame and _G.GarrisonBuildingFrame.BuildingLevelTooltip)
StyleTooltip(_G.GarrisonMissionMechanicFollowerCounterTooltip)
StyleTooltip(_G.GarrisonMissionMechanicTooltip)
end
function R:Blizzard_GarrisonTooltip()
if not AS:IsSkinEnabled('Blizzard_GarrisonTooltip', 'tooltip') then return end
StyleTooltip(_G.GarrisonFollowerTooltip)
StyleTooltip(_G.FloatingGarrisonFollowerTooltip)
StyleTooltip(_G.FloatingGarrisonMissionTooltip)
StyleTooltip(_G.FloatingGarrisonShipyardFollowerTooltip)
StyleTooltip(_G.GarrisonShipyardFollowerTooltip)
AbilityTooltip(_G.GarrisonFollowerAbilityTooltip)
AbilityTooltip(_G.FloatingGarrisonFollowerAbilityTooltip)
AbilityTooltip(_G.GarrisonFollowerMissionAbilityWithoutCountersTooltip)
AbilityTooltip(_G.GarrisonFollowerAbilityWithoutCountersTooltip)
S:HandleCloseButton(_G.FloatingGarrisonFollowerTooltip.CloseButton)
S:HandleCloseButton(_G.FloatingGarrisonFollowerAbilityTooltip.CloseButton)
S:HandleCloseButton(_G.FloatingGarrisonMissionTooltip.CloseButton)
S:HandleCloseButton(_G.FloatingGarrisonShipyardFollowerTooltip.CloseButton)
hooksecurefunc('GarrisonFollowerTooltipTemplate_SetGarrisonFollower', function(tooltipFrame)
-- Abilities
if tooltipFrame.numAbilitiesStyled == nil then
tooltipFrame.numAbilitiesStyled = 1
end
local numAbilitiesStyled = tooltipFrame.numAbilitiesStyled
local abilities = tooltipFrame.Abilities
local ability = abilities[numAbilitiesStyled]
while ability do
S:HandleIcon(ability.Icon, true)
numAbilitiesStyled = numAbilitiesStyled + 1
ability = abilities[numAbilitiesStyled]
end
tooltipFrame.numAbilitiesStyled = numAbilitiesStyled
-- Traits
if tooltipFrame.numTraitsStyled == nil then
tooltipFrame.numTraitsStyled = 1
end
local numTraitsStyled = tooltipFrame.numTraitsStyled
local traits = tooltipFrame.Traits
local trait = traits[numTraitsStyled]
while trait do
S:HandleIcon(trait.Icon, true)
numTraitsStyled = numTraitsStyled + 1
trait = traits[numTraitsStyled]
end
tooltipFrame.numTraitsStyled = numTraitsStyled
end)
hooksecurefunc('GarrisonFollowerTooltipTemplate_SetShipyardFollower', function(tooltipFrame)
if tooltipFrame.numPropertiesStyled == nil then
tooltipFrame.numPropertiesStyled = 1
end
local numPropertiesStyled = tooltipFrame.numPropertiesStyled
local properties = tooltipFrame.Properties
local property = properties[numPropertiesStyled]
while property do
S:HandleIcon(property.Icon, true)
numPropertiesStyled = numPropertiesStyled + 1
property = properties[numPropertiesStyled]
end
tooltipFrame.numPropertiesStyled = numPropertiesStyled
end)
end
AS:RegisterSkin('Blizzard_GarrisonTooltip')