vanilla-wow-addons – Rev 1

Subversion Repositories:
Rev:
--------------------------------------------------------------------------
-- TitanBGinfo.lua 
--------------------------------------------------------------------------
--[[

Titan Panel [BGinfo]
        Plug-in for Titan Panel that displays Battleground info.  When you are
        in a queue to enter a Battleground, the estimated wait time and your 
        current wait time will be displayed when hovering over BGinfo.  When you
        are in a Battleground your BG stats will be displayed.  Can be used to
        replace the Minimap Battleground icon (which can be hidden).   

Author: Corgi - corgiwow@gmail.com

v0.06 (January 6, 2006 11:05 PST)
- updated for 1.90 patch

v0.05 (September 15, 2005 11:37 PST)
- updated toc# for 1.70 patch
- added support for Arathi Basin Battleground

v0.04 (June 13, 2005 20:05 PST)
- added BattleField Instance Run Time
- updated toc# for 1.60 patch
- updated for Titan Panel 1.24
- added French localization

v0.03 (June 12, 2005 22:35 PST)
- renamed "Honor Gained" to "Bonus Honor"

v0.02 (June 11, 2005 15:00 PST)
- added estimated wait time and time waited to the BGinfo button when
  in a queue to enter a Battleground
- clicking on the BGinfo icon while in a Battleground will toggle the Stats
  window
- added abbreviated Battleground map name to the BGinfo button when in a
  queue or a Battleground
- added the ability to handle "confirm" state

v0.01 (June 10, 2005 12:40 PST)
- Initial Release

TODO: German, French and Korean translations.
      
NOTE: Requires Titan Panel version 1.22+

]]--

TITAN_BGINFO_ID = "BGinfo";

-- default icon
TITAN_BGINFO_ICON = "Interface\\PvPRankBadges\\PvPRankAlliance";

--
-- OnFuctions
--
function TitanPanelBGinfoButton_OnLoad()        
        this.registry = { 
                id = TITAN_BGINFO_ID,
                menuText = TITAN_BGINFO_MENU_TEXT, 
                buttonTextFunction = "TitanPanelBGinfoButton_GetButtonText", 
                tooltipTitle = TITAN_BGINFO_TOOLTIP,
                tooltipTextFunction = "TitanPanelBGinfoButton_GetTooltipText",
                icon = TITAN_BGINFO_ICON,
                iconWidth = 16,
                savedVariables = {
                        ShowIcon = 1,
                        ShowLabelText = 1,
                        HideMinimap = TITAN_NIL,
                        BGINFO_AutoRes = 0,
                        BGINFO_AutoJoin = 0,
                        BGINFO_AutoRel = 0,
                }
        };
        this:RegisterEvent("UPDATE_WORLD_STATES");
    this:RegisterEvent("PLAYER_ENTERING_WORLD");
    
    this:RegisterEvent("BATTLEFIELDS_SHOW");
    this:RegisterEvent("BATTLEFIELDS_CLOSED");
    
    this:RegisterEvent("UPDATE_BATTLEFIELD_SCORE");
    this:RegisterEvent("UPDATE_BATTLEFIELD_STATUS");
    
    this:RegisterEvent("PLAYER_PVP_KILLS_CHANGED");
        --this:RegisterEvent("PLAYER_PVP_RANK_CHANGED");
        
        this:RegisterEvent("PLAYER_DEAD");
end

