Advertisement
Guest User

Untitled

a guest
Dec 12th, 2019
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.50 KB | None | 0 0
  1. aura_env.bgs = {};
  2. aura_env.text = "";
  3. aura_env.multilangAV = ["Alteractal","Alterac Valley","Valle de Alterac","Vallée d'Alterac","Vale Alterac","Альтеракская долина","알터랙 계곡","奥特兰克山谷"];
  4.  
  5. aura_env.prefix = "AuroBG";
  6. C_ChatInfo.RegisterAddonMessagePrefix(aura_env.prefix)
  7.  
  8. aura_env.addPlayerToBGs = function(name, bg)
  9.     for av in aura_env.multilangAV do
  10.         name = gsub(name, av, "Alterac Valley");
  11.         bg = gsub(bg, av, "Alterac Valley");
  12.     end
  13.     aura_env.bgs[name] = bg;
  14. end
  15.  
  16. aura_env.removePlayerFromBGs = function(name)
  17.     aura_env.bgs[name] = nil;
  18. end
  19.  
  20. aura_env.createText = function(bgs)
  21.     local bgTotal = {};
  22.     local bgNames = {};
  23.     local str = "";
  24.     for name, bg in pairs(bgs) do
  25.         for av in aura_env.multilangAV do
  26.             name = gsub(name, av, "Alterac Valley");
  27.             bg = gsub(bg, av, "Alterac Valley");
  28.         end
  29.         local trimmedName = gsub(name, "%-[^|]+", "")
  30.         if (bgTotal[bg] == nil) then
  31.             bgTotal[bg] = 0;
  32.             bgNames[bg] = {};
  33.            
  34.         end
  35.         bgTotal[bg] = bgTotal[bg] + 1;
  36.         bgNames[bg][trimmedName] = true
  37.     end
  38.    
  39.     for bg, count in pairs(bgTotal) do
  40.         for av in aura_env.multilangAV do
  41.             bg = gsub(bg, av, "Alterac Valley");
  42.         end
  43.         if (aura_env.config.names) then
  44.             local names = ""
  45.             for name, _ in pairs(bgNames[bg]) do
  46.                 names = names .. name .. ", ";
  47.             end
  48.            
  49.             if (names ~= "") then
  50.                 names = names:sub(1, -3);
  51.             end
  52.            
  53.             str = string.format("%s%s (%s) [%d]\n", str, bg, names, count);
  54.         else
  55.             str = string.format("%s%s (%d)\n", str, bg, count);
  56.         end
  57.        
  58.     end
  59.    
  60.     return str;
  61. end
  62.  
  63. aura_env.emitMessage = function(msg)
  64.     if (UnitInParty("player")) then
  65.         C_ChatInfo.SendAddonMessage(aura_env.prefix, msg, "PARTY")
  66.     end
  67.     if (IsInRaid()) then
  68.         C_ChatInfo.SendAddonMessage(aura_env.prefix, msg, "RAID")
  69.     end
  70.     if (IsInGuild()) then
  71.         C_ChatInfo.SendAddonMessage(aura_env.prefix, msg, "GUILD")
  72.     end
  73. end
  74.  
  75. aura_env.emitPlayerWithBG = function(bg)
  76.     aura_env.emitMessage(bg);
  77. end
  78.  
  79. aura_env.emitPlayerWithoutBG = function()
  80.     aura_env.emitMessage("NoBG");
  81. end
  82.  
  83. aura_env.channelEnabled = function(channel)
  84.     return ((channel == "PARTY" and aura_env.config.party) or (channel == "RAID" and aura_env.config.raid) or (channel == "GUILD" and aura_env.config.guild))
  85. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement