vanilla-wow-addons – Rev 1

Subversion Repositories:
Rev:

-- Saved Data

PartySpotterSettings = {};





-- Local Variables

local timeSinceLastUpdate = 0;
local iiInterval = 10;
local timeSinceLastWMUpdate = 0;
local timeSinceLastBFMUpdate = 0;
local timeSinceLastAMUpdate = 0;
local updateInterval;
local highlightedGroup = 0;
local singleOut = "";

local PSTOPC = {};
PSTOPC.r = 0.64;
PSTOPC.g = 0.21;
PSTOPC.b = 0.93;

local groupColours = {
        "Interface\\Addons\\PartySpotter\\Artwork\\SpotGroup1",
        "Interface\\Addons\\PartySpotter\\Artwork\\SpotGroup2",
        "Interface\\Addons\\PartySpotter\\Artwork\\SpotGroup3",
        "Interface\\Addons\\PartySpotter\\Artwork\\SpotGroup4",
        "Interface\\Addons\\PartySpotter\\Artwork\\SpotGroup5",
        "Interface\\Addons\\PartySpotter\\Artwork\\SpotGroup6",
        "Interface\\Addons\\PartySpotter\\Artwork\\SpotGroup7",
        };

local groupNumbers = {
        "Interface\\Addons\\PartySpotter\\Artwork\\SpotGroup1t",
        "Interface\\Addons\\PartySpotter\\Artwork\\SpotGroup2t",
        "Interface\\Addons\\PartySpotter\\Artwork\\SpotGroup3t",
        "Interface\\Addons\\PartySpotter\\Artwork\\SpotGroup4t",
        "Interface\\Addons\\PartySpotter\\Artwork\\SpotGroup5t",
        "Interface\\Addons\\PartySpotter\\Artwork\\SpotGroup6t",
        "Interface\\Addons\\PartySpotter\\Artwork\\SpotGroup7t",
        "Interface\\Addons\\PartySpotter\\Artwork\\SpotGroup8t",
};

local friendA = {};
local numberOfFriends = 0;
local ignoreA = {};
guildA = {};
numberOfGuildMembers = 0;






-- Local Constants

local PSTOP_DEFAULT_INTERVAL = 1;
local MAX_RAID_GROUPINGS = 8;









-- AddOn Functions

function PartySpotter_OnLoad()
        this:RegisterEvent("ADDON_LOADED");
        this:RegisterEvent("FRIENDLIST_UPDATE");
        this:RegisterEvent("IGNORELIST_UPDATE");
        this:RegisterEvent("GUILD_ROSTER_UPDATE");
        this:RegisterEvent("PLAYER_ENTERING_WORLD");

        SlashCmdList["PTSPOT"] = function(pList)
                PartySpotter_CmdLine(pList);
        end
        SLASH_PTSPOT1 = "/pspot";

        if ( not PartySpotterSettings.updateInterval ) then
                updateInterval = PSTOP_DEFAULT_INTERVAL;
                PartySpotterSettings.updateInterval = updateInterval;
        else
                updateInterval = PartySpotterSettings.updateInterval;
        end

        DEFAULT_CHAT_FRAME:AddMessage("PartySpotter v2.52.11200", PSTOPC.r, PSTOPC.g, PSTOPC.b);
end

function WorldMapPartySpotterKey_OnLoad()
        WorldMapPartySpotterKeyBttn1IconsNumber:SetTexture("Interface\\Addons\\PartySpotter\\Artwork\\SpotGroup1t");
        WorldMapPartySpotterKeyBttn2IconsNumber:SetTexture("Interface\\Addons\\PartySpotter\\Artwork\\SpotGroup2t");
        WorldMapPartySpotterKeyBttn3IconsNumber:SetTexture("Interface\\Addons\\PartySpotter\\Artwork\\SpotGroup3t");
        WorldMapPartySpotterKeyBttn4IconsNumber:SetTexture("Interface\\Addons\\PartySpotter\\Artwork\\SpotGroup4t");
        WorldMapPartySpotterKeyBttn5IconsNumber:SetTexture("Interface\\Addons\\PartySpotter\\Artwork\\SpotGroup5t");
        WorldMapPartySpotterKeyBttn6IconsNumber:SetTexture("Interface\\Addons\\PartySpotter\\Artwork\\SpotGroup6t");
        WorldMapPartySpotterKeyBttn7IconsNumber:SetTexture("Interface\\Addons\\PartySpotter\\Artwork\\SpotGroup7t");
        WorldMapPartySpotterKeyBttn8IconsNumber:SetTexture("Interface\\Addons\\PartySpotter\\Artwork\\SpotGroup8t");
end

function AlphaMapPartySpotterKey_OnLoad()
        AlphaMapPartySpotterKeyBttn1IconsNumber:SetTexture("Interface\\Addons\\PartySpotter\\Artwork\\SpotGroup1t");
        AlphaMapPartySpotterKeyBttn2IconsNumber:SetTexture("Interface\\Addons\\PartySpotter\\Artwork\\SpotGroup2t");
        AlphaMapPartySpotterKeyBttn3IconsNumber:SetTexture("Interface\\Addons\\PartySpotter\\Artwork\\SpotGroup3t");
        AlphaMapPartySpotterKeyBttn4IconsNumber:SetTexture("Interface\\Addons\\PartySpotter\\Artwork\\SpotGroup4t");
        AlphaMapPartySpotterKeyBttn5IconsNumber:SetTexture("Interface\\Addons\\PartySpotter\\Artwork\\SpotGroup5t");
        AlphaMapPartySpotterKeyBttn6IconsNumber:SetTexture("Interface\\Addons\\PartySpotter\\Artwork\\SpotGroup6t");
        AlphaMapPartySpotterKeyBttn7IconsNumber:SetTexture("Interface\\Addons\\PartySpotter\\Artwork\\SpotGroup7t");
        AlphaMapPartySpotterKeyBttn8IconsNumber:SetTexture("Interface\\Addons\\PartySpotter\\Artwork\\SpotGroup8t");
end



function PartySpotter_OnEvent()
        if ( event == "ADDON_LOADED" ) then
                if ( ( arg1 ) and ( arg1 == "Blizzard_BattlefieldMinimap" ) ) then
                        PartySpotter_LoadBFM();
                end
        elseif ( event == "FRIENDLIST_UPDATE" ) then
                PartySpotter_UpdateFriends();
        elseif ( event == "IGNORELIST_UPDATE" ) then
                PartySpotter_UpdateIgnores();
        elseif ( event == "GUILD_ROSTER_UPDATE" ) then
                PartySpotter_UpdateGuild();
        elseif ( event == "PLAYER_ENTERING_WORLD" ) then
                PartySpotter_UpdateGuild();
                PartySpotter_UpdateIgnores();
                PartySpotter_UpdateFriends();
        end
end