function TitanPanelBGinfoButton_OnEvent()
        
        --TitanPanelBGinfo_ChatPrint("BGinfo: OnEvent MAIN : "..event);
        
        if ( event == "UPDATE_WORLD_STATES" ) then
                --TitanPanelBGinfo_ChatPrint("In OnEvent => Update_World_State\n");
                RequestBattlefieldScoreData();
        end
        
        if ( event == "PLAYER_ENTERING_WORLD" ) then
                --TitanPanelBGinfo_ChatPrint("In OnEvent => Player_Entering_World");
                if ( UnitFactionGroup("player") == FACTION_ALLIANCE ) then
                        TITAN_BGINFO_ICON = "Interface\\PvPRankBadges\\PvPRankAlliance";
                else
                        TITAN_BGINFO_ICON = "Interface\\PvPRankBadges\\PvPRankHorde";
                end
                TitanPlugins[TITAN_BGINFO_ID].icon = TITAN_BGINFO_ICON;
                RequestBattlefieldScoreData();
        end
        
        if ( event == "BATTLEFIELDS_SHOW" ) then
                --TitanPanelBGinfo_ChatPrint("In OnEvent => Battlefields_Show\n");
        end
        
        if ( event == "BATTLEFIELDS_CLOSED" ) then
                --TitanPanelBGinfo_ChatPrint("In OnEvent => Battlefields_Closed\n");
        end
        
        if ( event == "UPDATE_BATTLEFIELD_SCORE" ) then
                --TitanPanelBGinfo_ChatPrint("In OnEvent => Update_Battlefield_Score\n");
                RequestBattlefieldScoreData();
        end
        
        if ( event == "UPDATE_BATTLEFIELD_STATUS" ) then
                --TitanPanelBGinfo_ChatPrint("In OnEvent => Update_Battlefield_Status\n");
                RequestBattlefieldScoreData();
        end
        
        if ( event == "PLAYER_PVP_KILLS_CHANGED" ) then
                --TitanPanelBG_ChatPrint("In OnEvent => Player_PVP_Kills_Changed\n");
                RequestBattlefieldScoreData();
        end
        
        if (event == "PLAYER_DEAD") then
                --TitanPanelBGinfo_AutoRes();
                -- Auto-Release upon death. But not when soulstoned, and only in battlegrounds.
                --local status, _, _ = GetBattlefieldStatus();
                --local queueID;
                --local status, mapName, instanceID;
                --for queueID = 1, MAX_BATTLEFIELD_QUEUES do
                --      status, mapName, instanceID = GetBattlefieldStatus(queueID);
                --      if (status == "active") and (not HasSoulstone()) and (TitanGetVar(TITAN_BGINFO_ID, "BGINFO_AutoRel") == 1) then
                --              RepopMe();
                --              break;
                --      end
                --end
        end
                
        --if ( UnitIsDeadOrGhost("player") ) then
        --      TitanPanelBGinfo_AutoRes();
        --      TitanPanelBGinfo_AutoRelease();
        --end
        
        if ( TitanGetVar(TITAN_BGINFO_ID, "HideMinimap") ) then
                        MiniMapBattlefieldFrame:Hide();
        end
        
        TitanPanelButton_UpdateButton(TITAN_BGINFO_ID); 
        TitanPanelButton_UpdateTooltip();
end

function TitanPanelBGinfoButton_OnClick(button)
        if ( button == "LeftButton" ) then
                local queueID;
                local status, mapName, instanceID; 
                for queueID=1,MAX_BATTLEFIELD_QUEUES do
                        status, mapName, instanceID = GetBattlefieldStatus(queueID);
                        if ( status == "active" ) then
                                ToggleWorldStateScoreFrame();
                                break;
                        end
                end
        end
end

--
-- Titan functions
--
function TitanPanelBGinfoButton_GetButtonText(id)       
        local buttonRichText = "";
        
        local queueID;
        local status, mapName, instanceID 
        
        for queueID=1, MAX_BATTLEFIELD_QUEUES do
                
                status, mapName, instanceID = GetBattlefieldStatus(queueID);
        
                local abbrmapName = TitanPanelBGinfo_MapNameAbbr(mapName);
        
                if ( abbrmapName == nil ) then
                        abbrmapName = "";
                end
        
                if ( instanceID ~= 0 ) then
                        abbrmapName = abbrmapName..instanceID;
                end
        
                if ( status == "queued" ) then
                
                        local waitTime = GetBattlefieldEstimatedWaitTime(queueID);
                        local timeInQueue = GetBattlefieldTimeWaited(queueID);
                
                        if ( waitTime == 0 ) then
                                waitTime = UNAVAILABLE;
                        elseif ( waitTime < 60000 ) then 
                                waitTime = LESS_THAN_ONE_MINUTE;
                        else
                                waitTime = TitanPanelBGinfo_SecondsToTimeAbbrev(waitTime/1000);
                        end

                        if ( timeInQueue == 0 ) then
                                timeInQueue = UNAVAILABLE;
                        elseif ( timeInQueue < 60000 ) then 
                                timeInQueue = LESS_THAN_ONE_MINUTE;
                        else
                                timeInQueue = TitanPanelBGinfo_SecondsToTimeAbbrev(timeInQueue/1000);
                        end
                        
                        buttonRichText = buttonRichText.." "..TitanUtils_GetGreenText(abbrmapName)..":"..TitanUtils_GetHighlightText(waitTime)..TitanUtils_GetNormalText(" / ")..TitanUtils_GetHighlightText(timeInQueue);
                
                elseif ( status == "confirm" ) then
                        
                        buttonRichText = buttonRichText.." "..TitanUtils_GetGreenText(abbrmapName)..":"..TitanUtils_GetHighlightText(TITAN_BGINFO_CONFIRM_TEXT);
                        
                elseif ( status == "active" ) then
                        
                        --local numStatColumns = GetNumBattlefieldStats();
                        
                        --if ( numStatColumns == 2 ) then
                        --      buttonRichText = TitanUtils_GetHighlightText(" CTF: "..abbrmapName);
                        --elseif ( numStatColumns == 7 ) then
                                buttonRichText = TitanUtils_GetHighlightText(" "..abbrmapName);
                        --end
                                
                else
                        --buttonRichText = buttonRichText.." "..TitanUtils_GetHighlightText(" N/A");
                end
        end
        
        return TITAN_BGINFO_BUTTON_LABEL, buttonRichText;
