vanilla-wow-addons – Rev 1
?pathlinks?
TooltipsBase_ENABLE = 1;
TOOLTIP_IS_NEWBIE = nil;
TooltipsBase_Original_GameTooltip_ClearMoney = nil;
TooltipsBase_Original_GameTooltip_SetUnit = nil;
RealmPlayers = { };
RealmGuilds = { };
-- unithandle = "player" "target"
-- unittype = "elite" "rare" "raremob"
function UniversalFrameHandler(unithandle,unittype)
if( unithandle == "target" ) then
if( unittype == "elite" ) then
TargetFrameTexture:SetTexture("Interface\\TargetingFrame\\UI-TargetingFrame-Elite");
DUF_ChangeItNow_Elite();
elseif( unittype == "rare" ) then
TargetFrameTexture:SetTexture("Interface\\TargetingFrame\\UI-TargetingFrame-Rare");
DUF_ChangeItNow_Rare();
elseif( unittype == "raremob" ) then
TargetFrameTexture:SetTexture("Interface\\TargetingFrame\\UI-TargetingFrame-RareMob");
end
elseif( unithandle == "player" ) then
if( unittype == "elite" ) then
PlayerFrameTexture:SetTexture("Interface\\TargetingFrame\\UI-TargetingFrame-Elite");
elseif( unittype == "rare" ) then
PlayerFrameTexture:SetTexture("Interface\\TargetingFrame\\UI-TargetingFrame-Rare");
elseif( unittype == "raremob" ) then
PlayerFrameTexture:SetTexture("Interface\\TargetingFrame\\UI-TargetingFrame-RareMob");
end
end
end
function DUF_ChangeItNow_Elite()
if(DUF_Options) then
local texture;
if (DUF_Settings[DUF_INDEX].target.EliteTexture.elitetexture and DUF_Settings[DUF_INDEX].target.EliteTexture.elitetexture ~= "") then
texture = "Interface\\AddOns\\DiscordUnitFrames\\CustomTextures\\"..DUF_Settings[DUF_INDEX].target.EliteTexture.elitetexture;
elseif (DUF_Settings[DUF_INDEX].target.EliteTexture.faceleft) then
texture = "Interface\\AddOns\\DiscordUnitFrames\\Icons\\EliteLeft";
else
texture = "Interface\\AddOns\\DiscordUnitFrames\\Icons\\Elite";
end
if (DUF_OPTIONS_VISIBLE and (not DUF_Settings[DUF_INDEX].target.EliteTexture.hide)) then
DUF_TargetFrame_EliteTexture_Texture:SetTexture(texture);
DUF_TargetFrame_EliteTexture:Show();
return;
end
if (not DUF_Settings[DUF_INDEX].target.EliteTexture.hide) then
if (DUF_Settings[DUF_INDEX].target.EliteTexture.raretexture and DUF_Settings[DUF_INDEX].target.EliteTexture.raretexture ~= "") then
texture = "Interface\\AddOns\\DiscordUnitFrames\\CustomTextures\\"..DUF_Settings[DUF_INDEX].target.EliteTexture.raretexture;
elseif (DUF_Settings[DUF_INDEX].target.EliteTexture.faceleft) then
texture = "Interface\\AddOns\\DiscordUnitFrames\\Icons\\RareLeft";
else
texture = "Interface\\AddOns\\DiscordUnitFrames\\Icons\\Rare";
end
DUF_TargetFrame_EliteTexture_Texture:SetTexture(texture);
DUF_TargetFrame_EliteTexture:Show();
end
end
end
function DUF_ChangeItNow_Rare()
if(DUF_Options) then
local texture;
if (DUF_Settings[DUF_INDEX].target.EliteTexture.elitetexture and DUF_Settings[DUF_INDEX].target.EliteTexture.elitetexture ~= "") then
texture = "Interface\\AddOns\\DiscordUnitFrames\\CustomTextures\\"..DUF_Settings[DUF_INDEX].target.EliteTexture.elitetexture;
elseif (DUF_Settings[DUF_INDEX].target.EliteTexture.faceleft) then
texture = "Interface\\AddOns\\DiscordUnitFrames\\Icons\\EliteLeft";
else
texture = "Interface\\AddOns\\DiscordUnitFrames\\Icons\\Elite";
end
if (DUF_OPTIONS_VISIBLE and (not DUF_Settings[DUF_INDEX].target.EliteTexture.hide)) then
DUF_TargetFrame_EliteTexture_Texture:SetTexture(texture);
DUF_TargetFrame_EliteTexture:Show();
return;
end
if (not DUF_Settings[DUF_INDEX].target.EliteTexture.hide) then
if (DUF_Settings[DUF_INDEX].target.EliteTexture.raretexture and DUF_Settings[DUF_INDEX].target.EliteTexture.raretexture ~= "") then
texture = "Interface\\AddOns\\DiscordUnitFrames\\CustomTextures\\"..DUF_Settings[DUF_INDEX].target.EliteTexture.raretexture;
elseif (DUF_Settings[DUF_INDEX].target.EliteTexture.faceleft) then
texture = "Interface\\AddOns\\DiscordUnitFrames\\Icons\\RareLeft";
else
texture = "Interface\\AddOns\\DiscordUnitFrames\\Icons\\Rare";
end
DUF_TargetFrame_EliteTexture_Texture:SetTexture(texture);
DUF_TargetFrame_EliteTexture:Show();
end
end
end
-- ARTHAS
function Realm_Arthas()
RealmPlayers = {
["Mobscene"] = "elite";
["Faredegyn"] = "elite";
["Damagius"] = "elite";
["Sketchy"] = "elite";
["Dakkon"] = "elite";
};
RealmGuilds = { };
end
-- NATHREZIM
function Realm_Nathrezim()
RealmPlayers = {
["Dakkan"] = "elite";
["Exodius"] = "elite";
["Arch"] = "elite";
["Kilah"] = "elite";
["Nightcrawlor"] = "elite";
["Archen"] = "elite";
["Archera"] = "elite";
};
RealmGuilds = {
["Ab Igne Inferiori"] = "rare";
};
end
-- ELDRAD THALAS
function Realm_Eldrad_Thalas()
RealmPlayers = {
["Bikk"] = "elite";
};
RealmGuilds = { };
end
-- DUNEMAUL
function Realm_Dunemaul()
RealmPlayers = {
["Melady"] = "elite";
["Dardas"] = "elite";
["Xandarous"] = "elite";
};
RealmGuilds = { };
end
-- STORMSCALE
function Realm_Stormscale()
RealmPlayers = {
["Valec"] = "elite";
["Vilandra"] = "elite";
};
RealmGuilds = { };
end
-- MAL'GANIS
function Realm_MalGanis()
RealmPlayers = {
["Zariz"] = "elite";
};
RealmGuilds = { };
end
-- DRAGONBLIGHT
function Realm_Dragonblight()
RealmPlayers = {
["Kellen"] = "elite";
["Nossferratus"] = "elite";
};
RealmGuilds = { };
end
-- MEDIVH
function Realm_Medivh()
RealmPlayers = {
["Wizbang"] = "rare";
};
RealmGuilds = { };
end
-- STORMRAGE
function Realm_Stormrage()
RealmPlayers = {
["Breasal"] = "rare";
};
RealmGuilds = { };
end
-- ARCHIMONDE
function Realm_Archimonde()
RealmPlayers = {
["UFLA"] = "rare";
};
RealmGuilds = { };
end
-- ICECROWN
function Realm_Icecrown()
RealmPlayers = {
["Eludeveren"] = "elite";
};
RealmGuilds = { };
end
-- BLOODSCALP
function Realm_Bloodscalp()
RealmPlayers = {
["Canibis"] = "elite";
};
RealmGuilds = { };
end
-- PERENOLDE
function Realm_Perenolde()
RealmPlayers = {
["Nytebandit"] = "elite";
};
RealmGuilds = { };
end
-- AGGRAMAR
function Realm_Aggramar()
RealmPlayers = {
["Showdon"] = "elite";
};
RealmGuilds = { };
end
-- DEATHWING
function Realm_Deathwing()
RealmPlayers = {
["Narconis"] = "elite";
};
RealmGuilds = { };
end
-- DAGGERSPINE
function Realm_Daggerspine()
RealmPlayers = {
["Dyami"] = "elite";
};
RealmGuilds = { };
end
-- LIGHTNING'S BLADE
function Realm_LightningsBlade()
RealmPlayers = {
["Zeeg"] = "elite";
["Dakkan"] = "elite";
};
RealmGuilds = {
["Descension"] = "rare";
};
end
-- SKULLCRUSHER
function Realm_Skullcrusher()
RealmPlayers = {
["Reaver"] = "elite";
["Wizzy"] = "elite";
};
RealmGuilds = { };
end
-- KHAZ'GOROTH
function Realm_Khazgoroth()
RealmPlayers = {
["Nightslayer"] = "rare";
};
RealmGuilds = { };
end
-- AZJOL-NERUB
function Realm_AzjolNerub()
RealmPlayers = {
["Valentyne"] = "rare";
};
RealmGuilds = { };
end
-- CHROMAGGUS
function Realm_Chromaggus()
RealmPlayers = {
["Jezzy"] = "elite";
["Chillakilla"] = "elite";
["Dakken"] = "elite";
["Dakkon"] = "elite";
["Nathen"] = "elite";
["Raxle"] = "elite";
["Xenobia"] = "elite";
["Crazyska"] = "elite";
["Yulia"] = "elite";
};
RealmGuilds = {
["Mayhem"] = "rare";
};
end
-- WILDHAMMER
function Realm_Wildhammer()
RealmPlayers = {
["Archess"] = "elite";
["Prizm"] = "elite";
["Sen"] = "elite";
["Cen"] = "elite";
["Shikota"] = "elite";
["Archiess"] = "elite";
["Borealis"] = "elite";
};
RealmGuilds = {
["Atonement"] = "rare";
};
end
-- SMOLDERTHORN
function Realm_Smolderthorn()
RealmPlayers = {
["Blaen"] = "rare";
};
RealmGuilds = { };
end
-- CENARIUS
function Realm_Cenarius()
RealmPlayers = {
["Nuurelin"] = "elite";
};
RealmGuilds = { };
end
function TooltipsBase_GameTooltip_SetUnit(this,unit)
TooltipsBase_Original_GameTooltip_SetUnit(this,unit);
TooltipsBase_UnitHandler(unit);
TooltipsBase_MouseoverFixSize();
end
function TooltipsBase_GameTooltip_OnHide()
TOOLTIP_IS_NEWBIE = nil;
-- fix for clear money
if (TooltipsBase_ENABLE == 1) then
TooltipsBase_Original_GameTooltip_ClearMoney();
end
end
function TooltipsBase_GameTooltip_ClearMoney()
if (TooltipsBase_ENABLE == 1) then
-- do nothing, this is handled in the onHide now!
else
TooltipsBase_Original_GameTooltip_ClearMoney();
end
end
-- Handler called when mouseing over a unit
-- Example usage:
function TooltipsBase_UnitHandler(type)
TargetBorderType = RealmPlayers[UnitName("target")];
if( TargetBorderType ) then
UniversalFrameHandler("target", TargetBorderType);
else
TargetBorderType = RealmGuilds[GetGuildInfo("target")];
if( TargetBorderType ) then
UniversalFrameHandler("target", TargetBorderType);
end
end
end
-- fix the size and remove blank lines
-- note that blank lines can still be created by setting the string to ""
function TooltipsBase_MouseoverFixSize()
local tooltipName = "GameTooltip";
local newWidth = 0;
local newHeight = 20;
local lastValid = 0;
for i = 1, 20 do
local checkText = getglobal(tooltipName.."TextLeft"..i);
if (checkText and checkText:IsVisible()) then
local width = checkText:GetWidth() + 24;
if (width > newWidth) then
newWidth = width;
end
newHeight = newHeight + checkText:GetHeight() + 2;
lastValid = lastValid + 1;
if (lastValid ~= i) then
local moveText = getglobal(tooltipName.."TextLeft"..lastValid);
if (moveText ~= nil) then
moveText:SetText(checkText:GetText());
moveText:Show();
checkText:SetText("");
checkText:Hide();
end
end
end
end
GameTooltip:SetWidth(newWidth);
GameTooltip:SetHeight(newHeight);
end
function TooltipsBase_IsNewbieTip()
return TOOLTIP_IS_NEWBIE ;
end
function TooltipsBase_GameTooltip_AddNewbieTip(normalText, r, g, b, newbieText, noNormalText)
if ( SHOW_NEWBIE_TIPS == "1" ) then
TOOLTIP_IS_NEWBIE = 1;
else
TOOLTIP_IS_NEWBIE = nil;
end
end
function TooltipsBase_OnLoad()
-- Sea.util.hook("UnitFrame_OnEnter","TooltipsBase_UnitFrame_OnEnter","after");
-- Sea.util.hook("GameTooltip_OnHide","TooltipsBase_GameTooltip_OnHide","after");
-- Sea.util.hook("GameTooltip_AddNewbieTip","TooltipsBase_GameTooltip_AddNewbieTip","after");
-- Sea.util.hook("TooltipsBase_UnitHandler","TooltipsProps_UnitHandler","after");
-- fix for clear money
TooltipsBase_Original_GameTooltip_ClearMoney = GameTooltip_ClearMoney;
GameTooltip_ClearMoney = TooltipsBase_GameTooltip_ClearMoney;
-- Sea.util.hook doesnt handle GameTooltip:SetUnit
-- however this doesnt seem to be working right?
TooltipsBase_Original_GameTooltip_SetUnit = GameTooltip.SetUnit;
GameTooltip.SetUnit = TooltipsBase_GameTooltip_SetUnit;
if(UltimateUI_RegisterConfiguration) then
UltimateUI_RegisterConfiguration(
"UUI_TOOLTIPSBASE",
"SECTION",
TOOLTIPSBASE_SEP,
TOOLTIPSBASE_SEP_INFO
);
UltimateUI_RegisterConfiguration(
"UUI_TOOLTIPSBASE_SEP",
"SEPARATOR",
TOOLTIPSBASE_SEP,
TOOLTIPSBASE_SEP_INFO
);
UltimateUI_RegisterConfiguration(
"UUI_TOOLTIPS_BASE_C",
"CHECKBOX",
TOOLTIPSBASE_ENABLE,
TOOLTIPSBASE_ENABLE_INFO,
TooltipsBase_Toggle,
1
);
end
ThisRealmName = GetCVar("realmName");
-- Set correct props info according to realm
if( ThisRealmName == "Arthas" ) then
Realm_Arthas();
elseif( ThisRealmName == "Nathrezim" ) then
Realm_Nathrezim();
elseif( ThisRealmName == "Chromaggus" ) then
Realm_Chromaggus();
elseif( ThisRealmName == "Eldrad Thalas" ) then
Realm_Eldrad_Thalas();
elseif( ThisRealmName == "Dunemaul" ) then
Realm_Dunemaul();
elseif( ThisRealmName == "Stormscale" ) then
Realm_Stormscale();
elseif( ThisRealmName == "Mal'Ganis" ) then
Realm_MalGanis();
elseif( ThisRealmName == "Dragonblight" ) then
Realm_Dragonblight();
elseif( ThisRealmName == "Medivh" ) then
Realm_Medivh();
elseif( ThisRealmName == "Stormrage" ) then
Realm_Stormrage();
elseif( ThisRealmName == "Archimonde" ) then
Realm_Archimonde();
elseif( ThisRealmName == "Icecrown" ) then
Realm_Icecrown();
elseif( ThisRealmName == "Bloodscalp" ) then
Realm_Bloodscalp();
elseif( ThisRealmName == "Perenolde" ) then
Realm_Perenolde();
elseif( ThisRealmName == "Aggramar" ) then
Realm_Aggramar();
elseif( ThisRealmName == "Deathwing" ) then
Realm_Deathwing();
elseif( ThisRealmName == "Daggerspine" ) then
Realm_Daggerspine();
elseif( ThisRealmName == "Lightning's Blade" ) then
Realm_LightningsBlade();
elseif( ThisRealmName == "Skullcrusher" ) then
Realm_Skullcrusher();
elseif( ThisRealmName == "Azjol-Nerub" ) then
Realm_AzjolNerub();
elseif( ThisRealmName == "Khaz'goroth" ) then
Realm_Khazgoroth();
elseif( ThisRealmName == "Wildhammer" ) then
Realm_Wildhammer();
elseif( ThisRealmName == "Smolderthorn" ) then
Realm_Smolderthorn();
elseif( ThisRealmName == "Cenarius" ) then
Realm_Cenarius();
end
-- this:RegisterEvent("UPDATE_MOUSEOVER_UNIT");
end
function TooltipsBase_Toggle(toggle)
if(toggle == 1) then
TooltipsBase_ENABLE = 1;
else
TooltipsBase_ENABLE = nil;
end
end