local IMBA_FRIENDLYNEIGHBOR_SLASH_COMMAND = "/targetfn" local PlayerList={}; function IMBA_FriendlyNeighbor_RegenActivator() IMBA_FriendlyNeighbor:Show(); end function IMBA_FriendlyNeighbor_Sort(v1,v2) if v1[2]==v2[2] then return v1[1]GetTime() then return; end if IMBA_FriendlyNeighbor_DistCheck0) and (not UnitIsDeadOrGhost("raid"..i)) then local playerClass, englishClass = UnitClass("raid"..i); if (not IMBA_CheckVar("Friendly Neighbor",englishClass)) and CheckInteractDistance("raid"..i,4) then tinsert(PlayerList,{i,UnitHealth("raid"..i)/UnitHealthMax("raid"..i)}); end end end IMBA_FriendlyNeighbor_DistCheck=GetTime()+1.5; else for k, v in PlayerList do PlayerList[k][2]=UnitHealth("raid"..PlayerList[k][1])/UnitHealthMax("raid"..PlayerList[k][1]); end end table.sort(PlayerList, IMBA_FriendlyNeighbor_Sort); local numEntries = getn(PlayerList); local classColors = IMBA_CheckVar("Friendly Neighbor","UseClassColors"); for i=1,5 do if i<=numEntries then getglobal("IMBA_FriendlyNeighbor_Player"..i).unit="raid"..PlayerList[i][1]; getglobal("IMBA_FriendlyNeighbor_Player"..i).ClassColor=classColors; else getglobal("IMBA_FriendlyNeighbor_Player"..i).unit=nil; end end IMBA_FriendlyNeighbor_PlayerList=PlayerList; IMBA_FriendlyNeighbor_UpdateTime=GetTime()+0.1; end function IMBA_FriendlyNeighbor_Target(msg) local number=tonumber(msg) if number then if number>=1 and number<=5 then if getglobal("IMBA_FriendlyNeighbor_Player"..number).unit then TargetUnit(getglobal("IMBA_FriendlyNeighbor_Player"..number).unit) end end end end function IMBA_FriendlyNeighbor_OnLoad() this:SetBackdropBorderColor(1, 1, 1, 1); this:SetBackdropColor(0.0,0.0,0.0,0.6); IMBA_FriendlyNeighbor_Title:SetText("Friendly Neighbor"); IMBA_FriendlyNeighbor_Player1.unit=nil; IMBA_FriendlyNeighbor_Player2.unit=nil; IMBA_FriendlyNeighbor_Player3.unit=nil; IMBA_FriendlyNeighbor_Player4.unit=nil; IMBA_FriendlyNeighbor_Player5.unit=nil; IMBA_AddAddon("Friendly Neighbor", "Finds the 5 players within 30 yds with the lowest percent based health", IMBA_LOCATIONS_OTHER, nil, nil,nil,"IMBA_FriendlyNeighbor"); IMBA_AddOption2("Friendly Neighbor","UseClassColors","Use Class Colors"); IMBA_AddOption2("Friendly Neighbor","DRUID","Hide Druids"); IMBA_AddOption2("Friendly Neighbor","HUNTER","Hide Hunter"); IMBA_AddOption2("Friendly Neighbor","MAGE","Hide Mages"); IMBA_AddOption2("Friendly Neighbor","PALADIN","Hide Paladins"); IMBA_AddOption2("Friendly Neighbor","PRIEST","Hide Priests"); IMBA_AddOption2("Friendly Neighbor","ROGUE","Hide Rogues"); IMBA_AddOption2("Friendly Neighbor","SHAMAN","Hide Shamans"); IMBA_AddOption2("Friendly Neighbor","WARLOCK","Hide Warlocks"); IMBA_AddOption2("Friendly Neighbor","WARRIOR","Hide Warriors"); IMBA_FriendlyNeighbor_UpdateTime=0; IMBA_FriendlyNeighbor_DistCheck=0; --Register the slash commands SLASH_IMBA_FRIENDLYNEIGHBOR1 = IMBA_FRIENDLYNEIGHBOR_SLASH_COMMAND; SlashCmdList["IMBA_FRIENDLYNEIGHBOR"] = function(msg) IMBA_FriendlyNeighbor_Target(msg); end end