end

function TitanPanelBGinfoButton_GetTooltipText()
        local tooltipRichText = "";
        local bgName = nil;
        
        RequestBattlefieldScoreData();

        local playerName = UnitName("player");
        
        local queueID;
        local status, mapName, instanceID;
        for queueID=1,MAX_BATTLEFIELD_QUEUES do
                status, mapName, instanceID = GetBattlefieldStatus(queueID);
        
                local abbrmapName = TitanPanelBGinfo_MapNameAbbr(mapName);
                
                if ( abbrmapName == nil ) then
                        abbrmapName = "";
                end
                                
                if ( instanceID ~= 0 ) then
                        mapName = mapName.." "..instanceID;
                end
                        
                if ( status == "none" ) then
                
                        --tooltipRichText = tooltipRichText.."Queue"..queueID..": "..TITAN_BGINFO_NOTIN_TEXT.."\n";
                        
                elseif ( status == "queued" ) then
                
                        local waitTime = GetBattlefieldEstimatedWaitTime(queueID);
                        local timeInQueue = GetBattlefieldTimeWaited(queueID)/1000;
                        if ( waitTime == 0 ) then
                                waitTime = UNAVAILABLE;
                        elseif ( waitTime < 60000 ) then
                                waitTime = LESS_THAN_ONE_MINUTE;
                        else
                                waitTime = SecondsToTime(waitTime/1000, 1);
                        end
                        tooltipRichText = tooltipRichText..format(BATTLEFIELD_IN_QUEUE, mapName, TitanUtils_GetHighlightText(waitTime), TitanUtils_GetHighlightText(SecondsToTime(timeInQueue))).."\n\n";
                
                elseif ( status == "confirm" ) then
                
                        tooltipRichText = tooltipRichText..format(BATTLEFIELD_QUEUE_CONFIRM, mapName, TitanUtils_GetHighlightText(SecondsToTime(GetBattlefieldPortExpiration(queueID)/1000))).."\n\n";
                        
                elseif ( status == "active" ) then
                
                        local numScores = GetNumBattlefieldScores();
                        local name, kills, killingBlows, deaths, honorGained, faction, rank, race, class;
                        
                        --TitanPanelBGinfo_ChatPrint("numScores: "..numScores.."\n");
                        
                        tooltipRichText = tooltipRichText..mapName.."\n";
                        
                        for i=1, 80 do
                                name, killingBlows, honorableKills, deaths, honorGained, faction, rank, race, class = GetBattlefieldScore(i);
                                
                                if ( name == playerName ) then
                                        --TitanPanelBGinfo_ChatPrint(i..":"..name..":"..killingBlows..":"..honorableKills..":"..deaths.."\n");
                                        tooltipRichText = tooltipRichText..TitanUtils_GetGreenText(KILLING_BLOWS..":").."\t"..TitanUtils_GetHighlightText(killingBlows).."\n";
                                        tooltipRichText = tooltipRichText..TitanUtils_GetGreenText(HONORABLE_KILLS..":").."\t"..TitanUtils_GetHighlightText(honorableKills).."\n";
                                        tooltipRichText = tooltipRichText..TitanUtils_GetGreenText(DEATHS..":").."\t"..TitanUtils_GetHighlightText(deaths).."\n";
                                        tooltipRichText = tooltipRichText..TitanUtils_GetGreenText(TITAN_BGINFO_BONUS_HONOR_TEXT..":").."\t"..TitanUtils_GetHighlightText(honorGained).."\n";
                                        
                                        local numStatColumns = GetNumBattlefieldStats();
                                        --TitanPanelBGinfo_ChatPrint(numStatColumns);
                                        
                                        for j=1, MAX_NUM_STAT_COLUMNS do
                                                if ( j <= numStatColumns ) then
                                                        columnData = GetBattlefieldStatData(i, j);
                                  
                                                        if ( abbrmapName == TITAN_BGINFO_WG_TEXT) then
                                                                if ( j == 1 ) then
                                                                        tooltipRichText = tooltipRichText..TitanUtils_GetGreenText(TITAN_BGINFO_FLAGS_CAPTURED_TEXT..": ").."\t"..TitanUtils_GetHighlightText(columnData).."\n";
                                                                elseif ( j == 2) then
                                                                        tooltipRichText = tooltipRichText..TitanUtils_GetGreenText(TITAN_BGINFO_FLAGS_RETURNED_TEXT..": ").."\t"..TitanUtils_GetHighlightText(columnData).."\n";
                                                                end
                                                        elseif ( abbrmapName == TITAN_BGINFO_AV_TEXT ) then                                     
                                                                if ( j == 1 ) then
                                                                        tooltipRichText = tooltipRichText..TitanUtils_GetGreenText(TITAN_BGINFO_GRAVEYARDS_ASSAULTED_TEXT..": ").."\t"..TitanUtils_GetHighlightText(columnData).."\n";
                                                                elseif ( j == 2 ) then
                                                                        tooltipRichText = tooltipRichText..TitanUtils_GetGreenText(TITAN_BGINFO_GRAVEYARDS_DEFENDED_TEXT..": ").."\t"..TitanUtils_GetHighlightText(columnData).."\n";
                                                                elseif ( j == 3 ) then
                                                                        tooltipRichText = tooltipRichText..TitanUtils_GetGreenText(TITAN_BGINFO_TOWERS_ASSAULTED_TEXT..": ").."\t"..TitanUtils_GetHighlightText(columnData).."\n";
                                                                elseif ( j == 4 ) then
                                                                        tooltipRichText = tooltipRichText..TitanUtils_GetGreenText(TITAN_BGINFO_TOWERS_DEFENDED_TEXT..": ").."\t"..TitanUtils_GetHighlightText(columnData).."\n";
                                                                elseif ( j == 5 ) then
                                                                        tooltipRichText = tooltipRichText..TitanUtils_GetGreenText(TITAN_BGINFO_MINES_CAPTURED_TEXT..": ").."\t"..TitanUtils_GetHighlightText(columnData).."\n";
                                                                elseif ( j == 6 ) then
                                                                        tooltipRichText = tooltipRichText..TitanUtils_GetGreenText(TITAN_BGINFO_LEADERS_KILLED_TEXT..": ").."\t"..TitanUtils_GetHighlightText(columnData).."\n";
                                                                elseif ( j == 7 ) then
                                                                        tooltipRichText = tooltipRichText..TitanUtils_GetGreenText(TITAN_BGINFO_SECONDARY_OBJECTIVES_TEXT..": ").."\t"..TitanUtils_GetHighlightText(columnData).."\n";
                                                                end
                                                        elseif ( abbrmapName == TITAN_BGINFO_AB_TEXT ) then
                                                                if ( j == 1 ) then
                                                                        tooltipRichText = tooltipRichText..TitanUtils_GetGreenText(TITAN_BGINFO_BASES_ASSAULTED_TEXT..": ").."\t"..TitanUtils_GetHighlightText(columnData).."\n";
                                                                elseif ( j == 2) then
                                                                        tooltipRichText = tooltipRichText..TitanUtils_GetGreenText(TITAN_BGINFO_BASES_DEFENDED_TEXT..": ").."\t"..TitanUtils_GetHighlightText(columnData).."\n";
                                                                end
                                                        end
                                                end
                                        end
                                        break;
                                end
                        end     
                        break;
                end
                
                local bgtime = GetBattlefieldInstanceRunTime();
        end     
                
        tooltipRichText = tooltipRichText.."\n"..TitanUtils_GetGreenText(TITAN_BGINFO_HINT_TEXT);
        
        return tooltipRichText;
end

--
-- create menus
--
function TitanPanelRightClickMenu_PrepareBGinfoMenu()
        local info = {};
        
        if ( UIDROPDOWNMENU_MENU_LEVEL == 2 ) then              
                if ( UIDROPDOWNMENU_MENU_VALUE == "DisplayAbout" ) then
                        info = {};
                        info.text = TITAN_BGINFO_ABOUT_POPUP_TEXT;
                        info.value = "AboutTextPopUP";
                        info.notClickable = 1;
                        info.isTitle = 0;
                        UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
                end
                
                if ( UIDROPDOWNMENU_MENU_VALUE == "BGINFO_Options" ) then
                        --info = {};
                        --info.text = TITANBG_MENU_AUTOJOIN;
                        --info.value = "B_AutoJoin";
                        --info.func = TitanPanelTitanBGButton_ToggleVar;
                        --info.checked = TitanGetVar(TITAN_TITANBG_ID, "B_AutoJoin");
                        --info.keepShownOnClick = 1;
                        --UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);

                        --TitanPanelRightClickMenu_AddSpacer(UIDROPDOWNMENU_MENU_LEVEL);
                        
                        --info = {};
                        --info.text = TITAN_BGINFO_AUTORES_TEXT;
                        --info.value = "BGINFO_AutoRes";
                        --info.func = TitanPanelBGinfo_ToggleVar;
                        --info.checked = TitanGetVar(TITAN_BGINFO_ID, "BGINFO_AutoRes");
                        --info.keepShownOnClick = 1;
                        --UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
                        
                        --info = {};
                        --info.text = TITAN_BGINFO_AUTOREL_TEXT;
                        --info.value = "BGINFO_AutoRel";
                        --info.func = TitanPanelBGinfo_ToggleVar;
                        --info.checked = TitanGetVar(TITAN_BGINFO_ID, "BGINFO_AutoRel");
                        --info.keepShownOnClick = 1;
                        --UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
                end
                
                return;
        end
        
        TitanPanelRightClickMenu_AddTitle(TitanPlugins[TITAN_BGINFO_ID].menuText);
        
        local queueID;
        local status, mapName, instanceID;
        local numQueued = 0;
        local activeBG = 0;
        for queueID=1,MAX_BATTLEFIELD_QUEUES do
                status, mapName, instanceID = GetBattlefieldStatus(queueID);
        
                if ( status == "queued" or status == "confirm") then
                        numQueued = numQueued+1;
                        -- Add a spacer if there were dropdown items before this
                        if ( numQueued > 1 ) then
                                info = {};
                                info.text = "";
                                info.isTitle = 1;
                                --info.notCheckable = 1;
                                UIDropDownMenu_AddButton(info);
                        end
                        info = {};
                        info.text = mapName;
                        info.isTitle = 1;
                        --info.notCheckable = 1;
                        UIDropDownMenu_AddButton(info);
                        
                        if ( status == "queued" ) then
                                info = {};
                                info.text = CHANGE_INSTANCE;
                                info.func = ShowBattlefieldList;
                                info.arg1 = queueID;
                                --info.notCheckable = 1;
                                UIDropDownMenu_AddButton(info);
                                info = {};
                                info.text = LEAVE_QUEUE;
                                info.func = AcceptBattlefieldPort;
                                info.arg1 = queueID;
                                info.arg2 = nil;
                                --info.notCheckable = 1;
                                UIDropDownMenu_AddButton(info);
                                

                        elseif ( status == "confirm") then
                                info = {};
                                info.text = ENTER_BATTLE;
                                info.func = AcceptBattlefieldPort;
                                info.arg1 = queueID;
                                info.arg2 = 1;
                                --info.notCheckable = 1;
                                UIDropDownMenu_AddButton(info);
                                info = {};
                                info.text = LEAVE_QUEUE;
                                info.func = AcceptBattlefieldPort;
                                info.arg1 = queueID;
                                info.arg2 = nil;
                                --info.notCheckable = 1;
                                UIDropDownMenu_AddButton(info);
                        end
                elseif ( status == "active" ) then
                        activeBG = 1;
                        info = {};
                        info.text = TITAN_BGINFO_TOGGLE_SCORES_TEXT;
                        info.func = ToggleWorldStateScoreFrame;
                        UIDropDownMenu_AddButton(info);
                        break;        
                end
        end
        
        TitanPanelRightClickMenu_AddSpacer();
        
        if ( activeBG == 1 or numQueued > 0 ) then
                info = {};
                info.text = TITAN_BGINFO_TOGGLE_MINIMAP_TEXT;
                info.value = "ToggleMiniIcon";
                info.func = function ()
                        if ( MiniMapBattlefieldFrame ~= nil) then
                                        if ( MiniMapBattlefieldFrame:IsVisible() ) then
                                                TitanSetVar(TITAN_BGINFO_ID,"HideMinimap",1);
                                                MiniMapBattlefieldFrame:Hide();
                                        else
                                                TitanSetVar(TITAN_BGINFO_ID,"HideMinimap",nil);
                                                MiniMapBattlefieldFrame:Show();
                                        end
                                end
                end
                UIDropDownMenu_AddButton(info);
        end
        
        -- options (autores, autorelease)
        --info = {};
        --info.text = TITAN_BGINFO_OPTIONS_TEXT;
        --info.value = "BGINFO_Options";
        --info.hasArrow = 1;
        --UIDropDownMenu_AddButton(info);
        
        TitanPanelRightClickMenu_AddSpacer();
        TitanPanelRightClickMenu_AddToggleLabelText(TITAN_BGINFO_ID);
        TitanPanelRightClickMenu_AddCommand(TITAN_PANEL_MENU_HIDE, TITAN_BGINFO_ID, TITAN_PANEL_MENU_FUNC_HIDE);
        
        -- info about plugin
        local info = {};
        info.text = TITAN_BGINFO_ABOUT_TEXT;
        info.value = "DisplayAbout";
        info.hasArrow = 1;
        UIDropDownMenu_AddButton(info);
