├── LICENSE ├── WeakAuras ├── Animations.lua ├── ArchiveTypes │ └── Repository.lua ├── AuraEnvironment.lua ├── AuraWarnings.lua ├── Bindings.xml ├── BuffTrigger.lua ├── BuffTrigger2.lua ├── CHANGELOG.md ├── Conditions.lua ├── DefaultOptions.lua ├── GenericTrigger.lua ├── History.lua ├── Init.lua ├── LICENSE ├── Libs │ ├── AceComm-3.0 │ │ ├── AceComm-3.0.lua │ │ ├── AceComm-3.0.xml │ │ └── ChatThrottleLib.lua │ ├── AceConfig-3.0 │ │ ├── AceConfig-3.0.lua │ │ ├── AceConfig-3.0.xml │ │ ├── AceConfigCmd-3.0 │ │ │ ├── AceConfigCmd-3.0.lua │ │ │ └── AceConfigCmd-3.0.xml │ │ ├── AceConfigDialog-3.0 │ │ │ ├── AceConfigDialog-3.0.lua │ │ │ └── AceConfigDialog-3.0.xml │ │ └── AceConfigRegistry-3.0 │ │ │ ├── AceConfigRegistry-3.0.lua │ │ │ └── AceConfigRegistry-3.0.xml │ ├── AceConsole-3.0 │ │ ├── AceConsole-3.0.lua │ │ └── AceConsole-3.0.xml │ ├── AceEvent-3.0 │ │ ├── AceEvent-3.0.lua │ │ └── AceEvent-3.0.xml │ ├── AceGUI-3.0-SharedMediaWidgets │ │ ├── BackgroundWidget.lua │ │ ├── BorderWidget.lua │ │ ├── FontWidget.lua │ │ ├── SoundWidget.lua │ │ ├── StatusbarWidget.lua │ │ ├── prototypes.lua │ │ └── widget.xml │ ├── AceGUI-3.0 │ │ ├── AceGUI-3.0.lua │ │ ├── AceGUI-3.0.xml │ │ └── widgets │ │ │ ├── AceGUIContainer-BlizOptionsGroup.lua │ │ │ ├── AceGUIContainer-DropDownGroup.lua │ │ │ ├── AceGUIContainer-Frame.lua │ │ │ ├── AceGUIContainer-InlineGroup.lua │ │ │ ├── AceGUIContainer-ScrollFrame.lua │ │ │ ├── AceGUIContainer-SimpleGroup.lua │ │ │ ├── AceGUIContainer-TabGroup.lua │ │ │ ├── AceGUIContainer-TreeGroup.lua │ │ │ ├── AceGUIContainer-Window.lua │ │ │ ├── AceGUIWidget-Button.lua │ │ │ ├── AceGUIWidget-CheckBox.lua │ │ │ ├── AceGUIWidget-ColorPicker.lua │ │ │ ├── AceGUIWidget-DropDown-Items.lua │ │ │ ├── AceGUIWidget-DropDown.lua │ │ │ ├── AceGUIWidget-EditBox.lua │ │ │ ├── AceGUIWidget-Heading.lua │ │ │ ├── AceGUIWidget-Icon.lua │ │ │ ├── AceGUIWidget-InteractiveLabel.lua │ │ │ ├── AceGUIWidget-Keybinding.lua │ │ │ ├── AceGUIWidget-Label.lua │ │ │ ├── AceGUIWidget-MultiLineEditBox.lua │ │ │ └── AceGUIWidget-Slider.lua │ ├── AceSerializer-3.0 │ │ ├── AceSerializer-3.0.lua │ │ └── AceSerializer-3.0.xml │ ├── AceTimer-3.0 │ │ ├── AceTimer-3.0.lua │ │ └── AceTimer-3.0.xml │ ├── Archivist │ │ ├── Archivist.lua │ │ ├── Archivist.toc │ │ ├── Archivist.xml │ │ ├── LICENSE.md │ │ ├── libs │ │ │ ├── LibDeflate │ │ │ │ ├── LICENSE.txt │ │ │ │ └── LibDeflate.lua │ │ │ └── LibStub │ │ │ │ └── LibStub.lua │ │ └── stores │ │ │ ├── RawData.lua │ │ │ └── ReadOnly.lua │ ├── CallbackHandler-1.0 │ │ ├── CallbackHandler-1.0.lua │ │ └── CallbackHandler-1.0.xml │ ├── LibCompress │ │ ├── LibCompress.lua │ │ ├── LibCompress.toc │ │ └── lib.xml │ ├── LibCustomGlow-1.0 │ │ ├── IconAlert.blp │ │ ├── IconAlertAnts.blp │ │ ├── LibCustomGlow-1.0.lua │ │ ├── LibCustomGlow-1.0.toc │ │ ├── LibCustomGlow-1.0.xml │ │ ├── am_29.blp │ │ └── artifacts.blp │ ├── LibDBIcon-1.0 │ │ ├── LibDBIcon-1.0.lua │ │ └── lib.xml │ ├── LibDataBroker-1.1 │ │ ├── LibDataBroker-1.1.lua │ │ └── README.textile │ ├── LibDeflate │ │ └── LibDeflate.lua │ ├── LibGetFrame-1.0 │ │ ├── CallbackHandler-1.0 │ │ │ ├── CallbackHandler-1.0.lua │ │ │ └── CallbackHandler-1.0.xml │ │ ├── LibGetFrame-1.0.lua │ │ ├── LibGetFrame-1.0.toc │ │ ├── LibGetFrame-1.0.xml │ │ └── LibStub │ │ │ ├── LibStub.lua │ │ │ ├── LibStub.toc │ │ │ └── tests │ │ │ ├── test.lua │ │ │ ├── test2.lua │ │ │ ├── test3.lua │ │ │ └── test4.lua │ ├── LibRangeCheck-2.0 │ │ └── LibRangeCheck-2.0.lua │ ├── LibSerialize │ │ ├── LibSerialize.lua │ │ └── lib.xml │ ├── LibSharedMedia-3.0 │ │ ├── LibSharedMedia-3.0.lua │ │ └── lib.xml │ ├── LibSpellRange-1.0 │ │ ├── LibSpellRange-1.0.lua │ │ ├── LibSpellRange-1.0.toc │ │ └── lib.xml │ └── LibStub │ │ ├── LibStub.lua │ │ ├── LibStub.toc │ │ └── tests │ │ ├── test.lua │ │ ├── test2.lua │ │ ├── test3.lua │ │ └── test4.lua ├── Locales │ ├── deDE.lua │ ├── enUS.lua │ ├── esES.lua │ ├── esMX.lua │ ├── frFR.lua │ ├── itIT.lua │ ├── koKR.lua │ ├── ptBR.lua │ ├── ruRU.lua │ ├── zhCN.lua │ └── zhTW.lua ├── Media │ ├── Creative Commons - Attribution 3.0.txt │ ├── Creative Commons - Attribution-NonCommercial 3.0.txt │ ├── Creative Commons - Sampling Plus 1.0.txt │ ├── Fira LICENSE │ ├── Fonts │ │ └── FiraMono-Medium.ttf │ ├── Provided by.txt │ ├── Sounds │ │ ├── AcousticGuitar.ogg │ │ ├── Adds.ogg │ │ ├── AirHorn.ogg │ │ ├── Applause.ogg │ │ ├── BananaPeelSlip.ogg │ │ ├── BatmanPunch.ogg │ │ ├── BikeHorn.ogg │ │ ├── Blast.ogg │ │ ├── Bleat.ogg │ │ ├── Boss.ogg │ │ ├── BoxingArenaSound.ogg │ │ ├── Brass.mp3 │ │ ├── CartoonVoiceBaritone.ogg │ │ ├── CartoonWalking.ogg │ │ ├── CatMeow2.ogg │ │ ├── ChickenAlarm.ogg │ │ ├── Circle.ogg │ │ ├── CowMooing.ogg │ │ ├── Cross.ogg │ │ ├── Diamond.ogg │ │ ├── DontRelease.ogg │ │ ├── DoubleWhoosh.ogg │ │ ├── Drums.ogg │ │ ├── Empowered.ogg │ │ ├── ErrorBeep.ogg │ │ ├── Focus.ogg │ │ ├── Glass.mp3 │ │ ├── GoatBleating.ogg │ │ ├── Idiot.ogg │ │ ├── KittenMeow.ogg │ │ ├── Left.ogg │ │ ├── Moon.ogg │ │ ├── Next.ogg │ │ ├── OhNo.ogg │ │ ├── Portal.ogg │ │ ├── Protected.ogg │ │ ├── Release.ogg │ │ ├── Right.ogg │ │ ├── RingingPhone.ogg │ │ ├── RoaringLion.ogg │ │ ├── RobotBlip.ogg │ │ ├── RoosterChickenCalls.ogg │ │ ├── RunAway.ogg │ │ ├── SharpPunch.ogg │ │ ├── SheepBleat.ogg │ │ ├── Shotgun.ogg │ │ ├── Skull.ogg │ │ ├── Spread.ogg │ │ ├── Square.ogg │ │ ├── SqueakyToyShort.ogg │ │ ├── SquishFart.ogg │ │ ├── Stack.ogg │ │ ├── Star.ogg │ │ ├── Switch.ogg │ │ ├── SynthChord.ogg │ │ ├── TadaFanfare.ogg │ │ ├── Taunt.ogg │ │ ├── TempleBellHuge.ogg │ │ ├── Torch.ogg │ │ ├── Triangle.ogg │ │ ├── WarningSiren.ogg │ │ ├── WaterDrop.ogg │ │ └── Xylophone.ogg │ ├── SpellActivationOverlays │ │ ├── arcane_missiles.blp │ │ ├── arcane_missiles_1.blp │ │ ├── arcane_missiles_2.blp │ │ ├── arcane_missiles_3.blp │ │ ├── art_of_war.blp │ │ ├── backlash.blp │ │ ├── backlash_green.blp │ │ ├── bandits_guile.blp │ │ ├── berserk.blp │ │ ├── blood_boil.blp │ │ ├── blood_surge.blp │ │ ├── brain_freeze.blp │ │ ├── dark_tiger.blp │ │ ├── dark_transformation.blp │ │ ├── daybreak.blp │ │ ├── demonic_core.blp │ │ ├── demonic_core_vertical.blp │ │ ├── denounce.blp │ │ ├── echo_of_the_elements.blp │ │ ├── eclipse_moon.blp │ │ ├── eclipse_sun.blp │ │ ├── feral_omenofclarity.blp │ │ ├── focus_fire.blp │ │ ├── frozen_fingers.blp │ │ ├── fulmination.blp │ │ ├── fury_of_stormrage.blp │ │ ├── genericarc_01.blp │ │ ├── genericarc_02.blp │ │ ├── genericarc_03.blp │ │ ├── genericarc_04.blp │ │ ├── genericarc_05.blp │ │ ├── genericarc_06.blp │ │ ├── generictop_01.blp │ │ ├── generictop_02.blp │ │ ├── grand_crusader.blp │ │ ├── hand_of_light.blp │ │ ├── high_tide.blp │ │ ├── hot_streak.blp │ │ ├── imp_empowerment.blp │ │ ├── imp_empowerment_green.blp │ │ ├── impact.blp │ │ ├── killing_machine.blp │ │ ├── lock_and_load.blp │ │ ├── maelstrom_weapon.blp │ │ ├── maelstrom_weapon_1.blp │ │ ├── maelstrom_weapon_2.blp │ │ ├── maelstrom_weapon_3.blp │ │ ├── maelstrom_weapon_4.blp │ │ ├── master_marksman.blp │ │ ├── molten_core.blp │ │ ├── molten_core_green.blp │ │ ├── monk_blackoutkick.blp │ │ ├── monk_ox.blp │ │ ├── monk_ox_2.blp │ │ ├── monk_ox_3.blp │ │ ├── monk_serpent.blp │ │ ├── monk_tiger.blp │ │ ├── monk_tigerpalm.blp │ │ ├── natures_grace.blp │ │ ├── necropolis.blp │ │ ├── nightfall.blp │ │ ├── predatory_swiftness.blp │ │ ├── predatory_swiftness_green.blp │ │ ├── raging_blow.blp │ │ ├── rime.blp │ │ ├── serendipity.blp │ │ ├── shadow_of_death.blp │ │ ├── shadow_word_insanity.blp │ │ ├── shooting_stars.blp │ │ ├── slice_and_dice.blp │ │ ├── spellactivationoverlay_0.blp │ │ ├── sudden_death.blp │ │ ├── sudden_doom.blp │ │ ├── surge_of_darkness.blp │ │ ├── surge_of_light.blp │ │ ├── sword_and_board.blp │ │ ├── thrill_of_the_hunt_1.blp │ │ ├── thrill_of_the_hunt_2.blp │ │ ├── thrill_of_the_hunt_3.blp │ │ ├── tooth_and_claw.blp │ │ ├── ultimatum.blp │ │ └── white_tiger.blp │ └── Textures │ │ ├── Border_DropShadow.blp │ │ ├── Circle_AlphaGradient_In.tga │ │ ├── Circle_AlphaGradient_Out.tga │ │ ├── Circle_Smooth.tga │ │ ├── Circle_Smooth2.tga │ │ ├── Circle_Smooth_Border.tga │ │ ├── Circle_Squirrel.tga │ │ ├── Circle_Squirrel_Border.tga │ │ ├── Circle_White.tga │ │ ├── Circle_White_Border.tga │ │ ├── GitHub.tga │ │ ├── PRDFrame.tga │ │ ├── PRDFrameKui.tga │ │ ├── Ring_10px.tga │ │ ├── Ring_20px.tga │ │ ├── Ring_30px.tga │ │ ├── Ring_40px.tga │ │ ├── Square_AlphaGradient.tga │ │ ├── Square_FullWhite.tga │ │ ├── Square_Smooth.tga │ │ ├── Square_Smooth_Border.tga │ │ ├── Square_Smooth_Border2.tga │ │ ├── Square_Squirrel.tga │ │ ├── Square_Squirrel_Border.tga │ │ ├── Square_White.tga │ │ ├── Square_White_Border.tga │ │ ├── Statusbar_Clean.blp │ │ ├── Statusbar_Stripes.blp │ │ ├── Statusbar_Stripes_Thick.blp │ │ ├── Statusbar_Stripes_Thin.blp │ │ ├── StopMotion.blp │ │ ├── StripedTexture.tga │ │ ├── Trapezoid.tga │ │ ├── Triangle45.tga │ │ ├── add.tga │ │ ├── alert.blp │ │ ├── arrows_target.tga │ │ ├── browse.tga │ │ ├── bug_report.tga │ │ ├── bullet1.tga │ │ ├── bullet2.tga │ │ ├── bullet3.tga │ │ ├── cancel-icon.tga │ │ ├── cancel-mark.tga │ │ ├── circle_border5.tga │ │ ├── collapse.tga │ │ ├── delete.tga │ │ ├── discord.tga │ │ ├── downleft.tga │ │ ├── downright.tga │ │ ├── duplicate.tga │ │ ├── edge-example.tga │ │ ├── edit.tga │ │ ├── editdown.tga │ │ ├── emoji.tga │ │ ├── exclamation-mark.tga │ │ ├── expand.tga │ │ ├── eyes.tga │ │ ├── gear.tga │ │ ├── geardown.tga │ │ ├── icon.blp │ │ ├── importsmall.tga │ │ ├── interrupt.tga │ │ ├── lockPosition.tga │ │ ├── logo_256.tga │ │ ├── logo_64.tga │ │ ├── logo_64_nobg.tga │ │ ├── magnetic.tga │ │ ├── movedown.tga │ │ ├── moveup.tga │ │ ├── newaura.tga │ │ ├── offscreen.tga │ │ ├── ok-icon.tga │ │ ├── rainbowbar.tga │ │ ├── reset.tga │ │ ├── ring_glow3.tga │ │ ├── square_border_10px.tga │ │ ├── square_border_1px.tga │ │ ├── square_border_5px.tga │ │ ├── square_mini.tga │ │ ├── stripe-bar.tga │ │ ├── stripe-rainbow-bar.tga │ │ ├── swipe-example.tga │ │ ├── target_indicator.tga │ │ ├── target_indicator_glow.tga │ │ ├── targeting-mark.tga │ │ ├── template.tga │ │ ├── triangle-border.tga │ │ ├── triangle.tga │ │ ├── upleft.tga │ │ ├── upright.tga │ │ ├── voicechat.blp │ │ ├── wagoupdate_logo.tga │ │ └── wagoupdate_refresh.tga ├── Modernize.lua ├── Pools.lua ├── PowerAurasMedia │ ├── Auras │ │ ├── Aura1.tga │ │ ├── Aura10.tga │ │ ├── Aura100.tga │ │ ├── Aura101.tga │ │ ├── Aura102.tga │ │ ├── Aura103.tga │ │ ├── Aura104.tga │ │ ├── Aura105.tga │ │ ├── Aura106.tga │ │ ├── Aura107.tga │ │ ├── Aura108.tga │ │ ├── Aura109.tga │ │ ├── Aura11.tga │ │ ├── Aura110.tga │ │ ├── Aura111.tga │ │ ├── Aura112.tga │ │ ├── Aura113.tga │ │ ├── Aura114.tga │ │ ├── Aura115.tga │ │ ├── Aura116.tga │ │ ├── Aura117.tga │ │ ├── Aura118.tga │ │ ├── Aura119.tga │ │ ├── Aura12.tga │ │ ├── Aura120.tga │ │ ├── Aura121.tga │ │ ├── Aura122.tga │ │ ├── Aura123.tga │ │ ├── Aura124.tga │ │ ├── Aura125.tga │ │ ├── Aura126.tga │ │ ├── Aura127.tga │ │ ├── Aura128.tga │ │ ├── Aura129.tga │ │ ├── Aura13.tga │ │ ├── Aura130.tga │ │ ├── Aura131.tga │ │ ├── Aura132.tga │ │ ├── Aura133.tga │ │ ├── Aura134.tga │ │ ├── Aura135.tga │ │ ├── Aura136.tga │ │ ├── Aura137.tga │ │ ├── Aura138.tga │ │ ├── Aura139.tga │ │ ├── Aura14.tga │ │ ├── Aura140.tga │ │ ├── Aura141.tga │ │ ├── Aura142.tga │ │ ├── Aura143.tga │ │ ├── Aura144.tga │ │ ├── Aura145.tga │ │ ├── Aura15.tga │ │ ├── Aura16.tga │ │ ├── Aura17.tga │ │ ├── Aura18.tga │ │ ├── Aura19.tga │ │ ├── Aura2.tga │ │ ├── Aura20.tga │ │ ├── Aura21.tga │ │ ├── Aura22.tga │ │ ├── Aura23.tga │ │ ├── Aura24.tga │ │ ├── Aura25.tga │ │ ├── Aura26.tga │ │ ├── Aura27.tga │ │ ├── Aura28.tga │ │ ├── Aura29.tga │ │ ├── Aura3.tga │ │ ├── Aura30.tga │ │ ├── Aura31.tga │ │ ├── Aura32.tga │ │ ├── Aura33.tga │ │ ├── Aura34.tga │ │ ├── Aura35.tga │ │ ├── Aura36.tga │ │ ├── Aura37.tga │ │ ├── Aura38.tga │ │ ├── Aura39.tga │ │ ├── Aura4.tga │ │ ├── Aura40.tga │ │ ├── Aura41.tga │ │ ├── Aura42.tga │ │ ├── Aura43.tga │ │ ├── Aura44.tga │ │ ├── Aura45.tga │ │ ├── Aura46.tga │ │ ├── Aura47.tga │ │ ├── Aura48.tga │ │ ├── Aura49.tga │ │ ├── Aura5.tga │ │ ├── Aura50.tga │ │ ├── Aura51.tga │ │ ├── Aura52.tga │ │ ├── Aura53.tga │ │ ├── Aura54.tga │ │ ├── Aura55.tga │ │ ├── Aura56.tga │ │ ├── Aura57.tga │ │ ├── Aura58.tga │ │ ├── Aura59.tga │ │ ├── Aura6.tga │ │ ├── Aura60.tga │ │ ├── Aura61.tga │ │ ├── Aura62.tga │ │ ├── Aura63.tga │ │ ├── Aura64.tga │ │ ├── Aura65.tga │ │ ├── Aura66.tga │ │ ├── Aura67.tga │ │ ├── Aura68.tga │ │ ├── Aura69.tga │ │ ├── Aura7.tga │ │ ├── Aura70.tga │ │ ├── Aura71.tga │ │ ├── Aura72.tga │ │ ├── Aura73.tga │ │ ├── Aura74.tga │ │ ├── Aura75.tga │ │ ├── Aura76.tga │ │ ├── Aura77.tga │ │ ├── Aura78.tga │ │ ├── Aura79.tga │ │ ├── Aura8.tga │ │ ├── Aura80.tga │ │ ├── Aura81.tga │ │ ├── Aura82.tga │ │ ├── Aura83.tga │ │ ├── Aura84.tga │ │ ├── Aura85.tga │ │ ├── Aura86.tga │ │ ├── Aura87.tga │ │ ├── Aura88.tga │ │ ├── Aura89.tga │ │ ├── Aura9.tga │ │ ├── Aura90.tga │ │ ├── Aura91.tga │ │ ├── Aura92.tga │ │ ├── Aura93.tga │ │ ├── Aura94.tga │ │ ├── Aura95.tga │ │ ├── Aura96.tga │ │ ├── Aura97.tga │ │ ├── Aura98.tga │ │ └── Aura99.tga │ └── Sounds │ │ ├── Arrow_Swoosh.ogg │ │ ├── BITE.ogg │ │ ├── ESPARK1.ogg │ │ ├── Fireball.ogg │ │ ├── Gasp.ogg │ │ ├── PUNCH.ogg │ │ ├── Squeakypig.ogg │ │ ├── aggro.ogg │ │ ├── bam.ogg │ │ ├── bear_polar.ogg │ │ ├── bigkiss.ogg │ │ ├── burp4.ogg │ │ ├── cat2.ogg │ │ ├── chant2.ogg │ │ ├── chant4.ogg │ │ ├── chimes.ogg │ │ ├── cookie.ogg │ │ ├── heartbeat.ogg │ │ ├── hic3.ogg │ │ ├── huh_1.ogg │ │ ├── hurricane.ogg │ │ ├── hyena.ogg │ │ ├── kaching.ogg │ │ ├── moan.ogg │ │ ├── panther1.ogg │ │ ├── phone.ogg │ │ ├── rainroof.ogg │ │ ├── rocket.ogg │ │ ├── shipswhistle.ogg │ │ ├── shot.ogg │ │ ├── snakeatt.ogg │ │ ├── sneeze.ogg │ │ ├── sonar.ogg │ │ ├── splash.ogg │ │ ├── swordecho.ogg │ │ ├── throwknife.ogg │ │ ├── thunder.ogg │ │ ├── wickedmalelaugh1.ogg │ │ ├── wilhelm.ogg │ │ ├── wlaugh.ogg │ │ ├── wolf5.ogg │ │ └── yeehaw.ogg ├── Profiling.lua ├── Prototypes.lua ├── RegionTypes │ ├── AuraBar.lua │ ├── DynamicGroup.lua │ ├── Group.lua │ ├── Icon.lua │ ├── Model.lua │ ├── ProgressTexture.lua │ ├── RegionPrototype.lua │ ├── StopMotion.lua │ ├── Text.lua │ └── Texture.lua ├── SubRegionTypes │ ├── Background.lua │ ├── Border.lua │ ├── Glow.lua │ ├── Model.lua │ ├── SubText.lua │ └── Tick.lua ├── Transmission.lua ├── Types.lua ├── WeakAuras.lua ├── WeakAuras.toc ├── compat.lua ├── embeds.xml └── locales.xml ├── WeakAurasArchive ├── WeakAurasArchive.lua └── WeakAurasArchive.toc ├── WeakAurasModelPaths ├── ModelPaths.lua └── WeakAurasModelPaths.toc └── WeakAurasOptions ├── AceGUI-Widgets ├── AceGUIContainer-WeakAurasInlineGroup.lua ├── AceGUIContainer-WeakAurasTreeGroup.lua ├── AceGUIWidget-WeakAurasDisplayButton.lua ├── AceGUIWidget-WeakAurasExpand.lua ├── AceGUIWidget-WeakAurasExpandAnchor.lua ├── AceGUIWidget-WeakAurasExpandSmall.lua ├── AceGUIWidget-WeakAurasIcon.lua ├── AceGUIWidget-WeakAurasIconButton.lua ├── AceGUIWidget-WeakAurasImportButton.lua ├── AceGUIWidget-WeakAurasLoadedHeaderButton.lua ├── AceGUIWidget-WeakAurasMultiLineEditBox.lua ├── AceGUIWidget-WeakAurasNewButton.lua ├── AceGUIWidget-WeakAurasNewHeaderButton.lua ├── AceGUIWidget-WeakAurasPendingInstallButton.lua ├── AceGUIWidget-WeakAurasPendingUpdateButton.lua ├── AceGUIWidget-WeakAurasSnippetButton.lua ├── AceGUIWidget-WeakAurasSortedDropDown.lua ├── AceGUIWidget-WeakAurasSpacer.lua ├── AceGUIWidget-WeakAurasTextureButton.lua ├── AceGUIWidget-WeakAurasToolbarButton.lua ├── AceGUIWidget-WeakAurasTwoColumnDropDown.lua └── AceGuiWidget-WeakAurasProgressBar.lua ├── ActionOptions.lua ├── AnimationOptions.lua ├── AuthorOptions.lua ├── BuffTrigger.lua ├── BuffTrigger2.lua ├── Cache.lua ├── CommonOptions.lua ├── ConditionOptions.lua ├── DisplayOptions.lua ├── ForAllIndentsAndPurposes.lua ├── GenericTrigger.lua ├── GroupOptions.lua ├── InformationOptions.lua ├── LoadOptions.lua ├── Locales ├── deDE.lua ├── enUS.lua ├── esES.lua ├── esMX.lua ├── frFR.lua ├── itIT.lua ├── koKR.lua ├── ptBR.lua ├── ruRU.lua ├── zhCN.lua └── zhTW.lua ├── OptionsFrames ├── CodeReview.lua ├── FrameChooser.lua ├── IconPicker.lua ├── ImportExport.lua ├── ModelPicker.lua ├── MoverSizer.lua ├── OptionsFrame.lua ├── TextEditor.lua ├── TexturePicker.lua └── Update.lua ├── RegionOptions ├── AuraBar.lua ├── DynamicGroup.lua ├── Group.lua ├── Icon.lua ├── Model.lua ├── ProgressTexture.lua ├── StopMotion.lua ├── Text.lua └── Texture.lua ├── SubRegionOptions ├── Background.lua ├── Border.lua ├── Glow.lua ├── Model.lua ├── SubRegionCommon.lua ├── SubText.lua └── Tick.lua ├── TriggerOptions.lua ├── WeakAurasOptions.lua ├── WeakAurasOptions.toc └── locales.xml /WeakAuras/Bindings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | WeakAuras.OpenOptions() 4 | 5 | 6 | WeakAuras.RealTimeProfilingWindow:Toggle() 7 | 8 | 9 | WeakAuras.PrintProfile() 10 | 11 | 12 | -------------------------------------------------------------------------------- /WeakAuras/BuffTrigger.lua: -------------------------------------------------------------------------------- 1 | --[[ BuffTrigger.lua 2 | This used to contains the "aura" trigger for buffs and debuffs. Nowadays all functions do essentially nothing 3 | ]]-- 4 | 5 | if not WeakAuras.IsCorrectVersion() then return end 6 | local AddonName, Private = ... 7 | 8 | local L = WeakAuras.L 9 | 10 | local BuffTrigger = {} 11 | 12 | function BuffTrigger.UnloadAll() end 13 | 14 | function BuffTrigger.LoadDisplays(toLoad) end 15 | 16 | function BuffTrigger.UnloadDisplays(toUnload) end 17 | 18 | function BuffTrigger.FinishLoadUnload() end 19 | 20 | function BuffTrigger.Delete(id) end 21 | 22 | function BuffTrigger.Rename(oldid, newid) end 23 | 24 | function BuffTrigger.Add(data) 25 | if data.triggers then 26 | local hasLegacyAuraTrigger = false 27 | for index, t in ipairs(data.triggers) do 28 | if t.trigger.type == "aura" then 29 | hasLegacyAuraTrigger = true 30 | break 31 | end 32 | end 33 | if hasLegacyAuraTrigger then 34 | Private.AuraWarnings.UpdateWarning(data.uid, "legacy", "warning", L["This aura has legacy aura trigger(s), which are no longer supported."]) 35 | else 36 | Private.AuraWarnings.UpdateWarning(data.uid, "legacy") 37 | end 38 | end 39 | end 40 | 41 | function BuffTrigger.CanHaveDuration(data, triggernum) 42 | return false 43 | end 44 | 45 | function BuffTrigger.GetOverlayInfo(data, triggernum) return {} end 46 | 47 | function BuffTrigger.CanHaveClones(data, triggernum) return false end 48 | 49 | function BuffTrigger.CanHaveTooltip(data, triggernum) end 50 | 51 | function BuffTrigger.SetToolTip(trigger, state) end 52 | 53 | function BuffTrigger.GetNameAndIcon(data, triggernum) end 54 | 55 | function BuffTrigger.GetAdditionalProperties(data, triggernum) 56 | return "" 57 | end 58 | 59 | function BuffTrigger.GetTriggerConditions(data, triggernum) 60 | return {} 61 | end 62 | 63 | function BuffTrigger.CreateFallbackState(data, triggernum, state) 64 | state.show = true; 65 | state.changed = true; 66 | state.progressType = "timed"; 67 | state.duration = 0; 68 | state.expirationTime = math.huge; 69 | end 70 | 71 | function BuffTrigger.GetName(triggerType) 72 | if (triggerType == "aura") then 73 | return L["Legacy Aura (disabled)"]; 74 | end 75 | end 76 | 77 | function BuffTrigger.GetTriggerDescription(data, triggernum, namestable) 78 | tinsert(namestable, {L["Legacy Aura (disabled):"], L[""]}); 79 | end 80 | 81 | function BuffTrigger.CreateFakeStates(id, triggernum) 82 | local allStates = WeakAuras.GetTriggerStateForTrigger(id, triggernum); 83 | local data = WeakAuras.GetData(id) 84 | local state = {} 85 | BuffTrigger.CreateFallbackState(data, triggernum, state) 86 | allStates[""] = state 87 | end 88 | 89 | WeakAuras.RegisterTriggerSystem({"aura"}, BuffTrigger); 90 | -------------------------------------------------------------------------------- /WeakAuras/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # [2.17.4](https://github.com/WeakAuras/WeakAuras2/tree/2.17.4) (2020-04-22) 2 | 3 | [Full Changelog](https://github.com/WeakAuras/WeakAuras2/compare/2.17.3...2.17.4) 4 | 5 | ## Highlights 6 | 7 | - fix a buff tracking and nameplates regression 8 | 9 | ## Commits 10 | 11 | InfusOnWoW (3): 12 | 13 | - BT2 Fix Multi by adjusting it to recent changes (#2139) 14 | - Clean up match data if a unit ceases to exists 15 | - Fix nameplates auras sometimes not being applied if in a raid group 16 | 17 | -------------------------------------------------------------------------------- /WeakAuras/DefaultOptions.lua: -------------------------------------------------------------------------------- 1 | --[[ Manual override for the default font and font size until proper options are built ]] 2 | 3 | WeakAuras.defaultFont = "Friz Quadrata TT" 4 | WeakAuras.defaultFontSize = 12 5 | -------------------------------------------------------------------------------- /WeakAuras/History.lua: -------------------------------------------------------------------------------- 1 | if not WeakAuras.IsCorrectVersion() then return end 2 | local AddonName, Private = ... 3 | 4 | local WeakAuras = WeakAuras 5 | 6 | local histRepo, migrationRepo 7 | local function loadHistory() 8 | if not histRepo then 9 | histRepo = WeakAuras.LoadFromArchive("Repository", "history") 10 | end 11 | return histRepo 12 | end 13 | 14 | local function loadMigrations() 15 | if not migrationRepo then 16 | migrationRepo = WeakAuras.LoadFromArchive("Repository", "migration") 17 | end 18 | return migrationRepo 19 | end 20 | 21 | function Private.CleanArchive(historyCutoff, migrationCutoff) 22 | if type(historyCutoff) == "number" then 23 | local repo = loadHistory() 24 | local cutoffTime = time() - (historyCutoff * 86400) 25 | for uid, subStore in pairs(repo.stores) do 26 | -- Ideally we would just use Clean and not access the stores list directly, 27 | -- but that'd mean having Clean take a predicate which seems like overkill for the moment 28 | if not Private.GetDataByUID(uid) and subStore.timestamp < cutoffTime then 29 | repo:Drop(uid) 30 | end 31 | end 32 | end 33 | 34 | if type(migrationCutoff) == "number" then 35 | local repo = loadMigrations() 36 | repo:Clean(time() - (migrationCutoff * 86400)) 37 | end 38 | end 39 | 40 | function Private.SetHistory(uid, data, source) 41 | if uid and data then 42 | local repo = loadHistory() 43 | data.source = source 44 | local hist = repo:Set(uid, data, true) 45 | return hist 46 | end 47 | end 48 | 49 | local function GetHistory(uid, load) 50 | return loadHistory():Get(uid, load) 51 | end 52 | 53 | function Private.RemoveHistory(uid) 54 | return loadHistory():Drop(uid) 55 | end 56 | 57 | function Private.RestoreFromHistory(uid) 58 | local _, histData = GetHistory(uid, true) 59 | if histData then 60 | WeakAuras.Add(histData) 61 | end 62 | end 63 | 64 | function Private.SetMigrationSnapshot(uid, oldData) 65 | if type(oldData) == "table" then 66 | local repo = loadMigrations() 67 | repo:Set(uid, oldData) 68 | end 69 | end 70 | 71 | function Private.GetMigrationSnapshot(uid) 72 | return loadMigrations():GetData(uid) 73 | end 74 | -------------------------------------------------------------------------------- /WeakAuras/Init.lua: -------------------------------------------------------------------------------- 1 | local AddonName, Private = ... 2 | WeakAuras = {} 3 | WeakAuras.L = {} 4 | WeakAuras.frames = {} 5 | 6 | WeakAuras.normalWidth = 1.3 7 | WeakAuras.halfWidth = WeakAuras.normalWidth / 2 8 | WeakAuras.doubleWidth = WeakAuras.normalWidth * 2 9 | 10 | local versionStringFromToc = GetAddOnMetadata("WeakAuras", "Version") 11 | local versionString = "4.0.0" 12 | local buildTime = "20201210233053" 13 | 14 | WeakAuras.versionString = versionStringFromToc 15 | WeakAuras.buildTime = buildTime 16 | WeakAuras.newFeatureString = "|TInterface\\OptionsFrame\\UI-OptionsFrame-NewFeatureIcon:0|t" 17 | WeakAuras.BuildInfo = select(4, GetBuildInfo()) 18 | 19 | function WeakAuras.IsClassic() 20 | return false 21 | end 22 | 23 | function WeakAuras.IsCorrectVersion() 24 | return true 25 | end 26 | 27 | WeakAuras.prettyPrint = function(...) 28 | print("|cff9900ffWeakAuras:|r ", ...) 29 | end 30 | 31 | if versionString ~= versionStringFromToc and versionStringFromToc ~= "Dev" then 32 | WeakAuras.prettyPrint("You need to restart your game client to complete the WeakAuras update!") 33 | end 34 | 35 | -- Force enable WeakAurasCompanion and Archive because some addon managers interfere with it 36 | EnableAddOn("WeakAurasCompanion") 37 | EnableAddOn("WeakAurasArchive") 38 | 39 | -- These function stubs are defined here to reduce the number of errors that occur if WeakAuras.lua fails to compile 40 | function WeakAuras.RegisterRegionType() 41 | end 42 | 43 | function WeakAuras.RegisterRegionOptions() 44 | end 45 | 46 | function Private.StartProfileSystem() 47 | end 48 | 49 | function Private.StartProfileAura() 50 | end 51 | 52 | function Private.StopProfileSystem() 53 | end 54 | 55 | function Private.StopProfileAura() 56 | end 57 | 58 | function Private.StartProfileUID() 59 | end 60 | 61 | function Private.StopProfileUID() 62 | end 63 | 64 | -- If WeakAuras shuts down due to being installed on the wrong target, keep the bindings from erroring 65 | function WeakAuras.StartProfile() 66 | end 67 | 68 | function WeakAuras.StopProfile() 69 | end 70 | 71 | function WeakAuras.PrintProfile() 72 | end 73 | 74 | function WeakAuras.CountWagoUpdates() 75 | -- XXX this is to work around the Companion app trying to use our stuff! 76 | return 0 77 | end 78 | 79 | function WeakAuras.Mixin(object, ...) 80 | for i = 1, select("#", ...) do 81 | local mixin = select(i, ...) 82 | for k, v in pairs(mixin) do 83 | object[k] = v 84 | end 85 | end 86 | return object 87 | end 88 | -------------------------------------------------------------------------------- /WeakAuras/Libs/AceComm-3.0/AceComm-3.0.xml: -------------------------------------------------------------------------------- 1 | 3 |