function PartySpotter_CmdLine(pList)
        nList = tonumber(pList);
        if ( nList == nil ) then
                nList = -1;
        end
        pList = string.lower(pList);
        local t2 = string.sub(pList, 1, 2);
        local tCap = string.sub(pList, 4, 4);
        local tRest = string.sub(pList, 5);
        if ( ( nList > 0 ) and ( nList < 9.001 ) ) then
                updateInterval = nList;
                PartySpotterSettings.updateInterval = updateInterval;
                DEFAULT_CHAT_FRAME:AddMessage("PartySpotter On : "..updateInterval..PSPOT_DELAY_SUFFIX, PSTOPC.r, PSTOPC.g, PSTOPC.b);

        elseif ( t2 == "-l" ) then
                if ( PartySpotterSettings.showLeader ) then
                        PartySpotterSettings.showLeader = nil;
                        DEFAULT_CHAT_FRAME:AddMessage("PartySpotter : "..PSPOT_LEADER.." "..PSPOT_OFF, PSTOPC.r, PSTOPC.g, PSTOPC.b);
                else
                        PartySpotterSettings.showLeader = true;
                        DEFAULT_CHAT_FRAME:AddMessage("PartySpotter : "..PSPOT_LEADER, PSTOPC.r, PSTOPC.g, PSTOPC.b);
                end

        elseif ( t2 == "-t" ) then
                if ( ( tCap ) and ( tCap ~= "" ) and ( tCap ~= " " ) and ( tRest ) ) then
                        tCap = string.upper(tCap);
                        singleOut = tCap..tRest;
                        DEFAULT_CHAT_FRAME:AddMessage("PartySpotter : "..PSPOT_INDI.." "..singleOut, PSTOPC.r, PSTOPC.g, PSTOPC.b);
                else
                        singleOut = "";
                        DEFAULT_CHAT_FRAME:AddMessage("PartySpotter : "..PSPOT_INDI.." "..PSPOT_OFF, PSTOPC.r, PSTOPC.g, PSTOPC.b);
                end

        elseif ( nList == 0 ) then
                updateInterval = 0;
                PartySpotterSettings.updateInterval = 0;
                DEFAULT_CHAT_FRAME:AddMessage("PartySpotter "..PSPOT_OFF, PSTOPC.r, PSTOPC.g, PSTOPC.b);

        elseif ( pList == "reset" ) then
                PartySpotter_Reset();
                DEFAULT_CHAT_FRAME:AddMessage(PSPOT_HELP_TEXT);
                PartySpotter_ReportStatus();

        elseif ( pList == "showgroups icons" ) then
                PartySpotterSettings.showGroups = "Icons";
                DEFAULT_CHAT_FRAME:AddMessage("PartySpotter : "..PSPOT_COLOUR_GROUPS, PSTOPC.r, PSTOPC.g, PSTOPC.b);

        elseif ( pList == "showgroups numbers" ) then
                PartySpotterSettings.showGroups = "Numbers";
                DEFAULT_CHAT_FRAME:AddMessage("PartySpotter : "..PSPOT_NUMBER_GROUPS, PSTOPC.r, PSTOPC.g, PSTOPC.b);

        elseif ( pList == "showgroups off" ) then
                PartySpotterSettings.showGroups = nil;
                DEFAULT_CHAT_FRAME:AddMessage("PartySpotter : "..PSPOT_DFLT_GROUPS, PSTOPC.r, PSTOPC.g, PSTOPC.b);

        elseif ( ( pList == "showfriends" ) or ( pList == "togglefriends" ) ) then
                PartySpotterSettings.showIgnores = nil;
                PartySpotterSettings.showGuild = nil;
                if ( pList == "showfriends" ) then
                        if ( PartySpotterSettings.showFriends ) then
                                PartySpotterSettings.showFriends = nil;
                                DEFAULT_CHAT_FRAME:AddMessage("PartySpotter : "..PSPOT_SHOW_FRIENDS.." " ..PSPOT_OFF, PSTOPC.r, PSTOPC.g, PSTOPC.b);
                        else
                                PartySpotterSettings.showFriends = "1";
                                DEFAULT_CHAT_FRAME:AddMessage("PartySpotter : "..PSPOT_SHOW_FRIENDS, PSTOPC.r, PSTOPC.g, PSTOPC.b);
                        end
                else
                        PartySpotterSettings.showFriends = "1";
                        DEFAULT_CHAT_FRAME:AddMessage("PartySpotter : "..PSPOT_SHOW_FRIENDS, PSTOPC.r, PSTOPC.g, PSTOPC.b);
                end

        elseif ( ( pList == "showignores" ) or ( pList == "toggleignores" ) ) then
                PartySpotterSettings.showFriends = nil;
                PartySpotterSettings.showGuild = nil;
                if ( pList == "showignores" ) then
                        if ( PartySpotterSettings.showIgnores ) then
                                PartySpotterSettings.showIgnores = nil;
                                DEFAULT_CHAT_FRAME:AddMessage("PartySpotter : "..PSPOT_SHOW_IGNORES.." " ..PSPOT_OFF, PSTOPC.r, PSTOPC.g, PSTOPC.b);
                        else
                                PartySpotterSettings.showIgnores = "1";
                                DEFAULT_CHAT_FRAME:AddMessage("PartySpotter : "..PSPOT_SHOW_IGNORES, PSTOPC.r, PSTOPC.g, PSTOPC.b);
                        end
                else
                        PartySpotterSettings.showIgnores = "1";
                        DEFAULT_CHAT_FRAME:AddMessage("PartySpotter : "..PSPOT_SHOW_IGNORES, PSTOPC.r, PSTOPC.g, PSTOPC.b);
                end

        elseif ( ( pList == "showguild" ) or ( pList == "toggleguild" ) ) then
                PartySpotterSettings.showFriends = nil;
                PartySpotterSettings.showIgnores = nil;
                if ( pList == "showguild" ) then
                        if ( PartySpotterSettings.showGuild ) then
                                PartySpotterSettings.showGuild = nil;
                                DEFAULT_CHAT_FRAME:AddMessage("PartySpotter : "..PSPOT_SHOW_GUILD.." " ..PSPOT_OFF, PSTOPC.r, PSTOPC.g, PSTOPC.b);
                        else
                                PartySpotterSettings.showGuild = "1";
                                DEFAULT_CHAT_FRAME:AddMessage("PartySpotter : "..PSPOT_SHOW_GUILD, PSTOPC.r, PSTOPC.g, PSTOPC.b);
                        end
                else
                        PartySpotterSettings.showGuild = "1";
                        DEFAULT_CHAT_FRAME:AddMessage("PartySpotter : "..PSPOT_SHOW_GUILD, PSTOPC.r, PSTOPC.g, PSTOPC.b);
                end

        else
                DEFAULT_CHAT_FRAME:AddMessage(PSPOT_HELP_TEXT);
                PartySpotter_ReportStatus();
                local index = 0;
                local value = getglobal("PSPOT_HELP_TEXT"..index);
                while( value ) do
                        DEFAULT_CHAT_FRAME:AddMessage(value);
                        index = index + 1;
                        value = getglobal("PSPOT_HELP_TEXT"..index);
                end
                DEFAULT_CHAT_FRAME:AddMessage(PSPOT_HELP_TEXT);
        end
