Advertisement
Guest User

Omega Vector WA

a guest
Oct 16th, 2018
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.82 KB | None | 0 0
  1. -- OPTIONS --
  2. aura_env.showNext = true -- Default true, shows the next person in your group to soak the debuff
  3. aura_env.showDuration = true -- Defaul true, shows the duration left on the debuff on your group memeber
  4. aura_env.enableSound = true -- Default true, plays a sound when you're next in line to soak
  5. aura_env.enableSay = true-- Default true, prints a /say message when you're next to soak
  6. aura_env.manualGroups = true -- Default false, lets you set the soaking groups manually
  7.  
  8.  
  9. --DO NOT EDIT BELOW! --
  10. --aura_env.showRealm = false -- Default false, show realm for crossrealm players e.g 'Zuggie-Frostwhisper'
  11. if not aura_env.Icons then
  12. aura_env.Icons = {
  13. [8] =
  14. " \124TInterface\\TargetingFrame\\UI-RaidTargetingIcon_8:12\124t",
  15. [7] =
  16. " \124TInterface\\TargetingFrame\\UI-RaidTargetingIcon_7:12\124t",
  17. [6] =
  18. " \124TInterface\\TargetingFrame\\UI-RaidTargetingIcon_6:12\124t",
  19. [5] =
  20. " \124TInterface\\TargetingFrame\\UI-RaidTargetingIcon_5:12\124t",
  21. [4] =
  22. " \124TInterface\\TargetingFrame\\UI-RaidTargetingIcon_4:12\124t",
  23. [3] =
  24. " \124TInterface\\TargetingFrame\\UI-RaidTargetingIcon_3:12\124t",
  25. [2] =
  26. " \124TInterface\\TargetingFrame\\UI-RaidTargetingIcon_2:12\124t",
  27. [1] =
  28. " \124TInterface\\TargetingFrame\\UI-RaidTargetingIcon_1:12\124t",
  29. };
  30. end
  31.  
  32. local spell = 265127
  33. local spell2 = 265129
  34. aura_env.duration = 0
  35.  
  36. --aura_env.FormatName = function(name)
  37. -- if not aura_env.showRealm then
  38. -- return name:gsub("-.*", "")
  39. -- else
  40. -- return name
  41. -- end
  42. --end
  43.  
  44. aura_env.GetNextSoaker = function()
  45. aura_env.prevSoaker = aura_env.nextSoaker
  46. for i, soaker in ipairs(aura_env.omegaGroup) do
  47. if not aura_env.omegaInfo[soaker].active and UnitExists(soaker) and not UnitIsDeadOrGhost(soaker) then
  48. if not aura_env.nextSoaker then
  49. aura_env.nextSoaker = soaker
  50. else
  51. if aura_env.omegaInfo[aura_env.nextSoaker].active then
  52. aura_env.nextSoaker = aura_env.omegaGroup[i]
  53. elseif aura_env.omegaInfo[soaker].stacks < aura_env.omegaInfo[aura_env.nextSoaker].stacks then
  54. aura_env.nextSoaker = aura_env.omegaGroup[i]
  55. elseif aura_env.omegaInfo[soaker].stacks == aura_env.omegaInfo[aura_env.nextSoaker].stacks then
  56. aura_env.nextSoaker = aura_env.omegaInfo[soaker].position < aura_env.omegaInfo[aura_env.nextSoaker].position and aura_env.omegaGroup[i] or aura_env.nextSoaker
  57. end
  58. end
  59. end
  60. end
  61. end
  62.  
  63. aura_env.debuff = function(unit)
  64. if UnitIsVisible(unit) then
  65. if WA_GetUnitDebuff(unit, spell) then
  66. local stacks = select(3, WA_GetUnitDebuff(unit, spell))
  67. return stacks
  68. end
  69. end
  70. end
  71.  
  72. local GetMyGroup = function()
  73. local omegaGroup = {}
  74. if aura_env.manualGroups then
  75. -- Remember to add the EXACT name, with capital letters, special characters and realm name when it's relavant
  76. local soakingGroups = {
  77. --Group 1
  78. {
  79. "player1",
  80. "player2",
  81. "player3",
  82. "player4",
  83. "player5"
  84. },
  85. -- Group 2
  86. {
  87. "player1",
  88. "player2",
  89. "player3",
  90. "player4",
  91. "player5"
  92. },
  93. -- Group 3
  94. {
  95. "player1",
  96. "player2",
  97. "player3",
  98. "player4",
  99. "player5"
  100. },
  101. -- Group 4
  102. {
  103. "Zkorpion",
  104. "Remuz",
  105. "Leeny",
  106. "Greenspoon"--,
  107. --"player5"
  108. }
  109. }
  110.  
  111. for i,group in ipairs(soakingGroups) do
  112. for i, soaker in ipairs(group) do
  113. if soaker == (UnitName("player")) then
  114. omegaGroup = group
  115. end
  116. end
  117. end
  118. else
  119.  
  120. local position = 0
  121. for i=1, 20 do
  122. local name = GetUnitName("raid"..i, true)
  123. if UnitIsVisible(name) then
  124. if GetUnitName("raid"..i, true) == UnitName("player") then
  125. position = i
  126. break
  127. end
  128. end
  129. end
  130.  
  131. if position <= 5 then
  132. for i=1, 5 do
  133. local name = GetUnitName("raid"..i, true)
  134.  
  135. if UnitIsVisible(name) then
  136. table.insert(omegaGroup, name)
  137. end
  138. end
  139. elseif position <= 10 then
  140. for i=6, 10 do
  141. local name = GetUnitName("raid"..i, true)
  142. if UnitIsVisible(name) then
  143. table.insert(omegaGroup, name)
  144. end
  145. end
  146. elseif position <= 15 then
  147. for i=11, 15 do
  148. local name = GetUnitName("raid"..i, true)
  149. if UnitIsVisible(name) then
  150. table.insert(omegaGroup, name)
  151. end
  152. end
  153. else
  154. for i=16, 20 do
  155. local name = GetUnitName("raid"..i, true)
  156. if UnitIsVisible(name) then
  157. table.insert(omegaGroup, name)
  158. end
  159. end
  160. end
  161. end
  162. return omegaGroup
  163. end
  164.  
  165. aura_env.omegaGroup = GetMyGroup() or {}
  166. aura_env.omegaInfo = {}
  167. for i, soaker in ipairs(aura_env.omegaGroup) do
  168. aura_env.omegaInfo[soaker] = {
  169. name = soaker,
  170. active = false,
  171. stacks = 0,
  172. position = i
  173. }
  174. end
  175. aura_env.GetNextSoaker()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement