WoWInterface SVN Molinari

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /trunk
    from Rev 7 to Rev 8
    Reverse comparison

Rev 7 → Rev 8

Molinari/Molinari.lua
30,69 → 30,70
 
--]]
 
local tooltip, tooltipHook = GameTooltip
local milling, prospecting = GetSpellInfo(51005), GetSpellInfo(31252)
local macro = '/cast %s\n/use %s %s'
 
local button = CreateFrame('Button', 'Molinari', UIParent, 'SecureActionButtonTemplate AutoCastShineTemplate')
button:RegisterForClicks('LeftButtonUp')
button:RegisterEvent('MODIFIER_STATE_CHANGED')
 
 
for k, v in next, button.sparkles do
v:SetWidth(v:GetWidth() * 3)
v:SetHeight(v:GetHeight() * 3)
end
 
do
local milling, prospecting = GetSpellInfo(51005), GetSpellInfo(31252)
local macro = '/cast %s\n/use %s %s'
local function tooltipHook(self)
if(self:GetItem() and IsAltKeyDown() and not InCombatLockdown()) then
local text = GameTooltipTextLeft2:GetText()
 
function tooltipHook(self)
if(InCombatLockdown()) then return end
if(text and (text == ITEM_MILLABLE or text == ITEM_PROSPECTABLE)) then
local scribe = text == ITEM_MILLABLE
local anchor = GetMouseFocus()
 
if(self:GetItem() and IsAltKeyDown()) then
local text = GameTooltipTextLeft2:GetText()
button:ClearAllPoints()
button:SetAttribute('macrotext', macro:format(scribe and milling or prospecting, anchor:GetParent():GetID(), anchor:GetID()))
button:SetAllPoints(anchor)
button:Show()
 
if(text and (text == ITEM_MILLABLE or text == ITEM_PROSPECTABLE)) then
local scribe = text == ITEM_MILLABLE
local anchor = GetMouseFocus()
 
button:ClearAllPoints()
button:SetAttribute('macrotext', macro:format(scribe and milling or prospecting, anchor:GetParent():GetID(), anchor:GetID()))
button:SetAllPoints(anchor)
button:Show()
 
if(scribe) then
AutoCastShine_AutoCastStart(button, 0.5, 1, 0.5)
else
AutoCastShine_AutoCastStart(button, 1, 0.5, 0.5)
end
if(scribe) then
AutoCastShine_AutoCastStart(button, 0.5, 1, 0.5)
else
AutoCastShine_AutoCastStart(button, 1, 0.5, 0.5)
end
end
end
end
 
function button:MODIFIER_STATE_CHANGED(event, key)
if((key == 'LALT' or key == 'RALT') and self:IsShown()) then
if(InCombatLockdown()) then
self:RegisterEvent('PLAYER_REGEN_DISABLED')
else
self:ClearAllPoints()
self:Hide()
AutoCastShine_AutoCastStop(self)
end
function button:MODIFIER_STATE_CHANGED(event, key)
if((key == 'LALT' or key == 'RALT') and self:IsShown()) then
if(InCombatLockdown()) then
self:RegisterEvent('PLAYER_REGEN_DISABLED')
else
self:ClearAllPoints()
self:Hide()
AutoCastShine_AutoCastStop(self)
end
end
end
 
function button:PLAYER_REGEN_DISABLED(event)
self:UnregisterEvent(event)
function button:PLAYER_REGEN_DISABLED(event)
self:UnregisterEvent(event)
 
self:ClearAllPoints()
self:Hide()
AutoCastShine_AutoCastStop(self)
end
self:ClearAllPoints()
self:Hide()
AutoCastShine_AutoCastStop(self)
end
 
button:SetAttribute('*type*', 'macro')
button:SetFrameStrata('DIALOG')
button:SetScript('OnLeave', function(self) self:Hide() end)
button:SetScript('OnEvent', function(self, event, ...) self[event](self, event, ...) end)
tooltip:HookScript('OnTooltipSetItem', tooltipHook)
\ No newline at end of file + +GameTooltip:HookScript('OnTooltipSetItem', tooltipHook) + +-- temporary bugfix for blizzard's bug with secure frames and anchoring +hooksecurefunc('ContainerFrame_GenerateFrame', function(frame, size, id) + if(size ~= 1 and id == 0) then + ContainerFrame1Item1:SetPoint('BOTTOMRIGHT', ContainerFrame1, 'BOTTOMRIGHT', -12, 30) + end +end) \ No newline at end of file