end

function PartySpotter_ReportStatus()
        if ( ( PartySpotterSettings.updateInterval > 0 ) and ( PartySpotterSettings.updateInterval < 9 ) ) then
                DEFAULT_CHAT_FRAME:AddMessage("PartySpotter : "..PartySpotterSettings.updateInterval..PSPOT_DELAY_SUFFIX, PSTOPC.r, PSTOPC.g, PSTOPC.b);
                if ( singleOut == "" ) then
                        DEFAULT_CHAT_FRAME:AddMessage("PartySpotter : "..PSPOT_INDI.." "..PSPOT_OFF, PSTOPC.r, PSTOPC.g, PSTOPC.b);
                else
                        DEFAULT_CHAT_FRAME:AddMessage("PartySpotter : "..PSPOT_INDI.." "..singleOut, PSTOPC.r, PSTOPC.g, PSTOPC.b);
                end
                if ( PartySpotterSettings.showLeader ) then
                        DEFAULT_CHAT_FRAME:AddMessage("PartySpotter : "..PSPOT_LEADER, PSTOPC.r, PSTOPC.g, PSTOPC.b);
                else
                        DEFAULT_CHAT_FRAME:AddMessage("PartySpotter : "..PSPOT_LEADER.." "..PSPOT_OFF, PSTOPC.r, PSTOPC.g, PSTOPC.b);
                end
                if ( PartySpotterSettings.showFriends ) then
                        DEFAULT_CHAT_FRAME:AddMessage("PartySpotter : "..PSPOT_SHOW_FRIENDS, PSTOPC.r, PSTOPC.g, PSTOPC.b);
                elseif ( PartySpotterSettings.showIgnores ) then
                        DEFAULT_CHAT_FRAME:AddMessage("PartySpotter : "..PSPOT_SHOW_IGNORES, PSTOPC.r, PSTOPC.g, PSTOPC.b);
                elseif ( PartySpotterSettings.showGuild ) then
                        DEFAULT_CHAT_FRAME:AddMessage("PartySpotter : "..PSPOT_SHOW_GUILD, PSTOPC.r, PSTOPC.g, PSTOPC.b);
                else
                        DEFAULT_CHAT_FRAME:AddMessage("PartySpotter : "..PSPOT_NO_HLIGHTS, PSTOPC.r, PSTOPC.g, PSTOPC.b);
                end
                if ( PartySpotterSettings.showGroups == "Icons" ) then
                        DEFAULT_CHAT_FRAME:AddMessage("PartySpotter : "..PSPOT_COLOUR_GROUPS, PSTOPC.r, PSTOPC.g, PSTOPC.b);
                elseif ( PartySpotterSettings.showGroups == "Numbers" ) then
                        DEFAULT_CHAT_FRAME:AddMessage("PartySpotter : "..PSPOT_NUMBER_GROUPS, PSTOPC.r, PSTOPC.g, PSTOPC.b);
                else
                        DEFAULT_CHAT_FRAME:AddMessage("PartySpotter : "..PSPOT_DFLT_GROUPS, PSTOPC.r, PSTOPC.g, PSTOPC.b);
                end
        else
                DEFAULT_CHAT_FRAME:AddMessage("PartySpotter : "..PSPOT_OFF, PSTOPC.r, PSTOPC.g, PSTOPC.b);
        end
end





function PartySpotter_OnUpdate(arg1)
        timeSinceLastUpdate = timeSinceLastUpdate + arg1;
        if ( timeSinceLastUpdate > iiInterval ) then
                PartySpotter_UpdateIgnores();
                timeSinceLastUpdate = 0;
        end
end

function PartySpotterWM_OnUpdate(arg1)
        timeSinceLastWMUpdate = timeSinceLastWMUpdate + arg1;
        if ( timeSinceLastWMUpdate > updateInterval ) then
                PartySpotter_Update("WorldMap");
                timeSinceLastWMUpdate = 0;
        end
end

function PartySpotterBFM_OnUpdate(arg1)
        timeSinceLastBFMUpdate = timeSinceLastBFMUpdate + arg1;
        if ( timeSinceLastBFMUpdate > updateInterval ) then
                PartySpotter_Update("BattlefieldMinimap");
                timeSinceLastBFMUpdate = 0;
        end
end

function PartySpotterAM_OnUpdate(arg1)
        timeSinceLastAMUpdate = timeSinceLastAMUpdate + arg1;
        if ( timeSinceLastAMUpdate > updateInterval ) then
                PartySpotter_Update("AlphaMap");
                timeSinceLastAMUpdate = 0;
        end
end



function PartySpotter_KeyButton_OnClick(mouseBttn, id)
        if ( highlightedGroup > 0 ) then
                local WMBttn = getglobal("WorldMapPartySpotterKeyBttn"..highlightedGroup);
                if ( WMBttn ) then
                        WMBttn:UnlockHighlight();
                end
                local AMBttn = getglobal("AlphaMapPartySpotterKeyBttn"..highlightedGroup);
                if ( AMBttn ) then
                        AMBttn:UnlockHighlight();
                end
        end
        if ( id == highlightedGroup ) then
                highlightedGroup = 0;
        else
                highlightedGroup = id;
                local WMBttn = getglobal("WorldMapPartySpotterKeyBttn"..id);
                if ( WMBttn ) then
                        WMBttn:LockHighlight();
                end
                local AMBttn = getglobal("AlphaMapPartySpotterKeyBttn"..id);
                if ( AMBttn ) then
                        AMBttn:LockHighlight();
                end
        end
end



function PartySpotter_Update(Map)

        PartySpotter_ResetRaidSpots(Map);
        PartySpotter_ResetPartySpots(Map);

        if ( PartySpotterSettings.updateInterval == 0 ) then
                WorldMapPartySpotterKey:Hide();
                AlphaMapPartySpotterKey:Hide();
                return;
        end

        if ( ( not UnitInRaid("player") ) and ( GetNumPartyMembers() < 1 ) ) then
                if ( ( singleOut ~= "" ) or ( PartySpotterSettings.showFriends ) or ( PartySpotterSettings.showIgnores ) or ( PartySpotterSettings.showGuild ) ) then
                        WorldMapPartySpotterKey:Hide();
                        AlphaMapPartySpotterKey:Hide();
                        for i=1, MAX_PARTY_MEMBERS, 1 do
                                local partyIcon = getglobal(Map.."Party"..i);
                                if ( ( partyIcon ) and ( partyIcon:IsVisible() ) ) then
                                        PartySpotter_UpdatePartyHighlight(Map, partyIcon, i);
--                              else
--                                      break;
                                end

                        end
                        for i=1, MAX_RAID_MEMBERS, 1 do
                                local raidIcon = getglobal(Map.."Raid"..i);
                                if ( ( raidIcon ) and ( raidIcon:IsVisible() ) ) then
                                        PartySpotter_UpdateRaidHighlight(Map, raidIcon, i);
