vanilla-wow-addons – Rev 1
?pathlinks?
CT_CurrHealth = 0;
CT_CurrMana = 0;
-- Titan stuff
CT_TickMod_LastHP = 0;
CT_TickMod_LastMP = 0;
CT_TICKMOD_TITAN_BUTTONTEXT_HP = "HP/Tick: |c00FFFFFF%s|r";
CT_TICKMOD_TITAN_BUTTONTEXT_MP = "MP/Tick: |c00FFFFFF%s|r";
CT_TickMod_Titan_ShowHP = 1;
CT_TickMod_Titan_ShowMP = 1;
CT_TickMod_Titan_HideFrame = nil;
if ( CT_AddMovable ) then
CT_AddMovable("CT_TicksFrame", CT_TICKMOD_MOVABLE, "RIGHT", "LEFT", "Minimap", -14, 67);
end
function CT_TickMod_Print(msg, r, g, b)
if ( CT_Print ) then
CT_Print(msg, r, g, b);
else
DEFAULT_CHAT_FRAME:AddMessage(msg, r, g, b);
end
end
if ( CT_RegisterMod ) then
--Start of Function Mod
tbfunc = function (modId)
local val = CT_Mods[modId]["modStatus"];
if ( val == "on" ) then
CT_TickMod_Print("<CTMod> " .. CT_TICBORDER_ON, 1, 1, 0);
CT_TicksFrame:SetBackdropColor(0, 0.1, 0.9, 0.25);
CT_TicksFrame:SetBackdropBorderColor(1, 1, 1, 0.5);
else
CT_TickMod_Print("<CTMod> " .. CT_TICBORDER_OFF, 1, 1, 0);
CT_TicksFrame:SetBackdropColor(1, 1, 1, 0);
CT_TicksFrame:SetBackdropBorderColor(1, 1, 1, 0);
end
end
function tbinitfunc(modId)
local val = CT_Mods[modId]["modStatus"];
if ( val == "on" ) then
CT_TickMod_HideBorder = nil;
CT_TicksFrame:SetBackdropColor(0, 0.1, 0.9, 0.25);
CT_TicksFrame:SetBackdropBorderColor(1, 1, 1, 0.5);
else
CT_TickMod_HideBorder = 1;
CT_TicksFrame:SetBackdropColor(1, 1, 1, 0);
CT_TicksFrame:SetBackdropBorderColor(1, 1, 1, 0);
end
end
--End of Function Mod
tickfunction = function (modId)
local val = CT_Mods[modId]["modStatus"]
if ( val == "on" ) then
CT_TickMod_Print("<CTMod> " .. CT_TICKMOD_ON, 1.0, 1.0, 0.0);
CT_TicksFrame:Show();
else
CT_TicksFrame:Hide();
CT_TickMod_Print("<CTMod> " .. CT_TICKMOD_OFF, 1.0, 1.0, 0.0);
end
end
function tickInitFunction(modId)
local val = CT_Mods[modId]["modStatus"];
if ( val == "on" ) then
CT_TicksFrame:Show();
else
CT_TicksFrame:Hide();
end
end
CT_RegisterMod(CT_TICKMOD_MODNAME, CT_TICKMOD_SUBNAME, 4, "Interface\\Icons\\Spell_Nature_HealingTouch", CT_TICKMOD_TOOLTIP, "off", nil, tickfunction, tickInitFunction);
--Start of Registration Mod
CT_RegisterMod(CT_TICBORDER_MODNAME,
CT_TICBORDER_SUBNAME,
4,
"Interface\\Icons\\Spell_Nature_HealingTouch",
CT_TICBORDER_TOOLTIP,
"on",
nil,
tbfunc,
tbinitfunc
);
else
SlashCmdList["TICKMOD"] = function(msg)
if ( msg == "hide border" ) then
CT_TickMod_HideBorder = 1;
CT_TicksFrame:SetBackdropColor(1, 1, 1, 0);
CT_TicksFrame:SetBackdropBorderColor(1, 1, 1, 0);
elseif ( msg == "show border" ) then
CT_TickMod_HideBorder = nil;
CT_TicksFrame:SetBackdropColor(0, 0.1, 0.9, 0.25);
CT_TicksFrame:SetBackdropBorderColor(1, 1, 1, 0.5);
elseif ( msg == "hide" ) then
CT_TickMod_Titan_HideFrame = 1;
CT_TicksFrame:Hide();
elseif ( msg == "show" ) then
CT_TickMod_Titan_HideFrame = nil;
CT_TicksFrame:Show();
else
CT_TickMod_Print("You can use the following commands to customize CT_TickMod:", 1, 1, 0);
CT_TickMod_Print("|c00FFFFFF/tickmod hide|r - Hides the TickMod frame", 1, 1, 0);
CT_TickMod_Print("|c00FFFFFF/tickmod show|r - Shows the TickMod frame", 1, 1, 0);
CT_TickMod_Print("|c00FFFFFF/tickmod hide border|r - Hides the TickMod border", 1, 1, 0);
CT_TickMod_Print("|c00FFFFFF/tickmod show border|r - Shows the TickMod border", 1, 1, 0);
CT_TickMod_Print("You can substitute |c00FFFFFF/tickmod|r with |c00FFFFFF/tm|r.", 1, 1, 0);
end
end
SLASH_TICKMOD1 = "/tickmod";
SLASH_TICKMOD2 = "/tm";
CT_TickMod_Print("CT_TickMod loaded. Type /tickmod for more information.", 1, 1, 0);
end
--End of Registration Mod
function CT_TickMod_FadeMana()
if ( this.alphamana <= 0.25 ) then return; end
this.alphamana = this.alphamana - 0.0075;
CT_TicksMana:SetAlpha(this.alphamana);
end
function CT_TickMod_FadeHealth()
if ( this.alphahealth <= 0.25 ) then return; end
this.alphahealth = this.alphahealth - 0.0075;
CT_TicksHealth:SetAlpha(this.alphahealth);
end
function CT_TickMod_Fade(elapsed)
this.update = this.update + elapsed;
if ( this.update >= 0.01 ) then
this.update = this.update - 0.01;
CT_TickMod_FadeMana();
CT_TickMod_FadeHealth();
end
end
function CT_TickMod_OnEvent(event)
if ( event == "UNIT_HEALTH" or event == "UNIT_MAXHEALTH" and arg1 == "player" ) then
local curr = UnitHealth("player");
if ( curr > CT_CurrHealth and CT_CurrHealth ~= 0 ) then
CT_TicksHealth:SetText("HP/Tick: |c00FFFFFF" .. curr-CT_CurrHealth .. "|r");
CT_TickMod_LastHP = curr-CT_CurrHealth;
CT_TicksFrame.alphahealth = 1;
CT_TicksHealth:SetAlpha(1);
end
CT_CurrHealth = curr;
end
if ( event == "UNIT_MANA" or event == "UNIT_MAXMANA" and arg1 == "player" ) then
local curr = UnitMana("player");
if ( curr > CT_CurrMana and CT_CurrMana ~= 0 ) then
CT_TicksMana:SetText("MP/Tick: |c00FFFFFF" .. curr-CT_CurrMana .. "|r");
CT_TickMod_LastMP = curr-CT_CurrMana;
CT_TicksFrame.alphamana = 1;
CT_TicksMana:SetAlpha(1);
end
CT_CurrMana = curr;
end
if ( event == "VARIABLES_LOADED" ) then
local class, eClass = UnitClass("player");
if ( UnitPowerType("player") > 0 and eClass ~= "DRUID" ) then
CT_TicksMana:Hide();
CT_TicksFrame:SetHeight(25); -- Decrease height
end
if ( CT_TickMod_Titan_HideFrame ) then
CT_TicksFrame:Hide();
end
if ( CT_TickMod_HideBorder ) then
CT_TicksFrame:SetBackdropColor(1, 1, 1, 0);
CT_TicksFrame:SetBackdropBorderColor(1, 1, 1, 0);
else
CT_TicksFrame:SetBackdropColor(0, 0.1, 0.9, 0.25);
CT_TicksFrame:SetBackdropBorderColor(1, 1, 1, 0.5);
end
end
end
function CT_TickMod_OnEnter()
if ( not CT_RegisterMod or CT_MF_ShowFrames ) then
GameTooltip:SetOwner(this, "ANCHOR_RIGHT");
GameTooltip:SetText("Click to drag");
end
end
function TitanPanelRegenButton_OnLoad()
this.registry={
id="Regen",
menuText="CT_Regen",
buttonTextFunction="TitanPanelRegenButton_GetButtonText",
frequency=0.1,
};
end
function TitanPanelRegenButton_GetButtonText()
local str = "";
if ( CT_TickMod_Titan_ShowHP ) then
if ( type(CT_TickMod_LastHP) == "number" ) then
if ( CT_TickMod_LastHP < 10 ) then
CT_TickMod_LastHP = " " .. CT_TickMod_LastHP;
elseif ( CT_TickMod_LastHP < 100 ) then
CT_TickMod_LastHP = " " .. CT_TickMod_LastHP;
else
CT_TickMod_LastHP = tostring(CT_TickMod_LastHP);
end
end
str = format(CT_TICKMOD_TITAN_BUTTONTEXT_HP, CT_TickMod_LastHP);
end
if ( CT_TickMod_Titan_ShowMP ) then
if ( type(CT_TickMod_LastMP) == "number" ) then
if ( CT_TickMod_LastMP < 10 ) then
CT_TickMod_LastMP = " " .. CT_TickMod_LastMP;
elseif ( CT_TickMod_LastMP < 100 ) then
CT_TickMod_LastMP = " " .. CT_TickMod_LastMP;
else
CT_TickMod_LastMP = tostring(CT_TickMod_LastMP);
end
end
if ( strlen(str) > 0 ) then
str = str .. " ";
end
str = str .. format(CT_TICKMOD_TITAN_BUTTONTEXT_MP, CT_TickMod_LastMP);
end
return str;
end
function TitanPanelRegenButton_ToggleHPDisplay()
CT_TickMod_Titan_ShowHP = not CT_TickMod_Titan_ShowHP;
if ( not CT_TickMod_Titan_ShowMP and not CT_TickMod_Titan_ShowHP ) then
CT_TickMod_Titan_ShowHP = 1;
TitanPanel_RemoveButton("Regen");
end
TitanPanelButton_UpdateButton("Regen");
end
function TitanPanelRegenButton_ToggleMPDisplay()
CT_TickMod_Titan_ShowMP = not CT_TickMod_Titan_ShowMP;
if ( not CT_TickMod_Titan_ShowMP and not CT_TickMod_Titan_ShowHP ) then
CT_TickMod_Titan_ShowMP = 1;
TitanPanel_RemoveButton("Regen");
end
TitanPanelButton_UpdateButton("Regen");
end
function TitanPanelRegenButton_ToggleShowFrame()
CT_TickMod_Titan_HideFrame = not CT_TickMod_Titan_HideFrame;
if ( CT_TickMod_Titan_HideFrame ) then
CT_TicksFrame:Hide();
else
CT_TicksFrame:Show();
end
end
function TitanPanelRightClickMenu_PrepareRegenMenu()
local id = "Regen";
TitanPanelRightClickMenu_AddTitle(TitanPlugins[id].menuText);
info = {};
info.text = "Display HP Regen";
info.func = TitanPanelRegenButton_ToggleHPDisplay;
info.checked = CT_TickMod_Titan_ShowHP;
UIDropDownMenu_AddButton(info);
info = {};
info.text = "Display MP Regen";
info.func = TitanPanelRegenButton_ToggleMPDisplay;
info.checked = CT_TickMod_Titan_ShowMP;
UIDropDownMenu_AddButton(info);
info = {};
info.text = "Hide CT Frame";
info.func = TitanPanelRegenButton_ToggleShowFrame;
info.checked = CT_TickMod_Titan_HideFrame;
UIDropDownMenu_AddButton(info);
TitanPanelRightClickMenu_AddSpacer();
TitanPanelRightClickMenu_AddCommand(TITAN_PANEL_MENU_HIDE, id, TITAN_PANEL_MENU_FUNC_HIDE);
end