vanilla-wow-addons – Rev 1
?pathlinks?
function GB_UnitFrames_Initialize()
if (not GB_INITIALIZED) then return; end
GB_UnitFrames_Detect();
for unit, value in GB_UNITFRAMES do
for i, frame in value.frames do
local clickbox = getglobal(GB_CLICKBOXES2[unit][i]);
unit2 = unit;
if (unit == "target") then unit2 = "friendlytarget"; end
local offsets = GB_Settings[GB_INDEX][unit2].Clickbox;
if (not getglobal(frame)) then
clickbox:ClearAllPoints();
clickbox:SetPoint("TOP", "UIParent", "BOTTOM", 100, -100);
clickbox:Hide();
else
local frameheight = getglobal(frame):GetHeight();
local framewidth = getglobal(frame):GetWidth();
if ( (offsets.x1 - offsets.x2) > framewidth) then
offsets.x2 = 0;
end
if ( (offsets.y2 - offsets.y1) > frameheight) then
offsets.y1 = 0;
end
clickbox:ClearAllPoints();
clickbox:SetPoint("TOPLEFT", frame, "TOPLEFT", offsets.x1, offsets.y1);
clickbox:SetPoint("BOTTOMRIGHT", frame, "BOTTOMRIGHT", offsets.x2, offsets.y2);
clickbox:Raise()
end
end
end
if (not GB_Settings[GB_INDEX].hideClickboxes) then
if (UnitName("pet")) then
GB_Pet0Clickbox:Show();
end
for i=1,GetNumPartyMembers() do
getglobal("GB_Party"..i.."Clickbox"):Show();
if (UnitName("partypet"..i)) then
getglobal("GB_Pet"..i.."Clickbox"):Show();
end
end
end
end
function GB_UnitFrames_Detect()
if (DUF_EventFrame) then
GB_UNITFRAMES = {
player = {
frames={"DUF_PlayerFrame"},
onClick = {name="DUF_UnitFrame_OnClick", params={"mousebutton", "unitID"}},
onEnter = {name="DUF_UnitFrame_OnEnter", params={"unitID", "frame"}},
onLeave = {name="DUF_UnitFrame_OnLeave", params={"frame"}},
onMouseUp = {name="", override="GB_DUF_OnMouseUp"}
},
party = {
frames={"DUF_PartyFrame1", "DUF_PartyFrame2", "DUF_PartyFrame3", "DUF_PartyFrame4"},
onClick = {name="DUF_UnitFrame_OnClick", params={"mousebutton", "unitID"}},
onEnter = {name="DUF_UnitFrame_OnEnter", params={"unitID", "frame"}},
onLeave = {name="DUF_UnitFrame_OnLeave", params={"frame"}},
onMouseUp = {name="", override="GB_DUF_OnMouseUp"}
},
target = {
frames={"DUF_TargetFrame"},
onClick = {name="DUF_UnitFrame_OnClick", params={"mousebutton", "unitID"}},
onEnter = {name="DUF_UnitFrame_OnEnter", params={"unitID", "frame"}},
onLeave = {name="DUF_UnitFrame_OnLeave", params={"frame"}},
onMouseUp = {name="", override="GB_DUF_OnMouseUp"}
},
pet = {
frames={"DUF_PetFrame"},
onClick = {name="DUF_UnitFrame_OnClick", params={"mousebutton", "unitID"}},
onEnter = {name="DUF_UnitFrame_OnEnter", params={"unitID", "frame"}},
onLeave = {name="DUF_UnitFrame_OnLeave", params={"frame"}},
onMouseUp = {name="", override="GB_DUF_OnMouseUp"}
},
partypet = {
frames={"DUF_PartyPetFrame1", "DUF_PartyPetFrame2", "DUF_PartyPetFrame3", "DUF_PartyPetFrame4"},
onClick = {name="DUF_UnitFrame_OnClick", params={"mousebutton", "unitID"}},
onEnter = {name="DUF_UnitFrame_OnEnter", params={"unitID", "frame"}},
onLeave = {name="DUF_UnitFrame_OnLeave", params={"frame"}},
onMouseUp = {name="", override="GB_DUF_OnMouseUp"}
}
};
elseif (MGParty_Member0) then
GB_UNITFRAMES = {
player = {
frames={"MGParty_Member0"},
onClick= {name="MGParty_Member_OnClick", params={}},
onEnter = {name="MGParty_Member_OnEnter", params={}},
onLeave = {name="MGParty_Member_OnLeave", params={}},
onDrag = {name="PlayerFrame_OnReceiveDrag", params = {}}
},
party = {
frames={"MGParty_Member1", "MGParty_Member2", "MGParty_Member3", "MGParty_Member4"},
onClick= {name="MGParty_Member_OnClick", params={}},
onEnter = {name="MGParty_Member_OnEnter", params={}},
onLeave = {name="MGParty_Member_OnLeave", params={}}
},
target = {
frames={"MGTarget_Frame"},
onClick = {name="MGTarget_OnClick", params={"mousebutton"}},
onEnter = {name="MGTarget_OnEnter", params = {}},
onLeave = {name="MGTarget_OnLeave", params = {}}
},
pet = {
frames={"PetFrame"},
onClick = {name="PetFrame_OnClick", params={"mousebutton"}},
onEnter = {name="UnitFrame_OnEnter", override="GB_DefaultPartyFrame_OnEnter", params = {}},
onLeave = {name="UnitFrame_OnLeave", override="GB_DefaultPartyFrame_OnLeave", params = {}}
},
partypet = {
frames={"PartyMemberFrame1PetFrame", "PartyMemberFrame2PetFrame", "PartyMemberFrame3PetFrame", "PartyMemberFrame4PetFrame"},
onClick = {name="PartyMemberPetFrame_OnClick", params={}},
onEnter = {name="UnitFrame_OnEnter", params = {}},
onLeave = {name="UnitFrame_OnLeave", params = {}}
}
};
elseif (MGplayer) then
GB_UNITFRAMES = {
player = {
frames={"MGplayer"},
onClick= {name="MiniGroup_Member_OnClick", params={"mousebutton"}},
onEnter = {name="", override = "GB_MiniGroup_OnEnter", params={}},
onLeave = {name="", override = "GB_MiniGroup_OnLeave", params={}},
onMouseDown = {name="MiniGroup_Member_OnMouseDown", params={"mousebutton"}},
onMouseUp = {name="MiniGroup_Member_OnMouseUp", params={"mousebutton"}}
},
party = {
frames={"MGparty1", "MGparty2", "MGparty3", "MGparty4"},
onClick= {name="MiniGroup_Member_OnClick", params={"mousebutton"}},
onEnter = {name="", override = "GB_MiniGroup_OnEnter", params={}},
onLeave = {name="", override = "GB_MiniGroup_OnLeave", params={}},
onMouseDown = {name="MiniGroup_Member_OnMouseDown", params={"mousebutton"}},
onMouseUp = {name="MiniGroup_Member_OnMouseUp", params={"mousebutton"}}
},
target = {
frames={"MGtarget"},
onClick= {name="MiniGroup_Member_OnClick", params={"mousebutton"}},
onEnter = {name="", override = "GB_MiniGroup_OnEnter", params={}},
onLeave = {name="", override = "GB_MiniGroup_OnLeave", params={}},
onMouseDown = {name="MiniGroup_Member_OnMouseDown", params={"mousebutton"}},
onMouseUp = {name="MiniGroup_Member_OnMouseUp", params={"mousebutton"}}
},
pet = {
frames={"MGpet"},
onClick= {name="MiniGroup_Member_OnClick", params={"mousebutton"}},
onEnter = {name="", override = "GB_MiniGroup_OnEnter", params={}},
onLeave = {name="", override = "GB_MiniGroup_OnLeave", params={}},
onMouseDown = {name="MiniGroup_Member_OnMouseDown", params={"mousebutton"}},
onMouseUp = {name="MiniGroup_Member_OnMouseUp", params={"mousebutton"}}
},
partypet = {
frames={"MGpartypet1", "MGpartypet2", "MGpartypet3", "MGpartypet4"},
onClick= {name="MiniGroup_Member_OnClick", params={"mousebutton"}},
onEnter = {name="", override = "GB_MiniGroup_OnEnter", params={}},
onLeave = {name="", override = "GB_MiniGroup_OnLeave", params={}},
onMouseDown = {name="MiniGroup_Member_OnMouseDown", params={"mousebutton"}},
onMouseUp = {name="MiniGroup_Member_OnMouseUp", params={"mousebutton"}}
}
};
elseif (Nurfed_player) then
GB_UNITFRAMES = {
player = {
frames={"Nurfed_player"},
onClick= {name="Nurfed_Unit_OnClick", params={"mousebutton", "nurfed"}}
},
party = {
frames={"Nurfed_party1", "Nurfed_party2", "Nurfed_party3", "Nurfed_party4"},
onClick= {name="Nurfed_Unit_OnClick", params={"mousebutton", "nurfed"}},
onEnter = {name="Nurfed_UnitFrame_OnEnter", params={"unitID"}},
onLeave = {name="Nurfed_UnitFrame_OnLeave", params={}}
},
target = {
frames={"Nurfed_target"},
onClick= {name="Nurfed_Unit_OnClick", params={"mousebutton", "nurfed"}}
},
pet = {
frames={"Nurfed_pet"},
onClick= {name="Nurfed_Unit_OnClick", params={"mousebutton", "nurfed"}}
},
partypet = {
frames={"Nurfed_partypet1", "Nurfed_partypet2", "Nurfed_partypet3", "Nurfed_partypet4"},
onClick= {name="Nurfed_Unit_OnClick", params={"mousebutton", "nurfed"}}
}
};
elseif (Perl_party1) then
GB_UNITFRAMES = {
player = {
frames={"Perl_Player_Frame"},
onClick= {name="Perl_Party_MouseDown", params={"mousebutton"}},
onMouseUp = {name="Perl_Party_MouseUp", params={"mousebutton"}},
onEnter = {name="Perl_Player_MouseEnter", params={}},
onLeave = {name="Perl_Player_MouseLeave", params={}}
},
party = {
frames={"Perl_party1", "Perl_party2", "Perl_party3", "Perl_party4"},
onClick= {name="Perl_Party_MouseDown", params={"mousebutton"}},
onMouseUp = {name="Perl_Party_MouseUp", params={"mousebutton"}},
onEnter = {name="Perl_Party_PlayerTip", params={}},
onLeave = {name="GB_Hide_PlayerTooltip", params={}}
},
target = {
frames={"Perl_Target_Frame"},
onClick= {name="Perl_Target_MouseDown", params={"mousebutton"}},
onMouseUp = {name="Perl_Target_MouseUp", params={"mousebutton"}},
onEnter = {name="Perl_Target_PlayerTip", params={}},
onLeave = {name="GB_Hide_PlayerTooltip", params={}}
},
pet = {
frames={"Perl_Player_Pet_Frame"},
onClick = {name="Perl_Player_Pet_MouseDown", params={"mousebutton"}},
onMouseUp = {name="Perl_Player_Pet_MouseUp", params={"mousebutton"}},
onEnter = {name="UnitFrame_OnEnter", override="GB_DefaultPartyFrame_OnEnter", params = {}},
onLeave = {name="UnitFrame_OnLeave", override="GB_DefaultPartyFrame_OnLeave", params = {}}
},
partypet = {
frames={"Perl_Party_Pet1", "Perl_Party_Pet2", "Perl_Party_Pet3", "Perl_Party_Pet4"},
onClick = {name="Perl_Party_Pet_MouseDown", params={"mousebutton"}},
onMouseUp = {name="Perl_Party_Pet_MouseUp", params={"mousebutton"}},
onEnter = {name="Perl_Party_Pet_PlayerTip", params = {}},
onLeave = {name="UnitFrame_OnLeave", params = {}}
}
};
elseif (WatchDogFrame) then
GB_UNITFRAMES = {
player = {
frames={"WatchDogFrame_player"},
onClick= {name="WatchDog_OnClick", params={"mousebutton"}},
onEnter = {name="UnitFrame_OnEnter", params={}},
onLeave = {name="UnitFrame_OnLeave", params={}}
},
party = {
frames={"WatchDogFrame_party1", "WatchDogFrame_party2", "WatchDogFrame_party3", "WatchDogFrame_party4"},
onClick= {name="WatchDog_OnClick", params={"mousebutton"}},
onEnter = {name="UnitFrame_OnEnter", params={}},
onLeave = {name="UnitFrame_OnLeave", params={}}
},
target = {
frames={"WatchDogFrame_target"},
onClick= {name="WatchDog_OnClick", params={"mousebutton"}},
onEnter = {name="UnitFrame_OnEnter", params={}},
onLeave = {name="UnitFrame_OnLeave", params={}}
},
pet = {
frames={"WatchDogFrame_pet"},
onClick= {name="WatchDog_OnClick", params={"mousebutton"}},
onEnter = {name="UnitFrame_OnEnter", params={}},
onLeave = {name="UnitFrame_OnLeave", params={}}
},
partypet = {
frames={"WatchDogFrame_partypet1", "WatchDogFrame_partypet2", "WatchDogFrame_partypet3", "WatchDogFrame_partypet4"},
onClick= {name="WatchDog_OnClick", params={"mousebutton"}},
onEnter = {name="UnitFrame_OnEnter", params={}},
onLeave = {name="UnitFrame_OnLeave", params={}}
}
};
elseif (Perl_Party_MemberFrame1) then
GB_UNITFRAMES = {
player = {
frames={"Perl_Player_Frame"},
onClick= {name="Perl_Player_MouseClick", params={"mousebutton"}},
onMouseDown = {name="Perl_Player_MouseDown", params={"mousebutton"}},
onMouseUp = {name="Perl_Player_MouseUp", params={"mousebutton"}}
},
party = {
frames={"Perl_Party_MemberFrame1", "Perl_Party_MemberFrame2", "Perl_Party_MemberFrame3", "Perl_Party_MemberFrame4"},
onClick= {name="Perl_Party_MouseClick", params={"mousebutton"}},
onMouseDown = {name="Perl_Party_MouseDown", params={"mousebutton"}},
onMouseUp = {name="Perl_Party_MouseUp", params={"mousebutton"}},
onEnter = {name="Perl_Party_Tip", params={}},
onLeave = {name="UnitFrame_OnLeave", params={}}
},
target = {
frames={"Perl_Target_Frame"},
onClick= {name="Perl_Target_MouseClick", params={"mousebutton"}},
onMouseDown = {name="Perl_Target_MouseDown", params={"mousebutton"}},
onMouseUp = {name="Perl_Target_MouseUp", params={"mousebutton"}},
onEnter = {name="Perl_Target_Tip", params={}},
onLeave = {name="UnitFrame_OnLeave", params={}}
},
pet = {
frames={"Perl_Player_Pet_Frame"},
onClick= {name="Perl_Player_Pet_MouseClick", params={"mousebutton"}},
onMouseDown = {name="Perl_Player_Pet_MouseDown", params={"mousebutton"}},
onMouseUp = {name="Perl_Player_Pet_MouseUp", params={"mousebutton"}}
},
partypet = {
frames={"PartyMemberFrame1PetFrame", "PartyMemberFrame2PetFrame", "PartyMemberFrame3PetFrame", "PartyMemberFrame4PetFrame"},
onClick = {name="PartyMemberPetFrame_OnClick", params={}},
onEnter = {name="UnitFrame_OnEnter", params = {}},
onLeave = {name="UnitFrame_OnLeave", params = {}}
}
};
end
end
function GB_UnitFrame_OnClick(mousebutton)
local keys = "";
if (IsShiftKeyDown()) then
keys = "s";
end
if (IsAltKeyDown()) then
keys = keys.."a";
end
if (IsControlKeyDown()) then
keys = keys.."c";
end
if (mousebutton == "LeftButton") then
keys = keys.."l";
elseif (mousebutton == "RightButton") then
keys = keys.."r";
elseif (mousebutton == "MiddleButton") then
keys = keys.."m";
elseif (mousebutton == "Button4") then
keys="4";
elseif (mousebutton == "Button5") then
keys="5";
end
local bar = this.bar;
if (bar == "target") then
if (UnitCanAttack("player", "target")) then
bar = "hostiletarget";
else
bar = "friendlytarget";
end
end
if (keys == GB_Settings[GB_INDEX][bar].oldLeftClick or keys == GB_Settings[GB_INDEX][bar].oldRightClick) then
local func;
local clickparams;
if (GB_UNITFRAMES[this.bar].onClick) then
func = getglobal(GB_UNITFRAMES[this.bar].onClick.name);
clickparams = GB_UNITFRAMES[this.bar].onClick.params;
else
return;
end
local params = {};
for i, v in clickparams do
if (v == "mousebutton") then
params[i] = mousebutton;
elseif (v == "unitID") then
params[i] = this.unit;
elseif (v == "nurfed") then
params[i] = Nurfed_Units[getglobal(GB_UNITFRAMES[this.bar].frames[this:GetID()]):GetName()];
end
end
this = getglobal(GB_UNITFRAMES[this.bar].frames[this:GetID()]);
func(params[1], params[2], params[3], params[4], params[5]);
return;
end
local buttonNum = GB_Settings[GB_INDEX][bar].clickCast[keys];
if (buttonNum) then
local unitBar = GB_Get_UnitBar(this.unit);
if (this.index == "lowesthealth") then
unitBar = GB_Get_UnitBar(this.index);
end
GB_ActionButton_OnClick(unitBar, buttonNum, 1);
end
end
function GB_UnitFrame_OnEnter()
local unitBar = getglobal(GB_Get_UnitBar(this.unit));
if (this.index == "lowesthealth") then
unitBar = GB_Get_UnitBar(this.index);
end
if (GB_Settings[GB_INDEX][unitBar.index].mouseover) then
unitBar.timer = nil;
unitBar:Show();
end
if (not GB_UNITFRAMES[this.bar].onEnter) then return; end
if (GB_UNITFRAMES[this.bar].onEnter.override) then
local func = getglobal(GB_UNITFRAMES[this.bar].onEnter.override);
func();
return;
end
local func = getglobal(GB_UNITFRAMES[this.bar].onEnter.name);
local params = {};
for i, v in GB_UNITFRAMES[this.bar].onEnter.params do
if (v == "frame") then
params[i] = getglobal(GB_UNITFRAMES[this.bar].frames[this:GetID()]);
elseif (v == "unitID") then
params[i] = this.unit;
end
end
this = getglobal(GB_UNITFRAMES[this.bar].frames[this:GetID()]);
func(params[1], params[2], params[3], params[4], params[5]);
end
function GB_UnitFrame_OnEvent(event)
if (not GB_INITIALIZED) then return; end
if (event == "PARTY_MEMBERS_CHANGED") then
if (not GB_Settings[GB_INDEX].hideClickboxes) then
local numParty = GetNumPartyMembers();
for i=1,numParty do
getglobal("GB_Party"..i.."Clickbox"):Show();
if (UnitName("partypet"..i)) then
getglobal("GB_Pet"..i.."Clickbox"):Show();
end
end
numParty = numParty + 1;
if (numParty < 5) then
for i=numParty,4 do
getglobal("GB_Party"..i.."Clickbox"):Hide();
getglobal("GB_Pet"..i.."Clickbox"):Hide();
end
end
end
elseif (event == "PLAYER_TARGET_CHANGED") then
if (UnitName("target")) then
if (not GB_Get("hideClickboxes")) then
this:Show();
end
else
this:Hide();
end
elseif (event == "UNIT_PET") then
if (UnitName(this.unit) and UnitExists(this.unit)) then
if (not GB_Get("hideClickboxes")) then
this:Show();
end
else
this:Hide();
end
end
end
function GB_UnitFrame_OnLeave()
local unitBar = getglobal(GB_Get_UnitBar(this.unit));
if (this.index == "lowesthealth") then
unitBar = GB_Get_UnitBar(this.index);
end
if (not unitBar) then return; end
if (GB_Settings[GB_INDEX][unitBar.index].mouseover) then
unitBar.timer = GB_MOUSEOUT_TIME;
end
if (not GB_UNITFRAMES[this.bar].onLeave) then return; end
if (GB_UNITFRAMES[this.bar].onLeave.override) then
local func = getglobal(GB_UNITFRAMES[this.bar].onLeave.override);
func();
return;
end
local func = getglobal(GB_UNITFRAMES[this.bar].onLeave.name);
local params = {};
for i, v in GB_UNITFRAMES[this.bar].onLeave.params do
if (v == "frame") then
params[i] = getglobal(GB_UNITFRAMES[this.bar].frames[this:GetID()]);
elseif (v == "unitID") then
params[i] = this.unit;
end
end
this = getglobal(GB_UNITFRAMES[this.bar].frames[this:GetID()]);
func(params[1], params[2], params[3], params[4], params[5]);
end
function GB_UnitFrame_OnMouseDown(mousebutton)
if (not GB_UNITFRAMES[this.bar].onMouseDown) then return; end
if (DUF_EventFrame) then
if (IsShiftKeyDown() or IsAltKeyDown() or IsControlKeyDown() or mousebutton == "MiddleButton") then
return;
end
end
local func = getglobal(GB_UNITFRAMES[this.bar].onMouseDown.name);
local params = {};
for i, v in GB_UNITFRAMES[this.bar].onMouseDown.params do
if (v == "mousebutton") then
params[i] = mousebutton;
elseif (v == "unitID") then
params[i] = this.unit;
end
end
this = getglobal(GB_UNITFRAMES[this.bar].frames[this:GetID()]);
func(params[1], params[2], params[3], params[4], params[5]);
end
function GB_UnitFrame_OnMouseUp(mousebutton)
if (not GB_UNITFRAMES[this.bar].onMouseUp) then return; end
if (GB_UNITFRAMES[this.bar].onMouseUp.override) then
local func = getglobal(GB_UNITFRAMES[this.bar].onMouseUp.override);
func();
return;
end
local func = getglobal(GB_UNITFRAMES[this.bar].onMouseUp.name);
local params = {};
for i, v in GB_UNITFRAMES[this.bar].onMouseUp.params do
if (v == "mousebutton") then
params[i] = mousebutton;
elseif (v == "unitID") then
params[i] = this.unit;
end
end
this = getglobal(GB_UNITFRAMES[this.bar].frames[this:GetID()]);
func(params[1], params[2], params[3], params[4], params[5]);
end
function GB_UnitFrame_OnReceiveDrag()
if (not GB_UNITFRAMES[this.bar]["onDrag"]) then return; end
local func = getglobal(GB_UNITFRAMES[this.bar].onDrag.name);
local params = {};
for i, v in GB_UNITFRAMES[this.bar].onDrag.params do
if (v == "frame") then
params[i] = getglobal(GB_UNITFRAMES[this.bar].frames[this:GetID()]);
elseif (v == "unitID") then
params[i] = this.unit;
end
end
this = getglobal(GB_UNITFRAMES[this.bar].frames[this:GetID()]);
func(params[1], params[2], params[3], params[4], params[5]);
end
function GB_DefaultPartyFrame_OnEnter()
this = getglobal(GB_UNITFRAMES[this.bar].frames[this:GetID()]);
UnitFrame_OnEnter();
PartyMemberBuffTooltip:SetPoint("TOPLEFT", this:GetName(), "TOPLEFT", 60, -25);
PartyMemberBuffTooltip_Update();
end
function GB_DefaultPartyFrame_OnLeave()
this = getglobal(GB_UNITFRAMES[this.bar].frames[this:GetID()]);
UnitFrame_OnLeave();
PartyMemberBuffTooltip:Hide();
end
function GB_MiniGroup_OnEnter()
this = getglobal(GB_UNITFRAMES[this.bar].frames[this:GetID()]);
MiniGroup_Member_OnEnter();
UnitFrame_OnEnter();
end
function GB_MiniGroup_OnLeave()
this = getglobal(GB_UNITFRAMES[this.bar].frames[this:GetID()]);
MiniGroup_Member_OnLeave();
UnitFrame_OnLeave();
end
function GB_DUF_OnMouseUp()
this = getglobal(GB_UNITFRAMES[this.bar].frames[this:GetID()]);
if (not DUF_Settings[DUF_INDEX].FramesLocked) then
DUF_UnitFrame_StopMoving(this.unit);
end
end
function GB_CT_RA_MemberFrame_OnClick(mousebutton)
local keys = "";
if (IsShiftKeyDown()) then
keys = "s";
end
if (IsAltKeyDown()) then
keys = keys.."a";
end
if (IsControlKeyDown()) then
keys = keys.."c";
end
if (mousebutton == "LeftButton") then
keys = keys.."l";
elseif (mousebutton == "RightButton") then
keys = keys.."r";
elseif (mousebutton == "MiddleButton") then
keys = keys.."m";
elseif (mousebutton == "Button4") then
keys="4";
elseif (mousebutton == "Button5") then
keys="5";
end
local bar = "raid";
if (keys == GB_Settings[GB_INDEX][bar].oldLeftClick or keys == GB_Settings[GB_INDEX][bar].oldRightClick) then
GB_Old_CT_RA_MemberFrame_OnClick(mousebutton);
return;
end
local buttonNum = GB_Settings[GB_INDEX][bar].clickCast[keys];
local id = this:GetParent():GetParent():GetID();
if (buttonNum) then
GB_ActionButton_OnClick(GB_Get_UnitBar("raid"..id), buttonNum, 1);
end
end
function GB_CT_RA_MemberFrame_OnEnter()
GB_Old_CT_RA_MemberFrame_OnEnter();
local id = this:GetParent():GetParent():GetID();
local unitBar = getglobal(GB_Get_UnitBar("raid"..id));
if (GB_Settings[GB_INDEX][unitBar.index].mouseover) then
unitBar.timer = nil;
unitBar:Show();
end
end
function GB_CT_RA_MemberFrame_OnLeave()
GB_Old_CT_RA_MemberFrame_OnLeave();
local id = this:GetParent():GetParent():GetID();
local unitBar = getglobal(GB_Get_UnitBar("raid"..id));
if (GB_Settings[GB_INDEX][unitBar.index].mouseover) then
unitBar.timer = GB_MOUSEOUT_TIME;
end
end
function GB_Hide_PlayerTooltip()
GameTooltip:Hide();
end
function GB_Perl_Raid_MouseUp(mousebutton)
local keys = "";
if (IsShiftKeyDown()) then
keys = "s";
end
if (IsAltKeyDown()) then
keys = keys.."a";
end
if (IsControlKeyDown()) then
keys = keys.."c";
end
if (mousebutton == "LeftButton") then
keys = keys.."l";
elseif (mousebutton == "RightButton") then
keys = keys.."r";
elseif (mousebutton == "MiddleButton") then
keys = keys.."m";
elseif (mousebutton == "Button4") then
keys="4";
elseif (mousebutton == "Button5") then
keys="5";
end
local bar = "raid";
if (keys == GB_Settings[GB_INDEX][bar].oldLeftClick or keys == GB_Settings[GB_INDEX][bar].oldRightClick) then
GB_Old_Perl_Raid_MouseUp(mousebutton);
return;
end
local buttonNum = GB_Settings[GB_INDEX][bar].clickCast[keys];
local id = this:GetParent():GetParent():GetID();
if (buttonNum) then
GB_ActionButton_OnClick(GB_Get_UnitBar("raid"..id), buttonNum, 1);
end
end
function GB_DUF_Element_OnClick(mousebutton)
local keys = "";
if (IsShiftKeyDown()) then
keys = "s";
end
if (IsAltKeyDown()) then
keys = keys.."a";
end
if (IsControlKeyDown()) then
keys = keys.."c";
end
if (mousebutton == "LeftButton") then
keys = keys.."l";
elseif (mousebutton == "RightButton") then
keys = keys.."r";
elseif (mousebutton == "MiddleButton") then
keys = keys.."m";
elseif (mousebutton == "Button4") then
keys="4";
elseif (mousebutton == "Button5") then
keys="5";
end
local unit = this.unit;
if (not this.unit) then
unit = this:GetParent().unit;
end
local bar;
local frame = this:GetName();
if (string.find(frame, "DUF_PlayerFrame")) then
bar = "player";
elseif (string.find(frame, "DUF_PartyFrame")) then
bar = "party";
elseif (string.find(frame, "DUF_PartyPetFrame")) then
bar = "partypet";
elseif (string.find(frame, "DUF_TargetFrame") or string.find(frame, "DUF_TargetOfTargetFrame")) then
bar = "target";
elseif (string.find(frame, "DUF_PetFrame")) then
bar = "pet";
end
if (bar == "target") then
if (UnitCanAttack("player", unit)) then
bar = "hostiletarget";
else
bar = "friendlytarget";
end
end
if (keys == GB_Settings[GB_INDEX][bar].oldLeftClick or keys == GB_Settings[GB_INDEX][bar].oldRightClick) then
GB_Old_DUF_Element_OnClick(mousebutton);
return;
end
local buttonNum = GB_Settings[GB_INDEX][bar].clickCast[keys];
if (buttonNum) then
local unitBar = GB_Get_UnitBar(unit);
if (not unitBar) then
unitBar = GB_Get_UnitBar(bar);
end
GB_ActionButton_OnClick(unitBar, buttonNum, 1, unit);
else
GB_Old_DUF_Element_OnClick(mousebutton);
end
end
function GB_DUF_UnitFrame_OnClick(mousebutton)
local keys = "";
if (IsShiftKeyDown()) then
keys = "s";
end
if (IsAltKeyDown()) then
keys = keys.."a";
end
if (IsControlKeyDown()) then
keys = keys.."c";
end
if (mousebutton == "LeftButton") then
keys = keys.."l";
elseif (mousebutton == "RightButton") then
keys = keys.."r";
elseif (mousebutton == "MiddleButton") then
keys = keys.."m";
elseif (mousebutton == "Button4") then
keys="4";
elseif (mousebutton == "Button5") then
keys="5";
end
local unit = this.unit;
local bar;
local frame = this:GetName();
if (frame == "DUF_PlayerFrame") then
bar = "player";
elseif (string.find(frame, "DUF_PartyFrame")) then
bar = "party";
elseif (string.find(frame, "DUF_PartyPetFrame")) then
bar = "partypet";
elseif (frame == "DUF_TargetFrame" or frame == "DUF_TargetOfTargetFrame") then
bar = "target";
elseif (frame == "DUF_PetFrame") then
bar = "pet";
end
if (bar == "target") then
if (UnitCanAttack("player", this.unit)) then
bar = "hostiletarget";
else
bar = "friendlytarget";
end
end
if (keys == GB_Settings[GB_INDEX][bar].oldLeftClick or keys == GB_Settings[GB_INDEX][bar].oldRightClick) then
GB_Old_DUF_UnitFrame_OnClick(mousebutton);
return;
end
local buttonNum = GB_Settings[GB_INDEX][bar].clickCast[keys];
if (buttonNum) then
local unitBar = GB_Get_UnitBar(this.unit);
if (not unitBar) then
unitBar = GB_Get_UnitBar(bar);
end
GB_ActionButton_OnClick(unitBar, buttonNum, 1, this.unit);
else
GB_Old_DUF_UnitFrame_OnClick(mousebutton);
end
end
function GB_DUF_Element_OnEnter()
GB_Old_DUF_Element_OnEnter();
local unitBar = getglobal(GB_Get_UnitBar(this:GetParent().unit));
if (unitBar and GB_Settings[GB_INDEX][unitBar.index].mouseover) then
unitBar.timer = nil;
unitBar:Show();
end
end
function GB_DUF_UnitFrame_OnEnter()
GB_Old_DUF_UnitFrame_OnEnter();
local unitBar = getglobal(GB_Get_UnitBar(this.unit));
if (unitBar and GB_Settings[GB_INDEX][unitBar.index].mouseover) then
unitBar.timer = nil;
unitBar:Show();
end
end
function GB_DUF_Element_OnLeave()
GB_Old_DUF_Element_OnLeave();
local unitBar = getglobal(GB_Get_UnitBar(this:GetParent().unit));
if (unitBar and GB_Settings[GB_INDEX][unitBar.index].mouseover) then
unitBar.timer = GB_MOUSEOUT_TIME;
end
end
function GB_DUF_UnitFrame_OnLeave()
GB_Old_DUF_UnitFrame_OnLeave();
local unitBar = getglobal(GB_Get_UnitBar(this.unit));
if (unitBar and GB_Settings[GB_INDEX][unitBar.index].mouseover) then
unitBar.timer = GB_MOUSEOUT_TIME;
end
end
function GB_RaidPulloutButton_OnClick()
local mousebutton = arg1;
local keys = "";
if (IsShiftKeyDown()) then
keys = "s";
end
if (IsAltKeyDown()) then
keys = keys.."a";
end
if (IsControlKeyDown()) then
keys = keys.."c";
end
if (mousebutton == "LeftButton") then
keys = keys.."l";
elseif (mousebutton == "RightButton") then
keys = keys.."r";
elseif (mousebutton == "MiddleButton") then
keys = keys.."m";
elseif (mousebutton == "Button4") then
keys="4";
elseif (mousebutton == "Button5") then
keys="5";
end
local unit = this.unit;
if (not unit) then
unit = this:GetParent().unit;
end
local bar = "raid";
if (keys == GB_Settings[GB_INDEX][bar].oldLeftClick or keys == GB_Settings[GB_INDEX][bar].oldRightClick) then
arg1 = mousebutton;
GB_Old_RaidPulloutButton_OnClick();
return;
end
local buttonNum = GB_Settings[GB_INDEX][bar].clickCast[keys];
if (buttonNum) then
local unitBar = GB_Get_UnitBar(unit);
GB_ActionButton_OnClick(unitBar, buttonNum, 1);
else
arg1 = mousebutton;
GB_Old_RaidPulloutButton_OnClick();
end
end
function GB_beyondRaidUnitOnClick(mousebutton)
local keys = "";
if (IsShiftKeyDown()) then
keys = "s";
end
if (IsAltKeyDown()) then
keys = keys.."a";
end
if (IsControlKeyDown()) then
keys = keys.."c";
end
if (mousebutton == "LeftButton") then
keys = keys.."l";
elseif (mousebutton == "RightButton") then
keys = keys.."r";
elseif (mousebutton == "MiddleButton") then
keys = keys.."m";
elseif (mousebutton == "Button4") then
keys="4";
elseif (mousebutton == "Button5") then
keys="5";
end
local unit = this:GetParent().unitID;
local bar = "raid";
if (keys == GB_Settings[GB_INDEX][bar].oldLeftClick or keys == GB_Settings[GB_INDEX][bar].oldRightClick) then
GB_Old_beyondRaidUnitOnClick(mousebutton)
return;
end
local buttonNum = GB_Settings[GB_INDEX][bar].clickCast[keys];
if (buttonNum) then
local unitBar = GB_Get_UnitBar(unit);
GB_ActionButton_OnClick(unitBar, buttonNum, 1);
else
GB_Old_beyondRaidUnitOnClick(mousebutton);
end
end
function GB_MarsRaidFrame_OnClick()
local mousebutton = arg1;
local keys = "";
if (IsShiftKeyDown()) then
keys = "s";
end
if (IsAltKeyDown()) then
keys = keys.."a";
end
if (IsControlKeyDown()) then
keys = keys.."c";
end
if (mousebutton == "LeftButton") then
keys = keys.."l";
elseif (mousebutton == "RightButton") then
keys = keys.."r";
elseif (mousebutton == "MiddleButton") then
keys = keys.."m";
elseif (mousebutton == "Button4") then
keys="4";
elseif (mousebutton == "Button5") then
keys="5";
end
local unit = this.unit;
local bar = "raid";
if (keys == GB_Settings[GB_INDEX][bar].oldLeftClick or keys == GB_Settings[GB_INDEX][bar].oldRightClick) then
arg1 = mousebutton;
GB_Old_MarsRaidFrame_OnClick();
return;
end
local buttonNum = GB_Settings[GB_INDEX][bar].clickCast[keys];
if (buttonNum) then
local unitBar = GB_Get_UnitBar(unit);
GB_ActionButton_OnClick(unitBar, buttonNum, 1);
else
arg1 = mousebutton;
GB_Old_MarsRaidFrame_OnClick();
end
end
function GB_MarsRaidFrame_OnEnter()
GB_Old_MarsRaidFrame_OnEnter();
local unitBar = getglobal(GB_Get_UnitBar(this.unit));
if (unitBar and GB_Settings[GB_INDEX][unitBar.index].mouseover) then
unitBar.timer = nil;
unitBar:Show();
end
end
function GB_MarsRaidFrame_OnLeave()
GB_Old_MarsRaidFrame_OnLeave();
local unitBar = getglobal(GB_Get_UnitBar(this.unit));
if (unitBar and GB_Settings[GB_INDEX][unitBar.index].mouseover) then
unitBar.timer = GB_MOUSEOUT_TIME;
end
end
Generated by GNU Enscript 1.6.5.90.