├── NeatPlatesHub
├── Menus.lua
├── shared
│ ├── Empty.tga
│ ├── Target.tga
│ ├── _Target.tga
│ ├── Arrow-Left.tga
│ ├── Arrow-Right.tga
│ ├── Arrow-Sides.tga
│ ├── Arrow-Top.tga
│ ├── Highlight.tga
│ ├── Scale-Icon.tga
│ ├── ThinBlackLine.tga
│ ├── Arrow-Neon-Sides.tga
│ ├── Button-Down-Blue.tga
│ ├── Button-Highlight.tga
│ ├── Button-Up-Blue.tga
│ ├── AccidentalPresidency.ttf
│ ├── RobotoCondensed-Bold.ttf
│ ├── RobotoCondensed-Regular.ttf
│ └── YanoneKaffeesatz-Regular.ttf
├── NeatPlatesHub.toc
├── NeatPlatesHub-Cata.toc
├── NeatPlatesHub-Mists.toc
├── NeatPlatesHub-TBC.toc
├── NeatPlatesHub-WOTLKC.toc
├── NeatPlatesHub-Classic.toc
├── functions
│ ├── EnableWatchers.lua
│ ├── Filter.lua
│ └── Scale.lua
└── Helpers.lua
├── NeatPlates_Neon
├── Neon_Bar.tga
├── Neon_Select.tga
├── Neon_CastOverlay.tga
├── Neon_EliteIcon.tga
├── Neon_EliteStar.tga
├── Neon_Highlight.tga
├── Skull_Icon_White.tga
├── Neon_Bar_Backdrop.tga
├── Neon_HealthOverlay.tga
├── Neon_CastOverlayNoInt.tga
├── Neon_AggroOverlayWhite.tga
├── Neon_CastOverlay-noicon.tga
├── Neon_HealthOverlay_Cube.tga
├── NeonRaidTargetingIcons copy.tga
├── Neon_CastOverlayNoInt-noicon.tga
├── NeatPlates_Neon-TBC.toc
├── NeatPlates_Neon.toc
├── NeatPlates_Neon-Cata.toc
├── NeatPlates_Neon-Classic.toc
├── NeatPlates_Neon-Mists.toc
└── NeatPlates_Neon-WOTLKC.toc
├── NeatPlatesWidgets
├── Aura
│ ├── Edge.blp
│ ├── AuraFrameWide.tga
│ ├── AuraFrameSquare.tga
│ ├── AuraFrameHighlightSquare.tga
│ └── AuraFrameHighlightWide.tga
├── ClassWidget
│ ├── MAGE.tga
│ ├── MONK.tga
│ ├── BORDER.tga
│ ├── DRUID.tga
│ ├── EVOKER.tga
│ ├── HUNTER.tga
│ ├── PALADIN.tga
│ ├── PRIEST.tga
│ ├── ROGUE.tga
│ ├── SHAMAN.tga
│ ├── WARLOCK.tga
│ ├── WARRIOR.tga
│ ├── DEATHKNIGHT.tga
│ └── DEMONHUNTER.tga
├── ArenaIcons
│ ├── arena1.tga
│ ├── arena2.tga
│ ├── arena3.tga
│ ├── arena4.tga
│ └── arena5.tga
├── ComboWidget
│ ├── Powers.tga
│ ├── PowersNeat.tga
│ ├── PowersTrad.tga
│ ├── ShardSpark.tga
│ ├── RogueKyrianOverlay.tga
│ ├── RogueKyrianOverlayNeat.tga
│ ├── RogueKyrianOverlayOff.tga
│ └── RogueKyrianOverlayNeatOff.tga
├── AbsorbWidget
│ ├── Absorbs.tga
│ ├── AbsorbsVertical.tga
│ ├── HealingAbsorbs.tga
│ └── HealingAbsorbsVertical.tga
├── RangeWidget
│ ├── RangeWidget.tga
│ ├── RangeWidgetCircle.tga
│ └── RangeWidgetLine.tga
├── ResourceWidget
│ ├── Generic.tga
│ ├── Neat
│ │ ├── SwipeEdge.tga
│ │ ├── DK-Rune-Off.tga
│ │ ├── Monk-Chi-On.tga
│ │ ├── ComboPoint-Off.tga
│ │ ├── ComboPoint-On.tga
│ │ ├── Monk-Chi-Off.tga
│ │ ├── DK-Rune-Blood-On.tga
│ │ ├── DK-Rune-Frost-On.tga
│ │ ├── Warlock-Shard-On.tga
│ │ ├── DK-Rune-Unholy-On.tga
│ │ ├── Evoker-Essence-Off.tga
│ │ ├── Evoker-Essence-On.tga
│ │ ├── Warlock-Shard-Off.tga
│ │ ├── ComboPoint-Charged-On.tga
│ │ ├── Mage-ArcaneCharge-Off.tga
│ │ ├── Mage-ArcaneCharge-On.tga
│ │ ├── ComboPoint-Charged-Off.tga
│ │ ├── DK-Rune-Classic-Blood-On.tga
│ │ ├── DK-Rune-Classic-Death-On.tga
│ │ ├── DK-Rune-Classic-Frost-On.tga
│ │ ├── Paladin-HolyPower-1-Off.tga
│ │ ├── Paladin-HolyPower-1-On.tga
│ │ ├── Paladin-HolyPower-2-Off.tga
│ │ ├── Paladin-HolyPower-2-On.tga
│ │ ├── Paladin-HolyPower-3-Off.tga
│ │ ├── Paladin-HolyPower-3-On.tga
│ │ ├── Paladin-HolyPower-4-Off.tga
│ │ ├── Paladin-HolyPower-4-On.tga
│ │ ├── Paladin-HolyPower-5-Off.tga
│ │ ├── Paladin-HolyPower-5-On.tga
│ │ ├── DK-Rune-Classic-Blood-Off.tga
│ │ ├── DK-Rune-Classic-Death-Off.tga
│ │ ├── DK-Rune-Classic-Frost-Off.tga
│ │ ├── DK-Rune-Classic-Unholy-Off.tga
│ │ └── DK-Rune-Classic-Unholy-On.tga
│ └── Blizzard
│ │ ├── SwipeEdge.tga
│ │ ├── DK-Rune-Off.tga
│ │ ├── Monk-Chi-Off.tga
│ │ ├── Monk-Chi-On.tga
│ │ ├── ComboPoint-Off.tga
│ │ ├── ComboPoint-On.tga
│ │ ├── DK-Rune-Blood-On.tga
│ │ ├── DK-Rune-Frost-On.tga
│ │ ├── DK-Rune-Unholy-On.tga
│ │ ├── Evoker-Essence-On.tga
│ │ ├── Warlock-Shard-Off.tga
│ │ ├── Warlock-Shard-On.tga
│ │ ├── Evoker-Essence-Off.tga
│ │ ├── Mage-ArcaneCharge-On.tga
│ │ ├── ComboPoint-Charged-Off.tga
│ │ ├── ComboPoint-Charged-On.tga
│ │ ├── Mage-ArcaneCharge-Off.tga
│ │ ├── Paladin-HolyPower-1-On.tga
│ │ ├── Paladin-HolyPower-2-On.tga
│ │ ├── Paladin-HolyPower-3-On.tga
│ │ ├── Paladin-HolyPower-4-On.tga
│ │ ├── Paladin-HolyPower-5-On.tga
│ │ ├── DK-Rune-Classic-Blood-Off.tga
│ │ ├── DK-Rune-Classic-Blood-On.tga
│ │ ├── DK-Rune-Classic-Death-Off.tga
│ │ ├── DK-Rune-Classic-Death-On.tga
│ │ ├── DK-Rune-Classic-Frost-Off.tga
│ │ ├── DK-Rune-Classic-Frost-On.tga
│ │ ├── DK-Rune-Classic-Unholy-On.tga
│ │ ├── Paladin-HolyPower-1-Off.tga
│ │ ├── Paladin-HolyPower-2-Off.tga
│ │ ├── Paladin-HolyPower-3-Off.tga
│ │ ├── Paladin-HolyPower-4-Off.tga
│ │ ├── Paladin-HolyPower-5-Off.tga
│ │ └── DK-Rune-Classic-Unholy-Off.tga
├── QuestWidget
│ └── QuestIndicator.tga
├── ThreatLine
│ └── ThreatLineUnified.tga
├── NeatPlatesWidgets.toc
├── NeatPlatesWidgets-Cata.toc
├── NeatPlatesWidgets-Mists.toc
├── NeatPlatesWidgets-TBC.toc
├── NeatPlatesWidgets-Classic.toc
├── NeatPlatesWidgets-WOTLKC.toc
├── Widgets.xml
├── ArenaWidget.lua
├── ThreatPercentageWidget.lua
├── QuestWidget.lua
├── ClassWidget.lua
├── WidgetCore.lua
├── _RangeWidget.lua
├── RangeWidget.lua
└── ThreatLineWidget.lua
├── NeatPlates_Graphite
├── Target.tga
├── EliteIcon.tga
├── Mouseover.tga
├── StatusBar.tga
├── HealthBorder.tga
├── ThreatBorderDoubleDot.tga
├── ThreatBorderSingleDot.tga
├── NeatPlates_Graphite-BCC.toc
├── NeatPlates_Graphite-Cata.toc
├── NeatPlates_Graphite.toc
├── NeatPlates_Graphite-Classic.toc
├── NeatPlates_Graphite-Mists.toc
└── NeatPlates_Graphite-WOTLKC.toc
├── NeatPlates_Grey
├── EliteIcon.tga
├── Highlight.tga
├── Statusbar.tga
├── TargetBox.tga
├── CastStoppable.tga
├── RegularBorder.tga
├── RegularThreat.tga
├── CastNotStoppable.tga
├── NeatPlates_Grey.toc
├── NeatPlates_Grey-Cata.toc
├── NeatPlates_Grey-Classic.toc
├── NeatPlates_Grey-Mists.toc
├── NeatPlates_Grey-TBC.toc
└── NeatPlates_Grey-WOTLKC.toc
├── NeatPlates_Quatre
├── Highlight.tga
├── Statusbar.tga
├── TargetBox.tga
├── Warning.tga
├── EliteBorder.tga
├── RegularBorder.tga
├── RegularBackdrop.tga
├── WarningAlternate.tga
├── HighlightOriginal.tga
├── StatusbarBackground.tga
├── TargetBoxOriginal.tga
├── TargetBox_Original.tga
├── RegularBorderAnother.tga
├── RegularBorderAlternative.tga
├── NeatPlates_Quatre-Cata.toc
├── NeatPlates_Quatre-TBC.toc
├── NeatPlates_Quatre.toc
├── NeatPlates_Quatre-Classic.toc
├── NeatPlates_Quatre-Mists.toc
└── NeatPlates_Quatre-WOTLKC.toc
├── NeatPlates_Renaitre
├── Warning.tga
├── Highlight.tga
├── RenCloakL.tga
├── Statusbar.tga
├── TargetBox.tga
├── EliteBorder.tga
├── TargetBox1.tga
├── RegularBorder.tga
├── StatusbarDark.tga
├── EliteBorderFade.tga
├── EliteBorderThin.tga
├── HighlightOriginal.tga
├── RegularBorderFade.tga
├── Textures
│ ├── Warning.tga
│ ├── Highlight.tga
│ ├── RenCloakL.tga
│ ├── RenStripe3.tga
│ ├── Statusbar.tga
│ ├── TargetBox.tga
│ ├── EliteBorder.tga
│ ├── RegularBorder.tga
│ ├── RenStripe3L.tga
│ ├── RenStripe3LL.tga
│ ├── StatusbarDark.tga
│ ├── TargetBoxTriangle.tga
│ └── StatusbarBackground.tga
├── StatusbarBackground.tga
├── Fonts
│ ├── RobotoCondensed-Bold.ttf
│ └── ._RobotoCondensed-Bold.ttf
├── NeatPlates_Renaitre-TBC.toc
├── NeatPlates_Renaitre.toc
├── NeatPlates_Renaitre-Cata.toc
├── NeatPlates_Renaitre-Classic.toc
├── NeatPlates_Renaitre-Mists.toc
└── NeatPlates_Renaitre-WOTLKC.toc
├── NeatPlates
├── media
│ ├── DefaultFont.ttf
│ └── Empty.tga
├── locales
│ ├── deDE.lua
│ ├── frFR.lua
│ ├── itIT.lua
│ ├── ptBR.lua
│ ├── esMX.lua
│ └── esES.lua
├── NeatPlates.toc
├── NeatPlates-BCC.toc
├── NeatPlates-Cata.toc
├── NeatPlates-Mists.toc
├── NeatPlates-WOTLKC.toc
├── NeatPlates-Mainline.toc
├── NeatPlates-Classic.toc
├── embeds.xml
├── locales.xml
├── embeds-classic.xml
├── NeatPlatesGlobals.lua
├── temporary-because-blizzard-forgot-an-include.xml
├── NeatPlatesParser.lua
├── NameplateCvarReference.lua
└── NeatPlatesStatusbar.lua
├── NeatPlates_Alvara
├── Media
│ ├── Shade.tga
│ ├── Threat.tga
│ ├── EliteIcon.tga
│ ├── Highlight.tga
│ ├── ShadeCast.tga
│ ├── ShadeElite.tga
│ ├── Statusbar.tga
│ ├── anversbold.ttf
│ ├── StatusbarCast.tga
│ └── ThreatElite.tga
├── NeatPlates_Alvara.toc
├── NeatPlates_Alvara-BCC.toc
├── NeatPlates_Alvara-Cata.toc
├── NeatPlates_Alvara-Classic.toc
├── NeatPlates_Alvara-Mists.toc
└── NeatPlates_Alvara-WOTLKC.toc
├── NeatPlates_Roth
├── Media
│ ├── CastBar.tga
│ ├── CastNoStop.tga
│ ├── CastStop.tga
│ ├── ElitePlate.tga
│ ├── Highlight.tga
│ ├── StatusBar.tga
│ ├── ThreatBar.tga
│ ├── NormalPlate.tga
│ ├── CastStop-noicon.tga
│ ├── Enchanted Land.otf
│ ├── HighlightElite.tga
│ └── CastNoStop-noicon.tga
├── NeatPlates_Roth.toc
├── NeatPlates_Roth-Cata.toc
├── NeatPlates_Roth-Mists.toc
├── NeatPlates_Roth-TBC.toc
├── NeatPlates_Roth-WOTLKC.toc
└── NeatPlates_Roth-Classic.toc
├── NeatPlates_Simple
├── Media
│ ├── blank.tga
│ ├── barcast.tga
│ ├── barhealth.tga
│ ├── eliteicon.tga
│ ├── blankborder.tga
│ ├── neuropol x cd rg.ttf
│ └── empty.tga
├── NeatPlates_Simple.toc
├── NeatPlates_Simple-Cata.toc
├── NeatPlates_Simple-Mists.toc
├── NeatPlates_Simple-TBC.toc
├── NeatPlates_Simple-WOTLKC.toc
└── NeatPlates_Simple-Classic.toc
├── NeatPlates_Slim_Vertical
├── Slim_Bar.tga
├── Slim_Invis.tga
├── Slim_Select.tga
├── Slim_EliteIcon.tga
├── Slim_Highlight.tga
├── Slim_Bar_Backdrop.tga
├── Slim_CastOverlay.tga
├── Slim_CastShield.tga
├── Slim_HealthOverlay.tga
├── Slim_CastShield-noicon.tga
├── Slim_CastOverlay-noicon.tga
├── NeatPlates_Slim_Vertical.toc
├── NeatPlates_Slim_Vertical-Cata.toc
├── NeatPlates_Slim_Vertical-Mists.toc
├── NeatPlates_Slim_Vertical-TBC.toc
├── NeatPlates_Slim_Vertical-WOTLKC.toc
└── NeatPlates_Slim_Vertical-Classic.toc
├── NeatPlates_ClassicPlates
├── Media
│ ├── Alice.ttf
│ ├── CastBar.tga
│ ├── CastStop.tga
│ ├── CastNoStop.tga
│ ├── ElitePlate.tga
│ ├── Highlight.tga
│ ├── NormalPlate.tga
│ ├── StatusBar.tga
│ ├── ThreatBar.tga
│ ├── CastStop-noicon.tga
│ ├── HighlightElite.tga
│ └── CastNoStop-noicon.tga
├── NeatPlates_ClassicPlates-BCC.toc
├── NeatPlates_ClassicPlates-Cata.toc
├── NeatPlates_ClassicPlates.toc
├── NeatPlates_ClassicPlates-Classic.toc
├── NeatPlates_ClassicPlates-Mists.toc
└── NeatPlates_ClassicPlates-WOTLKC.toc
├── NeatPlates_Slim_Horizontal
├── Slim_Bar.tga
├── Slim_Invis.tga
├── Slim_Select.tga
├── Slim_CastShield.tga
├── Slim_EliteIcon.tga
├── Slim_Highlight.tga
├── Slim_Bar_Backdrop.tga
├── Slim_CastOverlay.tga
├── Slim_HealthOverlay.tga
├── Slim_CastShield-noicon.tga
├── Slim_CastOverlay-noicon.tga
├── NeatPlates_Slim_Horizontal.toc
├── NeatPlates_Slim_Horizontal-Cata.toc
├── NeatPlates_Slim_Horizontal-Mists.toc
├── NeatPlates_Slim_Horizontal-TBC.toc
├── NeatPlates_Slim_Horizontal-Classic.toc
└── NeatPlates_Slim_Horizontal-WOTLKC.toc
├── NeatPlates_BlizzardPlates
├── media
│ ├── backdrop.blp
│ ├── BlizzardPlates-Border.blp
│ ├── BlizzardPlates-CastBar.tga
│ ├── -EliteBlizzardPlatesIcon.blp
│ ├── EliteBlizzardPlatesIcon.blp
│ ├── Nameplate-CastBar-NoIcon.blp
│ ├── BlizzardPlates-WarningGlow.tga
│ ├── BlizzardPlates-CastBar-Shield.tga
│ ├── BlizzardPlates-CastBar-noicon.tga
│ ├── Nameplate-CastBar-Shield-NoIcon.blp
│ └── BlizzardPlates-CastBar-Shield-noicon.tga
├── NeatPlates_BlizzardPlates-BCC.toc
├── NeatPlates_BlizzardPlates-Cata.toc
├── NeatPlates_BlizzardPlates.toc
├── NeatPlates_BlizzardPlates-Classic.toc
├── NeatPlates_BlizzardPlates-Mists.toc
└── NeatPlates_BlizzardPlates-WOTLKC.toc
├── .gitattributes
├── .gitignore
├── .github
├── ISSUE_TEMPLATE
│ ├── feature_request.md
│ └── bug_report.md
└── workflows
│ ├── inactivity.yml
│ └── main.yml
├── README.md
└── .pkgmeta
/NeatPlatesHub/Menus.lua:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/NeatPlates_Neon/Neon_Bar.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Neon/Neon_Bar.tga
--------------------------------------------------------------------------------
/NeatPlatesHub/shared/Empty.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesHub/shared/Empty.tga
--------------------------------------------------------------------------------
/NeatPlatesHub/shared/Target.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesHub/shared/Target.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/Aura/Edge.blp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/Aura/Edge.blp
--------------------------------------------------------------------------------
/NeatPlates_Graphite/Target.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Graphite/Target.tga
--------------------------------------------------------------------------------
/NeatPlates_Grey/EliteIcon.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Grey/EliteIcon.tga
--------------------------------------------------------------------------------
/NeatPlates_Grey/Highlight.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Grey/Highlight.tga
--------------------------------------------------------------------------------
/NeatPlates_Grey/Statusbar.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Grey/Statusbar.tga
--------------------------------------------------------------------------------
/NeatPlates_Grey/TargetBox.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Grey/TargetBox.tga
--------------------------------------------------------------------------------
/NeatPlates_Neon/Neon_Select.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Neon/Neon_Select.tga
--------------------------------------------------------------------------------
/NeatPlates_Quatre/Highlight.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Quatre/Highlight.tga
--------------------------------------------------------------------------------
/NeatPlates_Quatre/Statusbar.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Quatre/Statusbar.tga
--------------------------------------------------------------------------------
/NeatPlates_Quatre/TargetBox.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Quatre/TargetBox.tga
--------------------------------------------------------------------------------
/NeatPlates_Quatre/Warning.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Quatre/Warning.tga
--------------------------------------------------------------------------------
/NeatPlates_Renaitre/Warning.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Renaitre/Warning.tga
--------------------------------------------------------------------------------
/NeatPlates/media/DefaultFont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates/media/DefaultFont.ttf
--------------------------------------------------------------------------------
/NeatPlatesHub/shared/_Target.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesHub/shared/_Target.tga
--------------------------------------------------------------------------------
/NeatPlates_Alvara/Media/Shade.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Alvara/Media/Shade.tga
--------------------------------------------------------------------------------
/NeatPlates_Graphite/EliteIcon.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Graphite/EliteIcon.tga
--------------------------------------------------------------------------------
/NeatPlates_Graphite/Mouseover.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Graphite/Mouseover.tga
--------------------------------------------------------------------------------
/NeatPlates_Graphite/StatusBar.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Graphite/StatusBar.tga
--------------------------------------------------------------------------------
/NeatPlates_Grey/CastStoppable.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Grey/CastStoppable.tga
--------------------------------------------------------------------------------
/NeatPlates_Grey/RegularBorder.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Grey/RegularBorder.tga
--------------------------------------------------------------------------------
/NeatPlates_Grey/RegularThreat.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Grey/RegularThreat.tga
--------------------------------------------------------------------------------
/NeatPlates_Quatre/EliteBorder.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Quatre/EliteBorder.tga
--------------------------------------------------------------------------------
/NeatPlates_Renaitre/Highlight.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Renaitre/Highlight.tga
--------------------------------------------------------------------------------
/NeatPlates_Renaitre/RenCloakL.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Renaitre/RenCloakL.tga
--------------------------------------------------------------------------------
/NeatPlates_Renaitre/Statusbar.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Renaitre/Statusbar.tga
--------------------------------------------------------------------------------
/NeatPlates_Renaitre/TargetBox.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Renaitre/TargetBox.tga
--------------------------------------------------------------------------------
/NeatPlates_Roth/Media/CastBar.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Roth/Media/CastBar.tga
--------------------------------------------------------------------------------
/NeatPlates_Simple/Media/blank.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Simple/Media/blank.tga
--------------------------------------------------------------------------------
/NeatPlatesHub/shared/Arrow-Left.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesHub/shared/Arrow-Left.tga
--------------------------------------------------------------------------------
/NeatPlatesHub/shared/Arrow-Right.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesHub/shared/Arrow-Right.tga
--------------------------------------------------------------------------------
/NeatPlatesHub/shared/Arrow-Sides.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesHub/shared/Arrow-Sides.tga
--------------------------------------------------------------------------------
/NeatPlatesHub/shared/Arrow-Top.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesHub/shared/Arrow-Top.tga
--------------------------------------------------------------------------------
/NeatPlatesHub/shared/Highlight.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesHub/shared/Highlight.tga
--------------------------------------------------------------------------------
/NeatPlatesHub/shared/Scale-Icon.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesHub/shared/Scale-Icon.tga
--------------------------------------------------------------------------------
/NeatPlates_Alvara/Media/Threat.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Alvara/Media/Threat.tga
--------------------------------------------------------------------------------
/NeatPlates_Graphite/HealthBorder.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Graphite/HealthBorder.tga
--------------------------------------------------------------------------------
/NeatPlates_Grey/CastNotStoppable.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Grey/CastNotStoppable.tga
--------------------------------------------------------------------------------
/NeatPlates_Neon/Neon_CastOverlay.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Neon/Neon_CastOverlay.tga
--------------------------------------------------------------------------------
/NeatPlates_Neon/Neon_EliteIcon.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Neon/Neon_EliteIcon.tga
--------------------------------------------------------------------------------
/NeatPlates_Neon/Neon_EliteStar.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Neon/Neon_EliteStar.tga
--------------------------------------------------------------------------------
/NeatPlates_Neon/Neon_Highlight.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Neon/Neon_Highlight.tga
--------------------------------------------------------------------------------
/NeatPlates_Neon/Skull_Icon_White.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Neon/Skull_Icon_White.tga
--------------------------------------------------------------------------------
/NeatPlates_Quatre/RegularBorder.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Quatre/RegularBorder.tga
--------------------------------------------------------------------------------
/NeatPlates_Renaitre/EliteBorder.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Renaitre/EliteBorder.tga
--------------------------------------------------------------------------------
/NeatPlates_Renaitre/TargetBox1.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Renaitre/TargetBox1.tga
--------------------------------------------------------------------------------
/NeatPlates_Roth/Media/CastNoStop.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Roth/Media/CastNoStop.tga
--------------------------------------------------------------------------------
/NeatPlates_Roth/Media/CastStop.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Roth/Media/CastStop.tga
--------------------------------------------------------------------------------
/NeatPlates_Roth/Media/ElitePlate.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Roth/Media/ElitePlate.tga
--------------------------------------------------------------------------------
/NeatPlates_Roth/Media/Highlight.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Roth/Media/Highlight.tga
--------------------------------------------------------------------------------
/NeatPlates_Roth/Media/StatusBar.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Roth/Media/StatusBar.tga
--------------------------------------------------------------------------------
/NeatPlates_Roth/Media/ThreatBar.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Roth/Media/ThreatBar.tga
--------------------------------------------------------------------------------
/NeatPlates_Simple/Media/barcast.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Simple/Media/barcast.tga
--------------------------------------------------------------------------------
/NeatPlatesHub/shared/ThinBlackLine.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesHub/shared/ThinBlackLine.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ClassWidget/MAGE.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ClassWidget/MAGE.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ClassWidget/MONK.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ClassWidget/MONK.tga
--------------------------------------------------------------------------------
/NeatPlates_Alvara/Media/EliteIcon.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Alvara/Media/EliteIcon.tga
--------------------------------------------------------------------------------
/NeatPlates_Alvara/Media/Highlight.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Alvara/Media/Highlight.tga
--------------------------------------------------------------------------------
/NeatPlates_Alvara/Media/ShadeCast.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Alvara/Media/ShadeCast.tga
--------------------------------------------------------------------------------
/NeatPlates_Alvara/Media/ShadeElite.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Alvara/Media/ShadeElite.tga
--------------------------------------------------------------------------------
/NeatPlates_Alvara/Media/Statusbar.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Alvara/Media/Statusbar.tga
--------------------------------------------------------------------------------
/NeatPlates_Alvara/Media/anversbold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Alvara/Media/anversbold.ttf
--------------------------------------------------------------------------------
/NeatPlates_Neon/Neon_Bar_Backdrop.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Neon/Neon_Bar_Backdrop.tga
--------------------------------------------------------------------------------
/NeatPlates_Neon/Neon_HealthOverlay.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Neon/Neon_HealthOverlay.tga
--------------------------------------------------------------------------------
/NeatPlates_Quatre/RegularBackdrop.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Quatre/RegularBackdrop.tga
--------------------------------------------------------------------------------
/NeatPlates_Quatre/WarningAlternate.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Quatre/WarningAlternate.tga
--------------------------------------------------------------------------------
/NeatPlates_Renaitre/RegularBorder.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Renaitre/RegularBorder.tga
--------------------------------------------------------------------------------
/NeatPlates_Renaitre/StatusbarDark.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Renaitre/StatusbarDark.tga
--------------------------------------------------------------------------------
/NeatPlates_Roth/Media/NormalPlate.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Roth/Media/NormalPlate.tga
--------------------------------------------------------------------------------
/NeatPlates_Simple/Media/barhealth.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Simple/Media/barhealth.tga
--------------------------------------------------------------------------------
/NeatPlates_Simple/Media/eliteicon.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Simple/Media/eliteicon.tga
--------------------------------------------------------------------------------
/NeatPlates_Slim_Vertical/Slim_Bar.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Slim_Vertical/Slim_Bar.tga
--------------------------------------------------------------------------------
/NeatPlatesHub/shared/Arrow-Neon-Sides.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesHub/shared/Arrow-Neon-Sides.tga
--------------------------------------------------------------------------------
/NeatPlatesHub/shared/Button-Down-Blue.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesHub/shared/Button-Down-Blue.tga
--------------------------------------------------------------------------------
/NeatPlatesHub/shared/Button-Highlight.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesHub/shared/Button-Highlight.tga
--------------------------------------------------------------------------------
/NeatPlatesHub/shared/Button-Up-Blue.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesHub/shared/Button-Up-Blue.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ArenaIcons/arena1.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ArenaIcons/arena1.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ArenaIcons/arena2.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ArenaIcons/arena2.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ArenaIcons/arena3.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ArenaIcons/arena3.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ArenaIcons/arena4.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ArenaIcons/arena4.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ArenaIcons/arena5.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ArenaIcons/arena5.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/Aura/AuraFrameWide.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/Aura/AuraFrameWide.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ClassWidget/BORDER.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ClassWidget/BORDER.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ClassWidget/DRUID.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ClassWidget/DRUID.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ClassWidget/EVOKER.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ClassWidget/EVOKER.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ClassWidget/HUNTER.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ClassWidget/HUNTER.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ClassWidget/PALADIN.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ClassWidget/PALADIN.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ClassWidget/PRIEST.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ClassWidget/PRIEST.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ClassWidget/ROGUE.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ClassWidget/ROGUE.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ClassWidget/SHAMAN.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ClassWidget/SHAMAN.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ClassWidget/WARLOCK.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ClassWidget/WARLOCK.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ClassWidget/WARRIOR.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ClassWidget/WARRIOR.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ComboWidget/Powers.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ComboWidget/Powers.tga
--------------------------------------------------------------------------------
/NeatPlates_Alvara/Media/StatusbarCast.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Alvara/Media/StatusbarCast.tga
--------------------------------------------------------------------------------
/NeatPlates_Alvara/Media/ThreatElite.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Alvara/Media/ThreatElite.tga
--------------------------------------------------------------------------------
/NeatPlates_ClassicPlates/Media/Alice.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_ClassicPlates/Media/Alice.ttf
--------------------------------------------------------------------------------
/NeatPlates_Neon/Neon_CastOverlayNoInt.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Neon/Neon_CastOverlayNoInt.tga
--------------------------------------------------------------------------------
/NeatPlates_Quatre/HighlightOriginal.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Quatre/HighlightOriginal.tga
--------------------------------------------------------------------------------
/NeatPlates_Quatre/StatusbarBackground.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Quatre/StatusbarBackground.tga
--------------------------------------------------------------------------------
/NeatPlates_Quatre/TargetBoxOriginal.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Quatre/TargetBoxOriginal.tga
--------------------------------------------------------------------------------
/NeatPlates_Quatre/TargetBox_Original.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Quatre/TargetBox_Original.tga
--------------------------------------------------------------------------------
/NeatPlates_Renaitre/EliteBorderFade.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Renaitre/EliteBorderFade.tga
--------------------------------------------------------------------------------
/NeatPlates_Renaitre/EliteBorderThin.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Renaitre/EliteBorderThin.tga
--------------------------------------------------------------------------------
/NeatPlates_Renaitre/HighlightOriginal.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Renaitre/HighlightOriginal.tga
--------------------------------------------------------------------------------
/NeatPlates_Renaitre/RegularBorderFade.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Renaitre/RegularBorderFade.tga
--------------------------------------------------------------------------------
/NeatPlates_Renaitre/Textures/Warning.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Renaitre/Textures/Warning.tga
--------------------------------------------------------------------------------
/NeatPlates_Roth/Media/CastStop-noicon.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Roth/Media/CastStop-noicon.tga
--------------------------------------------------------------------------------
/NeatPlates_Roth/Media/Enchanted Land.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Roth/Media/Enchanted Land.otf
--------------------------------------------------------------------------------
/NeatPlates_Roth/Media/HighlightElite.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Roth/Media/HighlightElite.tga
--------------------------------------------------------------------------------
/NeatPlates_Simple/Media/blankborder.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Simple/Media/blankborder.tga
--------------------------------------------------------------------------------
/NeatPlates_Slim_Horizontal/Slim_Bar.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Slim_Horizontal/Slim_Bar.tga
--------------------------------------------------------------------------------
/NeatPlates_Slim_Horizontal/Slim_Invis.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Slim_Horizontal/Slim_Invis.tga
--------------------------------------------------------------------------------
/NeatPlates_Slim_Vertical/Slim_Invis.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Slim_Vertical/Slim_Invis.tga
--------------------------------------------------------------------------------
/NeatPlates_Slim_Vertical/Slim_Select.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Slim_Vertical/Slim_Select.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/AbsorbWidget/Absorbs.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/AbsorbWidget/Absorbs.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/Aura/AuraFrameSquare.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/Aura/AuraFrameSquare.tga
--------------------------------------------------------------------------------
/NeatPlates_ClassicPlates/Media/CastBar.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_ClassicPlates/Media/CastBar.tga
--------------------------------------------------------------------------------
/NeatPlates_ClassicPlates/Media/CastStop.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_ClassicPlates/Media/CastStop.tga
--------------------------------------------------------------------------------
/NeatPlates_Neon/Neon_AggroOverlayWhite.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Neon/Neon_AggroOverlayWhite.tga
--------------------------------------------------------------------------------
/NeatPlates_Neon/Neon_CastOverlay-noicon.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Neon/Neon_CastOverlay-noicon.tga
--------------------------------------------------------------------------------
/NeatPlates_Neon/Neon_HealthOverlay_Cube.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Neon/Neon_HealthOverlay_Cube.tga
--------------------------------------------------------------------------------
/NeatPlates_Quatre/RegularBorderAnother.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Quatre/RegularBorderAnother.tga
--------------------------------------------------------------------------------
/NeatPlates_Renaitre/StatusbarBackground.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Renaitre/StatusbarBackground.tga
--------------------------------------------------------------------------------
/NeatPlates_Renaitre/Textures/Highlight.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Renaitre/Textures/Highlight.tga
--------------------------------------------------------------------------------
/NeatPlates_Renaitre/Textures/RenCloakL.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Renaitre/Textures/RenCloakL.tga
--------------------------------------------------------------------------------
/NeatPlates_Renaitre/Textures/RenStripe3.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Renaitre/Textures/RenStripe3.tga
--------------------------------------------------------------------------------
/NeatPlates_Renaitre/Textures/Statusbar.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Renaitre/Textures/Statusbar.tga
--------------------------------------------------------------------------------
/NeatPlates_Renaitre/Textures/TargetBox.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Renaitre/Textures/TargetBox.tga
--------------------------------------------------------------------------------
/NeatPlates_Roth/Media/CastNoStop-noicon.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Roth/Media/CastNoStop-noicon.tga
--------------------------------------------------------------------------------
/NeatPlates_Slim_Horizontal/Slim_Select.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Slim_Horizontal/Slim_Select.tga
--------------------------------------------------------------------------------
/NeatPlates_Slim_Vertical/Slim_EliteIcon.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Slim_Vertical/Slim_EliteIcon.tga
--------------------------------------------------------------------------------
/NeatPlates_Slim_Vertical/Slim_Highlight.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Slim_Vertical/Slim_Highlight.tga
--------------------------------------------------------------------------------
/NeatPlatesHub/shared/AccidentalPresidency.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesHub/shared/AccidentalPresidency.ttf
--------------------------------------------------------------------------------
/NeatPlatesHub/shared/RobotoCondensed-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesHub/shared/RobotoCondensed-Bold.ttf
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ClassWidget/DEATHKNIGHT.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ClassWidget/DEATHKNIGHT.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ClassWidget/DEMONHUNTER.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ClassWidget/DEMONHUNTER.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ComboWidget/PowersNeat.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ComboWidget/PowersNeat.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ComboWidget/PowersTrad.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ComboWidget/PowersTrad.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ComboWidget/ShardSpark.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ComboWidget/ShardSpark.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/RangeWidget/RangeWidget.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/RangeWidget/RangeWidget.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ResourceWidget/Generic.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ResourceWidget/Generic.tga
--------------------------------------------------------------------------------
/NeatPlates_BlizzardPlates/media/backdrop.blp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_BlizzardPlates/media/backdrop.blp
--------------------------------------------------------------------------------
/NeatPlates_ClassicPlates/Media/CastNoStop.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_ClassicPlates/Media/CastNoStop.tga
--------------------------------------------------------------------------------
/NeatPlates_ClassicPlates/Media/ElitePlate.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_ClassicPlates/Media/ElitePlate.tga
--------------------------------------------------------------------------------
/NeatPlates_ClassicPlates/Media/Highlight.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_ClassicPlates/Media/Highlight.tga
--------------------------------------------------------------------------------
/NeatPlates_ClassicPlates/Media/NormalPlate.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_ClassicPlates/Media/NormalPlate.tga
--------------------------------------------------------------------------------
/NeatPlates_ClassicPlates/Media/StatusBar.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_ClassicPlates/Media/StatusBar.tga
--------------------------------------------------------------------------------
/NeatPlates_ClassicPlates/Media/ThreatBar.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_ClassicPlates/Media/ThreatBar.tga
--------------------------------------------------------------------------------
/NeatPlates_Graphite/ThreatBorderDoubleDot.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Graphite/ThreatBorderDoubleDot.tga
--------------------------------------------------------------------------------
/NeatPlates_Graphite/ThreatBorderSingleDot.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Graphite/ThreatBorderSingleDot.tga
--------------------------------------------------------------------------------
/NeatPlates_Quatre/RegularBorderAlternative.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Quatre/RegularBorderAlternative.tga
--------------------------------------------------------------------------------
/NeatPlates_Renaitre/Textures/EliteBorder.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Renaitre/Textures/EliteBorder.tga
--------------------------------------------------------------------------------
/NeatPlates_Renaitre/Textures/RegularBorder.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Renaitre/Textures/RegularBorder.tga
--------------------------------------------------------------------------------
/NeatPlates_Renaitre/Textures/RenStripe3L.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Renaitre/Textures/RenStripe3L.tga
--------------------------------------------------------------------------------
/NeatPlates_Renaitre/Textures/RenStripe3LL.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Renaitre/Textures/RenStripe3LL.tga
--------------------------------------------------------------------------------
/NeatPlates_Renaitre/Textures/StatusbarDark.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Renaitre/Textures/StatusbarDark.tga
--------------------------------------------------------------------------------
/NeatPlates_Simple/Media/neuropol x cd rg.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Simple/Media/neuropol x cd rg.ttf
--------------------------------------------------------------------------------
/NeatPlates_Slim_Horizontal/Slim_CastShield.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Slim_Horizontal/Slim_CastShield.tga
--------------------------------------------------------------------------------
/NeatPlates_Slim_Horizontal/Slim_EliteIcon.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Slim_Horizontal/Slim_EliteIcon.tga
--------------------------------------------------------------------------------
/NeatPlates_Slim_Horizontal/Slim_Highlight.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Slim_Horizontal/Slim_Highlight.tga
--------------------------------------------------------------------------------
/NeatPlates_Slim_Vertical/Slim_Bar_Backdrop.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Slim_Vertical/Slim_Bar_Backdrop.tga
--------------------------------------------------------------------------------
/NeatPlates_Slim_Vertical/Slim_CastOverlay.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Slim_Vertical/Slim_CastOverlay.tga
--------------------------------------------------------------------------------
/NeatPlates_Slim_Vertical/Slim_CastShield.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Slim_Vertical/Slim_CastShield.tga
--------------------------------------------------------------------------------
/NeatPlates/locales/deDE.lua:
--------------------------------------------------------------------------------
1 | local L = LibStub("AceLocale-3.0"):NewLocale("NeatPlates", "deDE")
2 | if not L then return end
3 |
4 |
5 | L = L or {}
6 |
--------------------------------------------------------------------------------
/NeatPlates/locales/frFR.lua:
--------------------------------------------------------------------------------
1 | local L = LibStub("AceLocale-3.0"):NewLocale("NeatPlates", "frFR")
2 | if not L then return end
3 |
4 |
5 | L = L or {}
6 |
--------------------------------------------------------------------------------
/NeatPlates/locales/itIT.lua:
--------------------------------------------------------------------------------
1 | local L = LibStub("AceLocale-3.0"):NewLocale("NeatPlates", "itIT")
2 | if not L then return end
3 |
4 |
5 | L = L or {}
6 |
--------------------------------------------------------------------------------
/NeatPlates/locales/ptBR.lua:
--------------------------------------------------------------------------------
1 | local L = LibStub("AceLocale-3.0"):NewLocale("NeatPlates", "ptBR")
2 | if not L then return end
3 |
4 |
5 | L = L or {}
6 |
--------------------------------------------------------------------------------
/NeatPlatesHub/shared/RobotoCondensed-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesHub/shared/RobotoCondensed-Regular.ttf
--------------------------------------------------------------------------------
/NeatPlatesWidgets/QuestWidget/QuestIndicator.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/QuestWidget/QuestIndicator.tga
--------------------------------------------------------------------------------
/NeatPlates_Neon/NeonRaidTargetingIcons copy.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Neon/NeonRaidTargetingIcons copy.tga
--------------------------------------------------------------------------------
/NeatPlates_Neon/Neon_CastOverlayNoInt-noicon.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Neon/Neon_CastOverlayNoInt-noicon.tga
--------------------------------------------------------------------------------
/NeatPlates_Slim_Horizontal/Slim_Bar_Backdrop.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Slim_Horizontal/Slim_Bar_Backdrop.tga
--------------------------------------------------------------------------------
/NeatPlates_Slim_Horizontal/Slim_CastOverlay.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Slim_Horizontal/Slim_CastOverlay.tga
--------------------------------------------------------------------------------
/NeatPlates_Slim_Vertical/Slim_HealthOverlay.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Slim_Vertical/Slim_HealthOverlay.tga
--------------------------------------------------------------------------------
/NeatPlatesHub/shared/YanoneKaffeesatz-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesHub/shared/YanoneKaffeesatz-Regular.ttf
--------------------------------------------------------------------------------
/NeatPlatesWidgets/AbsorbWidget/AbsorbsVertical.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/AbsorbWidget/AbsorbsVertical.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/AbsorbWidget/HealingAbsorbs.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/AbsorbWidget/HealingAbsorbs.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/Aura/AuraFrameHighlightSquare.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/Aura/AuraFrameHighlightSquare.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/Aura/AuraFrameHighlightWide.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/Aura/AuraFrameHighlightWide.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/RangeWidget/RangeWidgetCircle.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/RangeWidget/RangeWidgetCircle.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/RangeWidget/RangeWidgetLine.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/RangeWidget/RangeWidgetLine.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ResourceWidget/Neat/SwipeEdge.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ResourceWidget/Neat/SwipeEdge.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ThreatLine/ThreatLineUnified.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ThreatLine/ThreatLineUnified.tga
--------------------------------------------------------------------------------
/NeatPlates_ClassicPlates/Media/CastStop-noicon.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_ClassicPlates/Media/CastStop-noicon.tga
--------------------------------------------------------------------------------
/NeatPlates_ClassicPlates/Media/HighlightElite.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_ClassicPlates/Media/HighlightElite.tga
--------------------------------------------------------------------------------
/NeatPlates_Renaitre/Fonts/RobotoCondensed-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Renaitre/Fonts/RobotoCondensed-Bold.ttf
--------------------------------------------------------------------------------
/NeatPlates_Renaitre/Textures/TargetBoxTriangle.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Renaitre/Textures/TargetBoxTriangle.tga
--------------------------------------------------------------------------------
/NeatPlates_Slim_Horizontal/Slim_HealthOverlay.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Slim_Horizontal/Slim_HealthOverlay.tga
--------------------------------------------------------------------------------
/NeatPlates_Slim_Vertical/Slim_CastShield-noicon.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Slim_Vertical/Slim_CastShield-noicon.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ComboWidget/RogueKyrianOverlay.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ComboWidget/RogueKyrianOverlay.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ResourceWidget/Neat/DK-Rune-Off.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ResourceWidget/Neat/DK-Rune-Off.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ResourceWidget/Neat/Monk-Chi-On.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ResourceWidget/Neat/Monk-Chi-On.tga
--------------------------------------------------------------------------------
/NeatPlates_ClassicPlates/Media/CastNoStop-noicon.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_ClassicPlates/Media/CastNoStop-noicon.tga
--------------------------------------------------------------------------------
/NeatPlates_Renaitre/Fonts/._RobotoCondensed-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Renaitre/Fonts/._RobotoCondensed-Bold.ttf
--------------------------------------------------------------------------------
/NeatPlates_Renaitre/Textures/StatusbarBackground.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Renaitre/Textures/StatusbarBackground.tga
--------------------------------------------------------------------------------
/NeatPlates_Slim_Horizontal/Slim_CastShield-noicon.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Slim_Horizontal/Slim_CastShield-noicon.tga
--------------------------------------------------------------------------------
/NeatPlates_Slim_Vertical/Slim_CastOverlay-noicon.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Slim_Vertical/Slim_CastOverlay-noicon.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ComboWidget/RogueKyrianOverlayNeat.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ComboWidget/RogueKyrianOverlayNeat.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ComboWidget/RogueKyrianOverlayOff.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ComboWidget/RogueKyrianOverlayOff.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ResourceWidget/Blizzard/SwipeEdge.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ResourceWidget/Blizzard/SwipeEdge.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ResourceWidget/Neat/ComboPoint-Off.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ResourceWidget/Neat/ComboPoint-Off.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ResourceWidget/Neat/ComboPoint-On.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ResourceWidget/Neat/ComboPoint-On.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ResourceWidget/Neat/Monk-Chi-Off.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ResourceWidget/Neat/Monk-Chi-Off.tga
--------------------------------------------------------------------------------
/NeatPlates_Slim_Horizontal/Slim_CastOverlay-noicon.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_Slim_Horizontal/Slim_CastOverlay-noicon.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/AbsorbWidget/HealingAbsorbsVertical.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/AbsorbWidget/HealingAbsorbsVertical.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ResourceWidget/Blizzard/DK-Rune-Off.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ResourceWidget/Blizzard/DK-Rune-Off.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ResourceWidget/Blizzard/Monk-Chi-Off.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ResourceWidget/Blizzard/Monk-Chi-Off.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ResourceWidget/Blizzard/Monk-Chi-On.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ResourceWidget/Blizzard/Monk-Chi-On.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ResourceWidget/Neat/DK-Rune-Blood-On.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ResourceWidget/Neat/DK-Rune-Blood-On.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ResourceWidget/Neat/DK-Rune-Frost-On.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ResourceWidget/Neat/DK-Rune-Frost-On.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ResourceWidget/Neat/Warlock-Shard-On.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ResourceWidget/Neat/Warlock-Shard-On.tga
--------------------------------------------------------------------------------
/NeatPlates_BlizzardPlates/media/BlizzardPlates-Border.blp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_BlizzardPlates/media/BlizzardPlates-Border.blp
--------------------------------------------------------------------------------
/NeatPlates_BlizzardPlates/media/BlizzardPlates-CastBar.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_BlizzardPlates/media/BlizzardPlates-CastBar.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ComboWidget/RogueKyrianOverlayNeatOff.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ComboWidget/RogueKyrianOverlayNeatOff.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/NeatPlatesWidgets.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 110105
2 | ## Title: NeatPlates Widgets
3 | ## Notes: Library of Widgets
4 | ## Dependencies: NeatPlates
5 |
6 | Widgets.xml
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ResourceWidget/Blizzard/ComboPoint-Off.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ResourceWidget/Blizzard/ComboPoint-Off.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ResourceWidget/Blizzard/ComboPoint-On.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ResourceWidget/Blizzard/ComboPoint-On.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ResourceWidget/Neat/DK-Rune-Unholy-On.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ResourceWidget/Neat/DK-Rune-Unholy-On.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ResourceWidget/Neat/Evoker-Essence-Off.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ResourceWidget/Neat/Evoker-Essence-Off.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ResourceWidget/Neat/Evoker-Essence-On.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ResourceWidget/Neat/Evoker-Essence-On.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ResourceWidget/Neat/Warlock-Shard-Off.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ResourceWidget/Neat/Warlock-Shard-Off.tga
--------------------------------------------------------------------------------
/NeatPlates_BlizzardPlates/media/-EliteBlizzardPlatesIcon.blp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_BlizzardPlates/media/-EliteBlizzardPlatesIcon.blp
--------------------------------------------------------------------------------
/NeatPlates_BlizzardPlates/media/EliteBlizzardPlatesIcon.blp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_BlizzardPlates/media/EliteBlizzardPlatesIcon.blp
--------------------------------------------------------------------------------
/NeatPlates_BlizzardPlates/media/Nameplate-CastBar-NoIcon.blp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_BlizzardPlates/media/Nameplate-CastBar-NoIcon.blp
--------------------------------------------------------------------------------
/NeatPlatesWidgets/NeatPlatesWidgets-Cata.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 40402
2 | ## Title: NeatPlates Widgets
3 | ## Notes: Library of Widgets
4 | ## Dependencies: NeatPlates
5 |
6 | Widgets.xml
--------------------------------------------------------------------------------
/NeatPlatesWidgets/NeatPlatesWidgets-Mists.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 50500
2 | ## Title: NeatPlates Widgets
3 | ## Notes: Library of Widgets
4 | ## Dependencies: NeatPlates
5 |
6 | Widgets.xml
--------------------------------------------------------------------------------
/NeatPlatesWidgets/NeatPlatesWidgets-TBC.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 20504
2 | ## Title: NeatPlates Widgets
3 | ## Notes: Library of Widgets
4 | ## Dependencies: NeatPlates
5 |
6 | Widgets.xml
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ResourceWidget/Blizzard/DK-Rune-Blood-On.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ResourceWidget/Blizzard/DK-Rune-Blood-On.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ResourceWidget/Blizzard/DK-Rune-Frost-On.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ResourceWidget/Blizzard/DK-Rune-Frost-On.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ResourceWidget/Blizzard/DK-Rune-Unholy-On.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ResourceWidget/Blizzard/DK-Rune-Unholy-On.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ResourceWidget/Blizzard/Evoker-Essence-On.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ResourceWidget/Blizzard/Evoker-Essence-On.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ResourceWidget/Blizzard/Warlock-Shard-Off.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ResourceWidget/Blizzard/Warlock-Shard-Off.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ResourceWidget/Blizzard/Warlock-Shard-On.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ResourceWidget/Blizzard/Warlock-Shard-On.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ResourceWidget/Neat/ComboPoint-Charged-On.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ResourceWidget/Neat/ComboPoint-Charged-On.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ResourceWidget/Neat/Mage-ArcaneCharge-Off.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ResourceWidget/Neat/Mage-ArcaneCharge-Off.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ResourceWidget/Neat/Mage-ArcaneCharge-On.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ResourceWidget/Neat/Mage-ArcaneCharge-On.tga
--------------------------------------------------------------------------------
/NeatPlates_BlizzardPlates/media/BlizzardPlates-WarningGlow.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_BlizzardPlates/media/BlizzardPlates-WarningGlow.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/NeatPlatesWidgets-Classic.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 11507
2 | ## Title: NeatPlates Widgets
3 | ## Notes: Library of Widgets
4 | ## Dependencies: NeatPlates
5 |
6 | Widgets.xml
--------------------------------------------------------------------------------
/NeatPlatesWidgets/NeatPlatesWidgets-WOTLKC.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 30404
2 | ## Title: NeatPlates Widgets
3 | ## Notes: Library of Widgets
4 | ## Dependencies: NeatPlates
5 |
6 | Widgets.xml
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ResourceWidget/Blizzard/Evoker-Essence-Off.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ResourceWidget/Blizzard/Evoker-Essence-Off.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ResourceWidget/Blizzard/Mage-ArcaneCharge-On.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ResourceWidget/Blizzard/Mage-ArcaneCharge-On.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ResourceWidget/Neat/ComboPoint-Charged-Off.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ResourceWidget/Neat/ComboPoint-Charged-Off.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ResourceWidget/Neat/DK-Rune-Classic-Blood-On.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ResourceWidget/Neat/DK-Rune-Classic-Blood-On.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ResourceWidget/Neat/DK-Rune-Classic-Death-On.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ResourceWidget/Neat/DK-Rune-Classic-Death-On.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ResourceWidget/Neat/DK-Rune-Classic-Frost-On.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ResourceWidget/Neat/DK-Rune-Classic-Frost-On.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ResourceWidget/Neat/Paladin-HolyPower-1-Off.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ResourceWidget/Neat/Paladin-HolyPower-1-Off.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ResourceWidget/Neat/Paladin-HolyPower-1-On.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ResourceWidget/Neat/Paladin-HolyPower-1-On.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ResourceWidget/Neat/Paladin-HolyPower-2-Off.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ResourceWidget/Neat/Paladin-HolyPower-2-Off.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ResourceWidget/Neat/Paladin-HolyPower-2-On.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ResourceWidget/Neat/Paladin-HolyPower-2-On.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ResourceWidget/Neat/Paladin-HolyPower-3-Off.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ResourceWidget/Neat/Paladin-HolyPower-3-Off.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ResourceWidget/Neat/Paladin-HolyPower-3-On.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ResourceWidget/Neat/Paladin-HolyPower-3-On.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ResourceWidget/Neat/Paladin-HolyPower-4-Off.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ResourceWidget/Neat/Paladin-HolyPower-4-Off.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ResourceWidget/Neat/Paladin-HolyPower-4-On.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ResourceWidget/Neat/Paladin-HolyPower-4-On.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ResourceWidget/Neat/Paladin-HolyPower-5-Off.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ResourceWidget/Neat/Paladin-HolyPower-5-Off.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ResourceWidget/Neat/Paladin-HolyPower-5-On.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ResourceWidget/Neat/Paladin-HolyPower-5-On.tga
--------------------------------------------------------------------------------
/NeatPlates_BlizzardPlates/media/BlizzardPlates-CastBar-Shield.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_BlizzardPlates/media/BlizzardPlates-CastBar-Shield.tga
--------------------------------------------------------------------------------
/NeatPlates_BlizzardPlates/media/BlizzardPlates-CastBar-noicon.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_BlizzardPlates/media/BlizzardPlates-CastBar-noicon.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ResourceWidget/Blizzard/ComboPoint-Charged-Off.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ResourceWidget/Blizzard/ComboPoint-Charged-Off.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ResourceWidget/Blizzard/ComboPoint-Charged-On.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ResourceWidget/Blizzard/ComboPoint-Charged-On.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ResourceWidget/Blizzard/Mage-ArcaneCharge-Off.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ResourceWidget/Blizzard/Mage-ArcaneCharge-Off.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ResourceWidget/Blizzard/Paladin-HolyPower-1-On.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ResourceWidget/Blizzard/Paladin-HolyPower-1-On.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ResourceWidget/Blizzard/Paladin-HolyPower-2-On.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ResourceWidget/Blizzard/Paladin-HolyPower-2-On.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ResourceWidget/Blizzard/Paladin-HolyPower-3-On.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ResourceWidget/Blizzard/Paladin-HolyPower-3-On.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ResourceWidget/Blizzard/Paladin-HolyPower-4-On.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ResourceWidget/Blizzard/Paladin-HolyPower-4-On.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ResourceWidget/Blizzard/Paladin-HolyPower-5-On.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ResourceWidget/Blizzard/Paladin-HolyPower-5-On.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ResourceWidget/Neat/DK-Rune-Classic-Blood-Off.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ResourceWidget/Neat/DK-Rune-Classic-Blood-Off.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ResourceWidget/Neat/DK-Rune-Classic-Death-Off.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ResourceWidget/Neat/DK-Rune-Classic-Death-Off.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ResourceWidget/Neat/DK-Rune-Classic-Frost-Off.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ResourceWidget/Neat/DK-Rune-Classic-Frost-Off.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ResourceWidget/Neat/DK-Rune-Classic-Unholy-Off.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ResourceWidget/Neat/DK-Rune-Classic-Unholy-Off.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ResourceWidget/Neat/DK-Rune-Classic-Unholy-On.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ResourceWidget/Neat/DK-Rune-Classic-Unholy-On.tga
--------------------------------------------------------------------------------
/NeatPlates_BlizzardPlates/media/Nameplate-CastBar-Shield-NoIcon.blp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_BlizzardPlates/media/Nameplate-CastBar-Shield-NoIcon.blp
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ResourceWidget/Blizzard/DK-Rune-Classic-Blood-Off.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ResourceWidget/Blizzard/DK-Rune-Classic-Blood-Off.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ResourceWidget/Blizzard/DK-Rune-Classic-Blood-On.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ResourceWidget/Blizzard/DK-Rune-Classic-Blood-On.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ResourceWidget/Blizzard/DK-Rune-Classic-Death-Off.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ResourceWidget/Blizzard/DK-Rune-Classic-Death-Off.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ResourceWidget/Blizzard/DK-Rune-Classic-Death-On.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ResourceWidget/Blizzard/DK-Rune-Classic-Death-On.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ResourceWidget/Blizzard/DK-Rune-Classic-Frost-Off.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ResourceWidget/Blizzard/DK-Rune-Classic-Frost-Off.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ResourceWidget/Blizzard/DK-Rune-Classic-Frost-On.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ResourceWidget/Blizzard/DK-Rune-Classic-Frost-On.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ResourceWidget/Blizzard/DK-Rune-Classic-Unholy-On.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ResourceWidget/Blizzard/DK-Rune-Classic-Unholy-On.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ResourceWidget/Blizzard/Paladin-HolyPower-1-Off.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ResourceWidget/Blizzard/Paladin-HolyPower-1-Off.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ResourceWidget/Blizzard/Paladin-HolyPower-2-Off.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ResourceWidget/Blizzard/Paladin-HolyPower-2-Off.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ResourceWidget/Blizzard/Paladin-HolyPower-3-Off.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ResourceWidget/Blizzard/Paladin-HolyPower-3-Off.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ResourceWidget/Blizzard/Paladin-HolyPower-4-Off.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ResourceWidget/Blizzard/Paladin-HolyPower-4-Off.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ResourceWidget/Blizzard/Paladin-HolyPower-5-Off.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ResourceWidget/Blizzard/Paladin-HolyPower-5-Off.tga
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ResourceWidget/Blizzard/DK-Rune-Classic-Unholy-Off.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlatesWidgets/ResourceWidget/Blizzard/DK-Rune-Classic-Unholy-Off.tga
--------------------------------------------------------------------------------
/NeatPlates_BlizzardPlates/media/BlizzardPlates-CastBar-Shield-noicon.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Luxocracy/NeatPlates/HEAD/NeatPlates_BlizzardPlates/media/BlizzardPlates-CastBar-Shield-noicon.tga
--------------------------------------------------------------------------------
/NeatPlates_Grey/NeatPlates_Grey.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 110105
2 | ## Title: NeatPlates: Grey Theme
3 | ## Notes: Use apostrophes wisely.
4 | ## Author: Binny
5 | ## Dependencies: NeatPlates, NeatPlatesHub
6 |
7 | Grey.lua
--------------------------------------------------------------------------------
/NeatPlates_Quatre/NeatPlates_Quatre-Cata.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 40402
2 | ## Title: NeatPlates: Quatre Theme
3 | ## Notes: It's the 4th!
4 | ## Author: Binny
5 | ## Dependencies: NeatPlates, NeatPlatesHub
6 |
7 | Quatre.lua
--------------------------------------------------------------------------------
/NeatPlates_Quatre/NeatPlates_Quatre-TBC.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 20504
2 | ## Title: NeatPlates: Quatre Theme
3 | ## Notes: It's the 4th!
4 | ## Author: Binny
5 | ## Dependencies: NeatPlates, NeatPlatesHub
6 |
7 | Quatre.lua
--------------------------------------------------------------------------------
/NeatPlates_Quatre/NeatPlates_Quatre.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 110105
2 | ## Title: NeatPlates: Quatre Theme
3 | ## Notes: It's the 4th!
4 | ## Author: Binny
5 | ## Dependencies: NeatPlates, NeatPlatesHub
6 |
7 | Quatre.lua
--------------------------------------------------------------------------------
/NeatPlates_Grey/NeatPlates_Grey-Cata.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 40402
2 | ## Title: NeatPlates: Grey Theme
3 | ## Notes: Use apostrophes wisely.
4 | ## Author: Binny
5 | ## Dependencies: NeatPlates, NeatPlatesHub
6 |
7 | Grey.lua
--------------------------------------------------------------------------------
/NeatPlates_Grey/NeatPlates_Grey-Classic.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 11507
2 | ## Title: NeatPlates: Grey Theme
3 | ## Notes: Use apostrophes wisely.
4 | ## Author: Binny
5 | ## Dependencies: NeatPlates, NeatPlatesHub
6 |
7 | Grey.lua
--------------------------------------------------------------------------------
/NeatPlates_Grey/NeatPlates_Grey-Mists.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 50500
2 | ## Title: NeatPlates: Grey Theme
3 | ## Notes: Use apostrophes wisely.
4 | ## Author: Binny
5 | ## Dependencies: NeatPlates, NeatPlatesHub
6 |
7 | Grey.lua
--------------------------------------------------------------------------------
/NeatPlates_Grey/NeatPlates_Grey-TBC.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 20504
2 | ## Title: NeatPlates: Grey Theme
3 | ## Notes: Use apostrophes wisely.
4 | ## Author: Binny
5 | ## Dependencies: NeatPlates, NeatPlatesHub
6 |
7 | Grey.lua
--------------------------------------------------------------------------------
/NeatPlates_Grey/NeatPlates_Grey-WOTLKC.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 30404
2 | ## Title: NeatPlates: Grey Theme
3 | ## Notes: Use apostrophes wisely.
4 | ## Author: Binny
5 | ## Dependencies: NeatPlates, NeatPlatesHub
6 |
7 | Grey.lua
--------------------------------------------------------------------------------
/NeatPlates_Quatre/NeatPlates_Quatre-Classic.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 11507
2 | ## Title: NeatPlates: Quatre Theme
3 | ## Notes: It's the 4th!
4 | ## Author: Binny
5 | ## Dependencies: NeatPlates, NeatPlatesHub
6 |
7 | Quatre.lua
--------------------------------------------------------------------------------
/NeatPlates_Quatre/NeatPlates_Quatre-Mists.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 50500
2 | ## Title: NeatPlates: Quatre Theme
3 | ## Notes: It's the 4th!
4 | ## Author: Binny
5 | ## Dependencies: NeatPlates, NeatPlatesHub
6 |
7 | Quatre.lua
--------------------------------------------------------------------------------
/NeatPlates_Quatre/NeatPlates_Quatre-WOTLKC.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 30404
2 | ## Title: NeatPlates: Quatre Theme
3 | ## Notes: It's the 4th!
4 | ## Author: Binny
5 | ## Dependencies: NeatPlates, NeatPlatesHub
6 |
7 | Quatre.lua
--------------------------------------------------------------------------------
/NeatPlates_Roth/NeatPlates_Roth.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 110105
2 | ## Title: NeatPlates: Roth
3 | ## Notes: Vanilla-Style Plates.
4 | ## Author: Reinhart
5 | ## Dependencies: NeatPlates, NeatPlatesHub
6 |
7 | NeatPlates_Roth.lua
8 |
9 |
--------------------------------------------------------------------------------
/NeatPlates_Roth/NeatPlates_Roth-Cata.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 40402
2 | ## Title: NeatPlates: Roth
3 | ## Notes: Vanilla-Style Plates.
4 | ## Author: Reinhart
5 | ## Dependencies: NeatPlates, NeatPlatesHub
6 |
7 | NeatPlates_Roth.lua
8 |
9 |
--------------------------------------------------------------------------------
/NeatPlates_Roth/NeatPlates_Roth-Mists.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 50500
2 | ## Title: NeatPlates: Roth
3 | ## Notes: Vanilla-Style Plates.
4 | ## Author: Reinhart
5 | ## Dependencies: NeatPlates, NeatPlatesHub
6 |
7 | NeatPlates_Roth.lua
8 |
9 |
--------------------------------------------------------------------------------
/NeatPlates_Roth/NeatPlates_Roth-TBC.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 20504
2 | ## Title: NeatPlates: Roth
3 | ## Notes: Vanilla-Style Plates.
4 | ## Author: Reinhart
5 | ## Dependencies: NeatPlates, NeatPlatesHub
6 |
7 | NeatPlates_Roth.lua
8 |
9 |
--------------------------------------------------------------------------------
/NeatPlates_Roth/NeatPlates_Roth-WOTLKC.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 30404
2 | ## Title: NeatPlates: Roth
3 | ## Notes: Vanilla-Style Plates.
4 | ## Author: Reinhart
5 | ## Dependencies: NeatPlates, NeatPlatesHub
6 |
7 | NeatPlates_Roth.lua
8 |
9 |
--------------------------------------------------------------------------------
/NeatPlates_Graphite/NeatPlates_Graphite-BCC.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 20504
2 | ## Title: NeatPlates: Graphite
3 | ## Notes: Minimalisty
4 | ## Author: Binny
5 | ## Dependencies: NeatPlates, NeatPlatesHub
6 |
7 | Graphite.lua
8 |
9 |
10 |
--------------------------------------------------------------------------------
/NeatPlates_Graphite/NeatPlates_Graphite-Cata.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 40402
2 | ## Title: NeatPlates: Graphite
3 | ## Notes: Minimalisty
4 | ## Author: Binny
5 | ## Dependencies: NeatPlates, NeatPlatesHub
6 |
7 | Graphite.lua
8 |
9 |
10 |
--------------------------------------------------------------------------------
/NeatPlates_Graphite/NeatPlates_Graphite.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 110105
2 | ## Title: NeatPlates: Graphite
3 | ## Notes: Minimalisty
4 | ## Author: Binny
5 | ## Dependencies: NeatPlates, NeatPlatesHub
6 |
7 | Graphite.lua
8 |
9 |
10 |
--------------------------------------------------------------------------------
/NeatPlates_Roth/NeatPlates_Roth-Classic.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 11507
2 | ## Title: NeatPlates: Roth
3 | ## Notes: Vanilla-Style Plates.
4 | ## Author: Reinhart
5 | ## Dependencies: NeatPlates, NeatPlatesHub
6 |
7 | NeatPlates_Roth.lua
8 |
9 |
--------------------------------------------------------------------------------
/NeatPlates_Slim_Vertical/NeatPlates_Slim_Vertical.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 110105
2 | ## Title: NeatPlates: Slim Vertical|r
3 | ## Author: Dotfix
4 | ## Version: 2.2
5 | ## Dependencies: NeatPlates, NeatPlatesHub
6 |
7 | NeatPlates_Slim_Vertical.lua
--------------------------------------------------------------------------------
/NeatPlates_Graphite/NeatPlates_Graphite-Classic.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 11507
2 | ## Title: NeatPlates: Graphite
3 | ## Notes: Minimalisty
4 | ## Author: Binny
5 | ## Dependencies: NeatPlates, NeatPlatesHub
6 |
7 | Graphite.lua
8 |
9 |
10 |
--------------------------------------------------------------------------------
/NeatPlates_Graphite/NeatPlates_Graphite-Mists.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 50500
2 | ## Title: NeatPlates: Graphite
3 | ## Notes: Minimalisty
4 | ## Author: Binny
5 | ## Dependencies: NeatPlates, NeatPlatesHub
6 |
7 | Graphite.lua
8 |
9 |
10 |
--------------------------------------------------------------------------------
/NeatPlates_Graphite/NeatPlates_Graphite-WOTLKC.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 30404
2 | ## Title: NeatPlates: Graphite
3 | ## Notes: Minimalisty
4 | ## Author: Binny
5 | ## Dependencies: NeatPlates, NeatPlatesHub
6 |
7 | Graphite.lua
8 |
9 |
10 |
--------------------------------------------------------------------------------
/NeatPlates_Slim_Horizontal/NeatPlates_Slim_Horizontal.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 110105
2 | ## Title: NeatPlates: Slim Horizontal
3 | ## Author: Dotfix
4 | ## Version: 2.2
5 | ## Dependencies: NeatPlates, NeatPlatesHub
6 |
7 | NeatPlates_Slim_Horizontal.lua
--------------------------------------------------------------------------------
/NeatPlates_Slim_Vertical/NeatPlates_Slim_Vertical-Cata.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 40402
2 | ## Title: NeatPlates: Slim Vertical|r
3 | ## Author: Dotfix
4 | ## Version: 2.2
5 | ## Dependencies: NeatPlates, NeatPlatesHub
6 |
7 | NeatPlates_Slim_Vertical.lua
--------------------------------------------------------------------------------
/NeatPlates_Slim_Vertical/NeatPlates_Slim_Vertical-Mists.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 50500
2 | ## Title: NeatPlates: Slim Vertical|r
3 | ## Author: Dotfix
4 | ## Version: 2.2
5 | ## Dependencies: NeatPlates, NeatPlatesHub
6 |
7 | NeatPlates_Slim_Vertical.lua
--------------------------------------------------------------------------------
/NeatPlates_Slim_Vertical/NeatPlates_Slim_Vertical-TBC.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 20504
2 | ## Title: NeatPlates: Slim Vertical|r
3 | ## Author: Dotfix
4 | ## Version: 2.2
5 | ## Dependencies: NeatPlates, NeatPlatesHub
6 |
7 | NeatPlates_Slim_Vertical.lua
--------------------------------------------------------------------------------
/NeatPlates_Slim_Vertical/NeatPlates_Slim_Vertical-WOTLKC.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 30404
2 | ## Title: NeatPlates: Slim Vertical|r
3 | ## Author: Dotfix
4 | ## Version: 2.2
5 | ## Dependencies: NeatPlates, NeatPlatesHub
6 |
7 | NeatPlates_Slim_Vertical.lua
--------------------------------------------------------------------------------
/NeatPlates_Slim_Horizontal/NeatPlates_Slim_Horizontal-Cata.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 40402
2 | ## Title: NeatPlates: Slim Horizontal
3 | ## Author: Dotfix
4 | ## Version: 2.2
5 | ## Dependencies: NeatPlates, NeatPlatesHub
6 |
7 | NeatPlates_Slim_Horizontal.lua
--------------------------------------------------------------------------------
/NeatPlates_Slim_Horizontal/NeatPlates_Slim_Horizontal-Mists.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 50500
2 | ## Title: NeatPlates: Slim Horizontal
3 | ## Author: Dotfix
4 | ## Version: 2.2
5 | ## Dependencies: NeatPlates, NeatPlatesHub
6 |
7 | NeatPlates_Slim_Horizontal.lua
--------------------------------------------------------------------------------
/NeatPlates_Slim_Horizontal/NeatPlates_Slim_Horizontal-TBC.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 20504
2 | ## Title: NeatPlates: Slim Horizontal
3 | ## Author: Dotfix
4 | ## Version: 2.2
5 | ## Dependencies: NeatPlates, NeatPlatesHub
6 |
7 | NeatPlates_Slim_Horizontal.lua
--------------------------------------------------------------------------------
/NeatPlates_Slim_Vertical/NeatPlates_Slim_Vertical-Classic.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 11507
2 | ## Title: NeatPlates: Slim Vertical|r
3 | ## Author: Dotfix
4 | ## Version: 2.2
5 | ## Dependencies: NeatPlates, NeatPlatesHub
6 |
7 | NeatPlates_Slim_Vertical.lua
--------------------------------------------------------------------------------
/NeatPlates_Slim_Horizontal/NeatPlates_Slim_Horizontal-Classic.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 11507
2 | ## Title: NeatPlates: Slim Horizontal
3 | ## Author: Dotfix
4 | ## Version: 2.2
5 | ## Dependencies: NeatPlates, NeatPlatesHub
6 |
7 | NeatPlates_Slim_Horizontal.lua
--------------------------------------------------------------------------------
/NeatPlates_Slim_Horizontal/NeatPlates_Slim_Horizontal-WOTLKC.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 30404
2 | ## Title: NeatPlates: Slim Horizontal
3 | ## Author: Dotfix
4 | ## Version: 2.2
5 | ## Dependencies: NeatPlates, NeatPlatesHub
6 |
7 | NeatPlates_Slim_Horizontal.lua
--------------------------------------------------------------------------------
/NeatPlates_Neon/NeatPlates_Neon-TBC.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 20504
2 | ## Title: NeatPlates: Neon Theme
3 | ## Notes: It toasts your Eggo waffles, and butters your bread.
4 | ## Author: Binny
5 | ## Dependencies: NeatPlates, NeatPlatesHub
6 |
7 | Neon.lua
8 |
9 |
10 |
--------------------------------------------------------------------------------
/NeatPlates_Neon/NeatPlates_Neon.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 110105
2 | ## Title: NeatPlates: Neon Theme
3 | ## Notes: It toasts your Eggo waffles, and butters your bread.
4 | ## Author: Binny
5 | ## Dependencies: NeatPlates, NeatPlatesHub
6 |
7 | Neon.lua
8 |
9 |
10 |
--------------------------------------------------------------------------------
/NeatPlates_Neon/NeatPlates_Neon-Cata.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 40402
2 | ## Title: NeatPlates: Neon Theme
3 | ## Notes: It toasts your Eggo waffles, and butters your bread.
4 | ## Author: Binny
5 | ## Dependencies: NeatPlates, NeatPlatesHub
6 |
7 | Neon.lua
8 |
9 |
10 |
--------------------------------------------------------------------------------
/NeatPlates_Neon/NeatPlates_Neon-Classic.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 11507
2 | ## Title: NeatPlates: Neon Theme
3 | ## Notes: It toasts your Eggo waffles, and butters your bread.
4 | ## Author: Binny
5 | ## Dependencies: NeatPlates, NeatPlatesHub
6 |
7 | Neon.lua
8 |
9 |
10 |
--------------------------------------------------------------------------------
/NeatPlates_Neon/NeatPlates_Neon-Mists.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 50500
2 | ## Title: NeatPlates: Neon Theme
3 | ## Notes: It toasts your Eggo waffles, and butters your bread.
4 | ## Author: Binny
5 | ## Dependencies: NeatPlates, NeatPlatesHub
6 |
7 | Neon.lua
8 |
9 |
10 |
--------------------------------------------------------------------------------
/NeatPlates_Neon/NeatPlates_Neon-WOTLKC.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 30404
2 | ## Title: NeatPlates: Neon Theme
3 | ## Notes: It toasts your Eggo waffles, and butters your bread.
4 | ## Author: Binny
5 | ## Dependencies: NeatPlates, NeatPlatesHub
6 |
7 | Neon.lua
8 |
9 |
10 |
--------------------------------------------------------------------------------
/NeatPlates_ClassicPlates/NeatPlates_ClassicPlates-BCC.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 20504
2 | ## Title: NeatPlates: |cffff6060ClassicPlates
3 | ## Notes: Vanilla-Style Plates.
4 | ## Author: delabarra
5 | ## Dependencies: NeatPlates, NeatPlatesHub
6 |
7 | NeatPlates_ClassicPlates.lua
8 |
9 |
--------------------------------------------------------------------------------
/NeatPlates_ClassicPlates/NeatPlates_ClassicPlates-Cata.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 40402
2 | ## Title: NeatPlates: |cffff6060ClassicPlates
3 | ## Notes: Vanilla-Style Plates.
4 | ## Author: delabarra
5 | ## Dependencies: NeatPlates, NeatPlatesHub
6 |
7 | NeatPlates_ClassicPlates.lua
8 |
9 |
--------------------------------------------------------------------------------
/NeatPlates_ClassicPlates/NeatPlates_ClassicPlates.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 110105
2 | ## Title: NeatPlates: |cffff6060ClassicPlates
3 | ## Notes: Vanilla-Style Plates.
4 | ## Author: delabarra
5 | ## Dependencies: NeatPlates, NeatPlatesHub
6 |
7 | NeatPlates_ClassicPlates.lua
8 |
9 |
--------------------------------------------------------------------------------
/NeatPlates_ClassicPlates/NeatPlates_ClassicPlates-Classic.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 11507
2 | ## Title: NeatPlates: |cffff6060ClassicPlates
3 | ## Notes: Vanilla-Style Plates.
4 | ## Author: delabarra
5 | ## Dependencies: NeatPlates, NeatPlatesHub
6 |
7 | NeatPlates_ClassicPlates.lua
8 |
9 |
--------------------------------------------------------------------------------
/NeatPlates_ClassicPlates/NeatPlates_ClassicPlates-Mists.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 50500
2 | ## Title: NeatPlates: |cffff6060ClassicPlates
3 | ## Notes: Vanilla-Style Plates.
4 | ## Author: delabarra
5 | ## Dependencies: NeatPlates, NeatPlatesHub
6 |
7 | NeatPlates_ClassicPlates.lua
8 |
9 |
--------------------------------------------------------------------------------
/NeatPlates_ClassicPlates/NeatPlates_ClassicPlates-WOTLKC.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 30404
2 | ## Title: NeatPlates: |cffff6060ClassicPlates
3 | ## Notes: Vanilla-Style Plates.
4 | ## Author: delabarra
5 | ## Dependencies: NeatPlates, NeatPlatesHub
6 |
7 | NeatPlates_ClassicPlates.lua
8 |
9 |
--------------------------------------------------------------------------------
/NeatPlates_Alvara/NeatPlates_Alvara.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 110105
2 | ## Title: NeatPlates: Alvara
3 | ## Notes: Made to Alvara's specifications. Very Simple.
4 | ## Author: Alvara - Zul'Jin
5 | ## Version: 5a
6 | ## Dependencies: NeatPlates, NeatPlatesHub
7 |
8 | NeatPlates_Alvara.lua
9 |
10 |
--------------------------------------------------------------------------------
/NeatPlates_Alvara/NeatPlates_Alvara-BCC.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 20504
2 | ## Title: NeatPlates: Alvara
3 | ## Notes: Made to Alvara's specifications. Very Simple.
4 | ## Author: Alvara - Zul'Jin
5 | ## Version: 5a
6 | ## Dependencies: NeatPlates, NeatPlatesHub
7 |
8 | NeatPlates_Alvara.lua
9 |
10 |
--------------------------------------------------------------------------------
/NeatPlates_Alvara/NeatPlates_Alvara-Cata.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 40402
2 | ## Title: NeatPlates: Alvara
3 | ## Notes: Made to Alvara's specifications. Very Simple.
4 | ## Author: Alvara - Zul'Jin
5 | ## Version: 5a
6 | ## Dependencies: NeatPlates, NeatPlatesHub
7 |
8 | NeatPlates_Alvara.lua
9 |
10 |
--------------------------------------------------------------------------------
/NeatPlates_Alvara/NeatPlates_Alvara-Classic.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 11507
2 | ## Title: NeatPlates: Alvara
3 | ## Notes: Made to Alvara's specifications. Very Simple.
4 | ## Author: Alvara - Zul'Jin
5 | ## Version: 5a
6 | ## Dependencies: NeatPlates, NeatPlatesHub
7 |
8 | NeatPlates_Alvara.lua
9 |
10 |
--------------------------------------------------------------------------------
/NeatPlates_Alvara/NeatPlates_Alvara-Mists.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 50500
2 | ## Title: NeatPlates: Alvara
3 | ## Notes: Made to Alvara's specifications. Very Simple.
4 | ## Author: Alvara - Zul'Jin
5 | ## Version: 5a
6 | ## Dependencies: NeatPlates, NeatPlatesHub
7 |
8 | NeatPlates_Alvara.lua
9 |
10 |
--------------------------------------------------------------------------------
/NeatPlates_Alvara/NeatPlates_Alvara-WOTLKC.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 30404
2 | ## Title: NeatPlates: Alvara
3 | ## Notes: Made to Alvara's specifications. Very Simple.
4 | ## Author: Alvara - Zul'Jin
5 | ## Version: 5a
6 | ## Dependencies: NeatPlates, NeatPlatesHub
7 |
8 | NeatPlates_Alvara.lua
9 |
10 |
--------------------------------------------------------------------------------
/NeatPlates_Simple/NeatPlates_Simple.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 110105
2 | ## Title: NeatPlates: |cffffffffSimple|r
3 | ## Notes: Simple NeatPlates skin with some built-in Healer functionality.
4 | ## Author: FunkyCold
5 | ## Version: 7.3.0
6 | ## Dependencies: NeatPlates, NeatPlatesHub
7 |
8 | NeatPlates_Simple.lua
--------------------------------------------------------------------------------
/NeatPlates_Simple/NeatPlates_Simple-Cata.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 40402
2 | ## Title: NeatPlates: |cffffffffSimple|r
3 | ## Notes: Simple NeatPlates skin with some built-in Healer functionality.
4 | ## Author: FunkyCold
5 | ## Version: 7.3.0
6 | ## Dependencies: NeatPlates, NeatPlatesHub
7 |
8 | NeatPlates_Simple.lua
--------------------------------------------------------------------------------
/NeatPlates_Simple/NeatPlates_Simple-Mists.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 50500
2 | ## Title: NeatPlates: |cffffffffSimple|r
3 | ## Notes: Simple NeatPlates skin with some built-in Healer functionality.
4 | ## Author: FunkyCold
5 | ## Version: 7.3.0
6 | ## Dependencies: NeatPlates, NeatPlatesHub
7 |
8 | NeatPlates_Simple.lua
--------------------------------------------------------------------------------
/NeatPlates_Simple/NeatPlates_Simple-TBC.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 20504
2 | ## Title: NeatPlates: |cffffffffSimple|r
3 | ## Notes: Simple NeatPlates skin with some built-in Healer functionality.
4 | ## Author: FunkyCold
5 | ## Version: 7.3.0
6 | ## Dependencies: NeatPlates, NeatPlatesHub
7 |
8 | NeatPlates_Simple.lua
--------------------------------------------------------------------------------
/NeatPlates_Simple/NeatPlates_Simple-WOTLKC.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 30404
2 | ## Title: NeatPlates: |cffffffffSimple|r
3 | ## Notes: Simple NeatPlates skin with some built-in Healer functionality.
4 | ## Author: FunkyCold
5 | ## Version: 7.3.0
6 | ## Dependencies: NeatPlates, NeatPlatesHub
7 |
8 | NeatPlates_Simple.lua
--------------------------------------------------------------------------------
/NeatPlates_Simple/NeatPlates_Simple-Classic.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 11507
2 | ## Title: NeatPlates: |cffffffffSimple|r
3 | ## Notes: Simple NeatPlates skin with some built-in Healer functionality.
4 | ## Author: FunkyCold
5 | ## Version: 7.3.0
6 | ## Dependencies: NeatPlates, NeatPlatesHub
7 |
8 | NeatPlates_Simple.lua
--------------------------------------------------------------------------------
/NeatPlates_BlizzardPlates/NeatPlates_BlizzardPlates-BCC.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 20504
2 | ## Title: NeatPlates: |cFF3782D1BlizzardPlates
3 | ## Notes: Blizzard Vanilla´s Plates.
4 | ## Author: delabarra.
5 | ## Version: 2.0
6 | ## Dependencies: NeatPlates, NeatPlatesHub
7 |
8 | NeatPlates_BlizzardPlates.lua
9 |
10 |
--------------------------------------------------------------------------------
/NeatPlates_BlizzardPlates/NeatPlates_BlizzardPlates-Cata.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 40402
2 | ## Title: NeatPlates: |cFF3782D1BlizzardPlates
3 | ## Notes: Blizzard Vanilla´s Plates.
4 | ## Author: delabarra.
5 | ## Version: 2.0
6 | ## Dependencies: NeatPlates, NeatPlatesHub
7 |
8 | NeatPlates_BlizzardPlates.lua
9 |
10 |
--------------------------------------------------------------------------------
/NeatPlates_BlizzardPlates/NeatPlates_BlizzardPlates.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 110105
2 | ## Title: NeatPlates: |cFF3782D1BlizzardPlates
3 | ## Notes: Blizzard Vanilla´s Plates.
4 | ## Author: delabarra.
5 | ## Version: 2.0
6 | ## Dependencies: NeatPlates, NeatPlatesHub
7 |
8 | NeatPlates_BlizzardPlates.lua
9 |
10 |
--------------------------------------------------------------------------------
/NeatPlates_Renaitre/NeatPlates_Renaitre-TBC.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 20504
2 | ## Title: NeatPlates:|cffa335ee Renaitre|r
3 | ## Version: v7.0.3
4 | ## Notes: Renaitre's custom nameplates.
5 | ## Author: Renaitre
6 | ## Credits: Binbwen
7 | ## Dependencies: NeatPlates, NeatPlatesHub
8 |
9 | NeatPlates_Renaitre.lua
10 |
--------------------------------------------------------------------------------
/NeatPlates_Renaitre/NeatPlates_Renaitre.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 110105
2 | ## Title: NeatPlates:|cffa335ee Renaitre|r
3 | ## Version: v7.0.3
4 | ## Notes: Renaitre's custom nameplates.
5 | ## Author: Renaitre
6 | ## Credits: Binbwen
7 | ## Dependencies: NeatPlates, NeatPlatesHub
8 |
9 | NeatPlates_Renaitre.lua
10 |
--------------------------------------------------------------------------------
/NeatPlates_BlizzardPlates/NeatPlates_BlizzardPlates-Classic.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 11507
2 | ## Title: NeatPlates: |cFF3782D1BlizzardPlates
3 | ## Notes: Blizzard Vanilla´s Plates.
4 | ## Author: delabarra.
5 | ## Version: 2.0
6 | ## Dependencies: NeatPlates, NeatPlatesHub
7 |
8 | NeatPlates_BlizzardPlates.lua
9 |
10 |
--------------------------------------------------------------------------------
/NeatPlates_BlizzardPlates/NeatPlates_BlizzardPlates-Mists.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 50500
2 | ## Title: NeatPlates: |cFF3782D1BlizzardPlates
3 | ## Notes: Blizzard Vanilla´s Plates.
4 | ## Author: delabarra.
5 | ## Version: 2.0
6 | ## Dependencies: NeatPlates, NeatPlatesHub
7 |
8 | NeatPlates_BlizzardPlates.lua
9 |
10 |
--------------------------------------------------------------------------------
/NeatPlates_BlizzardPlates/NeatPlates_BlizzardPlates-WOTLKC.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 30404
2 | ## Title: NeatPlates: |cFF3782D1BlizzardPlates
3 | ## Notes: Blizzard Vanilla´s Plates.
4 | ## Author: delabarra.
5 | ## Version: 2.0
6 | ## Dependencies: NeatPlates, NeatPlatesHub
7 |
8 | NeatPlates_BlizzardPlates.lua
9 |
10 |
--------------------------------------------------------------------------------
/NeatPlates_Renaitre/NeatPlates_Renaitre-Cata.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 40402
2 | ## Title: NeatPlates:|cffa335ee Renaitre|r
3 | ## Version: v7.0.3
4 | ## Notes: Renaitre's custom nameplates.
5 | ## Author: Renaitre
6 | ## Credits: Binbwen
7 | ## Dependencies: NeatPlates, NeatPlatesHub
8 |
9 | NeatPlates_Renaitre.lua
10 |
--------------------------------------------------------------------------------
/NeatPlates_Renaitre/NeatPlates_Renaitre-Classic.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 11507
2 | ## Title: NeatPlates:|cffa335ee Renaitre|r
3 | ## Version: v7.0.3
4 | ## Notes: Renaitre's custom nameplates.
5 | ## Author: Renaitre
6 | ## Credits: Binbwen
7 | ## Dependencies: NeatPlates, NeatPlatesHub
8 |
9 | NeatPlates_Renaitre.lua
10 |
--------------------------------------------------------------------------------
/NeatPlates_Renaitre/NeatPlates_Renaitre-Mists.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 50500
2 | ## Title: NeatPlates:|cffa335ee Renaitre|r
3 | ## Version: v7.0.3
4 | ## Notes: Renaitre's custom nameplates.
5 | ## Author: Renaitre
6 | ## Credits: Binbwen
7 | ## Dependencies: NeatPlates, NeatPlatesHub
8 |
9 | NeatPlates_Renaitre.lua
10 |
--------------------------------------------------------------------------------
/NeatPlates_Renaitre/NeatPlates_Renaitre-WOTLKC.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 30404
2 | ## Title: NeatPlates:|cffa335ee Renaitre|r
3 | ## Version: v7.0.3
4 | ## Notes: Renaitre's custom nameplates.
5 | ## Author: Renaitre
6 | ## Credits: Binbwen
7 | ## Dependencies: NeatPlates, NeatPlatesHub
8 |
9 | NeatPlates_Renaitre.lua
10 |
--------------------------------------------------------------------------------
/NeatPlates/NeatPlates.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 110105
2 | ## Title: NeatPlates
3 | ## Notes: Enjoys long walks on Darkshore
4 | ## Author: Luxocracy and friends
5 | ## Version: @project-version@
6 | ## SavedVariables: NeatPlatesSettings
7 | ## SavedVariablesPerCharacter: NeatPlatesOptions
8 |
9 | temporary-because-blizzard-forgot-an-include.xml
10 | embeds.xml
11 | locales.xml
12 | NeatPlates.xml
13 |
--------------------------------------------------------------------------------
/NeatPlates/NeatPlates-BCC.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 20504
2 | ## Title: NeatPlates
3 | ## Notes: Enjoys long walks on Darkshore
4 | ## Author: Luxocracy and friends
5 | ## Version: @project-version@
6 | ## SavedVariables: NeatPlatesSettings
7 | ## SavedVariablesPerCharacter: NeatPlatesOptions
8 |
9 | temporary-because-blizzard-forgot-an-include.xml
10 | embeds.xml
11 | locales.xml
12 | NeatPlates.xml
13 |
--------------------------------------------------------------------------------
/NeatPlates/NeatPlates-Cata.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 40402
2 | ## Title: NeatPlates
3 | ## Notes: Enjoys long walks on Darkshore
4 | ## Author: Luxocracy and friends
5 | ## Version: @project-version@
6 | ## SavedVariables: NeatPlatesSettings
7 | ## SavedVariablesPerCharacter: NeatPlatesOptions
8 |
9 | temporary-because-blizzard-forgot-an-include.xml
10 | embeds.xml
11 | locales.xml
12 | NeatPlates.xml
13 |
--------------------------------------------------------------------------------
/NeatPlates/NeatPlates-Mists.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 50500
2 | ## Title: NeatPlates
3 | ## Notes: Enjoys long walks on Darkshore
4 | ## Author: Luxocracy and friends
5 | ## Version: @project-version@
6 | ## SavedVariables: NeatPlatesSettings
7 | ## SavedVariablesPerCharacter: NeatPlatesOptions
8 |
9 | temporary-because-blizzard-forgot-an-include.xml
10 | embeds.xml
11 | locales.xml
12 | NeatPlates.xml
13 |
--------------------------------------------------------------------------------
/NeatPlates/NeatPlates-WOTLKC.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 30404
2 | ## Title: NeatPlates
3 | ## Notes: Enjoys long walks on Darkshore
4 | ## Author: Luxocracy and friends
5 | ## Version: @project-version@
6 | ## SavedVariables: NeatPlatesSettings
7 | ## SavedVariablesPerCharacter: NeatPlatesOptions
8 |
9 | temporary-because-blizzard-forgot-an-include.xml
10 | embeds.xml
11 | locales.xml
12 | NeatPlates.xml
13 |
--------------------------------------------------------------------------------
/NeatPlates/NeatPlates-Mainline.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 110105
2 | ## Title: NeatPlates
3 | ## Notes: Enjoys long walks on Darkshore
4 | ## Author: Luxocracy and friends
5 | ## Version: @project-version@
6 | ## SavedVariables: NeatPlatesSettings
7 | ## SavedVariablesPerCharacter: NeatPlatesOptions
8 |
9 | temporary-because-blizzard-forgot-an-include.xml
10 | embeds.xml
11 | locales.xml
12 | NeatPlates.xml
13 |
--------------------------------------------------------------------------------
/NeatPlates/NeatPlates-Classic.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 11507
2 | ## Title: NeatPlates
3 | ## Notes: Enjoys long walks on Darkshore
4 | ## Author: Luxocracy and friends
5 | ## Version: @project-version@
6 | ## SavedVariables: NeatPlatesSettings
7 | ## SavedVariablesPerCharacter: NeatPlatesOptions
8 |
9 | temporary-because-blizzard-forgot-an-include.xml
10 | embeds-classic.xml
11 | locales.xml
12 | NeatPlates.xml
13 |
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | # Auto detect text files and perform LF normalization
2 | * text=auto
3 |
4 | # Custom for Visual Studio
5 | *.cs diff=csharp
6 |
7 | # Standard to msysgit
8 | *.doc diff=astextplain
9 | *.DOC diff=astextplain
10 | *.docx diff=astextplain
11 | *.DOCX diff=astextplain
12 | *.dot diff=astextplain
13 | *.DOT diff=astextplain
14 | *.pdf diff=astextplain
15 | *.PDF diff=astextplain
16 | *.rtf diff=astextplain
17 | *.RTF diff=astextplain
18 |
19 | *.toc merge=ours
20 | .pkgmeta merge=ours
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Windows thumbnail cache files
2 | Thumbs.db
3 | ehthumbs.db
4 | ehthumbs_vista.db
5 |
6 | # Folder config file
7 | Desktop.ini
8 |
9 | # Recycle Bin used on file shares
10 | $RECYCLE.BIN/
11 |
12 | # Windows Installer files
13 | *.cab
14 | *.msi
15 | *.msm
16 | *.msp
17 |
18 | # Windows shortcuts
19 | *.lnk
20 |
21 | # =========================
22 | # Operating System Files
23 | # =========================
24 | *.zip
25 | *.bat
26 | TODO.txt
27 | *.sublime-project
28 | *.sublime-workspace
29 | libs/
30 | *.code-workspace
31 | .vscode/
32 |
33 | *.psd
34 |
--------------------------------------------------------------------------------
/NeatPlates/embeds.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/NeatPlates/locales.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/NeatPlates/embeds-classic.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/feature_request.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Feature request
3 | about: Suggest an idea for this project
4 | title: ''
5 | labels: ''
6 | assignees: ''
7 |
8 | ---
9 |
10 | **Is your feature request related to a problem? Please describe.**
11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
12 |
13 | **Describe the solution you'd like**
14 | A clear and concise description of what you want to happen.
15 |
16 | **Describe alternatives you've considered**
17 | A clear and concise description of any alternative solutions or features you've considered.
18 |
19 | **Additional context**
20 | Add any other context or screenshots about the feature request here.
21 |
--------------------------------------------------------------------------------
/NeatPlatesHub/NeatPlatesHub.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 110105
2 | ## Title: NeatPlates Hub
3 | ## Notes: Provides a common configuration panel for supported themes.
4 | ## Author: Luxocracy and friends
5 | ## Dependencies: NeatPlates, NeatPlatesWidgets
6 | ## OptionalDeps: NeatPlatesHubDE, NeatPlatesHubES, NeatPlatesHubMX, NeatPlatesHubFR, NeatPlatesHubKR, NeatPlatesHubRU, NeatPlatesHubCN, NeatPlatesHubTW
7 | ## SavedVariables: NeatPlatesHubSettings
8 |
9 | Defaults.lua
10 | Helpers.lua
11 | Templates.lua
12 |
13 | functions\Core.lua
14 | functions\Filter.lua
15 | functions\Style.lua
16 | functions\Alpha.lua
17 | functions\Scale.lua
18 | functions\Color.lua
19 | functions\Text.lua
20 | functions\Widgets.lua
21 |
22 | Hub.lua
23 |
--------------------------------------------------------------------------------
/NeatPlatesHub/NeatPlatesHub-Cata.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 40402
2 | ## Title: NeatPlates Hub
3 | ## Notes: Provides a common configuration panel for supported themes.
4 | ## Author: Luxocracy and friends
5 | ## Dependencies: NeatPlates, NeatPlatesWidgets
6 | ## OptionalDeps: NeatPlatesHubDE, NeatPlatesHubES, NeatPlatesHubMX, NeatPlatesHubFR, NeatPlatesHubKR, NeatPlatesHubRU, NeatPlatesHubCN, NeatPlatesHubTW
7 | ## SavedVariables: NeatPlatesHubSettings
8 |
9 | Defaults.lua
10 | Helpers.lua
11 | Templates.lua
12 |
13 | functions\Core.lua
14 | functions\Filter.lua
15 | functions\Style.lua
16 | functions\Alpha.lua
17 | functions\Scale.lua
18 | functions\Color.lua
19 | functions\Text.lua
20 | functions\Widgets.lua
21 |
22 | Hub.lua
23 |
--------------------------------------------------------------------------------
/NeatPlatesHub/NeatPlatesHub-Mists.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 50500
2 | ## Title: NeatPlates Hub
3 | ## Notes: Provides a common configuration panel for supported themes.
4 | ## Author: Luxocracy and friends
5 | ## Dependencies: NeatPlates, NeatPlatesWidgets
6 | ## OptionalDeps: NeatPlatesHubDE, NeatPlatesHubES, NeatPlatesHubMX, NeatPlatesHubFR, NeatPlatesHubKR, NeatPlatesHubRU, NeatPlatesHubCN, NeatPlatesHubTW
7 | ## SavedVariables: NeatPlatesHubSettings
8 |
9 | Defaults.lua
10 | Helpers.lua
11 | Templates.lua
12 |
13 | functions\Core.lua
14 | functions\Filter.lua
15 | functions\Style.lua
16 | functions\Alpha.lua
17 | functions\Scale.lua
18 | functions\Color.lua
19 | functions\Text.lua
20 | functions\Widgets.lua
21 |
22 | Hub.lua
23 |
--------------------------------------------------------------------------------
/NeatPlatesHub/NeatPlatesHub-TBC.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 20504
2 | ## Title: NeatPlates Hub
3 | ## Notes: Provides a common configuration panel for supported themes.
4 | ## Author: Luxocracy and friends
5 | ## Dependencies: NeatPlates, NeatPlatesWidgets
6 | ## OptionalDeps: NeatPlatesHubDE, NeatPlatesHubES, NeatPlatesHubMX, NeatPlatesHubFR, NeatPlatesHubKR, NeatPlatesHubRU, NeatPlatesHubCN, NeatPlatesHubTW
7 | ## SavedVariables: NeatPlatesHubSettings
8 |
9 | Defaults.lua
10 | Helpers.lua
11 | Templates.lua
12 |
13 | functions\Core.lua
14 | functions\Filter.lua
15 | functions\Style.lua
16 | functions\Alpha.lua
17 | functions\Scale.lua
18 | functions\Color.lua
19 | functions\Text.lua
20 | functions\Widgets.lua
21 |
22 | Hub.lua
23 |
--------------------------------------------------------------------------------
/NeatPlatesHub/NeatPlatesHub-WOTLKC.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 30404
2 | ## Title: NeatPlates Hub
3 | ## Notes: Provides a common configuration panel for supported themes.
4 | ## Author: Luxocracy and friends
5 | ## Dependencies: NeatPlates, NeatPlatesWidgets
6 | ## OptionalDeps: NeatPlatesHubDE, NeatPlatesHubES, NeatPlatesHubMX, NeatPlatesHubFR, NeatPlatesHubKR, NeatPlatesHubRU, NeatPlatesHubCN, NeatPlatesHubTW
7 | ## SavedVariables: NeatPlatesHubSettings
8 |
9 | Defaults.lua
10 | Helpers.lua
11 | Templates.lua
12 |
13 | functions\Core.lua
14 | functions\Filter.lua
15 | functions\Style.lua
16 | functions\Alpha.lua
17 | functions\Scale.lua
18 | functions\Color.lua
19 | functions\Text.lua
20 | functions\Widgets.lua
21 |
22 | Hub.lua
23 |
--------------------------------------------------------------------------------
/NeatPlatesHub/NeatPlatesHub-Classic.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 11507
2 | ## Title: NeatPlates Hub
3 | ## Notes: Provides a common configuration panel for supported themes.
4 | ## Author: Luxocracy and friends
5 | ## Dependencies: NeatPlates, NeatPlatesWidgets
6 | ## OptionalDeps: NeatPlatesHubDE, NeatPlatesHubES, NeatPlatesHubMX, NeatPlatesHubFR, NeatPlatesHubKR, NeatPlatesHubRU, NeatPlatesHubCN, NeatPlatesHubTW
7 | ## SavedVariables: NeatPlatesHubSettings
8 |
9 | Defaults.lua
10 | Helpers.lua
11 | Templates.lua
12 |
13 | functions\Core.lua
14 | functions\Filter.lua
15 | functions\Style.lua
16 | functions\Alpha.lua
17 | functions\Scale.lua
18 | functions\Color.lua
19 | functions\Text.lua
20 | functions\Widgets.lua
21 |
22 | Hub.lua
23 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/bug_report.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Bug report
3 | about: Create a report to help us improve
4 | title: ''
5 | labels: ''
6 | assignees: ''
7 |
8 | ---
9 |
10 | **What version of the game you are experiencing the issue with:**
11 | Live/Retail, TBC, Classic
12 |
13 | **Describe the bug**
14 | A clear and concise description of what the bug is.
15 |
16 | **To Reproduce**
17 | Steps to reproduce the behavior:
18 | 1. Go to '...'
19 | 2. Click on '....'
20 | 3. Scroll down to '....'
21 | 4. See error
22 |
23 | **Expected behavior**
24 | A clear and concise description of what you expected to happen.
25 |
26 | **Screenshots**
27 | If applicable, add screenshots to help explain your problem.
28 |
29 | **Additional context**
30 | Add any other context about the problem here.
31 |
--------------------------------------------------------------------------------
/.github/workflows/inactivity.yml:
--------------------------------------------------------------------------------
1 | name: Close inactive issues
2 | on:
3 | schedule:
4 | - cron: "30 1 * * 0"
5 |
6 | jobs:
7 | close-issues:
8 | runs-on: ubuntu-latest
9 | permissions:
10 | issues: write
11 | pull-requests: write
12 | steps:
13 | - uses: actions/stale@v5
14 | with:
15 | days-before-issue-stale: 90
16 | days-before-issue-close: 30
17 | stale-issue-label: "stale"
18 | stale-issue-message: "This issue is stale because it has been open for 90 days with no activity. If you feel the issue is still relevant, please leave a comment to prevent the issue from being closed in 30 days"
19 | close-issue-message: ""
20 | days-before-pr-stale: -1
21 | days-before-pr-close: -1
22 | repo-token: ${{ secrets.GITHUB_TOKEN }}
23 |
--------------------------------------------------------------------------------
/NeatPlates/NeatPlatesGlobals.lua:
--------------------------------------------------------------------------------
1 | NEATPLATES_IS_CLASSIC_WOTLKC = WOW_PROJECT_ID == WOW_PROJECT_WRATH_CLASSIC
2 | NEATPLATES_IS_CLASSIC_TBC = WOW_PROJECT_ID == WOW_PROJECT_BURNING_CRUSADE_CLASSIC
3 | NEATPLATES_IS_CLASSIC_CATA = WOW_PROJECT_ID == WOW_PROJECT_CATACLYSM_CLASSIC
4 | NEATPLATES_IS_CLASSIC_MISTS = WOW_PROJECT_ID == WOW_PROJECT_MISTS_CLASSIC
5 | NEATPLATES_IS_CLASSIC_ERA = WOW_PROJECT_ID == WOW_PROJECT_CLASSIC
6 | NEATPLATES_IS_CLASSIC = NEATPLATES_IS_CLASSIC_TBC or NEATPLATES_IS_CLASSIC_ERA or NEATPLATES_IS_CLASSIC_WOTLKC or NEATPLATES_IS_CLASSIC_CATA or NEATPLATES_IS_CLASSIC_MISTS
7 | local wowversion, wowbuild, wowdate, wowtocversion = GetBuildInfo()
8 | if wowtocversion and (wowtocversion > 90000 or (NEATPLATES_IS_CLASSIC and wowtocversion >= 11400)) then
9 | NeatPlatesBackdrop = "BackdropTemplate"
10 | end
11 |
12 | -- Fill CUSTOM_CLASS_COLORS with the default colors
13 | NEATPLATES_CLASS_COLORS = {}
14 | for class, color in pairs(RAID_CLASS_COLORS) do
15 | NEATPLATES_CLASS_COLORS[class] = {r = color.r, g = color.g, b = color.b}
16 | end
--------------------------------------------------------------------------------
/NeatPlates/media/Empty.tga:
--------------------------------------------------------------------------------
1 | TRUEVISION-XFILE.
--------------------------------------------------------------------------------
/NeatPlates_Simple/Media/empty.tga:
--------------------------------------------------------------------------------
1 | TRUEVISION-XFILE.
--------------------------------------------------------------------------------
/NeatPlatesWidgets/Widgets.xml:
--------------------------------------------------------------------------------
1 |
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 |
--------------------------------------------------------------------------------
/NeatPlates/temporary-because-blizzard-forgot-an-include.xml:
--------------------------------------------------------------------------------
1 |
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 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 | # NeatPlates
3 | NeatPlates is a nameplate addon for BFA or later expansions.
4 |
5 | Use the command, `'/NeatPlates'` or /np as a shortcut to the interface panel for NeatPlates. On that panel, you'll be able to select from a list of available themes. The theme you choose will affect both appearance and features.
6 |
7 | Use the command, `'/hub'` to configure the mechanics of those included themes. If you're using a custom theme, it might have a different config tool.
8 |
9 | ## Credits
10 | This addon is based on the [Tidy Plates project](https://wow.curseforge.com/projects/tidy-plates) and was created during a time where said project no longer worked with the current version of the game. As such I feel it is important to credit the original authors, [danltiger](https://wow.curseforge.com/members/danltiger) and [CynthiaV](https://wow.curseforge.com/members/CynthiaV), for all the work they put into the original addon.
11 |
12 | ## Bugs
13 | *If you come across any bugs, don't hesitate to open up an [issue](https://github.com/Luxocracy/NeatPlates/issues)*
14 |
15 | ## Future Features & Stuff
16 | https://trello.com/b/BExNZB9y/neatplates
17 | *Anything on the board is subject to change and doesn't neccessarily mean that it will become a feature.*
18 |
19 |
20 | #
21 | *If you are transitioning from 'Tidy Plates Continued' to 'NeatPlates' and wish to keep your settings. You can do this by loading both TPC and NeatPlates, at that point NeatPlates should show a prompt asking if you wish to import these settings.*
22 |
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ArenaWidget.lua:
--------------------------------------------------------------------------------
1 | ---------------
2 | -- Threat Percentage Widget
3 | ---------------
4 |
5 | local font = "FONTS\\arialn.ttf"
6 | local GetArenaIndex = NeatPlatesUtility.GetArenaIndex
7 |
8 | local function UpdateArenaWidget(self, unit)
9 | local arenastring = ""
10 | local arenaindex = GetArenaIndex(unit.rawName)
11 |
12 | if NeatPlates._TestMode then arenaindex = 2 end -- Test Mode
13 |
14 | if unit.type == "PLAYER" or NeatPlates._TestMode then
15 | if arenaindex and arenaindex > 0 then
16 | arenastring = "|cffffcc00["..(tostring(arenaindex)).."] |r"
17 | end
18 | end
19 |
20 | if arenastring ~= "" then
21 | self.Text:SetText(arenastring)
22 | self:Show()
23 | else
24 | self.Text:SetText("")
25 | self:Hide()
26 | end
27 | end
28 |
29 | -- local function UpdateWidget(frame)
30 | -- local unitid = frame.unitid
31 |
32 | -- UpdateArenaWidget(frame, unitid)
33 | -- end
34 |
35 | local function UpdateWidgetContext(frame, unit)
36 | frame.unitid = unit.unitid
37 | UpdateArenaWidget(frame, unit)
38 | end
39 |
40 | local function CreateArenaWidget(parent)
41 | local frame = CreateFrame("Frame", nil, parent)
42 | frame:SetWidth(32); frame:SetHeight(12)
43 |
44 | -- frame.Icon = frame:CreateTexture(nil, "ARTWORK")
45 | -- frame.Icon:SetAllPoints(frame)
46 |
47 | frame.Text = frame:CreateFontString(nil, "OVERLAY")
48 | frame.Text:SetFont(font, 10, "OUTLINE")
49 | frame.Text:SetAllPoints(frame)
50 | frame.Text:SetJustifyH("CENTER")
51 |
52 | frame:Hide()
53 | frame.Update = UpdateWidget
54 | frame.UpdateContext = UpdateWidgetContext
55 | return frame
56 | end
57 |
58 | NeatPlatesWidgets.CreateArenaWidget = CreateArenaWidget
59 |
60 |
61 |
--------------------------------------------------------------------------------
/.pkgmeta:
--------------------------------------------------------------------------------
1 | package-as: NeatPlates
2 | enable-nolib-creation: no
3 |
4 | ignore:
5 | - README.md
6 |
7 | move-folders:
8 | NeatPlates/NeatPlates: NeatPlates
9 | NeatPlates/NeatPlates_BlizzardPlates: NeatPlates_BlizzardPlates
10 | NeatPlates/NeatPlates_ClassicPlates: NeatPlates_ClassicPlates
11 | NeatPlates/NeatPlates_Graphite: NeatPlates_Graphite
12 | NeatPlates/NeatPlates_Grey: NeatPlates_Grey
13 | NeatPlates/NeatPlates_Neon: NeatPlates_Neon
14 | NeatPlates/NeatPlates_Quatre: NeatPlates_Quatre
15 | NeatPlates/NeatPlates_Roth: NeatPlates_Roth
16 | NeatPlates/NeatPlates_Renaitre: NeatPlates_Renaitre
17 | NeatPlates/NeatPlates_Simple: NeatPlates_Simple
18 | NeatPlates/NeatPlates_Slim_Horizontal: NeatPlates_Slim_Horizontal
19 | NeatPlates/NeatPlates_Slim_Vertical: NeatPlates_Slim_Vertical
20 | NeatPlates/NeatPlates_Alvara: NeatPlates_Alvara
21 | NeatPlates/NeatPlatesHub: NeatPlatesHub
22 | NeatPlates/NeatPlatesWidgets: NeatPlatesWidgets
23 | NeatPlates/libs/LibRangeCheck-3.0/LibRangeCheck-3.0: NeatPlates/libs/LibRangeCheck-3.0
24 |
25 | externals:
26 | NeatPlates/libs/Ace3/AceLocale-3.0: https://repos.wowace.com/wow/ace3/trunk/AceLocale-3.0
27 | NeatPlates/libs/Ace3/AceSerializer-3.0: https://repos.wowace.com/wow/ace3/trunk/AceSerializer-3.0
28 | NeatPlates/libs/Ace3/CallbackHandler-1.0: https://repos.wowace.com/wow/ace3/trunk/CallbackHandler-1.0
29 | NeatPlates/libs/Ace3/LibStub: https://repos.wowace.com/wow/ace3/trunk/LibStub
30 | NeatPlates/libs/LibButtonGlow-1.0: https://repos.curseforge.com/wow/libbuttonglow-1-0
31 | NeatPlates/libs/LibRangeCheck-3.0: https://github.com/WeakAuras/LibRangeCheck-3.0
32 | NeatPlates/libs/LibClassicDurations: https://repos.curseforge.com/wow/libclassicdurations
33 |
--------------------------------------------------------------------------------
/.github/workflows/main.yml:
--------------------------------------------------------------------------------
1 | # description of this workflow, can be anything you want
2 | name: Package and release
3 |
4 | # we need to let GitHub know _when_ we want to release, typically only when we create a new tag.
5 | # this will target only tags, and not all pushes to the master branch.
6 | # this part can be heavily customized to your liking, like targeting only tags that match a certain word,
7 | # other branches or even pullrequests.
8 | on:
9 | push:
10 | tags:
11 | - '**'
12 |
13 | # a workflow is built up as jobs, and within these jobs are steps
14 | jobs:
15 |
16 | # "release" is a job, you can name it anything you want
17 | release:
18 |
19 | # we can run our steps on pretty much anything, but the "ubuntu-latest" image is a safe bet
20 | runs-on: ubuntu-latest
21 |
22 | # specify the environment variables used by the packager, matching the secrets from the project on GitHub
23 | env:
24 | CF_API_KEY: ${{ secrets.CF_API_KEY }}
25 | WOWI_API_TOKEN: ${{ secrets.WOWI_API_TOKEN }}
26 | WAGO_API_TOKEN: ${{ secrets.WAGO_API_TOKEN }}
27 | GITHUB_OAUTH: ${{ secrets.GITHUB_TOKEN }} # "GITHUB_TOKEN" is a secret always provided to the workflow
28 | # for your own token, the name cannot start with "GITHUB_"
29 |
30 | # "steps" holds a list of all the steps needed to package and release our AddOn
31 | steps:
32 |
33 | # we first have to clone the AddOn project, this is a required step
34 | - name: Clone project
35 | uses: actions/checkout@v2
36 | with:
37 | fetch-depth: 0 # gets git history for changelogs
38 |
39 | # once cloned, we just run the GitHub Action for the packager project
40 | - name: Package and release
41 | uses: BigWigsMods/packager@v2
42 | with:
43 | args: -p 299093 -w 26317 -a kaNeOgK2
44 |
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ThreatPercentageWidget.lua:
--------------------------------------------------------------------------------
1 | ---------------
2 | -- Threat Percentage Widget
3 | ---------------
4 |
5 | local font = "FONTS\\arialn.ttf"
6 | local GetRelativeThreat = NeatPlatesUtility.GetRelativeThreat
7 |
8 | local function UpdateThreatPercentageWidget(self, unit, showFriendly)
9 | local threat, targetOf = GetRelativeThreat(unit)
10 | local threatPercent
11 |
12 | if threat and threat > 0 then
13 | threatPercent = math.floor(threat)..'%'
14 | self.Text:SetText(threatPercent)
15 | self:Show()
16 | else
17 | self.Text:SetText("")
18 | self:Hide()
19 | end
20 |
21 | end
22 |
23 | local function UpdateWidget(frame)
24 | local unitid = frame.unitid
25 |
26 | UpdateThreatPercentageWidget(frame, unitid)
27 | end
28 |
29 | local function UpdateWidgetContext(frame, unit)
30 | local unitid = unit.unitid
31 |
32 | if unit.reaction == "FRIENDLY" or (not InCombatLockdown()) or (not (UnitInParty("player") or HasPetUI())) then
33 | frame:Hide()
34 | return
35 | end
36 |
37 | frame.unitid = unitid
38 |
39 | -- Make it self-aware
40 | frame:UnregisterAllEvents()
41 | frame:RegisterEvent("UNIT_THREAT_LIST_UPDATE")
42 | frame:RegisterEvent("UNIT_THREAT_SITUATION_UPDATE")
43 | frame:RegisterUnitEvent("UNIT_HEALTH", unitid)
44 | frame:SetScript("OnEvent", UpdateWidget);
45 |
46 | UpdateThreatPercentageWidget(frame, unitid)
47 | end
48 |
49 | local function CreateThreatPercentageWidget(parent)
50 | local frame = CreateFrame("Frame", nil, parent)
51 | frame:SetWidth(32); frame:SetHeight(12)
52 |
53 | -- frame.Icon = frame:CreateTexture(nil, "ARTWORK")
54 | -- frame.Icon:SetAllPoints(frame)
55 |
56 | frame.Text = frame:CreateFontString(nil, "OVERLAY")
57 | frame.Text:SetFont(font, 10, "OUTLINE")
58 | frame.Text:SetAllPoints(frame)
59 | frame.Text:SetJustifyH("CENTER")
60 |
61 | frame:Hide()
62 | frame.Update = UpdateWidget
63 | frame.UpdateContext = UpdateWidgetContext
64 | return frame
65 | end
66 |
67 | NeatPlatesWidgets.CreateThreatPercentageWidget = CreateThreatPercentageWidget
68 |
69 |
70 |
--------------------------------------------------------------------------------
/NeatPlatesHub/functions/EnableWatchers.lua:
--------------------------------------------------------------------------------
1 |
2 |
3 | --- OLD Watcher Code
4 |
5 | --[[
6 | -- Threat Functions List
7 | local ThreatFunctionList = {
8 | [ScaleFunctionByThreat] = true,
9 | [AlphaFunctionByThreat] = true,
10 | [ColorFunctionByThreat] = true,
11 | [NameColorByThreat] = true,
12 | [WarningBorderFunctionByThreat] = true,
13 | }
14 | --]]
15 |
16 |
17 |
18 | -- 6.0 Disabled
19 | -- Healer Tracker
20 | --[[
21 | if (ScaleFunctionsUniversal[LocalVars.ScaleSpotlightMode] == ScaleFunctionByEnemyHealer) or
22 | AlphaFunctionsFriendly[LocalVars.FriendlySpotlightMode] == AlphaFunctionByEnemyHealer or
23 | AlphaFunctionsEnemy[LocalVars.EnemySpotlightMode] == AlphaFunctionByEnemyHealer or
24 | WarningBorderFunctionsUniversal[LocalVars.ColorDangerGlowMode] ~= DummyFunction then
25 | NeatPlatesUtility:EnableHealerTrack()
26 |
27 | else
28 | NeatPlatesUtility:DisableHealerTrack()
29 | end
30 | --]]
31 |
32 | -- Aggro/Threat
33 | -- Checks to see if the player is using any of the By Threat modes
34 | -- FriendlyBarFunctions
35 |
36 |
37 | -- 6.0 Disabled
38 | --if ThreatFunctionList[EnemyBarFunctions[LocalVars.ColorEnemyBarMode]] or
39 | -- ThreatFunctionList[NameColorFunctions[LocalVars.ColorEnemyNameMode]] or
40 | -- ThreatFunctionList[FriendlyBarFunctions[LocalVars.ColorFriendlyBarMode]] or
41 | -- ThreatFunctionList[NameColorFunctions[LocalVars.ColorFriendlyNameMode]] or
42 | -- ThreatFunctionList[AlphaFunctionsEnemy[LocalVars.EnemyAlphaSpotlightMode]] or
43 | -- ThreatFunctionList[AlphaFunctionsFriendly[LocalVars.FriendlyAlphaSpotlightMode]] or
44 | -- ThreatFunctionList[ScaleFunctionsUniversal[LocalVars.ScaleSpotlightMode]] or
45 | -- ThreatFunctionList[NameColorFunctions[LocalVars.HeadlineEnemyColor]] or
46 | -- ThreatFunctionList[NameColorFunctions[LocalVars.HeadlineFriendlyColor]]
47 | -- or LocalVars.ThreatGlowEnable then
48 |
49 | -- SetCVar("threatWarning", 3)
50 | --end
51 |
52 | --if LocalVars.ColorEnableOffTank then
53 | -- NeatPlatesWidgets:EnableTankWatch() -- Off-Tank support -- Lots of shtuff depends on this.
54 | --else NeatPlatesWidgets:DisableTankWatch() end
55 |
56 | -- 6.0 Disabled
57 | --if LocalVars.ColorShowPartyAggro then NeatPlatesWidgets:EnableAggroWatch() -- Group aggro holders
58 | --else NeatPlatesWidgets:DisableAggroWatch() end
59 |
60 | --SetCVar("threatWarning", 3) -- Required for threat/aggro detection
--------------------------------------------------------------------------------
/NeatPlatesWidgets/QuestWidget.lua:
--------------------------------------------------------------------------------
1 | ---------------
2 | -- Quest Icon Widget
3 | ---------------
4 | local GetUnitQuestInfo = NeatPlatesUtility.GetUnitQuestInfo
5 | local art = "Interface\\Addons\\NeatPlatesWidgets\\QuestWidget\\QuestIndicator"
6 |
7 | local function UpdateQuestWidget(self, unit)
8 | if unit and unit.type == "NPC" then
9 | local isDungeon = IsInInstance()
10 | local questList = GetUnitQuestInfo(unit)
11 | local showIcon = false
12 |
13 | for questName, questObjectives in pairs(questList) do
14 | for questObjective, questCompleted in pairs(questObjectives) do
15 | if (not isDungeon and not questCompleted) then
16 | showIcon = true
17 | end
18 | end
19 | end
20 |
21 | if showIcon then
22 | self.Icon:SetTexture(art)
23 | self:Show()
24 | else
25 | self:Hide()
26 | end
27 | end
28 | end
29 | -- table.foreach(NeatPlatesUtility.GetUnitQuestInfo({["unitid"] = "target"}), function(name, objectives) print("Name:", name); table.foreach(objectives, print) end)
30 |
31 | local function UpdateQuestWidgetContext(self, unit, extended)
32 | local config = NeatPlates:GetTheme().WidgetConfig
33 |
34 | if unit.style == "Default" or not config.QuestWidgetNameOnly then config = config.QuestWidget else config = config.QuestWidgetNameOnly end
35 | self:ClearAllPoints()
36 | self:SetPoint(config.anchor or "TOP", extended, config.anchorRel or config.anchor or "TOP", config.x or 0, config.y or 0)
37 | UpdateQuestWidget(self, unit)
38 | end
39 |
40 | local function CreateQuestWidget(parent)
41 | local frame = CreateFrame("Frame", nil, parent)
42 | frame:SetWidth(18); frame:SetHeight(18)
43 |
44 | frame.Icon = frame:CreateTexture(nil, "ARTWORK")
45 | frame.Icon:SetAllPoints(frame)
46 | frame:Hide()
47 | frame.Update = UpdateQuestWidget
48 | frame.UpdateContext = UpdateQuestWidgetContext
49 | return frame
50 | end
51 |
52 | local function DebugQuests()
53 | local plate = C_NamePlate.GetNamePlateForUnit("target")
54 | local questList = GetUnitQuestInfo(plate.extended.unit)
55 |
56 | if next(questList) == nil then
57 | print("No active quests on target")
58 | else
59 | for questName, questObjectives in pairs(questList) do
60 | print('--'..questName..'--')
61 | for questObjective, questCompleted in pairs(questObjectives) do
62 | local prefix = "In progress - "
63 | if questCompleted then prefix = "Completed - " end
64 | print(prefix..questObjective)
65 | end
66 | end
67 | end
68 | end
69 |
70 | NeatPlatesWidgets.CreateQuestWidget = CreateQuestWidget
71 | NeatPlatesWidgets.DebugQuests = DebugQuests
--------------------------------------------------------------------------------
/NeatPlatesHub/functions/Filter.lua:
--------------------------------------------------------------------------------
1 |
2 | local AddonName, HubData = ...;
3 | local LocalVars = NeatPlatesHubDefaults
4 |
5 | local GetUnitSubtitle = NeatPlatesUtility.GetUnitSubtitle
6 | local GetUnitQuestInfo = NeatPlatesUtility.GetUnitQuestInfo
7 | local IsPartyMember = NeatPlatesUtility.IsPartyMember
8 |
9 | ------------------------------------------------------------------------------
10 | -- Unit Filter
11 | ------------------------------------------------------------------------------
12 | local function UnitFilter(unit)
13 | if LocalVars.OpacityFilterLookup[unit.name] then return true
14 | elseif LocalVars.OpacityFilterLowLevelUnits and unit.isTrivial then return true
15 | elseif LocalVars.OpacityFilterNeutralUnits and unit.reaction == "NEUTRAL" then return true
16 | elseif LocalVars.OpacityFilterUntitledFriendlyNPC and unit.type == "NPC" and unit.reaction == "FRIENDLY" and not (GetUnitSubtitle(unit) or next(GetUnitQuestInfo(unit)) ~= nil) then return true
17 | elseif LocalVars.OpacityFilterFriendlyNPC and unit.type == "NPC" and unit.reaction == "FRIENDLY" and not unit.isPet then return true
18 | elseif LocalVars.OpacityFilterFriendlyPet and unit.type == "NPC" and unit.reaction == "FRIENDLY" and unit.isPet then return true
19 | elseif LocalVars.OpacityFilterEnemyNPC and unit.type == "NPC" and unit.reaction == "HOSTILE" and not unit.isPet then return true
20 | elseif LocalVars.OpacityFilterEnemyPet and unit.type == "NPC" and unit.reaction == "HOSTILE" and unit.isPet then return true
21 | elseif LocalVars.OpacityFilterFriendlyPlayers and unit.type == "PLAYER" and unit.reaction == "FRIENDLY" then return true
22 | elseif LocalVars.OpacityFilterEnemyPlayers and unit.type == "PLAYER" and unit.reaction == "HOSTILE" then return true
23 | elseif LocalVars.OpacityFilterPartyMembers and unit.type == "PLAYER" and IsPartyMember(unit.unitid) then return true
24 | elseif LocalVars.OpacityFilterNonPartyMembers and unit.type == "PLAYER" and not IsPartyMember(unit.unitid) then return true
25 | elseif LocalVars.OpacityFilterMini and unit.isMini then return true
26 | elseif LocalVars.OpacityFilterNonElite and (not unit.isElite) then return true
27 | elseif LocalVars.OpacityFilterInactive then
28 | if next(GetUnitQuestInfo(unit)) ~= nil then return false end
29 |
30 | if unit.reaction ~= "FRIENDLY" then
31 | if not (unit.isMarked or unit.isInCombat or unit.threatValue > 0 or unit.health < unit.healthmax) then
32 | return true
33 | end
34 | end
35 | end
36 | end
37 |
38 | ------------------------------------------------------------------------------
39 | -- Local Variable
40 | ------------------------------------------------------------------------------
41 |
42 | local function OnVariableChange(vars) LocalVars = vars end
43 | HubData.RegisterCallback(OnVariableChange)
44 |
45 | ------------------------------------------------------------------------------
46 | -- Add References
47 | ------------------------------------------------------------------------------
48 | NeatPlatesHubFunctions.UnitFilter = UnitFilter
49 |
50 |
--------------------------------------------------------------------------------
/NeatPlates/locales/esMX.lua:
--------------------------------------------------------------------------------
1 | local L = LibStub("AceLocale-3.0"):NewLocale("NeatPlates", "esMX")
2 | if not L then return end
3 |
4 |
5 | L = L or {}
6 | L["%yellow%Holding down %blue%Shift %yellow%while clicking %red%Reset Configuration %yellow%will clear your saved settings, AND reload the user interface."] = "%yellow%Mantener %blue%Shift %yellow%mientras seleccionas %red%Reiniciar Configuración %yellow%borrará tu configuración existente, Y volverá a cargar la interfaz de usuario."
7 | L["A profile with this name already exists, do you wish to overwrite it?"] = "Ya existe un perfil con este nombre, ¿deseas sobrescribirlo?"
8 | L["Active"] = "Activo"
9 | L["Active Profile"] = "Perfil activo"
10 | L["Active/Damaged Units"] = "Unidades Activas/Dañadas"
11 | L["Add Profile"] = "Añadir perfil"
12 | L["Additional Auras"] = "Auras adicionales"
13 | L["Advanced"] = "Avanzado"
14 | L["All NPCs"] = "Todos los NPC"
15 | L["All Theme Customizations have been reset."] = "Todas los cambios en el tema han sido reiniciados."
16 | L["All Units"] = "Todas las unidades"
17 | L["Approximate Health"] = "Salud aproximada"
18 | L["Arcane"] = "Arcano"
19 | L["Are you sure you wish to delete the profile '%1'?"] = "¿Estás seguro de que quieres eliminar el perfil '%1'?"
20 | L["Arena"] = true
21 | L["Arena ID"] = "ID de Arena"
22 | L["Arrow(Left)"] = "Flecha (Izquierda)"
23 | L["Arrow(Right)"] = "Flecha (Derecha)"
24 | L["Arrow(Top)"] = "Flecha (Arriba)"
25 | L["Attacking another Tank"] = "Atacando a otro Tanque"
26 | L["Battleground"] = "Campo de Batalla"
27 | L["Blizzlike"] = true
28 | L["Boss"] = "Jefe"
29 | L["By Class"] = "Por Clase"
30 | L["By Duration"] = "Por Duración"
31 | L["By Health"] = "Por Salud"
32 | L["By Reaction"] = "Por Reacción"
33 | L["By Threat"] = "Por Amenaza"
34 | L["Cast Bar Colors"] = "Colores de Barra de Canalización"
35 | L["Configuration"] = "Configuración"
36 | L["Copy Profile"] = "Copiar perfil"
37 | L["Couldn't update the targets role."] = "No se pudo actualizar el rol del objetivo"
38 | L["Disease"] = "Enfermedad"
39 | L["Don't show this again"] = "No volver a mostrar"
40 | L["Dungeon"] = "Mazmorra"
41 | L["Everything"] = "Todo"
42 | L["Exact Health"] = "Salud exacta"
43 | L["Exact Health & Percent"] = "Salud y Porcentaje exactos"
44 | L["Exclude"] = "Excluir"
45 | L["Exclude Instances"] = "Excluir estancias"
46 | L["Exclude Totems"] = "Excluir tótems"
47 | L["Export"] = "Exportar"
48 | L["Export Profile"] = "Exportar perfil"
49 | L["Filter"] = "Filtrar"
50 | L["Filter By Unit Name"] = "Filtrar por Nombre de Unidad"
51 | L["Filter Enemy NPC"] = "Filtrar NPC enemigos"
52 | L["Filter Enemy Pets"] = "Filtrar mascotas enemigas"
53 | L["Filter Enemy Players"] = "Filtrar jugadores enemigos"
54 | L["Fire"] = "Fuego"
55 | L["Font Size"] = "Tamaño de la fuente"
56 | L["Guild Member"] = "Miembro de Hermandad"
57 | L["Health"] = "Salud"
58 | L["Healthbar"] = "Barra de salud"
59 | L["Hide"] = "Ocultar"
60 | L["Holy"] = "Sagrado"
61 | L["Import"] = "Importar"
62 | L["Import Profile"] = "Importar perfil"
63 | L["Interrupted"] = "Interrumpido"
64 | L["Max Distance"] = "Distancia máx."
65 | L["None"] = "Ninguno"
66 | L["Normal"] = true
67 | L["Opacity"] = "Opacidad"
68 | L["Quest"] = "Misión"
69 | L["Tank"] = "Tanque"
70 |
--------------------------------------------------------------------------------
/NeatPlates/NeatPlatesParser.lua:
--------------------------------------------------------------------------------
1 |
2 | -- Requires:
3 | -- NeatPlatesUtility
4 | -- NeatPlatesDefaults
5 | -- NeatPlatesThemeList, NeatPlatesInternal.ThemeTemplate
6 |
7 | local addonName, NeatPlatesInternal = ...
8 | local UseTheme = NeatPlatesInternal.UseTheme
9 |
10 | local copytable = NeatPlatesUtility.copyTable
11 | local mergetable = NeatPlatesUtility.mergeTable
12 |
13 | local function SetTheme(...)
14 | local arg1, arg2 = ...
15 | local themeName
16 |
17 | if arg1 == NeatPlates then themeName = arg2
18 | else themeName = arg1 end
19 |
20 | local theme -- This will store the pointer to the theme table
21 |
22 | -- Sends a nil notification to all available themes to encourage cleanup
23 | for themename, themetable in pairs(NeatPlatesThemeList) do
24 | if themetable.OnActivateTheme then themetable.OnActivateTheme(nil) end
25 | end
26 |
27 | -- Get theme table
28 | if type(NeatPlatesThemeList) == "table" then
29 | if type(themeName) == 'string' then
30 | theme = NeatPlatesThemeList[themeName]
31 | end
32 | end
33 |
34 | -- Verify & Scrub theme data, then attempt to load...
35 | if type(theme) == 'table' then
36 |
37 | -- Multi-Style Theme (Hub / ThreatPlates Format)
38 | if theme.SetStyle and type(theme.SetStyle) == "function" then
39 | local style, stylename
40 |
41 | for stylename, style in pairs(theme) do
42 | if type(style) == "table" and style._meta then -- _meta tag skips parsing
43 | theme[stylename] = copytable(style)
44 | elseif type(style) == "table" then -- merge style with template style
45 | theme[stylename] = mergetable(NeatPlatesInternal.ThemeTemplate, style) -- ie. fill in the blanks
46 | end
47 | end
48 | else
49 | -- Single-Style Theme (Old School!)
50 | local newvalue, propertyname, oldvalue
51 |
52 | for propertyname, oldvalue in pairs(NeatPlatesInternal.ThemeTemplate) do
53 | newvalue = theme[propertyname]
54 | if type(newvalue) == "table" then theme[propertyname] = mergetable(oldvalue, newvalue)
55 | else theme[propertyname] = copytable(oldvalue) end
56 | end
57 | end
58 |
59 | -- Choices: Overwrite themeName as it's processed, or Overwrite after the processing is done
60 | UseTheme(theme)
61 |
62 | -- ie. (Theme Table, Theme Name) -- nil is sent for all themes, to reset everything (^ above ^) and then the current theme is activated
63 | if theme.OnActivateTheme then theme.OnActivateTheme(theme) end
64 | NeatPlatesInternal.activeThemeName = themeName
65 |
66 | NeatPlatesOptions.ActiveTheme = NeatPlatesInternal.activeThemeName
67 | NeatPlates:ForceUpdate()
68 | return theme
69 | else
70 | -- This block falls back to the template, and leaves the field blank...
71 | NeatPlatesInternal.activeThemeName = nil
72 | NeatPlatesOptions.ActiveTheme = ""
73 |
74 | UseTheme(NeatPlatesInternal.ThemeTemplate)
75 | return nil
76 | end
77 |
78 |
79 | end
80 |
81 | -- /run NeatPlates:SetTheme("Neon")
82 |
83 | NeatPlates.SetTheme = SetTheme
84 | NeatPlatesInternal.SetTheme = SetTheme
85 |
86 | -- Placeholders.. Here to avoid Threat Plates error; Will be removed at some point.
87 | local function Dummy() end
88 | NeatPlates.ActivateTheme = Dummy
89 | NeatPlates.ReloadTheme = Dummy
90 |
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ClassWidget.lua:
--------------------------------------------------------------------------------
1 | ---------------
2 | -- Class Widget
3 | ---------------
4 | local classWidgetPath = "Interface\\Addons\\NeatPlatesWidgets\\ClassWidget\\"
5 | local classWidgetCustomPath = "Interface\\NeatPlatesTextures\\ClassWidget\\"
6 | local classIcon = {}
7 | --local ScaleOptions = {x = 1, y = 1, offset = {x = 0, y = 0}}
8 |
9 | local function VerifyTextures()
10 | -- local classes = {"WARRIOR","PALADIN","HUNTER","ROGUE","PRIEST","DEATHKNIGHT","SHAMAN","MAGE","WARLOCK","MONK","DRUID","DEMONHUNTER","EVOKER"}
11 | for class in pairs(RAID_CLASS_COLORS) do
12 | if not classIcon[class] then
13 | local f = CreateFrame('frame')
14 | local tx = f:CreateTexture()
15 | tx:SetPoint('BOTTOMLEFT', WorldFrame, -200, -200) -- The texture has to be "visible", but not necessarily on-screen (you can also set its alpha to 0)
16 | tx:SetAlpha(0)
17 | f:SetAllPoints(tx)
18 | f.SetClassColors = function(self, width, height)
19 | local size = format('%.0f%.0f', width, height) -- The floating point numbers need to be rounded or checked like "width < 8.1 and width > 7.9"
20 | if size == '11' then
21 | classIcon[class] = classWidgetPath..class
22 | else
23 | classIcon[class] = classWidgetCustomPath..class
24 | end
25 | end
26 | f:SetScript('OnSizeChanged', f.SetClassColors)
27 | tx:SetTexture(classWidgetCustomPath..class)
28 | tx:SetSize(0,0) -- Size must be set after every SetTexture
29 | f:SetClassColors(1, 1) -- Hack because 'OnSizeChanged' doesn't seem to trigger properly anymore
30 | end
31 | end
32 | end
33 |
34 | local function UpdateClassWidget(self, unit, showFriendly)
35 | local class, icon
36 |
37 | if unit then
38 | if showFriendly and unit.reaction == "FRIENDLY" and unit.type == "PLAYER" then
39 | class = unit.class
40 | elseif unit.type == "PLAYER" then class = unit.class end
41 |
42 | if class then
43 | self.Icon:SetTexture(classIcon[class])
44 | self:Show()
45 | else self:Hide() end
46 | end
47 |
48 | end
49 |
50 | local function UpdateWidgetConfig(frame)
51 | local width = frame:GetParent()._width or 24;
52 | local height = frame:GetParent()._height or 24;
53 | frame:SetWidth(width); frame:SetHeight(height)
54 |
55 | frame.Icon:SetAllPoints(frame)
56 | --frame.Icon:SetPoint("CENTER", frame, "CENTER", ScaleOptions.offset.x, ScaleOptions.offset.y)
57 | end
58 |
59 | local function CreateClassWidget(parent)
60 |
61 | local frame = CreateFrame("Frame", nil, parent)
62 |
63 | frame.Icon = frame:CreateTexture(nil, "ARTWORK")
64 | UpdateWidgetConfig(frame)
65 |
66 | frame:Hide()
67 | frame.Update = UpdateClassWidget
68 | frame.UpdateConfig = UpdateWidgetConfig
69 | return frame
70 | end
71 |
72 | --local function SetClassWidgetOptions(LocalVars)
73 | -- ScaleOptions = LocalVars.ClassIconScaleOptions
74 |
75 | -- NeatPlates:ForceUpdate()
76 | --end
77 |
78 | local ClassWidgetWatcher = CreateFrame("Frame")
79 | ClassWidgetWatcher:SetScript("OnEvent", VerifyTextures)
80 | ClassWidgetWatcher:RegisterEvent("PLAYER_ENTERING_WORLD")
81 |
82 | NeatPlatesWidgets.CreateClassWidget = CreateClassWidget
83 | --NeatPlatesWidgets.SetClassWidgetOptions = SetClassWidgetOptions
--------------------------------------------------------------------------------
/NeatPlatesWidgets/WidgetCore.lua:
--------------------------------------------------------------------------------
1 | NeatPlatesWidgets = {}
2 |
3 | local updateInterval = .1
4 | ----------------------
5 | -- HideIn() - Registers a callback, which hides the specified frame in X seconds
6 | ----------------------
7 | do
8 | local Framelist = {} -- Key = Frame, Value = Expiration Time
9 | local Watcherframe = CreateFrame("Frame")
10 | local WatcherframeActive = false
11 | local select = select
12 | local timeToUpdate = 0
13 |
14 | local function CheckFramelist(self)
15 | local curTime = GetTime()
16 | if curTime < timeToUpdate then return end
17 | local framecount = 0
18 | timeToUpdate = curTime + 1
19 | -- Cycle through the watchlist, hiding frames which are timed-out
20 | for frame, expiration in pairs(Framelist) do
21 | if expiration < curTime then frame:Hide(); Framelist[frame] = nil
22 | else framecount = framecount + 1 end
23 | end
24 | -- If no more frames to watch, unregister the OnUpdate script
25 | if framecount == 0 then Watcherframe:SetScript("OnUpdate", nil) end
26 | end
27 |
28 | function NeatPlatesWidgets:HideIn(frame, expiration)
29 | -- Register Frame
30 | Framelist[frame] = expiration
31 | -- Init Watchframe
32 | if not WatcherframeActive then
33 | Watcherframe:SetScript("OnUpdate", CheckFramelist)
34 | WatcherframeActive = true
35 | end
36 | end
37 |
38 | end
39 |
40 | ----------------------
41 | -- PolledHideIn() - Registers a callback, which polls the frame until it expires, then hides the frame and removes the callback
42 | ----------------------
43 |
44 | do
45 | local PolledHideIn
46 | local Framelist = {} -- Key = Frame, Value = Expiration Time
47 | local Watcherframe = CreateFrame("Frame")
48 | local WatcherframeActive = false
49 | local select = select
50 | local timeToUpdate = 0
51 |
52 | local function CheckFramelist(self)
53 | local curTime = GetTime()
54 | if curTime < timeToUpdate then return end
55 | local framecount = 0
56 | timeToUpdate = curTime + updateInterval
57 | -- Cycle through the watchlist, hiding frames which are timed-out
58 | for frame, expiration in pairs(Framelist) do
59 | -- If expired...
60 | if expiration < curTime then
61 | if frame.Expire then frame:Expire() end
62 |
63 | --frame:Hide()
64 | if frame.PandemicTimer then frame.PandemicTimer:Cancel() end
65 | Framelist[frame] = nil
66 | --NeatPlates:RequestDelegateUpdate() -- Request an Update on Delegate functions, so we can catch when auras fall off
67 | -- If still active...
68 | else
69 | -- Update the frame
70 | if frame.Poll then frame:Poll(expiration) end
71 | framecount = framecount + 1
72 | end
73 | end
74 | -- If no more frames to watch, unregister the OnUpdate script
75 | if framecount == 0 then Watcherframe:SetScript("OnUpdate", nil); WatcherframeActive = false end
76 | end
77 |
78 | function PolledHideIn(frame, expiration, source)
79 | if expiration == 0 then
80 | if source ~= "UpdateIcon" then frame:Hide() end
81 | if frame.PandemicTimer then frame.PandemicTimer:Cancel() end
82 | Framelist[frame] = nil
83 | else
84 | -- print("Hiding in", expiration - GetTime())
85 | Framelist[frame] = expiration
86 | frame:Show()
87 |
88 | if not WatcherframeActive then
89 | Watcherframe:SetScript("OnUpdate", CheckFramelist)
90 | WatcherframeActive = true
91 | end
92 | end
93 | end
94 |
95 | NeatPlatesWidgets.PolledHideIn = PolledHideIn
96 | end
97 |
98 |
99 |
100 |
101 | -- For compatibility:
102 | local DummyFunction = function() end
103 | NeatPlatesWidgets.ResetWidgets = NeatPlates.ResetWidgets
104 | NeatPlatesWidgets.EnableTankWatch = DummyFunction
105 | NeatPlatesWidgets.DisableTankWatch = DummyFunction
106 | NeatPlatesWidgets.EnableAggroWatch = DummyFunction
107 | NeatPlatesWidgets.SetUpdateInterval = function(val)
108 | updateInterval = val or .1
109 | end
110 |
111 |
112 |
113 |
114 |
115 |
116 |
--------------------------------------------------------------------------------
/NeatPlatesWidgets/_RangeWidget.lua:
--------------------------------------------------------------------------------
1 | --[[
2 | UnitInRange: 40
3 | 2: ~9
4 | 3: 7.5-8
5 | 4: 28
6 | Item6450:15
7 | Dismiss Pet: 10 yds
8 | Melee Range: 4
9 | --]]
10 |
11 | local GetGroupInfo = NeatPlatesUtility.GetGroupInfo
12 | local RangesCache = {}
13 | local Ranges = {}
14 | local RangeWatcher = CreateFrame("Frame")
15 | local nextRangeCheckup = 0
16 | local currentTime = 0
17 | local updateFreq = .5
18 |
19 | local function GetRange(unitid)
20 | local estRange = nil
21 | if UnitInRange(unitid) then estRange = 40 end
22 | if CheckInteractDistance(unitid, 4) then estRange = 28
23 | if IsItemInRange(6450, unitid) == 1 then estRange = 15
24 | if CheckInteractDistance(unitid, 2) then estRange = 9 end end
25 | end
26 | return estRange
27 | end
28 |
29 | local function CheckRanges(self)
30 | currentTime = GetTime()
31 | if currentTime < nextRangeCheckup then return end
32 | nextRangeCheckup = currentTime + updateFreq
33 | local group, size, index, unitid, inRange
34 | local estRange = nil
35 | -- Check Group Type
36 |
37 | local groupType, groupSize = GetGroupInfo()
38 |
39 | if groupType == 'party' then groupSize = groupSize - 1 end
40 |
41 | -- Cycle through Group
42 | if groupType then
43 | for index = 1, groupSize do
44 | unitid = groupType..index
45 | Ranges[UnitName(unitid)] = GetRange(unitid)
46 | end
47 | end
48 |
49 | --Ranges[UnitName("pet")] = GetRange("pet") -- For testing
50 |
51 | -- Check Cache
52 | for name, range in pairs(Ranges) do
53 | if range ~= RangesCache[name] then
54 | --print("Range Change")
55 | RangesCache[name] = range
56 | NeatPlates:Update()
57 | end
58 | end
59 | end
60 |
61 | local usingRangeWidget = false
62 | local function ActivateRangeWidget()
63 | if usingRangeWidget then
64 | wipe(Ranges)
65 | if (UnitInRaid("player") or UnitInParty("player")) then
66 | RangeWatcher:SetScript("OnUpdate", CheckRanges)
67 | else RangeWatcher:SetScript("OnUpdate", nil) end
68 | end
69 | end
70 |
71 | RangeWatcher:SetScript("OnEvent", ActivateRangeWidget)
72 | RangeWatcher:RegisterEvent("PLAYER_ENTERING_WORLD")
73 | RangeWatcher:RegisterEvent("GROUP_ROSTER_UPDATE")
74 | RangeWatcher:RegisterEvent("PARTY_MEMBERS_CHANGED")
75 | RangeWatcher:RegisterEvent("PARTY_CONVERTED_TO_RAID")
76 |
77 | ---------------------------------------------------------------------------
78 |
79 | -- Widget
80 | local art = "Interface\\Addons\\NeatPlatesWidgets\\RangeWidget\\RangeWidget"
81 |
82 | local function UpdateRangeWidget(self, unit, range)
83 | local unitrange, saferange
84 | saferange = range or self.Range
85 | if unit.reaction == "FRIENDLY" then --and unit.type == "PLAYER" then
86 | unitrange = Ranges[unit.name] or 100
87 | --self.String:SetText(range)
88 | if unitrange <= saferange then
89 | self.Texture:Show()
90 | self.Texture:SetVertexColor(1,.25,0,.50) -- Red
91 | --self.Texture:SetVertexColor(1,.1,0,.55) -- Red
92 | --elseif unitrange == self.unitrange then
93 | -- self.Texture:Show()
94 | -- self.Texture:SetVertexColor(1,.5,0,.25)
95 | --self.String:SetTextColor(1,.5,0)
96 | else self.Texture:Hide() end
97 | self:Show()
98 | else self:Hide() end
99 | end
100 |
101 | local function CreateRangeWidget(parent)
102 | if not usingRangeWidget then usingRangeWidget = true; ActivateRangeWidget() end
103 | local frame = CreateFrame("Frame", nil, parent)
104 | frame:SetWidth(16); frame:SetHeight(16)
105 | -- Image
106 | frame.Texture = frame:CreateTexture(nil, "OVERLAY")
107 | frame.Texture:SetTexture(art)
108 | frame.Texture:SetPoint("CENTER")
109 | frame.Texture:SetWidth(128)
110 | frame.Texture:SetHeight(128)
111 | -- Vars and Mech
112 | frame.Range = 15
113 | frame:Hide()
114 | frame.Update = UpdateRangeWidget
115 | return frame
116 | end
117 |
118 | NeatPlatesWidgets.CreateRangeWidget = CreateRangeWidget
119 |
120 |
121 |
122 |
123 |
--------------------------------------------------------------------------------
/NeatPlatesHub/Helpers.lua:
--------------------------------------------------------------------------------
1 |
2 | ----------------------------------
3 | -- Helpers
4 | ----------------------------------
5 |
6 | local function CallForStyleUpdate()
7 |
8 | -- This happens when the Okay button is pressed, or a UI element is used
9 |
10 | --print("CallForStyleUpdate")
11 |
12 | local theme = NeatPlates:GetTheme()
13 | --print("CallForStyleUpdate, Theme,", theme)
14 |
15 | if theme.ApplyProfileSettings then theme:ApplyProfileSettings("From CallForStyleUpdate") end
16 | NeatPlates:ForceUpdate()
17 | end
18 |
19 | local function GetPanelValues(panel, targetTable)
20 | -- First, clean up the target table
21 | -- Not yet implemented
22 |
23 | -- Update with values
24 | if panel and targetTable then
25 | local index
26 | targetTable["Theme"] = NeatPlates:GetThemeName() -- Store active theme
27 |
28 | for index in pairs(targetTable) do
29 | if panel[index] and panel[index].GetValue then
30 | local value = panel[index]:GetValue()
31 | if tonumber(value) ~= nil then
32 | if panel[index].isActual then
33 | value = panel[index].ceil(value) -- Use slider rounding method
34 | else
35 | value = math.ceil(value*100-0.5)/100 -- Round to 2 decimals
36 | end
37 | end
38 | targetTable[index] = value
39 | end
40 | end
41 | end
42 | end
43 |
44 | local function SetPanelValues(panel, sourceTable)
45 | for index, value in pairs(sourceTable) do
46 | if panel[index] then
47 | panel[index]:SetValue(value)
48 | end
49 | end
50 | end
51 |
52 |
53 | local function MergeProfileValues(target, defaults)
54 | local i, v
55 | for i, v in pairs(defaults) do
56 | if target[i] == nil then
57 | target[i] = v
58 | end
59 | end
60 | end
61 |
62 | local function ListToTable( ... )
63 | local t = {}
64 | local index, line
65 | for index = 1, select("#", ...) do
66 | line = select(index, ...)
67 | if line ~= "" then t[index] = line end
68 | end
69 | return t
70 | end
71 |
72 | local function ConvertStringToTable(source, target )
73 | local temp = ListToTable(strsplit("\n", source))
74 | target = wipe(target)
75 |
76 | for index = 1, #source do
77 | local str = temp[index]
78 | if str then target[str] = true end
79 | end
80 | end
81 |
82 |
83 | local function ConvertAuraListTable(source, target, order)
84 | if source == nil then return end
85 | local temp = ListToTable(strsplit("\n", source))
86 | target = wipe(target)
87 | if order then order = wipe(order) end
88 |
89 | for index = 1, #temp do
90 | local str = temp[index]
91 | local item
92 | local prefix, suffix
93 |
94 | if str then
95 | prefix, suffix = select(3, string.find(str, "(%w+)[%s%p]*(.*)"))
96 | if prefix then
97 | if NeatPlatesHubPrefixList[prefix] then
98 | item = suffix
99 | -- CONVERT
100 | target[item] = NeatPlatesHubPrefixList[prefix]
101 | else -- If no prefix is listed, assume 1
102 | if suffix and suffix ~= "" then item = prefix.." "..suffix
103 | else item = prefix end
104 | -- CONVERT
105 | target[item] = 1
106 | end
107 | if order then order[item] = index end
108 | end
109 | end
110 | end
111 |
112 | end
113 |
114 | local function ConvertColorListTable(source, target)
115 | if source == nil then return end
116 | --local temp = ListToTable(strsplit("\n", source))
117 | local temp = {strsplit("\n", source)}
118 | target = wipe(target)
119 | -- table.foreach(temp, print)
120 | for index = 1, #temp do
121 | if temp[index] then
122 | local prefix, hex, str = select(3, string.find(temp[index], "(.-)[%s]*(#%x+)[%s]*(.*)"))
123 | --local str = temp[index]
124 | if hex and str then
125 | target[str] = {["prefix"] = prefix, ["hex"] = hex}
126 | end
127 | end
128 | end
129 | end
130 |
131 | local function AddHubFunction(functionTable, menuTable, functionPointer, functionDescription, functionKey )
132 | if functionTable then
133 | functionTable[functionKey or (#functionTable+1)] = functionPointer
134 | end
135 |
136 | if menuTable then
137 | menuTable[#menuTable+1] = { text = functionDescription, value = functionKey }
138 | end
139 | end
140 |
141 | NeatPlatesHubHelpers = {}
142 | NeatPlatesHubHelpers.CallForStyleUpdate = CallForStyleUpdate
143 | NeatPlatesHubHelpers.UpdateCVars = UpdateCVars
144 | NeatPlatesHubHelpers.GetPanelValues = GetPanelValues
145 | NeatPlatesHubHelpers.SetPanelValues = SetPanelValues
146 | NeatPlatesHubHelpers.MergeProfileValues = MergeProfileValues
147 | NeatPlatesHubHelpers.ListToTable = ListToTable
148 | NeatPlatesHubHelpers.ConvertStringToTable = ConvertStringToTable
149 | NeatPlatesHubHelpers.ConvertAuraListTable = ConvertAuraListTable
150 | NeatPlatesHubHelpers.ConvertColorListTable = ConvertColorListTable
151 | NeatPlatesHubHelpers.AddHubFunction = AddHubFunction
152 |
153 |
154 | local function fromCSV (s)
155 | s = s .. ',' -- ending comma
156 | local t = {} -- table to collect fields
157 | local fieldstart = 1
158 | repeat
159 | -- next field is quoted? (start with `"'?)
160 | if string.find(s, '^"', fieldstart) then
161 | local a, c
162 | local i = fieldstart
163 | repeat
164 | -- find closing quote
165 | a, i, c = string.find(s, '"("?)', i+1)
166 | until c ~= '"' -- quote not followed by quote?
167 | if not i then error('unmatched "') end
168 | local f = string.sub(s, fieldstart+1, i-1)
169 | table.insert(t, (string.gsub(f, '""', '"')))
170 | fieldstart = string.find(s, ',', i) + 1
171 | else -- unquoted; find next comma
172 | local nexti = string.find(s, ',', fieldstart)
173 | table.insert(t, string.sub(s, fieldstart, nexti-1))
174 | fieldstart = nexti + 1
175 | end
176 | until fieldstart > string.len(s)
177 | return t
178 | end
179 | --[[
180 | local function EvaluateExpression(expression)
181 | print(expression)
182 | -- /eval oh blah, dee, oh , blah ,do
183 | local t = fromCSV(expression)
184 | for i,v in pairs(t) do
185 | print(i,v)
186 | end
187 |
188 | end
189 |
190 |
191 | SLASH_EVAL1 = '/eval'
192 | SlashCmdList['EVAL'] = EvaluateExpression
193 | --]]
194 |
195 |
196 |
197 |
198 |
199 |
200 |
201 |
202 |
203 |
--------------------------------------------------------------------------------
/NeatPlates/NameplateCvarReference.lua:
--------------------------------------------------------------------------------
1 | local cvarlist = {
2 | ["nameplateShowFriends"] = { prettyName = UNIT_NAMEPLATES_SHOW_FRIENDS, description = OPTION_TOOLTIP_UNIT_NAMEPLATES_SHOW_FRIENDS, type = "boolean" },
3 | ["nameplateShowFriendlyPets"] = { prettyName = UNIT_NAMEPLATES_SHOW_FRIENDLY_PETS, description = OPTION_TOOLTIP_UNIT_NAMEPLATES_SHOW_FRIENDLY_PETS, type = "boolean" },
4 | ["nameplateShowFriendlyGuardians"] = { prettyName = UNIT_NAMEPLATES_SHOW_FRIENDLY_GUARDIANS, description = OPTION_TOOLTIP_UNIT_NAMEPLATES_SHOW_FRIENDLY_GUARDIANS, type = "boolean" },
5 | ["nameplateShowFriendlyTotems"] = { prettyName = UNIT_NAMEPLATES_SHOW_FRIENDLY_TOTEMS, description = OPTION_TOOLTIP_UNIT_NAMEPLATES_SHOW_FRIENDLY_TOTEMS, type = "boolean" },
6 | ["nameplateShowEnemies"] = { prettyName = UNIT_NAMEPLATES_SHOW_ENEMIES, description = OPTION_TOOLTIP_UNIT_NAMEPLATES_SHOW_ENEMIES, type = "boolean" },
7 | ["nameplateShowEnemyPets"] = { prettyName = UNIT_NAMEPLATES_SHOW_ENEMY_PETS, description = OPTION_TOOLTIP_UNIT_NAMEPLATES_SHOW_ENEMY_PETS, type = "boolean" },
8 | ["nameplateShowEnemyGuardians"] = { prettyName = UNIT_NAMEPLATES_SHOW_ENEMY_GUARDIANS, description = OPTION_TOOLTIP_UNIT_NAMEPLATES_SHOW_ENEMY_GUARDIANS, type = "boolean" },
9 | ["nameplateShowEnemyTotems"] = { prettyName = UNIT_NAMEPLATES_SHOW_ENEMY_TOTEMS, description = OPTION_TOOLTIP_UNIT_NAMEPLATES_SHOW_ENEMY_TOTEMS, type = "boolean" },
10 | ["nameplateShowEnemyMinus"] = { prettyName = UNIT_NAMEPLATES_SHOW_ENEMY_MINUS, description = OPTION_TOOLTIP_UNIT_NAMEPLATES_SHOW_ENEMY_MINUS, type = "boolean" },
11 | ["ShowClassColorInNameplate"] = { prettyName = SHOW_CLASS_COLOR_IN_V_KEY, description = OPTION_TOOLTIP_SHOW_CLASS_COLOR_IN_V_KEY, type = "boolean" },
12 |
13 |
14 | ["nameplateOtherAtBase"] = { prettyName = "Nameplate at Base", description = "Position other nameplates at the base, rather than overhead. 2=under unit, 0=over unit", type = "boolean" },
15 | ["nameplateOverlapH"] = { prettyName = "Nameplate Overlap (Horizontal)", description = "Percentage amount for horizontal overlap of nameplates", type = "number" },
16 | ["nameplateOverlapV"] = { prettyName = "Nameplate Overlap (Vertical)", description = "Percentage amount for vertical overlap of nameplates", type = "number" },
17 | ["nameplateMaxDistance"] = { prettyName = "Nameplate Distance", description = "The max distance to show nameplates.", type = "number" },
18 | ["nameplateTargetBehindMaxDistance"] = { prettyName = "Nameplate Target Behind Distance", description = "The max distance to show the target nameplate when the target is behind the camera.", type = "number" },
19 | ["nameplateGlobalScale"] = { prettyName = "Nameplate Global Scale", description = "Applies global scaling to non-self nameplates, this is applied AFTER selected, min, and max scale.", type = "number" },
20 | ["nameplateMinScale"] = { prettyName = "Nameplate Min Scale", description = "The minimum scale of nameplates.", type = "number" },
21 | ["nameplateMaxScale"] = { prettyName = "Nameplate Max Scale", description = "The max scale of nameplates.", type = "number" },
22 | ["nameplateLargerScale"] = { prettyName = "Nameplate Larger Scale", description = "An additional scale modifier for important monsters.", type = "number" },
23 | ["nameplateMinScaleDistance"] = { prettyName = "Nameplate Min Scale Distance", description = "The distance from the max distance that nameplates will reach their minimum scale.", type = "number" },
24 | ["nameplateMaxScaleDistance"] = { prettyName = "Nameplate Max Scale Distance", description = "The distance from the camera that nameplates will reach their maximum scale", type = "number" },
25 | ["nameplateMinAlpha"] = { prettyName = "Nameplate Min Alpha", description = "The minimum alpha of nameplates.", type = "number" },
26 | ["nameplateMaxAlpha"] = { prettyName = "Nameplate Max Alpha", description = "The max alpha of nameplates.", type = "number" },
27 | ["nameplateMinAlphaDistance"] = { prettyName = "Nameplate Min Alpha Distance", description = "The distance from the max distance that nameplates will reach their minimum alpha.", type = "number" },
28 | ["nameplateMaxAlphaDistance"] = { prettyName = "Nameplate Max Alpha Distance", description = "The distance from the camera that nameplates will reach their maximum alpha.", type = "number" },
29 | ["nameplateSelectedScale"] = { prettyName = "Nameplate Selected Scale", description = "The scale of the selected nameplate.", type = "number" },
30 | ["nameplateSelectedAlpha"] = { prettyName = "Nameplate Selected Alpha", description = "The alpha of the selected nameplate.", type = "number" },
31 | ["nameplateSelfScale"] = { prettyName = "Nameplate Self Scale", description = "The scale of the self nameplate.", type = "number" },
32 | ["nameplateSelfAlpha"] = { prettyName = "Nameplate Self Alpha", description = "The alpha of the self nameplate.", type = "number" },
33 | ["nameplateSelfBottomInset"] = { prettyName = "Nameplate Self Bottom Inset", description = "The inset from the bottom (in screen percent) that the self nameplate is clamped to.", type = "number" },
34 | ["nameplateSelfTopInset"] = { prettyName = "Nameplate Self Top Inset", description = "The inset from the top (in screen percent) that the self nameplate is clamped to.", type = "number" },
35 | ["nameplateOtherBottomInset"] = { prettyName = "Nameplate Other Bottom Inset", description = "The inset from the bottom (in screen percent) that the non-self nameplates are clamped to.", type = "number" },
36 | ["nameplateOtherTopInset"] = { prettyName = "Nameplate Other Top Inset", description = "The inset from the top (in screen percent) that the non-self nameplates are clamped to.", type = "number" },
37 | ["nameplateLargeBottomInset"] = { prettyName = "Nameplate Large Bottom Inset", description = "The inset from the bottom (in screen percent) that large nameplates are clamped to.", type = "number" },
38 | ["nameplateLargeTopInset"] = { prettyName = "Nameplate Large Top Inset", description = "The inset from the top (in screen percent) that large nameplates are clamped to.", type = "number" },
39 | ["nameplateClassResourceTopInset"] = { prettyName = "Nameplate Class Resource Top Inset", description = "The inset from the top (in screen percent) that nameplates are clamped to when class resources are being displayed on them.", type = "number" },
40 | ["NamePlateHorizontalScale"] = { prettyName = "Nameplate Horizontal Scale", description = "Applied to horizontal size of all nameplates.", type = "number" },
41 | ["NamePlateVerticalScale"] = { prettyName = "Nameplate Vertical Scale", description = "Applied to vertical size of all nameplates.", type = "number" },
42 | ["nameplateResourceOnTarget"] = { prettyName = "Nameplate Resource On Target", description = "Nameplate class resource overlay mode. 0=self, 1=target", type = "number" },
43 | ["nameplateShowSelf"] = { prettyName = "Show Nameplate Resource Bar", description = "Display class resource bar. 0=off 1=on", type = "number" },
44 | ["nameplateShowAll"] = { prettyName = "Always Show Nameplates", description = "Show nameplates at all times.", type = "number" },
45 |
46 | }
--------------------------------------------------------------------------------
/NeatPlates/locales/esES.lua:
--------------------------------------------------------------------------------
1 | local L = LibStub("AceLocale-3.0"):NewLocale("NeatPlates", "esES")
2 | if not L then return end
3 |
4 |
5 | L = L or {}
6 | L["%yellow%Holding down %blue%Shift %yellow%while clicking %red%Reset Configuration %yellow%will clear your saved settings, AND reload the user interface."] = "%yellow%Presionando %blue%Shift %yellow%mientras haces click en %red%Resetear Configuración %yellow%eliminará tus ajustes guardados y recargará la interfaz."
7 | L["%yellow%Resetting %orange%NeatPlates%yellow% Theme Selection to Default"] = "%yellow%Reseteando %orange%NeatPlates%yellow% El Theme volverá a \"Default\""
8 | L["A profile with this name already exists, do you wish to overwrite it?"] = "Un perfil con este nombre ya existe, ¿Quieres sobreescribirlo?"
9 | L["Active"] = "Activo"
10 | L["Active Profile"] = "Perfil activo"
11 | L["Active/Damaged Units"] = "Activo/Unidades Dañadas"
12 | L["Add Profile"] = [=[
13 | Añadir Perfil]=]
14 | L["Additional Auras"] = "Auras adicionales"
15 | L["Advanced"] = "Avanzado"
16 | L["All NPCs"] = "Todos los NPCs"
17 | L["All Units"] = "Todas las unidades"
18 | L["Allows some CVars to work(Might require a /reload)"] = "Permitir el uso de algunos CVars (puede requerir recargar la interfaz con /reload)"
19 | L["Always keep Target Nameplate on Screen"] = "Mantener siempre el Nameplate del objetivo en la pantalla"
20 | L["Amount of Emphasized Auras"] = "Cantidad de auras destacadas"
21 | L["Approximate Health"] = "Salud aproximada"
22 | L["Arcane"] = "Arcano"
23 | L["Are you sure you wish to delete the profile '%1'?"] = "¿Estás seguro de que deseas eliminar el perfil '%1'?"
24 | L["Arena"] = true
25 | L["Arena ID"] = true
26 | L["Arena ID, Health, and Power"] = "Arena ID, Salud y Poder"
27 | L["Arrow(Left)"] = "Flecha(izquierda)"
28 | L["Arrow(Right)"] = "Flecha(derecha)"
29 | L["Attacking another Tank"] = "Atacando a otro Tank"
30 | L["Aura Alignment"] = "Alineamiento de las auras"
31 | L["Aura Offsets"] = "Separación de auras"
32 | L["Aura Scale"] = "Tamaño de las auras"
33 | L["AURA_TIP"] = [=[
34 | Consejo: | cffCCCCCCLas Auras deben aparecer con el nombre exacto o un spell ID. Puedes usar los prefijos, 'My' o 'All', para distinguir los hechizos de daño personal de los CC globales. El prefijo "Not" se puede usar para poner en lista negra un aura. Las auras en la parte superior de la lista se mostrarán antes que las inferiores.]=]
35 | L["Auto (Color Swap)"] = "Auto (Intercambio de color)"
36 | L["Automation"] = "Automatización"
37 | L["Battleground"] = "Campo de batalla"
38 | L["Blizzard Nameplate Motion & Visibility..."] = "Blizzard Nameplate movimiento y visibilidad..."
39 | L["Blizzlike"] = true
40 | L["Border Color"] = "Color del borde"
41 | L["Border/Warning Glow"] = "Borde/Resplandor de advertencia"
42 | L["Boss"] = "Jefe"
43 | L["Buffs & Debuffs"] = true
44 | L["By Class"] = "Por Clase"
45 | L["By Duration"] = "Por duración"
46 | L["By Health"] = "Por Salud"
47 | L["By Level Color"] = "Por Nivel de Color"
48 | L["By Normal/Elite/Boss"] = "Por Normal/Elite/Boss"
49 | L["By Reaction"] = "Por Reacción"
50 | L["By Threat"] = "Por Amenaza"
51 | L["Cast Bar Colors"] = "Colores de la barra de lanzamiento"
52 | L["Cast Bar Width (%)"] = "Ancho barra lanzamiento (%)"
53 | L["Cast Bars"] = "Barras de casteo"
54 | L["Castbar Duration Style"] = "Estilo duración barra lanzamiento"
55 | L["Categories"] = "Categorías"
56 | L["Center"] = "Centro"
57 | L["Class Icon"] = "Icono de clase"
58 | L["Class Icon Scale Options"] = "Opciones de escala de iconos de clase"
59 | L["Clear Cache"] = "Limpiar Cache"
60 | L["Clear Spell Database"] = "Borrar base de datos de hechizos"
61 | L["Clickable Height of Nameplates"] = "La Altura de los Nameplates es Cliqueable"
62 | L["Clickable Width of Nameplates"] = "El Ancho de los Nameplates es Cliqueable"
63 | L["Clickthrough"] = "Hacer clic a través"
64 | L["Close Range"] = "Corta distancia"
65 | L["Color Cast Bars by School"] = "Color barras de lanzamiento por escuela"
66 | L["Color is defined under the 'Reaction' category."] = "El color se define en la categoría 'Reacción'."
67 | L["Color of the border highlight"] = "Color del borde resaltado."
68 | L["Color Select"] = "Selección de Color"
69 | L["Combat"] = "Combate"
70 | L["Compact (May require UI reload to take effect)"] = "Compacto (puede requerir que la recarga de la interfaz de usuario (UI reload) para que tenga efecto)"
71 | L["Copy Profile"] = "Copiar Perfil"
72 | L["Curse"] = "Maldición"
73 | L["Default"] = "Defecto"
74 | L["Default Profile"] = "Perfil por defecto"
75 | L["Disease"] = "Enfermedad"
76 | L["Do you really want to make '%1' the default profile?"] = "¿De verdad quieres hacer '%1' tu perfil por defecto?"
77 | L["Don't show this again"] = "No mostrar de nuevo"
78 | L["DPS/Healer"] = "DPS/Sanador"
79 | L["Elite"] = "Élite"
80 | L["Elite Units"] = "Unidades élite"
81 | L["Everything"] = "Todo"
82 | L["Filter Enemy NPC"] = "Filtrar PNJ enemigo"
83 | L["Filter Friendly NPC"] = "Filtrar PNJ amistoso"
84 | L["Filter Inactive"] = "Filtrar inactivos"
85 | L["Filter Neutral Units"] = "Filtrar unidades neutrales"
86 | L["Fire"] = "Fuego"
87 | L["Friendly NPC"] = "PNJ amistoso"
88 | L["Friendly Player"] = "Jugador amistoso"
89 | L["Frost"] = "Escarcha"
90 | L["Glow"] = "Brillo"
91 | L["Guild Member"] = "Miembro de hermandad"
92 | L["Health"] = "Salud"
93 | L["Health Bar Color"] = "Color de la barra de salud"
94 | L["Health Colors"] = "Colores de salud"
95 | L["Healthbar"] = "Barra de salud"
96 | L["High Health"] = "Salud alta"
97 | L["Holy"] = "Sagrado"
98 | L["Hostile NPC"] = "PNJ hostil"
99 | L["Hostile Player"] = "Jugador hostil"
100 | L["Icon"] = "Icono"
101 | L["Interrupted"] = "Interrumpido"
102 | L["Left"] = "Izquierda"
103 | L["Level"] = "Nivel"
104 | L["Low Health"] = "Salud baja"
105 | L["Magic"] = "Magia"
106 | L["Mode"] = "Modo"
107 | L["Nature"] = "Naturaleza"
108 | L["Neutral"] = true
109 | L["Normal"] = true
110 | L["Normal Scale"] = "Escala normal"
111 | L["On Bosses"] = "En jefes"
112 | L["On Elite Units"] = "En unidades élite"
113 | L["On Enemy Healers"] = "En sanadores enemigos"
114 | L["On Enemy Units"] = "En unidades enemigas"
115 | L["On NPC"] = "En PNJ"
116 | L["On NPCs"] = "En PNJs"
117 | L["On Players"] = "En jugadores"
118 | L["Opacity"] = "Opacidad"
119 | L["Other Colors"] = "Otros colores"
120 | L["Other Options"] = "Otras opciones"
121 | L["Players"] = "Jugadores"
122 | L["Poison"] = "Veneno"
123 | L["Profile"] = "Perfil"
124 | L["Quest"] = "Misión"
125 | L["Right"] = "Derecha"
126 | L["Safe"] = "Guardar"
127 | L["Shadow"] = "Sombra"
128 | L["Tank"] = "Tanque"
129 | L["Target Of"] = "Objetivo de"
130 | L["Target Only"] = "Solo objetivo"
131 | L["Target Unit"] = "Unidad objetivo"
132 | L["Text Color"] = "Color del texto"
133 | L["The profile '%1' already exists, try a different name."] = "El perfil '%1' ya existe, prueba con otro nombre."
134 | L["The profile '%1' is now the Default profile."] = "El perfil '%1' es ahora el perfil por defecto."
135 | L["The profile '%1' was successfully deleted."] = "El perfil '%1' ha sido eliminado con éxito."
136 | L["Threat Colors"] = "Colores de amenaza"
137 | L["Transition"] = "Transición"
138 | L["Use Blizzard Font"] = "Usar la fuente de Blizzard"
139 | L["Warning"] = "Alerta"
140 | L["White"] = "Blanco"
141 |
--------------------------------------------------------------------------------
/NeatPlates/NeatPlatesStatusbar.lua:
--------------------------------------------------------------------------------
1 |
2 | -- obj:SetTexCoord(crop.left, crop.right, crop.top, crop.bottom)
3 |
4 | local fraction, range, value, barsize, final
5 |
6 | local function UpdateBar(self)
7 | range = self.MaxVal - self.MinVal
8 | value = self.Value - self.MinVal
9 |
10 | barsize = self.Dim or 1
11 |
12 | local neutralSize = (self.NeutralMax - self.NeutralMin) / self.MaxVal
13 | local neutralLeft = barsize * ((self.NeutralMin) / self.MaxVal)
14 | local neutralRight = barsize * ((self.MaxVal - self.NeutralMax) / self.MaxVal)
15 |
16 | if range > 0 and value > 0 and range >= value then
17 | fraction = value / range
18 | else fraction = .01 end
19 | if self.Orientation == "VERTICAL" then
20 | self.Bar:SetHeight(barsize * fraction)
21 | final = self.Bottom - ((self.Bottom - self.Top) * fraction) -- bottom = 1, top = 0
22 | self.Bar:SetTexCoord(self.Left, self.Right, final, self.Bottom)
23 | --self.Bar:SetTexCoord(0, 1, 1-fraction, 1)
24 |
25 | -- Set neutral zone size
26 | self.Neutral:ClearAllPoints()
27 | self.Neutral:SetPoint("BOTTOMLEFT", 0, neutralLeft)
28 | self.Neutral:SetPoint("TOPRIGHT", 0, -neutralRight)
29 | else
30 | self.Bar:SetWidth(barsize * fraction)
31 | self.Neutral:SetWidth(barsize * neutralSize)
32 | final = ((self.Right - self.Left) * fraction) + self.Left
33 | self.Bar:SetTexCoord(self.Left, final, self.Top, self.Bottom)
34 | self.Neutral:SetTexCoord(self.Left, self.Right, self.Top, self.Bottom)
35 |
36 | -- Set neutral zone size
37 | self.Neutral:ClearAllPoints()
38 | self.Neutral:SetPoint("TOPLEFT", neutralLeft, 0)
39 | self.Neutral:SetPoint("BOTTOMRIGHT", -neutralRight, 0)
40 | end
41 |
42 |
43 | end
44 |
45 | local function UpdateSize(self)
46 | if self.Orientation == "VERTICAL" then self.Dim = self:GetHeight()
47 | else self.Dim = self:GetWidth() end
48 | UpdateBar(self)
49 | end
50 |
51 | local function SetValue(self, value)
52 | if value >= self.MinVal and value <= self.MaxVal then self.Value = value end;
53 | UpdateBar(self)
54 | end
55 |
56 | local function SetStatusBarTexture(self, texture)
57 | self.Bar:SetTexture(texture)
58 | self.Neutral:SetTexture(texture)
59 | end
60 | local function SetStatusBarColor(self, r, g, b, a)
61 | a = a or 1
62 | self.Bar:SetVertexColor(r,g,b,a)
63 | self.Neutral:SetVertexColor(0,0,1,a/2)
64 | end
65 | local function SetStatusBarGradient(self, r1, g1, b1, a1, r2, g2, b2, a2) self.Bar:SetGradientAlpha(self.Orientation, r1, g1, b1, a1, r2, g2, b2, a2) end
66 |
67 | --[[
68 | local function SetStatusBarGradientAuto(self, r, g, b, a)
69 | self.Bar:SetGradientAlpha(self.Orientation, .5+(r*1.1), g*.7, b*.7, a, r*.7, g*.7, .5+(b*1.1), a)
70 | end
71 |
72 | local function SetStatusBarSmartGradient(self, r1, g1, b1, r2, g2, b2)
73 | self.Bar:SetGradientAlpha(self.Orientation, r1, g1, b1, 1, r2 or r1, g2 or g1, b2 or b1, 1)
74 | end
75 | --]]
76 |
77 | local function SetAllColors(self, rBar, gBar, bBar, aBar, rBackdrop, gBackdrop, bBackdrop, aBackdrop)
78 | self.Bar:SetVertexColor(rBar or 1, gBar or 1, bBar or 1, aBar or 1)
79 | self.Bar.color = {r = rBar or 1, g = gBar or 1, b = bBar or 1, a = aBar or 1}
80 | self.Neutral:SetVertexColor(rBar or 1, gBar or 1, bBar or 1, aBar or 1)
81 | self.Neutral.color = {r = rBar or 1, g = gBar or 1, b = bBar or 1, a = aBar or 1}
82 | self.Backdrop:SetVertexColor(rBackdrop or 1, gBackdrop or 1, bBackdrop or 1, aBackdrop or 1)
83 | self.Backdrop.color = {r = rBackdrop or 1, g = gBackdrop or 1, b = bBackdrop or 1, a = aBackdrop or 1}
84 | end
85 |
86 | local function SetOrientation(self, orientation)
87 | if orientation == "VERTICAL" then
88 | self.Orientation = orientation
89 | self.Bar:ClearAllPoints()
90 | self.Bar:SetPoint("BOTTOMLEFT")
91 | self.Bar:SetPoint("BOTTOMRIGHT")
92 | self.Neutral:ClearAllPoints()
93 | self.Neutral:SetPoint("BOTTOMLEFT")
94 | self.Neutral:SetPoint("BOTTOMRIGHT")
95 | else
96 | self.Orientation = "HORIZONTAL"
97 | self.Bar:ClearAllPoints()
98 | self.Bar:SetPoint("TOPLEFT")
99 | self.Bar:SetPoint("BOTTOMLEFT")
100 | self.Neutral:ClearAllPoints()
101 | self.Neutral:SetPoint("TOPLEFT")
102 | self.Neutral:SetPoint("BOTTOMLEFT")
103 | end
104 | UpdateSize(self)
105 | end
106 |
107 | local function GetMinMaxValues(self)
108 | return self.MinVal, self.MaxVal
109 | end
110 |
111 |
112 | local function SetMinMaxValues(self, minval, maxval)
113 | if not (minval or maxval) then return end
114 |
115 | if maxval > minval then
116 | self.MinVal = minval
117 | self.MaxVal = maxval
118 | else
119 | self.MinVal = 0
120 | self.MaxVal = 1
121 | end
122 |
123 | if self.Value > self.MaxVal then self.Value = self.MaxVal
124 | elseif self.Value < self.MinVal then self.Value = self.MinVal end
125 |
126 | UpdateBar(self)
127 | end
128 |
129 | local function SetNeutralZone(self, minval, maxval, center, barmax)
130 | if not (minval or maxval) then return end
131 |
132 | if maxval > minval then
133 | self.NeutralMin = minval
134 | self.NeutralMax = maxval
135 | else
136 | self.NeutralMin = 0
137 | self.NeutralMax = 0
138 | end
139 |
140 | self.NeutralCenter = center
141 |
142 | UpdateBar(self)
143 | end
144 |
145 | local function SetTexCoord(self, left,right,top,bottom) -- 0. 1. 0. 1
146 | self.Left, self.Right, self.Top, self.Bottom = left or 0, right or 1, top or 0, bottom or 1
147 | UpdateBar(self)
148 | end
149 |
150 | local function SetBackdropTexCoord(self, left,right,top,bottom) -- 0. 1. 0. 1
151 | self.Backdrop:SetTexCoord(left or 0, right or 1,top or 0, bottom or 1)
152 | end
153 |
154 | local function SetBackdropTexture(self, texture) -- 0. 1. 0. 1
155 | self.Backdrop:SetTexture(texture)
156 | end
157 |
158 |
159 | function CreateNeatPlatesStatusbar(parent)
160 | local frame = CreateFrame("Frame", nil, parent, NeatPlatesBackdrop)
161 | --frame.Dim = 1
162 | frame:SetHeight(1)
163 | frame:SetWidth(1)
164 | frame.Value, frame.MinVal, frame.MaxVal, frame.Orientation = 1, 0, 1, "HORIZONTAL"
165 | frame.NeutralMin, frame.NeutralMax, frame.NeutralCenter = 0, 0, 0.5
166 | frame.Left, frame.Right, frame.Top, frame.Bottom = 0, 1, 0, 1
167 | frame.Bar = frame:CreateTexture(nil, "BORDER")
168 | frame.Backdrop = frame:CreateTexture(nil, "BACKGROUND")
169 | frame.Backdrop:SetAllPoints(frame)
170 | frame.Neutral = frame:CreateTexture(nil, "OVERLAY")
171 | frame.Neutral:Hide()
172 |
173 | --AddBorders(frame)
174 |
175 | frame.SetValue = SetValue
176 | frame.SetNeutralZone = SetNeutralZone
177 | frame.SetMinMaxValues = SetMinMaxValues
178 | frame.GetMinMaxValues = GetMinMaxValues
179 | frame.SetOrientation = SetOrientation
180 | frame.SetStatusBarColor = SetStatusBarColor
181 | frame.SetStatusBarGradient = SetStatusBarGradient
182 | --frame.SetStatusBarGradientAuto = SetStatusBarGradientAuto
183 | --frame.SetStatusBarSmartGradient = SetStatusBarSmartGradient
184 | frame.SetAllColors = SetAllColors
185 | frame.SetStatusBarTexture = SetStatusBarTexture
186 | frame.SetTexCoord = SetTexCoord
187 | frame.SetBackdropTexCoord = SetBackdropTexCoord
188 | frame.SetBackdropTexture = SetBackdropTexture
189 |
190 | frame:SetScript("OnSizeChanged", UpdateSize)
191 | UpdateSize(frame)
192 | return frame
193 | end
194 |
--------------------------------------------------------------------------------
/NeatPlatesWidgets/RangeWidget.lua:
--------------------------------------------------------------------------------
1 | ---------------------------------------------
2 | ---- NeatPlates Range Widget ----
3 | ---------------------------------------------
4 |
5 | local AddonName, NeatPlatesInternal = ...
6 | local rc = LibStub('LibRangeCheck-3.0')
7 |
8 | local font = "FONTS\\arialn.ttf"
9 |
10 | local WidgetList = {}
11 | local WidgetMode = 1
12 | local WidgetStyle = 1
13 | local WidgetUnits = 2 -- 1 - Target Only; 2 - All Units
14 | local WidgetRange = 40
15 | local WidgetScale = false
16 | local WidgetWidthMod = 1
17 | local WidgetColors = {}
18 | local WidgetScaleOptions = {x = 1, y = 1, offset = {x = 0, y = 0}}
19 |
20 | local WidgetIconSize = 10
21 |
22 | --local art = "Interface\\Addons\\NeatPlatesWidgets\\RangeWidget\\RangeWidgetLine"
23 | local artpath = "Interface\\Addons\\NeatPlatesWidgets\\RangeWidget\\"
24 | local artfile = {
25 | artpath.."RangeWidgetLine",
26 | artpath.."RangeWidgetCircle",
27 | }
28 |
29 | --[[ Ticker that runs every 0.05 seconds ]]--
30 | local function AttachNewTicker(frame)
31 | if not frame._ticker then
32 | frame._ticker = C_Timer.NewTicker(0.05, function(self)
33 | if not frame._ticker then self:Cancel() end
34 | frame:Update()
35 | end)
36 | end
37 | end
38 |
39 | local function GetWidgetSize(frame, minRange, maxRange)
40 | local width, height
41 |
42 | if WidgetStyle == 1 then
43 | width, height = frame:GetParent()._width or 100, 3
44 | else
45 | width, height = WidgetIconSize, WidgetIconSize
46 | end
47 |
48 | -- Apply user scaling
49 | width = width * WidgetScaleOptions.x
50 | height = height * WidgetScaleOptions.y
51 |
52 | -- Widget scaling by distance
53 | if minRange and maxRange then
54 | if WidgetScale and WidgetStyle == 1 then
55 | width = math.max(width*0.15, width*math.min(1, minRange/WidgetRange))
56 | elseif WidgetScale then
57 | width = math.max(width*0.15, width*math.min(1, minRange/WidgetRange))
58 | height = math.max(height*0.15, height*math.min(1, minRange/WidgetRange))
59 | end
60 | end
61 |
62 | return width, height
63 | end
64 |
65 | local function UpdateRangeWidget(frame, unit)
66 | if not unit or not frame._ticker then return end
67 | local minRange, maxRange = rc:GetRange(unit)
68 | local height = frame:GetParent()._height or 12;
69 | local width = frame:GetParent()._width or 100;
70 |
71 | -- If we can't get a range, assume out of range
72 | if maxRange == nil then
73 | minRange = 1000
74 | maxRange = 1000
75 | end
76 |
77 | if WidgetStyle == 1 then width = width * WidgetWidthMod end -- Account for width scale when using bar style
78 |
79 | frame:Show()
80 | frame:SetWidth(width); frame:SetHeight(32)
81 |
82 | if WidgetRange and minRange and maxRange then
83 | frame.Texture:Show()
84 | local color = {r = 0, g = 0, b = 0}
85 |
86 | if WidgetMode == 1 then
87 | if WidgetRange > minRange then
88 | color = WidgetColors["Mid"] or color -- Mid Range
89 | else
90 | color = WidgetColors["OOR"] or color -- Out of Range
91 | end
92 | else
93 | if WidgetRange > minRange and maxRange <= 5 then
94 | color = WidgetColors["Melee"] or color -- Melee Range
95 | elseif WidgetRange > minRange then
96 | if WidgetRange*0.75 <= minRange then
97 | color = WidgetColors["Far"] or color -- Far Range
98 | elseif WidgetRange*0.5 <= minRange then
99 | color = WidgetColors["Mid"] or color -- Mid Range
100 | else
101 | color = WidgetColors["Close"] or color -- Close Range
102 | end
103 | else
104 | color = WidgetColors["OOR"] or color -- Out of Range
105 | end
106 | end
107 |
108 | frame.Texture:SetVertexColor(color.r,color.g,color.b,color.a)
109 | width, height = GetWidgetSize(frame, minRange, maxRange)
110 |
111 | frame.Texture:SetWidth(width)
112 | frame.Texture:SetHeight(height)
113 |
114 | else
115 | frame.Texture:Hide()
116 | end
117 | end
118 |
119 | --[[ Called on Theme Change: Since bars aren't the same size we just have to update them ]]--
120 | local function UpdateWidgetConfig(frame)
121 | local width = frame:GetParent()._width or 100
122 | local height = frame:GetParent()._height or 12
123 |
124 | if WidgetStyle == 1 then width = width * WidgetWidthMod end -- Account for width scale when using bar style
125 |
126 | frame.Texture:SetTexture(artfile[WidgetStyle])
127 | frame.Texture:SetScale(1)
128 | --if not WidgetScaling then
129 | -- if WidgetStyle == 1 then
130 | -- frame.Texture:SetHeight(3)
131 | -- frame.Texture:SetWidth(width)
132 | -- else
133 | -- frame.Texture:SetHeight(WidgetIconSize)
134 | -- frame.Texture:SetWidth(WidgetIconSize)
135 | -- end
136 | --end
137 | width, height = GetWidgetSize(frame)
138 |
139 | frame.Texture:SetWidth(width)
140 | frame.Texture:SetHeight(height)
141 |
142 | frame.Texture:SetPoint("CENTER", frame, "CENTER", WidgetScaleOptions.offset.x, WidgetScaleOptions.offset.y)
143 | end
144 |
145 | -- [[ Widget frame self update ]] --
146 | local function UpdateWidget(frame)
147 | local unitid = frame.unitid
148 | UpdateRangeWidget(frame, unitid)
149 | end
150 |
151 | -- Context
152 | local function UpdateWidgetContext(frame, unit)
153 | local guid = unit.guid
154 | local unitid = unit.unitid
155 | frame.unitid = unitid
156 |
157 | if guid then
158 | if frame.guid then WidgetList[frame.guid] = nil end
159 | frame.guid = guid
160 | WidgetList[guid] = frame
161 | end
162 |
163 | --[[ Update Widget Frame ]]--
164 | --frame:UnregisterAllEvents()
165 |
166 | if unit.style == "Default" and (WidgetUnits == 2 or (WidgetUnits == 1 and UnitGUID("target") == guid)) then
167 | AttachNewTicker(frame)
168 | else
169 | frame._ticker = nil
170 | frame:Hide()
171 | end
172 |
173 | UpdateRangeWidget(frame, unitid)
174 | end
175 |
176 | local function ClearWidgetContext(frame)
177 | local guid = frame.guid
178 | if guid then
179 | WidgetList[guid] = nil
180 | frame.guid = nil
181 | end
182 | end
183 |
184 | -- Widget Creation
185 | local function CreateWidgetFrame(parent)
186 | local frame = CreateFrame("Frame", nil, parent)
187 | local height = frame:GetParent()._height or 12;
188 | local width = frame:GetParent()._width or 100
189 |
190 | if WidgetStyle == 1 then width = width * WidgetWidthMod end -- Account for width scale when using bar style
191 |
192 | --[[ Widget Config can now pass width or height data from theme config ]]--
193 | frame:SetWidth(16); frame:SetHeight(16)
194 | frame.Texture = frame:CreateTexture(nil, "OVERLAY")
195 | frame.Texture:SetTexture(artfile[WidgetStyle])
196 | frame.Texture:SetPoint("CENTER", frame, "CENTER", WidgetScaleOptions.offset.x, WidgetScaleOptions.offset.y)
197 | frame.Texture:SetScale(1)
198 |
199 | --if WidgetStyle == 1 then
200 | -- frame.Texture:SetHeight(3)
201 | -- frame.Texture:SetWidth(width)
202 | --else
203 | -- frame.Texture:SetHeight(WidgetIconSize)
204 | -- frame.Texture:SetWidth(WidgetIconSize)
205 | --end
206 |
207 | width, height = GetWidgetSize(frame)
208 |
209 | frame.Texture:SetWidth(width)
210 | frame.Texture:SetHeight(height)
211 |
212 |
213 | -- Required Widget Code
214 | frame.UpdateContext = UpdateWidgetContext
215 | frame.Update = UpdateWidget
216 | frame.UpdateConfig = UpdateWidgetConfig
217 | frame._Hide = frame.Hide
218 | frame.Hide = function()
219 | frame._ticker = nil
220 | ClearWidgetContext(frame);
221 | frame:_Hide()
222 | end
223 |
224 | return frame
225 | end
226 |
227 | local function SetRangeWidgetOptions(LocalVars)
228 | WidgetMode = LocalVars.WidgetRangeMode
229 | WidgetStyle = LocalVars.WidgetRangeStyle
230 | WidgetUnits = LocalVars.WidgetRangeUnits
231 | WidgetRange = LocalVars.WidgetRangeMax
232 | WidgetScale = LocalVars.WidgetRangeScale
233 | WidgetScaleOptions = LocalVars.WidgetRangeScaleOptions
234 | --WidgetPos.x = LocalVars.WidgetOffsetX
235 | --WidgetPos.y = LocalVars.WidgetOffsetY
236 | WidgetWidthMod = LocalVars.FrameBarWidth or 1
237 | WidgetColors["Melee"] = LocalVars.ColorRangeMelee
238 | WidgetColors["Close"] = LocalVars.ColorRangeClose
239 | WidgetColors["Mid"] = LocalVars.ColorRangeMid
240 | WidgetColors["Far"] = LocalVars.ColorRangeFar
241 | WidgetColors["OOR"] = LocalVars.ColorRangeOOR
242 | end
243 |
244 | NeatPlatesWidgets.UpdateRangeWidget = UpdateRangeWidget
245 | NeatPlatesWidgets.CreateRangeWidget = CreateWidgetFrame
246 | NeatPlatesWidgets.SetRangeWidgetOptions = SetRangeWidgetOptions
247 |
248 |
249 |
250 |
251 | --
--------------------------------------------------------------------------------
/NeatPlatesHub/functions/Scale.lua:
--------------------------------------------------------------------------------
1 |
2 |
3 | local AddonName, HubData = ...;
4 | local LocalVars = NeatPlatesHubDefaults
5 | local L = LibStub("AceLocale-3.0"):GetLocale("NeatPlates")
6 |
7 |
8 | ------------------------------------------------------------------------------
9 | -- References
10 | ------------------------------------------------------------------------------
11 | local InCombatLockdown = InCombatLockdown
12 | local GetFriendlyThreat = NeatPlatesUtility.GetFriendlyThreat
13 | local IsOffTanked = NeatPlatesHubFunctions.IsOffTanked
14 | local ThreatExceptions = NeatPlatesHubFunctions.ThreatExceptions
15 | local IsTankingAuraActive = NeatPlatesWidgets.IsPlayerTank
16 | local IsHealer = NeatPlatesUtility.IsHealer
17 | local UnitFilter = NeatPlatesHubFunctions.UnitFilter
18 | local IsAuraShown = NeatPlatesWidgets.IsAuraShown
19 | local function DummyFunction() end
20 |
21 | ------------------------------------------------------------------------------
22 | -- Scale
23 | ------------------------------------------------------------------------------
24 |
25 | local MiniMobScale = .7
26 |
27 | -- By Low Health
28 | local function ScaleFunctionByLowHealth(unit)
29 | if unit.health/unit.healthmax < LocalVars.LowHealthThreshold then return LocalVars.ScaleSpotlight end
30 | end
31 |
32 | -- By Elite
33 | local function ScaleFunctionByElite(unit)
34 | if unit.isElite then return LocalVars.ScaleSpotlight end
35 | end
36 |
37 | -- By Target
38 | local function ScaleFunctionByTarget(unit)
39 | if (unit.isTarget or (LocalVars.FocusAsTarget and unit.isFocus)) then return LocalVars.ScaleSpotlight end
40 | end
41 |
42 | -- By Threat (High) DPS Mode
43 | local function ScaleFunctionByThreatHigh(unit)
44 | if InCombatLockdown() and unit.reaction ~= "FRIENDLY" and (unit.isInCombat or UnitIsUnit(unit.unitid.."target", "player")) then
45 | if unit.type == "NPC" and unit.threatValue > 1 and unit.health > 2 then return LocalVars.ScaleSpotlight end
46 | elseif LocalVars.ColorShowPartyAggro and unit.reaction == "FRIENDLY" then
47 | if GetFriendlyThreat(unit.unitid) then return LocalVars.ScaleSpotlight end
48 | end
49 | end
50 |
51 | -- By Threat (Low) Tank Mode
52 | local function ScaleFunctionByThreatLow(unit)
53 | if InCombatLockdown() and unit.reaction ~= "FRIENDLY" and (unit.isInCombat or UnitIsUnit(unit.unitid.."target", "player")) then
54 | if IsOffTanked(unit) then return end
55 | if unit.type == "NPC" and unit.health > 2 and unit.threatValue < 2 then return LocalVars.ScaleSpotlight end
56 | elseif LocalVars.ColorShowPartyAggro and unit.reaction == "FRIENDLY" then
57 | if GetFriendlyThreat(unit.unitid) then return LocalVars.ScaleSpotlight end
58 | end
59 | end
60 |
61 | -- By Debuff Widget
62 | local function ScaleFunctionByActiveDebuffs(unit, frame)
63 | local widget = unit.frame.widgets.DebuffWidget
64 | --local widget = NeatPlatesWidgets.GetAuraWidgetByGUID(unit.guid)
65 | if IsAuraShown(widget) then return LocalVars.ScaleSpotlight end
66 | end
67 |
68 | -- By Enemy
69 | local function ScaleFunctionByEnemy(unit)
70 | if unit.reaction ~= "FRIENDLY" then return LocalVars.ScaleSpotlight end
71 | end
72 |
73 | -- By NPC
74 | local function ScaleFunctionByNPC(unit)
75 | if unit.type == "NPC" then return LocalVars.ScaleSpotlight end
76 | end
77 |
78 | -- By Raid Icon
79 | local function ScaleFunctionByRaidIcon(unit)
80 | if unit.isMarked then return LocalVars.ScaleSpotlight end
81 | end
82 |
83 | -- By Enemy Healer
84 | local function ScaleFunctionByEnemyHealer(unit)
85 | if unit.reaction == "HOSTILE" and unit.type == "PLAYER" then
86 | --if NeatPlatesCache and NeatPlatesCache.HealerListByName[unit.rawName] then
87 | if IsHealer(unit.rawName) then
88 | return LocalVars.ScaleSpotlight
89 | end
90 | end
91 | end
92 |
93 | -- By Boss
94 | local function ScaleFunctionByBoss(unit)
95 | if unit.isBoss and unit.isElite then return LocalVars.ScaleSpotlight end
96 | end
97 |
98 | -- By Threat (Auto Detect)
99 | local function ScaleFunctionByThreat(unit)
100 | if unit.reaction == "NEUTRAL" and unit.threatValue < 2 then return ScaleFunctionByThreatHigh(unit) end
101 | local isTank = (LocalVars.ThreatWarningMode == "Tank") or (LocalVars.ThreatWarningMode == "Auto" and IsTankingAuraActive())
102 | local threatException = ThreatExceptions(unit, isTank, true)
103 |
104 | if threatException then
105 | if threatException == true then
106 | return
107 | else
108 | return LocalVars.ScaleSpotlight
109 | end
110 | end
111 |
112 | if isTank then
113 | return ScaleFunctionByThreatLow(unit) -- tank mode
114 | else return ScaleFunctionByThreatHigh(unit) end
115 |
116 | end
117 |
118 | -- Function List
119 |
120 | local ScaleFunctionsUniversal = {}
121 |
122 | --[[
123 | local ScaleFunctionsUniversal = { DummyFunction, ScaleFunctionByThreat, ScaleFunctionByElite,
124 | ScaleFunctionByEnemy,ScaleFunctionByNPC, ScaleFunctionByRaidIcon,
125 | ScaleFunctionByEnemyHealer, ScaleFunctionByLowHealth, ScaleFunctionByBoss}
126 | --]]
127 |
128 |
129 | local AddHubFunction = NeatPlatesHubHelpers.AddHubFunction
130 |
131 | AddHubFunction(ScaleFunctionsUniversal, NeatPlatesHubMenus.ScaleModes, DummyFunction, L["None"], "None")
132 | AddHubFunction(ScaleFunctionsUniversal, NeatPlatesHubMenus.ScaleModes, ScaleFunctionByThreat, L["By Threat"], "ByThreat")
133 | AddHubFunction(ScaleFunctionsUniversal, NeatPlatesHubMenus.ScaleModes, ScaleFunctionByElite, L["On Elite Units"], "OnElite")
134 | AddHubFunction(ScaleFunctionsUniversal, NeatPlatesHubMenus.ScaleModes, ScaleFunctionByEnemy, L["On Enemy Units"], "OnHostile")
135 | AddHubFunction(ScaleFunctionsUniversal, NeatPlatesHubMenus.ScaleModes, ScaleFunctionByNPC, L["On NPCs"], "OnNPC")
136 | AddHubFunction(ScaleFunctionsUniversal, NeatPlatesHubMenus.ScaleModes, ScaleFunctionByRaidIcon, L["On Raid Targets"], "OnMarked")
137 | AddHubFunction(ScaleFunctionsUniversal, NeatPlatesHubMenus.ScaleModes, ScaleFunctionByEnemyHealer, L["On Enemy Healers"], "OnHealers")
138 | AddHubFunction(ScaleFunctionsUniversal, NeatPlatesHubMenus.ScaleModes, ScaleFunctionByLowHealth, L["On Low-Health Units"], "OnLowHealth")
139 | AddHubFunction(ScaleFunctionsUniversal, NeatPlatesHubMenus.ScaleModes, ScaleFunctionByBoss, L["On Bosses"], "OnBosses")
140 | --NeatPlatesHubDefaults.ScaleFunctionMode = 2 -- Sets the default function
141 | NeatPlatesHubDefaults.ScaleFunctionMode = "ByThreat" -- Sets the default function
142 |
143 |
144 | local function ScaleDelegate(...)
145 |
146 | local unit = ...
147 | local scale, filterScale;
148 |
149 | --if LocalVars.UnitSpotlightScaleEnable and LocalVars.UnitSpotlightLookup[unit.name] then
150 | -- return LocalVars.UnitSpotlightScale
151 | --end
152 | if not unit or not unit.unitid then return LocalVars.ScaleStandard end
153 |
154 | -- Get scale from scale function
155 | local func = ScaleFunctionsUniversal[LocalVars.ScaleFunctionMode] or DummyFunction
156 | if func then scale = func(...) end
157 |
158 | -- Filter
159 | if (LocalVars.FilterScaleLock or (not (unit.isTarget or (LocalVars.FocusAsTarget and unit.isFocus) ) ) ) and UnitFilter(unit) then
160 | filterScale = LocalVars.ScaleFiltered
161 | end
162 |
163 | if (LocalVars.ScaleTargetSpotlight and (unit.isTarget or (LocalVars.FocusAsTarget and unit.isFocus))) then scale = LocalVars.ScaleSpotlight
164 | elseif (LocalVars.ScaleMouseoverSpotlight and unit.isMouseover) then scale = LocalVars.ScaleSpotlight
165 | elseif LocalVars.ScaleIgnoreNonEliteUnits and (not unit.isElite) then scale = nil
166 | elseif LocalVars.ScaleIgnoreNeutralUnits and unit.reaction == "NEUTRAL" then scale = nil
167 | elseif LocalVars.ScaleIgnoreInactive and not ( (unit.health < unit.healthmax) or (unit.isInCombat or UnitIsUnit(unit.unitid.."target", "player") or unit.threatValue > 0) or (unit.isCasting == true) ) then scale = nil
168 | elseif LocalVars.ScaleCastingSpotlight and unit.reaction == "HOSTILE" and unit.isCasting then scale = LocalVars.ScaleSpotlight
169 | --elseif LocalVars.ScaleMiniMobs and unit.isMini then
170 | -- scale = MiniMobScale
171 | end
172 |
173 | if(filterScale and (LocalVars.FilterScaleLock or scale == nil)) then
174 | return filterScale
175 | else
176 | return scale or LocalVars.ScaleStandard
177 | end
178 | end
179 |
180 |
181 | ------------------------------------------------------------------------------
182 | -- Local Variable
183 | ------------------------------------------------------------------------------
184 |
185 | local function OnVariableChange(vars)
186 | LocalVars = vars
187 | if ScaleFunctionsUniversal[LocalVars.ScaleFunctionMode] == ScaleFunctionByThreat then
188 | SetCVar("threatWarning", 3)
189 | end
190 |
191 | end
192 | HubData.RegisterCallback(OnVariableChange)
193 |
194 |
195 | ------------------------------------------------------------------------------
196 | -- Add References
197 | ------------------------------------------------------------------------------
198 | NeatPlatesHubFunctions.SetScale = ScaleDelegate
199 |
200 |
--------------------------------------------------------------------------------
/NeatPlatesWidgets/ThreatLineWidget.lua:
--------------------------------------------------------------------------------
1 |
2 | local GetRelativeThreat = NeatPlatesUtility.GetRelativeThreat
3 | local GetGroupInfo = NeatPlatesUtility.GetGroupInfo
4 | local IsEnemyTanked = NeatPlatesWidgets.IsEnemyTanked
5 |
6 |
7 | ------------------------
8 | -- Threat Function
9 | ------------------------
10 |
11 | -- local function GetGroupThreatLeader(enemyUnitid)
12 | -- -- tempUnitid, tempThreat
13 | -- local friendlyUnitid, friendlyThreatval = nil, 0
14 | -- local tempUnitid, tempThreat
15 | -- local groupType, groupSize, startAt = nil, nil, 1
16 |
17 | -- -- Get Group Type
18 | -- if UnitInRaid("player") then
19 | -- groupType = "raid"
20 | -- groupSize = NeatPlatesUtility:GetNumRaidMembers()
21 | -- startAt = 2
22 | -- elseif UnitInParty("player") then
23 | -- groupType = "party"
24 | -- groupSize = NeatPlatesUtility:GetNumPartyMembers()
25 | -- else
26 | -- groupType = nil
27 | -- end
28 |
29 | -- -- Cycle through Party/Raid, picking highest threat holder
30 | -- if groupType then
31 | -- for allyIndex = startAt, groupSize do
32 | -- tempUnitid = groupType..allyIndex
33 | -- tempThreat = select(3, UnitDetailedThreatSituation(tempUnitid, enemyUnitid))
34 | -- if tempThreat and tempThreat > friendlyThreatval then
35 | -- friendlyThreatval = tempThreat
36 | -- friendlyUnitid = tempUnitid
37 | -- end
38 | -- end
39 | -- end
40 |
41 | -- -- Request Pet Threat (if possible)
42 | -- if HasPetUI() and UnitExists("pet") then
43 | -- tempThreat = select(3, UnitDetailedThreatSituation("pet", enemyUnitid)) or 0
44 | -- if tempThreat > friendlyThreatval then
45 | -- friendlyThreatval = tempThreat
46 | -- friendlyUnitid = "pet"
47 | -- end
48 | -- end
49 |
50 | -- return friendlyUnitid, friendlyThreatval
51 |
52 | -- end
53 |
54 |
55 | -- local function GetRelativeThreat(enemyUnitid) -- 'enemyUnitid' is a target/enemy
56 | -- if not UnitExists(enemyUnitid) then return end
57 |
58 | -- local playerIsTanking, playerSituation, playerThreat = UnitDetailedThreatSituation("player", enemyUnitid)
59 | -- if not playerThreat then return end
60 |
61 | -- local friendlyUnitid, friendlyThreat = GetGroupThreatLeader(enemyUnitid)
62 |
63 | -- -- Return the appropriate value
64 | -- if playerThreat and friendlyThreat and friendlyUnitid then
65 | -- if playerThreat >= 100 then -- The enemy is attacking you. You are tanking. Returns: 1. Your threat, plus your lead over the next highest person, 2. Your Unitid (since you're tanking)
66 | -- return tonumber(playerThreat + (100-friendlyThreat)), "player"
67 | -- else -- The enemy is not attacking you. Returns: 1. Your scaled threat percent, 2. Who is On Top
68 | -- return tonumber(playerThreat), friendlyUnitid
69 | -- end
70 | -- end
71 |
72 | -- end
73 |
74 |
75 | ---------------------------------------------------------------------
76 | local font = NeatPlatesLocalizedThreatFont
77 | local art = "Interface\\Addons\\NeatPlatesWidgets\\ThreatLine\\ThreatLineUnified"
78 | local artCoordinates = {
79 | --None = {.75,1,0,1},
80 | Line = {0,.2,0,1},
81 | Right = {.5,.75,0,1},
82 | Left = {.25,.5,0,1},
83 | }
84 |
85 | local threatcolor
86 |
87 | ---------------------------------------------------------------------
88 |
89 |
90 | local WidgetList = {}
91 |
92 | local testMode = false
93 |
94 | -- Graphics Update
95 | local function UpdateThreatLine(frame, unitid)
96 | local maxwidth = 50
97 | --local maxwidth = frame._MaximumWidth
98 | local length = 0
99 | local anchor = "RIGHT"
100 | local threat, targetOf = GetRelativeThreat(unitid) -- ;if testMode then threat, targetOf = .00000000000000000000000000000000001, "player" end
101 |
102 | if not(threat and targetOf) then frame:_Hide(); return end
103 |
104 | if threat >= 0 then
105 |
106 | -- Get Positions and Size
107 | if threat >= 100 then -- While tanking
108 | length = maxwidth * ((threat - 100)/100)
109 | threatcolor = frame._HighColor
110 | anchor = "LEFT"
111 | else -- While NOT tanking
112 | length = maxwidth * ((100 - threat)/150)
113 | threatcolor = frame._LowColor
114 | end
115 |
116 | frame.Line:ClearAllPoints()
117 | frame.Line:SetWidth( max(1, min( maxwidth, length)))
118 | frame.Line:SetPoint(anchor, frame, "CENTER")
119 |
120 | if targetOf and targetOf ~= "player" then
121 | if IsEnemyTanked then
122 | threatcolor = frame._TankedColor
123 | end
124 |
125 | frame.TargetText:SetText(UnitName(targetOf)) -- TP 6.1
126 | frame.TargetText:SetTextColor(threatcolor.r, threatcolor.g, threatcolor.b) -- TP 6.1
127 | else frame.TargetText:SetText("") end
128 |
129 | -- Set Colors
130 | frame.Left:SetVertexColor(threatcolor.r, threatcolor.g, threatcolor.b)
131 | frame.Line:SetVertexColor(threatcolor.r, threatcolor.g, threatcolor.b)
132 | frame.Right:SetVertexColor(threatcolor.r, threatcolor.g, threatcolor.b)
133 | -- Set Fading
134 | frame:Show()
135 | --frame.FadeTime = GetTime() + 2
136 | --frame:FadeLater(frame.FadeTime)
137 | else frame:_Hide() end
138 | end
139 |
140 | local function UpdateWidget(frame)
141 | local unitid = frame.unitid
142 |
143 | UpdateThreatLine(frame, unitid)
144 | end
145 |
146 | local function UpdateWidgetTarget(frame)
147 | if UnitExists("target") then
148 | UpdateThreatLine(frame, "target")
149 | else
150 | frame:Hide()
151 | end
152 | end
153 |
154 | local function UpdateWidgetContext(frame, unit)
155 | local unitid = unit.unitid
156 |
157 | if unit.reaction == "FRIENDLY" or (not InCombatLockdown()) or (not (UnitInParty("player") or HasPetUI())) then
158 | frame:_Hide()
159 | return
160 | end
161 |
162 | frame.unitid = unitid
163 |
164 | -- Make it self-aware
165 | frame:UnregisterAllEvents()
166 | frame:RegisterEvent("UNIT_THREAT_LIST_UPDATE")
167 | frame:RegisterEvent("UNIT_THREAT_SITUATION_UPDATE")
168 | frame:RegisterUnitEvent("UNIT_HEALTH", unitid)
169 | frame:SetScript("OnEvent", UpdateWidget);
170 |
171 | UpdateThreatLine(frame, unitid)
172 | end
173 |
174 | local function ClearWidgetContext(frame)
175 | frame:UnregisterAllEvents()
176 | frame:SetScript("OnEvent", nil);
177 | end
178 |
179 | -- GUID/UnitID Lookup List
180 | local TargetList = {}
181 | local updateCap = 1
182 | local lastUpdate = 0
183 |
184 | -- Widget Creation
185 | local function CreateWidgetFrame(extended)
186 | --local parent = extended.widgetFrame
187 | local parent = extended
188 | -- Required Widget Code
189 | local frame = CreateFrame("Frame", nil, parent)
190 | frame:Hide()
191 |
192 | -- Custom Code
193 | frame:SetWidth(100)
194 | frame:SetHeight(24)
195 | -- Threat Line
196 | frame.Line = frame:CreateTexture(nil, "OVERLAY")
197 | frame.Line:SetTexture(art)
198 | frame.Line:SetTexCoord(unpack(artCoordinates["Line"]))
199 | frame.Line:SetHeight(32)
200 | frame.Line:SetWidth(50) -- Set initial length
201 | frame._MaximumWidth = 50
202 | -- Left
203 | frame.Left = frame:CreateTexture(nil, "OVERLAY")
204 | frame.Left:SetTexture(art)
205 | frame.Left:SetTexCoord(unpack(artCoordinates["Left"]))
206 | frame.Left:SetPoint("RIGHT", frame.Line, "LEFT" )
207 | frame.Left:SetWidth(32)
208 | frame.Left:SetHeight(32)
209 | -- Right
210 | frame.Right = frame:CreateTexture(nil, "OVERLAY")
211 | frame.Right:SetTexture(art)
212 | frame.Right:SetTexCoord(unpack(artCoordinates["Right"]))
213 | frame.Right:SetPoint("LEFT", frame.Line, "RIGHT" )
214 | frame.Right:SetWidth(32)
215 | frame.Right:SetHeight(32)
216 |
217 | -- Target-Of Text
218 | frame.TargetText = frame:CreateFontString(nil, "OVERLAY")
219 | frame.TargetText:SetFont(font, 8, "OUTLINE")
220 | --frame.TargetText:SetShadowOffset(1, -1)
221 | --frame.TargetText:SetShadowColor(0,0,0,1)
222 | frame.TargetText:SetWidth(50)
223 | frame.TargetText:SetHeight(15)
224 | --[[ Text on top
225 | frame.TargetText:SetJustifyH("CENTER")
226 | frame.TargetText:SetPoint("CENTER",frame.Line,"LEFT", -3, 7) -- was y=11
227 | --]]
228 | -- [[ Text on side
229 | frame.TargetText:SetJustifyH("RIGHT")
230 | frame.TargetText:SetPoint("RIGHT",frame.Line,"LEFT", -5, 2)
231 | --]]
232 | -- Mechanics/Setup
233 | frame.FadeLater = FadeLater
234 | frame.FadeTime = 0
235 | frame:Hide()
236 | frame.ThreatMax, frame.ThreatMin, frame.UseRawValues = 1, 0, false
237 |
238 | -- Customization
239 | frame._LowColor = { r = .14, g = .75, b = 1}
240 | frame._TankedColor = { r = 0, g = .9, b = .1}
241 | frame._HighColor = {r = 1, g = .67, b = .14}
242 | frame._ShowTargetOf = true
243 | -- End Custom Code
244 |
245 | -- Required Widget Code
246 | frame.UpdateContext = UpdateWidgetContext
247 | frame.Update = UpdateWidgetTarget
248 | frame._Hide = frame.Hide
249 | frame.Hide = function() ClearWidgetContext(frame); frame:_Hide() end
250 | --if not isEnabled then EnableWatcherFrame(true) end
251 | return frame
252 | end
253 |
254 | NeatPlatesWidgets.CreateThreatLineWidget = CreateWidgetFrame
255 |
256 |
257 |
--------------------------------------------------------------------------------