Advertisement
zjqyf

BuffRuleFactory

Apr 7th, 2017
409
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 129.19 KB | None | 0 0
  1. namespace Turbo.Plugins.glq // Credits to Jack
  2. {
  3. using System.Collections.Generic;
  4. using Turbo.Plugins.Default;
  5.  
  6. public class BuffRuleFactory
  7. {
  8. public IController Hud { get; set; }
  9.  
  10. public BuffRuleFactory(IController hud)
  11. {
  12. Hud = hud;
  13. }
  14.  
  15. public IEnumerable<BuffRule> CreateBuffRules(uint pwr)
  16. {
  17. // ############ WIZARD ACTIVE SKILLS ##############
  18. // ################################################
  19. if (pwr == Hud.Sno.SnoPowers.Wizard_ArcaneOrb.Sno){
  20. yield return new BuffRule(pwr) { IconIndex = 6, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = true}; // Arcane Orb (Rune 3) - this spell stores the old buff values of Rune 3!?
  21. yield return new BuffRule(pwr) { IconIndex = 5, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = true}; // Arcane Orb (Rune 2)
  22. }
  23. if (pwr == Hud.Sno.SnoPowers.Wizard_ArcaneTorrent.Sno){
  24. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Arcane Torrent (Active) (No Rune, Rune 1, Rune 3, Rune 4, Rune 5) - not needed (UNLESS YOU PLAY MINES!)
  25. //yield return new BuffRule(pwr) { IconIndex = 2, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = true}; // Arcane Torrent (DMG Stack) (No Rune, Rune 1, Rune 4, Rune 5) - not needed
  26. //yield return new BuffRule(pwr) { IconIndex = 5, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Arcane Torrent (Active) (No Rune, Rune 1, Rune 4, Rune 5) - not needed
  27. yield return new BuffRule(pwr) { IconIndex = 8, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Arcane Torrent (DMG Stack) (No Rune, Rune 1, Rune 2, Rune 4, Rune 5) - Actual DMG Stack
  28. //yield return new BuffRule(pwr) { IconIndex = 9, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Arcane Torrent (Active) (Rune 1) - not needed
  29. //yield return new BuffRule(pwr) { IconIndex = 3, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Arcane Torrent (Active) (Rune 2) - not needed
  30. }
  31. if (pwr == Hud.Sno.SnoPowers.Wizard_Archon.Sno){
  32. //Archon SNO
  33. //yield return new BuffRule(134872) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Archon (Transforming) - not working
  34. yield return new BuffRule(pwr) { IconIndex = 2, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = true}; // Archon (Stacks)
  35. //yield return new BuffRule(pwr) { IconIndex = 4, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = true}; // Archon (Stacks) - not needed
  36. //yield return new BuffRule(pwr) { IconIndex = 5, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = true}; // Swami (Stacks)
  37. //yield return new BuffRule(134872) { IconIndex = 6, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Swami (Active) - works is however bugged (continues even when swami is debuffed manually)
  38. }
  39. if (pwr == Hud.Sno.SnoPowers.Wizard_ArchonArcaneBlast.Sno){
  40. //nothing here
  41. }
  42. if (pwr == Hud.Sno.SnoPowers.Wizard_ArchonArcaneBlastCold.Sno){
  43. //nothing here
  44. }
  45. if (pwr == Hud.Sno.SnoPowers.Wizard_ArchonArcaneBlastFire.Sno){
  46. //nothing here
  47. }
  48. if (pwr == Hud.Sno.SnoPowers.Wizard_ArchonArcaneBlastLightning.Sno){
  49. //nothing here
  50. }
  51. if (pwr == Hud.Sno.SnoPowers.Wizard_ArchonArcaneStrike.Sno){
  52. //nothing here
  53. }
  54. if (pwr == Hud.Sno.SnoPowers.Wizard_ArchonArcaneStrikeCold.Sno){
  55. //nothing here
  56. }
  57. if (pwr == Hud.Sno.SnoPowers.Wizard_ArchonArcaneStrikeFire.Sno){
  58. //nothing here
  59. }
  60. if (pwr == Hud.Sno.SnoPowers.Wizard_ArchonArcaneStrikeLightning.Sno){
  61. //nothing here
  62. }
  63. if (pwr == Hud.Sno.SnoPowers.Wizard_ArchonCancel.Sno){
  64. //nothing here
  65. }
  66. if (pwr == Hud.Sno.SnoPowers.Wizard_ArchonDisintegrationWave.Sno){ // if you use Vyr and Max Arcane (= all_elements==0) the game will jump between the three Arcane Runes (IconIndex 0, 3, 1) for Channeling Disintregration Wave
  67. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Arcane Wave (No Rune, No Vyr), (Vyr, Max Arcane) - not needed
  68. yield return new BuffRule(pwr) { IconIndex = 6, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Arcane Wave (No Rune, No Vyr), (Rune 2, No Vyr), (Rune 5, No Vyr), (Vyr, Max Arcane)
  69. //yield return new BuffRule(pwr) { IconIndex = 3, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Arcane Wave (Rune 2, No Vyr), (Vyr, Max Arcane) - not needed
  70. //yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Arcane Wave (Rune 5, No Vyr), (Vyr, Max Arcane) - not needed
  71. }
  72. if (pwr == Hud.Sno.SnoPowers.Wizard_ArchonDisintegrationWaveCold.Sno){
  73. //yield return new BuffRule(pwr) { IconIndex = 2, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Cold Wave (Rune 4, No Vyr), (Vyr, Max Cold) - not needed
  74. yield return new BuffRule(pwr) { IconIndex = 6, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Cold Wave (Rune 4, No Vyr), (Vyr, Max Cold)
  75. }
  76. if (pwr == Hud.Sno.SnoPowers.Wizard_ArchonDisintegrationWaveFire.Sno){
  77. //yield return new BuffRule(pwr) { IconIndex = 5, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Fire Wave (Rune 1, No Vyr), (Vyr, Max Fire) - not needed
  78. yield return new BuffRule(pwr) { IconIndex = 6, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Fire Wave (Rune 1, No Vyr), (Vyr, Max Fire)
  79. }
  80. if (pwr == Hud.Sno.SnoPowers.Wizard_ArchonDisintegrationWaveLightning.Sno){
  81. //yield return new BuffRule(pwr) { IconIndex = 4, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Lightning Wave (Rune 3, No Vyr), (Vyr, Max Light) - not needed
  82. yield return new BuffRule(pwr) { IconIndex = 6, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Lightning Wave (Rune 3, No Vyr), (Vyr, Max Light)
  83. }
  84. if (pwr == Hud.Sno.SnoPowers.Wizard_ArchonSlowTime.Sno){
  85. yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Slow Time (Effect 1) (Rune 3, Vyr)
  86. //yield return new BuffRule(pwr) { IconIndex = 2, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Slow Time (Effect 2) (Rune 3, Vyr) - not needed
  87. //yield return new BuffRule(pwr) { IconIndex = 10, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Slow Time (Effect 3) (Rune 3, Vyr) - not needed
  88. }
  89. if (pwr == Hud.Sno.SnoPowers.Wizard_ArchonTeleport.Sno){
  90. //nothing here
  91. }
  92. if (pwr == Hud.Sno.SnoPowers.Wizard_BlackHole.Sno){
  93. yield return new BuffRule(pwr) { IconIndex = 8, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = true}; // Black Hole (Rune 2)
  94. yield return new BuffRule(pwr) { IconIndex = 5, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = true}; // Black Hole (Rune 5)
  95. }
  96. if (pwr == Hud.Sno.SnoPowers.Wizard_Blizzard.Sno){
  97. //nothing \o/
  98. }
  99. if (pwr == Hud.Sno.SnoPowers.Wizard_DiamondSkin.Sno){
  100. yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Diamond Skin (No Rune, Rune 1, Rune 4, Rune 5)
  101. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Diamond Skin (Rune 2)
  102. yield return new BuffRule(pwr) { IconIndex = 2, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Diamond Skin (Rune 3)
  103. }
  104. if (pwr == Hud.Sno.SnoPowers.Wizard_Disintegrate.Sno){
  105. yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Disintegrate (Active) (No Rune, Rune 1, Rune 2, Rune 3, Rune 4, Rune 5)
  106. //yield return new BuffRule(pwr) { IconIndex = 2, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Disintegrate (Active) (Rune 4) - not needed
  107. //yield return new BuffRule(pwr) { IconIndex = 10, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Disintegrate (DMG Stack) (No Rune, Rune 1, Rune 2, Rune 3, Rune 4, Rune 5) - Actual DMG Stack - not needed
  108. }
  109. if (pwr == Hud.Sno.SnoPowers.Wizard_Electrocute.Sno){
  110. //nothing \o/
  111. }
  112. if (pwr == Hud.Sno.SnoPowers.Wizard_EnergyArmor.Sno){
  113. yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Energy Armor (No Rune, Rune 4)
  114. yield return new BuffRule(pwr) { IconIndex = 3, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Energy Armor (Rune 1)
  115. yield return new BuffRule(pwr) { IconIndex = 5, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Energy Armor (Rune 2)
  116. yield return new BuffRule(pwr) { IconIndex = 4, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Energy Armor (Rune 3)
  117. //yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Energy Armor (Rune 5) (first rune 5 effect) - not needed
  118. yield return new BuffRule(pwr) { IconIndex = 2, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Energy Armor (Rune 5) (second rune 5 effect)
  119. }
  120. if (pwr == Hud.Sno.SnoPowers.Wizard_EnergyTwister.Sno){
  121. yield return new BuffRule(pwr) { IconIndex = 3, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = true}; // Energy Twister - Storm Chaser
  122. }
  123. if (pwr == Hud.Sno.SnoPowers.Wizard_ExplosiveBlast.Sno){
  124. yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = true}; // Explosive Blast (No Rune, Rune 1, Rune 2, Rune 3, Rune 4, Rune 5) - Stacks for Wand of Woh
  125. }
  126. if (pwr == Hud.Sno.SnoPowers.Wizard_Familiar.Sno){
  127. yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Familiar (No Rune, Rune 1, Rune 5)
  128. yield return new BuffRule(pwr) { IconIndex = 2, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Familiar (Rune 2) (first effect)
  129. yield return new BuffRule(pwr) { IconIndex = 3, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Familiar (Rune 2) (second effect)
  130. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Familiar (Rune 3)
  131. }
  132. if (pwr == Hud.Sno.SnoPowers.Wizard_FrostNova.Sno){
  133. yield return new BuffRule(pwr) { IconIndex = 5, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Frost Nova - Deep Freeze
  134. }
  135. if (pwr == Hud.Sno.SnoPowers.Wizard_Hydra.Sno){
  136. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = true}; // Hydra (No Rune, Rune 1, Rune 2, Rune 3, Rune 4, Rune 5)
  137. }
  138. if (pwr == Hud.Sno.SnoPowers.Wizard_IceArmor.Sno){
  139. yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Ice Armor (No Rune, Rune 1, Rune 3, Rune 4, Rune 5) - Base Effect
  140. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Ice Armor (Rune 1)
  141. yield return new BuffRule(pwr) { IconIndex = 3, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = true}; // Ice Armor (Rune 2)
  142. //yield return new BuffRule(pwr) { IconIndex = 2, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Ice Armor (Rune 5) - not needed
  143. }
  144. if (pwr == Hud.Sno.SnoPowers.Wizard_MagicMissile.Sno){
  145. //nothing \o/
  146. }
  147. if (pwr == Hud.Sno.SnoPowers.Wizard_MagicWeapon.Sno){
  148. yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Magic Weapon (No Rune, Rune 1, Rune 2, Rune 3, Rune 4, Rune 5) (first effect)
  149. //yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Magic Weapon (No Rune, Rune 1, Rune 2, Rune 3, Rune 4, Rune 5) (second effect) - not needed
  150. yield return new BuffRule(pwr) { IconIndex = 2, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = true}; // Magic Weapon (Rune 5) (third effect)
  151. //yield return new BuffRule(pwr) { IconIndex = 3, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Magic Weapon (Rune 5) (fourth effect) - not needed
  152. }
  153. if (pwr == Hud.Sno.SnoPowers.Wizard_Meteor.Sno){
  154. //nothing \o/
  155. }
  156. if (pwr == Hud.Sno.SnoPowers.Wizard_MirrorImage.Sno){
  157. yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Mirror Image (Rune 0, Rune 1, Rune 2, Rune 3, Rune 4, Rune 5)
  158. }
  159. if (pwr == Hud.Sno.SnoPowers.Wizard_RayOfFrost.Sno){
  160. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Ray of Frost (Active) (No Rune, Rune 1, Rune 2, Rune 3, Rune 5) - not needed
  161. //yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Ray of Frost (Active) (Rune 4) - not needed
  162. yield return new BuffRule(pwr) { IconIndex = 6, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = true}; // Ray of Frost (DMG Stack) (No Rune, Rune 1, Rune 2, Rune 3, Rune 4, Rune 5)
  163. }
  164. if (pwr == Hud.Sno.SnoPowers.Wizard_ShockPulse.Sno){
  165. //nothing \o/
  166. }
  167. if (pwr == Hud.Sno.SnoPowers.Wizard_SlowTime.Sno){
  168. yield return new BuffRule(pwr) { IconIndex = 2, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Slow Time (No Rune, Rune 1, Rune 2, Rune 3, Rune 4, Rune 5)
  169. yield return new BuffRule(pwr) { IconIndex = 3, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Slow Time (Rune 5) - (Player under Slow Time Effect)
  170. }
  171. if (pwr == Hud.Sno.SnoPowers.Wizard_SpectralBlade.Sno){
  172. yield return new BuffRule(pwr) { IconIndex = 4, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = true}; // Spectral Blade (Rune 1)
  173. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = true}; // Spectral Blade (Rune 4)
  174. }
  175. if (pwr == Hud.Sno.SnoPowers.Wizard_StormArmor.Sno){
  176. yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Storm Armor (No Rune, Rune 1, Rune 3, Rune 4, Rune 5)
  177. yield return new BuffRule(pwr) { IconIndex = 3, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Storm Armor (Rune 2)
  178. yield return new BuffRule(pwr) { IconIndex = 2, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Storm Armor (Rune 4) - Speed Effect
  179. }
  180. if (pwr == Hud.Sno.SnoPowers.Wizard_Teleport.Sno){
  181. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Teleport (Rune 1)
  182. yield return new BuffRule(pwr) { IconIndex = 2, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Teleport (Rune 2)
  183. yield return new BuffRule(pwr) { IconIndex = 4, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Teleport (Rune 3)
  184. yield return new BuffRule(pwr) { IconIndex = 3, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Teleport (Rune 4) (second rune 4 effect)
  185. //yield return new BuffRule(pwr) { IconIndex = 6, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Teleport (Rune 4) (first rune 4 effect) - not needed
  186. }
  187. if (pwr == Hud.Sno.SnoPowers.Wizard_WaveOfForce.Sno){
  188. yield return new BuffRule(pwr) { IconIndex = 2, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = true}; // Wafe of Force - Arcane Attunment
  189. }
  190. // ############ WIZARD PASSIVE SKILLS ##############
  191. // ################################################
  192. if (pwr == Hud.Sno.SnoPowers.Wizard_Passive_ArcaneDynamo.Sno){
  193. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Wizard_Passive_ArcaneDynamo (Active)
  194. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = true}; // Wizard_Passive_ArcaneDynamo (Stacks)
  195. }
  196. if (pwr == Hud.Sno.SnoPowers.Wizard_Passive_AstralPresence.Sno){
  197. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  198. }
  199. if (pwr == Hud.Sno.SnoPowers.Wizard_Passive_Audacity.Sno){
  200. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  201. }
  202. if (pwr == Hud.Sno.SnoPowers.Wizard_Passive_Blur.Sno){
  203. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  204. }
  205. if (pwr == Hud.Sno.SnoPowers.Wizard_Passive_ColdBlooded.Sno){
  206. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  207. }
  208. if (pwr == Hud.Sno.SnoPowers.Wizard_Passive_Conflagration.Sno){
  209. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  210. }
  211. if (pwr == Hud.Sno.SnoPowers.Wizard_Passive_Dominance.Sno){
  212. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // x1_Wizard_Passive_ArcaneAegis (Active) (a.k.a Dominance)
  213. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = true}; // x1_Wizard_Passive_ArcaneAegis (Stacks) (a.k.a Dominance)
  214. }
  215. if (pwr == Hud.Sno.SnoPowers.Wizard_Passive_ElementalExposure.Sno){
  216. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  217. }
  218. if (pwr == Hud.Sno.SnoPowers.Wizard_Passive_Evocation.Sno){
  219. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  220. }
  221. if (pwr == Hud.Sno.SnoPowers.Wizard_Passive_GalvanizingWard.Sno){
  222. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Wizard_Passive_GalvanizingWard (Active)
  223. yield return new BuffRule(pwr) { IconIndex = 2, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Wizard_Passive_GalvanizingWard (Shield Up)
  224. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Wizard_Passive_GalvanizingWard (Shield Cooldown)
  225. }
  226. if (pwr == Hud.Sno.SnoPowers.Wizard_Passive_GlassCannon.Sno){
  227. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  228. }
  229. if (pwr == Hud.Sno.SnoPowers.Wizard_Passive_Illusionist.Sno){
  230. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Wizard_Passive_Illusionist (Active)
  231. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Wizard_Passive_Illusionist (Speedbuff)
  232. }
  233. if (pwr == Hud.Sno.SnoPowers.Wizard_Passive_Paralysis.Sno){
  234. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Wizard_Passive_Paralysis (Active)
  235. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Wizard_Passive_Paralysis (Proc)
  236. }
  237. if (pwr == Hud.Sno.SnoPowers.Wizard_Passive_PowerHungry.Sno){
  238. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  239. }
  240. if (pwr == Hud.Sno.SnoPowers.Wizard_Passive_Prodigy.Sno){
  241. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  242. }
  243. if (pwr == Hud.Sno.SnoPowers.Wizard_Passive_TemporalFlux.Sno){
  244. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  245. }
  246. if (pwr == Hud.Sno.SnoPowers.Wizard_Passive_UnstableAnomaly.Sno){
  247. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Wizard_Passive_UnstableAnomaly (Active)
  248. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Wizard_Passive_UnstableAnomaly (Cooldown)
  249. yield return new BuffRule(pwr) { IconIndex = 2, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Wizard_Passive_UnstableAnomaly (Cooldown)
  250. }
  251. if (pwr == Hud.Sno.SnoPowers.Wizard_Passive_UnwaveringWill.Sno){
  252. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // X1_Wizard_Passive_UnwaveringWill (Active)
  253. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // X1_Wizard_Passive_UnwaveringWill (Buff)
  254. }
  255. // ############ MONK ACTIVE SKILLS ##############
  256. // ##############################################
  257. if (pwr == Hud.Sno.SnoPowers.Monk_BlindingFlash.Sno){
  258. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 5
  259. }
  260. if (pwr == Hud.Sno.SnoPowers.Monk_BreathOfHeaven.Sno){
  261. yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 3
  262. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 4
  263. yield return new BuffRule(pwr) { IconIndex = 2, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 5
  264. }
  265. if (pwr == Hud.Sno.SnoPowers.Monk_CripplingWave.Sno){
  266. //nothing here
  267. }
  268. if (pwr == Hud.Sno.SnoPowers.Monk_CycloneStrike.Sno){
  269. //nothing here
  270. }
  271. if (pwr == Hud.Sno.SnoPowers.Monk_DashingStrike.Sno){
  272. yield return new BuffRule(pwr) { IconIndex = 3, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 1 (MS)
  273. yield return new BuffRule(pwr) { IconIndex = 2, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 2 (Dodge)
  274. yield return new BuffRule(pwr) { IconIndex = 4, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 4 (IAS)
  275. }
  276. if (pwr == Hud.Sno.SnoPowers.Monk_DeadlyReach.Sno){
  277. yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = true}; // Rune 4
  278. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 5
  279. }
  280. if (pwr == Hud.Sno.SnoPowers.Monk_Epiphany.Sno){
  281. yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 0, Rune 1, Rune 2, Rune 3, Rune 4, Rune 5 (base effect dash)
  282. //yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 0, Rune 1, Rune 2, Rune 3, Rune 4, Rune 5 (base effect regen) - not needed
  283. //yield return new BuffRule(pwr) { IconIndex = 6, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 1 - not needed
  284. //yield return new BuffRule(pwr) { IconIndex = 8, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 2 - not needed
  285. yield return new BuffRule(pwr) { IconIndex = 12, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 3 (Heal Instance)
  286. //yield return new BuffRule(pwr) { IconIndex = 4, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 5 - not needed
  287. }
  288. if (pwr == Hud.Sno.SnoPowers.Monk_ExplodingPalm.Sno){
  289. //nothing here
  290. }
  291. if (pwr == Hud.Sno.SnoPowers.Monk_FistsOfThunder.Sno){
  292. //yield return new BuffRule(pwr) { IconIndex = 7, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Rune 0, Rune 1, Rune 2, Rune 3, Rune 4, Rune 5 (Third Hit) - not needed
  293. }
  294. if (pwr == Hud.Sno.SnoPowers.Monk_InnerSanctuary.Sno){
  295. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Rune 0, Rune 1, Rune 2, Rune 3, Rune 4, Rune 5
  296. //yield return new BuffRule(pwr) { IconIndex = 3, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Rune 2 (LPS) - not needed
  297. yield return new BuffRule(pwr) { IconIndex = 6, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 4 (Shield)
  298. }
  299. if (pwr == Hud.Sno.SnoPowers.Monk_LashingTailKick.Sno){
  300. //nothing here
  301. }
  302. if (pwr == Hud.Sno.SnoPowers.Monk_MantraOfConviction.Sno){
  303. foreach(BuffRule b in CreateBuffRules(Hud.Sno.SnoPowers.Monk_Passive_MantraOfConvictionV2.Sno))
  304. yield return b;
  305. }
  306. if (pwr == Hud.Sno.SnoPowers.Monk_Passive_MantraOfConvictionV2.Sno){
  307. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Rune 0, Rune 1, Rune 2, Rune 3, Rune 4, Rune 5 (Equipped) - not needed
  308. yield return new BuffRule(pwr) { IconIndex = 2, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 0, Rune 1, Rune 2, Rune 3, Rune 4, Rune 5 (Active)
  309. //yield return new BuffRule(pwr) { IconIndex = 3, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Rune 0, Rune 1, Rune 2, Rune 3, Rune 4, Rune 5
  310. //yield return new BuffRule(pwr) { IconIndex = 5, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Rune 0, Rune 1, Rune 2, Rune 3, Rune 4, Rune 5
  311. }
  312. if (pwr == Hud.Sno.SnoPowers.Monk_MantraOfHealing.Sno){
  313. foreach(BuffRule b in CreateBuffRules(Hud.Sno.SnoPowers.Monk_Passive_MantraOfHealingV2.Sno))
  314. yield return b;
  315. }
  316. if (pwr == Hud.Sno.SnoPowers.Monk_Passive_MantraOfHealingV2.Sno){
  317. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Rune 0, Rune 1, Rune 2, Rune 3, Rune 4, Rune 5 (Base Effect)
  318. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 0, Rune 1, Rune 2, Rune 3, Rune 4, Rune 5 (Active)
  319. //yield return new BuffRule(pwr) { IconIndex = 5, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Rune 0, Rune 1, Rune 2, Rune 3, Rune 4, Rune 5
  320. //yield return new BuffRule(pwr) { IconIndex = 10, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Rune 0, Rune 1, Rune 2, Rune 3, Rune 4, Rune 5 (Equipped) - not needed
  321. //yield return new BuffRule(pwr) { IconIndex = 11, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Rune 1
  322. //yield return new BuffRule(pwr) { IconIndex = 12, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Rune 2
  323. //yield return new BuffRule(pwr) { IconIndex = 13, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Rune 3
  324. //yield return new BuffRule(pwr) { IconIndex = 14, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Rune 4
  325. //yield return new BuffRule(pwr) { IconIndex = 15, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Rune 5
  326. }
  327. if (pwr == Hud.Sno.SnoPowers.Monk_MantraOfRetribution.Sno){
  328. foreach(BuffRule b in CreateBuffRules(Hud.Sno.SnoPowers.Monk_Passive_MantraOfRetributionV2.Sno))
  329. yield return b;
  330. }
  331. if (pwr == Hud.Sno.SnoPowers.Monk_Passive_MantraOfRetributionV2.Sno){
  332. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Rune 0, Rune 1, Rune 2, Rune 3, Rune 4, Rune 5 (Base Effect)
  333. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 0, Rune 1, Rune 2, Rune 3, Rune 4, Rune 5 (Active)
  334. //yield return new BuffRule(pwr) { IconIndex = 5, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Rune 0, Rune 1, Rune 2, Rune 3, Rune 4, Rune 5
  335. //yield return new BuffRule(pwr) { IconIndex = 10, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Rune 0, Rune 1, Rune 2, Rune 3, Rune 4, Rune 5 (Equipped) - not needed
  336. //yield return new BuffRule(pwr) { IconIndex = 11, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Rune 1
  337. //yield return new BuffRule(pwr) { IconIndex = 12, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Rune 3
  338. //yield return new BuffRule(pwr) { IconIndex = 13, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Rune 4
  339. //yield return new BuffRule(pwr) { IconIndex = 14, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Rune 2
  340. //yield return new BuffRule(pwr) { IconIndex = 15, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Rune 5
  341. }
  342. if (pwr == Hud.Sno.SnoPowers.Monk_MantraOfSalvation.Sno){
  343. foreach(BuffRule b in CreateBuffRules(Hud.Sno.SnoPowers.Monk_Passive_MantraOfEvasionV2.Sno))
  344. yield return b;
  345. }
  346. if (pwr == Hud.Sno.SnoPowers.Monk_Passive_MantraOfEvasionV2.Sno){
  347. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Rune 0, Rune 1, Rune 2, Rune 3, Rune 4, Rune 5 (Base Effect)
  348. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 0, Rune 1, Rune 2, Rune 3, Rune 4, Rune 5 (Active)
  349. //yield return new BuffRule(pwr) { IconIndex = 5, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Rune 0, Rune 1, Rune 2, Rune 3, Rune 4, Rune 5
  350. yield return new BuffRule(pwr) { IconIndex = 8, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 2 (proc downtime)
  351. //yield return new BuffRule(pwr) { IconIndex = 10, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Rune 0, Rune 1, Rune 2, Rune 3, Rune 4, Rune 5 (Equipped) - not needed
  352. //yield return new BuffRule(pwr) { IconIndex = 11, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Rune 5
  353. //yield return new BuffRule(pwr) { IconIndex = 12, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Rune 4
  354. //yield return new BuffRule(pwr) { IconIndex = 13, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Rune 1
  355. //yield return new BuffRule(pwr) { IconIndex = 14, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Rune 3
  356. //yield return new BuffRule(pwr) { IconIndex = 15, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Rune 2
  357. }
  358.  
  359. if (pwr == Hud.Sno.SnoPowers.Monk_MysticAlly.Sno){
  360. //yield return new BuffRule(362118) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Rune 0, Rune 1, Rune 2, Rune 3, Rune 4 (Ally)
  361. //yield return new BuffRule(362118) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 4 (on sacrifice) (Ally)
  362. //yield return new BuffRule(362118) { IconIndex = 5, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 4 (on sacrifice) (Ally)
  363. }
  364. if (pwr == Hud.Sno.SnoPowers.Monk_Serenity.Sno){
  365. yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 0, Rune 1, Rune 2, Rune 3, Rune 4, Rune 5
  366. }
  367. if (pwr == Hud.Sno.SnoPowers.Monk_SevenSidedStrike.Sno){
  368. //nothing here
  369. }
  370. if (pwr == Hud.Sno.SnoPowers.Monk_SweepingWind.Sno){
  371. yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = true}; // Rune 0, Rune 1, Rune 2, Rune 3, Rune 4, Rune 5 (Base Effect)
  372. yield return new BuffRule(pwr) { IconIndex = 6, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 2 (Spirit Regen)
  373. }
  374. if (pwr == Hud.Sno.SnoPowers.Monk_TempestRush.Sno){
  375. yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Rune 0, Rune 1, Rune 2. Rune 3, Rune 4, Rune 5 (Active)
  376. //yield return new BuffRule(pwr) { IconIndex = 2, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Rune 4 - not needed
  377. yield return new BuffRule(pwr) { IconIndex = 3, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = true}; // Rune 3 (Stacks)
  378. yield return new BuffRule(pwr) { IconIndex = 4, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 0, Rune 1, Rune 2, Rune 3, Rune 4, Rune 5 (DMG Tick)
  379. }
  380. if (pwr == Hud.Sno.SnoPowers.Monk_WaveOfLight.Sno){
  381. //nothing here
  382. }
  383. if (pwr == Hud.Sno.SnoPowers.Monk_WayOfTheHundredFists.Sno){
  384. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Rune 0, Rune 1, Rune 2, Rune 3, Rune 4, Rune 5 (Third Hit) - not needed
  385. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = true}; // Rune 2
  386. //yield return new BuffRule(pwr) { IconIndex = 2, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 2 - not needed
  387. yield return new BuffRule(pwr) { IconIndex = 4, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = true}; // Rune 4
  388. }
  389. // ############ MONK PASSIVE SKILLS ##############
  390. // ##############################################
  391. if (pwr == Hud.Sno.SnoPowers.Monk_Passive_Alacrity.Sno){
  392. //nothing here
  393. }
  394. if (pwr == Hud.Sno.SnoPowers.Monk_Passive_BeaconOfYtar.Sno){
  395. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  396. }
  397. if (pwr == Hud.Sno.SnoPowers.Monk_Passive_ChantOfResonance.Sno){
  398. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  399. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = true}; // Passive (stacking??)
  400. }
  401. if (pwr == Hud.Sno.SnoPowers.Monk_Passive_CombinationStrike.Sno){
  402. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  403. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Passive (Fist of Thunder Stack)
  404. yield return new BuffRule(pwr) { IconIndex = 2, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Passive (Deadly Reach Stack)
  405. yield return new BuffRule(pwr) { IconIndex = 3, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Passive (WotHF Stack)
  406. yield return new BuffRule(pwr) { IconIndex = 4, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Passive (CripplingWave Stack)
  407. }
  408. if (pwr == Hud.Sno.SnoPowers.Monk_Passive_Determination.Sno){ //determination?
  409. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  410. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = true}; // Passive (uptime)
  411. }
  412. if (pwr == Hud.Sno.SnoPowers.Monk_Passive_ExaltedSoul.Sno){
  413. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  414. }
  415. if (pwr == Hud.Sno.SnoPowers.Monk_Passive_FleetFooted.Sno){
  416. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  417. }
  418. if (pwr == Hud.Sno.SnoPowers.Monk_Passive_Harmony.Sno){
  419. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  420. }
  421. if (pwr == Hud.Sno.SnoPowers.Monk_Passive_Momentum.Sno){
  422. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  423. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Passive (uptime)
  424. }
  425. if (pwr == Hud.Sno.SnoPowers.Monk_Passive_MythicRhythm.Sno){
  426. //yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  427. yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (up)
  428. //yield return new BuffRule(pwr) { IconIndex = 2, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Passive (used)
  429. }
  430. if (pwr == Hud.Sno.SnoPowers.Monk_Passive_NearDeathExperience.Sno){
  431. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  432. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Passive (downtime)
  433. yield return new BuffRule(pwr) { IconIndex = 3, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Passive (downtime)
  434. }
  435. if (pwr == Hud.Sno.SnoPowers.Monk_Passive_RelentlessAssault.Sno){
  436. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  437. }
  438. if (pwr == Hud.Sno.SnoPowers.Monk_Passive_Resolve.Sno){
  439. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  440. }
  441. if (pwr == Hud.Sno.SnoPowers.Monk_Passive_SeizeTheInitiative.Sno){
  442. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  443. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Passive (uptime)
  444. }
  445. if (pwr == Hud.Sno.SnoPowers.Monk_Passive_SixthSense.Sno){
  446. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  447. }
  448. if (pwr == Hud.Sno.SnoPowers.Monk_Passive_TheGuardiansPath.Sno){
  449. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  450. }
  451. if (pwr == Hud.Sno.SnoPowers.Monk_Passive_Transcendence.Sno){
  452. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  453. }
  454. if (pwr == Hud.Sno.SnoPowers.Monk_Passive_Unity.Sno){
  455. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  456. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (Group-DPS)
  457. yield return new BuffRule(pwr) { IconIndex = 2, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = true}; // Passive (Self-DPS)
  458. }
  459. // ############ BARBARIAN ACITVE SKILLS ##############
  460. // ###################################################
  461. if (pwr == Hud.Sno.SnoPowers.Barbarian_AncientSpear.Sno){
  462. //nothing here
  463. }
  464. if (pwr == Hud.Sno.SnoPowers.Barbarian_Avalanche.Sno){
  465. //nothing here
  466. }
  467. if (pwr == Hud.Sno.SnoPowers.Barbarian_Bash.Sno){
  468. yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = true}; // Rune 3
  469. }
  470. if (pwr == Hud.Sno.SnoPowers.Barbarian_BattleRage.Sno){
  471. yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Rune 0, Rune 1, Rune 2, Rune 3, Rune 4, Rune 5
  472. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Rune 4
  473. }
  474. if (pwr == Hud.Sno.SnoPowers.Barbarian_CallOfTheAncients.Sno){
  475. yield return new BuffRule(pwr) { IconIndex = 4, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 0, Rune 1, Rune 2, Rune 3, Rune 4, Rune 5 (Active)
  476. yield return new BuffRule(pwr) { IconIndex = 6, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 5 (DMG Reduction)
  477. }
  478. if (pwr == Hud.Sno.SnoPowers.Barbarian_Cleave.Sno){
  479. //nothing here
  480. }
  481. if (pwr == Hud.Sno.SnoPowers.Barbarian_Earthquake.Sno){
  482. //nothing here
  483. }
  484. if (pwr == Hud.Sno.SnoPowers.Barbarian_Frenzy.Sno){
  485. yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = true}; // Rune 0
  486. }
  487. if (pwr == Hud.Sno.SnoPowers.Barbarian_FuriousCharge.Sno){
  488. yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Rune 0, Rune 1, Rune 2, Rune 3, Rune 4, Rune 5 (Active)
  489. }
  490. if (pwr == Hud.Sno.SnoPowers.Barbarian_GroundStomp.Sno){
  491. //nothing here
  492. }
  493. if (pwr == Hud.Sno.SnoPowers.Barbarian_HammerOfTheAncients.Sno){
  494. yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 4
  495. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 5
  496. }
  497. if (pwr == Hud.Sno.SnoPowers.Barbarian_IgnorePain.Sno){
  498. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 0, Rune 1, Rune 2, Rune 3, Rune 4, Rune 5
  499. yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 4 (group)
  500. }
  501. if (pwr == Hud.Sno.SnoPowers.Barbarian_Leap.Sno){
  502. yield return new BuffRule(pwr) { IconIndex = 2, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 1
  503. }
  504. if (pwr == Hud.Sno.SnoPowers.Barbarian_Overpower.Sno){
  505. //yield return new BuffRule(pwr) { IconIndex = 2, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 0, Rune 1, Rune 2, Rune 3, Rune 4, Rune 5 - not needed
  506. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 2
  507. yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 3
  508. }
  509. if (pwr == Hud.Sno.SnoPowers.Barbarian_Rend.Sno){
  510. //nothing here
  511. }
  512. if (pwr == Hud.Sno.SnoPowers.Barbarian_Revenge.Sno){
  513. yield return new BuffRule(pwr) { IconIndex = 3, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 0, Rune 1, Rune 2, Rune 3, Rune 4, Rune 5 (what base effect?)
  514. yield return new BuffRule(pwr) { IconIndex = 2, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 2
  515. }
  516. if (pwr == Hud.Sno.SnoPowers.Barbarian_SeismicSlam.Sno){
  517. //nothing here
  518. }
  519. if (pwr == Hud.Sno.SnoPowers.Barbarian_Sprint.Sno){
  520. yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 0, Rune 2, Rune 3, Rune 4, Rune 5
  521. //yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 2 - not needed
  522. yield return new BuffRule(pwr) { IconIndex = 4, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 1
  523. yield return new BuffRule(pwr) { IconIndex = 3, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 5 (group)
  524. }
  525. if (pwr == Hud.Sno.SnoPowers.Barbarian_ThreateningShout.Sno){
  526. //nothing here
  527. }
  528. if (pwr == Hud.Sno.SnoPowers.Barbarian_WarCry.Sno){
  529. yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 0, Rune 1, Rune 2, Rune 3, Rune 4, Rune 5 (Active)
  530. //yield return new BuffRule(pwr) { IconIndex = 6, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 0, Rune 1, Rune 2, Rune 3, Rune 4, Rune 5 (6sec Buff) - not needed
  531. //yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 1 - not working
  532. //yield return new BuffRule(pwr) { IconIndex = 5, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 3 - not working
  533. //yield return new BuffRule(pwr) { IconIndex = 2, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 4 - not working
  534. //yield return new BuffRule(pwr) { IconIndex = 3, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 5 - not working
  535. //yield return new BuffRule(318821) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // War Cry Belt - not working
  536. }
  537. if (pwr == Hud.Sno.SnoPowers.Barbarian_WeaponThrow.Sno){
  538. //nothing here
  539. }
  540. if (pwr == Hud.Sno.SnoPowers.Barbarian_Whirlwind.Sno){
  541. yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Rune 0, Rune 1, Rune 2, Rune 3, Rune 4, Rune 5
  542. //yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Rune 0, Rune 1, Rune 2, Rune 3, Rune 4, Rune 5 - not needed
  543. //yield return new BuffRule(pwr) { IconIndex = 3, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 1 - not needed
  544. }
  545. if (pwr == Hud.Sno.SnoPowers.Barbarian_WrathOfTheBerserker.Sno){
  546. yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 0, Rune 1, Rune 2, Rune 3, Rune 4, Rune 5
  547. }
  548. // ############ BARBARIAN PASSIVE SKILLS ##############
  549. // ####################################################
  550. if (pwr == Hud.Sno.SnoPowers.Barbarian_Passive_Animosity.Sno){
  551. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  552. }
  553. if (pwr == Hud.Sno.SnoPowers.Barbarian_Passive_BerserkerRage.Sno){
  554. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  555. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Active
  556. }
  557. if (pwr == Hud.Sno.SnoPowers.Barbarian_Passive_Bloodthirst.Sno){
  558. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  559. }
  560. if (pwr == Hud.Sno.SnoPowers.Barbarian_Passive_BoonOfBulKathos.Sno){
  561. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  562. }
  563. if (pwr == Hud.Sno.SnoPowers.Barbarian_Passive_Brawler.Sno){
  564. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  565. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Active
  566. }
  567. if (pwr == Hud.Sno.SnoPowers.Barbarian_Passive_EarthenMight.Sno){
  568. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  569. }
  570. if (pwr == Hud.Sno.SnoPowers.Barbarian_Passive_InspiringPresence.Sno){
  571. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  572. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Duration
  573. //yield return new BuffRule(pwr) { IconIndex = 2, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Heal Instance
  574. }
  575. if (pwr == Hud.Sno.SnoPowers.Barbarian_Passive_Juggernaut.Sno){
  576. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  577. }
  578. if (pwr == Hud.Sno.SnoPowers.Barbarian_Passive_NervesOfSteel.Sno){
  579. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  580. yield return new BuffRule(pwr) { IconIndex = 2, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Cooldown
  581. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Cooldown
  582. }
  583. if (pwr == Hud.Sno.SnoPowers.Barbarian_Passive_NoEscape.Sno){
  584. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  585. }
  586. if (pwr == Hud.Sno.SnoPowers.Barbarian_Passive_PoundOfFlesh.Sno){
  587. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Passive (equipped)
  588. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = true}; // Stacks
  589. }
  590. if (pwr == Hud.Sno.SnoPowers.Barbarian_Passive_Rampage.Sno){
  591. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Passive (equipped)
  592. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = true}; // Stacks
  593. }
  594. if (pwr == Hud.Sno.SnoPowers.Barbarian_Passive_Relentless.Sno){
  595. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  596. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Active
  597. }
  598. if (pwr == Hud.Sno.SnoPowers.Barbarian_Passive_Ruthless.Sno){
  599. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  600. }
  601. if (pwr == Hud.Sno.SnoPowers.Barbarian_Passive_Superstition.Sno){
  602. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  603. }
  604. if (pwr == Hud.Sno.SnoPowers.Barbarian_Passive_SwordAndBoard.Sno){
  605. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  606. }
  607. if (pwr == Hud.Sno.SnoPowers.Barbarian_Passive_ToughAsNails.Sno){
  608. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  609. }
  610. if (pwr == Hud.Sno.SnoPowers.Barbarian_Passive_Unforgiving.Sno){
  611. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  612. }
  613. if (pwr == Hud.Sno.SnoPowers.Barbarian_Passive_WeaponsMaster.Sno){
  614. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  615. }
  616. // ############ WITCHDOCTOR ACTIVE SKILLS ##############
  617. // #####################################################
  618. if (pwr == Hud.Sno.SnoPowers.WitchDoctor_AcidCloud.Sno){
  619. //nothing here
  620. }
  621. if (pwr == Hud.Sno.SnoPowers.WitchDoctor_BigBadVoodoo.Sno){
  622. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Rune 0, Rune 1, Rune 5 (Active)
  623. yield return new BuffRule(pwr) { IconIndex = 2, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Rune 3 (Active)
  624. yield return new BuffRule(pwr) { IconIndex = 3, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Rune 2 (Active)
  625. yield return new BuffRule(pwr) { IconIndex = 4, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 0, Rune 1, Rune 2, Rune 3, Rune 4, Rune 5 (Duration)
  626. yield return new BuffRule(pwr) { IconIndex = 5, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Rune 4 (Active)
  627. }
  628. if (pwr == Hud.Sno.SnoPowers.WitchDoctor_CorpseSpider.Sno){
  629. //nothing here
  630. }
  631. if (pwr == Hud.Sno.SnoPowers.WitchDoctor_FetishArmy.Sno){
  632. //nothing here
  633. }
  634. if (pwr == Hud.Sno.SnoPowers.WitchDoctor_Firebats.Sno){
  635. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Rune 0, Rune 1, Rune 2, Rune 3, Rune 4, Rune 5 (Channel)
  636. yield return new BuffRule(pwr) { IconIndex = 4, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = true}; // Rune 5 (DMG inc)
  637. }
  638. if (pwr == Hud.Sno.SnoPowers.WitchDoctor_Firebomb.Sno){
  639. //nothing here
  640. }
  641. if (pwr == Hud.Sno.SnoPowers.WitchDoctor_Gargantuan.Sno){
  642. yield return new BuffRule(pwr) { IconIndex = 4, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 3
  643. }
  644. if (pwr == Hud.Sno.SnoPowers.WitchDoctor_GraspOfTheDead.Sno){
  645. yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 5
  646. }
  647. if (pwr == Hud.Sno.SnoPowers.WitchDoctor_Haunt.Sno){
  648. yield return new BuffRule(pwr) { IconIndex = 5, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 4
  649. }
  650. if (pwr == Hud.Sno.SnoPowers.WitchDoctor_Hex.Sno){
  651. yield return new BuffRule(pwr) { IconIndex = 5, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Hex (4PC Arachyr DMG Red)
  652. //yield return new BuffRule(pwr) { IconIndex = 6, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Hex (4PC Arachyr %Life) - not needed
  653. }
  654. if (pwr == Hud.Sno.SnoPowers.WitchDoctor_Horrify.Sno){
  655. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 2
  656. yield return new BuffRule(pwr) { IconIndex = 2, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 4
  657. }
  658. if (pwr == Hud.Sno.SnoPowers.WitchDoctor_LocustSwarm.Sno){
  659. yield return new BuffRule(pwr) { IconIndex = 5, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Rune 2
  660. }
  661. if (pwr == Hud.Sno.SnoPowers.WitchDoctor_MassConfusion.Sno){
  662. //nothing here
  663. }
  664. if (pwr == Hud.Sno.SnoPowers.WitchDoctor_Piranhas.Sno){
  665. //nothing here
  666. }
  667. if (pwr == Hud.Sno.SnoPowers.WitchDoctor_PlagueOfToads.Sno){
  668. //nothing here
  669. }
  670. if (pwr == Hud.Sno.SnoPowers.WitchDoctor_PoisonDart.Sno){
  671. //nothing here
  672. }
  673. if (pwr == Hud.Sno.SnoPowers.WitchDoctor_Sacrifice.Sno){
  674. yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = true}; // Rune 5
  675. }
  676. if (pwr == Hud.Sno.SnoPowers.WitchDoctor_SoulHarvest.Sno){
  677. yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = true}; // Rune 0
  678. //yield return new BuffRule(pwr) { IconIndex = 2, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = true}; // Rune 1 - not needed
  679. }
  680. if (pwr == Hud.Sno.SnoPowers.WitchDoctor_SpiritBarrage.Sno){
  681. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = true}; // Rune 2
  682. yield return new BuffRule(pwr) { IconIndex = 3, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 5
  683. }
  684. if (pwr == Hud.Sno.SnoPowers.WitchDoctor_SpiritWalk.Sno){
  685. yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 0, Rune 1, Rune 2, Rune 3, Rune 4, Rune 5
  686. }
  687. if (pwr == Hud.Sno.SnoPowers.WitchDoctor_SummonZombieDog.Sno){
  688. //nothing here
  689. }
  690. if (pwr == Hud.Sno.SnoPowers.WitchDoctor_WallOfDeath.Sno){//Wall of Death
  691. //nothing here
  692. }
  693. if (pwr == Hud.Sno.SnoPowers.WitchDoctor_ZombieCharger.Sno){}//??
  694. // ############ WITCHDOCTOR PASSIVE SKILLS ##############
  695. // ######################################################
  696. if (pwr == Hud.Sno.SnoPowers.WitchDoctor_Passive_BadMedicine.Sno){ //debuff icon on IconIndex = 1
  697. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  698. }
  699. if (pwr == Hud.Sno.SnoPowers.WitchDoctor_Passive_BloodRitual.Sno){
  700. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  701. }
  702. if (pwr == Hud.Sno.SnoPowers.WitchDoctor_Passive_CircleOfLife.Sno){
  703. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  704. }
  705. if (pwr == Hud.Sno.SnoPowers.WitchDoctor_Passive_ConfidenceRitual.Sno){
  706. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  707. }
  708. if (pwr == Hud.Sno.SnoPowers.WitchDoctor_Passive_CreepingDeath.Sno){
  709. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  710. }
  711. if (pwr == Hud.Sno.SnoPowers.WitchDoctor_Passive_FetishSycophants.Sno){ //has no stacks?
  712. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  713. }
  714. if (pwr == Hud.Sno.SnoPowers.WitchDoctor_Passive_FierceLoyalty.Sno){
  715. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  716. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (speed)
  717. //yield return new BuffRule(pwr) { IconIndex = 2, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Passive (additional dog?) - not needed
  718. }
  719. if (pwr == Hud.Sno.SnoPowers.WitchDoctor_Passive_GraveInjustice.Sno){
  720. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  721. //yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = true}; // Passive (debuff?) - not needed
  722. }
  723. if (pwr == Hud.Sno.SnoPowers.WitchDoctor_Passive_GruesomeFeast.Sno){
  724. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 0, ShowTimeLeft = true, ShowStacks = true}; // Passive (equipped/stacks)
  725. }
  726. if (pwr == Hud.Sno.SnoPowers.WitchDoctor_Passive_JungleFortitude.Sno){
  727. //yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 0, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  728. //yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = true}; // Passive (Pets?) - not working
  729. }
  730. if (pwr == Hud.Sno.SnoPowers.WitchDoctor_Passive_MidnightFeast.Sno){
  731. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  732. }
  733. if (pwr == Hud.Sno.SnoPowers.WitchDoctor_Passive_PierceTheVeil.Sno){
  734. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  735. }
  736. if (pwr == Hud.Sno.SnoPowers.WitchDoctor_Passive_RushOfEssence.Sno){
  737. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  738. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1 , ShowTimeLeft = true, ShowStacks = true}; // Passive (stacks)
  739. }
  740. if (pwr == Hud.Sno.SnoPowers.WitchDoctor_Passive_SpiritualAttunement.Sno){
  741. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  742. }
  743. if (pwr == Hud.Sno.SnoPowers.WitchDoctor_Passive_SpiritVessel.Sno){
  744. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  745. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Passive (cooldown)
  746. yield return new BuffRule(pwr) { IconIndex = 2, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Passive (cooldown)
  747. }
  748. if (pwr == Hud.Sno.SnoPowers.WitchDoctor_Passive_SwamplandAttunement.Sno){
  749. //yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 0, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  750. //yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = true}; // Passive (Pets?) - not working
  751. }
  752. if (pwr == Hud.Sno.SnoPowers.WitchDoctor_Passive_TraitZombieDogSpawner.Sno){} //?????
  753. if (pwr == Hud.Sno.SnoPowers.WitchDoctor_Passive_TribalRites.Sno){
  754. //nothing here - doesn't show ?
  755. }
  756. if (pwr == Hud.Sno.SnoPowers.WitchDoctor_Passive_VisionQuest.Sno){
  757. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  758. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Passive (cooldown)
  759. }
  760. if (pwr == Hud.Sno.SnoPowers.WitchDoctor_Passive_ZombieHandler.Sno){
  761. //yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 0, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  762. //yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = true}; // Passive (Pets?) - not working
  763. }
  764. // ############ CRUSADER ACTIVE SKILLS ##############
  765. // ##################################################
  766. if (pwr == Hud.Sno.SnoPowers.Crusader_AkaratsChampion.Sno){
  767. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 0, Rune 1, Rune 2, Rune 3, Rune 4, Rune 5
  768. yield return new BuffRule(pwr) { IconIndex = 11, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 4 (proc cooldown)
  769. }
  770. if (pwr == Hud.Sno.SnoPowers.Crusader_BlessedHammer.Sno){
  771. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 1 (last hammer duration)
  772. yield return new BuffRule(pwr) { IconIndex = 6, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = true}; // Rune 1 (fire stacks)
  773. }
  774. if (pwr == Hud.Sno.SnoPowers.Crusader_BlessedShield.Sno){
  775. yield return new BuffRule(pwr) { IconIndex = 7, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 0, Rune 1, Rune 2, Rune 3, Rune 4, Rune 5 (last shield duration)
  776. yield return new BuffRule(pwr) { IconIndex = 2, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = true}; // RUne 3 (stacks)
  777. }
  778. if (pwr == Hud.Sno.SnoPowers.Crusader_Bombardment.Sno){
  779. //nothing here
  780. }
  781. if (pwr == Hud.Sno.SnoPowers.Crusader_Condemn.Sno){
  782. yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 0, Rune 1, Rune 3, Rune 4, Rune 5
  783. }
  784. if (pwr == Hud.Sno.SnoPowers.Crusader_Consecration.Sno){
  785. yield return new BuffRule(pwr) { IconIndex = 8, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 0, Rune 1, Rune 2, Rune 3, Rune 4, Rune 5
  786. }
  787. if (pwr == Hud.Sno.SnoPowers.Crusader_CrushingResolve.Sno){}//???
  788. if (pwr == Hud.Sno.SnoPowers.Crusader_FallingSword.Sno){
  789. yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 0, Rune 1, Rune 2, Rune 3, Rune 4, Rune 5
  790. }
  791. if (pwr == Hud.Sno.SnoPowers.Crusader_FistOfTheHeavens.Sno){
  792. yield return new BuffRule(pwr) { IconIndex = 2, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 3 (last fissure duration)
  793. }
  794. if (pwr == Hud.Sno.SnoPowers.Crusader_HeavensFury.Sno){
  795. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 0, Rune 1, Rune 2, Rune 3, Rune 4
  796. }
  797. if (pwr == Hud.Sno.SnoPowers.Crusader_IronSkin.Sno){
  798. yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 0, Rune 1, Rune 2, Rune 3, Rune 4, Rune 5
  799. //yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 4 - not needed
  800. yield return new BuffRule(pwr) { IconIndex = 3, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 5
  801. }
  802. if (pwr == Hud.Sno.SnoPowers.Crusader_Judgment.Sno){
  803. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 1
  804. }
  805. if (pwr == Hud.Sno.SnoPowers.Crusader_Justice.Sno){
  806. yield return new BuffRule(pwr) { IconIndex = 7, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 0
  807. yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = true}; // Rune 4
  808. }
  809. if (pwr == Hud.Sno.SnoPowers.Crusader_LawsOfFate.Sno){}//???
  810. //Waiting for KJ to Update Laws
  811. if (pwr == Hud.Sno.SnoPowers.Crusader_LawsOfHope.Sno){}
  812. if (pwr == Hud.Sno.SnoPowers.Crusader_LawsOfJustice.Sno){}
  813. if (pwr == Hud.Sno.SnoPowers.Crusader_LawsOfValor.Sno){}
  814. if (pwr == Hud.Sno.SnoPowers.Crusader_Phalanx.Sno){
  815. yield return new BuffRule(pwr) { IconIndex = 3, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 1, Rune 5
  816. }
  817. if (pwr == Hud.Sno.SnoPowers.Crusader_Provoke.Sno){
  818. yield return new BuffRule(pwr) { IconIndex = 2, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = true}; // Rune 1
  819. yield return new BuffRule(pwr) { IconIndex = 3, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 4
  820. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 5
  821. }
  822. if (pwr == Hud.Sno.SnoPowers.Crusader_Punish.Sno){
  823. yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 0, Rune 1, Rune 2, Rune 3, Rune 4, Rune 5
  824. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 2
  825. yield return new BuffRule(pwr) { IconIndex = 2, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 3
  826. yield return new BuffRule(pwr) { IconIndex = 3, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Rune 5
  827.  
  828. }
  829. if (pwr == Hud.Sno.SnoPowers.Crusader_ShieldBash.Sno){
  830. yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Rune 0, Rune 1, Rune 2, Rune 3, Rune 4, Rune 5
  831. }
  832. if (pwr == Hud.Sno.SnoPowers.Crusader_ShieldGlare.Sno){
  833. //nothing here
  834. }
  835. if (pwr == Hud.Sno.SnoPowers.Crusader_Slash.Sno){
  836. yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = true}; // Rune 4
  837. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = true}; // Rune 5
  838. }
  839. if (pwr == Hud.Sno.SnoPowers.Crusader_Smite.Sno){
  840. yield return new BuffRule(pwr) { IconIndex = 14, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 0
  841. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = true}; // Rune 4
  842. }
  843. if (pwr == Hud.Sno.SnoPowers.Crusader_SteedCharge.Sno){
  844. yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 0, Rune 1, Rune 2, Rune 3, Rune 4, Rune 5 (duration)
  845. //yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 0, Rune 1, Rune 2, Rune 3, Rune 4, Rune 5 (transform?)
  846. //yield return new BuffRule(pwr) { IconIndex = 2, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 1 - not needed
  847. //yield return new BuffRule(pwr) { IconIndex = 3, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Rune 2 - not needed
  848. //yield return new BuffRule(pwr) { IconIndex = 5, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Rune 5 - not needed
  849. }
  850. if (pwr == Hud.Sno.SnoPowers.Crusader_SweepAttack.Sno){
  851. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 0, Rune 1, Rune 2, Rune 3, Rune 4, Rune 5 - not needed
  852. yield return new BuffRule(pwr) { IconIndex = 2, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Rune 3
  853. yield return new BuffRule(pwr) { IconIndex = 4, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 5
  854. }
  855. // ############ CRUSADER PASSIVE SKILLS ##############
  856. // ###################################################
  857. if (pwr == Hud.Sno.SnoPowers.Crusader_Passive_Blunt.Sno){
  858. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  859. }
  860. if (pwr == Hud.Sno.SnoPowers.Crusader_Passive_DivineFortress.Sno){
  861. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  862. //yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped) - not needed
  863. }
  864. if (pwr == Hud.Sno.SnoPowers.Crusader_Passive_Fanaticism.Sno){
  865. //nothing here
  866. }
  867. if (pwr == Hud.Sno.SnoPowers.Crusader_Passive_Fervor.Sno){
  868. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // 1h equipped + passive equipped
  869. }
  870. if (pwr == Hud.Sno.SnoPowers.Crusader_Passive_Finery.Sno){
  871. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  872. }
  873. if (pwr == Hud.Sno.SnoPowers.Crusader_Passive_HeavenlyStrength.Sno){
  874. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  875. }
  876. if (pwr == Hud.Sno.SnoPowers.Crusader_Passive_HoldYourGround.Sno){
  877. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  878. }
  879. if (pwr == Hud.Sno.SnoPowers.Crusader_Passive_HolyCause.Sno){
  880. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  881. //yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped) - not needed
  882. }
  883. if (pwr == Hud.Sno.SnoPowers.Crusader_Passive_Indestructible.Sno){
  884. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  885. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Passive (cooldown)
  886. yield return new BuffRule(pwr) { IconIndex = 2, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Passive (DMG buff)
  887. }
  888. if (pwr == Hud.Sno.SnoPowers.Crusader_Passive_Insurmountable.Sno){
  889. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  890. }
  891. if (pwr == Hud.Sno.SnoPowers.Crusader_Passive_IronMaiden.Sno){
  892. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  893. }
  894. if (pwr == Hud.Sno.SnoPowers.Crusader_Passive_LongArmOfTheLaw.Sno){
  895. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  896. }
  897. if (pwr == Hud.Sno.SnoPowers.Crusader_Passive_LordCommander.Sno){
  898. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  899. }
  900. if (pwr == Hud.Sno.SnoPowers.Crusader_Passive_Renewal.Sno){
  901. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  902. }
  903. if (pwr == Hud.Sno.SnoPowers.Crusader_Passive_Righteousness.Sno){
  904. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  905. }
  906. if (pwr == Hud.Sno.SnoPowers.Crusader_Passive_ToweringShield.Sno){
  907. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  908. }
  909. if (pwr == Hud.Sno.SnoPowers.Crusader_Passive_Vigilant.Sno){
  910. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  911. }
  912. if (pwr == Hud.Sno.SnoPowers.Crusader_Passive_Wrathful.Sno){
  913. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  914. }
  915. // ############ DEMON HUNTER ACTIVE SKILLS ##############
  916. // ######################################################
  917. if (pwr == Hud.Sno.SnoPowers.DemonHunter_Bolas.Sno){
  918. //nothing here
  919. }
  920. if (pwr == Hud.Sno.SnoPowers.DemonHunter_Caltrops.Sno){
  921. yield return new BuffRule(pwr) { IconIndex = 3, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Rune 5
  922. }
  923. if (pwr == Hud.Sno.SnoPowers.DemonHunter_Chakram.Sno){
  924. yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 5
  925. }
  926. if (pwr == Hud.Sno.SnoPowers.DemonHunter_ClusterArrow.Sno){
  927. //nothing here
  928. }
  929. if (pwr == Hud.Sno.SnoPowers.DemonHunter_Companion.Sno){
  930. //passive companion is on pwr+1
  931. yield return new BuffRule(pwr) { IconIndex = 2, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 5
  932. }
  933. if (pwr == Hud.Sno.SnoPowers.DemonHunter_ElementalArrow.Sno){
  934. yield return new BuffRule(pwr) { IconIndex = 3, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 4 (what the hell is this buff???)
  935. }
  936. if (pwr == Hud.Sno.SnoPowers.DemonHunter_EntanglingShot.Sno){
  937. //nothing here
  938. }
  939. if (pwr == Hud.Sno.SnoPowers.DemonHunter_EvasiveFire.Sno){
  940. yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 1
  941. }
  942. if (pwr == Hud.Sno.SnoPowers.DemonHunter_FanOfKnives.Sno){
  943. yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 2
  944. }
  945. if (pwr == Hud.Sno.SnoPowers.DemonHunter_Grenades.Sno){
  946. //nothing here
  947. }
  948. if (pwr == Hud.Sno.SnoPowers.DemonHunter_HungeringArrow.Sno){
  949. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 5 (what the hell is this buff???)
  950. }
  951. if (pwr == Hud.Sno.SnoPowers.DemonHunter_Impale.Sno){
  952. //nothing here
  953. }
  954. if (pwr == Hud.Sno.SnoPowers.DemonHunter_MarkedForDeath.Sno){
  955. yield return new BuffRule(pwr) { IconIndex = 3, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 0, Rune 1, Rune 2, Rune 3, Rune 4, Rune 5 (what is this - it scales with custom engineering?!?!)
  956. }
  957. if (pwr == Hud.Sno.SnoPowers.DemonHunter_Multishot.Sno){
  958. yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 5 (rockets?)
  959. }
  960. if (pwr == Hud.Sno.SnoPowers.DemonHunter_Preparation.Sno){
  961. //passive for rune 1
  962. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 4
  963. }
  964. if (pwr == Hud.Sno.SnoPowers.DemonHunter_RainOfVengeance.Sno){
  965. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 1
  966. }
  967. if (pwr == Hud.Sno.SnoPowers.DemonHunter_RapidFire.Sno){
  968. yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Rune 0, Rune 1, Rune 2, Rune 3, Rune 4, Rune 5
  969. //yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Rune 3 (rockets) - not needed
  970. }
  971. if (pwr == Hud.Sno.SnoPowers.DemonHunter_Sentry.Sno){
  972. yield return new BuffRule(pwr) { IconIndex = 8, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = true}; // Rune 0, Rune 1, Rune 2, Rune 3, Rune 4, Rune 5
  973. yield return new BuffRule(pwr) { IconIndex = 5, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 3
  974. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Rune 5
  975. }
  976. if (pwr == Hud.Sno.SnoPowers.DemonHunter_ShadowPower.Sno){
  977. yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 0, Rune 1, Rune 2, Rune 3, Rune 4, Rune 5
  978. }
  979. if (pwr == Hud.Sno.SnoPowers.DemonHunter_SmokeScreen.Sno){
  980. yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 0, Rune 1, Rune 3, Rune 4, Rune 5
  981. yield return new BuffRule(pwr) { IconIndex = 2, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 2
  982. }
  983. if (pwr == Hud.Sno.SnoPowers.DemonHunter_SpikeTrap.Sno){
  984. yield return new BuffRule(pwr) { IconIndex = 8, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = true}; // Rune 0, Rune 1, Rune 2, Rune 3, Rune 4, Rune 5 (stacks)
  985. //yield return new BuffRule(pwr) { IconIndex = 9, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Rune 0, Rune 1, Rune 2, Rune 3, Rune 4, Rune 5 (active) - not needed
  986. }
  987. if (pwr == Hud.Sno.SnoPowers.DemonHunter_Strafe.Sno){
  988. yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 0, Rune 1, Rune 2, Rune 3, Rune 4, Rune 5 (active)
  989. //yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Rune 3 - not needed
  990. //yield return new BuffRule(pwr) { IconIndex = 2, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Rune 1 - not needed
  991. yield return new BuffRule(pwr) { IconIndex = 3, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = true}; // Rune 1 (stacks)
  992. }
  993. if (pwr == Hud.Sno.SnoPowers.DemonHunter_Vault.Sno){
  994. yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Rune 0, Rune 1, Rune 2, Rune 3, Rune 4, Rune 5 (active)
  995. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 3
  996. yield return new BuffRule(pwr) { IconIndex = 3, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = true}; // Rune 5
  997. }
  998. if (pwr == Hud.Sno.SnoPowers.DemonHunter_Vengeance.Sno){
  999. yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 0, Rune 1, Rune 2, Rune 3, Rune 4, Rune 5
  1000. //yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 0, Rune 2, Rune 4 - not needed
  1001. //yield return new BuffRule(pwr) { IconIndex = 2, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 0, Rune 1, Rune 2, Rune 3, Rune 4, Rune 5 - not needed
  1002. //yield return new BuffRule(pwr) { IconIndex = 3, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Rune 5, (rockets)
  1003. //yield return new BuffRule(pwr) { IconIndex = 4, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Rune 2 - not needed
  1004. //yield return new BuffRule(pwr) { IconIndex = 5, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Rune 1, (grenades)
  1005. //yield return new BuffRule(pwr) { IconIndex = 6, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 3 - not needed
  1006. //yield return new BuffRule(pwr) { IconIndex = 7, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 4 - not needed
  1007. //yield return new BuffRule(pwr) { IconIndex = 8, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Rune 0, Rune 2, Rune 4 (rockets)
  1008. }
  1009. // ############ DEMON HUNTER PASSIVE SKILLS ##############
  1010. // #######################################################
  1011. if (pwr == Hud.Sno.SnoPowers.DemonHunter_Passive_Ambush.Sno){
  1012. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  1013. }
  1014. if (pwr == Hud.Sno.SnoPowers.DemonHunter_Passive_Archery.Sno){
  1015. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped and weapon used)
  1016. }
  1017. if (pwr == Hud.Sno.SnoPowers.DemonHunter_Passive_Awareness.Sno){
  1018. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  1019. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Passive (cooldown)
  1020. yield return new BuffRule(pwr) { IconIndex = 2, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Passive (vanish, heal)
  1021. }
  1022. if (pwr == Hud.Sno.SnoPowers.DemonHunter_Passive_Ballistics.Sno){
  1023. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  1024. }
  1025. if (pwr == Hud.Sno.SnoPowers.DemonHunter_Passive_Brooding.Sno){
  1026. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped) - not needed
  1027. //yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Passive (cooldown) - not needed
  1028. yield return new BuffRule(pwr) { IconIndex = 2, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = true}; // Passive (stationary stacking)
  1029. yield return new BuffRule(pwr) { IconIndex = 3, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = true}; // Passive (moving debuff)
  1030. }
  1031. if (pwr == Hud.Sno.SnoPowers.DemonHunter_Passive_CullTheWeak.Sno){
  1032. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  1033. }
  1034. if (pwr == Hud.Sno.SnoPowers.DemonHunter_Passive_CustomEngineering.Sno){
  1035. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  1036. }
  1037. if (pwr == Hud.Sno.SnoPowers.DemonHunter_Passive_Grenadier.Sno){
  1038. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  1039. }
  1040. if (pwr == Hud.Sno.SnoPowers.DemonHunter_Passive_HotPursuit.Sno){
  1041. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  1042. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Passive (hit bonus)
  1043. }
  1044. if (pwr == Hud.Sno.SnoPowers.DemonHunter_Passive_Leech.Sno){
  1045. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  1046. }
  1047. if (pwr == Hud.Sno.SnoPowers.DemonHunter_Passive_NightStalker.Sno){
  1048. // yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  1049. }
  1050. if (pwr == Hud.Sno.SnoPowers.DemonHunter_Passive_NumbingTraps.Sno){
  1051. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  1052. }
  1053. if (pwr == Hud.Sno.SnoPowers.DemonHunter_Passive_Perfectionist.Sno){
  1054. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  1055. }
  1056. if (pwr == Hud.Sno.SnoPowers.DemonHunter_Passive_Sharpshooter.Sno){
  1057. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped) - not needed
  1058. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = true}; // Passive (equipped)
  1059. }
  1060. if (pwr == Hud.Sno.SnoPowers.DemonHunter_Passive_SingleOut.Sno){
  1061. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  1062. }
  1063. if (pwr == Hud.Sno.SnoPowers.DemonHunter_Passive_SteadyAim.Sno){
  1064. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped) - not needed
  1065. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (up)
  1066. }
  1067. if (pwr == Hud.Sno.SnoPowers.DemonHunter_Passive_TacticalAdvantage.Sno){
  1068. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped) - not needed
  1069. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Passive (up)
  1070. }
  1071. if (pwr == Hud.Sno.SnoPowers.DemonHunter_Passive_ThrillOfTheHunt.Sno){
  1072. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Passive (equipped)
  1073. }
  1074.  
  1075.  
  1076. // ask for a request to add your item here: http://turbohud.freeforums.net/thread/4045/v7-1-english-gigi-partybuffplugin
  1077. // ############ LEGENDARY ITEM POWERS ##############
  1078. // #################################################
  1079. if (pwr == Hud.Sno.SnoPowers.AetherWalker.Sno){
  1080. //nothing here
  1081. }
  1082. if (pwr == Hud.Sno.SnoPowers.AhavarionSpearOfLycander.Sno){
  1083. //nothing here
  1084. }
  1085. if (pwr == Hud.Sno.SnoPowers.AkkhansAddendum.Sno){}
  1086. if (pwr == Hud.Sno.SnoPowers.AkkhansLeniency.Sno){
  1087. yield return new BuffRule(266951) { IconIndex = 3, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = true};
  1088. }
  1089. if (pwr == Hud.Sno.SnoPowers.AkkhansManacles.Sno){}
  1090. if (pwr == Hud.Sno.SnoPowers.AncestorsGrace.Sno){}
  1091. if (pwr == Hud.Sno.SnoPowers.AncientParthanDefenders.Sno){}
  1092. if (pwr == Hud.Sno.SnoPowers.AnessaziEdge.Sno){}
  1093. if (pwr == Hud.Sno.SnoPowers.AquilaCuirass.Sno){
  1094. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false}; // Active
  1095. }
  1096. if (pwr == Hud.Sno.SnoPowers.ArchmagesVicalyke.Sno){}
  1097. if (pwr == Hud.Sno.SnoPowers.Arcstone.Sno){}
  1098. if (pwr == Hud.Sno.SnoPowers.ArmorOfTheKindRegent.Sno){}
  1099. if (pwr == Hud.Sno.SnoPowers.ArreatsLaw.Sno){}
  1100. if (pwr == Hud.Sno.SnoPowers.ArthefsSparkOfLife.Sno){
  1101. //nothing here
  1102. }
  1103. if (pwr == Hud.Sno.SnoPowers.AshnagarrsBloodBracer.Sno){}
  1104. if (pwr == Hud.Sno.SnoPowers.BakuliJungleWraps.Sno){}
  1105. if (pwr == Hud.Sno.SnoPowers.Balance.Sno){}
  1106. if (pwr == Hud.Sno.SnoPowers.BalefulRemnant.Sno){}
  1107. if (pwr == Hud.Sno.SnoPowers.BandOfHollowWhispers.Sno){}
  1108. if (pwr == Hud.Sno.SnoPowers.BandOfMight.Sno){
  1109. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false};
  1110. }
  1111. if (pwr == Hud.Sno.SnoPowers.BandOfTheRueChambers.Sno){}
  1112. if (pwr == Hud.Sno.SnoPowers.BastionsRevered.Sno){}
  1113. if (pwr == Hud.Sno.SnoPowers.BeckonSail.Sno){}
  1114. if (pwr == Hud.Sno.SnoPowers.BeltOfTheTrove.Sno){}
  1115. if (pwr == Hud.Sno.SnoPowers.BeltOfTranscendence.Sno){}
  1116. if (pwr == Hud.Sno.SnoPowers.BindingOfTheLost.Sno){
  1117. yield return new BuffRule(96694) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = true};
  1118. }
  1119. if (pwr == Hud.Sno.SnoPowers.BindingsOfTheLesserGods.Sno){}
  1120. if (pwr == Hud.Sno.SnoPowers.Blackfeather.Sno){}
  1121. if (pwr == Hud.Sno.SnoPowers.BladeOfProphecy.Sno){}
  1122. if (pwr == Hud.Sno.SnoPowers.BladeOfTheTribes.Sno){}
  1123. if (pwr == Hud.Sno.SnoPowers.BladeOfTheWarlord.Sno){}
  1124. if (pwr == Hud.Sno.SnoPowers.BlessedOfHaull.Sno){}
  1125. if (pwr == Hud.Sno.SnoPowers.BloodBrother.Sno){
  1126. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false, UseLegendaryItemTexture = Hud.Inventory.GetSnoItem(Hud.Sno.SnoItems.Unique_Sword_2H_103_x1.Sno)}; // Uptime
  1127. }
  1128. if (pwr == Hud.Sno.SnoPowers.BovineBardiche.Sno){}
  1129. if (pwr == Hud.Sno.SnoPowers.BracerOfFury.Sno){}
  1130. if (pwr == Hud.Sno.SnoPowers.BracersOfDestruction.Sno){}
  1131. if (pwr == Hud.Sno.SnoPowers.BracersOfTheFirstMen.Sno){}
  1132. if (pwr == Hud.Sno.SnoPowers.BrokenCrown.Sno){}
  1133. if (pwr == Hud.Sno.SnoPowers.BrokenPromises.Sno){
  1134. yield return new BuffRule(pwr) { IconIndex = 2, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false, UseLegendaryItemTexture = Hud.Inventory.GetSnoItem(Hud.Sno.SnoItems.Unique_Sword_2H_103_x1.Sno)}; // Temporary Icon
  1135. }
  1136. if (pwr == Hud.Sno.SnoPowers.BulKathossWeddingBand.Sno){}
  1137. if (pwr == Hud.Sno.SnoPowers.ButchersCarver.Sno){}
  1138. if (pwr == Hud.Sno.SnoPowers.CamsRebuttal.Sno){
  1139. yield return new BuffRule(239137) { IconIndex = 8, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false, UseLegendaryItemTexture = Hud.Inventory.GetSnoItem(Hud.Sno.SnoItems.Unique_Sword_2H_103_x1.Sno)}; // Temporary Icon
  1140. }
  1141. if (pwr == Hud.Sno.SnoPowers.CapeOfTheDarkNight.Sno){}
  1142. if (pwr == Hud.Sno.SnoPowers.Carnevil.Sno){}
  1143. if (pwr == Hud.Sno.SnoPowers.CesarsMemento.Sno){}
  1144. if (pwr == Hud.Sno.SnoPowers.Chaingmail.Sno){}
  1145. if (pwr == Hud.Sno.SnoPowers.ChainOfShadows.Sno){}
  1146. if (pwr == Hud.Sno.SnoPowers.ChanonBolter.Sno){}
  1147. if (pwr == Hud.Sno.SnoPowers.ChilaniksChain.Sno){
  1148. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false, UseLegendaryItemTexture = Hud.Inventory.GetSnoItem(Hud.Sno.SnoItems.Unique_Sword_2H_103_x1.Sno)};//Temporary Icon
  1149. }
  1150. if (pwr == Hud.Sno.SnoPowers.Cindercoat.Sno){}
  1151. if (pwr == Hud.Sno.SnoPowers.CoilsOfTheFirstSpider.Sno){}
  1152. if (pwr == Hud.Sno.SnoPowers.ConventionOfElements.Sno){
  1153. yield return new BuffRule(pwr) { IconIndex = null, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false};
  1154. }
  1155. if (pwr == Hud.Sno.SnoPowers.CordOfTheSherma.Sno){}
  1156. if (pwr == Hud.Sno.SnoPowers.CorruptedAshbringer.Sno){}
  1157. if (pwr == Hud.Sno.SnoPowers.CountessJuliasCameo.Sno){}
  1158. if (pwr == Hud.Sno.SnoPowers.CrashingRain.Sno){}
  1159. if (pwr == Hud.Sno.SnoPowers.CrownOfThePrimus.Sno){}
  1160. if (pwr == Hud.Sno.SnoPowers.CrystalFist.Sno){
  1161. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false};
  1162. }
  1163. if (pwr == Hud.Sno.SnoPowers.CusterianWristguards.Sno){}
  1164. if (pwr == Hud.Sno.SnoPowers.Darklight.Sno){}
  1165. if (pwr == Hud.Sno.SnoPowers.DarkMagesShade.Sno){}
  1166. if (pwr == Hud.Sno.SnoPowers.DeadlyRebirth.Sno){}
  1167. if (pwr == Hud.Sno.SnoPowers.DeathseersCowl.Sno){}
  1168. if (pwr == Hud.Sno.SnoPowers.DeathWatchMantle.Sno){}
  1169. if (pwr == Hud.Sno.SnoPowers.Deathwish.Sno){
  1170. //nothing here
  1171. }
  1172. if (pwr == Hud.Sno.SnoPowers.DepthDiggers.Sno){}
  1173. if (pwr == Hud.Sno.SnoPowers.DishonoredLegacy.Sno){}
  1174. if (pwr == Hud.Sno.SnoPowers.DovuEnergyTrap.Sno){}
  1175. if (pwr == Hud.Sno.SnoPowers.DrakonsLesson.Sno){}
  1176. if (pwr == Hud.Sno.SnoPowers.DreadIron.Sno){}
  1177. if (pwr == Hud.Sno.SnoPowers.ElusiveRing.Sno){
  1178. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false};
  1179. }
  1180. if (pwr == Hud.Sno.SnoPowers.EnchantingFavor.Sno){}
  1181. if (pwr == Hud.Sno.SnoPowers.EternalUnion.Sno){}
  1182. if (pwr == Hud.Sno.SnoPowers.Eunjangdo.Sno){}
  1183. if (pwr == Hud.Sno.SnoPowers.EyeOfPeshkov.Sno){}
  1184. if (pwr == Hud.Sno.SnoPowers.FaithfulMemory.Sno){
  1185. yield return new BuffRule(239137) { IconIndex = 9, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = true};
  1186. }
  1187. if (pwr == Hud.Sno.SnoPowers.FateOfTheFell.Sno){}
  1188. if (pwr == Hud.Sno.SnoPowers.FazulasImprobableChain.Sno){}
  1189. if (pwr == Hud.Sno.SnoPowers.FireWalkers.Sno){}
  1190. if (pwr == Hud.Sno.SnoPowers.FlailOfTheAscended.Sno){}
  1191. if (pwr == Hud.Sno.SnoPowers.Fleshrake.Sno){
  1192. yield return new BuffRule(312736) { IconIndex = 5, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = true};
  1193. }
  1194. if (pwr == Hud.Sno.SnoPowers.FlyingDragon.Sno){
  1195. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false, UseLegendaryItemTexture = Hud.Inventory.GetSnoItem(Hud.Sno.SnoItems.Unique_CombatStaff_2H_009.Sno)}; // Uptime
  1196. //yield return new BuffRule(pwr) { IconIndex = 7, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false, UseLegendaryItemTexture = Hud.Inventory.GetSnoItem(Hud.Sno.SnoItems.Unique_CombatStaff_2H_009.Sno)}; // ICD
  1197. }
  1198. if (pwr == Hud.Sno.SnoPowers.FortressBallista.Sno){
  1199. yield return new BuffRule(pwr) { IconIndex = 2, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = true};
  1200. }
  1201. if (pwr == Hud.Sno.SnoPowers.FragmentOfDestiny.Sno){}
  1202. if (pwr == Hud.Sno.SnoPowers.Frostburn.Sno){}
  1203. if (pwr == Hud.Sno.SnoPowers.Fulminator.Sno){}
  1204. if (pwr == Hud.Sno.SnoPowers.FuryOfTheAncients.Sno){}
  1205. if (pwr == Hud.Sno.SnoPowers.GabrielsVambraces.Sno){}
  1206. if (pwr == Hud.Sno.SnoPowers.Genzaniku.Sno){}
  1207. if (pwr == Hud.Sno.SnoPowers.GestureOfOrpheus.Sno){}
  1208. if (pwr == Hud.Sno.SnoPowers.GirdleOfGiants.Sno){
  1209. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false};
  1210. }
  1211. if (pwr == Hud.Sno.SnoPowers.GladiatorGauntlets.Sno){}
  1212. if (pwr == Hud.Sno.SnoPowers.GoldenFlense.Sno){}
  1213. if (pwr == Hud.Sno.SnoPowers.Goldwrap.Sno){
  1214. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = true, UseLegendaryItemTexture = Hud.Inventory.GetSnoItem(Hud.Sno.SnoItems.Unique_Belt_010.Sno)};
  1215. }
  1216. if (pwr == Hud.Sno.SnoPowers.GungdoGear.Sno){}
  1217. if (pwr == Hud.Sno.SnoPowers.GyanaNaKashu.Sno){}
  1218. if (pwr == Hud.Sno.SnoPowers.GyrfalconsFoote.Sno){}
  1219. if (pwr == Hud.Sno.SnoPowers.Hack.Sno){}
  1220. if (pwr == Hud.Sno.SnoPowers.HaloOfArlyse.Sno){}
  1221. if (pwr == Hud.Sno.SnoPowers.HaloOfKarini.Sno){
  1222. yield return new BuffRule(74499) { IconIndex = 4, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false};
  1223. }
  1224. if (pwr == Hud.Sno.SnoPowers.HammerJammers.Sno){}
  1225. if (pwr == Hud.Sno.SnoPowers.HandOfTheProphet.Sno){}
  1226. if (pwr == Hud.Sno.SnoPowers.HarringtonWaistguard.Sno){
  1227. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false};
  1228. }
  1229. if (pwr == Hud.Sno.SnoPowers.HauntingGirdle.Sno){}
  1230. if (pwr == Hud.Sno.SnoPowers.HauntOfVaxo.Sno){
  1231. yield return new BuffRule(pwr) { IconIndex = 3, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false};
  1232. }
  1233. if (pwr == Hud.Sno.SnoPowers.HeartOfIron.Sno){}
  1234. if (pwr == Hud.Sno.SnoPowers.HellcatWaistguard.Sno){}
  1235. if (pwr == Hud.Sno.SnoPowers.HergbrashsBinding.Sno){}
  1236. if (pwr == Hud.Sno.SnoPowers.HexingPantsOfMrYan.Sno){
  1237. yield return new BuffRule(pwr) { IconIndex = 2, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false, UseLegendaryItemTexture = Hud.Inventory.GetSnoItem(Hud.Sno.SnoItems.Unique_Gloves_101_p2.Sno)}; //Temporary Icon
  1238. }
  1239. if (pwr == Hud.Sno.SnoPowers.HillenbrandsTrainingSword.Sno){}
  1240. if (pwr == Hud.Sno.SnoPowers.HomingPads.Sno){
  1241. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false, UseLegendaryItemTexture = Hud.Inventory.GetSnoItem(Hud.Sno.SnoItems.Unique_Shoulder_001_x1.Sno)}; // Active
  1242. }
  1243. if (pwr == Hud.Sno.SnoPowers.HuntersWrath.Sno){}
  1244. if (pwr == Hud.Sno.SnoPowers.HwojWrap.Sno){}
  1245. if (pwr == Hud.Sno.SnoPowers.IncenseTorchOfTheGrandTemple.Sno){}
  1246. if (pwr == Hud.Sno.SnoPowers.Ingeom.Sno){
  1247. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Uptime
  1248. }
  1249. if (pwr == Hud.Sno.SnoPowers.InviolableFaith.Sno){}
  1250. if (pwr == Hud.Sno.SnoPowers.IrontoeMudsputters.Sno){}
  1251. if (pwr == Hud.Sno.SnoPowers.JacesHammerOfVigilance.Sno){}
  1252. if (pwr == Hud.Sno.SnoPowers.JangsEnvelopment.Sno){}
  1253. if (pwr == Hud.Sno.SnoPowers.Jawbreaker.Sno){}
  1254. if (pwr == Hud.Sno.SnoPowers.JeramsBracers.Sno){}
  1255. if (pwr == Hud.Sno.SnoPowers.JohannasArgument.Sno){}
  1256. if (pwr == Hud.Sno.SnoPowers.JustiniansMercy.Sno){}
  1257. if (pwr == Hud.Sno.SnoPowers.KarleisPoint.Sno){}
  1258. if (pwr == Hud.Sno.SnoPowers.KassarsRetribution.Sno){
  1259. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false, UseLegendaryItemTexture = Hud.Inventory.GetSnoItem(Hud.Sno.SnoItems.Unique_Gloves_101_p2.Sno)}; //Temporary Icon
  1260. }
  1261. if (pwr == Hud.Sno.SnoPowers.KekegisUnbreakableSpirit.Sno){
  1262. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false}; // Uptime
  1263. }
  1264. if (pwr == Hud.Sno.SnoPowers.KhassettsCordOfRighteousness.Sno){}
  1265. if (pwr == Hud.Sno.SnoPowers.KmarTenclip.Sno){}
  1266. if (pwr == Hud.Sno.SnoPowers.KredesFlame.Sno){}
  1267. if (pwr == Hud.Sno.SnoPowers.KrelmsBuffBelt.Sno){
  1268. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false, UseLegendaryItemTexture = Hud.Inventory.GetSnoItem(Hud.Sno.SnoItems.Unique_Belt_Set_02_x1.Sno)}; // Downtime
  1269. yield return new BuffRule(pwr) { IconIndex = 2, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false, UseLegendaryItemTexture = Hud.Inventory.GetSnoItem(Hud.Sno.SnoItems.Unique_Belt_Set_02_x1.Sno)}; // Active
  1270. }
  1271. if (pwr == Hud.Sno.SnoPowers.KrelmsBuffBracers.Sno){}
  1272. if (pwr == Hud.Sno.SnoPowers.Kridershot.Sno){}
  1273. if (pwr == Hud.Sno.SnoPowers.KyoshirosBlade.Sno){}
  1274. if (pwr == Hud.Sno.SnoPowers.KyoshirosSoul.Sno){}
  1275. if (pwr == Hud.Sno.SnoPowers.LakumbasOrnament.Sno){}
  1276. if (pwr == Hud.Sno.SnoPowers.Lamentation.Sno){}
  1277. if (pwr == Hud.Sno.SnoPowers.LastBreath.Sno){}
  1278. if (pwr == Hud.Sno.SnoPowers.LefebvresSoliloquy.Sno){
  1279. yield return new BuffRule(223473) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false};
  1280. }
  1281. if (pwr == Hud.Sno.SnoPowers.LeonineBowOfHashir.Sno){}
  1282. if (pwr == Hud.Sno.SnoPowers.LiannasWings.Sno){}
  1283. if (pwr == Hud.Sno.SnoPowers.LionsClaw.Sno){}
  1284. if (pwr == Hud.Sno.SnoPowers.LordGreenstonesFan.Sno){
  1285. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = true};
  1286. }
  1287. if (pwr == Hud.Sno.SnoPowers.LutSocks.Sno){}
  1288. if (pwr == Hud.Sno.SnoPowers.MadawcsSorrow.Sno){}
  1289. if (pwr == Hud.Sno.SnoPowers.Madstone.Sno){}
  1290. if (pwr == Hud.Sno.SnoPowers.Magefist.Sno){}
  1291. if (pwr == Hud.Sno.SnoPowers.MalothsFocus.Sno){}
  1292. if (pwr == Hud.Sno.SnoPowers.ManaldHeal.Sno){
  1293. //nothing here
  1294. }
  1295. if (pwr == Hud.Sno.SnoPowers.MantleOfChanneling.Sno){
  1296. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false, UseLegendaryItemTexture = Hud.Inventory.GetSnoItem(Hud.Sno.SnoItems.P4_Unique_Shoulder_103.Sno)}; // Active
  1297. }
  1298. if (pwr == Hud.Sno.SnoPowers.MarasKaleidoscope.Sno){}
  1299. if (pwr == Hud.Sno.SnoPowers.MaskOfJeram.Sno){}
  1300. if (pwr == Hud.Sno.SnoPowers.MoonlightWard.Sno){}
  1301. if (pwr == Hud.Sno.SnoPowers.MordullusPromise.Sno){}
  1302. if (pwr == Hud.Sno.SnoPowers.NemesisBracers.Sno){}
  1303. if (pwr == Hud.Sno.SnoPowers.NilfursBoast.Sno){}
  1304. if (pwr == Hud.Sno.SnoPowers.Oathkeeper.Sno){}
  1305. if (pwr == Hud.Sno.SnoPowers.OculusRing.Sno){
  1306. yield return new BuffRule(pwr) { IconIndex = 2, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false, UseLegendaryItemTexture = Hud.Inventory.GetSnoItem(Hud.Sno.SnoItems.Unique_Ring_017.Sno)}; // Uptime
  1307. yield return new BuffRule(pwr) { IconIndex = 3, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false, UseLegendaryItemTexture = Hud.Inventory.GetSnoItem(Hud.Sno.SnoItems.Unique_Ring_017.Sno)}; // ICD
  1308. }
  1309. if (pwr == Hud.Sno.SnoPowers.OdynSon.Sno){}
  1310. if (pwr == Hud.Sno.SnoPowers.OdysseysEnd.Sno){}
  1311. if (pwr == Hud.Sno.SnoPowers.Omnislash.Sno){}
  1312. if (pwr == Hud.Sno.SnoPowers.OmrynsChain.Sno){}
  1313. if (pwr == Hud.Sno.SnoPowers.PintosPride.Sno){}
  1314. if (pwr == Hud.Sno.SnoPowers.PoxFaulds.Sno){
  1315. yield return new BuffRule(pwr) { IconIndex = 3, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false};
  1316. }
  1317. if (pwr == Hud.Sno.SnoPowers.PrideOfCassius.Sno){}
  1318. if (pwr == Hud.Sno.SnoPowers.PromiseOfGlory.Sno){}
  1319. if (pwr == Hud.Sno.SnoPowers.PuzzleRing.Sno){}
  1320. if (pwr == Hud.Sno.SnoPowers.Quetzalcoatl.Sno){}
  1321. if (pwr == Hud.Sno.SnoPowers.RabidStrike.Sno){}
  1322. if (pwr == Hud.Sno.SnoPowers.RakoffsGlassOfLife.Sno){}
  1323. if (pwr == Hud.Sno.SnoPowers.RanslorsFolly.Sno){
  1324. //nothing here
  1325. }
  1326. if (pwr == Hud.Sno.SnoPowers.RazorStrop.Sno){}
  1327. if (pwr == Hud.Sno.SnoPowers.RechelsRingOfLarceny.Sno){
  1328. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false, UseLegendaryItemTexture = Hud.Inventory.GetSnoItem(Hud.Sno.SnoItems.Unique_Gloves_101_p2.Sno)};//Temporary Icon
  1329. }
  1330. if (pwr == Hud.Sno.SnoPowers.RelicOfAkarat.Sno){}
  1331. if (pwr == Hud.Sno.SnoPowers.Remorseless.Sno){}
  1332. if (pwr == Hud.Sno.SnoPowers.RhenhoFlayer.Sno){}
  1333. if (pwr == Hud.Sno.SnoPowers.RibaldEtchings.Sno){}
  1334. if (pwr == Hud.Sno.SnoPowers.Rimeheart.Sno){}
  1335. if (pwr == Hud.Sno.SnoPowers.RingOfEmptiness.Sno){}
  1336. if (pwr == Hud.Sno.SnoPowers.RiveraDancers.Sno){}
  1337. if (pwr == Hud.Sno.SnoPowers.RogarsHugeStone.Sno){}
  1338. if (pwr == Hud.Sno.SnoPowers.SacredHarness.Sno){}
  1339. if (pwr == Hud.Sno.SnoPowers.SacredHarvester.Sno){}
  1340. if (pwr == Hud.Sno.SnoPowers.SaffronWrap.Sno){
  1341. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = true};
  1342. }
  1343. if (pwr == Hud.Sno.SnoPowers.SashOfKnives.Sno){}
  1344. if (pwr == Hud.Sno.SnoPowers.Scarbringer.Sno){}
  1345. if (pwr == Hud.Sno.SnoPowers.Scourge.Sno){}
  1346. if (pwr == Hud.Sno.SnoPowers.Scrimshaw.Sno){}
  1347. if (pwr == Hud.Sno.SnoPowers.SeborsNightmare.Sno){}
  1348. if (pwr == Hud.Sno.SnoPowers.SerpentsSparker.Sno){}
  1349. if (pwr == Hud.Sno.SnoPowers.ShardOfHate.Sno){}
  1350. if (pwr == Hud.Sno.SnoPowers.ShiMizusHaori.Sno){
  1351. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false, UseLegendaryItemTexture = Hud.Inventory.GetSnoItem(Hud.Sno.SnoItems.Unique_Gloves_101_p2.Sno)}; //Temporary Icon
  1352. }
  1353. if (pwr == Hud.Sno.SnoPowers.SkeletonKey.Sno){}
  1354. if (pwr == Hud.Sno.SnoPowers.SkularsSalvation.Sno){}
  1355. if (pwr == Hud.Sno.SnoPowers.SkullGrasp.Sno){}
  1356. if (pwr == Hud.Sno.SnoPowers.SkullOfResonance.Sno){}
  1357. if (pwr == Hud.Sno.SnoPowers.SkySplitter.Sno){}
  1358. if (pwr == Hud.Sno.SnoPowers.Skywarden.Sno){}
  1359. if (pwr == Hud.Sno.SnoPowers.SlipkasLetterOpener.Sno){}
  1360. if (pwr == Hud.Sno.SnoPowers.SloraksMadness.Sno){}
  1361. if (pwr == Hud.Sno.SnoPowers.SmokingThurible.Sno){}
  1362. if (pwr == Hud.Sno.SnoPowers.Solanium.Sno){}
  1363. if (pwr == Hud.Sno.SnoPowers.SpauldersOfZakara.Sno){}
  1364. if (pwr == Hud.Sno.SnoPowers.SpiritGuards.Sno){
  1365. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false};
  1366. }
  1367. if (pwr == Hud.Sno.SnoPowers.StaffOfChiroptera.Sno){}
  1368. if (pwr == Hud.Sno.SnoPowers.StalgardsDecimator.Sno){}
  1369. if (pwr == Hud.Sno.SnoPowers.Standoff.Sno){}
  1370. if (pwr == Hud.Sno.SnoPowers.StArchewsGage.Sno){
  1371. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false, UseLegendaryItemTexture = Hud.Inventory.GetSnoItem(Hud.Sno.SnoItems.Unique_Gloves_101_p2.Sno)}; // Uptime
  1372. }
  1373. if (pwr == Hud.Sno.SnoPowers.Starfire.Sno){}
  1374. if (pwr == Hud.Sno.SnoPowers.StarmetalKukri.Sno){}
  1375. if (pwr == Hud.Sno.SnoPowers.StormCrow.Sno){}
  1376. if (pwr == Hud.Sno.SnoPowers.StringOfEars.Sno){}
  1377. if (pwr == Hud.Sno.SnoPowers.StrongarmBracers.Sno){}
  1378. if (pwr == Hud.Sno.SnoPowers.SuWongDiviner.Sno){}
  1379. if (pwr == Hud.Sno.SnoPowers.SwampLandWaders.Sno){}
  1380. if (pwr == Hud.Sno.SnoPowers.Swiftmount.Sno){}
  1381. if (pwr == Hud.Sno.SnoPowers.SwordOfIllWill.Sno){}
  1382. if (pwr == Hud.Sno.SnoPowers.TalismanOfAranoch.Sno){}
  1383. if (pwr == Hud.Sno.SnoPowers.TaskerandTheo.Sno){}
  1384. if (pwr == Hud.Sno.SnoPowers.TheBarber.Sno){}
  1385. if (pwr == Hud.Sno.SnoPowers.TheBurningAxeOfSankis.Sno){
  1386. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false, UseLegendaryItemTexture = Hud.Inventory.GetSnoItem(Hud.Sno.SnoItems.Unique_Axe_1H_007.Sno)};
  1387. }
  1388. if (pwr == Hud.Sno.SnoPowers.TheButchersSickle.Sno){}
  1389. if (pwr == Hud.Sno.SnoPowers.TheCloakOfTheGarwulf.Sno){}
  1390. if (pwr == Hud.Sno.SnoPowers.TheCrudestBoots.Sno){}
  1391. if (pwr == Hud.Sno.SnoPowers.TheDaggerOfDarts.Sno){}
  1392. if (pwr == Hud.Sno.SnoPowers.TheDemonsDemise.Sno){}
  1393. if (pwr == Hud.Sno.SnoPowers.TheEssOfJohan.Sno){}
  1394. if (pwr == Hud.Sno.SnoPowers.TheFistOfAzTurrasq.Sno){}
  1395. if (pwr == Hud.Sno.SnoPowers.TheFlowOfEternity.Sno){}
  1396. if (pwr == Hud.Sno.SnoPowers.TheFurnace.Sno){}
  1397. if (pwr == Hud.Sno.SnoPowers.TheGavelOfJudgment.Sno){}
  1398. if (pwr == Hud.Sno.SnoPowers.TheGidbinn.Sno){}
  1399. if (pwr == Hud.Sno.SnoPowers.TheGrandVizier.Sno){}
  1400. if (pwr == Hud.Sno.SnoPowers.TheGrinReaper.Sno){}
  1401. if (pwr == Hud.Sno.SnoPowers.TheLawsOfSeph.Sno){}
  1402. if (pwr == Hud.Sno.SnoPowers.TheMagistrate.Sno){}
  1403. if (pwr == Hud.Sno.SnoPowers.TheMindsEye.Sno){}
  1404. if (pwr == Hud.Sno.SnoPowers.TheMortalDrama.Sno){}
  1405. if (pwr == Hud.Sno.SnoPowers.ThePaddle.Sno){}
  1406. if (pwr == Hud.Sno.SnoPowers.TheShameOfDelsere.Sno){}
  1407. if (pwr == Hud.Sno.SnoPowers.TheShortMansFinger.Sno){}
  1408. if (pwr == Hud.Sno.SnoPowers.TheSmolderingCore.Sno){}
  1409. if (pwr == Hud.Sno.SnoPowers.TheSpiderQueensGrasp.Sno){}
  1410. if (pwr == Hud.Sno.SnoPowers.TheStarOfAzkaranth.Sno){}
  1411. if (pwr == Hud.Sno.SnoPowers.TheSwami.Sno){
  1412. yield return new BuffRule(134872) { IconIndex = 5, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = true};
  1413. }
  1414. if (pwr == Hud.Sno.SnoPowers.TheTallMansFinger.Sno){}
  1415. if (pwr == Hud.Sno.SnoPowers.TheThreeHundredthSpear.Sno){}
  1416. if (pwr == Hud.Sno.SnoPowers.TheTormentor.Sno){}
  1417. if (pwr == Hud.Sno.SnoPowers.TheTwistedSword.Sno){
  1418. yield return new BuffRule(77113) { IconIndex = 6, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = true};
  1419. }
  1420. if (pwr == Hud.Sno.SnoPowers.TheUndisputedChampion.Sno){}
  1421. if (pwr == Hud.Sno.SnoPowers.ThunderfuryBlessedBladeOfTheWindseeker.Sno){}
  1422. if (pwr == Hud.Sno.SnoPowers.TiklandianVisage.Sno){
  1423. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false};
  1424. }
  1425. if (pwr == Hud.Sno.SnoPowers.TragOulCoils.Sno){}
  1426. if (pwr == Hud.Sno.SnoPowers.TzoKrinsGaze.Sno){}
  1427. if (pwr == Hud.Sno.SnoPowers.UnstableScepter.Sno){}
  1428. if (pwr == Hud.Sno.SnoPowers.VadimsSurge.Sno){}
  1429. if (pwr == Hud.Sno.SnoPowers.ValtheksRebuke.Sno){}
  1430. if (pwr == Hud.Sno.SnoPowers.VambracesOfSescheron.Sno){}
  1431. if (pwr == Hud.Sno.SnoPowers.VelvetCamaral.Sno){}
  1432. if (pwr == Hud.Sno.SnoPowers.VengefulWind.Sno){}
  1433. if (pwr == Hud.Sno.SnoPowers.Vigilance.Sno){}
  1434. if (pwr == Hud.Sno.SnoPowers.VileWard.Sno){}
  1435. if (pwr == Hud.Sno.SnoPowers.VisageOfGiyua.Sno){}
  1436. if (pwr == Hud.Sno.SnoPowers.VisageOfGunes.Sno){}
  1437. if (pwr == Hud.Sno.SnoPowers.VoosJuicer.Sno){}
  1438. if (pwr == Hud.Sno.SnoPowers.WandOfWoh.Sno){}
  1439. if (pwr == Hud.Sno.SnoPowers.WarhelmOfKassar.Sno){}
  1440. if (pwr == Hud.Sno.SnoPowers.WarstaffOfGeneralQuang.Sno){}
  1441. if (pwr == Hud.Sno.SnoPowers.WarzechianArmguards.Sno){
  1442. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false, UseLegendaryItemTexture = Hud.Inventory.GetSnoItem(Hud.Sno.SnoItems.Unique_Bracer_101_x1.Sno)}; // Uptime
  1443. }
  1444. if (pwr == Hud.Sno.SnoPowers.Wizardspike.Sno){}
  1445. if (pwr == Hud.Sno.SnoPowers.WojahnniAssaulter.Sno){
  1446. yield return new BuffRule(397780) { IconIndex = 2, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = true};
  1447. }
  1448. if (pwr == Hud.Sno.SnoPowers.WrapsOfClarity.Sno){
  1449. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false};
  1450. }
  1451. if (pwr == Hud.Sno.SnoPowers.Wyrdward.Sno){}
  1452. if (pwr == Hud.Sno.SnoPowers.XephirianAmulet.Sno){}
  1453. if (pwr == Hud.Sno.SnoPowers.ZoeysSecret.Sno){}
  1454.  
  1455.  
  1456.  
  1457. // ############ LEGENDARY GEM POWERS ##############
  1458. // ################################################
  1459. if (pwr == Hud.Sno.SnoPowers.BaneOfThePowerfulPrimary.Sno){
  1460. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false};
  1461. }
  1462. if (pwr == Hud.Sno.SnoPowers.BaneOfThePowerfulSecondary.Sno){
  1463. //nothing here
  1464. }
  1465. if (pwr == Hud.Sno.SnoPowers.BaneOfTheStrickenPrimary.Sno){
  1466. yield return new BuffRule(pwr) { IconIndex = 2, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false, UseLegendaryItemTexture = Hud.Inventory.GetSnoItem(Hud.Sno.SnoItems.Unique_Gem_018_x1.Sno)}; // ICD
  1467. //yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 0, ShowTimeLeft = false, ShowStacks = false, UseLegendaryItemTexture = Hud.Inventory.GetSnoItem(Hud.Sno.SnoItems.Unique_Gem_018_x1.Sno)}; // Equipped - not needed
  1468. }
  1469. if (pwr == Hud.Sno.SnoPowers.BaneOfTheStrickenSecondary.Sno){
  1470. //nothing here
  1471. }
  1472. if (pwr == Hud.Sno.SnoPowers.BaneOfTheTrappedPrimary.Sno){
  1473. //nothingh ere
  1474. }
  1475. if (pwr == Hud.Sno.SnoPowers.BaneOfTheTrappedSecondary.Sno){
  1476. //nothing here
  1477. }
  1478. if (pwr == Hud.Sno.SnoPowers.BoonOfTheHoarderPrimary.Sno){
  1479. //nothing here
  1480. }
  1481. if (pwr == Hud.Sno.SnoPowers.BoonOfTheHoarderSecondary.Sno){
  1482. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false, UseLegendaryItemTexture = Hud.Inventory.GetSnoItem(Hud.Sno.SnoItems.Unique_Gem_014_x1.Sno)}; // Active
  1483. }
  1484. if (pwr == Hud.Sno.SnoPowers.BoyarskysChipPrimary.Sno){
  1485. //nothing here
  1486. }
  1487. if (pwr == Hud.Sno.SnoPowers.BoyarskysChipSecondary.Sno){
  1488. //nothing here
  1489. }
  1490. if (pwr == Hud.Sno.SnoPowers.EnforcerPrimary.Sno){}
  1491. if (pwr == Hud.Sno.SnoPowers.EnforcerSecondary.Sno){}
  1492. if (pwr == Hud.Sno.SnoPowers.EsotericAlterationPrimary.Sno){
  1493. //nothing here
  1494. }
  1495. if (pwr == Hud.Sno.SnoPowers.EsotericAlterationSecondary.Sno){
  1496. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false, UseLegendaryItemTexture = Hud.Inventory.GetSnoItem(Hud.Sno.SnoItems.Unique_Gem_016_x1.Sno)};
  1497. }
  1498. if (pwr == Hud.Sno.SnoPowers.GemOfEasePrimary.Sno){
  1499. //nothing here
  1500. }
  1501. if (pwr == Hud.Sno.SnoPowers.GemOfEaseSecondary.Sno){
  1502. //nothing here
  1503. }
  1504. if (pwr == Hud.Sno.SnoPowers.GemOfEfficaciousToxinPrimary.Sno){
  1505. //nothing here
  1506. }
  1507. if (pwr == Hud.Sno.SnoPowers.GemOfEfficaciousToxinSecondary.Sno){
  1508. //nothing here
  1509. }
  1510. if (pwr == Hud.Sno.SnoPowers.GogokOfSwiftnessPrimary.Sno){
  1511. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = true};
  1512. //yield return new BuffRule(pwr) { IconIndex = 2, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false, UseLegendaryItemTexture = Hud.Inventory.GetSnoItem(Hud.Sno.SnoItems.Unique_Gem_008_x1.Sno)}; - not needed
  1513. //yield return new BuffRule(pwr) { IconIndex = 3, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false, UseLegendaryItemTexture = Hud.Inventory.GetSnoItem(Hud.Sno.SnoItems.Unique_Gem_008_x1.Sno)}; - not needed
  1514. //yield return new BuffRule(pwr) { IconIndex = 4, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false, UseLegendaryItemTexture = Hud.Inventory.GetSnoItem(Hud.Sno.SnoItems.Unique_Gem_008_x1.Sno)}; - not needed
  1515. }
  1516. if (pwr == Hud.Sno.SnoPowers.GogokOfSwiftnessSecondary.Sno){
  1517. //nothing here
  1518. }
  1519. if (pwr == Hud.Sno.SnoPowers.IceblinkPrimary.Sno){
  1520. //nothing here
  1521. }
  1522. if (pwr == Hud.Sno.SnoPowers.IceblinkSecondary.Sno){
  1523. //nothing here
  1524. }
  1525. if (pwr == Hud.Sno.SnoPowers.InvigoratingGemstonePrimary.Sno){
  1526. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = true, UseLegendaryItemTexture = Hud.Inventory.GetSnoItem(Hud.Sno.SnoItems.Unique_Gem_009_x1.Sno)};
  1527. }
  1528.  
  1529. if (pwr == Hud.Sno.SnoPowers.InvigoratingGemstoneSecondary.Sno){}
  1530. if (pwr == Hud.Sno.SnoPowers.MirinaeTeardropOfTheStarweaverPrimary.Sno){
  1531. //nothing here
  1532. }
  1533. if (pwr == Hud.Sno.SnoPowers.MirinaeTeardropOfTheStarweaverSecondary.Sno){
  1534. //nothing here
  1535. }
  1536. if (pwr == Hud.Sno.SnoPowers.MoltenWildebeestsGizzardPrimary.Sno){
  1537. //nothing here
  1538. }
  1539. if (pwr == Hud.Sno.SnoPowers.MoltenWildebeestsGizzardSecondary.Sno){
  1540. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false, UseLegendaryItemTexture = Hud.Inventory.GetSnoItem(Hud.Sno.SnoItems.Unique_Gem_017_x1.Sno)}; // Downtime
  1541. yield return new BuffRule(pwr) { IconIndex = 2, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false, UseLegendaryItemTexture = Hud.Inventory.GetSnoItem(Hud.Sno.SnoItems.Unique_Gem_017_x1.Sno)}; // Shield is up
  1542. }
  1543. if (pwr == Hud.Sno.SnoPowers.MoratoriumPrimary.Sno){
  1544. //nothing here
  1545. }
  1546. if (pwr == Hud.Sno.SnoPowers.MoratoriumSecondary.Sno){
  1547. //nothing here
  1548. }
  1549. if (pwr == Hud.Sno.SnoPowers.MutilationGuardPrimary.Sno){
  1550. //nothing here
  1551. }
  1552. if (pwr == Hud.Sno.SnoPowers.MutilationGuardSecondary.Sno){
  1553. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false, UseLegendaryItemTexture = Hud.Inventory.GetSnoItem(Hud.Sno.SnoItems.Unique_Gem_019_x1.Sno)}; // Active
  1554. }
  1555. if (pwr == Hud.Sno.SnoPowers.PainEnhancerPrimary.Sno){
  1556. //nothing here
  1557. }
  1558. if (pwr == Hud.Sno.SnoPowers.PainEnhancerSecondary.Sno){
  1559. //nothing here
  1560. }
  1561. if (pwr == Hud.Sno.SnoPowers.RedSoulShardPrimary.Sno){}
  1562. if (pwr == Hud.Sno.SnoPowers.RedSoulShardSecondary.Sno){}
  1563. if (pwr == Hud.Sno.SnoPowers.SimplicitysStrengthPrimary.Sno){}
  1564. if (pwr == Hud.Sno.SnoPowers.SimplicitysStrengthSecondary.Sno){}
  1565. if (pwr == Hud.Sno.SnoPowers.TaegukPrimary.Sno){
  1566. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = true}; // Stacks
  1567. //yield return new BuffRule(pwr) { IconIndex = 2, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false, UseLegendaryItemTexture = Hud.Inventory.GetSnoItem(Hud.Sno.SnoItems.Unique_Gem_015_x1.Sno)}; // Channeling - not needed
  1568. }
  1569. if (pwr == Hud.Sno.SnoPowers.TaegukSecondary.Sno){
  1570. //nothing here
  1571. }
  1572. if (pwr == Hud.Sno.SnoPowers.WreathOfLightningPrimary.Sno){
  1573. yield return new BuffRule(pwr) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false, UseLegendaryItemTexture = Hud.Inventory.GetSnoItem(Hud.Sno.SnoItems.Unique_Gem_004_x1.Sno)}; // Active
  1574. }
  1575. if (pwr == Hud.Sno.SnoPowers.WreathOfLightningSecondary.Sno){
  1576. //nothing here
  1577. }
  1578. if (pwr == Hud.Sno.SnoPowers.ZeisStoneOfVengeancePrimary.Sno){
  1579. //nothing here
  1580. }
  1581. if (pwr == Hud.Sno.SnoPowers.ZeisStoneOfVengeanceSecondary.Sno){
  1582. //nothing here
  1583. }
  1584. }
  1585. }
  1586. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement