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(" " .. 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(" " .. 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(" " .. CT_TICKMOD_ON, 1.0, 1.0, 0.0); CT_TicksFrame:Show(); else CT_TicksFrame:Hide(); CT_TickMod_Print(" " .. 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