--                              else
--                                      break;
                                end

                        end
                        return;
                end
        elseif ( UnitInRaid("player") ) then
                local pName = UnitName("player");
                local localGroup = 0;
                for i=1, MAX_RAID_MEMBERS, 1 do
                        local rName, rDiscard, rSubGroup = GetRaidRosterInfo(i);
                        if ( rName == pName ) then
                                localGroup = rSubGroup;
                        end
                end

                local mapKey = getglobal(Map.."PartySpotterKey");
                if ( ( PartySpotterSettings.showGroups ) and ( ( Map == "WorldMap" ) or ( Map == "AlphaMap" ) ) ) then
                        if ( mapKey ) then
                                for i = 1, MAX_RAID_GROUPINGS, 1 do
                                        local KeyOther = getglobal(Map.."PartySpotterKeyBttn"..i.."IconsOther");
                                        local KeyNumber = getglobal(Map.."PartySpotterKeyBttn"..i.."IconsNumber");
                                        local KeyParty = getglobal(Map.."PartySpotterKeyBttn"..i.."IconsParty");
                                        if ( i < localGroup ) then
                                                if ( PartySpotterSettings.showGroups == "Icons" ) then
                                                        KeyOther:SetTexture(groupColours[i]);
                                                        KeyOther:Show();
                                                else
                                                        KeyOther:Hide();
                                                end
                                                KeyParty:Hide();
                                        elseif ( i > localGroup ) then
                                                if ( PartySpotterSettings.showGroups == "Icons" ) then
                                                        KeyOther:SetTexture(groupColours[i-1]);
                                                        KeyOther:Show();
                                                else
                                                        KeyOther:Hide();
                                                end
                                                KeyParty:Hide();
                                        else
                                                KeyOther:Hide();
                                                KeyParty:Show();
                                        end
                                        mapKey:Show();
                                end
                        end
                else
                        if ( mapKey ) then
                                mapKey:Hide();
                        end
                end

                -- Set Map Icons accordingly
                for i=1, MAX_RAID_MEMBERS, 1 do
                        local raidIcon = getglobal(Map.."Raid"..i);
                        if ( raidIcon ) then
                                local unitHighlighted = nil;
                                if ( ( singleOut ~= "" ) or ( PartySpotterSettings.showFriends ) or ( PartySpotterSettings.showIgnores ) or ( PartySpotterSettings.showGuild ) ) then
                                        unitHighlighted = PartySpotter_UpdateRaidHighlight(Map, raidIcon, i);
                                end
                                if ( not unitHighlighted ) then
                                        local spotRaid = getglobal(Map.."SpotRaid"..i);
                                        if ( raidIcon.name ) then
                                                spotRaid:Hide();
                                        else
                                                local rName, rRank, rSubGroup = GetRaidRosterInfo(i);
                                                local spotRaidTextureParty = getglobal(Map.."SpotRaid"..i.."PartySpot");
                                                local spotRaidTextureRaid = getglobal(Map.."SpotRaid"..i.."RaidSpot");
                                                local gIndex = rSubGroup;
                                                local raidUnitName;
                                                local uType = raidIcon.unit;
                                                if ( ( not uType ) or ( uType == "" ) or ( uType == "unit" ) ) then
                                                        raidUnitName = "~";
                                                else
                                                        raidUnitName = UnitName(uType);
                                                end
                                                if ( ( PartySpotterSettings.showLeader ) and ( rRank == 2 ) ) then
                                                        spotRaidTextureRaid:SetTexture("Interface\\Addons\\PartySpotter\\Artwork\\SpotLeader");
                                                        spotRaid:SetFrameLevel( raidIcon:GetFrameLevel() + 3 );
                                                        spotRaidTextureParty:Hide();
                                                        spotRaidTextureRaid:Show();
                                                        spotRaid:Show();
                                                elseif ( rSubGroup == localGroup ) then
                                                        spotRaid:SetFrameLevel( raidIcon:GetFrameLevel() + 2 );
                                                        spotRaidTextureRaid:Hide();
                                                        spotRaidTextureParty:Show();
                                                        spotRaid:Show();
                                                else
                                                        if ( PartySpotterSettings.showGroups == "Icons" ) then
                                                                if ( rSubGroup > localGroup ) then
                                                                        rSubGroup = rSubGroup - 1;
                                                                end
                                                                spotRaidTextureRaid:SetTexture(groupColours[rSubGroup]);
                                                        elseif ( PartySpotterSettings.showGroups == "Numbers" ) then
                                                                spotRaidTextureRaid:SetTexture(groupNumbers[rSubGroup]);
                                                        else
                                                                spotRaidTextureRaid:SetTexture(groupColours[1]);
                                                        end
                                                        if ( gIndex == highlightedGroup ) then
                                                                spotRaid:SetFrameLevel( raidIcon:GetFrameLevel() + 3 );
                                                        else
                                                                spotRaid:SetFrameLevel( raidIcon:GetFrameLevel() );
                                                        end
                                                        spotRaidTextureParty:Hide();
                                                        spotRaidTextureRaid:Show();
                                                        spotRaid:Show();
                                                end
                                        end
                                end
--                      else
--                              return;
                        end
                end
        else
                for i = 1, MAX_PARTY_MEMBERS, 1 do
                        local partyIcon = getglobal(Map.."Party"..i);
                        if ( ( partyIcon ) and ( partyIcon:IsVisible() ) ) then
                                local unitHighlighted = nil;
                                if ( ( singleOut ~= "" ) or ( PartySpotterSettings.showFriends ) or ( PartySpotterSettings.showIgnores ) or ( PartySpotterSettings.showGuild ) ) then
                                        unitHighlighted = PartySpotter_UpdatePartyHighlight(Map, partyIcon, i);
                                end
                                if ( not unitHighlighted ) then
                                        local spotParty = getglobal(Map.."SpotParty"..i);
                                        local spotPartyIcon = getglobal(Map.."SpotParty"..i.."PartySpot");
                                        spotPartyIcon:Show();
                                        spotParty:Show();
                                end
--                      else
--                              return;
                        end
                end
        end
end



function PartySpotter_ResetRaidSpots(Map)
        for i=1, MAX_RAID_MEMBERS, 1 do
                local raidIcon = getglobal(Map.."Raid"..i);
                if ( ( raidIcon ) and ( raidIcon:IsVisible() ) ) then
                        local spotRaid = getglobal(Map.."SpotRaid"..i);
                        if ( spotRaid ) then
                                spotRaid:Hide();
                        end
                else
                        return;
                end
        end
end

function PartySpotter_ResetPartySpots(Map)
        for i=1, MAX_PARTY_MEMBERS, 1 do
                local partyIcon = getglobal(Map.."Party"..i);
                if ( ( partyIcon ) and ( partyIcon:IsVisible() ) ) then
                        local spotParty = getglobal(Map.."SpotParty"..i);
                        local spotPartyTexture = getglobal(Map.."SpotParty"..i.."PartySpot");
                        if ( spotParty ) then
                                spotPartyTexture:SetTexture("Interface\\AddOns\\PartySpotter\\Artwork\\SpotPartyIcon");
                                spotParty:Hide();
                        end
                else
                        return;
                end
        end
