├── .github
├── FUNDING.yml
├── ISSUE_TEMPLATE
│ ├── 1_bug_report_retail.yaml
│ ├── 2_bug_report_wrath.yaml
│ ├── 3_bug_report_classic.yaml
│ └── config.yml
└── workflows
│ ├── dev.yml
│ └── release.yml
├── .gitignore
├── .pkgmeta
├── CHANGELOG.md
├── ElvUI
├── Bindings.xml
├── Cata
│ ├── Filters
│ │ ├── Filters.lua
│ │ └── Load_Filters.xml
│ ├── Load.xml
│ └── Modules
│ │ ├── ActionBars
│ │ ├── Load_ActionBars.xml
│ │ └── TotemBar.lua
│ │ ├── Blizzard
│ │ ├── Load_Blizzard.xml
│ │ └── ObjectiveFrame.lua
│ │ ├── DataBars
│ │ └── Load_DataBars.xml
│ │ ├── DataTexts
│ │ └── Load_DataTexts.xml
│ │ ├── Load_Modules.xml
│ │ └── Skins
│ │ ├── Achievement.lua
│ │ ├── AddonManager.lua
│ │ ├── Alerts.lua
│ │ ├── Archaeology.lua
│ │ ├── ArenaRegistrar.lua
│ │ ├── AuctionHouse.lua
│ │ ├── BGMap.lua
│ │ ├── BGScore.lua
│ │ ├── Bags.lua
│ │ ├── Barber.lua
│ │ ├── Battlenet.lua
│ │ ├── BlizzardOptions.lua
│ │ ├── Calendar.lua
│ │ ├── Channels.lua
│ │ ├── Character.lua
│ │ ├── Collectables.lua
│ │ ├── CombatLog.lua
│ │ ├── Communities.lua
│ │ ├── Debug.lua
│ │ ├── DressingRoom.lua
│ │ ├── EncounterJournal.lua
│ │ ├── EventTrace.lua
│ │ ├── Friends.lua
│ │ ├── Gossip.lua
│ │ ├── GuildBank.lua
│ │ ├── GuildControl.lua
│ │ ├── GuildRegistrar.lua
│ │ ├── Help.lua
│ │ ├── Inspect.lua
│ │ ├── LFG.lua
│ │ ├── Load_Skins.xml
│ │ ├── Loot.lua
│ │ ├── Macro.lua
│ │ ├── Mail.lua
│ │ ├── Menu.lua
│ │ ├── Merchant.lua
│ │ ├── MirrorTimers.lua
│ │ ├── Misc.lua
│ │ ├── NonRaid.lua
│ │ ├── PVP.lua
│ │ ├── Petition.lua
│ │ ├── Quest.lua
│ │ ├── Raid.lua
│ │ ├── Reforge.lua
│ │ ├── SettingsPanel.lua
│ │ ├── Socket.lua
│ │ ├── SpellBook.lua
│ │ ├── Stable.lua
│ │ ├── Tabard.lua
│ │ ├── Talent.lua
│ │ ├── Taxi.lua
│ │ ├── TimeManager.lua
│ │ ├── Tooltip.lua
│ │ ├── Trade.lua
│ │ ├── TradeSkill.lua
│ │ ├── Trainer.lua
│ │ ├── Tutorial.lua
│ │ └── WorldMap.lua
├── Classic
│ ├── Filters
│ │ ├── Filters.lua
│ │ └── Load_Filters.xml
│ ├── Load.xml
│ └── Modules
│ │ ├── Blizzard
│ │ ├── ColorPicker.lua
│ │ └── Load_Blizzard.xml
│ │ ├── DataBars
│ │ └── Load_DataBars.xml
│ │ ├── DataTexts
│ │ └── Load_DataTexts.xml
│ │ ├── Load_Modules.xml
│ │ └── Skins
│ │ ├── AddonManager.lua
│ │ ├── AuctionHouse.lua
│ │ ├── BGMap.lua
│ │ ├── BGScore.lua
│ │ ├── Bags.lua
│ │ ├── Battlefield.lua
│ │ ├── Battlenet.lua
│ │ ├── BlizzardOptions.lua
│ │ ├── Channels.lua
│ │ ├── Character.lua
│ │ ├── CombatLog.lua
│ │ ├── Communities.lua
│ │ ├── Craft.lua
│ │ ├── Debug.lua
│ │ ├── DressingRoom.lua
│ │ ├── Engraving.lua
│ │ ├── EventTrace.lua
│ │ ├── Friends.lua
│ │ ├── GMChat.lua
│ │ ├── Gossip.lua
│ │ ├── GuildControl.lua
│ │ ├── GuildRegistrar.lua
│ │ ├── Help.lua
│ │ ├── Inspect.lua
│ │ ├── LFG.lua
│ │ ├── Load_Skins.xml
│ │ ├── Loot.lua
│ │ ├── Macro.lua
│ │ ├── Mail.lua
│ │ ├── Menu.lua
│ │ ├── Merchant.lua
│ │ ├── MirrorTimers.lua
│ │ ├── Misc.lua
│ │ ├── NonRaid.lua
│ │ ├── Petition.lua
│ │ ├── Quest.lua
│ │ ├── QuestTimers.lua
│ │ ├── Raid.lua
│ │ ├── SettingsPanel.lua
│ │ ├── SpellBook.lua
│ │ ├── Stable.lua
│ │ ├── Tabard.lua
│ │ ├── Talent.lua
│ │ ├── Taxi.lua
│ │ ├── TimeManager.lua
│ │ ├── Tooltip.lua
│ │ ├── Trade.lua
│ │ ├── TradeSkill.lua
│ │ ├── Trainer.lua
│ │ ├── Tutorial.lua
│ │ └── WorldMap.lua
├── Core
│ ├── Defaults
│ │ ├── Global.lua
│ │ ├── Load_Defaults.xml
│ │ ├── Private.lua
│ │ ├── Profile.lua
│ │ └── StyleFilters.lua
│ ├── Developer
│ │ ├── Frame.lua
│ │ ├── Load_Developer.xml
│ │ ├── TInspect.lua
│ │ └── Test.lua
│ ├── Filters
│ │ ├── Filters.lua
│ │ └── Load_Filters.xml
│ ├── General
│ │ ├── API.lua
│ │ ├── Animation.lua
│ │ ├── Commands.lua
│ │ ├── Config.lua
│ │ ├── Cooldowns.lua
│ │ ├── Core.lua
│ │ ├── Distributor.lua
│ │ ├── Dropdown.lua
│ │ ├── Fonts.lua
│ │ ├── Install.lua
│ │ ├── ItemLevel.lua
│ │ ├── Load_General.xml
│ │ ├── MapInfo.lua
│ │ ├── Math.lua
│ │ ├── ModuleCopy.lua
│ │ ├── Movers.lua
│ │ ├── PixelPerfect.lua
│ │ ├── PluginInstaller.lua
│ │ ├── Smoothie.lua
│ │ ├── StaticPopups.lua
│ │ ├── StatusReport.lua
│ │ ├── Tags.lua
│ │ ├── Toolkit.lua
│ │ └── Tutorials.lua
│ ├── Layout
│ │ ├── Layout.lua
│ │ └── Load_Layout.xml
│ ├── Load.xml
│ ├── Media
│ │ ├── Arrows
│ │ │ ├── Arrow0.tga
│ │ │ ├── Arrow1.tga
│ │ │ ├── Arrow10.tga
│ │ │ ├── Arrow11.tga
│ │ │ ├── Arrow12.tga
│ │ │ ├── Arrow13.tga
│ │ │ ├── Arrow14.tga
│ │ │ ├── Arrow15.tga
│ │ │ ├── Arrow16.tga
│ │ │ ├── Arrow17.tga
│ │ │ ├── Arrow18.tga
│ │ │ ├── Arrow19.tga
│ │ │ ├── Arrow2.tga
│ │ │ ├── Arrow20.tga
│ │ │ ├── Arrow21.tga
│ │ │ ├── Arrow22.tga
│ │ │ ├── Arrow23.tga
│ │ │ ├── Arrow24.tga
│ │ │ ├── Arrow25.tga
│ │ │ ├── Arrow26.tga
│ │ │ ├── Arrow27.tga
│ │ │ ├── Arrow28.tga
│ │ │ ├── Arrow29.tga
│ │ │ ├── Arrow3.tga
│ │ │ ├── Arrow30.tga
│ │ │ ├── Arrow31.tga
│ │ │ ├── Arrow32.tga
│ │ │ ├── Arrow33.tga
│ │ │ ├── Arrow34.tga
│ │ │ ├── Arrow35.tga
│ │ │ ├── Arrow36.tga
│ │ │ ├── Arrow37.tga
│ │ │ ├── Arrow38.tga
│ │ │ ├── Arrow39.tga
│ │ │ ├── Arrow4.tga
│ │ │ ├── Arrow40.tga
│ │ │ ├── Arrow41.tga
│ │ │ ├── Arrow42.tga
│ │ │ ├── Arrow43.tga
│ │ │ ├── Arrow44.tga
│ │ │ ├── Arrow45.tga
│ │ │ ├── Arrow46.tga
│ │ │ ├── Arrow47.tga
│ │ │ ├── Arrow48.tga
│ │ │ ├── Arrow49.tga
│ │ │ ├── Arrow5.tga
│ │ │ ├── Arrow50.tga
│ │ │ ├── Arrow51.tga
│ │ │ ├── Arrow52.tga
│ │ │ ├── Arrow53.tga
│ │ │ ├── Arrow54.tga
│ │ │ ├── Arrow55.tga
│ │ │ ├── Arrow56.tga
│ │ │ ├── Arrow57.tga
│ │ │ ├── Arrow58.tga
│ │ │ ├── Arrow59.tga
│ │ │ ├── Arrow6.tga
│ │ │ ├── Arrow60.tga
│ │ │ ├── Arrow61.tga
│ │ │ ├── Arrow62.tga
│ │ │ ├── Arrow63.tga
│ │ │ ├── Arrow64.tga
│ │ │ ├── Arrow65.tga
│ │ │ ├── Arrow66.tga
│ │ │ ├── Arrow67.tga
│ │ │ ├── Arrow68.tga
│ │ │ ├── Arrow69.tga
│ │ │ ├── Arrow7.tga
│ │ │ ├── Arrow70.tga
│ │ │ ├── Arrow71.tga
│ │ │ ├── Arrow72.tga
│ │ │ ├── Arrow8.tga
│ │ │ ├── Arrow9.tga
│ │ │ └── ArrowRed.tga
│ │ ├── ChatEmojis
│ │ │ ├── Angry.tga
│ │ │ ├── Blush.tga
│ │ │ ├── BrokenHeart.tga
│ │ │ ├── CallMe.tga
│ │ │ ├── Cry.tga
│ │ │ ├── Facepalm.tga
│ │ │ ├── Grin.tga
│ │ │ ├── Heart.tga
│ │ │ ├── HeartEyes.tga
│ │ │ ├── Joy.tga
│ │ │ ├── Kappa.tga
│ │ │ ├── Meaw.tga
│ │ │ ├── MiddleFinger.tga
│ │ │ ├── Murloc.tga
│ │ │ ├── OkHand.tga
│ │ │ ├── OpenMouth.tga
│ │ │ ├── Poop.tga
│ │ │ ├── Rage.tga
│ │ │ ├── SadKitty.tga
│ │ │ ├── Scream.tga
│ │ │ ├── ScreamCat.tga
│ │ │ ├── SemiColon.tga
│ │ │ ├── SlightFrown.tga
│ │ │ ├── SlightSmile.tga
│ │ │ ├── Smile.tga
│ │ │ ├── Smirk.tga
│ │ │ ├── Sob.tga
│ │ │ ├── StuckOutTongue.tga
│ │ │ ├── StuckOutTongueClosedEyes.tga
│ │ │ ├── Sunglasses.tga
│ │ │ ├── Thinking.tga
│ │ │ ├── ThumbsUp.tga
│ │ │ ├── Wink.tga
│ │ │ └── ZZZ.tga
│ │ ├── ChatLogos
│ │ │ ├── Bathrobe.tga
│ │ │ ├── Beer.tga
│ │ │ ├── Clover.tga
│ │ │ ├── ElvBlue.tga
│ │ │ ├── ElvGreen.tga
│ │ │ ├── ElvOrange.tga
│ │ │ ├── ElvPink.tga
│ │ │ ├── ElvPurple.tga
│ │ │ ├── ElvRed.tga
│ │ │ ├── ElvSimpy.tga
│ │ │ ├── ElvYellow.tga
│ │ │ ├── Gem.tga
│ │ │ ├── Hibiscus.tga
│ │ │ ├── PalmTree.tga
│ │ │ ├── Rainbow.tga
│ │ │ ├── SuperBear.tga
│ │ │ └── TyroneBiggums.tga
│ │ ├── Fonts
│ │ │ ├── ActionMan.ttf
│ │ │ ├── ContinuumMedium.ttf
│ │ │ ├── DieDieDie.ttf
│ │ │ ├── Expressway.ttf
│ │ │ ├── Homespun.ttf
│ │ │ ├── Invisible.ttf
│ │ │ └── PTSansNarrow.ttf
│ │ ├── Load_Media.xml
│ │ ├── MailIcons
│ │ │ ├── Mail0.tga
│ │ │ ├── Mail1.tga
│ │ │ ├── Mail2.tga
│ │ │ ├── Mail3.tga
│ │ │ ├── Mail4.tga
│ │ │ ├── Mail5.tga
│ │ │ ├── Mail6.tga
│ │ │ └── Mail7.tga
│ │ ├── RestIcons
│ │ │ ├── Resting0.tga
│ │ │ ├── Resting1.tga
│ │ │ └── Resting2.tga
│ │ ├── SharedMedia.lua
│ │ ├── Sounds
│ │ │ ├── AwwCrap.ogg
│ │ │ ├── BbqAss.ogg
│ │ │ ├── DumbShit.ogg
│ │ │ ├── MamaWeekends.ogg
│ │ │ ├── RunFast.ogg
│ │ │ ├── StopRunningSlimeBall.ogg
│ │ │ ├── Warning.ogg
│ │ │ ├── Whisper.ogg
│ │ │ └── YankieBangBang.ogg
│ │ └── Textures
│ │ │ ├── Arrow.tga
│ │ │ ├── ArrowRight.tga
│ │ │ ├── ArrowUp.tga
│ │ │ ├── ArrowUpGlow.tga
│ │ │ ├── Backpack.tga
│ │ │ ├── BagNewItemGlow.tga
│ │ │ ├── BagQuestIcon.tga
│ │ │ ├── BagUpgradeIcon.tga
│ │ │ ├── Black8x8.tga
│ │ │ ├── BubbleTex.tga
│ │ │ ├── ChestPlate.tga
│ │ │ ├── Close.tga
│ │ │ ├── Coins.tga
│ │ │ ├── Combat.tga
│ │ │ ├── Copy.tga
│ │ │ ├── Cross.tga
│ │ │ ├── DPS.tga
│ │ │ ├── ExitVehicle.tga
│ │ │ ├── FabricSilk.tga
│ │ │ ├── GlowTex.tga
│ │ │ ├── GoldCoins.tga
│ │ │ ├── GreenPotion.tga
│ │ │ ├── Healer.tga
│ │ │ ├── Help.tga
│ │ │ ├── Highlight.tga
│ │ │ ├── Invisible.tga
│ │ │ ├── LogoAddon.tga
│ │ │ ├── LogoBottom.tga
│ │ │ ├── LogoBottomSmall.tga
│ │ │ ├── LogoTop.tga
│ │ │ ├── LogoTopSmall.tga
│ │ │ ├── Melli.tga
│ │ │ ├── MicroBar.tga
│ │ │ ├── Minimalist.tga
│ │ │ ├── Minus.tga
│ │ │ ├── MinusButton.tga
│ │ │ ├── NormTex.tga
│ │ │ ├── NormTex2.tga
│ │ │ ├── NormTex3.tga
│ │ │ ├── PVPAlliance.tga
│ │ │ ├── PVPHorde.tga
│ │ │ ├── Pause.tga
│ │ │ ├── PetBroom.tga
│ │ │ ├── PhaseBorder.tga
│ │ │ ├── PhaseCenter.tga
│ │ │ ├── Planks.tga
│ │ │ ├── Play.tga
│ │ │ ├── Plus.tga
│ │ │ ├── PlusButton.tga
│ │ │ ├── Reset.tga
│ │ │ ├── Resize.tga
│ │ │ ├── Resize2.tga
│ │ │ ├── RoleIcons.tga
│ │ │ ├── Scroll.tga
│ │ │ ├── SkullIcon.tga
│ │ │ ├── Smooth.tga
│ │ │ ├── Spark.tga
│ │ │ ├── Tank.tga
│ │ │ ├── TargetReticle.tga
│ │ │ ├── Testing.tga
│ │ │ ├── TukuiLogo.tga
│ │ │ └── White8x8.tga
│ ├── Modules
│ │ ├── ActionBars
│ │ │ ├── ActionBars.lua
│ │ │ ├── Bind.lua
│ │ │ ├── ExtraAB.lua
│ │ │ ├── Load_ActionBars.xml
│ │ │ ├── MicroBar.lua
│ │ │ ├── PetBar.lua
│ │ │ └── StanceBar.lua
│ │ ├── Auras
│ │ │ ├── Auras.lua
│ │ │ └── Load_Auras.xml
│ │ ├── Bags
│ │ │ ├── BagBar.lua
│ │ │ ├── Bags.lua
│ │ │ ├── Load_Bags.xml
│ │ │ └── Sort.lua
│ │ ├── Blizzard
│ │ │ ├── AlertFrame.lua
│ │ │ ├── AltPower.lua
│ │ │ ├── Blizzard.lua
│ │ │ ├── CaptureBar.lua
│ │ │ ├── GuildBank.lua
│ │ │ ├── Load_Blizzard.xml
│ │ │ ├── QuestWatch.lua
│ │ │ ├── TalkingHeadFrame.lua
│ │ │ ├── TimerTracker.lua
│ │ │ ├── TutorialFrames.lua
│ │ │ ├── Vehicle.lua
│ │ │ └── WidgetsUI.lua
│ │ ├── Chat
│ │ │ ├── Chat.lua
│ │ │ └── Load_Chat.xml
│ │ ├── DataBars
│ │ │ ├── DataBars.lua
│ │ │ ├── Experience.lua
│ │ │ ├── Load_DataBars.xml
│ │ │ ├── PetExperience.lua
│ │ │ ├── Reputation.lua
│ │ │ └── Threat.lua
│ │ ├── DataTexts
│ │ │ ├── Agility.lua
│ │ │ ├── Ammo.lua
│ │ │ ├── Armor.lua
│ │ │ ├── ArmorPenetration.lua
│ │ │ ├── AttackPower.lua
│ │ │ ├── Avoidance.lua
│ │ │ ├── Bags.lua
│ │ │ ├── Battlegrounds.lua
│ │ │ ├── Block.lua
│ │ │ ├── CombatIndicator.lua
│ │ │ ├── CombatTime.lua
│ │ │ ├── Coordinates.lua
│ │ │ ├── Crit.lua
│ │ │ ├── Currencies.lua
│ │ │ ├── CustomCurrency.lua
│ │ │ ├── DPS.lua
│ │ │ ├── DataTexts.lua
│ │ │ ├── Date.lua
│ │ │ ├── Defense.lua
│ │ │ ├── Difficulty.lua
│ │ │ ├── Dodge.lua
│ │ │ ├── DualSpec.lua
│ │ │ ├── Durability.lua
│ │ │ ├── ElvUI.lua
│ │ │ ├── EnergyRegen.lua
│ │ │ ├── EquipmentSets.lua
│ │ │ ├── Experience.lua
│ │ │ ├── Expertise.lua
│ │ │ ├── Friends.lua
│ │ │ ├── Gold.lua
│ │ │ ├── Guild.lua
│ │ │ ├── HPS.lua
│ │ │ ├── Haste.lua
│ │ │ ├── HealPower.lua
│ │ │ ├── Hit.lua
│ │ │ ├── Intellect.lua
│ │ │ ├── ItemLevel.lua
│ │ │ ├── Load_DataTexts.xml
│ │ │ ├── Location.lua
│ │ │ ├── Mail.lua
│ │ │ ├── ManaRegen.lua
│ │ │ ├── Mastery.lua
│ │ │ ├── MicroBar.lua
│ │ │ ├── MovementSpeed.lua
│ │ │ ├── Parry.lua
│ │ │ ├── PrimaryStat.lua
│ │ │ ├── Quests.lua
│ │ │ ├── Reputation.lua
│ │ │ ├── Resilience.lua
│ │ │ ├── Speed.lua
│ │ │ ├── SpellCrit.lua
│ │ │ ├── SpellHaste.lua
│ │ │ ├── SpellHit.lua
│ │ │ ├── SpellPower.lua
│ │ │ ├── Spirit.lua
│ │ │ ├── Stamina.lua
│ │ │ ├── Strength.lua
│ │ │ ├── System.lua
│ │ │ ├── Time.lua
│ │ │ └── Volume.lua
│ │ ├── Load_Modules.xml
│ │ ├── Maps
│ │ │ ├── Load_Maps.xml
│ │ │ ├── Minimap.lua
│ │ │ └── Worldmap.lua
│ │ ├── Misc
│ │ │ ├── AFK.lua
│ │ │ ├── ChatBubbles.lua
│ │ │ ├── DebugTools.lua
│ │ │ ├── EditorMode.lua
│ │ │ ├── InfoItemLevel.lua
│ │ │ ├── Load_Misc.xml
│ │ │ ├── Loot.lua
│ │ │ ├── LootRoll.lua
│ │ │ ├── Misc.lua
│ │ │ ├── PrivateAuras.lua
│ │ │ ├── QueueStatus.lua
│ │ │ ├── RaidMarker.lua
│ │ │ ├── RaidUtility.lua
│ │ │ └── TotemTracker.lua
│ │ ├── Nameplates
│ │ │ ├── Elements
│ │ │ │ ├── Auras.lua
│ │ │ │ ├── BossMods.lua
│ │ │ │ ├── CastBar.lua
│ │ │ │ ├── ClassPower.lua
│ │ │ │ ├── Health.lua
│ │ │ │ ├── Plugins.lua
│ │ │ │ ├── Portraits.lua
│ │ │ │ ├── Power.lua
│ │ │ │ ├── PvP.lua
│ │ │ │ ├── RaidTargetIndicator.lua
│ │ │ │ ├── Tags.lua
│ │ │ │ └── Threat.lua
│ │ │ ├── Load_Nameplates.xml
│ │ │ ├── Nameplates.lua
│ │ │ ├── Plugins
│ │ │ │ ├── ClassificationIndicator.lua
│ │ │ │ ├── Highlight.lua
│ │ │ │ ├── QuestIcons.lua
│ │ │ │ └── TargetIndicator.lua
│ │ │ └── StyleFilter.lua
│ │ ├── Skins
│ │ │ ├── Ace3.lua
│ │ │ ├── Load_Skins.xml
│ │ │ └── Skins.lua
│ │ ├── Tooltip
│ │ │ ├── Load_Tooltip.xml
│ │ │ └── Tooltip.lua
│ │ └── UnitFrames
│ │ │ ├── ConfigEnviroment.lua
│ │ │ ├── Elements
│ │ │ ├── AltPower.lua
│ │ │ ├── AuraBars.lua
│ │ │ ├── AuraHighlight.lua
│ │ │ ├── Auras.lua
│ │ │ ├── BuffIndicator.lua
│ │ │ ├── CastBar.lua
│ │ │ ├── ClassBars.lua
│ │ │ ├── CombatIndicator.lua
│ │ │ ├── CustomText.lua
│ │ │ ├── Cutaway.lua
│ │ │ ├── EnergyManaRegen.lua
│ │ │ ├── FrameGlow.lua
│ │ │ ├── HealPrediction.lua
│ │ │ ├── Health.lua
│ │ │ ├── InfoPanel.lua
│ │ │ ├── Load_Elements.xml
│ │ │ ├── Name.lua
│ │ │ ├── PVPClassificationIndicator.lua
│ │ │ ├── PVPIcon.lua
│ │ │ ├── PVPSpecIcon.lua
│ │ │ ├── PVPText.lua
│ │ │ ├── PartyIndicator.lua
│ │ │ ├── PhaseIndicator.lua
│ │ │ ├── Portrait.lua
│ │ │ ├── Power.lua
│ │ │ ├── PowerPrediction.lua
│ │ │ ├── RaidDebuffs.lua
│ │ │ ├── RaidIcon.lua
│ │ │ ├── RaidRoleIcons.lua
│ │ │ ├── Range.lua
│ │ │ ├── ReadyCheckIcon.lua
│ │ │ ├── RestingIndicator.lua
│ │ │ ├── ResurrectionIcon.lua
│ │ │ ├── RoleIcons.lua
│ │ │ ├── SummonIndicator.lua
│ │ │ ├── Threat.lua
│ │ │ └── Trinket.lua
│ │ │ ├── Groups
│ │ │ ├── Arena.lua
│ │ │ ├── Assist.lua
│ │ │ ├── Boss.lua
│ │ │ ├── Load_Groups.xml
│ │ │ ├── Party.lua
│ │ │ ├── Raid.lua
│ │ │ ├── RaidPets.lua
│ │ │ └── Tank.lua
│ │ │ ├── Load_UnitFrames.xml
│ │ │ ├── UnitFrames.lua
│ │ │ └── Units
│ │ │ ├── Focus.lua
│ │ │ ├── FocusTarget.lua
│ │ │ ├── Load_Units.xml
│ │ │ ├── Pet.lua
│ │ │ ├── PetTarget.lua
│ │ │ ├── Player.lua
│ │ │ ├── Target.lua
│ │ │ ├── TargetTarget.lua
│ │ │ └── TargetTargetTarget.lua
│ └── init.lua
├── ElvUI_Cata.toc
├── ElvUI_Mainline.toc
├── ElvUI_Vanilla.toc
├── LICENSE.txt
├── Locales
│ ├── Load_Locales.xml
│ ├── deDE.lua
│ ├── enUS.lua
│ ├── esMX.lua
│ ├── frFR.lua
│ ├── itIT.lua
│ ├── koKR.lua
│ ├── ptBR.lua
│ ├── ruRU.lua
│ ├── trTR.lua
│ ├── zhCN.lua
│ └── zhTW.lua
└── Mainline
│ ├── Filters
│ ├── Filters.lua
│ └── Load_Filters.xml
│ ├── Load.xml
│ └── Modules
│ ├── ActionBars
│ └── Load_ActionBars.xml
│ ├── Blizzard
│ ├── ColorPicker.lua
│ ├── Load_Blizzard.xml
│ └── ObjectiveFrame.lua
│ ├── DataBars
│ ├── Azerite.lua
│ ├── Honor.lua
│ └── Load_DataBars.xml
│ ├── DataTexts
│ ├── CallToArms.lua
│ ├── Crests.lua
│ ├── DungeonScore.lua
│ ├── Leech.lua
│ ├── Load_DataTexts.xml
│ ├── Missions.lua
│ ├── Quickjoin.lua
│ ├── SpecSwitch.lua
│ ├── Versatility.lua
│ └── Warmode.lua
│ ├── Load_Modules.xml
│ ├── Misc
│ └── Load_Misc.xml
│ ├── Nameplates
│ ├── Load_Nameplates.xml
│ └── PVPRole.lua
│ └── Skins
│ ├── Achievement.lua
│ ├── AddonManager.lua
│ ├── AdventureMap.lua
│ ├── Alerts.lua
│ ├── AlliedRaces.lua
│ ├── AnimaDiversion.lua
│ ├── Archaeology.lua
│ ├── Artifact.lua
│ ├── AuctionHouse.lua
│ ├── Azerite.lua
│ ├── AzeriteEssence.lua
│ ├── AzeriteRespec.lua
│ ├── BGMap.lua
│ ├── Bags.lua
│ ├── Barber.lua
│ ├── Battlenet.lua
│ ├── Binding.lua
│ ├── BlackMarket.lua
│ ├── Calendar.lua
│ ├── Channels.lua
│ ├── Character.lua
│ ├── ChatConfig.lua
│ ├── ChromieTime.lua
│ ├── Collectables.lua
│ ├── CombatLog.lua
│ ├── Communities.lua
│ ├── Contribution.lua
│ ├── CooldownManager.lua
│ ├── CovenantPreview.lua
│ ├── CovenantRenown.lua
│ ├── CovenantSanctum.lua
│ ├── DeathRecap.lua
│ ├── Debug.lua
│ ├── Delves.lua
│ ├── DressingRoom.lua
│ ├── EditorManager.lua
│ ├── EncounterJournal.lua
│ ├── EventTrace.lua
│ ├── ExpansionLandingPage.lua
│ ├── FlightMap.lua
│ ├── Friends.lua
│ ├── GMChat.lua
│ ├── Garrison.lua
│ ├── GarrisonTemplate.lua
│ ├── GarrisonTooltip.lua
│ ├── GenericTrait.lua
│ ├── Gossip.lua
│ ├── Guide.lua
│ ├── Guild.lua
│ ├── GuildBank.lua
│ ├── GuildControl.lua
│ ├── GuildRegistrar.lua
│ ├── Help.lua
│ ├── Inspect.lua
│ ├── IslandPartyPose.lua
│ ├── IslandQueue.lua
│ ├── ItemInteraction.lua
│ ├── ItemUpgrade.lua
│ ├── LFG.lua
│ ├── LFGuild.lua
│ ├── Load_Skins.xml
│ ├── Loot.lua
│ ├── LossControl.lua
│ ├── Macro.lua
│ ├── Mail.lua
│ ├── MajorFaction.lua
│ ├── Menu.lua
│ ├── Merchant.lua
│ ├── MirrorTimers.lua
│ ├── Misc.lua
│ ├── NonRaid.lua
│ ├── ObjectiveTracker.lua
│ ├── Obliterum.lua
│ ├── Orderhall.lua
│ ├── PVP.lua
│ ├── PVPMatch.lua
│ ├── PerksProgram.lua
│ ├── PetBattle.lua
│ ├── Petition.lua
│ ├── PlayerChoice.lua
│ ├── PlayerSpells.lua
│ ├── Professions.lua
│ ├── ProfessionsOrders.lua
│ ├── Quest.lua
│ ├── QuestChoice.lua
│ ├── Raid.lua
│ ├── Runeforge.lua
│ ├── ScrappingMachine.lua
│ ├── SettingsPanel.lua
│ ├── Socket.lua
│ ├── Soulbinds.lua
│ ├── SpellBook.lua
│ ├── Stable.lua
│ ├── SubscriptionInterstitial.lua
│ ├── Tabard.lua
│ ├── TalkingHead.lua
│ ├── Taxi.lua
│ ├── TimeManager.lua
│ ├── Tooltip.lua
│ ├── TorghastLevelPicker.lua
│ ├── Trade.lua
│ ├── Trainer.lua
│ ├── TutorialFrame.lua
│ ├── VoidStorage.lua
│ ├── WarfrontPartyPose.lua
│ ├── WeeklyRewards.lua
│ └── WorldMap.lua
├── ElvUI_Libraries
├── Cata
│ └── Libs.xml
├── Classic
│ ├── LibClassicSpecs
│ │ └── LibClassicSpecs.lua
│ └── Libs.xml
├── Core
│ ├── Ace3-ElvUI
│ │ ├── AceGUI-ElvUI.xml
│ │ ├── AceGUIWidget-Button-ElvUI.lua
│ │ ├── AceGUIWidget-ColorPicker-ElvUI.lua
│ │ ├── AceGUIWidget-DropDown-ElvUI.lua
│ │ ├── AceGUIWidget-EditBox-ElvUI.lua
│ │ ├── AceGUIWidget-MultiLineEditBox-ElvUI.lua
│ │ └── AceGUIWidget-Slider-ElvUI.lua
│ ├── Ace3
│ │ ├── 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
│ │ ├── AceLocale-3.0
│ │ │ ├── AceLocale-3.0.lua
│ │ │ └── AceLocale-3.0.xml
│ │ └── LICENSE.txt
│ ├── LibAceConfigHelper
│ │ └── LibAceConfigHelper.lua
│ ├── LibActionButton-1.0
│ │ ├── LICENSE.txt
│ │ └── LibActionButton-1.0.lua
│ ├── LibAnim
│ │ └── LibAnim.lua
│ ├── LibDeflate
│ │ ├── LICENSE.txt
│ │ └── LibDeflate.lua
│ ├── LibElvUIPlugin-1.0
│ │ └── LibElvUIPlugin-1.0.lua
│ ├── LibSimpleSticky
│ │ └── LibSimpleSticky.lua
│ ├── oUF
│ │ ├── LICENSE.txt
│ │ ├── blizzard.lua
│ │ ├── colors.lua
│ │ ├── combatevents.lua
│ │ ├── elements
│ │ │ ├── additionalpower.lua
│ │ │ ├── alternativepower.lua
│ │ │ ├── assistantindicator.lua
│ │ │ ├── auras.lua
│ │ │ ├── castbar.lua
│ │ │ ├── classpower.lua
│ │ │ ├── combatindicator.lua
│ │ │ ├── eclipsebar.lua
│ │ │ ├── grouproleindicator.lua
│ │ │ ├── health.lua
│ │ │ ├── healthprediction.lua
│ │ │ ├── leaderindicator.lua
│ │ │ ├── masterlooterindicator.lua
│ │ │ ├── partyindicator.lua
│ │ │ ├── phaseindicator.lua
│ │ │ ├── portrait.lua
│ │ │ ├── power.lua
│ │ │ ├── powerprediction.lua
│ │ │ ├── pvpclassificationindicator.lua
│ │ │ ├── pvpindicator.lua
│ │ │ ├── questindicator.lua
│ │ │ ├── raidroleindicator.lua
│ │ │ ├── raidtargetindicator.lua
│ │ │ ├── range.lua
│ │ │ ├── readycheckindicator.lua
│ │ │ ├── restingindicator.lua
│ │ │ ├── resurrectindicator.lua
│ │ │ ├── runes.lua
│ │ │ ├── stagger.lua
│ │ │ ├── summonindicator.lua
│ │ │ ├── tags.lua
│ │ │ ├── threatindicator.lua
│ │ │ └── totems.lua
│ │ ├── events.lua
│ │ ├── factory.lua
│ │ ├── finalize.lua
│ │ ├── init.lua
│ │ ├── oUF.xml
│ │ ├── oUF_Classic.xml
│ │ ├── oUF_TBC.xml
│ │ ├── oUF_Wrath.xml
│ │ ├── ouf.lua
│ │ ├── private.lua
│ │ ├── simpy
│ │ │ ├── auraskip.lua
│ │ │ ├── pooler.lua
│ │ │ └── profiler.lua
│ │ └── units.lua
│ └── oUF_Plugins
│ │ ├── oUF_AuraBars.lua
│ │ ├── oUF_AuraHighlight.lua
│ │ ├── oUF_AuraWatch.lua
│ │ ├── oUF_Cutaway.lua
│ │ ├── oUF_EnergyManaRegen.lua
│ │ ├── oUF_Fader.lua
│ │ ├── oUF_PVPSpecIcons.lua
│ │ ├── oUF_Plugins.xml
│ │ ├── oUF_RaidDebuffs.lua
│ │ ├── oUF_Swing.lua
│ │ └── oUF_Trinkets.lua
├── ElvUI_Libraries_Cata.toc
├── ElvUI_Libraries_Mainline.toc
├── ElvUI_Libraries_Vanilla.toc
└── Mainline
│ └── Libs.xml
├── ElvUI_Options
├── Core
│ ├── ActionBars.lua
│ ├── Auras.lua
│ ├── Bags.lua
│ ├── Chat.lua
│ ├── Cooldown.lua
│ ├── Core.lua
│ ├── DataBars.lua
│ ├── DataTexts.lua
│ ├── Filters.lua
│ ├── General.lua
│ ├── Load.xml
│ ├── Maps.lua
│ ├── Nameplates.lua
│ ├── Search.lua
│ ├── Skins.lua
│ ├── StyleFilters.lua
│ ├── Tags.lua
│ ├── Tooltip.lua
│ └── UnitFrames.lua
├── ElvUI_Options_Cata.toc
├── ElvUI_Options_Mainline.toc
├── ElvUI_Options_Vanilla.toc
├── LICENSE.txt
└── Locales
│ ├── Load_Locales.xml
│ ├── deDE.lua
│ ├── enUS.lua
│ ├── esMX.lua
│ ├── frFR.lua
│ ├── itIT.lua
│ ├── koKR.lua
│ ├── ptBR.lua
│ ├── ruRU.lua
│ ├── trTR.lua
│ ├── zhCN.lua
│ └── zhTW.lua
├── LICENSE.md
├── Makefile
├── README.md
└── ThirdPartyNotices.md
/.github/FUNDING.yml:
--------------------------------------------------------------------------------
1 | patreon: ElvUI
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/config.yml:
--------------------------------------------------------------------------------
1 | blank_issues_enabled: false
2 | contact_links:
3 | - name: Questions?
4 | url: https://discord.tukui.org
5 | about: Please join our Discord!
6 |
--------------------------------------------------------------------------------
/.github/workflows/dev.yml:
--------------------------------------------------------------------------------
1 | name: Development pipeline
2 |
3 | on:
4 | push:
5 | branches:
6 | - "*"
7 | - "!feature/"
8 | tags-ignore:
9 | - '**'
10 |
11 | jobs:
12 | release:
13 | name: Publish development build to CDN
14 | runs-on: ubuntu-22.04
15 | env:
16 | DEPLOY_KEY: ${{ secrets.DEPLOY_KEY }}
17 | steps:
18 | - name: Clone project
19 | uses: actions/checkout@v4
20 | with:
21 | fetch-depth: 0
22 | - name: Workaround checkout issues
23 | run: |
24 | git fetch --tags --force
25 | - name: Create Package
26 | uses: BigWigsMods/packager@v2
27 | with:
28 | args: -n "{package-name}-$GITHUB_REF_NAME-{project-version}"
29 | - name: Get package name
30 | run: |
31 | echo "PACKAGE=$(find .release -type f -name *.zip -printf "%f\n")" >> $GITHUB_ENV
32 | - name: Publish package
33 | run: |
34 | curl https://api.tukui.org/v1/upload/dev/$PACKAGE --upload-file .release/$PACKAGE -H "X-Tukui-Key: $DEPLOY_KEY" -H "Content-Type: application/zip"
--------------------------------------------------------------------------------
/.github/workflows/release.yml:
--------------------------------------------------------------------------------
1 | name: Release pipeline
2 |
3 | on:
4 | push:
5 | tags:
6 | - "v*"
7 |
8 | jobs:
9 | release:
10 | name: Publish release to CDN
11 | runs-on: ubuntu-22.04
12 | env:
13 | DEPLOY_KEY: ${{ secrets.DEPLOY_KEY }}
14 | steps:
15 | - name: Clone project
16 | uses: actions/checkout@v4
17 | with:
18 | fetch-depth: 0
19 | - name: Workaround checkout issues
20 | run: |
21 | git fetch --tags --force
22 | - name: Create Package
23 | uses: BigWigsMods/packager@v2
24 | with:
25 | args: -n "{package-name}-{project-version}"
26 | - name: Get package name
27 | run: |
28 | echo "PACKAGE=$(find .release -type f -name *.zip -printf "%f\n")" >> $GITHUB_ENV
29 | - name: Publish package
30 | run: |
31 | curl https://api.tukui.org/v1/upload/$PACKAGE --upload-file .release/$PACKAGE -H "X-Tukui-Key: $DEPLOY_KEY" -H "Content-Type: application/zip"
32 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Windows image file caches
2 | Thumbs.db
3 | ehthumbs.db
4 |
5 | # Folder config file
6 | Desktop.ini
7 |
8 | # Recycle Bin used on file shares
9 | $RECYCLE.BIN/
10 |
11 | # Mac crap
12 | .DS_Store
13 |
14 | # Misc
15 | *.zip
16 |
17 | # Luacheck's Cache
18 | .luacheckcache
19 |
20 | # Vscode local config
21 | .vscode
22 | .vs
23 |
24 | # Jetbrains local config
25 | .idea
26 |
27 | # Libraries
28 | ElvUI_Libraries/Classic/LibQuestXP
29 | ElvUI_Libraries/Core/*
30 | !ElvUI_Libraries/Core/Ace3/AceConfig-3.0
31 | !ElvUI_Libraries/Core/Ace3/AceLocale-3.0
32 | !ElvUI_Libraries/Core/Ace3/LICENSE.txt
33 | !ElvUI_Libraries/Core/Ace3-ElvUI
34 | !ElvUI_Libraries/Core/LibAceConfigHelper
35 | !ElvUI_Libraries/Core/LibActionButton-1.0
36 | !ElvUI_Libraries/Core/LibAnim
37 | !ElvUI_Libraries/Core/LibDeflate
38 | !ElvUI_Libraries/Core/LibElvUIPlugin-1.0
39 | !ElvUI_Libraries/Core/LibRangeCheck-3.0
40 | !ElvUI_Libraries/Core/LibSimpleSticky
41 | !ElvUI_Libraries/Core/oUF
42 | !ElvUI_Libraries/Core/oUF_Plugins
43 |
44 | # Pipelines
45 | .release
46 |
--------------------------------------------------------------------------------
/ElvUI/Cata/Filters/Load_Filters.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/ElvUI/Cata/Load.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/ElvUI/Cata/Modules/ActionBars/Load_ActionBars.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/ElvUI/Cata/Modules/Blizzard/Load_Blizzard.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/ElvUI/Cata/Modules/DataBars/Load_DataBars.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/ElvUI/Cata/Modules/DataTexts/Load_DataTexts.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/ElvUI/Cata/Modules/Load_Modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/ElvUI/Cata/Modules/Skins/Barber.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local S = E:GetModule('Skins')
3 |
4 | local _G = _G
5 | local pairs = pairs
6 |
7 | function S:Blizzard_BarbershopUI()
8 | if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.barber) then return end
9 |
10 | S:HandleFrame(_G.BarberShopFrame)
11 |
12 | _G.BarberShopFrameMoneyFrame:StripTextures()
13 |
14 | local nextPrev = {
15 | _G.BarberShopFrame.FaceSelector.Prev,
16 | _G.BarberShopFrame.FaceSelector.Next,
17 | _G.BarberShopFrame.HairStyleSelector.Prev,
18 | _G.BarberShopFrame.HairStyleSelector.Next,
19 | _G.BarberShopFrame.HairColorSelector.Prev,
20 | _G.BarberShopFrame.HairColorSelector.Next,
21 | _G.BarberShopFrame.FacialHairSelector.Prev,
22 | _G.BarberShopFrame.FacialHairSelector.Next,
23 | _G.BarberShopFrame.SkinColorSelector.Prev,
24 | _G.BarberShopFrame.SkinColorSelector.Next
25 | }
26 |
27 | for _, frame in pairs(nextPrev) do
28 | S:HandleNextPrevButton(frame)
29 | end
30 |
31 | S:HandleButton(_G.BarberShopFrameResetButton, nil, nil, nil, true, nil, nil, nil, true)
32 | S:HandleButton(_G.BarberShopFrameCancelButton, nil, nil, nil, true, nil, nil, nil, true)
33 | S:HandleButton(_G.BarberShopFrameOkayButton, nil, nil, nil, true, nil, nil, nil, true)
34 | end
35 |
36 | S:AddCallbackForAddon('Blizzard_BarbershopUI')
37 |
--------------------------------------------------------------------------------
/ElvUI/Cata/Modules/Skins/Battlenet.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local S = E:GetModule('Skins')
3 |
4 | local _G = _G
5 | local next = next
6 |
7 | function S:BattleNetFrames()
8 | if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.misc) then return end
9 |
10 | local skins = {
11 | _G.BNToastFrame,
12 | _G.TimeAlertFrame,
13 | _G.TicketStatusFrameButton.NineSlice
14 | }
15 |
16 | for i = 1, #skins do
17 | skins[i]:SetTemplate('Transparent')
18 | end
19 |
20 | local ReportFrame = _G.ReportFrame
21 | S:HandleFrame(ReportFrame, true)
22 |
23 | ReportFrame.Comment:StripTextures()
24 | S:HandleEditBox(ReportFrame.Comment)
25 | S:HandleDropDownBox(ReportFrame.ReportingMajorCategoryDropdown)
26 |
27 | S:HandleButton(ReportFrame.ReportButton)
28 | S:HandleButton(ReportFrame.CloseButton)
29 |
30 | S:HandleFrame(_G.ReportCheatingDialog, true)
31 |
32 | _G.ReportCheatingDialogCommentFrame:StripTextures()
33 |
34 | S:HandleButton(_G.ReportCheatingDialogReportButton)
35 | S:HandleButton(_G.ReportCheatingDialogCancelButton)
36 |
37 | S:HandleEditBox(_G.ReportCheatingDialogCommentFrameEditBox)
38 |
39 | local BattleTagInviteFrame = _G.BattleTagInviteFrame
40 | S:HandleFrame(BattleTagInviteFrame, true)
41 |
42 | for _, child in next, { BattleTagInviteFrame:GetChildren() } do
43 | if child:IsObjectType('Button') then
44 | S:HandleButton(child)
45 | end
46 | end
47 | end
48 |
49 | S:AddCallback('BattleNetFrames')
50 |
--------------------------------------------------------------------------------
/ElvUI/Cata/Modules/Skins/DressingRoom.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local S = E:GetModule('Skins')
3 |
4 | local _G = _G
5 |
6 | function S:DressUpFrame()
7 | if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.dressingroom) then return end
8 |
9 | local DressUpFrame = _G.DressUpFrame
10 | S:HandleFrame(DressUpFrame, true, nil, 11, -12, -32, 76)
11 |
12 | DressUpFrame.BGBottomLeft:SetDesaturated(true)
13 | DressUpFrame.BGBottomRight:SetDesaturated(true)
14 | DressUpFrame.BGTopLeft:SetDesaturated(true)
15 | DressUpFrame.BGTopRight:SetDesaturated(true)
16 |
17 | _G.DressUpFrameDescriptionText:Point('CENTER', _G.DressUpFrameTitleText, 'BOTTOM', -5, -22)
18 |
19 | S:HandleCloseButton(_G.DressUpFrameCloseButton, DressUpFrame.backdrop)
20 |
21 | -- Rotate Buttons
22 | S:HandleRotateButton(_G.DressUpModelFrameRotateLeftButton)
23 | _G.DressUpModelFrameRotateLeftButton:Point('TOPLEFT', DressUpFrame, 25, -79)
24 | S:HandleRotateButton(_G.DressUpModelFrameRotateRightButton)
25 | _G.DressUpModelFrameRotateRightButton:Point('TOPLEFT', _G.DressUpModelFrameRotateLeftButton, 'TOPRIGHT', 3, 0)
26 |
27 | -- Cancel and Reset
28 | S:HandleButton(_G.DressUpFrameCancelButton)
29 | _G.DressUpFrameCancelButton:Point('BOTTOMRIGHT', -35, 80)
30 | S:HandleButton(_G.DressUpFrameResetButton)
31 | _G.DressUpFrameResetButton:Point('RIGHT', _G.DressUpFrameCancelButton, 'LEFT', -3, 0)
32 |
33 | S:HandleFrame(_G.DressUpModelFrame, true, nil, -2, 1, 0, 19)
34 | end
35 |
36 | S:AddCallback('DressUpFrame')
37 |
--------------------------------------------------------------------------------
/ElvUI/Cata/Modules/Skins/GuildRegistrar.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local S = E:GetModule('Skins')
3 |
4 | local _G = _G
5 | local next = next
6 |
7 | function S:GuildRegistrarFrame()
8 | if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.guildregistrar) then return end
9 |
10 | local GuildRegistrarFrame = _G.GuildRegistrarFrame
11 | S:HandleFrame(GuildRegistrarFrame, true, nil, 12, -17, -28, 65)
12 |
13 | _G.GuildRegistrarFrameEditBox:StripTextures()
14 | _G.GuildRegistrarGreetingFrame:StripTextures()
15 |
16 | S:HandleCloseButton(_G.GuildRegistrarFrameCloseButton)
17 | S:HandleButton(_G.GuildRegistrarFrameGoodbyeButton)
18 | S:HandleButton(_G.GuildRegistrarFrameCancelButton)
19 | S:HandleButton(_G.GuildRegistrarFramePurchaseButton)
20 | S:HandleEditBox(_G.GuildRegistrarFrameEditBox)
21 |
22 | for _, region in next, { _G.GuildRegistrarFrameEditBox:GetRegions() } do
23 | if region:IsObjectType('Texture') and (region:GetTexture() == [[Interface\ChatFrame\UI-ChatInputBorder-Left]] or region:GetTexture() == [[Interface\ChatFrame\UI-ChatInputBorder-Right]]) then
24 | region:Kill()
25 | end
26 | end
27 |
28 | _G.GuildRegistrarFrameEditBox:Height(20)
29 |
30 | for i = 1, 2 do
31 | _G['GuildRegistrarButton'..i]:GetFontString():SetTextColor(1, 1, 1)
32 | end
33 |
34 | _G.GuildRegistrarPurchaseText:SetTextColor(1, 1, 1)
35 | _G.GuildAvailableServicesText:SetTextColor(1, 1, 1)
36 | end
37 |
38 | S:AddCallback('GuildRegistrarFrame')
39 |
--------------------------------------------------------------------------------
/ElvUI/Cata/Modules/Skins/Help.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local S = E:GetModule('Skins')
3 |
4 | local _G = _G
5 |
6 | function S:HelpFrame()
7 | if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.help) then return end
8 |
9 | local main = _G.HelpFrame
10 | main:StripTextures()
11 | main:CreateBackdrop('Transparent')
12 | main.backdrop:SetOutside(main, 8, 8)
13 | S:HandleCloseButton(main.CloseButton, main.backdrop)
14 |
15 | _G.HelpFrameTitleBg:StripTextures()
16 |
17 | local browser = _G.HelpBrowser
18 | browser.BrowserInset:StripTextures()
19 | browser:CreateBackdrop()
20 | browser.backdrop:ClearAllPoints()
21 | browser.backdrop:Point('TOPLEFT', browser, 'TOPLEFT', -1, 1)
22 | browser.backdrop:Point('BOTTOMRIGHT', browser, 'BOTTOMRIGHT', 1, -2)
23 | end
24 |
25 | S:AddCallback('HelpFrame')
26 |
--------------------------------------------------------------------------------
/ElvUI/Cata/Modules/Skins/Menu.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local S = E:GetModule('Skins')
3 |
4 | local _G = _G
5 | local hooksecurefunc = hooksecurefunc
6 |
7 | local backdrops = {}
8 | local function SkinFrame(frame)
9 | frame:StripTextures()
10 |
11 | if backdrops[frame] then
12 | frame.backdrop = backdrops[frame] -- relink it back
13 | else
14 | frame:CreateBackdrop('Transparent') -- :SetTemplate errors out
15 | backdrops[frame] = frame.backdrop -- keep below CreateBackdrop
16 |
17 | if frame.ScrollBar then
18 | S:HandleTrimScrollBar(frame.ScrollBar)
19 | end
20 | end
21 | end
22 |
23 | function S:SkinMenu(manager, ownerRegion, menuDescription, anchor)
24 | local menu = manager:GetOpenMenu()
25 | if not menu then return end
26 |
27 | SkinFrame(menu) -- Initial context menu
28 | menuDescription:AddMenuAcquiredCallback(SkinFrame) -- SubMenus
29 | end
30 |
31 | function S:OpenMenu(ownerRegion, menuDescription, anchor)
32 | S:SkinMenu(self, ownerRegion, menuDescription, anchor) -- self is manager (Menu.GetManager)
33 | end
34 |
35 | function S:OpenContextMenu(ownerRegion, menuDescription)
36 | S:SkinMenu(self, ownerRegion, menuDescription) -- self is manager (Menu.GetManager)
37 | end
38 |
39 | function S:Blizzard_Menu()
40 | if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.misc) then return end
41 |
42 | local manager = _G.Menu.GetManager()
43 | if manager then
44 | hooksecurefunc(manager, 'OpenMenu', S.OpenMenu)
45 | hooksecurefunc(manager, 'OpenContextMenu', S.OpenContextMenu)
46 | end
47 | end
48 |
49 | S:AddCallbackForAddon('Blizzard_Menu')
50 |
--------------------------------------------------------------------------------
/ElvUI/Cata/Modules/Skins/NonRaid.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local S = E:GetModule('Skins')
3 |
4 | local _G = _G
5 | local next = next
6 |
7 | function S:RaidInfoFrame()
8 | if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.nonraid) then return end
9 |
10 | for _, frame in next, {
11 | _G.RaidInfoFrame,
12 | _G.RaidInfoInstanceLabel,
13 | _G.RaidInfoIDLabel,
14 | } do
15 | frame:StripTextures()
16 | end
17 |
18 | for _, texture in next, {
19 | _G.RaidInfoScrollFrameBottom,
20 | _G.RaidInfoScrollFrameTop,
21 | } do
22 | texture:Kill()
23 | end
24 |
25 | for _, button in next, {
26 | _G.RaidFrameConvertToRaidButton,
27 | _G.RaidFrameRaidInfoButton,
28 | _G.RaidInfoExtendButton,
29 | _G.RaidInfoCancelButton,
30 | } do
31 | S:HandleButton(button)
32 | end
33 |
34 | local RaidInfoFrame = _G.RaidInfoFrame
35 | RaidInfoFrame:SetTemplate('Transparent')
36 |
37 | S:HandleCloseButton(_G.RaidInfoCloseButton,RaidInfoFrame)
38 | S:HandleScrollBar(_G.RaidInfoFrame.ScrollBar)
39 | S:HandleCheckBox(_G.RaidFrameAllAssistCheckButton)
40 | end
41 |
42 | S:AddCallback('RaidInfoFrame')
43 |
--------------------------------------------------------------------------------
/ElvUI/Cata/Modules/Skins/Petition.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local S = E:GetModule('Skins')
3 |
4 | local _G = _G
5 | local ipairs = ipairs
6 |
7 | function S:PetitionFrame()
8 | if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.petition) then return end
9 |
10 | local PetitionFrame = _G.PetitionFrame
11 | S:HandleFrame(PetitionFrame, true, nil, 12, -17, -28, 65)
12 |
13 | -- Buttons
14 | local buttons = {
15 | _G.PetitionFrameSignButton,
16 | _G.PetitionFrameRequestButton,
17 | _G.PetitionFrameRenameButton,
18 | _G.PetitionFrameCancelButton
19 | }
20 |
21 | for _, button in ipairs(buttons) do
22 | S:HandleButton(button)
23 | end
24 |
25 | S:HandleCloseButton(_G.PetitionFrameCloseButton)
26 |
27 | -- Text Colors
28 | _G.PetitionFrameCharterTitle:SetTextColor(1, 1, 0)
29 | _G.PetitionFrameCharterName:SetTextColor(1, 1, 1)
30 | _G.PetitionFrameMasterTitle:SetTextColor(1, 1, 0)
31 | _G.PetitionFrameMasterName:SetTextColor(1, 1, 1)
32 | _G.PetitionFrameMemberTitle:SetTextColor(1, 1, 0)
33 |
34 | for i = 1, 9 do
35 | _G['PetitionFrameMemberName'..i]:SetTextColor(1, 1, 1)
36 | end
37 |
38 | _G.PetitionFrameInstructions:SetTextColor(1, 1, 1)
39 |
40 | _G.PetitionFrameRenameButton:Point('LEFT', _G.PetitionFrameRequestButton, 'RIGHT', 3, 0)
41 | _G.PetitionFrameRenameButton:Point('RIGHT', _G.PetitionFrameCancelButton, 'LEFT', -3, 0)
42 | end
43 |
44 | S:AddCallback('PetitionFrame')
45 |
--------------------------------------------------------------------------------
/ElvUI/Cata/Modules/Skins/Taxi.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local S = E:GetModule('Skins')
3 |
4 | local _G = _G
5 |
6 | function S:TaxiFrame()
7 | if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.taxi) then return end
8 |
9 | local TaxiFrame = _G.TaxiFrame
10 | S:HandleFrame(TaxiFrame, true, nil, 11, -12, -32, 76)
11 | _G.TaxiPortrait:Kill()
12 | _G.TaxiMap:PointXY(-11, -71)
13 | _G.TaxiRouteMap:PointXY(-11, -71)
14 | _G.TaxiMerchant:SetTextColor(1, 1, 1)
15 |
16 | S:HandleCloseButton(_G.TaxiCloseButton, TaxiFrame.backdrop)
17 | end
18 |
19 | S:AddCallback('TaxiFrame')
20 |
--------------------------------------------------------------------------------
/ElvUI/Cata/Modules/Skins/Tutorial.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local S = E:GetModule('Skins')
3 |
4 | local _G = _G
5 |
6 | function S:SkinTutorial()
7 | if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.tutorial) then return end
8 |
9 | S:HandleFrame(_G.TutorialFrame, false)
10 |
11 | for i = 1, _G.MAX_TUTORIAL_ALERTS do
12 | local button = _G['TutorialFrameAlertButton'..i]
13 | local icon = button:GetNormalTexture()
14 |
15 | button:Size(35, 45)
16 | button:SetTemplate(nil, true)
17 | button:StyleButton(nil, true)
18 |
19 | icon:SetInside()
20 | icon:SetTexCoord(0.09, 0.40, 0.11, 0.56)
21 | end
22 |
23 | S:HandleCheckBox(_G.TutorialFrameCheckButton)
24 |
25 | S:HandleButton(_G.TutorialFrameOkayButton)
26 | end
27 |
28 | S:AddCallback('SkinTutorial')
29 |
--------------------------------------------------------------------------------
/ElvUI/Classic/Filters/Load_Filters.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/ElvUI/Classic/Load.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/ElvUI/Classic/Modules/Blizzard/Load_Blizzard.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/ElvUI/Classic/Modules/DataBars/Load_DataBars.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/ElvUI/Classic/Modules/DataTexts/Load_DataTexts.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/ElvUI/Classic/Modules/Load_Modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/ElvUI/Classic/Modules/Skins/BGScore.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local S = E:GetModule('Skins')
3 |
4 | local _G = _G
5 |
6 | function S:SkinWorldStateScore()
7 | if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.bgscore) then return end
8 |
9 | local WorldStateScoreFrame = _G.WorldStateScoreFrame
10 | S:HandleFrame(WorldStateScoreFrame, true, nil, 0, -5, -107, 25)
11 |
12 | _G.WorldStateScoreScrollFrame:StripTextures()
13 | S:HandleScrollBar(_G.WorldStateScoreScrollFrameScrollBar)
14 |
15 | for i = 1, 3 do
16 | S:HandleTab(_G['WorldStateScoreFrameTab'..i])
17 | _G['WorldStateScoreFrameTab'..i..'Text']:SetPoint('CENTER', 0, 2)
18 | end
19 |
20 | -- Reposition Tabs
21 | _G.WorldStateScoreFrameTab1:ClearAllPoints()
22 | _G.WorldStateScoreFrameTab1:Point('TOPLEFT', _G.WorldStateScoreFrame, 'BOTTOMLEFT', -10, 25)
23 | _G.WorldStateScoreFrameTab2:Point('TOPLEFT', _G.WorldStateScoreFrameTab1, 'TOPRIGHT', -19, 0)
24 | _G.WorldStateScoreFrameTab3:Point('TOPLEFT', _G.WorldStateScoreFrameTab2, 'TOPRIGHT', -19, 0)
25 |
26 | S:HandleButton(_G.WorldStateScoreFrameLeaveButton)
27 | S:HandleCloseButton(_G.WorldStateScoreFrameCloseButton)
28 |
29 | _G.WorldStateScoreFrameKB:StyleButton()
30 | _G.WorldStateScoreFrameDeaths:StyleButton()
31 | _G.WorldStateScoreFrameHK:StyleButton()
32 | _G.WorldStateScoreFrameHonorGained:StyleButton()
33 | _G.WorldStateScoreFrameName:StyleButton()
34 |
35 | for i = 1, 7 do
36 | _G['WorldStateScoreColumn'..i]:StyleButton()
37 | end
38 | end
39 |
40 | S:AddCallback('SkinWorldStateScore')
41 |
--------------------------------------------------------------------------------
/ElvUI/Classic/Modules/Skins/Battlefield.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local S = E:GetModule('Skins')
3 |
4 | local _G = _G
5 |
6 | function S:SkinBattlefield()
7 | if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.battlefield) then return end
8 |
9 | local BattlefieldFrame = _G.BattlefieldFrame
10 | S:HandleFrame(BattlefieldFrame, true, nil, 11, -12, -32, 76)
11 |
12 | _G.BattlefieldListScrollFrame:StripTextures()
13 | S:HandleScrollBar(_G.BattlefieldListScrollFrameScrollBar)
14 |
15 | _G.BattlefieldFrameZoneDescription:SetTextColor(1, 1, 1)
16 |
17 | S:HandleButton(_G.BattlefieldFrameCancelButton)
18 | S:HandleButton(_G.BattlefieldFrameJoinButton)
19 | S:HandleButton(_G.BattlefieldFrameGroupJoinButton)
20 |
21 | S:HandleCloseButton(_G.BattlefieldFrameCloseButton)
22 | end
23 |
24 | S:AddCallback('SkinBattlefield')
25 |
--------------------------------------------------------------------------------
/ElvUI/Classic/Modules/Skins/Battlenet.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local S = E:GetModule('Skins')
3 |
4 | local _G = _G
5 | local next = next
6 |
7 | function S:BattleNetFrames()
8 | if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.misc) then return end
9 |
10 | local skins = {
11 | _G.BNToastFrame,
12 | _G.TimeAlertFrame,
13 | _G.TicketStatusFrameButton.NineSlice
14 | }
15 |
16 | for i = 1, #skins do
17 | skins[i]:SetTemplate('Transparent')
18 | end
19 |
20 | local PlayerReportFrame = _G.PlayerReportFrame
21 | S:HandleFrame(PlayerReportFrame, true)
22 |
23 | PlayerReportFrame.Comment:StripTextures()
24 | S:HandleEditBox(PlayerReportFrame.Comment)
25 |
26 | S:HandleButton(PlayerReportFrame.ReportButton)
27 | S:HandleButton(PlayerReportFrame.CancelButton)
28 |
29 | S:HandleFrame(_G.ReportCheatingDialog, true)
30 |
31 | _G.ReportCheatingDialogCommentFrame:StripTextures()
32 |
33 | S:HandleButton(_G.ReportCheatingDialogReportButton)
34 | S:HandleButton(_G.ReportCheatingDialogCancelButton)
35 |
36 | S:HandleEditBox(_G.ReportCheatingDialogCommentFrameEditBox)
37 |
38 | local BattleTagInviteFrame = _G.BattleTagInviteFrame
39 | S:HandleFrame(BattleTagInviteFrame, true)
40 |
41 | for _, child in next, { BattleTagInviteFrame:GetChildren() } do
42 | if child:IsObjectType('Button') then
43 | S:HandleButton(child)
44 | end
45 | end
46 | end
47 |
48 | S:AddCallback('BattleNetFrames')
49 |
--------------------------------------------------------------------------------
/ElvUI/Classic/Modules/Skins/DressingRoom.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local S = E:GetModule('Skins')
3 |
4 | local _G = _G
5 |
6 | function S:DressUpFrame()
7 | if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.dressingroom) then return end
8 |
9 | local DressUpFrame = _G.DressUpFrame
10 | S:HandleFrame(DressUpFrame, true, nil, 11, -12, -32, 76)
11 |
12 | DressUpFrame.BGBottomLeft:SetDesaturated(true)
13 | DressUpFrame.BGBottomRight:SetDesaturated(true)
14 | DressUpFrame.BGTopLeft:SetDesaturated(true)
15 | DressUpFrame.BGTopRight:SetDesaturated(true)
16 |
17 | _G.DressUpFrameDescriptionText:Point('CENTER', _G.DressUpFrameTitleText, 'BOTTOM', -5, -22)
18 |
19 | S:HandleCloseButton(_G.DressUpFrameCloseButton, DressUpFrame.backdrop)
20 |
21 | S:HandleRotateButton(_G.DressUpModelFrameRotateLeftButton)
22 | _G.DressUpModelFrameRotateLeftButton:Point('TOPLEFT', DressUpFrame, 25, -79)
23 | S:HandleRotateButton(_G.DressUpModelFrameRotateRightButton)
24 | _G.DressUpModelFrameRotateRightButton:Point('TOPLEFT', _G.DressUpModelFrameRotateLeftButton, 'TOPRIGHT', 3, 0)
25 |
26 | S:HandleButton(_G.DressUpFrameCancelButton)
27 | _G.DressUpFrameCancelButton:Point('BOTTOMRIGHT', -35, 80)
28 | S:HandleButton(_G.DressUpFrameResetButton)
29 | _G.DressUpFrameResetButton:Point('RIGHT', _G.DressUpFrameCancelButton, 'LEFT', -3, 0)
30 |
31 | S:HandleFrame(_G.DressUpModelFrame, true, nil, -2, 1, 0, 19)
32 | end
33 |
34 | S:AddCallback('DressUpFrame')
35 |
--------------------------------------------------------------------------------
/ElvUI/Classic/Modules/Skins/GuildRegistrar.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local S = E:GetModule('Skins')
3 |
4 | local _G = _G
5 | local next = next
6 |
7 | function S:GuildRegistrarFrame()
8 | if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.guildregistrar) then return end
9 |
10 | local GuildRegistrarFrame = _G.GuildRegistrarFrame
11 | S:HandleFrame(GuildRegistrarFrame, true, nil, 12, -17, -28, 65)
12 |
13 | _G.GuildRegistrarFrameEditBox:StripTextures()
14 | _G.GuildRegistrarGreetingFrame:StripTextures()
15 |
16 | S:HandleCloseButton(_G.GuildRegistrarFrameCloseButton)
17 | S:HandleButton(_G.GuildRegistrarFrameGoodbyeButton)
18 | S:HandleButton(_G.GuildRegistrarFrameCancelButton)
19 | S:HandleButton(_G.GuildRegistrarFramePurchaseButton)
20 | S:HandleEditBox(_G.GuildRegistrarFrameEditBox)
21 |
22 | for _, region in next, { _G.GuildRegistrarFrameEditBox:GetRegions() } do
23 | if region:IsObjectType('Texture') and (region:GetTexture() == [[Interface\ChatFrame\UI-ChatInputBorder-Left]] or region:GetTexture() == [[Interface\ChatFrame\UI-ChatInputBorder-Right]]) then
24 | region:Kill()
25 | end
26 | end
27 |
28 | _G.GuildRegistrarFrameEditBox:Height(20)
29 |
30 | for i = 1, 2 do
31 | _G['GuildRegistrarButton'..i]:GetFontString():SetTextColor(1, 1, 1)
32 | end
33 |
34 | _G.GuildRegistrarPurchaseText:SetTextColor(1, 1, 1)
35 | _G.GuildAvailableServicesText:SetTextColor(1, 1, 1)
36 | end
37 |
38 | S:AddCallback('GuildRegistrarFrame')
39 |
--------------------------------------------------------------------------------
/ElvUI/Classic/Modules/Skins/Help.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local S = E:GetModule('Skins')
3 |
4 | local _G = _G
5 |
6 | function S:HelpFrame()
7 | if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.help) then return end
8 |
9 | local main = _G.HelpFrame
10 | main:StripTextures()
11 | main:CreateBackdrop('Transparent')
12 | main.backdrop:SetOutside(main, 8, 8)
13 | S:HandleCloseButton(main.CloseButton, main.backdrop)
14 |
15 | _G.HelpFrameTitleBg:StripTextures()
16 |
17 | local browser = _G.HelpBrowser
18 | browser.BrowserInset:StripTextures()
19 | browser:CreateBackdrop()
20 | browser.backdrop:ClearAllPoints()
21 | browser.backdrop:Point('TOPLEFT', browser, 'TOPLEFT', -1, 1)
22 | browser.backdrop:Point('BOTTOMRIGHT', browser, 'BOTTOMRIGHT', 1, -2)
23 | end
24 |
25 | S:AddCallback('HelpFrame')
26 |
--------------------------------------------------------------------------------
/ElvUI/Classic/Modules/Skins/Menu.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local S = E:GetModule('Skins')
3 |
4 | local _G = _G
5 | local hooksecurefunc = hooksecurefunc
6 |
7 | local backdrops = {}
8 | local function SkinFrame(frame)
9 | frame:StripTextures()
10 |
11 | if backdrops[frame] then
12 | frame.backdrop = backdrops[frame] -- relink it back
13 | else
14 | frame:CreateBackdrop('Transparent') -- :SetTemplate errors out
15 | backdrops[frame] = frame.backdrop -- keep below CreateBackdrop
16 |
17 | if frame.ScrollBar then
18 | S:HandleTrimScrollBar(frame.ScrollBar)
19 | end
20 | end
21 | end
22 |
23 | function S:SkinMenu(manager, ownerRegion, menuDescription, anchor)
24 | local menu = manager:GetOpenMenu()
25 | if not menu then return end
26 |
27 | SkinFrame(menu) -- Initial context menu
28 | menuDescription:AddMenuAcquiredCallback(SkinFrame) -- SubMenus
29 | end
30 |
31 | function S:OpenMenu(ownerRegion, menuDescription, anchor)
32 | S:SkinMenu(self, ownerRegion, menuDescription, anchor) -- self is manager (Menu.GetManager)
33 | end
34 |
35 | function S:OpenContextMenu(ownerRegion, menuDescription)
36 | S:SkinMenu(self, ownerRegion, menuDescription) -- self is manager (Menu.GetManager)
37 | end
38 |
39 | function S:Blizzard_Menu()
40 | if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.misc) then return end
41 |
42 | local manager = _G.Menu.GetManager()
43 | if manager then
44 | hooksecurefunc(manager, 'OpenMenu', S.OpenMenu)
45 | hooksecurefunc(manager, 'OpenContextMenu', S.OpenContextMenu)
46 | end
47 | end
48 |
49 | S:AddCallbackForAddon('Blizzard_Menu')
50 |
--------------------------------------------------------------------------------
/ElvUI/Classic/Modules/Skins/NonRaid.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local S = E:GetModule('Skins')
3 |
4 | local _G = _G
5 | local next = next
6 |
7 | function S:RaidInfoFrame()
8 | if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.nonraid) then return end
9 |
10 | for _, frame in next, {
11 | _G.RaidInfoFrame,
12 | _G.RaidInfoInstanceLabel,
13 | _G.RaidInfoIDLabel,
14 | } do
15 | frame:StripTextures()
16 | end
17 |
18 | for _, texture in next, {
19 | _G.RaidInfoScrollFrameScrollBarBG,
20 | _G.RaidInfoScrollFrameScrollBarTop,
21 | _G.RaidInfoScrollFrameScrollBarBottom,
22 | _G.RaidInfoScrollFrameScrollBarMiddle,
23 | } do
24 | texture:Kill()
25 | end
26 |
27 | for _, button in next, {
28 | _G.RaidFrameConvertToRaidButton,
29 | _G.RaidFrameRaidInfoButton,
30 | _G.RaidInfoExtendButton,
31 | _G.RaidInfoCancelButton,
32 | } do
33 | S:HandleButton(button)
34 | end
35 |
36 | local RaidInfoFrame = _G.RaidInfoFrame
37 | RaidInfoFrame:SetTemplate('Transparent')
38 |
39 | S:HandleCloseButton(_G.RaidInfoCloseButton,RaidInfoFrame)
40 | S:HandleTrimScrollBar(RaidInfoFrame.ScrollBar)
41 | S:HandleCheckBox(_G.RaidFrameAllAssistCheckButton)
42 | end
43 |
44 | S:AddCallback('RaidInfoFrame')
45 |
--------------------------------------------------------------------------------
/ElvUI/Classic/Modules/Skins/Petition.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local S = E:GetModule('Skins')
3 |
4 | local _G = _G
5 |
6 | function S:PetitionFrame()
7 | if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.petition) then return end
8 |
9 | local PetitionFrame = _G.PetitionFrame
10 | S:HandleFrame(PetitionFrame, true, nil, 12, -17, -28, 65)
11 |
12 | S:HandleButton(_G.PetitionFrameSignButton)
13 | S:HandleButton(_G.PetitionFrameRequestButton)
14 | S:HandleButton(_G.PetitionFrameRenameButton)
15 | S:HandleButton(_G.PetitionFrameCancelButton)
16 | S:HandleCloseButton(_G.PetitionFrameCloseButton)
17 |
18 | _G.PetitionFrameCharterTitle:SetTextColor(1, 1, 0)
19 | _G.PetitionFrameCharterName:SetTextColor(1, 1, 1)
20 | _G.PetitionFrameMasterTitle:SetTextColor(1, 1, 0)
21 | _G.PetitionFrameMasterName:SetTextColor(1, 1, 1)
22 | _G.PetitionFrameMemberTitle:SetTextColor(1, 1, 0)
23 |
24 | for i = 1, 9 do
25 | _G['PetitionFrameMemberName'..i]:SetTextColor(1, 1, 1)
26 | end
27 |
28 | _G.PetitionFrameInstructions:SetTextColor(1, 1, 1)
29 |
30 | _G.PetitionFrameRenameButton:Point('LEFT', _G.PetitionFrameRequestButton, 'RIGHT', 3, 0)
31 | _G.PetitionFrameRenameButton:Point('RIGHT', _G.PetitionFrameCancelButton, 'LEFT', -3, 0)
32 | end
33 |
34 | S:AddCallback('PetitionFrame')
35 |
--------------------------------------------------------------------------------
/ElvUI/Classic/Modules/Skins/QuestTimers.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local S = E:GetModule('Skins')
3 |
4 | local _G = _G
5 |
6 | function S:Blizzard_QuestTimer()
7 | if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.questTimers) then return end
8 |
9 | S:HandleFrame(_G.QuestTimerFrame, true)
10 | _G.QuestTimerHeader:Point('TOP', 1, 8)
11 | end
12 |
13 | S:AddCallbackForAddon('Blizzard_QuestTimer')
14 |
--------------------------------------------------------------------------------
/ElvUI/Classic/Modules/Skins/Taxi.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local S = E:GetModule('Skins')
3 |
4 | local _G = _G
5 |
6 | function S:TaxiFrame()
7 | if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.taxi) then return end
8 |
9 | local TaxiFrame = _G.TaxiFrame
10 | S:HandleFrame(TaxiFrame, true, nil, 11, -12, -32, 76)
11 | _G.TaxiPortrait:Kill() -- Blizz didnt name this TaxiFramePortrait
12 | _G.TaxiMap:PointXY(-11, -71)
13 | _G.TaxiRouteMap:PointXY(-11, -71)
14 | _G.TaxiMerchant:SetTextColor(1, 1, 1)
15 |
16 | S:HandleCloseButton(_G.TaxiCloseButton, TaxiFrame.backdrop)
17 | end
18 |
19 | S:AddCallback('TaxiFrame')
20 |
--------------------------------------------------------------------------------
/ElvUI/Classic/Modules/Skins/Tutorial.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local S = E:GetModule('Skins')
3 |
4 | local _G = _G
5 |
6 | function S:SkinTutorial()
7 | if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.tutorial) then return end
8 |
9 | S:HandleFrame(_G.TutorialFrame, false)
10 |
11 | for i = 1, _G.MAX_TUTORIAL_ALERTS do
12 | local button = _G['TutorialFrameAlertButton'..i]
13 | local icon = button:GetNormalTexture()
14 |
15 | button:Size(35, 45)
16 | button:SetTemplate(nil, true)
17 | button:StyleButton(nil, true)
18 |
19 | icon:SetInside()
20 | icon:SetTexCoord(0.09, 0.40, 0.11, 0.56)
21 | end
22 |
23 | S:HandleCheckBox(_G.TutorialFrameCheckButton)
24 |
25 | S:HandleButton(_G.TutorialFrameOkayButton)
26 | end
27 |
28 | S:AddCallback('SkinTutorial')
29 |
--------------------------------------------------------------------------------
/ElvUI/Core/Defaults/Load_Defaults.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/ElvUI/Core/Developer/Load_Developer.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/ElvUI/Core/Developer/Test.lua:
--------------------------------------------------------------------------------
1 | ------------------------------------------------------------------------
2 | -- Going to leave this as my bullshit lua file.
3 | -- So I can test stuff.
4 | ------------------------------------------------------------------------
5 |
6 |
--------------------------------------------------------------------------------
/ElvUI/Core/Filters/Load_Filters.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/ElvUI/Core/General/Load_General.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/ElvUI/Core/Layout/Load_Layout.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/ElvUI/Core/Load.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow0.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow0.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow1.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow1.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow10.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow10.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow11.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow11.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow12.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow12.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow13.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow13.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow14.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow14.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow15.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow15.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow16.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow16.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow17.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow17.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow18.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow18.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow19.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow19.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow2.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow2.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow20.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow20.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow21.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow21.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow22.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow22.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow23.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow23.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow24.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow24.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow25.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow25.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow26.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow26.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow27.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow27.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow28.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow28.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow29.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow29.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow3.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow3.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow30.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow30.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow31.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow31.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow32.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow32.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow33.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow33.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow34.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow34.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow35.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow35.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow36.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow36.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow37.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow37.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow38.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow38.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow39.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow39.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow4.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow4.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow40.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow40.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow41.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow41.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow42.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow42.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow43.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow43.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow44.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow44.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow45.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow45.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow46.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow46.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow47.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow47.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow48.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow48.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow49.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow49.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow5.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow5.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow50.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow50.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow51.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow51.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow52.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow52.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow53.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow53.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow54.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow54.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow55.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow55.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow56.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow56.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow57.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow57.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow58.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow58.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow59.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow59.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow6.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow6.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow60.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow60.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow61.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow61.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow62.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow62.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow63.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow63.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow64.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow64.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow65.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow65.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow66.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow66.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow67.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow67.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow68.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow68.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow69.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow69.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow7.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow7.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow70.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow70.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow71.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow71.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow72.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow72.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow8.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow8.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/Arrow9.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/Arrow9.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Arrows/ArrowRed.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Arrows/ArrowRed.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/ChatEmojis/Angry.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/ChatEmojis/Angry.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/ChatEmojis/Blush.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/ChatEmojis/Blush.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/ChatEmojis/BrokenHeart.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/ChatEmojis/BrokenHeart.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/ChatEmojis/CallMe.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/ChatEmojis/CallMe.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/ChatEmojis/Cry.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/ChatEmojis/Cry.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/ChatEmojis/Facepalm.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/ChatEmojis/Facepalm.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/ChatEmojis/Grin.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/ChatEmojis/Grin.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/ChatEmojis/Heart.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/ChatEmojis/Heart.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/ChatEmojis/HeartEyes.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/ChatEmojis/HeartEyes.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/ChatEmojis/Joy.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/ChatEmojis/Joy.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/ChatEmojis/Kappa.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/ChatEmojis/Kappa.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/ChatEmojis/Meaw.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/ChatEmojis/Meaw.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/ChatEmojis/MiddleFinger.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/ChatEmojis/MiddleFinger.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/ChatEmojis/Murloc.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/ChatEmojis/Murloc.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/ChatEmojis/OkHand.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/ChatEmojis/OkHand.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/ChatEmojis/OpenMouth.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/ChatEmojis/OpenMouth.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/ChatEmojis/Poop.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/ChatEmojis/Poop.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/ChatEmojis/Rage.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/ChatEmojis/Rage.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/ChatEmojis/SadKitty.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/ChatEmojis/SadKitty.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/ChatEmojis/Scream.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/ChatEmojis/Scream.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/ChatEmojis/ScreamCat.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/ChatEmojis/ScreamCat.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/ChatEmojis/SemiColon.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/ChatEmojis/SemiColon.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/ChatEmojis/SlightFrown.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/ChatEmojis/SlightFrown.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/ChatEmojis/SlightSmile.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/ChatEmojis/SlightSmile.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/ChatEmojis/Smile.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/ChatEmojis/Smile.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/ChatEmojis/Smirk.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/ChatEmojis/Smirk.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/ChatEmojis/Sob.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/ChatEmojis/Sob.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/ChatEmojis/StuckOutTongue.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/ChatEmojis/StuckOutTongue.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/ChatEmojis/StuckOutTongueClosedEyes.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/ChatEmojis/StuckOutTongueClosedEyes.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/ChatEmojis/Sunglasses.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/ChatEmojis/Sunglasses.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/ChatEmojis/Thinking.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/ChatEmojis/Thinking.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/ChatEmojis/ThumbsUp.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/ChatEmojis/ThumbsUp.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/ChatEmojis/Wink.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/ChatEmojis/Wink.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/ChatEmojis/ZZZ.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/ChatEmojis/ZZZ.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/ChatLogos/Bathrobe.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/ChatLogos/Bathrobe.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/ChatLogos/Beer.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/ChatLogos/Beer.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/ChatLogos/Clover.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/ChatLogos/Clover.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/ChatLogos/ElvBlue.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/ChatLogos/ElvBlue.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/ChatLogos/ElvGreen.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/ChatLogos/ElvGreen.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/ChatLogos/ElvOrange.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/ChatLogos/ElvOrange.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/ChatLogos/ElvPink.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/ChatLogos/ElvPink.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/ChatLogos/ElvPurple.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/ChatLogos/ElvPurple.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/ChatLogos/ElvRed.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/ChatLogos/ElvRed.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/ChatLogos/ElvSimpy.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/ChatLogos/ElvSimpy.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/ChatLogos/ElvYellow.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/ChatLogos/ElvYellow.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/ChatLogos/Gem.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/ChatLogos/Gem.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/ChatLogos/Hibiscus.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/ChatLogos/Hibiscus.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/ChatLogos/PalmTree.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/ChatLogos/PalmTree.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/ChatLogos/Rainbow.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/ChatLogos/Rainbow.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/ChatLogos/SuperBear.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/ChatLogos/SuperBear.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/ChatLogos/TyroneBiggums.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/ChatLogos/TyroneBiggums.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Fonts/ActionMan.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Fonts/ActionMan.ttf
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Fonts/ContinuumMedium.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Fonts/ContinuumMedium.ttf
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Fonts/DieDieDie.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Fonts/DieDieDie.ttf
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Fonts/Expressway.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Fonts/Expressway.ttf
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Fonts/Homespun.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Fonts/Homespun.ttf
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Fonts/Invisible.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Fonts/Invisible.ttf
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Fonts/PTSansNarrow.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Fonts/PTSansNarrow.ttf
--------------------------------------------------------------------------------
/ElvUI/Core/Media/MailIcons/Mail0.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/MailIcons/Mail0.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/MailIcons/Mail1.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/MailIcons/Mail1.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/MailIcons/Mail2.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/MailIcons/Mail2.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/MailIcons/Mail3.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/MailIcons/Mail3.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/MailIcons/Mail4.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/MailIcons/Mail4.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/MailIcons/Mail5.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/MailIcons/Mail5.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/MailIcons/Mail6.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/MailIcons/Mail6.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/MailIcons/Mail7.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/MailIcons/Mail7.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/RestIcons/Resting0.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/RestIcons/Resting0.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/RestIcons/Resting1.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/RestIcons/Resting1.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/RestIcons/Resting2.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/RestIcons/Resting2.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Sounds/AwwCrap.ogg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Sounds/AwwCrap.ogg
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Sounds/BbqAss.ogg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Sounds/BbqAss.ogg
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Sounds/DumbShit.ogg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Sounds/DumbShit.ogg
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Sounds/MamaWeekends.ogg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Sounds/MamaWeekends.ogg
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Sounds/RunFast.ogg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Sounds/RunFast.ogg
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Sounds/StopRunningSlimeBall.ogg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Sounds/StopRunningSlimeBall.ogg
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Sounds/Warning.ogg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Sounds/Warning.ogg
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Sounds/Whisper.ogg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Sounds/Whisper.ogg
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Sounds/YankieBangBang.ogg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Sounds/YankieBangBang.ogg
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Textures/Arrow.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Textures/Arrow.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Textures/ArrowRight.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Textures/ArrowRight.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Textures/ArrowUp.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Textures/ArrowUp.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Textures/ArrowUpGlow.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Textures/ArrowUpGlow.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Textures/Backpack.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Textures/Backpack.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Textures/BagNewItemGlow.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Textures/BagNewItemGlow.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Textures/BagQuestIcon.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Textures/BagQuestIcon.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Textures/BagUpgradeIcon.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Textures/BagUpgradeIcon.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Textures/Black8x8.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Textures/Black8x8.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Textures/BubbleTex.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Textures/BubbleTex.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Textures/ChestPlate.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Textures/ChestPlate.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Textures/Close.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Textures/Close.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Textures/Coins.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Textures/Coins.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Textures/Combat.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Textures/Combat.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Textures/Copy.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Textures/Copy.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Textures/Cross.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Textures/Cross.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Textures/DPS.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Textures/DPS.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Textures/ExitVehicle.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Textures/ExitVehicle.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Textures/FabricSilk.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Textures/FabricSilk.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Textures/GlowTex.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Textures/GlowTex.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Textures/GoldCoins.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Textures/GoldCoins.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Textures/GreenPotion.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Textures/GreenPotion.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Textures/Healer.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Textures/Healer.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Textures/Help.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Textures/Help.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Textures/Highlight.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Textures/Highlight.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Textures/Invisible.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Textures/Invisible.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Textures/LogoAddon.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Textures/LogoAddon.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Textures/LogoBottom.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Textures/LogoBottom.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Textures/LogoBottomSmall.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Textures/LogoBottomSmall.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Textures/LogoTop.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Textures/LogoTop.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Textures/LogoTopSmall.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Textures/LogoTopSmall.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Textures/Melli.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Textures/Melli.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Textures/MicroBar.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Textures/MicroBar.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Textures/Minimalist.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Textures/Minimalist.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Textures/Minus.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Textures/Minus.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Textures/MinusButton.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Textures/MinusButton.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Textures/NormTex.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Textures/NormTex.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Textures/NormTex2.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Textures/NormTex2.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Textures/NormTex3.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Textures/NormTex3.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Textures/PVPAlliance.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Textures/PVPAlliance.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Textures/PVPHorde.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Textures/PVPHorde.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Textures/Pause.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Textures/Pause.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Textures/PetBroom.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Textures/PetBroom.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Textures/PhaseBorder.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Textures/PhaseBorder.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Textures/PhaseCenter.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Textures/PhaseCenter.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Textures/Planks.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Textures/Planks.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Textures/Play.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Textures/Play.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Textures/Plus.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Textures/Plus.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Textures/PlusButton.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Textures/PlusButton.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Textures/Reset.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Textures/Reset.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Textures/Resize.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Textures/Resize.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Textures/Resize2.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Textures/Resize2.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Textures/RoleIcons.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Textures/RoleIcons.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Textures/Scroll.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Textures/Scroll.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Textures/SkullIcon.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Textures/SkullIcon.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Textures/Smooth.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Textures/Smooth.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Textures/Spark.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Textures/Spark.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Textures/Tank.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Textures/Tank.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Textures/TargetReticle.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Textures/TargetReticle.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Textures/Testing.tga:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Textures/TukuiLogo.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Textures/TukuiLogo.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Media/Textures/White8x8.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tukui-org/ElvUI/a62a95a6f6d7fd20e57e23397b9fb25cfd358713/ElvUI/Core/Media/Textures/White8x8.tga
--------------------------------------------------------------------------------
/ElvUI/Core/Modules/ActionBars/Load_ActionBars.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/ElvUI/Core/Modules/Bags/Load_Bags.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/ElvUI/Core/Modules/Blizzard/CaptureBar.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local BL = E:GetModule('Blizzard')
3 |
4 | local _G = _G
5 | local hooksecurefunc = hooksecurefunc
6 |
7 | function BL:CaptureBarUpdate()
8 | local numFrames = _G.NUM_EXTENDED_UI_FRAMES
9 | if not numFrames then return end
10 |
11 | for i=1, numFrames do
12 | local captureBar = _G['WorldStateCaptureBar' .. i]
13 | if captureBar and captureBar:IsVisible() then
14 | captureBar:ClearAllPoints()
15 |
16 | if i == 1 then
17 | captureBar:Point('TOP', E.UIParent, 'TOP', 0, -150)
18 | else
19 | captureBar:Point('TOPLEFT', _G['WorldStateCaptureBar' .. i - 1], 'TOPLEFT', 0, -45)
20 | end
21 | end
22 | end
23 | end
24 |
25 | function BL:PositionCaptureBar()
26 | hooksecurefunc('UIParent_ManageFramePositions', BL.CaptureBarUpdate)
27 | end
28 |
--------------------------------------------------------------------------------
/ElvUI/Core/Modules/Blizzard/Load_Blizzard.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/ElvUI/Core/Modules/Blizzard/TalkingHeadFrame.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local BL = E:GetModule('Blizzard')
3 |
4 | local _G = _G
5 | local ipairs, tremove = ipairs, tremove
6 |
7 | function BL:ScaleTalkingHeadFrame()
8 | local frame = _G.TalkingHeadFrame
9 | frame:SetScale(E.db.general.talkingHeadFrameScale or 1)
10 |
11 | -- Reset Model Camera
12 | local model = frame.MainFrame.Model
13 | if model.uiCameraID then
14 | model:RefreshCamera()
15 |
16 | _G.Model_ApplyUICamera(model, model.uiCameraID)
17 | end
18 |
19 | -- Use this to prevent the frame from auto closing, so you have time to test things.
20 | -- frame:UnregisterEvent('SOUNDKIT_FINISHED')
21 | -- frame:UnregisterEvent('TALKINGHEAD_CLOSE')
22 | -- frame:UnregisterEvent('LOADING_SCREEN_ENABLED')
23 | end
24 |
25 | function BL:HandleTalkingHead()
26 | -- Prevent WoW from moving the frame around
27 | if not E.Retail then
28 | _G.UIPARENT_MANAGED_FRAME_POSITIONS.TalkingHeadFrame = nil
29 | end
30 |
31 | -- Iterate through all alert subsystems in order to find the one created for TalkingHeadFrame, and then remove it.
32 | -- We do this to prevent alerts from anchoring to this frame when it is shown.
33 | for index, alertFrameSubSystem in ipairs(_G.AlertFrame.alertFrameSubSystems) do
34 | if alertFrameSubSystem.anchorFrame and alertFrameSubSystem.anchorFrame == _G.TalkingHeadFrame then
35 | tremove(_G.AlertFrame.alertFrameSubSystems, index)
36 | end
37 | end
38 |
39 | -- Now scale it
40 | BL:ScaleTalkingHeadFrame()
41 | end
42 |
--------------------------------------------------------------------------------
/ElvUI/Core/Modules/Blizzard/TimerTracker.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local BL = E:GetModule('Blizzard')
3 |
4 | local _G = _G
5 | local next = next
6 | local unpack, pairs = unpack, pairs
7 | local hooksecurefunc = hooksecurefunc
8 |
9 | local CreateFrame = CreateFrame
10 |
11 | local function SkinIt(bar)
12 | for _, region in next, { bar:GetRegions() } do
13 | if region:IsObjectType('Texture') then
14 | region:SetTexture()
15 | elseif region:IsObjectType('FontString') then
16 | region:FontTemplate(nil, 12, 'OUTLINE')
17 | end
18 | end
19 |
20 | bar:SetStatusBarTexture(E.media.normTex)
21 |
22 | if E.PixelMode then
23 | bar:SetStatusBarColor(.31, .31, .31)
24 | else
25 | bar:SetStatusBarColor(unpack(E.media.bordercolor))
26 | end
27 |
28 | if not bar.backdrop then
29 | bar.backdrop = CreateFrame('Frame', nil, bar)
30 | bar.backdrop:SetFrameLevel(0)
31 | bar.backdrop:SetTemplate('Transparent')
32 | bar.backdrop:SetOutside()
33 | E:RegisterStatusBar(bar)
34 | end
35 | end
36 |
37 | function BL:START_TIMER()
38 | for _, b in pairs(_G.TimerTracker.timerList) do
39 | if b.bar and not b.bar.skinned then
40 | SkinIt(b.bar)
41 | b.bar.skinned = true
42 | end
43 | end
44 | end
45 |
46 | function BL:SkinBlizzTimers()
47 | if E.Cata then
48 | hooksecurefunc('TimerTracker_StartTimerOfType', BL.START_TIMER)
49 | else
50 | BL:RegisterEvent('START_TIMER')
51 | end
52 |
53 | BL:START_TIMER()
54 | end
55 |
--------------------------------------------------------------------------------
/ElvUI/Core/Modules/Chat/Load_Chat.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/ElvUI/Core/Modules/DataBars/Load_DataBars.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/ElvUI/Core/Modules/DataTexts/Agility.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local DT = E:GetModule('DataTexts')
3 |
4 | local strjoin = strjoin
5 | local UnitStat = UnitStat
6 |
7 | local ITEM_MOD_AGILITY_SHORT = ITEM_MOD_AGILITY_SHORT
8 | local LE_UNIT_STAT_AGILITY = LE_UNIT_STAT_AGILITY
9 | local STAT_CATEGORY_ATTRIBUTES = STAT_CATEGORY_ATTRIBUTES
10 |
11 | local displayString, db = ''
12 |
13 | local function OnEvent(self)
14 | if db.NoLabel then
15 | self.text:SetFormattedText(displayString, UnitStat('player', LE_UNIT_STAT_AGILITY))
16 | else
17 | self.text:SetFormattedText(displayString, db.Label ~= '' and db.Label or ITEM_MOD_AGILITY_SHORT..': ', UnitStat('player', LE_UNIT_STAT_AGILITY))
18 | end
19 | end
20 |
21 | local function ApplySettings(self, hex)
22 | if not db then
23 | db = E.global.datatexts.settings[self.name]
24 | end
25 |
26 | displayString = strjoin('', db.NoLabel and '' or '%s', hex, '%d|r')
27 | end
28 |
29 | DT:RegisterDatatext('Agility', STAT_CATEGORY_ATTRIBUTES, { 'UNIT_STATS', 'UNIT_AURA' }, OnEvent, nil, nil, nil, nil, ITEM_MOD_AGILITY_SHORT, nil, ApplySettings)
30 |
--------------------------------------------------------------------------------
/ElvUI/Core/Modules/DataTexts/ArmorPenetration.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local DT = E:GetModule("DataTexts")
3 |
4 | local strjoin = strjoin
5 | local format = format
6 |
7 | local CR_ARMOR_PENETRATION = CR_ARMOR_PENETRATION
8 | local STAT_CATEGORY_ENHANCEMENTS = STAT_CATEGORY_ENHANCEMENTS
9 | local ITEM_MOD_ARMOR_PENETRATION_RATING_SHORT = ITEM_MOD_ARMOR_PENETRATION_RATING_SHORT
10 | local ITEM_MOD_ARMOR_PENETRATION_RATING = ITEM_MOD_ARMOR_PENETRATION_RATING
11 |
12 | local GetCombatRating = GetCombatRating
13 | local GetCombatRatingBonus = GetCombatRatingBonus
14 | local GetArmorPenetration = GetArmorPenetration
15 |
16 | local displayString = ''
17 | local APRating, APBonusRating, APPercent = 0, 0, 0
18 |
19 | local function OnEvent(self)
20 | APRating = GetCombatRating(CR_ARMOR_PENETRATION)
21 | APBonusRating = GetCombatRatingBonus(CR_ARMOR_PENETRATION)
22 | APPercent = GetArmorPenetration()
23 |
24 | self.text:SetFormattedText(displayString, 'Armor Penetration', APRating + APBonusRating)
25 | end
26 |
27 | local function OnEnter()
28 | DT.tooltip:ClearLines()
29 |
30 | DT.tooltip:AddLine(format(ITEM_MOD_ARMOR_PENETRATION_RATING_SHORT, format('%d', APRating)))
31 | DT.tooltip:AddLine(format(ITEM_MOD_ARMOR_PENETRATION_RATING , format('%.2f%%', APPercent)))
32 |
33 | DT.tooltip:Show()
34 | end
35 |
36 | local function ApplySettings(_, hex)
37 | displayString = strjoin('', '%s: ', hex, '%s|r')
38 | end
39 |
40 | DT:RegisterDatatext('Armor Penetration', STAT_CATEGORY_ENHANCEMENTS, { 'COMBAT_RATING_UPDATE' }, OnEvent, nil, nil, OnEnter, nil, nil, nil, ApplySettings)
41 |
--------------------------------------------------------------------------------
/ElvUI/Core/Modules/DataTexts/Block.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local DT = E:GetModule('DataTexts')
3 |
4 | local strjoin = strjoin
5 | local GetBlockChance = GetBlockChance
6 |
7 | local BLOCK = BLOCK
8 | local STAT_CATEGORY_DEFENSE = STAT_CATEGORY_DEFENSE
9 |
10 | local displayString, db = ''
11 |
12 | local function OnEvent(self)
13 | self.text:SetFormattedText(displayString, BLOCK, GetBlockChance())
14 | end
15 |
16 | local function ApplySettings(self, hex)
17 | if not db then
18 | db = E.global.datatexts.settings[self.name]
19 | end
20 |
21 | displayString = strjoin('', '%s: ', hex, '%.'..db.decimalLength..'f%%|r')
22 | end
23 |
24 | DT:RegisterDatatext('Block', STAT_CATEGORY_DEFENSE, { 'UNIT_STATS', 'UNIT_AURA', 'SKILL_LINES_CHANGED' }, OnEvent, nil, nil, nil, nil, BLOCK, nil, ApplySettings)
25 |
--------------------------------------------------------------------------------
/ElvUI/Core/Modules/DataTexts/CombatIndicator.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local DT = E:GetModule('DataTexts')
3 |
4 | local inCombat, outOfCombat, db = '', ''
5 |
6 | local function OnEvent(self, event)
7 | if event == 'PLAYER_REGEN_ENABLED' or event == 'ELVUI_FORCE_UPDATE' then
8 | self.text:SetFormattedText(outOfCombat)
9 | elseif event == 'PLAYER_REGEN_DISABLED' then
10 | self.text:SetFormattedText(inCombat)
11 | end
12 | end
13 |
14 | local function ApplySettings(self)
15 | if not db then
16 | db = E.global.datatexts.settings[self.name]
17 | end
18 |
19 | -- Setup string
20 | inCombat = db.InCombat ~= '' and db.InCombat or L["In Combat"]
21 | outOfCombat = db.OutOfCombat ~= '' and db.OutOfCombat or L["Out of Combat"]
22 |
23 | -- Color it
24 | local labelColor = db.InCombatColor
25 | inCombat = E:RGBToHex(labelColor.r, labelColor.g, labelColor.b, nil, inCombat..'|r')
26 |
27 | labelColor = db.OutOfCombatColor
28 | outOfCombat = E:RGBToHex(labelColor.r, labelColor.g, labelColor.b, nil, outOfCombat..'|r')
29 | end
30 |
31 | DT:RegisterDatatext('CombatIndicator', nil, {'PLAYER_REGEN_DISABLED', 'PLAYER_REGEN_ENABLED'}, OnEvent, nil, nil, nil, nil, L["Combat Indicator"], nil, ApplySettings)
32 |
--------------------------------------------------------------------------------
/ElvUI/Core/Modules/DataTexts/Coordinates.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local DT = E:GetModule('DataTexts')
3 |
4 | local _G = _G
5 | local strjoin = strjoin
6 |
7 | local NOT_APPLICABLE = NOT_APPLICABLE
8 |
9 | local displayString = ''
10 | local inRestrictedArea = false
11 | local mapInfo = E.MapInfo
12 |
13 | local function Update(self, elapsed)
14 | if inRestrictedArea or not mapInfo.coordsWatching then return end
15 |
16 | self.timeSinceUpdate = (self.timeSinceUpdate or 0) + elapsed
17 |
18 | if self.timeSinceUpdate > 0.1 then
19 | self.text:SetFormattedText(displayString, mapInfo.xText or 0, mapInfo.yText or 0)
20 | self.timeSinceUpdate = 0
21 | end
22 | end
23 |
24 | local function OnEvent(self)
25 | if mapInfo.x and mapInfo.y then
26 | inRestrictedArea = false
27 | self.text:SetFormattedText(displayString, mapInfo.xText or 0, mapInfo.yText or 0)
28 | else
29 | inRestrictedArea = true
30 | self.text:SetText(NOT_APPLICABLE)
31 | end
32 | end
33 |
34 | local function Click()
35 | if not E:AlertCombat() then
36 | _G.ToggleFrame(_G.WorldMapFrame)
37 | end
38 | end
39 |
40 | local function ApplySettings(_, hex)
41 | displayString = strjoin('', hex, '%.2f|r', ' | ', hex, '%.2f|r')
42 | end
43 |
44 | DT:RegisterDatatext('Coords', nil, {'LOADING_SCREEN_DISABLED', 'ZONE_CHANGED', 'ZONE_CHANGED_INDOORS', 'ZONE_CHANGED_NEW_AREA'}, OnEvent, Update, Click, nil, nil, L["Coords"], mapInfo, ApplySettings)
45 |
--------------------------------------------------------------------------------
/ElvUI/Core/Modules/DataTexts/Date.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local DT = E:GetModule('DataTexts')
3 |
4 | local _G = _G
5 | local date = date
6 | local FormatShortDate = FormatShortDate
7 |
8 | local displayString
9 |
10 | local function OnClick()
11 | if not E:AlertCombat() then
12 | _G.GameTimeFrame:Click()
13 | end
14 | end
15 |
16 | local function OnEvent(self)
17 | local dateTable = date('*t')
18 |
19 | self.text:SetText(FormatShortDate(dateTable.day, dateTable.month, dateTable.year):gsub('([/.])', displayString))
20 | end
21 |
22 | local function ApplySettings(_, hex)
23 | displayString = hex..'%1|r'
24 | end
25 |
26 | DT:RegisterDatatext('Date', nil, {'UPDATE_INSTANCE_INFO'}, OnEvent, nil, not E.ClassicHC and OnClick or nil, nil, nil, nil, nil, ApplySettings)
27 |
--------------------------------------------------------------------------------
/ElvUI/Core/Modules/DataTexts/Defense.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local DT = E:GetModule('DataTexts')
3 |
4 | local strjoin = strjoin
5 | local UnitDefense = UnitDefense
6 |
7 | local DEFENSE = DEFENSE
8 | local STAT_CATEGORY_DEFENSE = STAT_CATEGORY_DEFENSE
9 |
10 | local displayString = ''
11 |
12 | local function OnEvent(self)
13 | local baseDefense, armorDefense = UnitDefense('player')
14 | self.text:SetFormattedText(displayString, DEFENSE, (baseDefense or 0) + (armorDefense or 0))
15 | end
16 |
17 | local function ApplySettings(_, hex)
18 | displayString = strjoin('', '%s: ', hex, '%.f|r')
19 | end
20 |
21 | DT:RegisterDatatext('Defense', STAT_CATEGORY_DEFENSE, { 'UNIT_STATS', 'UNIT_AURA', 'SKILL_LINES_CHANGED' }, OnEvent, nil, nil, nil, nil, DEFENSE, nil, ApplySettings)
22 |
--------------------------------------------------------------------------------
/ElvUI/Core/Modules/DataTexts/Dodge.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local DT = E:GetModule('DataTexts')
3 |
4 | local strjoin = strjoin
5 | local GetDodgeChance = GetDodgeChance
6 |
7 | local DODGE = DODGE
8 | local STAT_CATEGORY_DEFENSE = STAT_CATEGORY_DEFENSE
9 |
10 | local displayString, db = ''
11 |
12 | local function OnEvent(self)
13 | self.text:SetFormattedText(displayString, DODGE, GetDodgeChance())
14 | end
15 |
16 | local function ApplySettings(self, hex)
17 | if not db then
18 | db = E.global.datatexts.settings[self.name]
19 | end
20 |
21 | displayString = strjoin('', '%s: ', hex, '%.'..db.decimalLength..'f%%|r')
22 | end
23 |
24 | DT:RegisterDatatext('Dodge', STAT_CATEGORY_DEFENSE, { 'UNIT_STATS', 'UNIT_AURA', 'SKILL_LINES_CHANGED' }, OnEvent, nil, nil, nil, nil, DODGE, nil, ApplySettings)
25 |
--------------------------------------------------------------------------------
/ElvUI/Core/Modules/DataTexts/EnergyRegen.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local DT = E:GetModule('DataTexts')
3 |
4 | local strjoin = strjoin
5 | local GetPowerRegen = GetPowerRegen
6 |
7 | local STAT_ENERGY_REGEN = STAT_ENERGY_REGEN
8 | local STAT_CATEGORY_ENHANCEMENTS = STAT_CATEGORY_ENHANCEMENTS
9 |
10 | local displayString = ''
11 |
12 | local function OnEvent(self)
13 | self.text:SetFormattedText(displayString, STAT_ENERGY_REGEN, GetPowerRegen())
14 | end
15 |
16 | local function ApplySettings(_, hex)
17 | displayString = strjoin('', '%s: ', hex, '%.f|r')
18 | end
19 |
20 | DT:RegisterDatatext('EnergyRegen', STAT_CATEGORY_ENHANCEMENTS, { 'UNIT_STATS', 'UNIT_AURA' }, OnEvent, nil, nil, nil, nil, STAT_ENERGY_REGEN, nil, ApplySettings)
21 |
--------------------------------------------------------------------------------
/ElvUI/Core/Modules/DataTexts/HealPower.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local DT = E:GetModule('DataTexts')
3 |
4 | local strjoin = strjoin
5 | local GetSpellBonusHealing = GetSpellBonusHealing
6 | local STAT_CATEGORY_ENHANCEMENTS = STAT_CATEGORY_ENHANCEMENTS
7 |
8 | local displayString, db = ''
9 |
10 | local function OnEvent(self)
11 | if db.NoLabel then
12 | self.text:SetFormattedText(displayString, GetSpellBonusHealing())
13 | else
14 | self.text:SetFormattedText(displayString, db.Label ~= '' and db.Label or L["HP"]..': ', GetSpellBonusHealing())
15 | end
16 | end
17 |
18 | local function ApplySettings(self, hex)
19 | if not db then
20 | db = E.global.datatexts.settings[self.name]
21 | end
22 |
23 | displayString = strjoin('', db.NoLabel and '' or '%s', hex, '%d|r')
24 | end
25 |
26 | DT:RegisterDatatext('HealPower', STAT_CATEGORY_ENHANCEMENTS, { 'UNIT_STATS', 'UNIT_AURA' }, OnEvent, nil, nil, nil, nil, L["Heal Power"], nil, ApplySettings)
27 |
--------------------------------------------------------------------------------
/ElvUI/Core/Modules/DataTexts/Intellect.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local DT = E:GetModule('DataTexts')
3 |
4 | local strjoin = strjoin
5 | local UnitStat = UnitStat
6 |
7 | local ITEM_MOD_INTELLECT_SHORT = ITEM_MOD_INTELLECT_SHORT
8 | local LE_UNIT_STAT_INTELLECT = LE_UNIT_STAT_INTELLECT
9 | local STAT_CATEGORY_ATTRIBUTES = STAT_CATEGORY_ATTRIBUTES
10 |
11 | local displayString, db = ''
12 |
13 | local function OnEvent(self)
14 | local intellect = UnitStat('player', LE_UNIT_STAT_INTELLECT)
15 | if db.NoLabel then
16 | self.text:SetFormattedText(displayString, intellect)
17 | else
18 | self.text:SetFormattedText(displayString, db.Label ~= '' and db.Label or ITEM_MOD_INTELLECT_SHORT..': ', intellect)
19 | end
20 | end
21 |
22 | local function ApplySettings(self, hex)
23 | if not db then
24 | db = E.global.datatexts.settings[self.name]
25 | end
26 |
27 | displayString = strjoin('', db.NoLabel and '' or '%s', hex, '%.f|r')
28 | end
29 |
30 | DT:RegisterDatatext('Intellect', STAT_CATEGORY_ATTRIBUTES, { 'UNIT_STATS', 'UNIT_AURA' }, OnEvent, nil, nil, nil, nil, ITEM_MOD_INTELLECT_SHORT, nil, ApplySettings)
31 |
--------------------------------------------------------------------------------
/ElvUI/Core/Modules/DataTexts/Load_DataTexts.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/ElvUI/Core/Modules/DataTexts/Mail.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local DT = E:GetModule('DataTexts')
3 |
4 | local next = next
5 | local pairs = pairs
6 | local strjoin = strjoin
7 | local HasNewMail = HasNewMail
8 | local GetLatestThreeSenders = GetLatestThreeSenders
9 | local HAVE_MAIL_FROM = HAVE_MAIL_FROM
10 | local MAIL_LABEL = MAIL_LABEL
11 |
12 | local displayString = ''
13 |
14 | local function OnEvent(self)
15 | self.text:SetFormattedText(displayString, HasNewMail() and 'New Mail' or 'No Mail')
16 | end
17 |
18 | local function OnEnter()
19 | DT.tooltip:ClearLines()
20 |
21 | local senders = { GetLatestThreeSenders() }
22 | if not next(senders) then return end
23 |
24 | DT.tooltip:AddLine(HasNewMail() and HAVE_MAIL_FROM or MAIL_LABEL, 1, 1, 1)
25 | DT.tooltip:AddLine(' ')
26 |
27 | for _, sender in pairs(senders) do
28 | DT.tooltip:AddLine(sender)
29 | end
30 |
31 | DT.tooltip:Show()
32 | end
33 |
34 | local function ApplySettings(_, hex)
35 | displayString = strjoin('', hex, '%s|r')
36 | end
37 |
38 | DT:RegisterDatatext('Mail', nil, {'MAIL_INBOX_UPDATE', 'UPDATE_PENDING_MAIL', 'MAIL_CLOSED', 'MAIL_SHOW'}, OnEvent, nil, nil, OnEnter, nil, MAIL_LABEL, nil, ApplySettings)
39 |
--------------------------------------------------------------------------------
/ElvUI/Core/Modules/DataTexts/ManaRegen.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local DT = E:GetModule('DataTexts')
3 |
4 | local strjoin = strjoin
5 |
6 | local GetManaRegen = GetManaRegen
7 | local InCombatLockdown = InCombatLockdown
8 |
9 | local MANA_REGEN = MANA_REGEN
10 | local STAT_CATEGORY_ENHANCEMENTS = STAT_CATEGORY_ENHANCEMENTS
11 |
12 | local displayString, db = ''
13 |
14 | local function OnEvent(self)
15 | local baseMR, castingMR = GetManaRegen()
16 | local manaRegen = (InCombatLockdown() and castingMR or baseMR) * 5
17 |
18 | if db.NoLabel then
19 | self.text:SetFormattedText(displayString, manaRegen)
20 | else
21 | self.text:SetFormattedText(displayString, db.Label ~= '' and db.Label or MANA_REGEN..': ', manaRegen)
22 | end
23 | end
24 |
25 | local function ApplySettings(self, hex)
26 | if not db then
27 | db = E.global.datatexts.settings[self.name]
28 | end
29 |
30 | displayString = strjoin('', db.NoLabel and '' or '%s', hex, '%.'..db.decimalLength..'f|r')
31 | end
32 |
33 | DT:RegisterDatatext('Mana Regen', STAT_CATEGORY_ENHANCEMENTS, {'UNIT_STATS', 'PLAYER_REGEN_DISABLED', 'PLAYER_REGEN_ENABLED'}, OnEvent, nil, nil, nil, nil, MANA_REGEN, nil, ApplySettings)
34 |
--------------------------------------------------------------------------------
/ElvUI/Core/Modules/DataTexts/MicroBar.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local DT = E:GetModule('DataTexts')
3 | local M = E:GetModule('Minimap')
4 |
5 | local _G = _G
6 | local strjoin = strjoin
7 | local ToggleFrame = ToggleFrame
8 | local displayString = ''
9 |
10 | local function OnEvent(self)
11 | self.text:SetFormattedText(displayString, L["Micro Bar"])
12 | end
13 |
14 | local function OnClick(self, button)
15 | if button == 'LeftButton' then
16 | ToggleFrame(_G.GameMenuFrame)
17 | else
18 | E:SetEasyMenuAnchor(E.EasyMenu, self)
19 | E:ComplicatedMenu(M.RightClickMenuList, E.EasyMenu, nil, nil, nil, 'MENU')
20 | end
21 | end
22 |
23 | local function ApplySettings(_, hex)
24 | displayString = strjoin('', hex, '%s|r')
25 | end
26 |
27 | DT:RegisterDatatext("Micro Bar", nil, nil, OnEvent, nil, OnClick, nil, nil, L["Micro Bar"], nil, ApplySettings)
28 |
--------------------------------------------------------------------------------
/ElvUI/Core/Modules/DataTexts/Parry.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local DT = E:GetModule('DataTexts')
3 |
4 | local strjoin = strjoin
5 | local GetParryChance = GetParryChance
6 |
7 | local PARRY = PARRY
8 | local STAT_CATEGORY_DEFENSE = STAT_CATEGORY_DEFENSE
9 |
10 | local displayString, db = ''
11 |
12 | local function OnEvent(self)
13 | self.text:SetFormattedText(displayString, PARRY, GetParryChance())
14 | end
15 |
16 | local function ApplySettings(self, hex)
17 | if not db then
18 | db = E.global.datatexts.settings[self.name]
19 | end
20 |
21 | displayString = strjoin('', '%s: ', hex, '%.'..db.decimalLength..'f%%|r')
22 | end
23 |
24 | DT:RegisterDatatext('Parry', STAT_CATEGORY_DEFENSE, { 'UNIT_STATS', 'UNIT_AURA', 'SKILL_LINES_CHANGED' }, OnEvent, nil, nil, nil, nil, PARRY, nil, ApplySettings)
25 |
--------------------------------------------------------------------------------
/ElvUI/Core/Modules/DataTexts/PrimaryStat.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local DT = E:GetModule('DataTexts')
3 |
4 | local _G = _G
5 | local strjoin = strjoin
6 |
7 | local UnitStat = UnitStat
8 | local GetSpecialization = GetSpecialization
9 |
10 | local STAT_CATEGORY_ATTRIBUTES = STAT_CATEGORY_ATTRIBUTES
11 | local PRIMARY_STAT = gsub(SPEC_FRAME_PRIMARY_STAT, '[::%s]-%%s$', '')
12 | local NOT_APPLICABLE = NOT_APPLICABLE
13 |
14 | local displayString = ''
15 |
16 | local function OnEvent(self)
17 | local spec = E.Retail and GetSpecialization()
18 | local statID = spec and DT.SPECIALIZATION_CACHE[spec] and DT.SPECIALIZATION_CACHE[spec].statID
19 |
20 | local name = statID and _G['SPELL_STAT'..statID..'_NAME']
21 | if name then
22 | self.text:SetFormattedText(displayString, name..': ', UnitStat('player', statID))
23 | else
24 | self.text:SetText(NOT_APPLICABLE)
25 | end
26 | end
27 |
28 | local function ApplySettings(_, hex)
29 | displayString = strjoin('', '%s', hex, '%.f|r')
30 | end
31 |
32 | DT:RegisterDatatext('Primary Stat', STAT_CATEGORY_ATTRIBUTES, { 'UNIT_STATS', 'UNIT_AURA' }, OnEvent, nil, nil, nil, nil, PRIMARY_STAT, nil, ApplySettings)
33 |
--------------------------------------------------------------------------------
/ElvUI/Core/Modules/DataTexts/SpellCrit.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local DT = E:GetModule('DataTexts')
3 |
4 | local _G = _G
5 | local min = min
6 | local strjoin = strjoin
7 | local GetSpellCritChance = GetSpellCritChance
8 |
9 | local STAT_CATEGORY_ENHANCEMENTS = STAT_CATEGORY_ENHANCEMENTS
10 | local MAX_SPELL_SCHOOLS = MAX_SPELL_SCHOOLS or 7
11 | local CRIT_ABBR = CRIT_ABBR
12 |
13 | local displayString, db = ''
14 |
15 | local function OnEvent(self)
16 | local minCrit
17 |
18 | if db.school == 0 then
19 | minCrit = GetSpellCritChance(2) or 0
20 |
21 | for i = 3, MAX_SPELL_SCHOOLS do
22 | minCrit = min(minCrit, GetSpellCritChance(i) or 0)
23 | end
24 | else
25 | minCrit = GetSpellCritChance(db.school)
26 | end
27 |
28 | self.text:SetFormattedText(displayString, CRIT_ABBR, minCrit or 0)
29 | end
30 |
31 | local icon = [[Interface\PaperDollInfoFrame\SpellSchoolIcon]]
32 | local function OnEnter()
33 | DT.tooltip:ClearLines()
34 |
35 | for i = 2, MAX_SPELL_SCHOOLS do
36 | local crit = GetSpellCritChance(i) or 0
37 | DT.tooltip:AddDoubleLine(_G['DAMAGE_SCHOOL'..i], crit)
38 | DT.tooltip:AddTexture(icon..i)
39 | end
40 |
41 | DT.tooltip:Show()
42 | end
43 |
44 | local function ApplySettings(self, hex)
45 | if not db then
46 | db = E.global.datatexts.settings[self.name]
47 | end
48 |
49 | displayString = strjoin('', '%s: ', hex, '%.2f%%|r')
50 | end
51 |
52 | DT:RegisterDatatext('Spell Crit Chance', STAT_CATEGORY_ENHANCEMENTS, { 'UNIT_STATS', 'UNIT_AURA', 'PLAYER_DAMAGE_DONE_MODS' }, OnEvent, nil, nil, OnEnter, nil, nil, nil, ApplySettings)
53 |
--------------------------------------------------------------------------------
/ElvUI/Core/Modules/DataTexts/SpellHaste.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local DT = E:GetModule('DataTexts')
3 |
4 | local strjoin = strjoin
5 |
6 | local UnitSpellHaste = UnitSpellHaste
7 | local GetCombatRatingBonus = GetCombatRatingBonus
8 | local STAT_CATEGORY_ENHANCEMENTS = STAT_CATEGORY_ENHANCEMENTS
9 | local CR_HASTE_SPELL = CR_HASTE_SPELL
10 |
11 | local displayString = ''
12 |
13 | local function OnEvent(self)
14 | self.text:SetFormattedText(displayString, E.Cata and UnitSpellHaste('player') or GetCombatRatingBonus(CR_HASTE_SPELL) or 0)
15 | end
16 |
17 | local function ApplySettings(_, hex)
18 | displayString = strjoin('', L["Spell Haste"], ': ', hex, '%.2f%%|r')
19 | end
20 |
21 | DT:RegisterDatatext('Spell Haste', STAT_CATEGORY_ENHANCEMENTS, { 'UNIT_STATS', 'UNIT_AURA' }, OnEvent, nil, nil, nil, nil, L["Spell Haste"], nil, ApplySettings)
22 |
--------------------------------------------------------------------------------
/ElvUI/Core/Modules/DataTexts/SpellHit.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local DT = E:GetModule('DataTexts')
3 |
4 | local strjoin = strjoin
5 |
6 | local GetSpellHitModifier = GetSpellHitModifier
7 | local GetCombatRatingBonus = GetCombatRatingBonus
8 | local STAT_CATEGORY_ENHANCEMENTS = STAT_CATEGORY_ENHANCEMENTS
9 | local CR_HIT_SPELL = CR_HIT_SPELL
10 |
11 | local displayString, db = ''
12 |
13 | local function OnEvent(self)
14 | local spellHit = E.Classic and GetSpellHitModifier() or GetCombatRatingBonus(CR_HIT_SPELL) or 0
15 |
16 | if db.NoLabel then
17 | self.text:SetFormattedText(displayString, spellHit)
18 | else
19 | self.text:SetFormattedText(displayString, db.Label ~= '' and db.Label or L["Spell Hit"]..': ', spellHit)
20 | end
21 | end
22 |
23 | local function ApplySettings(self, hex)
24 | if not db then
25 | db = E.global.datatexts.settings[self.name]
26 | end
27 |
28 | displayString = strjoin('', db.NoLabel and '' or '%s', hex, '%.'..db.decimalLength..'f%%|r')
29 | end
30 |
31 | DT:RegisterDatatext('Spell Hit', STAT_CATEGORY_ENHANCEMENTS, { 'UNIT_STATS', 'UNIT_AURA' }, OnEvent, nil, nil, nil, nil, L["Spell Hit"], nil, ApplySettings)
32 |
--------------------------------------------------------------------------------
/ElvUI/Core/Modules/DataTexts/SpellPower.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local DT = E:GetModule('DataTexts')
3 |
4 | local _G = _G
5 | local min = min
6 | local strjoin = strjoin
7 |
8 | local GetSpellBonusDamage = GetSpellBonusDamage
9 | local STAT_CATEGORY_ENHANCEMENTS = STAT_CATEGORY_ENHANCEMENTS
10 | local MAX_SPELL_SCHOOLS = MAX_SPELL_SCHOOLS or 7
11 | local displayString, db = ''
12 |
13 | local function OnEvent(self)
14 | local minSpellPower
15 |
16 | if db.school == 0 then
17 | minSpellPower = GetSpellBonusDamage(2) or 0
18 |
19 | for i = 3, MAX_SPELL_SCHOOLS do
20 | minSpellPower = min(minSpellPower, GetSpellBonusDamage(i) or 0)
21 | end
22 | else
23 | minSpellPower = GetSpellBonusDamage(db.school)
24 | end
25 |
26 | self.text:SetFormattedText(displayString, L["SP"], minSpellPower or 0)
27 | end
28 |
29 | local icon = [[Interface\PaperDollInfoFrame\SpellSchoolIcon]]
30 | local function OnEnter()
31 | DT.tooltip:ClearLines()
32 |
33 | for i = 2, MAX_SPELL_SCHOOLS do
34 | local value = GetSpellBonusDamage(i) or 0
35 | DT.tooltip:AddDoubleLine(_G['DAMAGE_SCHOOL'..i], value)
36 | DT.tooltip:AddTexture(icon..i)
37 | end
38 |
39 | DT.tooltip:Show()
40 | end
41 |
42 | local function ApplySettings(self, hex)
43 | if not db then
44 | db = E.global.datatexts.settings[self.name]
45 | end
46 |
47 | displayString = strjoin('', '%s: ', hex, '%d|r')
48 | end
49 |
50 | DT:RegisterDatatext('SpellPower', STAT_CATEGORY_ENHANCEMENTS, { 'UNIT_STATS', 'UNIT_AURA' }, OnEvent, nil, nil, OnEnter, nil, L["Spell Power"], nil, ApplySettings)
51 |
--------------------------------------------------------------------------------
/ElvUI/Core/Modules/DataTexts/Spirit.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local DT = E:GetModule('DataTexts')
3 |
4 | local strjoin = strjoin
5 | local UnitStat = UnitStat
6 | local ITEM_MOD_SPIRIT_SHORT = ITEM_MOD_SPIRIT_SHORT
7 | local STAT_CATEGORY_ATTRIBUTES = STAT_CATEGORY_ATTRIBUTES
8 |
9 | local displayString = ''
10 |
11 | local function OnEvent(self)
12 | self.text:SetFormattedText(displayString, ITEM_MOD_SPIRIT_SHORT, UnitStat('player', 5))
13 | end
14 |
15 | local function ApplySettings(_, hex)
16 | displayString = strjoin('', '%s: ', hex, '%.f|r')
17 | end
18 |
19 | DT:RegisterDatatext('Spirit', STAT_CATEGORY_ATTRIBUTES, { 'UNIT_STATS', 'UNIT_AURA' }, OnEvent, nil, nil, nil, nil, ITEM_MOD_SPIRIT_SHORT, nil, ApplySettings)
20 |
--------------------------------------------------------------------------------
/ElvUI/Core/Modules/DataTexts/Stamina.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local DT = E:GetModule('DataTexts')
3 |
4 | local strjoin = strjoin
5 | local UnitStat = UnitStat
6 |
7 | local STAT_CATEGORY_ATTRIBUTES = STAT_CATEGORY_ATTRIBUTES
8 | local ITEM_MOD_STAMINA_SHORT = ITEM_MOD_STAMINA_SHORT
9 | local LE_UNIT_STAT_STAMINA = LE_UNIT_STAT_STAMINA
10 |
11 | local displayString, db = ''
12 |
13 | local function OnEvent(self)
14 | if db.NoLabel then
15 | self.text:SetFormattedText(displayString, UnitStat('player', LE_UNIT_STAT_STAMINA))
16 | else
17 | self.text:SetFormattedText(displayString, db.Label ~= '' and db.Label or ITEM_MOD_STAMINA_SHORT..': ', UnitStat('player', LE_UNIT_STAT_STAMINA))
18 | end
19 | end
20 |
21 | local function ApplySettings(self, hex)
22 | if not db then
23 | db = E.global.datatexts.settings[self.name]
24 | end
25 |
26 | displayString = strjoin('', db.NoLabel and '' or '%s', hex, '%d|r')
27 | end
28 |
29 | DT:RegisterDatatext('Stamina', STAT_CATEGORY_ATTRIBUTES, { 'UNIT_STATS', 'UNIT_AURA' }, OnEvent, nil, nil, nil, nil, ITEM_MOD_STAMINA_SHORT, nil, ApplySettings)
30 |
--------------------------------------------------------------------------------
/ElvUI/Core/Modules/DataTexts/Strength.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local DT = E:GetModule('DataTexts')
3 |
4 | local strjoin = strjoin
5 | local UnitStat = UnitStat
6 |
7 | local ITEM_MOD_STRENGTH_SHORT = ITEM_MOD_STRENGTH_SHORT
8 | local LE_UNIT_STAT_STRENGTH = LE_UNIT_STAT_STRENGTH
9 | local STAT_CATEGORY_ATTRIBUTES = STAT_CATEGORY_ATTRIBUTES
10 |
11 | local displayString, db = ''
12 |
13 | local function OnEvent(self)
14 | local stat = UnitStat('player', LE_UNIT_STAT_STRENGTH)
15 |
16 | if db.NoLabel then
17 | self.text:SetFormattedText(displayString, stat)
18 | else
19 | self.text:SetFormattedText(displayString, db.Label ~= '' and db.Label or ITEM_MOD_STRENGTH_SHORT..': ', stat)
20 | end
21 | end
22 |
23 | local function ApplySettings(self, hex)
24 | if not db then
25 | db = E.global.datatexts.settings[self.name]
26 | end
27 |
28 | displayString = strjoin('', db.NoLabel and '' or '%s', hex, '%d|r')
29 | end
30 |
31 | DT:RegisterDatatext('Strength', STAT_CATEGORY_ATTRIBUTES, { 'UNIT_STATS', 'UNIT_AURA' }, OnEvent, nil, nil, nil, nil, ITEM_MOD_STRENGTH_SHORT, nil, ApplySettings)
32 |
--------------------------------------------------------------------------------
/ElvUI/Core/Modules/Load_Modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/ElvUI/Core/Modules/Maps/Load_Maps.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/ElvUI/Core/Modules/Misc/Load_Misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/ElvUI/Core/Modules/Nameplates/Elements/RaidTargetIndicator.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local NP = E:GetModule('NamePlates')
3 |
4 | local GetRaidTargetIndex = GetRaidTargetIndex
5 | local SetRaidTargetIconTexture = SetRaidTargetIconTexture
6 |
7 | function NP:RaidTargetIndicator_Override()
8 | local element = self.RaidTargetIndicator
9 | local index = self.unit and GetRaidTargetIndex(self.unit)
10 |
11 | if index then
12 | SetRaidTargetIconTexture(element, index)
13 | element:Show()
14 | else
15 | element:Hide()
16 | end
17 | end
18 |
19 | function NP:Construct_RaidTargetIndicator(nameplate)
20 | local RaidTargetIndicator = nameplate.RaisedElement:CreateTexture(nil, 'OVERLAY', nil, 7)
21 | RaidTargetIndicator.Override = NP.RaidTargetIndicator_Override
22 | RaidTargetIndicator:Hide()
23 |
24 | return RaidTargetIndicator
25 | end
26 |
27 | function NP:Update_RaidTargetIndicator(nameplate)
28 | local db = NP:PlateDB(nameplate)
29 |
30 | if db.raidTargetIndicator and db.raidTargetIndicator.enable then
31 | if not nameplate:IsElementEnabled('RaidTargetIndicator') then
32 | nameplate:EnableElement('RaidTargetIndicator')
33 | end
34 |
35 | nameplate.RaidTargetIndicator:ClearAllPoints()
36 | nameplate.RaidTargetIndicator:Point(E.InversePoints[db.raidTargetIndicator.position], nameplate, db.raidTargetIndicator.position, db.raidTargetIndicator.xOffset, db.raidTargetIndicator.yOffset)
37 | nameplate.RaidTargetIndicator:Size(db.raidTargetIndicator.size)
38 | elseif nameplate:IsElementEnabled('RaidTargetIndicator') then
39 | nameplate:DisableElement('RaidTargetIndicator')
40 | end
41 | end
42 |
--------------------------------------------------------------------------------
/ElvUI/Core/Modules/Nameplates/Elements/Tags.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local NP = E:GetModule('NamePlates')
3 | local LSM = E.Libs.LSM
4 |
5 | function NP:Construct_TagText(nameplate)
6 | local Text = nameplate.RaisedElement:CreateFontString(nil, 'OVERLAY')
7 | Text:FontTemplate(E.LSM:Fetch('font', NP.db.font), NP.db.fontSize, NP.db.fontOutline)
8 |
9 | return Text
10 | end
11 |
12 | function NP:Update_TagText(nameplate, element, db, hide)
13 | if not db then return end
14 |
15 | if db.enable and not hide then
16 | nameplate:Tag(element, db.format or '')
17 | element:FontTemplate(LSM:Fetch('font', db.font), db.fontSize, db.fontOutline)
18 | element:UpdateTag()
19 |
20 | element:ClearAllPoints()
21 | element:Point(E.InversePoints[db.position], db.parent == 'Nameplate' and nameplate or nameplate[db.parent], db.position, db.xOffset, db.yOffset)
22 | element:Show()
23 | else
24 | nameplate:Untag(element)
25 | element:Hide()
26 | end
27 | end
28 |
29 | function NP:Update_Tags(nameplate, nameOnlySF)
30 | local db = NP:PlateDB(nameplate)
31 | local hide = db.nameOnly or nameOnlySF
32 |
33 | NP:Update_TagText(nameplate, nameplate.Name, db.name)
34 | NP:Update_TagText(nameplate, nameplate.Title, db.title)
35 | NP:Update_TagText(nameplate, nameplate.Level, db.level, hide)
36 | NP:Update_TagText(nameplate, nameplate.Health.Text, db.health and db.health.text, hide)
37 | NP:Update_TagText(nameplate, nameplate.Power.Text, db.power and db.power.text, hide)
38 | end
39 |
--------------------------------------------------------------------------------
/ElvUI/Core/Modules/Nameplates/Load_Nameplates.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/ElvUI/Core/Modules/Skins/Load_Skins.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/ElvUI/Core/Modules/Tooltip/Load_Tooltip.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/ElvUI/Core/Modules/UnitFrames/Elements/EnergyManaRegen.lua:
--------------------------------------------------------------------------------
1 | local E, _, V, P, G = unpack(ElvUI)
2 | local UF = E:GetModule('UnitFrames')
3 |
4 | local CreateFrame = CreateFrame
5 |
6 | function UF:Construct_EnergyManaRegen(frame)
7 | local element = CreateFrame('StatusBar', nil, frame.Power)
8 | element:SetStatusBarTexture(E.media.blankTex)
9 | element:OffsetFrameLevel(3, frame.Power)
10 | element:SetMinMaxValues(0, 2)
11 | element:SetAllPoints()
12 |
13 | local barTexture = element:GetStatusBarTexture()
14 | barTexture:SetAlpha(0)
15 |
16 | element.Spark = element:CreateTexture(nil, 'OVERLAY')
17 | element.Spark:SetTexture(E.media.blankTex)
18 | element.Spark:SetVertexColor(0.9, 0.9, 0.9, 0.6)
19 | element.Spark:SetBlendMode('ADD')
20 | element.Spark:Point('RIGHT', barTexture)
21 | element.Spark:Point('BOTTOM')
22 | element.Spark:Point('TOP')
23 | element.Spark:Width(2)
24 |
25 | return element
26 | end
27 |
28 | function UF:Configure_EnergyManaRegen(frame)
29 | if frame.db.power.EnergyManaRegen then
30 | if not frame:IsElementEnabled('EnergyManaRegen') then
31 | frame:EnableElement('EnergyManaRegen')
32 | end
33 |
34 | frame.EnergyManaRegen:SetFrameStrata(frame.Power:GetFrameStrata())
35 | frame.EnergyManaRegen:OffsetFrameLevel(3, frame.Power)
36 | elseif frame:IsElementEnabled('EnergyManaRegen') then
37 | frame:DisableElement('EnergyManaRegen')
38 | end
39 | end
40 |
--------------------------------------------------------------------------------
/ElvUI/Core/Modules/UnitFrames/Elements/Load_Elements.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/ElvUI/Core/Modules/UnitFrames/Elements/Name.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local UF = E:GetModule('UnitFrames')
3 |
4 | local UnitIsPlayer = UnitIsPlayer
5 |
6 | function UF:Construct_NameText(frame)
7 | local name = UF:CreateRaisedText(frame.RaisedElementParent)
8 |
9 | name:Point('CENTER', frame.Health)
10 |
11 | return name
12 | end
13 |
14 | function UF:UpdateNameSettings(frame)
15 | local db = frame.db
16 |
17 | local name = frame.Name
18 | if not db.power or not db.power.enable or not db.power.hideonnpc then
19 | local attachPoint = UF:GetObjectAnchorPoint(frame, db.name.attachTextTo)
20 | name:ClearAllPoints()
21 | name:Point(db.name.position, attachPoint, db.name.position, db.name.xOffset, db.name.yOffset)
22 | end
23 |
24 | frame:Tag(name, db.name.text_format)
25 | end
26 |
27 | function UF:PostNamePosition(frame, unit)
28 | if not frame.Power.value:IsShown() then return end
29 |
30 | local db = frame.db
31 | if UnitIsPlayer(unit) or (db.power and not db.power.enable) then
32 | local position = db.name.position
33 | local attachPoint = UF:GetObjectAnchorPoint(frame, db.name.attachTextTo)
34 | frame.Power.value:SetAlpha(1)
35 |
36 | frame.Name:ClearAllPoints()
37 | frame.Name:Point(position, attachPoint, position, db.name.xOffset, db.name.yOffset)
38 | else
39 | frame.Power.value:SetAlpha(db.power.hideonnpc and 0 or 1)
40 |
41 | frame.Name:ClearAllPoints()
42 | frame.Name:Point(frame.Power.value:GetPoint())
43 | end
44 | end
45 |
--------------------------------------------------------------------------------
/ElvUI/Core/Modules/UnitFrames/Elements/PVPClassificationIndicator.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local UF = E:GetModule('UnitFrames')
3 |
4 | function UF:Construct_PvPClassificationIndicator(frame)
5 | local PvPClassificationIndicator = frame.RaisedElementParent.TextureParent:CreateTexture(nil, 'OVERLAY')
6 |
7 | return PvPClassificationIndicator
8 | end
9 |
10 | function UF:Configure_PvPClassificationIndicator(frame)
11 | local PvPClassificationIndicator = frame.PvPClassificationIndicator
12 | local db = frame.db
13 |
14 | PvPClassificationIndicator:Size(db.pvpclassificationindicator.size)
15 | PvPClassificationIndicator:ClearAllPoints()
16 | PvPClassificationIndicator:Point(E.InversePoints[db.pvpclassificationindicator.position], frame, db.pvpclassificationindicator.position, db.pvpclassificationindicator.xOffset, db.pvpclassificationindicator.yOffset)
17 |
18 | if frame.db.pvpclassificationindicator.enable and not frame:IsElementEnabled('PvPClassificationIndicator') then
19 | frame:EnableElement('PvPClassificationIndicator')
20 | elseif not frame.db.pvpclassificationindicator.enable and frame:IsElementEnabled('PvPClassificationIndicator') then
21 | frame:DisableElement('PvPClassificationIndicator')
22 | end
23 | end
24 |
--------------------------------------------------------------------------------
/ElvUI/Core/Modules/UnitFrames/Elements/PVPIcon.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local UF = E:GetModule('UnitFrames')
3 |
4 | function UF:Construct_PvPIcon(frame)
5 | local PvPIndicator = frame.RaisedElementParent.TextureParent:CreateTexture(nil, 'ARTWORK', nil, 1)
6 | PvPIndicator:Size(30)
7 | PvPIndicator:Point('CENTER', frame, 'CENTER')
8 |
9 | local Badge = frame.RaisedElementParent.TextureParent:CreateTexture(nil, 'ARTWORK')
10 | Badge:Size(50, 52)
11 | Badge:Point('CENTER', PvPIndicator, 'CENTER')
12 |
13 | PvPIndicator.Badge = Badge
14 |
15 | return PvPIndicator
16 | end
17 |
18 | function UF:Configure_PVPIcon(frame)
19 | local PvPIndicator = frame.PvPIndicator
20 | PvPIndicator:ClearAllPoints()
21 | PvPIndicator:Point(frame.db.pvpIcon.anchorPoint, frame.Health, frame.db.pvpIcon.anchorPoint, frame.db.pvpIcon.xOffset, frame.db.pvpIcon.yOffset)
22 |
23 | local scale = frame.db.pvpIcon.scale or 1
24 | PvPIndicator:Size(30 * scale)
25 | PvPIndicator.Badge:Size(50 * scale, 52 * scale)
26 |
27 | if frame.db.pvpIcon.enable and not frame:IsElementEnabled('PvPIndicator') then
28 | frame:EnableElement('PvPIndicator')
29 | elseif not frame.db.pvpIcon.enable and frame:IsElementEnabled('PvPIndicator') then
30 | frame:DisableElement('PvPIndicator')
31 | end
32 | end
33 |
--------------------------------------------------------------------------------
/ElvUI/Core/Modules/UnitFrames/Elements/PVPSpecIcon.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local UF = E:GetModule('UnitFrames')
3 |
4 | local CreateFrame = CreateFrame
5 |
6 | function UF:Construct_PVPSpecIcon(frame)
7 | local specIcon = CreateFrame('Frame', '$parent_PVPSpecIcon', frame)
8 | specIcon:SetFrameLevel(frame.RaisedElementParent.PVPSpecLevel)
9 |
10 | specIcon.bg = CreateFrame('Frame', nil, specIcon)
11 | specIcon.bg:SetTemplate(nil, nil, nil, nil, true)
12 | specIcon.bg:OffsetFrameLevel(-1, specIcon)
13 | specIcon:SetInside(specIcon.bg)
14 |
15 | return specIcon
16 | end
17 |
18 | function UF:Configure_PVPSpecIcon(frame)
19 | local specIcon = frame.PVPSpecIcon
20 | local health = not frame.USE_POWERBAR or (frame.USE_MINI_POWERBAR or frame.USE_POWERBAR_OFFSET or frame.USE_INSET_POWERBAR)
21 |
22 | specIcon.bg:ClearAllPoints()
23 |
24 | if frame.ORIENTATION == 'LEFT' then
25 | specIcon.bg:Point('TOPRIGHT', frame, 'TOPRIGHT', -UF.SPACING, -UF.SPACING)
26 | specIcon.bg:Point('BOTTOMLEFT', (health and frame.Health.backdrop) or frame.Power.backdrop, 'BOTTOMRIGHT', (-UF.BORDER + UF.SPACING*3) + frame.PORTRAIT_WIDTH, 0)
27 | else
28 | specIcon.bg:Point('TOPLEFT', frame, 'TOPLEFT', UF.SPACING, -UF.SPACING)
29 | specIcon.bg:Point('BOTTOMRIGHT', (health and frame.Health.backdrop) or frame.Power.backdrop, 'BOTTOMLEFT', (UF.BORDER - UF.SPACING*3) - frame.PORTRAIT_WIDTH, 0)
30 | end
31 |
32 | local enabled = frame:IsElementEnabled('PVPSpecIcon')
33 | if frame.db.pvpSpecIcon and not enabled then
34 | frame:EnableElement('PVPSpecIcon')
35 | elseif not frame.db.pvpSpecIcon and enabled then
36 | frame:DisableElement('PVPSpecIcon')
37 | end
38 | end
39 |
--------------------------------------------------------------------------------
/ElvUI/Core/Modules/UnitFrames/Elements/PVPText.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local UF = E:GetModule('UnitFrames')
3 |
4 | function UF:Construct_PvPText(frame)
5 | return UF:CreateRaisedText(frame.RaisedElementParent)
6 | end
7 |
8 | function UF:Configure_PVPText(frame)
9 | local pvp = frame.PvPText
10 | local x, y = self:GetPositionOffset(frame.db.pvp.position)
11 | pvp:ClearAllPoints()
12 | pvp:Point(frame.db.pvp.position, frame.Health, frame.db.pvp.position, x, y)
13 |
14 | frame:Tag(pvp, frame.db.pvp.text_format)
15 | end
16 |
--------------------------------------------------------------------------------
/ElvUI/Core/Modules/UnitFrames/Elements/PartyIndicator.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local UF = E:GetModule('UnitFrames')
3 |
4 | local CreateFrame = CreateFrame
5 |
6 | function UF:Construct_PartyIndicator(frame)
7 | local PartyIndicator = CreateFrame('Frame', nil, frame.RaisedElementParent)
8 |
9 | local HomeIcon = PartyIndicator:CreateTexture(nil, 'OVERLAY', nil, 0)
10 | HomeIcon:Point('CENTER', 4, 4)
11 | HomeIcon:Size(26)
12 |
13 | local InstanceIcon = PartyIndicator:CreateTexture(nil, 'OVERLAY', nil, 1)
14 | InstanceIcon:Point('CENTER', 0, 0)
15 | InstanceIcon:Size(26)
16 |
17 | PartyIndicator.HomeIcon = HomeIcon
18 | PartyIndicator.InstanceIcon = InstanceIcon
19 |
20 | return PartyIndicator
21 | end
22 |
23 | function UF:Configure_PartyIndicator(frame)
24 | local db = frame and frame.db and frame.db.partyIndicator
25 | if not db then return end
26 |
27 | local PartyIndicator = frame.PartyIndicator
28 | PartyIndicator:ClearAllPoints()
29 | PartyIndicator:Point(db.anchorPoint, frame.Health, db.anchorPoint, db.xOffset, db.yOffset)
30 | PartyIndicator:Size(20 * (db.scale or 1))
31 |
32 | if db.enable and not frame:IsElementEnabled('PartyIndicator') then
33 | frame:EnableElement('PartyIndicator')
34 | elseif not db.enable and frame:IsElementEnabled('PartyIndicator') then
35 | frame:DisableElement('PartyIndicator')
36 | end
37 | end
38 |
--------------------------------------------------------------------------------
/ElvUI/Core/Modules/UnitFrames/Elements/RaidIcon.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local UF = E:GetModule('UnitFrames')
3 |
4 | function UF:Construct_RaidIcon(frame)
5 | local tex = frame.RaisedElementParent.TextureParent:CreateTexture(nil, 'OVERLAY')
6 | tex:SetTexture([[Interface\TargetingFrame\UI-RaidTargetingIcons]])
7 | tex:Size(18)
8 | tex:Point('CENTER', frame.Health, 'TOP', 0, 2)
9 | tex.SetTexture = E.noop
10 |
11 | return tex
12 | end
13 |
14 | function UF:Configure_RaidIcon(frame)
15 | local RI = frame.RaidTargetIndicator
16 | local db = frame.db
17 |
18 | if db.raidicon.enable then
19 | frame:EnableElement('RaidTargetIndicator')
20 | RI:Show()
21 | RI:Size(db.raidicon.size)
22 |
23 | local attachPoint = UF:GetObjectAnchorPoint(frame, db.raidicon.attachToObject)
24 | RI:ClearAllPoints()
25 | RI:Point(db.raidicon.attachTo, attachPoint, db.raidicon.attachTo, db.raidicon.xOffset, db.raidicon.yOffset)
26 | else
27 | frame:DisableElement('RaidTargetIndicator')
28 | RI:Hide()
29 | end
30 | end
31 |
--------------------------------------------------------------------------------
/ElvUI/Core/Modules/UnitFrames/Elements/ReadyCheckIcon.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local UF = E:GetModule('UnitFrames')
3 |
4 | function UF:Construct_ReadyCheckIcon(frame)
5 | local tex = frame.RaisedElementParent.TextureParent:CreateTexture(nil, 'OVERLAY', nil, 7)
6 | tex:Size(12)
7 | tex:Point('BOTTOM', frame.Health, 'BOTTOM', 0, 2)
8 |
9 | return tex
10 | end
11 |
12 | function UF:Configure_ReadyCheckIcon(frame)
13 | local ReadyCheckIndicator = frame.ReadyCheckIndicator
14 | local db = frame.db
15 |
16 | if db.readycheckIcon.enable then
17 | if not frame:IsElementEnabled('ReadyCheckIndicator') then
18 | frame:EnableElement('ReadyCheckIndicator')
19 | end
20 |
21 | local attachPoint = UF:GetObjectAnchorPoint(frame, db.readycheckIcon.attachTo)
22 | ReadyCheckIndicator:ClearAllPoints()
23 | ReadyCheckIndicator:Point(db.readycheckIcon.position, attachPoint, db.readycheckIcon.position, db.readycheckIcon.xOffset, db.readycheckIcon.yOffset)
24 | ReadyCheckIndicator:Size(db.readycheckIcon.size)
25 | else
26 | frame:DisableElement('ReadyCheckIndicator')
27 | end
28 | end
29 |
--------------------------------------------------------------------------------
/ElvUI/Core/Modules/UnitFrames/Elements/ResurrectionIcon.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local UF = E:GetModule('UnitFrames')
3 |
4 | function UF:Construct_ResurrectionIcon(frame)
5 | local tex = frame.RaisedElementParent.TextureParent:CreateTexture(nil, 'OVERLAY')
6 | tex:Point('CENTER', frame.Health, 'CENTER')
7 | tex:Size(30)
8 | tex:SetDrawLayer('OVERLAY', 7)
9 |
10 | return tex
11 | end
12 |
13 | function UF:Configure_ResurrectionIcon(frame)
14 | local RI = frame.ResurrectIndicator
15 | local db = frame.db
16 |
17 | if db.resurrectIcon.enable then
18 | frame:EnableElement('ResurrectIndicator')
19 | RI:Show()
20 | RI:Size(db.resurrectIcon.size)
21 |
22 | local attachPoint = UF:GetObjectAnchorPoint(frame, db.resurrectIcon.attachToObject)
23 | RI:ClearAllPoints()
24 | RI:Point(db.resurrectIcon.attachTo, attachPoint, db.resurrectIcon.attachTo, db.resurrectIcon.xOffset, db.resurrectIcon.yOffset)
25 | else
26 | frame:DisableElement('ResurrectIndicator')
27 | RI:Hide()
28 | end
29 | end
30 |
--------------------------------------------------------------------------------
/ElvUI/Core/Modules/UnitFrames/Elements/SummonIndicator.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local UF = E:GetModule('UnitFrames')
3 |
4 | function UF:Construct_SummonIcon(frame)
5 | local tex = frame.RaisedElementParent.TextureParent:CreateTexture(nil, 'OVERLAY')
6 | tex:Point('CENTER', frame.Health, 'CENTER')
7 | tex:Size(30)
8 | tex:SetDrawLayer('OVERLAY', 7)
9 |
10 | return tex
11 | end
12 |
13 | function UF:Configure_SummonIcon(frame)
14 | local SI = frame.SummonIndicator
15 | local db = frame.db
16 |
17 | if db.summonIcon.enable then
18 | frame:EnableElement('SummonIndicator')
19 | SI:Show()
20 | SI:Size(db.summonIcon.size)
21 |
22 | local attachPoint = UF:GetObjectAnchorPoint(frame, db.summonIcon.attachToObject)
23 | SI:ClearAllPoints()
24 | SI:Point(db.summonIcon.attachTo, attachPoint, db.summonIcon.attachTo, db.summonIcon.xOffset, db.summonIcon.yOffset)
25 | else
26 | frame:DisableElement('SummonIndicator')
27 | SI:Hide()
28 | end
29 | end
30 |
--------------------------------------------------------------------------------
/ElvUI/Core/Modules/UnitFrames/Elements/Trinket.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local UF = E:GetModule('UnitFrames')
3 |
4 | local unpack = unpack
5 | local CreateFrame = CreateFrame
6 |
7 | function UF:Construct_Trinket(frame)
8 | local trinket = CreateFrame('Button', frame:GetName()..'Trinket', frame)
9 | trinket:SetTemplate(nil, nil, nil, nil, true)
10 |
11 | local cd = CreateFrame('Cooldown', '$parentCooldown', frame, 'CooldownFrameTemplate')
12 | cd:SetInside(trinket, UF.BORDER, UF.BORDER)
13 |
14 | local icon = trinket:CreateTexture(nil, 'ARTWORK')
15 | icon:SetInside(trinket, UF.BORDER, UF.BORDER)
16 |
17 | E:RegisterCooldown(cd)
18 |
19 | trinket.cd = cd
20 | trinket.icon = icon
21 |
22 | return trinket
23 | end
24 |
25 | function UF:Configure_Trinket(frame)
26 | local db = frame.db
27 | local trinket = frame.Trinket
28 |
29 | trinket:Size(db.pvpTrinket.size)
30 | trinket:ClearAllPoints()
31 | trinket.icon:SetTexCoord(unpack(E.TexCoords))
32 |
33 | if db.pvpTrinket.position == 'RIGHT' then
34 | trinket:Point('LEFT', frame, 'RIGHT', db.pvpTrinket.xOffset, db.pvpTrinket.yOffset)
35 | else
36 | trinket:Point('RIGHT', frame, 'LEFT', db.pvpTrinket.xOffset, db.pvpTrinket.yOffset)
37 | end
38 |
39 | local enabled = frame:IsElementEnabled('Trinket')
40 | if db.pvpTrinket.enable and not enabled then
41 | frame:EnableElement('Trinket')
42 | elseif not db.pvpTrinket.enable and enabled then
43 | frame:DisableElement('Trinket')
44 | end
45 | end
46 |
--------------------------------------------------------------------------------
/ElvUI/Core/Modules/UnitFrames/Groups/Load_Groups.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/ElvUI/Core/Modules/UnitFrames/Units/Load_Units.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/ElvUI/ElvUI_Cata.toc:
--------------------------------------------------------------------------------
1 | ## Title: |cff1784d1ElvUI|r |cfd9b9b9bCataclysm|r
2 | ## Notes: User Interface Replacement
3 | ## Author: Elv, Simpy
4 | ## Version: @project-version@
5 | ## SavedVariables: ElvDB, ElvPrivateDB
6 | ## SavedVariablesPerCharacter: ElvCharacterDB
7 | ## OptionalDeps: SharedMedia, Tukui, Masque, BigWigs
8 | ## RequiredDeps: ElvUI_Libraries
9 | ## Interface: 40402
10 | ## X-Tukui-ProjectID: -2
11 | ## X-Tukui-ProjectFolders: ElvUI, ElvUI_Libraries, ElvUI_Options
12 |
13 | Core\Load.xml
14 |
15 | Cata\Load.xml
16 |
--------------------------------------------------------------------------------
/ElvUI/ElvUI_Mainline.toc:
--------------------------------------------------------------------------------
1 | ## Title: |cff1784d1ElvUI|r
2 | ## Notes: User Interface Replacement
3 | ## Author: Elv, Simpy
4 | ## Version: @project-version@
5 | ## SavedVariables: ElvDB, ElvPrivateDB
6 | ## SavedVariablesPerCharacter: ElvCharacterDB
7 | ## OptionalDeps: SharedMedia, Tukui, Masque, BigWigs
8 | ## RequiredDeps: ElvUI_Libraries
9 | ## Interface: 110105
10 | ## X-Tukui-ProjectID: -2
11 | ## X-Tukui-ProjectFolders: ElvUI, ElvUI_Libraries, ElvUI_Options
12 | ## AddonCompartmentFunc: ElvUI_AddonCompartmentFunc
13 | ## IconTexture: Interface\AddOns\ElvUI\Core\Media\Textures\LogoAddon
14 | ## Category-enUS: UI Overhaul
15 | ## Category-deDE: UI-Überholung
16 | ## Category-esES: Renovación de la UI
17 | ## Category-esMX: Renovación de la UI
18 | ## Category-itIT: Revisione dell'UI
19 | ## Category-frFR: Révision de l'UI
20 | ## Category-ptBR: Renovação da UI
21 | ## Category-ruRU: Переработка интерфейса
22 | ## Category-koKR: UI 개편
23 | ## Category-zhCN: UI重构
24 | ## Category-zhTW: UI重構
25 | ## Group: ElvUI
26 |
27 | Core\Load.xml
28 |
29 | Mainline\Load.xml
30 |
--------------------------------------------------------------------------------
/ElvUI/ElvUI_Vanilla.toc:
--------------------------------------------------------------------------------
1 | ## Title: |cff1784d1ElvUI|r |cfd9b9b9bClassic|r
2 | ## Notes: User Interface Replacement
3 | ## Author: Elv, Simpy
4 | ## Version: @project-version@
5 | ## SavedVariables: ElvDB, ElvPrivateDB
6 | ## SavedVariablesPerCharacter: ElvCharacterDB
7 | ## OptionalDeps: SharedMedia, Tukui, Masque, BigWigs
8 | ## RequiredDeps: ElvUI_Libraries
9 | ## Interface: 11507
10 | ## X-Tukui-ProjectID: -2
11 | ## X-Tukui-ProjectFolders: ElvUI, ElvUI_Libraries, ElvUI_Options
12 |
13 | Core\Load.xml
14 |
15 | Classic\Load.xml
16 |
--------------------------------------------------------------------------------
/ElvUI/LICENSE.txt:
--------------------------------------------------------------------------------
1 | Custom License for: ElvUI
2 | Copyright ©2009-2025 The contents of this addon, excluding third-party resources, are
3 | copyrighted to their authors with all rights reserved.
4 |
5 | This addon is free to use and the authors hereby grant you the following rights:
6 |
7 | 1. You may make modifications to this addon for private use only, you
8 | may not publicize any portion of this addon. The only exception being you may
9 | upload to the GitHub website.
10 |
11 | 2. Do not modify the name of this addon, including the addon folders.
12 |
13 | 3. This copyright notice shall be included in all copies or substantial
14 | portions of the Software.
15 |
16 | All rights not explicitly addressed in this license are reserved by
17 | the copyright holders.
18 |
--------------------------------------------------------------------------------
/ElvUI/Locales/Load_Locales.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/ElvUI/Mainline/Filters/Load_Filters.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/ElvUI/Mainline/Load.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/ElvUI/Mainline/Modules/ActionBars/Load_ActionBars.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/ElvUI/Mainline/Modules/Blizzard/Load_Blizzard.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/ElvUI/Mainline/Modules/Blizzard/ObjectiveFrame.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local BL = E:GetModule('Blizzard')
3 |
4 | local _G = _G
5 | local ShowUIPanel = ShowUIPanel
6 | local GetInstanceInfo = GetInstanceInfo
7 | local InCombatLockdown = InCombatLockdown
8 |
9 | local C_TalkingHead_SetConversationsDeferred = C_TalkingHead.SetConversationsDeferred
10 |
11 | function BL:ObjectiveTracker_AutoHideOnHide()
12 | local tracker = _G.ObjectiveTrackerFrame
13 | if not tracker or BL:ObjectiveTracker_IsCollapsed(tracker) then return end
14 |
15 | if E.db.general.objectiveFrameAutoHideInKeystone then
16 | BL:ObjectiveTracker_Collapse(tracker)
17 | else
18 | local _, _, difficultyID = GetInstanceInfo()
19 | if difficultyID ~= 8 then -- ignore hide in keystone runs
20 | BL:ObjectiveTracker_Collapse(tracker)
21 | end
22 | end
23 | end
24 |
25 | -- Clone of SplashFrameMixin:OnHide() to remove Objective Update to prevent taint on the Quest Button
26 | local function SplashFrame_OnHide(frame)
27 | local fromGameMenu = frame.screenInfo and frame.screenInfo.gameMenuRequest
28 | frame.screenInfo = nil
29 |
30 | C_TalkingHead_SetConversationsDeferred(false)
31 | _G.AlertFrame:SetAlertsEnabled(true, 'splashFrame')
32 | -- ObjectiveTrackerFrame:Update()
33 |
34 | if fromGameMenu and not frame.showingQuestDialog and not InCombatLockdown() then
35 | ShowUIPanel(_G.GameMenuFrame)
36 | end
37 |
38 | frame.showingQuestDialog = nil
39 | end
40 |
41 | function BL:ObjectiveTracker_Setup()
42 | BL:ObjectiveTracker_AutoHide()
43 |
44 | local splash = _G.SplashFrame
45 | if splash then
46 | splash:SetScript('OnHide', SplashFrame_OnHide)
47 | end
48 | end
49 |
--------------------------------------------------------------------------------
/ElvUI/Mainline/Modules/DataBars/Load_DataBars.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/ElvUI/Mainline/Modules/DataTexts/Load_DataTexts.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/ElvUI/Mainline/Modules/Load_Modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/ElvUI/Mainline/Modules/Misc/Load_Misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/ElvUI/Mainline/Modules/Nameplates/Load_Nameplates.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/ElvUI/Mainline/Modules/Skins/AnimaDiversion.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local S = E:GetModule('Skins')
3 |
4 | local _G = _G
5 |
6 | function S:Blizzard_AnimaDiversionUI()
7 | if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.animaDiversion) then return end
8 |
9 | local frame = _G.AnimaDiversionFrame
10 | frame:StripTextures()
11 | frame:SetTemplate('Transparent')
12 |
13 | S:HandleCloseButton(frame.CloseButton)
14 | frame.CloseButton:ClearAllPoints()
15 | frame.CloseButton:Point('TOPRIGHT', frame, 'TOPRIGHT', 4, 4) --default is -5, -5
16 | frame.AnimaDiversionCurrencyFrame.Background:SetAlpha(0)
17 |
18 | S:HandleButton(frame.ReinforceInfoFrame.AnimaNodeReinforceButton)
19 | end
20 |
21 | S:AddCallbackForAddon('Blizzard_AnimaDiversionUI')
22 |
--------------------------------------------------------------------------------
/ElvUI/Mainline/Modules/Skins/Azerite.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local S = E:GetModule('Skins')
3 |
4 | local _G = _G
5 |
6 | function S:Blizzard_AzeriteUI()
7 | if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.azerite) then return end
8 |
9 | _G.AzeriteEmpoweredItemUIPortrait:Hide()
10 | _G.AzeriteEmpoweredItemUI:StripTextures()
11 | _G.AzeriteEmpoweredItemUI:SetTemplate('Transparent')
12 | _G.AzeriteEmpoweredItemUI.ClipFrame.BackgroundFrame.Bg:Hide()
13 | S:HandleCloseButton(_G.AzeriteEmpoweredItemUICloseButton)
14 | end
15 |
16 | S:AddCallbackForAddon('Blizzard_AzeriteUI')
17 |
--------------------------------------------------------------------------------
/ElvUI/Mainline/Modules/Skins/Battlenet.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local S = E:GetModule('Skins')
3 |
4 | local _G = _G
5 | local next = next
6 |
7 | function S:BattleNetFrames()
8 | if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.misc) then return end
9 |
10 | local skins = {
11 | _G.BNToastFrame,
12 | _G.TimeAlertFrame,
13 | _G.TicketStatusFrameButton.NineSlice -- Ticket Frames (not GMTicketFrames)
14 | }
15 |
16 | for i = 1, #skins do
17 | skins[i]:SetTemplate('Transparent')
18 | end
19 |
20 | local ReportFrame = _G.ReportFrame
21 | ReportFrame:StripTextures()
22 | ReportFrame:SetTemplate('Transparent')
23 | S:HandleCloseButton(ReportFrame.CloseButton)
24 | S:HandleDropDownBox(ReportFrame.ReportingMajorCategoryDropdown)
25 | S:HandleButton(ReportFrame.ReportButton)
26 | S:HandleEditBox(ReportFrame.Comment)
27 |
28 | -- Fill me with LOVE <3
29 |
30 | local ReportCheatingDialog = _G.ReportCheatingDialog
31 | ReportCheatingDialog:StripTextures()
32 | _G.ReportCheatingDialogCommentFrame:StripTextures()
33 | S:HandleButton(_G.ReportCheatingDialogReportButton)
34 | S:HandleButton(_G.ReportCheatingDialogCancelButton)
35 | ReportCheatingDialog:SetTemplate('Transparent')
36 | S:HandleEditBox(_G.ReportCheatingDialogCommentFrameEditBox)
37 |
38 | local BattleTagInviteFrame = _G.BattleTagInviteFrame
39 | BattleTagInviteFrame:StripTextures()
40 | BattleTagInviteFrame:SetTemplate('Transparent')
41 |
42 | for _, child in next, { BattleTagInviteFrame:GetChildren() } do
43 | if child:IsObjectType('Button') then
44 | S:HandleButton(child)
45 | end
46 | end
47 | end
48 |
49 | S:AddCallback('BattleNetFrames')
50 |
--------------------------------------------------------------------------------
/ElvUI/Mainline/Modules/Skins/ChromieTime.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local S = E:GetModule('Skins')
3 |
4 | local _G = _G
5 |
6 | function S:Blizzard_ChromieTimeUI()
7 | if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.chromieTime) then return end
8 |
9 | local frame = _G.ChromieTimeFrame
10 | S:HandleCloseButton(frame.CloseButton)
11 | S:HandleButton(frame.SelectButton)
12 |
13 | if E.private.skins.parchmentRemoverEnable then
14 | frame:StripTextures()
15 | frame.Background:Hide()
16 | frame:SetTemplate('Transparent')
17 |
18 | local Title = frame.Title
19 | Title:DisableDrawLayer('BACKGROUND')
20 | Title:SetTemplate('Transparent')
21 |
22 | local InfoFrame = frame.CurrentlySelectedExpansionInfoFrame
23 | InfoFrame:DisableDrawLayer('BACKGROUND')
24 | InfoFrame:SetTemplate('Transparent')
25 | InfoFrame.Name:SetTextColor(1, .8, 0)
26 | InfoFrame.Description:SetTextColor(1, 1, 1)
27 | end
28 | end
29 |
30 | S:AddCallbackForAddon('Blizzard_ChromieTimeUI')
31 |
--------------------------------------------------------------------------------
/ElvUI/Mainline/Modules/Skins/CovenantRenown.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local S = E:GetModule('Skins')
3 |
4 | local _G = _G
5 | local hooksecurefunc = hooksecurefunc
6 |
7 | function S:Blizzard_CovenantRenown()
8 | if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.covenantRenown) then return end
9 |
10 | local frame = _G.CovenantRenownFrame
11 | S:HandleCloseButton(frame.CloseButton)
12 |
13 | hooksecurefunc(frame, 'SetUpCovenantData', function(Frame)
14 | Frame.CloseButton.Border:Hide()
15 |
16 | if E.private.skins.parchmentRemoverEnable then
17 | Frame:StripTextures()
18 | Frame:SetTemplate('Transparent')
19 | end
20 | end)
21 |
22 | if E.private.skins.parchmentRemoverEnable then
23 | frame.TrackFrame:SetTemplate('Transparent')
24 | end
25 | end
26 |
27 | S:AddCallbackForAddon('Blizzard_CovenantRenown')
28 |
--------------------------------------------------------------------------------
/ElvUI/Mainline/Modules/Skins/DeathRecap.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local S = E:GetModule('Skins')
3 |
4 | local _G = _G
5 | local unpack = unpack
6 |
7 | function S:Blizzard_DeathRecap()
8 | if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.deathRecap) then return end
9 |
10 | local DeathRecapFrame = _G.DeathRecapFrame
11 | DeathRecapFrame:StripTextures()
12 | DeathRecapFrame:SetTemplate('Transparent')
13 | DeathRecapFrame.CloseButton:SetFrameLevel(5)
14 | S:HandleCloseButton(DeathRecapFrame.CloseXButton)
15 | S:HandleButton(DeathRecapFrame.CloseButton)
16 |
17 | for i=1, 5 do
18 | local recap = DeathRecapFrame['Recap'..i].SpellInfo
19 | recap:CreateBackdrop()
20 | recap.backdrop:SetOutside(recap.Icon)
21 | recap.Icon:SetTexCoord(unpack(E.TexCoords))
22 | recap.Icon:SetParent(recap.backdrop)
23 | recap.IconBorder:Kill()
24 | end
25 | end
26 |
27 | S:AddCallbackForAddon('Blizzard_DeathRecap')
28 |
--------------------------------------------------------------------------------
/ElvUI/Mainline/Modules/Skins/FlightMap.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local S = E:GetModule('Skins')
3 |
4 | local _G = _G
5 |
6 | function S:Blizzard_FlightMap()
7 | if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.taxi) then return end
8 |
9 | local FlightMapFrame = _G.FlightMapFrame
10 | _G.FlightMapFramePortrait:Kill()
11 | FlightMapFrame:StripTextures()
12 | FlightMapFrame:SetTemplate('Transparent')
13 | S:HandleCloseButton(_G.FlightMapFrameCloseButton)
14 | end
15 |
16 | S:AddCallbackForAddon('Blizzard_FlightMap')
17 |
--------------------------------------------------------------------------------
/ElvUI/Mainline/Modules/Skins/GarrisonTemplate.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local S = E:GetModule('Skins')
3 |
4 | local _G = _G
5 | local hooksecurefunc = hooksecurefunc
6 | local C_Garrison_GetFollowerInfo = C_Garrison.GetFollowerInfo
7 |
8 | function S:Blizzard_GarrisonTemplates()
9 | if not E.private.skins.blizzard.enable or not E.private.skins.blizzard.orderhall or not E.private.skins.blizzard.garrison then return end
10 |
11 | hooksecurefunc(_G.GarrisonFollowerTabMixin, 'ShowFollower', function(s, followerID)
12 | local followerInfo = followerID and C_Garrison_GetFollowerInfo(followerID)
13 | if not followerInfo then return end
14 |
15 | if not s.PortraitFrameStyled then
16 | S:HandleGarrisonPortrait(s.PortraitFrame)
17 | s.PortraitFrameStyled = true
18 | end
19 |
20 | local r, g, b = E:GetItemQualityColor(followerInfo.quality or 1)
21 |
22 | s.Name:SetVertexColor(r, g, b)
23 |
24 | if s.PortraitFrame.backdrop then
25 | s.PortraitFrame.backdrop:SetBackdropBorderColor(r, g, b)
26 | end
27 |
28 | s.XPBar:ClearAllPoints()
29 | s.XPBar:Point('BOTTOMLEFT', s.PortraitFrame, 'BOTTOMRIGHT', 7, -15)
30 | end)
31 | end
32 |
33 | S:AddCallbackForAddon('Blizzard_GarrisonTemplates')
34 |
--------------------------------------------------------------------------------
/ElvUI/Mainline/Modules/Skins/GenericTrait.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local S = E:GetModule('Skins')
3 |
4 | local _G = _G
5 | local hooksecurefunc = hooksecurefunc
6 |
7 | function S:Blizzard_GenericTraitUI()
8 | if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.genericTrait) then return end
9 |
10 | local GenericTrait = _G.GenericTraitFrame
11 | if E.private.skins.parchmentRemoverEnable then
12 | GenericTrait.Background:SetAlpha(0)
13 | GenericTrait.BorderOverlay:SetAlpha(0)
14 | end
15 |
16 | GenericTrait:SetTemplate('Transparent')
17 | S:HandleCloseButton(GenericTrait.CloseButton)
18 |
19 | local unspentCount = GenericTrait.Currency.UnspentPointsCount
20 | if unspentCount then
21 | S.ReplaceIconString(unspentCount)
22 |
23 | hooksecurefunc(unspentCount, 'SetText', S.ReplaceIconString)
24 | end
25 | end
26 |
27 | S:AddCallbackForAddon('Blizzard_GenericTraitUI')
28 |
--------------------------------------------------------------------------------
/ElvUI/Mainline/Modules/Skins/GuildRegistrar.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local S = E:GetModule('Skins')
3 |
4 | local _G = _G
5 | local next = next
6 |
7 | function S:GuildRegistrarFrame()
8 | if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.guildregistrar) then return end
9 |
10 | local GuildRegistrarFrame = _G.GuildRegistrarFrame
11 | S:HandlePortraitFrame(GuildRegistrarFrame)
12 |
13 | S:HandleTrimScrollBar(GuildRegistrarFrame.ScrollBar)
14 |
15 | _G.GuildRegistrarFrameEditBox:StripTextures()
16 | _G.GuildRegistrarGreetingFrame:StripTextures()
17 | S:HandleButton(_G.GuildRegistrarFrameGoodbyeButton)
18 | S:HandleButton(_G.GuildRegistrarFrameCancelButton)
19 | S:HandleButton(_G.GuildRegistrarFramePurchaseButton)
20 | S:HandleEditBox(_G.GuildRegistrarFrameEditBox)
21 |
22 | for _, region in next, { _G.GuildRegistrarFrameEditBox:GetRegions() } do
23 | if region:IsObjectType('Texture') and (region:GetTexture() == [[Interface\ChatFrame\UI-ChatInputBorder-Left]] or region:GetTexture() == [[Interface\ChatFrame\UI-ChatInputBorder-Right]]) then
24 | region:Kill()
25 | end
26 | end
27 |
28 | _G.GuildRegistrarFrameEditBox:Height(20)
29 |
30 | for i = 1, 2 do
31 | _G['GuildRegistrarButton'..i]:GetFontString():SetTextColor(1, 1, 1)
32 | end
33 |
34 | _G.GuildRegistrarPurchaseText:SetTextColor(1, 1, 1)
35 | _G.AvailableServicesText:SetTextColor(1, 1, 0)
36 | end
37 |
38 | S:AddCallback('GuildRegistrarFrame')
39 |
--------------------------------------------------------------------------------
/ElvUI/Mainline/Modules/Skins/Help.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local S = E:GetModule('Skins')
3 |
4 | local _G = _G
5 |
6 | function S:HelpFrame()
7 | if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.help) then return end
8 |
9 | local main = _G.HelpFrame
10 | main:StripTextures()
11 | main:CreateBackdrop('Transparent')
12 | main.backdrop:SetOutside(main, 8, 8)
13 | S:HandleCloseButton(main.CloseButton, main.backdrop)
14 |
15 | local browser = _G.HelpBrowser
16 | browser.BrowserInset:StripTextures()
17 | browser:CreateBackdrop()
18 | browser.backdrop:ClearAllPoints()
19 | browser.backdrop:Point('TOPLEFT', browser, 'TOPLEFT', -1, 1)
20 | browser.backdrop:Point('BOTTOMRIGHT', browser, 'BOTTOMRIGHT', 1, -2)
21 | end
22 |
23 | S:AddCallback('HelpFrame')
24 |
--------------------------------------------------------------------------------
/ElvUI/Mainline/Modules/Skins/IslandPartyPose.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local S = E:GetModule('Skins')
3 |
4 | local _G = _G
5 |
6 | function S:Blizzard_IslandsPartyPoseUI()
7 | if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.islandsPartyPose) then return end
8 |
9 | local IslandsPartyPoseFrame = _G.IslandsPartyPoseFrame
10 | IslandsPartyPoseFrame:StripTextures()
11 | IslandsPartyPoseFrame:SetTemplate('Transparent')
12 | S:HandleButton(IslandsPartyPoseFrame.LeaveButton)
13 | end
14 |
15 | S:AddCallbackForAddon('Blizzard_IslandsPartyPoseUI')
16 |
--------------------------------------------------------------------------------
/ElvUI/Mainline/Modules/Skins/IslandQueue.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local S = E:GetModule('Skins')
3 |
4 | local _G = _G
5 | local unpack = unpack
6 |
7 | function S:Blizzard_IslandsQueueUI()
8 | if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.islandQueue) then return end
9 |
10 | local IslandsFrame = _G.IslandsQueueFrame
11 | S:HandlePortraitFrame(IslandsFrame)
12 |
13 | local selectorFrame = IslandsFrame.DifficultySelectorFrame
14 | local queueButton = selectorFrame and selectorFrame.QueueButton
15 | if queueButton then
16 | S:HandleButton(queueButton)
17 | queueButton.Flash:Kill()
18 | end
19 |
20 | local WeeklyQuest = IslandsFrame.WeeklyQuest
21 | local StatusBar = WeeklyQuest.StatusBar
22 | WeeklyQuest.OverlayFrame:StripTextures()
23 |
24 | -- StatusBar
25 | StatusBar:CreateBackdrop()
26 |
27 | --StatusBar Icon
28 | WeeklyQuest.QuestReward.Icon:SetTexCoord(unpack(E.TexCoords))
29 |
30 | -- Maybe Adjust me
31 | local TutorialFrame = IslandsFrame.TutorialFrame
32 | S:HandleButton(TutorialFrame.Leave)
33 | S:HandleCloseButton(TutorialFrame.CloseButton)
34 | end
35 |
36 | S:AddCallbackForAddon('Blizzard_IslandsQueueUI')
37 |
--------------------------------------------------------------------------------
/ElvUI/Mainline/Modules/Skins/ItemInteraction.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local S = E:GetModule('Skins')
3 |
4 | local _G = _G
5 |
6 | function S:Blizzard_ItemInteractionUI()
7 | if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.itemInteraction) then return end
8 |
9 | local mainFrame = _G.ItemInteractionFrame
10 | S:HandlePortraitFrame(mainFrame)
11 |
12 | local itemSlot = mainFrame.ItemSlot
13 | itemSlot:StripTextures()
14 | itemSlot:SetTemplate()
15 | itemSlot:Size(58)
16 | itemSlot:ClearAllPoints()
17 | itemSlot:Point('TOPLEFT', 143, -97)
18 |
19 | itemSlot.GlowOverlay:SetAlpha(0)
20 |
21 | itemSlot.Icon:ClearAllPoints()
22 | itemSlot.Icon:Point('TOPLEFT', 1, -1)
23 | itemSlot.Icon:Point('BOTTOMRIGHT', -1, 1)
24 | S:HandleIcon(itemSlot.Icon)
25 |
26 | local buttonFrame = mainFrame.ButtonFrame
27 | buttonFrame:StripTextures()
28 | buttonFrame.ButtonBorder:Hide()
29 | buttonFrame.ButtonBottomBorder:Hide()
30 | buttonFrame.MoneyFrameEdge:SetAlpha(0)
31 | buttonFrame.BlackBorder:SetAlpha(0)
32 |
33 | if buttonFrame.Currency then
34 | S:HandleIcon(buttonFrame.Currency.Icon)
35 | end
36 |
37 | S:HandleButton(buttonFrame.ActionButton)
38 | end
39 |
40 | S:AddCallbackForAddon('Blizzard_ItemInteractionUI')
41 |
--------------------------------------------------------------------------------
/ElvUI/Mainline/Modules/Skins/MajorFaction.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local S = E:GetModule('Skins')
3 |
4 | local _G = _G
5 | local hooksecurefunc = hooksecurefunc
6 |
7 | local function SetupMajorFaction(frame)
8 | if frame.Divider then frame.Divider:Hide() end
9 | if frame.NineSlice then frame.NineSlice:Hide() end
10 | if frame.Border then frame.Border:Hide() end
11 | if frame.TopLeftBorderDecoration then frame.TopLeftBorderDecoration:Hide() end
12 | if frame.TopRightBorderDecoration then frame.TopRightBorderDecoration:Hide() end
13 | if frame.Background then frame.Background:Hide() end
14 | if frame.BackgroundShadow then frame.BackgroundShadow:Hide() end
15 | if frame.CloseButton.Border then frame.CloseButton.Border:Hide() end
16 | end
17 |
18 | function S:Blizzard_MajorFactions()
19 | if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.majorFactions) then return end
20 |
21 | local RenownFrame = _G.MajorFactionRenownFrame
22 | RenownFrame:SetTemplate('Transparent')
23 | S:HandleCloseButton(RenownFrame.CloseButton)
24 |
25 | if RenownFrame.LevelSkipButton then
26 | S:HandleButton(RenownFrame.LevelSkipButton)
27 | end
28 |
29 | if E.private.skins.parchmentRemoverEnable then
30 | hooksecurefunc(RenownFrame, 'SetUpMajorFactionData', SetupMajorFaction)
31 | end
32 | end
33 |
34 | S:AddCallbackForAddon('Blizzard_MajorFactions')
35 |
--------------------------------------------------------------------------------
/ElvUI/Mainline/Modules/Skins/Menu.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local S = E:GetModule('Skins')
3 |
4 | local _G = _G
5 | local hooksecurefunc = hooksecurefunc
6 |
7 | local backdrops = {}
8 | local function SkinFrame(frame)
9 | frame:StripTextures()
10 |
11 | if backdrops[frame] then
12 | frame.backdrop = backdrops[frame] -- relink it back
13 | else
14 | frame:CreateBackdrop('Transparent') -- :SetTemplate errors out
15 | backdrops[frame] = frame.backdrop -- keep below CreateBackdrop
16 |
17 | if frame.ScrollBar then
18 | S:HandleTrimScrollBar(frame.ScrollBar)
19 | end
20 | end
21 | end
22 |
23 | function S:SkinMenu(manager, ownerRegion, menuDescription, anchor)
24 | local menu = manager:GetOpenMenu()
25 | if not menu then return end
26 |
27 | SkinFrame(menu) -- Initial context menu
28 | menuDescription:AddMenuAcquiredCallback(SkinFrame) -- SubMenus
29 | end
30 |
31 | function S:OpenMenu(ownerRegion, menuDescription, anchor)
32 | S:SkinMenu(self, ownerRegion, menuDescription, anchor) -- self is manager (Menu.GetManager)
33 | end
34 |
35 | function S:OpenContextMenu(ownerRegion, menuDescription)
36 | S:SkinMenu(self, ownerRegion, menuDescription) -- self is manager (Menu.GetManager)
37 | end
38 |
39 | function S:Blizzard_Menu()
40 | if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.misc) then return end
41 |
42 | local manager = _G.Menu.GetManager()
43 | if manager then
44 | hooksecurefunc(manager, 'OpenMenu', S.OpenMenu)
45 | hooksecurefunc(manager, 'OpenContextMenu', S.OpenContextMenu)
46 | end
47 | end
48 |
49 | S:AddCallbackForAddon('Blizzard_Menu')
50 |
--------------------------------------------------------------------------------
/ElvUI/Mainline/Modules/Skins/MirrorTimers.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local S = E:GetModule('Skins')
3 |
4 | local _G = _G
5 | local CreateFrame = CreateFrame
6 | local hooksecurefunc = hooksecurefunc
7 |
8 | local function SetupTimer(container, timer)
9 | local bar = container:GetAvailableTimer(timer)
10 | if not bar then return end
11 |
12 | if not bar.atlasHolder then
13 | bar.atlasHolder = CreateFrame('Frame', nil, bar)
14 | bar.atlasHolder:SetClipsChildren(true)
15 | bar.atlasHolder:SetInside()
16 |
17 | bar.StatusBar:SetParent(bar.atlasHolder)
18 | bar.StatusBar:ClearAllPoints()
19 | bar.StatusBar:SetSize(204, 22)
20 | bar.StatusBar:Point('TOP', 0, 2)
21 |
22 | bar:SetSize(200, 18)
23 |
24 | bar.Text:FontTemplate()
25 | bar.Text:ClearAllPoints()
26 | bar.Text:SetParent(bar.StatusBar)
27 | bar.Text:Point('CENTER', bar.StatusBar, 0, 1)
28 | end
29 |
30 | bar:StripTextures()
31 | bar:SetTemplate('Transparent')
32 | end
33 |
34 | function S:MirrorTimers() -- Mirror Timers (Underwater Breath, etc.)
35 | if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.mirrorTimers) then return end
36 |
37 | hooksecurefunc(_G.MirrorTimerContainer, 'SetupTimer', SetupTimer)
38 | end
39 |
40 | S:AddCallback('MirrorTimers')
41 |
--------------------------------------------------------------------------------
/ElvUI/Mainline/Modules/Skins/NonRaid.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local S = E:GetModule('Skins')
3 |
4 | local _G = _G
5 | local next = next
6 |
7 | function S:RaidInfoFrame()
8 | if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.nonraid) then return end
9 |
10 | for _, frame in next, {
11 | _G.RaidInfoFrame,
12 | _G.RaidInfoInstanceLabel,
13 | _G.RaidInfoIDLabel,
14 | } do
15 | frame:StripTextures()
16 | end
17 |
18 | for _, texture in next, {
19 | _G.RaidInfoScrollFrameScrollBarBG,
20 | _G.RaidInfoScrollFrameScrollBarTop,
21 | _G.RaidInfoScrollFrameScrollBarBottom,
22 | _G.RaidInfoScrollFrameScrollBarMiddle,
23 | } do
24 | texture:Kill()
25 | end
26 |
27 | for _, button in next, {
28 | _G.RaidFrameConvertToRaidButton,
29 | _G.RaidFrameRaidInfoButton,
30 | _G.RaidInfoExtendButton,
31 | _G.RaidInfoCancelButton,
32 | } do
33 | S:HandleButton(button)
34 | end
35 |
36 | local RaidInfoFrame = _G.RaidInfoFrame
37 | RaidInfoFrame:SetTemplate('Transparent')
38 | RaidInfoFrame.Header:StripTextures()
39 | S:HandleCloseButton(_G.RaidInfoCloseButton,RaidInfoFrame)
40 | S:HandleTrimScrollBar(RaidInfoFrame.ScrollBar)
41 | S:HandleCheckBox(_G.RaidFrameAllAssistCheckButton)
42 | end
43 |
44 | S:AddCallback('RaidInfoFrame')
45 |
--------------------------------------------------------------------------------
/ElvUI/Mainline/Modules/Skins/Obliterum.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local S = E:GetModule('Skins')
3 |
4 | local _G = _G
5 | local unpack = unpack
6 |
7 | function S:Blizzard_ObliterumUI()
8 | if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.obliterum) then return end
9 |
10 | local ObliterumForgeFrame = _G.ObliterumForgeFrame
11 | S:HandlePortraitFrame(ObliterumForgeFrame)
12 | ObliterumForgeFrame.ItemSlot:SetTemplate()
13 | ObliterumForgeFrame.ItemSlot.Icon:SetTexCoord(unpack(E.TexCoords))
14 | S:HandleButton(ObliterumForgeFrame.ObliterateButton)
15 | end
16 |
17 | S:AddCallbackForAddon('Blizzard_ObliterumUI')
18 |
--------------------------------------------------------------------------------
/ElvUI/Mainline/Modules/Skins/Petition.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local S = E:GetModule('Skins')
3 |
4 | local _G = _G
5 |
6 | function S:PetitionFrame()
7 | if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.petition) then return end
8 |
9 | local PetitionFrame = _G.PetitionFrame
10 | PetitionFrame:StripTextures(true)
11 | PetitionFrame:SetTemplate('Transparent')
12 | _G.PetitionFrameInset:Kill()
13 |
14 | S:HandleTrimScrollBar(PetitionFrame.ScrollBar)
15 |
16 | S:HandleButton(_G.PetitionFrameSignButton)
17 | S:HandleButton(_G.PetitionFrameRequestButton)
18 | S:HandleButton(_G.PetitionFrameRenameButton)
19 | S:HandleButton(_G.PetitionFrameCancelButton)
20 | S:HandleCloseButton(_G.PetitionFrameCloseButton)
21 |
22 | _G.PetitionFrameCharterTitle:SetTextColor(1, 1, 0)
23 | _G.PetitionFrameCharterName:SetTextColor(1, 1, 1)
24 | _G.PetitionFrameMasterTitle:SetTextColor(1, 1, 0)
25 | _G.PetitionFrameMasterName:SetTextColor(1, 1, 1)
26 | _G.PetitionFrameMemberTitle:SetTextColor(1, 1, 0)
27 |
28 | for i = 1, 9 do
29 | _G['PetitionFrameMemberName'..i]:SetTextColor(1, 1, 1)
30 | end
31 |
32 | _G.PetitionFrameInstructions:SetTextColor(1, 1, 1)
33 | _G.PetitionFrameRenameButton:Point('LEFT', _G.PetitionFrameRequestButton, 'RIGHT', 3, 0)
34 | _G.PetitionFrameRenameButton:Point('RIGHT', _G.PetitionFrameCancelButton, 'LEFT', -3, 0)
35 | end
36 |
37 | S:AddCallback('PetitionFrame')
38 |
--------------------------------------------------------------------------------
/ElvUI/Mainline/Modules/Skins/QuestChoice.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local S = E:GetModule('Skins')
3 |
4 | local _G = _G
5 |
6 | function S:Blizzard_QuestChoice()
7 | if not E.private.skins.blizzard.questChoice then return end
8 |
9 | local QuestChoiceFrame = _G.QuestChoiceFrame
10 | for i = 1, 4 do
11 | local option = QuestChoiceFrame['Option'..i]
12 | local rewards = option.Rewards
13 | local item = rewards.Item
14 | local icon = item.Icon
15 | local currencies = rewards.Currencies
16 |
17 | item.IconBorder:Kill()
18 | S:HandleIcon(icon)
19 | icon:SetDrawLayer('ARTWORK')
20 |
21 | for j = 1, 3 do
22 | local cu = currencies['Currency'..j]
23 | S:HandleIcon(cu.Icon)
24 | end
25 | end
26 |
27 | QuestChoiceFrame:SetTemplate('Transparent')
28 | S:HandleButton(_G.QuestChoiceFrameOption1.OptionButtonsContainer.OptionButton1)
29 | S:HandleButton(_G.QuestChoiceFrameOption2.OptionButtonsContainer.OptionButton1)
30 | S:HandleButton(_G.QuestChoiceFrameOption3.OptionButtonsContainer.OptionButton1)
31 | S:HandleButton(_G.QuestChoiceFrameOption4.OptionButtonsContainer.OptionButton1)
32 |
33 | S:HandleCloseButton(QuestChoiceFrame.CloseButton)
34 | QuestChoiceFrame.CloseButton:SetFrameLevel(10)
35 | end
36 |
37 | S:AddCallbackForAddon('Blizzard_QuestChoice')
38 |
--------------------------------------------------------------------------------
/ElvUI/Mainline/Modules/Skins/Raid.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local S = E:GetModule('Skins')
3 |
4 | local _G = _G
5 | local pairs = pairs
6 |
7 | local StripAllTextures = {
8 | 'RaidGroup1',
9 | 'RaidGroup2',
10 | 'RaidGroup3',
11 | 'RaidGroup4',
12 | 'RaidGroup5',
13 | 'RaidGroup6',
14 | 'RaidGroup7',
15 | 'RaidGroup8',
16 | }
17 |
18 | function S:Blizzard_RaidUI()
19 | if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.raid) then return end
20 |
21 | for _, object in pairs(StripAllTextures) do
22 | local obj = _G[object]
23 | if obj then
24 | obj:StripTextures()
25 |
26 | for j=1,5 do
27 | local slot = _G[object..'Slot'..j]
28 | if slot then
29 | slot:StripTextures()
30 | slot:SetTemplate('Transparent')
31 | end
32 | end
33 | end
34 | end
35 |
36 | for i=1, _G.MAX_RAID_GROUPS*5 do
37 | S:HandleButton(_G['RaidGroupButton'..i], true)
38 | end
39 | end
40 |
41 | S:AddCallbackForAddon('Blizzard_RaidUI')
42 |
--------------------------------------------------------------------------------
/ElvUI/Mainline/Modules/Skins/Runeforge.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local S = E:GetModule('Skins')
3 |
4 | local _G = _G
5 | local hooksecurefunc = hooksecurefunc
6 |
7 | function S:Blizzard_RuneforgeUI()
8 | if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.runeforge) then return end
9 |
10 | local frame = _G.RuneforgeFrame
11 | frame.Title:FontTemplate(nil, 22)
12 | S:HandleCloseButton(frame.CloseButton)
13 |
14 | S:HandleButton(frame.CreateFrame.CraftItemButton)
15 |
16 | local powerFrame = frame.CraftingFrame.PowerFrame
17 |
18 | local pageControl = powerFrame.PageControl
19 | S:HandleNextPrevButton(pageControl.BackwardButton)
20 | S:HandleNextPrevButton(pageControl.ForwardButton)
21 |
22 | hooksecurefunc(powerFrame.PowerList, 'RefreshListDisplay', function(list)
23 | if not list.elements then return end
24 |
25 | for i = 1, list:GetNumElementFrames() do
26 | local button = list.elements[i]
27 | if button and not button.IsSkinned then
28 | button.Border:SetAlpha(0)
29 | button.CircleMask:Hide()
30 | S:HandleIcon(button.Icon, true)
31 |
32 | button.IsSkinned = true
33 | end
34 | end
35 | end)
36 | end
37 |
38 | S:AddCallbackForAddon('Blizzard_RuneforgeUI')
39 |
--------------------------------------------------------------------------------
/ElvUI/Mainline/Modules/Skins/ScrappingMachine.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local S = E:GetModule('Skins')
3 |
4 | local _G = _G
5 | local next = next
6 | local unpack = unpack
7 |
8 | function S:Blizzard_ScrappingMachineUI()
9 | if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.scrapping) then return end
10 |
11 | local MachineFrame = _G.ScrappingMachineFrame
12 | S:HandlePortraitFrame(MachineFrame)
13 | S:HandleButton(MachineFrame.ScrapButton)
14 |
15 | local ItemSlots = MachineFrame.ItemSlots
16 | ItemSlots:StripTextures()
17 |
18 | -- this used to be setup good
19 | for i, button in next, { ItemSlots:GetChildren() } do
20 | if button.Icon then
21 | local holder = i == 1 and button:GetParent()
22 | if holder and not holder.backdrop then
23 | holder:CreateBackdrop('Transparent')
24 | holder.backdrop:SetOutside(nil, 30, 10)
25 | end
26 |
27 | button:StripTextures()
28 | S:HandleIcon(button.Icon, true)
29 | S:HandleIconBorder(button.IconBorder, button.Icon.backdrop)
30 | button.Icon.backdrop:SetBackdropBorderColor(unpack(E.media.bordercolor))
31 | end
32 | end
33 |
34 | -- Temp mover
35 | MachineFrame:SetMovable(true)
36 | MachineFrame:RegisterForDrag('LeftButton')
37 | MachineFrame:SetScript('OnDragStart', function(s) s:StartMoving() end)
38 | MachineFrame:SetScript('OnDragStop', function(s) s:StopMovingOrSizing() end)
39 | end
40 |
41 | S:AddCallbackForAddon('Blizzard_ScrappingMachineUI')
42 |
--------------------------------------------------------------------------------
/ElvUI/Mainline/Modules/Skins/Soulbinds.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local S = E:GetModule('Skins')
3 |
4 | local _G = _G
5 |
6 | -- Credits: siweia - Aurora Classic
7 | function S:Blizzard_Soulbinds()
8 | if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.soulbinds) then return end
9 |
10 | local frame = _G.SoulbindViewer
11 | frame:StripTextures()
12 | frame:SetTemplate('Transparent')
13 |
14 | S:HandleCloseButton(frame.CloseButton)
15 | S:HandleButton(frame.CommitConduitsButton)
16 | frame.CommitConduitsButton:SetFrameLevel(10)
17 | S:HandleButton(frame.ActivateSoulbindButton)
18 | frame.ActivateSoulbindButton:SetFrameLevel(10)
19 | end
20 |
21 | S:AddCallbackForAddon('Blizzard_Soulbinds')
22 |
--------------------------------------------------------------------------------
/ElvUI/Mainline/Modules/Skins/SubscriptionInterstitial.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local S = E:GetModule('Skins')
3 |
4 | local _G = _G
5 |
6 | -- /run SubscriptionInterstitial_LoadUI(); _G.SubscriptionInterstitialFrame:Show()
7 |
8 | function S:Blizzard_SubscriptionInterstitialUI()
9 | if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.subscriptionInterstitial) then return end
10 |
11 | local SubscriptionInterstitial = _G.SubscriptionInterstitialFrame
12 |
13 | SubscriptionInterstitial:StripTextures()
14 | SubscriptionInterstitial:SetTemplate('Transparent')
15 | SubscriptionInterstitial.ShadowOverlay:Hide()
16 |
17 | S:HandleCloseButton(SubscriptionInterstitial.CloseButton)
18 | S:HandleButton(SubscriptionInterstitial.ClosePanelButton)
19 | end
20 |
21 | S:AddCallbackForAddon('Blizzard_SubscriptionInterstitialUI')
22 |
--------------------------------------------------------------------------------
/ElvUI/Mainline/Modules/Skins/Taxi.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local S = E:GetModule('Skins')
3 |
4 | local _G = _G
5 |
6 | function S:TaxiFrame()
7 | if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.taxi) then return end
8 |
9 | local TaxiFrame = _G.TaxiFrame
10 | TaxiFrame:StripTextures()
11 | TaxiFrame:SetTemplate('Transparent')
12 | _G.TaxiRouteMap:SetTemplate()
13 |
14 | S:HandleCloseButton(TaxiFrame.CloseButton)
15 | end
16 |
17 | S:AddCallback('TaxiFrame')
18 |
--------------------------------------------------------------------------------
/ElvUI/Mainline/Modules/Skins/TorghastLevelPicker.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local S = E:GetModule('Skins')
3 |
4 | local _G = _G
5 | local hooksecurefunc = hooksecurefunc
6 |
7 | function S:Blizzard_TorghastLevelPicker()
8 | if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.torghastLevelPicker) then return end
9 |
10 | local frame = _G.TorghastLevelPickerFrame
11 | frame.Title:FontTemplate(nil, 24)
12 |
13 | S:HandleCloseButton(frame.CloseButton)
14 | S:HandleNextPrevButton(frame.Pager.PreviousPage)
15 | S:HandleNextPrevButton(frame.Pager.NextPage)
16 | S:HandleButton(frame.OpenPortalButton)
17 |
18 | hooksecurefunc(frame, 'ScrollAndSelectHighestAvailableLayer', function(page)
19 | for layer in page.gossipOptionsPool:EnumerateActive() do
20 | if not layer.IsSkinned then
21 | layer.SelectedBorder:SetAtlas('charactercreate-ring-select')
22 | layer.SelectedBorder:Size(120)
23 | layer.SelectedBorder:Point('CENTER')
24 | layer.IsSkinned = true
25 | end
26 | end
27 | end)
28 | end
29 |
30 | S:AddCallbackForAddon('Blizzard_TorghastLevelPicker')
31 |
--------------------------------------------------------------------------------
/ElvUI/Mainline/Modules/Skins/TutorialFrame.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local S = E:GetModule('Skins')
3 |
4 | local _G = _G
5 |
6 | function S:TutorialFrame()
7 | if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.tutorials) then return end
8 |
9 | _G.TutorialFrame:DisableDrawLayer('BORDER')
10 | _G.TutorialFrame:CreateBackdrop('Transparent')
11 | _G.TutorialFrameBackground:Hide()
12 | _G.TutorialFrameBackground.Show = E.noop
13 |
14 | S:HandleCloseButton(_G.TutorialFrameCloseButton)
15 | S:HandleButton(_G.TutorialFrameOkayButton)
16 | S:HandleNextPrevButton(_G.TutorialFramePrevButton, 'left')
17 | S:HandleNextPrevButton(_G.TutorialFrameNextButton, 'right')
18 | end
19 |
20 | S:AddCallback('TutorialFrame')
21 |
--------------------------------------------------------------------------------
/ElvUI/Mainline/Modules/Skins/WarfrontPartyPose.lua:
--------------------------------------------------------------------------------
1 | local E, L, V, P, G = unpack(ElvUI)
2 | local S = E:GetModule('Skins')
3 |
4 | local _G = _G
5 | local unpack = unpack
6 |
7 | function S:Blizzard_WarfrontsPartyPoseUI()
8 | if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.islandsPartyPose) then return end
9 |
10 | local WarfrontsPartyPoseFrame = _G.WarfrontsPartyPoseFrame
11 | WarfrontsPartyPoseFrame:StripTextures()
12 | WarfrontsPartyPoseFrame:SetTemplate('Transparent')
13 |
14 | local modelScene = WarfrontsPartyPoseFrame.ModelScene
15 | modelScene:StripTextures()
16 | modelScene:SetTemplate('Transparent')
17 |
18 | S:HandleButton(WarfrontsPartyPoseFrame.LeaveButton)
19 |
20 | local rewardFrame = WarfrontsPartyPoseFrame.RewardAnimations.RewardFrame
21 | rewardFrame:CreateBackdrop('Transparent')
22 | rewardFrame.backdrop:Point('TOPLEFT', -5, 5)
23 | rewardFrame.backdrop:Point('BOTTOMRIGHT', rewardFrame.NameFrame, 0, -5)
24 |
25 | rewardFrame.NameFrame:SetAlpha(0)
26 | rewardFrame.IconBorder:Kill()
27 | rewardFrame.Icon:SetTexCoord(unpack(E.TexCoords))
28 | end
29 |
30 | S:AddCallbackForAddon('Blizzard_WarfrontsPartyPoseUI')
31 |
--------------------------------------------------------------------------------
/ElvUI_Libraries/Core/Ace3-ElvUI/AceGUI-ElvUI.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/ElvUI_Libraries/Core/Ace3/AceConfig-3.0/AceConfig-3.0.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/ElvUI_Libraries/Core/Ace3/AceConfig-3.0/AceConfigCmd-3.0/AceConfigCmd-3.0.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
--------------------------------------------------------------------------------
/ElvUI_Libraries/Core/Ace3/AceConfig-3.0/AceConfigDialog-3.0/AceConfigDialog-3.0.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
--------------------------------------------------------------------------------
/ElvUI_Libraries/Core/Ace3/AceConfig-3.0/AceConfigRegistry-3.0/AceConfigRegistry-3.0.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
--------------------------------------------------------------------------------
/ElvUI_Libraries/Core/Ace3/AceLocale-3.0/AceLocale-3.0.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
--------------------------------------------------------------------------------
/ElvUI_Libraries/Core/LibDeflate/LICENSE.txt:
--------------------------------------------------------------------------------
1 | zlib License
2 |
3 | (C) 2018-2021 Haoqian He
4 |
5 | This software is provided 'as-is', without any express or implied
6 | warranty. In no event will the authors be held liable for any damages
7 | arising from the use of this software.
8 |
9 | Permission is granted to anyone to use this software for any purpose,
10 | including commercial applications, and to alter it and redistribute it
11 | freely, subject to the following restrictions:
12 |
13 | 1. The origin of this software must not be misrepresented; you must not
14 | claim that you wrote the original software. If you use this software
15 | in a product, an acknowledgment in the product documentation would be
16 | appreciated but is not required.
17 | 2. Altered source versions must be plainly marked as such, and must not be
18 | misrepresented as being the original software.
19 | 3. This notice may not be removed or altered from any source distribution.
20 |
--------------------------------------------------------------------------------
/ElvUI_Libraries/Core/oUF/LICENSE.txt:
--------------------------------------------------------------------------------
1 | Copyright (c) 2006-2024 Trond A Ekseth
2 | Copyright (c) 2016-2024 Val Voronov
3 | Copyright (c) 2016-2024 Adrian L Lange
4 | Copyright (c) 2016-2024 Rainrider
5 |
6 | Permission is hereby granted, free of charge, to any person
7 | obtaining a copy of this software and associated documentation
8 | files (the "Software"), to deal in the Software without
9 | restriction, including without limitation the rights to use,
10 | copy, modify, merge, publish, distribute, sublicense, and/or sell
11 | copies of the Software, and to permit persons to whom the
12 | Software is furnished to do so, subject to the following
13 | conditions:
14 |
15 | The above copyright notice and this permission notice shall be
16 | included in all copies or substantial portions of the Software.
17 |
18 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
19 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
20 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
21 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
22 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
23 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
24 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
25 | OTHER DEALINGS IN THE SOFTWARE.
26 |
--------------------------------------------------------------------------------
/ElvUI_Libraries/Core/oUF/finalize.lua:
--------------------------------------------------------------------------------
1 | local _, ns = ...
2 |
3 | -- It's named Private for a reason!
4 | ns.oUF.Private = nil
5 |
--------------------------------------------------------------------------------
/ElvUI_Libraries/Core/oUF/init.lua:
--------------------------------------------------------------------------------
1 | local _, ns = ...
2 | local oUF = { Private = {} }
3 | ns.oUF = oUF
4 |
5 | oUF.isTBC = WOW_PROJECT_ID == WOW_PROJECT_BURNING_CRUSADE_CLASSIC -- not used
6 | oUF.isCata = WOW_PROJECT_ID == WOW_PROJECT_CATACLYSM_CLASSIC
7 | oUF.isWrath = WOW_PROJECT_ID == WOW_PROJECT_WRATH_CLASSIC
8 | oUF.isRetail = WOW_PROJECT_ID == WOW_PROJECT_MAINLINE
9 | oUF.isClassic = WOW_PROJECT_ID == WOW_PROJECT_CLASSIC
10 |
11 | local season = C_Seasons and C_Seasons.GetActiveSeason()
12 | oUF.isClassicHC = season == 3 -- Hardcore
13 | oUF.isClassicSOD = season == 2 -- Season of Discovery
14 | oUF.isClassicAnniv = season == 11 -- Anniversary
15 | oUF.isClassicAnnivHC = season == 12 -- Anniversary Hardcore
16 |
--------------------------------------------------------------------------------
/ElvUI_Libraries/Core/oUF_Plugins/oUF_Plugins.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/ElvUI_Libraries/ElvUI_Libraries_Cata.toc:
--------------------------------------------------------------------------------
1 | ## Title: |cff1784d1ElvUI|r |cfd9b9b9bLibraries|r
2 | ## Notes: Libraries that power ElvUI
3 | ## Author: Elv, Simpy
4 | ## Version: @project-version@
5 | ## Interface: 40402
6 | ## OptionalDeps: LibHealComm-4.0
7 | ## X-oUF: ElvUF
8 |
9 | Cata\Libs.xml
10 |
--------------------------------------------------------------------------------
/ElvUI_Libraries/ElvUI_Libraries_Mainline.toc:
--------------------------------------------------------------------------------
1 | ## Title: |cff1784d1ElvUI|r |cfd9b9b9bLibraries|r
2 | ## Notes: Libraries that power ElvUI
3 | ## Author: Elv, Simpy
4 | ## Version: @project-version@
5 | ## Interface: 110105
6 | ## X-oUF: ElvUF
7 | ## IconTexture: Interface\AddOns\ElvUI\Core\Media\Textures\LogoAddon
8 | ## Category-enUS: UI Overhaul
9 | ## Category-deDE: UI-Überholung
10 | ## Category-esES: Renovación de la UI
11 | ## Category-esMX: Renovación de la UI
12 | ## Category-itIT: Revisione dell'UI
13 | ## Category-frFR: Révision de l'UI
14 | ## Category-ptBR: Renovação da UI
15 | ## Category-ruRU: Переработка интерфейса
16 | ## Category-koKR: UI 개편
17 | ## Category-zhCN: UI重构
18 | ## Category-zhTW: UI重構
19 | ## Group: ElvUI_Libraries
20 |
21 | Mainline\Libs.xml
22 |
--------------------------------------------------------------------------------
/ElvUI_Libraries/ElvUI_Libraries_Vanilla.toc:
--------------------------------------------------------------------------------
1 | ## Title: |cff1784d1ElvUI|r |cfd9b9b9bLibraries|r
2 | ## Notes: Libraries that power ElvUI
3 | ## Author: Elv, Simpy
4 | ## Version: @project-version@
5 | ## Interface: 11507
6 | ## OptionalDeps: LibHealComm-4.0
7 | ## X-oUF: ElvUF
8 |
9 | Classic\Libs.xml
10 |
--------------------------------------------------------------------------------
/ElvUI_Options/Core/Load.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/ElvUI_Options/ElvUI_Options_Cata.toc:
--------------------------------------------------------------------------------
1 | ## Title: |cff1784d1ElvUI|r |cfd9b9b9bOptions|r
2 | ## Notes: Powers the configuration window.|n|cffff3333Does not store any profile data.|r
3 | ## Author: Elv, Simpy
4 | ## Version: @project-version@
5 | ## Interface: 40402
6 | ## RequiredDeps: ElvUI
7 | ## LoadOnDemand: 1
8 |
9 | Core\Load.xml
10 |
--------------------------------------------------------------------------------
/ElvUI_Options/ElvUI_Options_Mainline.toc:
--------------------------------------------------------------------------------
1 | ## Title: |cff1784d1ElvUI|r |cfd9b9b9bOptions|r
2 | ## Notes: Powers the configuration window.|n|cffff3333Does not store any profile data.|r
3 | ## Author: Elv, Simpy
4 | ## Version: @project-version@
5 | ## Interface: 110105
6 | ## RequiredDeps: ElvUI
7 | ## LoadOnDemand: 1
8 | ## IconTexture: Interface\AddOns\ElvUI\Core\Media\Textures\LogoAddon
9 | ## Category-enUS: UI Overhaul
10 | ## Category-deDE: UI-Überholung
11 | ## Category-esES: Renovación de la UI
12 | ## Category-esMX: Renovación de la UI
13 | ## Category-itIT: Revisione dell'UI
14 | ## Category-frFR: Révision de l'UI
15 | ## Category-ptBR: Renovação da UI
16 | ## Category-ruRU: Переработка интерфейса
17 | ## Category-koKR: UI 개편
18 | ## Category-zhCN: UI重构
19 | ## Category-zhTW: UI重構
20 | ## Group: ElvUI_Options
21 |
22 | Core\Load.xml
23 |
--------------------------------------------------------------------------------
/ElvUI_Options/ElvUI_Options_Vanilla.toc:
--------------------------------------------------------------------------------
1 | ## Title: |cff1784d1ElvUI|r |cfd9b9b9bOptions|r
2 | ## Notes: Powers the configuration window.|n|cffff3333Does not store any profile data.|r
3 | ## Author: Elv, Simpy
4 | ## Version: @project-version@
5 | ## Interface: 11507
6 | ## RequiredDeps: ElvUI
7 | ## LoadOnDemand: 1
8 |
9 | Core\Load.xml
10 |
--------------------------------------------------------------------------------
/ElvUI_Options/LICENSE.txt:
--------------------------------------------------------------------------------
1 | Custom License for: ElvUI_Options
2 | Copyright ©2009-2023 The contents of this addon, excluding third-party resources, are
3 | copyrighted to their authors with all rights reserved.
4 |
5 | This addon is free to use and the authors hereby grant you the following rights:
6 |
7 | 1. You may make modifications to this addon for private use only, you
8 | may not publicize any portion of this addon. The only exception being you may
9 | upload to the GitHub website.
10 |
11 | 2. Do not modify the name of this addon, including the addon folders.
12 |
13 | 3. This copyright notice shall be included in all copies or substantial
14 | portions of the Software.
15 |
16 | All rights not explicitly addressed in this license are reserved by
17 | the copyright holders.
18 |
--------------------------------------------------------------------------------
/ElvUI_Options/Locales/Load_Locales.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/LICENSE.md:
--------------------------------------------------------------------------------
1 | ## ElvUI
2 |
3 | **Source**: [https://github.com/tukui-org/ElvUI/tree/main/ElvUI](https://github.com/tukui-org/ElvUI/tree/main/ElvUI)
4 |
5 | ```
6 | Copyright © 2009-2025 The contents of this addon, excluding third-party resources, are
7 | copyrighted to their authors with all rights reserved.
8 | Reference: github.com/tukui-org/ElvUI/blob/main/ElvUI/LICENSE.txt
9 | ```
10 |
11 | ## ElvUI_Options
12 |
13 | **Source**: [https://github.com/tukui-org/ElvUI/tree/main/ElvUI_Options](https://github.com/tukui-org/ElvUI/tree/main/ElvUI_Options)
14 |
15 | ```
16 | Copyright © 2009-2025 The contents of this addon, excluding third-party resources, are
17 | copyrighted to their authors with all rights reserved.
18 | Reference: github.com/tukui-org/ElvUI/blob/main/ElvUI_Options/LICENSE.txt
19 | ```
20 |
21 | ## ElvUI_Libraries
22 |
23 | **Source**: [https://github.com/tukui-org/ElvUI/tree/main/ElvUI_Libraries](https://github.com/tukui-org/ElvUI/tree/main/ElvUI_Libraries)
24 |
25 | ```
26 | The third-party resources in this folder are licensed under their own license,
27 | which is stated in the ThirdPartyNotices.md file.
28 | Reference: github.com/tukui-org/ElvUI/blob/main/ThirdPartyNotices.md
29 | ```
30 |
--------------------------------------------------------------------------------
/Makefile:
--------------------------------------------------------------------------------
1 | PACKAGER_URL := https://raw.githubusercontent.com/BigWigsMods/packager/master/release.sh
2 |
3 | .PHONY: libs
4 |
5 | all:
6 |
7 | libs:
8 | curl -s $(PACKAGER_URL) | bash -s -- -c -d -z
9 | cp -a .release/ElvUI_Libraries/* ElvUI_Libraries/
10 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | **User Interface replacement AddOn for World of Warcraft.**
2 |
3 | [](https://tukui.org/support)
4 | [](https://tukui.org/elvui)
5 | [](https://github.com/tukui-org/ElvUI/blob/main/CHANGELOG.md)
6 | [](https://discord.tukui.org)
7 |
--------------------------------------------------------------------------------