end

--
-- BGinfo functions
--
function TitanPanelBGinfo_MapNameAbbr(mapName)

        if ( mapName == TITAN_BGINFO_AV_FULL_TEXT ) then
                mapName = TITAN_BGINFO_AV_TEXT;
        elseif ( mapName == TITAN_BGINFO_WG_FULL_TEXT ) then
                mapName = TITAN_BGINFO_WG_TEXT;
        elseif ( mapName == TITAN_BGINFO_AB_FULL_TEXT ) then
                mapName = TITAN_BGINFO_AB_TEXT;
        end
        
        return mapName;
end

function TitanPanelBGinfo_SecondsToTimeAbbrev(seconds)
        local time = "";
        local tempTime;
        if ( seconds > 86400  ) then
                tempTime = floor(seconds / 86400);
                time = tempTime.." "..DAY_ONELETTER_ABBR;
                return time;
        end
        if ( seconds > 3600  ) then
                tempTime = floor(seconds / 3600);
                time = tempTime.." "..HOUR_ONELETTER_ABBR;
                return time;
        end
        if ( seconds > 60  ) then
                tempTime = floor(seconds / 60);
                time = tempTime.." "..MINUTE_ONELETTER_ABBR;
                return time;
        end
        tempTime = format("%d", seconds);
        time = tempTime.." "..SECOND_ONELETTER_ABBR;
        return time;