end



function PartySpotter_UpdateRaidHighlight(Map, raidIcon, raidIndex)
        local unitHighlighted = nil;
        local rName, spotRaid, spotRaidTextureParty, spotRaidTextureRaid;
        if ( raidIcon.name ) then
                rName = raidIcon.name;
        else
                local uType = raidIcon.unit;
                if ( ( uType == nil ) or ( uType == "" ) or ( uType == "unit" ) ) then
                        return;
                end
                rName = UnitName(uType);
        end
        if ( rName == singleOut ) then
                spotRaid = getglobal(Map.."SpotRaid"..raidIndex);
                spotRaidTextureParty = getglobal(Map.."SpotRaid"..raidIndex.."PartySpot");
                spotRaidTextureRaid = getglobal(Map.."SpotRaid"..raidIndex.."RaidSpot");
                spotRaidTextureParty:Hide();
                spotRaidTextureRaid:SetTexture("Interface\\Addons\\PartySpotter\\Artwork\\SpotTarget");
                spotRaid:SetFrameLevel( raidIcon:GetFrameLevel() + 3 );
                spotRaidTextureRaid:Show();
                spotRaid:Show();
                unitHighlighted = true;
        elseif ( PartySpotterSettings.showFriends ) then
                if ( numberOfFriends == 0 ) then
                        PartySpotter_UpdateFriends();
                end
                if ( friendA[rName] ) then
                        spotRaid = getglobal(Map.."SpotRaid"..raidIndex);
                        spotRaidTextureParty = getglobal(Map.."SpotRaid"..raidIndex.."PartySpot");
                        spotRaidTextureRaid = getglobal(Map.."SpotRaid"..raidIndex.."RaidSpot");
                        spotRaidTextureParty:Hide();
                        spotRaidTextureRaid:SetTexture("Interface\\Addons\\PartySpotter\\Artwork\\SpotFriend");
                        spotRaidTextureRaid:Show();
                        spotRaid:Show();
                        unitHighlighted = true;
                end
        elseif ( PartySpotterSettings.showIgnores ) then
                if ( ignoreA[rName] ) then
                        spotRaid = getglobal(Map.."SpotRaid"..raidIndex);
                        spotRaidTextureParty = getglobal(Map.."SpotRaid"..raidIndex.."PartySpot");
                        spotRaidTextureRaid = getglobal(Map.."SpotRaid"..raidIndex.."RaidSpot");
                        spotRaidTextureParty:Hide();
                        spotRaidTextureRaid:SetTexture("Interface\\Addons\\PartySpotter\\Artwork\\SpotIgnore");
                        spotRaidTextureRaid:Show();
                        spotRaid:Show();
                        unitHighlighted = true;
                end
        elseif ( PartySpotterSettings.showGuild ) then
                if ( numberOfGuildMembers == 0 ) then
                        PartySpotter_UpdateGuild();
                end
                if ( guildA[rName] ) then
                        spotRaid = getglobal(Map.."SpotRaid"..raidIndex);
                        spotRaidTextureParty = getglobal(Map.."SpotRaid"..raidIndex.."PartySpot");
                        spotRaidTextureRaid = getglobal(Map.."SpotRaid"..raidIndex.."RaidSpot");
                        spotRaidTextureParty:Hide();
                        spotRaidTextureRaid:SetTexture("Interface\\Addons\\PartySpotter\\Artwork\\SpotGuild");
                        spotRaidTextureRaid:Show();
                        spotRaid:Show();
                        unitHighlighted = true;
                end
        end
        return unitHighlighted;
end

function PartySpotter_UpdatePartyHighlight(Map, partyIcon, partyIndex)
        local unitHighlighted = nil;
        local spotParty, spotPartyTextureParty, spotPartyTextureRaid;
        local rName = UnitName(partyIcon.unit);
        if ( rName == singleOut ) then
                spotParty = getglobal(Map.."SpotParty"..partyIndex);
                spotPartyTextureParty = getglobal(Map.."SpotParty"..partyIndex.."PartySpot");
                spotPartyTextureRaid = getglobal(Map.."SpotParty"..partyIndex.."RaidSpot");
                spotPartyTextureRaid:Hide();
                spotPartyTextureParty:SetTexture("Interface\\Addons\\PartySpotter\\Artwork\\SpotTarget");
                spotParty:SetFrameLevel( partyIcon:GetFrameLevel() + 3 );
                spotPartyTextureParty:Show();
                spotParty:Show();
                unitHighlighted = true;
        elseif ( PartySpotterSettings.showFriends ) then
                if ( numberOfFriends == 0 ) then
                        PartySpotter_UpdateFriends();
                end
                if ( friendA[rName] ) then
                        spotParty = getglobal(Map.."SpotParty"..partyIndex);
                        spotPartyTextureParty = getglobal(Map.."SpotParty"..partyIndex.."PartySpot");
                        spotPartyTextureRaid = getglobal(Map.."SpotParty"..partyIndex.."RaidSpot");
                        spotPartyTextureRaid:Hide();
                        spotPartyTextureParty:SetTexture("Interface\\Addons\\PartySpotter\\Artwork\\SpotFriend");
                        spotPartyTextureParty:Show();
                        spotParty:Show();
                        unitHighlighted = true;
                end
        elseif ( PartySpotterSettings.showIgnores ) then
                if ( ignoreA[rName] ) then
                        spotParty = getglobal(Map.."SpotParty"..partyIndex);
                        spotPartyTextureParty = getglobal(Map.."SpotParty"..partyIndex.."PartySpot");
                        spotPartyTextureRaid = getglobal(Map.."SpotParty"..partyIndex.."RaidSpot");
                        spotPartyTextureRaid:Hide();
                        spotPartyTextureParty:SetTexture("Interface\\Addons\\PartySpotter\\Artwork\\SpotIgnore");
                        spotPartyTextureParty:Show();
                        spotParty:Show();
                        unitHighlighted = true;
                end
        elseif ( PartySpotterSettings.showGuild ) then
                if ( numberOfGuildMembers == 0 ) then
                        PartySpotter_UpdateGuild();
                end
                if ( guildA[rName] ) then
                        spotParty = getglobal(Map.."SpotParty"..partyIndex);
                        spotPartyTextureParty = getglobal(Map.."SpotParty"..partyIndex.."PartySpot");
                        spotPartyTextureRaid = getglobal(Map.."SpotParty"..partyIndex.."RaidSpot");
                        spotPartyTextureRaid:Hide();
                        spotPartyTextureParty:SetTexture("Interface\\Addons\\PartySpotter\\Artwork\\SpotGuild");
                        spotPartyTextureParty:Show();
                        spotParty:Show();
                        unitHighlighted = true;
                end
        end
        return unitHighlighted;
end



function PartySpotter_LoadBFM()
        PartySpotterBFM:SetParent(BattlefieldMinimap);
        BattlefieldMinimapSpotParty1:SetParent(BattlefieldMinimapParty1);
        BattlefieldMinimapSpotParty2:SetParent(BattlefieldMinimapParty2);
        BattlefieldMinimapSpotParty3:SetParent(BattlefieldMinimapParty3);
        BattlefieldMinimapSpotParty4:SetParent(BattlefieldMinimapParty4);
        BattlefieldMinimapSpotRaid1:SetParent(BattlefieldMinimapRaid1);
        BattlefieldMinimapSpotRaid2:SetParent(BattlefieldMinimapRaid2);
        BattlefieldMinimapSpotRaid3:SetParent(BattlefieldMinimapRaid3);
        BattlefieldMinimapSpotRaid4:SetParent(BattlefieldMinimapRaid4);
        BattlefieldMinimapSpotRaid5:SetParent(BattlefieldMinimapRaid5);
        BattlefieldMinimapSpotRaid6:SetParent(BattlefieldMinimapRaid6);
        BattlefieldMinimapSpotRaid7:SetParent(BattlefieldMinimapRaid7);
        BattlefieldMinimapSpotRaid8:SetParent(BattlefieldMinimapRaid8);
        BattlefieldMinimapSpotRaid9:SetParent(BattlefieldMinimapRaid9);
        BattlefieldMinimapSpotRaid10:SetParent(BattlefieldMinimapRaid10);
        BattlefieldMinimapSpotRaid11:SetParent(BattlefieldMinimapRaid11);
        BattlefieldMinimapSpotRaid12:SetParent(BattlefieldMinimapRaid12);
        BattlefieldMinimapSpotRaid13:SetParent(BattlefieldMinimapRaid13);
        BattlefieldMinimapSpotRaid14:SetParent(BattlefieldMinimapRaid14);
        BattlefieldMinimapSpotRaid15:SetParent(BattlefieldMinimapRaid15);
        BattlefieldMinimapSpotRaid16:SetParent(BattlefieldMinimapRaid16);
        BattlefieldMinimapSpotRaid17:SetParent(BattlefieldMinimapRaid17);
        BattlefieldMinimapSpotRaid18:SetParent(BattlefieldMinimapRaid18);
        BattlefieldMinimapSpotRaid19:SetParent(BattlefieldMinimapRaid19);
        BattlefieldMinimapSpotRaid20:SetParent(BattlefieldMinimapRaid20);
        BattlefieldMinimapSpotRaid21:SetParent(BattlefieldMinimapRaid21);
        BattlefieldMinimapSpotRaid22:SetParent(BattlefieldMinimapRaid22);
        BattlefieldMinimapSpotRaid23:SetParent(BattlefieldMinimapRaid23);
        BattlefieldMinimapSpotRaid24:SetParent(BattlefieldMinimapRaid24);
        BattlefieldMinimapSpotRaid25:SetParent(BattlefieldMinimapRaid25);
        BattlefieldMinimapSpotRaid26:SetParent(BattlefieldMinimapRaid26);
        BattlefieldMinimapSpotRaid27:SetParent(BattlefieldMinimapRaid27);
        BattlefieldMinimapSpotRaid28:SetParent(BattlefieldMinimapRaid28);
        BattlefieldMinimapSpotRaid29:SetParent(BattlefieldMinimapRaid29);
        BattlefieldMinimapSpotRaid30:SetParent(BattlefieldMinimapRaid30);
        BattlefieldMinimapSpotRaid31:SetParent(BattlefieldMinimapRaid31);
        BattlefieldMinimapSpotRaid32:SetParent(BattlefieldMinimapRaid32);
        BattlefieldMinimapSpotRaid33:SetParent(BattlefieldMinimapRaid33);
        BattlefieldMinimapSpotRaid34:SetParent(BattlefieldMinimapRaid34);
        BattlefieldMinimapSpotRaid35:SetParent(BattlefieldMinimapRaid35);
        BattlefieldMinimapSpotRaid36:SetParent(BattlefieldMinimapRaid36);
        BattlefieldMinimapSpotRaid37:SetParent(BattlefieldMinimapRaid37);
        BattlefieldMinimapSpotRaid38:SetParent(BattlefieldMinimapRaid38);
        BattlefieldMinimapSpotRaid39:SetParent(BattlefieldMinimapRaid39);
        BattlefieldMinimapSpotRaid40:SetParent(BattlefieldMinimapRaid40);
        BattlefieldMinimapSpotParty1:SetPoint("CENTER", "BattlefieldMinimapParty1", "CENTER", 0, 0);
        BattlefieldMinimapSpotParty2:SetPoint("CENTER", "BattlefieldMinimapParty2", "CENTER", 0, 0);
        BattlefieldMinimapSpotParty3:SetPoint("CENTER", "BattlefieldMinimapParty3", "CENTER", 0, 0);
        BattlefieldMinimapSpotParty4:SetPoint("CENTER", "BattlefieldMinimapParty4", "CENTER", 0, 0);
        BattlefieldMinimapSpotRaid1:SetPoint("CENTER", "BattlefieldMinimapRaid1", "CENTER", 0, 0);
        BattlefieldMinimapSpotRaid2:SetPoint("CENTER", "BattlefieldMinimapRaid2", "CENTER", 0, 0);
        BattlefieldMinimapSpotRaid3:SetPoint("CENTER", "BattlefieldMinimapRaid3", "CENTER", 0, 0);
        BattlefieldMinimapSpotRaid4:SetPoint("CENTER", "BattlefieldMinimapRaid4", "CENTER", 0, 0);
        BattlefieldMinimapSpotRaid5:SetPoint("CENTER", "BattlefieldMinimapRaid5", "CENTER", 0, 0);
        BattlefieldMinimapSpotRaid6:SetPoint("CENTER", "BattlefieldMinimapRaid6", "CENTER", 0, 0);
        BattlefieldMinimapSpotRaid7:SetPoint("CENTER", "BattlefieldMinimapRaid7", "CENTER", 0, 0);
        BattlefieldMinimapSpotRaid8:SetPoint("CENTER", "BattlefieldMinimapRaid8", "CENTER", 0, 0);
        BattlefieldMinimapSpotRaid9:SetPoint("CENTER", "BattlefieldMinimapRaid9", "CENTER", 0, 0);
        BattlefieldMinimapSpotRaid10:SetPoint("CENTER", "BattlefieldMinimapRaid10", "CENTER", 0, 0);
        BattlefieldMinimapSpotRaid11:SetPoint("CENTER", "BattlefieldMinimapRaid11", "CENTER", 0, 0);
        BattlefieldMinimapSpotRaid12:SetPoint("CENTER", "BattlefieldMinimapRaid12", "CENTER", 0, 0);
        BattlefieldMinimapSpotRaid13:SetPoint("CENTER", "BattlefieldMinimapRaid13", "CENTER", 0, 0);
        BattlefieldMinimapSpotRaid14:SetPoint("CENTER", "BattlefieldMinimapRaid14", "CENTER", 0, 0);
        BattlefieldMinimapSpotRaid15:SetPoint("CENTER", "BattlefieldMinimapRaid15", "CENTER", 0, 0);
        BattlefieldMinimapSpotRaid16:SetPoint("CENTER", "BattlefieldMinimapRaid16", "CENTER", 0, 0);
        BattlefieldMinimapSpotRaid17:SetPoint("CENTER", "BattlefieldMinimapRaid17", "CENTER", 0, 0);
        BattlefieldMinimapSpotRaid18:SetPoint("CENTER", "BattlefieldMinimapRaid18", "CENTER", 0, 0);
        BattlefieldMinimapSpotRaid19:SetPoint("CENTER", "BattlefieldMinimapRaid19", "CENTER", 0, 0);
        BattlefieldMinimapSpotRaid20:SetPoint("CENTER", "BattlefieldMinimapRaid20", "CENTER", 0, 0);
        BattlefieldMinimapSpotRaid21:SetPoint("CENTER", "BattlefieldMinimapRaid21", "CENTER", 0, 0);
        BattlefieldMinimapSpotRaid22:SetPoint("CENTER", "BattlefieldMinimapRaid22", "CENTER", 0, 0);
        BattlefieldMinimapSpotRaid23:SetPoint("CENTER", "BattlefieldMinimapRaid23", "CENTER", 0, 0);
        BattlefieldMinimapSpotRaid24:SetPoint("CENTER", "BattlefieldMinimapRaid24", "CENTER", 0, 0);
        BattlefieldMinimapSpotRaid25:SetPoint("CENTER", "BattlefieldMinimapRaid25", "CENTER", 0, 0);
        BattlefieldMinimapSpotRaid26:SetPoint("CENTER", "BattlefieldMinimapRaid26", "CENTER", 0, 0);
        BattlefieldMinimapSpotRaid27:SetPoint("CENTER", "BattlefieldMinimapRaid27", "CENTER", 0, 0);
        BattlefieldMinimapSpotRaid28:SetPoint("CENTER", "BattlefieldMinimapRaid28", "CENTER", 0, 0);
        BattlefieldMinimapSpotRaid29:SetPoint("CENTER", "BattlefieldMinimapRaid29", "CENTER", 0, 0);
        BattlefieldMinimapSpotRaid30:SetPoint("CENTER", "BattlefieldMinimapRaid30", "CENTER", 0, 0);
        BattlefieldMinimapSpotRaid31:SetPoint("CENTER", "BattlefieldMinimapRaid31", "CENTER", 0, 0);
        BattlefieldMinimapSpotRaid32:SetPoint("CENTER", "BattlefieldMinimapRaid32", "CENTER", 0, 0);
        BattlefieldMinimapSpotRaid33:SetPoint("CENTER", "BattlefieldMinimapRaid33", "CENTER", 0, 0);
        BattlefieldMinimapSpotRaid34:SetPoint("CENTER", "BattlefieldMinimapRaid34", "CENTER", 0, 0);
        BattlefieldMinimapSpotRaid35:SetPoint("CENTER", "BattlefieldMinimapRaid35", "CENTER", 0, 0);
        BattlefieldMinimapSpotRaid36:SetPoint("CENTER", "BattlefieldMinimapRaid36", "CENTER", 0, 0);
        BattlefieldMinimapSpotRaid37:SetPoint("CENTER", "BattlefieldMinimapRaid37", "CENTER", 0, 0);
        BattlefieldMinimapSpotRaid38:SetPoint("CENTER", "BattlefieldMinimapRaid38", "CENTER", 0, 0);
        BattlefieldMinimapSpotRaid39:SetPoint("CENTER", "BattlefieldMinimapRaid39", "CENTER", 0, 0);
        BattlefieldMinimapSpotRaid40:SetPoint("CENTER", "BattlefieldMinimapRaid40", "CENTER", 0, 0);
        BattlefieldMinimapSpotParty1:SetFrameLevel( BattlefieldMinimapParty1:GetFrameLevel() + 1 );
        BattlefieldMinimapSpotParty2:SetFrameLevel( BattlefieldMinimapParty2:GetFrameLevel() + 1 );
        BattlefieldMinimapSpotParty3:SetFrameLevel( BattlefieldMinimapParty3:GetFrameLevel() + 1 );
        BattlefieldMinimapSpotParty4:SetFrameLevel( BattlefieldMinimapParty4:GetFrameLevel() + 1 );
        BattlefieldMinimapSpotRaid1:SetFrameLevel( BattlefieldMinimapRaid1:GetFrameLevel() + 1 );
        BattlefieldMinimapSpotRaid2:SetFrameLevel( BattlefieldMinimapRaid2:GetFrameLevel() + 1 );
        BattlefieldMinimapSpotRaid3:SetFrameLevel( BattlefieldMinimapRaid3:GetFrameLevel() + 1 );
        BattlefieldMinimapSpotRaid4:SetFrameLevel( BattlefieldMinimapRaid4:GetFrameLevel() + 1 );
        BattlefieldMinimapSpotRaid5:SetFrameLevel( BattlefieldMinimapRaid5:GetFrameLevel() + 1 );
        BattlefieldMinimapSpotRaid6:SetFrameLevel( BattlefieldMinimapRaid6:GetFrameLevel() + 1 );
        BattlefieldMinimapSpotRaid7:SetFrameLevel( BattlefieldMinimapRaid7:GetFrameLevel() + 1 );
        BattlefieldMinimapSpotRaid8:SetFrameLevel( BattlefieldMinimapRaid8:GetFrameLevel() + 1 );
        BattlefieldMinimapSpotRaid9:SetFrameLevel( BattlefieldMinimapRaid9:GetFrameLevel() + 1 );
        BattlefieldMinimapSpotRaid10:SetFrameLevel( BattlefieldMinimapRaid10:GetFrameLevel() + 1 );
        BattlefieldMinimapSpotRaid11:SetFrameLevel( BattlefieldMinimapRaid11:GetFrameLevel() + 1 );
        BattlefieldMinimapSpotRaid12:SetFrameLevel( BattlefieldMinimapRaid12:GetFrameLevel() + 1 );
        BattlefieldMinimapSpotRaid13:SetFrameLevel( BattlefieldMinimapRaid13:GetFrameLevel() + 1 );
        BattlefieldMinimapSpotRaid14:SetFrameLevel( BattlefieldMinimapRaid14:GetFrameLevel() + 1 );
        BattlefieldMinimapSpotRaid15:SetFrameLevel( BattlefieldMinimapRaid15:GetFrameLevel() + 1 );
        BattlefieldMinimapSpotRaid16:SetFrameLevel( BattlefieldMinimapRaid16:GetFrameLevel() + 1 );
        BattlefieldMinimapSpotRaid17:SetFrameLevel( BattlefieldMinimapRaid17:GetFrameLevel() + 1 );
        BattlefieldMinimapSpotRaid18:SetFrameLevel( BattlefieldMinimapRaid18:GetFrameLevel() + 1 );
        BattlefieldMinimapSpotRaid19:SetFrameLevel( BattlefieldMinimapRaid19:GetFrameLevel() + 1 );
        BattlefieldMinimapSpotRaid20:SetFrameLevel( BattlefieldMinimapRaid20:GetFrameLevel() + 1 );
        BattlefieldMinimapSpotRaid21:SetFrameLevel( BattlefieldMinimapRaid21:GetFrameLevel() + 1 );
        BattlefieldMinimapSpotRaid22:SetFrameLevel( BattlefieldMinimapRaid22:GetFrameLevel() + 1 );
        BattlefieldMinimapSpotRaid23:SetFrameLevel( BattlefieldMinimapRaid23:GetFrameLevel() + 1 );
        BattlefieldMinimapSpotRaid24:SetFrameLevel( BattlefieldMinimapRaid24:GetFrameLevel() + 1 );
        BattlefieldMinimapSpotRaid25:SetFrameLevel( BattlefieldMinimapRaid25:GetFrameLevel() + 1 );
        BattlefieldMinimapSpotRaid26:SetFrameLevel( BattlefieldMinimapRaid26:GetFrameLevel() + 1 );
        BattlefieldMinimapSpotRaid27:SetFrameLevel( BattlefieldMinimapRaid27:GetFrameLevel() + 1 );
        BattlefieldMinimapSpotRaid28:SetFrameLevel( BattlefieldMinimapRaid28:GetFrameLevel() + 1 );
        BattlefieldMinimapSpotRaid29:SetFrameLevel( BattlefieldMinimapRaid29:GetFrameLevel() + 1 );
        BattlefieldMinimapSpotRaid30:SetFrameLevel( BattlefieldMinimapRaid30:GetFrameLevel() + 1 );
        BattlefieldMinimapSpotRaid31:SetFrameLevel( BattlefieldMinimapRaid31:GetFrameLevel() + 1 );
        BattlefieldMinimapSpotRaid32:SetFrameLevel( BattlefieldMinimapRaid32:GetFrameLevel() + 1 );
        BattlefieldMinimapSpotRaid33:SetFrameLevel( BattlefieldMinimapRaid33:GetFrameLevel() + 1 );
        BattlefieldMinimapSpotRaid34:SetFrameLevel( BattlefieldMinimapRaid34:GetFrameLevel() + 1 );
        BattlefieldMinimapSpotRaid35:SetFrameLevel( BattlefieldMinimapRaid35:GetFrameLevel() + 1 );
        BattlefieldMinimapSpotRaid36:SetFrameLevel( BattlefieldMinimapRaid36:GetFrameLevel() + 1 );
        BattlefieldMinimapSpotRaid37:SetFrameLevel( BattlefieldMinimapRaid37:GetFrameLevel() + 1 );
        BattlefieldMinimapSpotRaid38:SetFrameLevel( BattlefieldMinimapRaid38:GetFrameLevel() + 1 );
        BattlefieldMinimapSpotRaid39:SetFrameLevel( BattlefieldMinimapRaid39:GetFrameLevel() + 1 );
        BattlefieldMinimapSpotRaid40:SetFrameLevel( BattlefieldMinimapRaid40:GetFrameLevel() + 1 );
        PartySpotterBFM:Show();