end

function TitanPanelBGinfo_ToggleVar()
        TitanToggleVar(TITAN_BGINFO_ID, this.value);
        TitanPanelButton_UpdateButton(TITAN_BFINFO_ID);
end

function TitanPanelBGinfo_AutoRes()
        --if ( TitanGetVar(TITAN_BGINFO_ID, "BGINFO_AutoRes") ) then
        --      local status, _, _ = GetBattlefieldStatus();
        --      if ( status == "active" ) then
        --              if ( UnitIsGhost("player") ) then
        --                      AcceptAreaSpiritHeal();

        --                      for index = 1, STATICPOPUP_NUMDIALOGS, 1 do
        --                              local frame = getglobal("StaticPopup"..index);
        --                              if ( frame:IsVisible() and frame.which == "AREA_SPIRIT_HEAL" ) then
        --                                      getglobal("StaticPopup"..index.."Button1"):Hide();
        --                                      getglobal("StaticPopup"..index.."Button2"):Hide();
        --                              end
        --                      end
        --              end
        --      end
        --end
end

function TitanPanelBGinfo_AutoRelease()
        --if ( TitanGetVar(TITAN_BGINFO_ID, "BGINFO_AutoRel") ) then
        --      local status, _, _ = GetBattlefieldStatus();
        --      if ( status == "active" ) then
        --              RepopMe();
        --      end
        --end
end

function TitanPanelBGinfo_ChatPrint(msg)
        DEFAULT_CHAT_FRAME:AddMessage(msg);
end

Generated by GNU Enscript 1.6.5.90.