end



function PartySpotter_UpdateFriends()
        friendA = {};
        numberOfFriends = 0;
        for i = 1, GetNumFriends(), 1 do
                local fName = GetFriendInfo(i);
                if ( ( fName ) and ( fName ~= "" ) ) then
                        friendA[fName] = "1";
                        numberOfFriends = numberOfFriends + 1;
                end
        end
end

function PartySpotter_UpdateIgnores()
        ignoreA = {};
        for i = 1, GetNumIgnores(), 1 do
                local iName = GetIgnoreName(i);
                if ( ( iName ) and ( iName ~= "" ) ) then
                        ignoreA[iName] = "1";
                end
        end
        local pKey = GetCVar("realmName");
        if ( ( InfinateIgnore_Config ) and ( InfinateIgnore_Config[pKey] ) and ( InfinateIgnore_Config[pKey].Ignoring ) ) then
                local index, value;
                for index, value in InfinateIgnore_Config[pKey].Ignoring do
                        local formattedCap = string.upper( string.sub(index, 1, 1) );
                        local formattedRest = string.sub(index, 2, -1);
                        local formattedName = formattedCap..formattedRest;
                        ignoreA[formattedName] = "1";
                end
        end
end

function PartySpotter_UpdateGuild()
        GuildRoster();
        guildA = {};
        numberOfGuildMembers = 0;
        for i = 1, GetNumGuildMembers(), 1 do
                local gName = GetGuildRosterInfo(i);
                if ( ( gName ) and ( gName ~= "" ) ) then
                        guildA[gName] = "1";
                        numberOfGuildMembers = numberOfGuildMembers + 1;
                end
        end
end



function PartySpotter_Cycle_Mode()
        if ( ( PartySpotterSettings.showGroups ) and ( PartySpotterSettings.showGroups == "Icons" ) ) then
                PartySpotter_CmdLine("showgroups numbers");
        elseif ( ( PartySpotterSettings.showGroups ) and ( PartySpotterSettings.showGroups == "Numbers" ) ) then
                PartySpotter_CmdLine("showgroups off");
        else
                PartySpotter_CmdLine("showgroups icons");
        end
end

function PartySpotter_Cycle_Highlight()
        if ( PartySpotterSettings.showFriends ) then
                PartySpotter_CmdLine("toggleignores");
        elseif ( PartySpotterSettings.showIgnores ) then
                PartySpotter_CmdLine("toggleguild");
        elseif ( PartySpotterSettings.showGuild ) then
                PartySpotter_CmdLine("showguild");
        else
                PartySpotter_CmdLine("togglefriends");
        end
end





function PartySpotter_Reset()
        PartySpotterSettings.updateInterval = PSTOP_DEFAULT_INTERVAL;
        PartySpotterSettings.showGroups = nil;
        PartySpotterSettings.showFriends = nil;
        PartySpotterSettings.showIgnores = nil;
        PartySpotterSettings.showGuild = nil;
        PartySpotterSettings.showLeader = nil;
        singleOut = "";
        if ( highlightedGroup > 0 ) then
                local dummyBttn = "nil";
                PartySpotter_KeyButton_OnClick(dummyBttn, highlightedGroup);
        end
        WorldMapPartySpotterKey:SetUserPlaced(0);
        WorldMapPartySpotterKey:ClearAllPoints();
        WorldMapPartySpotterKey:SetPoint("BOTTOMRIGHT", WorldMapButton, "BOTTOMRIGHT", 0, 0);

        if ( AlphaMapFrame ) then
                AlphaMapPartySpotterKey:SetUserPlaced(0);
                AlphaMapPartySpotterKey:ClearAllPoints();
                AlphaMapPartySpotterKey:SetPoint("BOTTOMRIGHT", AlphaMapFrame, "BOTTOMRIGHT", 0, 0);
        end
end

Generated by GNU Enscript 1.6.5.90.