Updated: 09-02-15 04:47 AM
File Info
Minor patch (6.2.3)
Fury of Hellfire (6.2)
The Adventure Continues (6.1)
Warlords of Draenor (6.0.3)
Warlords of Draenor Pre-Patch (6.0.2)
Updated:09-02-15 04:47 AM
Categories:Beta-version AddOns, Buff, Debuff, Spell, Casting Bars, Cooldowns, Combat Mods, Unit Mods

Aloft  Popular! (More than 5000 hits)

Version: Aloft-6.0.3-2606
by: acapela, Resike

This page is best viewed using the WoWI "default" or "dark" theme. Apologies for any inconvenience.
The following is adapted from the original project description. Disclaimers at the bottom.
This is a BETA release. Seeking assistance with any/all localizations (deDE, esES, frFR, koKR, ruRU, zhCN, zhTW, any/all others).
Aloft is an addon that allows you to customize and enchance how nameplates and nameplate casting bars appear in the game.

As of 2014/11/03, I will be on extended hiatus, possibly never to return. If you wish to take over maintenance of Aloft, please contact me via PM.

The Aloft FAQ is HERE, please review it. (And please feel free to request additional information/clarification.)

NOTE: Keeping track of which versions of WoW are live on which non-North American realms is difficult; please PM me if you end up with an incompatible version, we can probably find something that will work for you.

NOTE: The current production release is Aloft-6.0.1 (Ace3), for WoW 6.0.2+ (Warlords of Draenor, at least prepatched on North American live realms as of 2014/10/14; not compatible with earlier versions of WoW). Aloft-5.2.8 (Ace3) is still available for WoW 5.X. Aloft-4.4.8 (Ace3) is still available for WoW 4.X. Aloft 2.8.3 (Ace2) or later is required for WoW 3.2. Some older versions may or may not still be available; send a PM to Acapela for older versions, and include your email address.

Quick answers to current "problems" (see recent Change Log entries for additional details):
Recent Changes (Aloft 6.0.1):
- fix for cast bar color/border/etc problem
- updated LibBabble-Faction-3.0 to latest/greatest (6.0-release2)
- updated Ace3 to latest/greatest (r1123)

Recent Changes (Aloft 6.0.0):
- ready for WoW 6.X; thanks to everyone who helped test the alpha
- updated TOC to 60000
- fixed spell ID issues in totem and crowd control modules
- fixed cast bar LUA error and configuration mode update issues
- fixed "recently damaged" option in AloftGlow module
- attempt at a fix for flickering duplicate unit name text
- updated Ace3 to latest/greatest (r1118)

Recent Changes (Aloft 5.2.8):
- disabled keybindings during combat
- disabled all combat-related auto-show/hide and auto-motion functionality
- updated Ace3 to latest/greatest (Release-r1109)

Recent Changes (Aloft 5.2.7c):
- fixed a small bug in cast bar cast activity handling
- updated Ace3 to latest/greatest (r1105)

Recent Changes (Aloft 5.2.7b):
- fixed a small bug in cast bar spell icon handling

Recent Changes (Aloft 5.2.7):
- updated Aloft to detect and propagate healthbar "tapped color" of 0x888888 (136/136/136); active on units tapped by others
- updated Aloft to show "default" cast bars on all nameplates (not just target); cast bar functionality is disabled if cast warning functionality is enabled
- made state icon size range larger
- updated Ace3 to latest/greatest (Release-1104)

Recent Changes (Aloft 5.2.6):
- fixed issues with cross realm character "Names (*)", now parsing correctly; be ready for potential issues with duplicate names
- added [IsCross] boolean text tag, for those who want to incorporate some indication of cross-realm in their text/colors
- updated LibBabble-Faction-3.0 to latest/greatest (5.4-release1)
- updated Ace3 to latest/greatest (Release-r1098)

Recent Changes (Aloft 5.2.5):
- updated TOC to 50400

Recent Changes (Aloft 5.2.4):
- updated TOC to 50300
- added scenarios to instance types for auto-show functionality
- all experiments to fix "state icon" alignment on nameplate show failed; replaced "state icon" completely
- updated LibBabble-Faction-3.0 to latest/greatest (5.3-release1)
- updated LibGratuity-3.0 to latest/greatest (r47 apparently just a TOC change)
- updated Ace3 to latest/greatest (r1086; apparently just a TOC change)

Recent Changes (Aloft 5.2.3):
- forgot to add Arena ID module icon background textures to repository! now added...
- applied various small fixes to avoid using Region:Show()/Hide() on sub-elements of the Blizzard nameplate frame assembly, to improve compatibility with "Healers Have to Die"

!!Tag Error!! Problems? Aloft options have disappeared? Aloft Presets not available or not loading properly?

A lot of Aloft functionality is now "dynamic" (not loaded by default). Enable this dynamic Aloft functionality via Aloft's "Modules" options. (See the screen shot of Aloft's options on the WoWInterface page for Aloft.)

!!Tag Error!! Issues: If you have "!!Tag Error!!" problems, either enable modules carefully one at a time until the problem(s) goes away, or (especially for custom text tag configurations) look at the document "AloftTags.rtf" (bundled with Aloft, in .../Interface/AddOns/Aloft/AloftTags.rtf), which details which text tags are supplied by which modules. A more detailed procedure is provided below.

Missing Options: If a module is not enabled, its options will not be present (as if the module was physically absent). If options seem to be missing in Aloft's waterfall, check to see if the associated module is enabled in Aloft's "Modules" options. Enable the module, and its options should appear "on the spot". (Only the AloftLDB module is loaded by default, to save memory.)

Presets: Aloft "dynamic" modules must be enabled before presets can be applied to them, and the "AloftPresets" module itself must be enabled before presets can be used at all. (the AloftPresets module is disabled by default to save memory.) A more detailed procedure is provided below.

!!Tag Error!! procedure, with nameplates displayed/visible:

  • Enable a module (ideally only one, one at a time), as desired
  • Inspect visible nameplates, see if one or more "!!Tag Error!!" problems are gone
  • If not, disable the module again (you probably don't need the module in order to validate a text tag)
  • Continue by enabling another module...
  • When complete, reload your UI
Presets procedure:
  • Enable all modules (or, for experienced users, just desired modules)
  • Enable "AloftPresets" module
  • Select the desired preset
  • Disable undesired modules
  • Disable the "AlotPresets" module
  • Reload your UI (and if it appears you need to engage in "excessive" UI reloading, temporarily disable all other addons except Aloft first)
  • Adjust the appearance of Aloft, in detail via options for enabled modules, as desired
  • (optional) Save your options as a named profile
To "goose" Aloft, try to Force Rebuilding of Text Tags, with nameplates displayed/visible:
  • click on the "Regenerate Text Tags" button/option under Aloft's "Modules" options
  • "cycle" or "bounce" all enemy/friendly nameplates (by disabling/reenabling all visible nameplates via keybindings or Aloft's basic "Show" options at the very top of the options menu)
Rinse/Repeat any/all of the above, as needed, to arrive at the desired configuration.



"/aloft gui"

Direct support for FuBar (here and here) and LibDataBroker-1.1 are incorporated.

Under WoW 3.0.2 and later, Aloft no longer requires (nor can it even benefit from) external libraries for health estimation (i.e. MobHealth3, LibMobHealth-4.0, MobInfo2) or threat (i.e. Threat-2.0)
The customization options in Aloft allow you to change the size, shape, anchors, font, font options, textures and colors of:
1. Name text
2. Level Text
3. Health Bar
4. Mana Bar
5. Cast Bar
6. Spell Icon
7. Boss Icon
8. Raid Icon
9. Mouseover Highlight

Aloft also enhances the display by providing options for:
1. Health text - you can display health percentage, health, or health deficit right on the nameplate
2. Spell name - Aloft will place the spell name right on the casting bar
3. Spell casting timer - Displays the remaining casting time
4. Combo Points/Lacerate/Sunder text - Displayed on current target's nameplate for druids (while in the relevant form), rogues, and warriors
5. Recently Damaged icon - Displays an icon next to any unit that has recently taken damage
6. Finer visibility control - A collection of options that give you specific control over which nameplates are shown - eg. You can hide friendly pets, out-of-guild players, and lots more
7. Guild Text - Show guild information right on the nameplate. Shows abbreviated forms by default.
8. Border and backdrop color
9. Comments - Show "Banker", "Flight Master" and other automatically gathered comments, or your own custom ones right on the nameplate
10. Mana Bar/Text - show group member/pet/summon mana, energy, rage
11. Combat Text - display all damage and healing done to group members or targets right on the plate.
12. Pets Owner's Names
13. Polymorph Timer/Shackle Undead/Banish Timer bars
14. Unit Aliases
15. Class Icons
16. Player Titles (PvP, Reputation, and Achievement titles, segregated by prefix or suffix)
17. Experimental: Target-of-target subsystem; see FAQ
18. Keybindings for toggling enemy nameplates, friendly nameplates, and all nameplates
19. Integrated with SharedMedia (for extra fonts and textures: SharedMedia)

Finally, Aloft (this UPDATED version) provides a full-featured threat indicator capability:
1. Player threat displayed on player target's nameplate (the player has no bar-style nameplate)
2. Group threat (including pets/summons) displayed on group nameplates; see FAQ
3. Threat bar and threat text capabilities
4. Threat bar and threat text can be enabled independently
5. Can be enabled while solo (for pet-owning classes)
6. Control over display colors to indicate common threat and maximum threat thresholds
7. Threat gain threshold display (i.e. omen-style "aggro bar") capability for player threat
8. Threat threshold nameplate "glow" (separate from aggro glow, see below); Threshold can be customized
9. Experiemntal: AOE threat subsystem; threat displayed on hostile nameplates for units other than the player's current/active/primary target; see FAQ

As well, on a related note, Aloft provides:
10. Aggro namplate "glow" (for AOE tanking/etc), replacing the Blizzard native aggro "glow"; Note that aggro glow is completely separate from threat system

NOTE: Aggro nameplate "glow" will only be displayed if the underlying Blizzard "Display->Display Aggro Warning" is enabled for the state you are in (i.e. Always/Party/Instance, etc)
Other threat addons (thanks to their authors for unknowningly providing example code for Aloft's current threat implementation):
Omen3: Omen
IceHUD_Threat (now obsolete; primary target threat is a direct feature of IceHUD): IceHUD, IceHUD_Threat
ZThreatMeter (now apparently obsolete): ZThreatMeter
All of the additional options are written to require no additional overhead if they're not enabled (though they will occupy memory when Aloft is loaded).

Aloft is designed to be easily extensible. All of the functionality is separated into discrete modules which should make it relatively easy for people to tinker with adding their own functionality.

If you want additional texture options, make sure you install SharedMedia. For additional font options, ClearFont2 and its fontpacks provide a number of extra font choices.

Documentation for the text tag format is included with the addon (look at the file AloftTag.rtf). Please also look at CREDITS.txt and CHANGELOG.txt for a history of the project.

Aloft is still (again?) a work in progress. Defect reports, feature requests, and code reviews are welcome.

On behalf of all the original contributors, Acapela hopes you enjoy it.
DISCLAIMER: Acapela is not the original author of this addon. Please refer to README.txt, CREDITS.txt, and CHANGELOG_WOWACE.txt for more information on the history of Aloft.

Aloft has been updated. It would be branded a "fan update" except the original author(s) have long since vanished, and Aloft is in fact being actively maintained, for the forseable future, by Acapela.

Acapela intends to host the addon here at WoWInterface (SVN and distribution).
NOTE: The addon is not maintained by Acapela at either of WoWAce or CurseForge (though earlier/"original" versions are still available there).
The WoWAce revision on which this version is based is r80814 (; this is WAY out of date, now a WoWAce "obsolete" project; the WoWAce version was not transferred to Curse).

Please report all errors as they are discovered (either in the comments for Aloft here on WoWInterface, or via the WoWInterface bug report mechanism), and Acapela will attempt to resolve them and apply a fix.

Acapela will participate in the forum thread for Aloft at WoWInterface (, as well as the commentary associated with the page for the addon itself at WoWInterface.
Acapela will continue to participate in the the original official forum thread at WoWAce (
A private message to "acapela" at WoWInterface will also reach him.

Acapela does not want Aloft to die, so Acapela will make every effort to find someone to take over should he find himself unable to continue with this commitment. If anyone would be interested in participating in development, please contact Acapela.

NOTE: Current users of Aloft should backup/delete their .../Interface/Addons/Aloft folder before installing this version of Aloft.
It would also probably be a good idea, to avoid problems, to backup/delete your .../WTF/Account/<WoWUsername>/SavedVariables/Aloft.lua file as well.
As always, Aloft is free with your materials, but if you want to donate: Click here to lend your support!

- Updated for 6.2.2.
- CVar in-combat action blocked fix.
- Fixed some issues with AutoShow.
- CombatText absorb fix.
- SpellIcon fixes.
- Fixed some leaks.
- Removed old AloftCastWarnings.

- fix for cast bar color/border/etc problem
- updated LibBabble-Faction-3.0 to latest/greatest (6.0-release2)
- updated Ace3 to latest/greatest (r1123)

6.0.0-2587 (WoD)
- ready for WoW 6.X; thanks to everyone who helped test the alpha
- updated TOC to 60000
- fixed spell ID issues in totem and crowd control modules
- fixed cast bar LUA error and configuration mode update issues
- fixed "recently damaged" option in AloftGlow module
- updated Ace3 to latest/greatest (r1118)

- attempt at a fix for flickering duplicate unit name text
- watch for taint errors: /console taintLog 1

- disabled keybindings during combat
- disabled all combat-related auto-show/hide and auto-motion functionality
- updated Ace3 to latest/greatest (Release-r1109)

- fixed a small bug in cast bar cast activity handling
- updated Ace3 to latest/greatest (r1105)

- fixed a small bug in cast bar spell icon handling

- updated Aloft to detect and propagate healthbar "tapped color" of 0x888888 (136/136/136); active on units tapped by others
- updated Aloft to show "default" cast bars on all nameplates (not just target); cast bar functionality is disabled if cast warning functionality is enabled
- made state icon size range larger
- updated Ace3 to latest/greatest (Release-1104)

- fixed issues with cross realm character "Names (*)", now parsing correctly; be ready for potential issues with duplicate names
- added [IsCross] boolean text tag, for those who want to incorporate some indication of cross-realm in their text
- updated LibBabble-Faction-3.0 to latest/greatest (5.4-release1)
- updated Ace3 to latest/greatest (Release-r1098)

- updated TOC to 50400

- updated TOC to 50300
- added scenarios to instance types for auto-show functionality
- all experiments to fix "state icon" alignment on nameplate show failed; replaced "state icon" completely
- updated LibBabble-Faction-3.0 to latest/greatest (5.3-release1)
- updated LibGratuity-3.0 to latest/greatest (r47 apparently just a TOC change)
- updated Ace3 to latest/greatest (r1086; apparently just a TOC change)

- forgot to add Arena ID module icon background textures to repository! now added...
- applied various small fixes to avoid using Region:Show()/Hide() on sub-elements of the Blizzard nameplate frame assembly, to improve compatibility with "Healers Have to Die"

- updated TOC to 50200
- fixed problem with target tracking that was preventing player target spell interrupt/cancel from showing properly via AloftCastWarning module
- enhanced AloftVisibility module to explicitly "Region:Hide()" added UI widgets, when nameplate proper is being selectively hidden (possibly via "UIObject:SetAlpha(0)")
- exposed added element explicit "Region:Hide()" functionality as an option; "Visibility>Hide Added Elements" (default true/enabled)
- updated Ace3 to latest/greatest (r1084)
- updated LibBabble-Faction-3.0 to latest/greatest (5.2-release2)
- updated LibGratuity-3.0 to latest/greatest (r46)
- updated LibSharedMedia-3.0 to latest/greatest (5.2.0)

- tweaked ArenaID module to come up enabled, when enabled as a module
- updated Ace3 to latest/greatest (r1076); AceTimer-3.0 is massively reworked, please watch for artifacts (could manifest as almost anything)

- added new ArenaID module; it is completely disabled by default, so it must be enabled as a module, and then enabled within its own options in the Aloft menu
(thanks to dyrtnap for the feature request; feature inspired by

- added new [IsTappedVisual] tag, as a convenience, to reflect whether Blizzard is showing the "tapped" (original) heath bar color (per discussion with Thortok2000)
- added [TappedColor] tag, to set text to the "tapped color (per discussion with Thortok2000)
- fixed problems with [IsTapped]/[IsTappedByPlayer]/[IsTappedByAll] tags not reporting module source correctly (reported by Thortok2000); NOTE: tags for player target ONLY
- fixed problems with unit name colors/options on "tapped" units (reported by Thortok2000)
- fixed typo/missing code resulting in missing nameplate frame background texture
- found workaround for mouseover highlight; looks like a Blizzard glitch (thanks, danltiger); NOTE: the highlight color alpha can already be tweaked for overlay effect
- dimensioned nameplate "subframe" to match overall nameplate frame, and both nameplate frame and subframe use packing dimensions;
seems to help significantly with mouse sensitivity (for click-targeting and tooltip; the whole subframe area responds to mouse)
- verified: packing dimensions (under "Frame" options) ***DO*** affect nameplate spacing, at least for stacked nameplates... but not instantly (it takes some panning/tilting and/or nameplate recycling)

- updated TOC to 50100
- re-implemented to force ShowClassColorInNameplate CVAR on at start, and warn user when it is disabled
- added "tapped" as a basic unit type (based on Blizzard nameplate color); options for tapped units under "Health Bar>Colors", "Frame>Background>Background Colors", and "Visibility"
- NOTE: determining actual basic unit type (i.e. friendly NPC vs. hostile NPC, etc) via Blizzard nameplate color is no longer possible for visibly tapped units
(i.e. when showing nameplate color change); will work on mouseover capabilities to augment/override this
- added [IsTapped], [IsTappedByPlayer], and [IsTappedByAll] boolean tags, using Blizzard unitid-based API functions, active for the player's current target (if nameplate is visible)
- updated Ace3 to latest/greatest (r1068)

- fixed some problems in cross-realm player title processing, refined cross-realm pattern matching

- updated to conform to WoW 5.1 (Blizzard scrambled the nameplate assembly); this version of Aloft is now incompatible with earlier versions of WoW
- updated diagnostic subsystem that dumps nameplate assembly, to speed this conformation process up next time
- updated to parse player titles for cross-realm player units (note: cross realm data cannot be cached, cross-realm player titles are lost when nameplate goes out of range/etc)
- updated modulo 256 color arithmetic everywhere (stupid cleanup issue)
- updated LibBabble-Faction-3.0 to latest/greatest (5.0-release14)

- known problem: very occasional problems with nameplate initialization (name "[invalid]", malformed health bars)
- known problem: occasional glitches with cross-realm titles (extraneous "-" showing in names, suffixes become prefixes, etc)
- these problems may already be dealt with, but please help watch for them and feel free to report

5.0.4-0000 (unreleased)
- added Spirit Link Totem (98008) and Mana Tide Totem (16190) to totem configuration (reported by Immu)
- updated LibBabble-Faction-3.0 to latest/greatest (5.0-release8)
- updated Ace3 to latest/greatest (r1066)

- modified to get rid of SHOW_CLASS_COLOR_IN_V_KEY console variable processing (enabling class colors on hostile PC nameplates is now the only available behavior)
- implemented more stringent cleanup of nameplate "isPlayer" flag (thanks to Thortok2000)
- please help watch for problems related to proper identification of PC nameplates based on nameplate color
- updated LibBabble-Faction-3.0 to latest/greatest (5.0-release5)
- updated Ace3 to latest/greatest (r1066)

5.0.2-2428 (Mists of Pandaria)
- simplfied a few aspects of cast warning processing, got rid of some problems along the way

5.0.1-2418 (Mists of Pandaria Beta)
- enhanced to cover monk/brewmaster tanking
- added a check to avoid divide-by-zero problems in the stacked points (combo points/etc) module
- fixed some divide-by-zero problems in threat management (the MoP threat system seems to zero out perdiodically, during fights)

5.0.0-2404 (Mists of Pandaria Beta)
- changed GetNumRaidMembers() to GetNumGroupMembers()
- changed GetNumPartyMembers() to GetNumSubgroupMembers()
- changed (MiniMapBattlefieldFrame.status == "active") effectively to (select(IsInInstance(), 2) == "pvp")
- updated Shaman totem manifest and spell IDs
- added Monk class color (0x00ff96), class name, and associated options, to code and documentation
- added Pandaren race short form
- verified crowd control spell IDs, added Shaman "Bind Elemental" to crowd control spell IDs
- no changes to Aloft related to GetGuildRosterInfo() (Aloft doesn't use all the arguments), or UnitIsGroupLeader() (Aloft previously updated away from deprecated functions)
- no apparent changes related to GetBattlefieldScore()/GetWhoInfo()/GetFriendInfo()

4.4.9-0000 (unreleased)
- updated the cast warning module to detect animation update interval of 0 and use OnUpdate directly, instead of AceTimer-3.0 (seemns marginally faster/smoother)
- updated LibBabble-Faction-3.0 to latest/greatest (5.0-release1)
- updated Ace3 to latest/greatest (r1061)

- enhanced Cast Warning module to allow the user to select whether or not to show spell school colors
- enhanced Cast Warning module to allow the user to select the bar animation update rate
- updated LibBabbleFaction-3.0 to latest/greatest (4.3-release13)
- updated Ace3 to latest/greatest (r1049)

- attempted a fix for the nameplate frame "malformed border" problem (reported privately by wingsofscion)
- attempted the same "malformed border" fix for mana bar and threat bar (seems to be working a bit better than the old fix)
- tuned layering of nameplate text (specifically unit name and level fields) (in response to a problem reported privately by wingsofscion)
- attempted a fix for some problems with Aloft not correctly setting cast bar background colors (reported by Deadlyz)
- enhanced to use localized spell name in all calls to UnitAura() (reported by CanRanBan)
- updated option menu tooltext in most locales to reflect that DKs now tank in blood presence
- enhanced to allow cast warning bar to replace normal target nameplate cast bar (originally requested by Deadlyz); look at "Cast Warning>Override" option
- updated Ace3 to latest/greatest (r1048)

- fixed typo in "Data Options" for class data; should be able to disable retention of class data now
- updated LibBabble-Faction-3.0 to latest/greatest (4.3-release5)

- attempted a fix to the "missing cast bar" problem; please help test
- updated LibBabble-Faction-3.0 to latest/greatest (4.3-release2)
- update Ace3 to latest/greatest (r1045)

- updated LibBabble-Faction-3.0 to latest/greatest (4.3-release1)
- update Ace3 to latest/greatest (r1044)

- updated TOC to 40300 (WoW 4.3)

- AloftCastWarning spellId database is now a "global" (whole account) structure, rather than per-realm
- merged in zhTW localization contributed by WoWInterface user aa9012456
- fixed a few small intermittent LUA errors triggered during module enable
- updated LibBabbleFaction-3.0 to latest/greatest (4.2-release16)
- updated Ace3 to latest/greatest (r1039)

- fixed problem wih TagCompiler-2.0 (that was introduced in Aloft-4.3.6)
- fixed (subtle) problem with class colors in name text; please watch for side-effects (related to text tags)
- updated LibBabble-Faction-3.0 to latest/greatest (4.2-release1)
- updated Ace3 to latest/greatest (1035)

- updated to new WoW 4.2 COMBAT_LOG_EVENT_UNFILTERED event format

- added [GroupTargetGUIDCount] tag, to provide an accurate group target count on the player's current target, verified by target GUID
- fixed a small problem in TagCompiler-2.0 (please help watch for side effects in text tag handling)
- updated Ace3 to latest/greatest (r1029)

- implemented "class" icons on totem nameplates (using spell icons controlled via the AloftClassIcon module).
- enhanced to allow the user to select whether cast/threat bars should be updated "incrementally" (for those not experiencing "malformed borders")
- adjusted usage of PlaceFrame() to facilitate interactive changes to text element typefaces
- fixed typo in AloftVisibilityLocale "ruRU" localization (reported by d07.RiV)
- increased frame delay slightly on frame initialiation, to facilitate PlateBuffs placement (still seeing a few placement artifacts)

- added a check to AloftRoster UNIT_PET handling, to filter out hostile unitids ("boss[1-4]")
- beefed up name initialization (trying to fix the "no unit name" problem)
- refactored nameplate OnShow/OnUpdate processing, to insure that the Aloft:OnNameplateShow internal event is propagated correctly (trying to fix the "no unit name" problem)
- thanks to Decabah for sharing his/her Aloft shared variables file

TODO: comment out diagnostics in Aloft.lua

- fixed another problem with non-enUS localizations, in .../Aloft/Aloft/AloftThreatLocale.lua (reported by soso15)
- fixed a problem with AloftRoster trying to access old Ace2 error reporting infrastructure (reported by Myster)
- updated Ace3 to latest/greatest (r1028)

- routed all cast bar progress through the same processing (involving UnitCastingInfo()/UnitChannelInfo(); still TODO: try restoring the Blizzard cast bar
- fixed a problem preventing the cast bar spell icon from showing in configuration mode
- refactored AloftCastWarning subsystem heavily to regain cast warning bar correctly on target changes
- refactored AloftCastWarning subsystem to handle channeled spell event stream and progress timing correctly; looks like the Blizzard event stream may have changed slightly
- fixed a problem with non-enUS localizations, in .../Aloft/Aloft/AloftLocale.lua, that was preventing Aloft's configuration menu system from loading (reported by StingerSoft and numerous others)
- updated LibBabbleFaction-3.0 to latest/greatest (4.1-release1)
- updated Ace3 to latest/greatest (Release-r1025)

- please help watch for glitches in the AloftCastWarning subsystem

TODO: looks like target switching during casts can end up "recreating" the cast from the beginning, in a bogus fashion; some sort of race condition
appears to be rare, difficult to reproduce

- added a frame delay to nameplate level initialization
- increased frame delay slightly on state icon initialization (state icon may be reanchored after OnShow)
- explicitly nullified frame level for bosses (with "bosses", Blizzard simply hides the underlying default nameplate level text region, and its content may be randomly initialized, or never initialized)
- updated to Ace3 latest/greatest (r1023)

- updated nameplate frame assembly detection to the new WoW 4.1 structure
- implemented WoW 4.1 COMBAT_LOG_EVENT_UNFILTERED change (new parameter to the event)
- updated Auto Show modules to use Blizzard's new nameplate "overlap" system; now known as the nameplate "motion" subsystem
- please reconfigure your relevant AutoShow/Motion options (when no motion is applied: equivalent to Blizzard "Overlap" setting)

- added an [IsElite] tag, based on visibility of state icon graphics on nameplates (does not require mouseover); this is in addition to the [Classification] text tag
- fixed a problem related to level text appearing spuriously on "bosses" (which should have no detectable level, from the player's perspective)
- enhanced Cast Bar module to poll regularly, via UnitCastingInfo()/UnitChannelInfo(), for remaining time on spell cast, to animate the cast bar more smoothly

- added a call to AceConfigRegistry:NotifyChange() to CVAR_UPDATE event processing
- added an additional sampling timer to the Cast Bar module, to try to smooth out cast bar progress
- fixed interaction between Cast Bar module options and Blizzard standard "Combat>Cast Bars>On Nameplates" interface option

- took advantage of spellId argument to UNIT_SPELLCAST_* events (simplifies the way AloftCastWarning tracks spells)
- attempted a fix to a problem in which targeting out-of-range units highlights visible/in-range non-targets with the same unit name; please watch for side-effects/problems related to targeting
- updated Ace3 to the latest/greatest (r1022)

- cleaned up some problems in the Mana Bar module that caused power bars (mana/focus/etc) to remain behind on target change
- fixed a (apparently really old) problem resulting in visible nameplates being confused for player pet nameplates (and incorrectly acquiring power bars)

- replaced options/logic for AutoShow/Overlap: now known as nameplate "AutoShow/Spread"; "Spread" is enabled by default (just as "Overlap" was disabled by default)
- please reconfigure your relevant AutoShow/Spread options
- fixed a race condition between inflicting crowd control and entering combat that was prematurely cancelling crowd control timers
- very small tweak to target cast bar handling, hoping to minimize lag between spell cast/channel start and cast bar visibility (might have no effect)
- fixed a LUA error related to the global nameplate "update interval"
- made a few small adjustments to the "Acapela" preset

- fixed a race condition between appearance of target cast bars and spell interrupts (first reported by Immu)
- fixed interaction between Aloft options and Blizzard standard "Combat>Cast Bars>On Nameplates" option
- attempted to fix problems related to pieces of target cast bar showing spuriously ("hide" using alpha, etc); works for me, YMMV; thanks to all who reported (Velya/soxism/etc)

- implemented a locale-independent mechanism for totem visibility and color exceptions (thanks to suicidalkatt/danltiger and TidyPlates_ThreatPlates for the idea)
- simplified Visibility unit name lookup
- jumped through some frame-delay hoops to hide the threat bar; seems to have corrected the graphics artifacts i was seeing
- replaced the target cast bar spell icon (on the assumption that Blizzard is redundantly re-initializing it and causing placement problems)
- changed target cast bar no-interrupt "shield" graphics to come from SharedMeda; registered Aloft's art (square/circle) and Blizzard shield art (from MPQ) with SharedMedia at startup
- added some features to detect the end of target spell-cast activity, to insure cast bar is hidden properly
- bloodworms and trap snakes still need some translations (koKR, zhCN, zhTW)
- fixed an intermittent LUA error related to level text (thanks to xthothx/hiztory)
- updated hooking to conform to Ace3 conventions (raw- versus pre-hooking; something i missed, from way back?)
- updated to get/set Blizzard CVars properly

- fixed problems with "Visibility>Hide Unit Names" options (reported by akgis)
- modified to fully replace Blizzard default unit name text region (so that downstream addons can operate on the original text w/o encumbrance from Aloft customization)
- modified to fully replace the Blizzard default level text region (so that downstream addons can operate on the original text w/o encumbrance from Aloft customization)
- "recently damaged" detection is now part of the name text module (as always, triggered by changes to unit name text color, just now handled in a different place)
- cleaned up a few side effects to the cast bar target switching fix (from Aloft-4.1.3); added some "malformed border" handling to (try to) clean up some occasional graphical artifacts
- some code cleanup (got rid of some redundant files, commented out some diagnostics, etc)
- updated to latest/greatest LibBabble-Faction-3.0 (4.0-release18)
- updated Ace3 to latest/greatest (r1009)

- merged AloftCastWarning into Aloft proper (AloftCastWarning can now be uninstalled)

- updated to latest/greatest Ace3 (r999)

- separated options menu and all its text strings out into a dedicated "options" addon (enable addon AloftOptions, loads on demand)

- isolated some of the target cast bar problems to target switching, applied fix
- fixed a LUA error in threat bar processing, related to most recent threat bar tuning
- added an "enable horizontal tiling" user option to health bar
- updated to latest/greatest LibBabble-Faction-3.0 (release10)

- fixed typo in AloftCastBar module that was preventing proper differentiation of border/bar/etc textures/colors based on interrupt/nointerrupt
- more tuning of the threat bar, to hide it properly when the target changes/etc

- implemented a comprehensive configuration "preview" system (option under top-level "Aloft" menu)
- beefed up validity checks for "AutoShow" module options (try to preclude access to options when AutoShow module is not enabled)
- changed default value of "bloattest" option to "false" (i.e. disabled)
- fixed a problem preventing level text from updating its position in "real-time" when configuration options are adjusted (reported by BuGi/admet)
- added the UNIT_LEVEL event to the level text module, so that pets/etc will update when they level-up
- fixed problems with annoying flashing of threat bar and nameplate glow (threat bar was an artifact of the "malformed border" issues)
- updated to latest/greatest LibBabble-Faction-3.0 (4.0-release9)
- updated to latest/greatest Ace3 (r998)

- enhanced combat text module to parse and tease unit names apart from realm names when watching the combat log (in BGs/etc), for nameplate matching purposes
- added "refinements" to workaround for malformed "frame" border graphics; doesn't seem to hurt anything
- implemented an attempt to workaround problems with malformed threat bar border graphics (again, only partially successful)
- beefed-up enable/disable checks in threat text options (try to preclude access to options when AloftThreat module is not enabled)
- fixed some problems with mis-coloration of "exception" totem nameplates
- updated to latest/greatest LibBabble-Faction-3.0 (4.0-release5)
- updated to latest/greatest Ace3 (r991)

- implemented an attempt to fix problems with malformed "frame" border graphics (only affects "frame" border graphics); blech
- fixed some typos in class data updates, discovered in the process of inspecting code related to "frame" border graphics problems
- updated to latest/greatest LibSharedMedia-3.0 (r4); no apparent functional changes

- fixed a typo in Nameplate Glow module, to correct mis-placement of nameplate glow (reported by user eternityshard and others)
- fixed a similar typo in the Threat module, related to placement of "flash" graphics
- added frame-delay to State Icon initialization, to make sure placement works (more?) correctly
- fixed typo in koKR localization (caught by user wdlee91)

- added an option to control "bloattest" (enables/disables on the spot, as well as at startup); in base "Aloft" options
- updated embedded LibSharedMedia-3.0 to latest/greatest (r62)
- updated embedded LibBabble-Faction-3.0 to latest/greatest (4.0-release2)
- updated embedded Libgratuity-3.0 to latest/greatest (r42)
- updated embedded Ace3 to latest/greatest (release-981)

- updated AloftMana module to use UNIT_POWER event (instead of separate power type-specific events)
- updated AloftMana module to use UnitPower/UnitPowerMax API (instead of UnitMana/UnitManaMax)
- fixed a few bugs, and applied a few workarounds, related to layout of level text and state icon
- attempted fix for Maldazzar's nameplate text wrapping problem (not expected to work, but i am only guessing; i just can't reproduce this problem)
- updated nameplate glow "tanking" state check to include DK blood presence (the new dedicated tanking "stance"), instead of frost presence

- updated AloftStackedPointsText module with correct/current sunder/lacerate spellids
- added the CVar equivalent of "/console bloattest 1" to Aloft startup, as temporary workaround to Blizzard nameplate bug
- fixed a problem with right-clicking the configuration dialog via the AloftFu module (some sort of right-click synergy with AceConfigDialog-3.0, affected FuBar panel and minimap button)
- updated embedded Ace3 to latest/greatest (r973)

- converted nameplate overlap automation (AutoShow module) to use new "/console spreadnameplates 0/1" mechanism
- updated race and class data gathering to conform to Cataclysm version of GetBattlefieldScore()
- updated with abbreviations/etc for new Cataclysm Worgen/Goblin races
- updated CrowdControl module with new Cataclysm spellids
- updated embedded LibBabble-Faction-3.0 to latest/greatest (r4.0-release1)
- updated embedded Ace3 to latest/greatest (r970)

- fixed problem with "[IsTarget]" identification that was causing all visible nameplates to have "target only" border graphics
- there will remain an unavoidable/unfixable problem with AloftAlpha and "target alpha" settings other than 1.0 (will not be able to find target nameplate)
- at this point, i am assuming the #132 crash issue is "resolved" (at least, not reliably caused by Aloft)

- implemented "current target" exception under "Visibility" options; always shows current target nameplate; overrides other visibility options (enable nameplates in auto-show/keybinding sense, and then hide using "Visibility" options); AloftAlpha module MUST be enabled
- enhanced all borders to expose edgeSize (thickness) and inset (padding) as user options
- combined old HealthBar and HealthBarDeficit modules into one module (always load, not optional); disabled old HealthBarDeficit module
- locale "frFR" totem names (for visibility and [IsTotem] tag) contributed by Anaya
- updated embedded Ace3 to latest/greatest (r958)
- please keep watching for #132 crashes

- enhanced to embed "glow" textures (used for both "Nameplate Glow" and "Threat Bar>Threat Flash") in SharedMedia; media class "glow"; users should now be able to create/add/use their own glow textures via SharedMedia
- added an "NPC faction" subsystem; optional module "AloftFaction" (default disabled) and text tag "[Faction]"; NPCs only; updated the "Acapela" preset to incorporate "[Faction]" into the Guild Text field
- embedded the latest/greatest LibBabble-Faction-3.0 (release13), as a means of verifying that tooltip faction data is actually faction data (not reaction type data, threat data, gathering data, etc)
- NPC "Faction" feature will only work in "enUS" local (Aloft needs to locate the "Level" text in unit tooltips, as the first step in locating/identifying NPC factions)
- fixed a bug in AloftRaceData (apparently GetBattlefieldScore() can occasionally return a nil name)
- updated embedded Ace3 to latest/greatest (r938)
- please keep watching for #132 crashes

NOT DONE: - backed out last remaining OnHide processing changes; Aloft now does nothing to clean up nameplate borders when a nameplate is hidden; nameplates may show borders incorrectly when they first appear
- actually restored an earlier implementation of OnHide changes, needs testing

- fixed an intermittent problem with unit classification data not updating properly (no, Raz is NOT crazy :-)
- added checks to "[HealthBarColor]" and "[OriginalHealthBarColor]" tags to make sure nameplate health bar color data is available before attempting to process the tag (avoids LUA error)
- simplified/fixed "Visibility>Show Hostile Totems..." menu options; should now leave the exception colors available for configuration, even when showing all hostile totems/etc
- simplified nameplate OnHide processing a little further (experienced a suspicious #132 crash, so this problem may still not be 100% fixed)
- updated to latest/greatest version of Ace3 (r921)

- simplified nameplate OnHide processing; setting backdrop/border alpha to zero (0), but leaving the actual border in place; this seems to affect the #132 crash problem? please test (enable borders again, etc)
- switched to using "CancelAllTimers()" in crowd control and combat text modules; this will (hopefully) prevent stale timers from piling up; please continue to report any "Timers" messages from Aloft
- refactored combat text module to explicitly force all swing (white) damage to print in the default text color (default white), regardless of actual damage school
- some swing (white) damage is verifiably non-physical, so disabled diagnostic in combat text module
- fixed "Report Status Changes" options so that they would appear in the Aloft configuration dialog
- exposed proactive initialization polling interval to user as an option (for grabbing new nameplates out of WorldFrame children as "soon as possible"); under "Aloft>Nameplate Initialization Interval", please use cautiously
- associated with proactive initialization polling: attempted to shorted the delay with which nameplate health bar colors are updated when nameplates become visible
- fixed various typos scattered around the code: frame "Unknown" color options, health bar "Unknown" color options, player title data save options, crowd control options, deficit health bar
- reworked various data recording functions (options generally under "Data Options"; guild, title, class, classification, creature type, comment, etc); they were saving data to saved variables when they should not have been

- added "comprehensive" checks to Aloft's options menus to insure that the associated module is enabled before updating options; hopefully will help fix some of Thortok2000's LUA errors
- fixed various typos in the AloftPlayerTitle module that were preventing data gathering, preventing saved variables from working properly, causing LUA errors, etc; another one of Thortok2000's reported problems
- fixed a small problem in the AloftGuild module (similar to one of the problems in the AloftPlayerTitle module)
- added some checks to (try to) avoid dereferencing nil during module enable/load (AloftAutoShow and AloftVisibility modules)
- added a check to flag "Totem of Wrath" correctly, as a totem (thanks to DoubleTake)

- initial "production" Ace3 release; functionally identical to Aloft-2.8.16
- NOT COMPATIBLE with versions of AloftCastWarning before 1.0.0
- the file manifest has changed with this version; please remove any older/existing version of Aloft before installing this; your saved variables should be OK
- if Aloft was your only addon that used Ace2, then with Aloft-3.1.0 and later, you should be able to uninstall Ace2

- AloftCastWarning: made the code related to hiding cast warnings for players/friendlies more robust (cast warnings were failing to show on hostiles unless friendlies were also enabled)
- addressed a whole bunch of little target cast bar layering issues related to showing/hiding nameplates quickly while the target cast bar is visible (hopefully no side-effects)
- target cast bar layering has changed subtly, under the covers; let me know if this causes problems for your particular layout (please include a screen shot, and be specific about what you don't like)
- enhanced to check for no-interrupt flags on spells more carefully/regularly; this should result in fewer false-positive shield graphics on target cast bar and cast warning bar (hopefully no side-effects)
- fixed a typo related to target nameplate detection down inside the AloftThreat module (hopefully no side-effects)

- increased the prejudice with which cast bar/cast warning spell icon and "no-interrupt" graphics are hidden (reported by Raz/sivlah)
- (hopefully) fixed the LUA error with deficit frame initialization (reported by Tomacco_Boy)

- fixed a problem with mouseover highlight textures (profound thanks to LiNK2088 for isolating this)
- fixed various problems with selective disable of cast bar/elements, and cast warning bar/elements

- fixed the LUA errors related to the health bar (i.e. AloftDeficitHealthBar line 133 errors)
- fixed multiple/redundant startup messages
- fixed some typos in options (startup message enable, cast bar no-interrupt texture specification, auto-show overlap control)
- cleaned up a situation in which procced aura loss/gain (and irrelevant auras in general) was causing nameplate glows to flicker continuously
- completely replaced the Blizzard cast bar
- AloftCastWarning: replaced the cast warning bar (with a construct similar to the new Aloft cast bar), and got AloftCastWarning to synergize with the Aloft cast bar on target nameplates
- updated embedded libraries with the latest/greatest version of Ace3
- actually did some testing this time :) hopefully this will work better for all of you

- made AloftDeficitHealthBar an "always load" module

- substitute Aloft's own health bar (overloading deficit frame); to address status bar texture tile/clip problems in WoW 3.3.3

- beefed up handling of crowd control Ace3 timer processing some more, to try to avoid leaving orphaned crowd control timers behind; please watch for notifications about how many timers Aloft has open
- "enUS" locale only: added a check for "<Player>'s Guardian" in tooltips, since shaman elementals/etc are listed as "guardians" in their tooltips; help watch for possible artifacts (i.e. conflicts with assigned quest NPCs/guardians, etc)
- beefed up unitid<>GUID target tracking, in an attempt to improve AloftCastWarning operation in arenas; please continue to report problems

- beefed up unitid<>GUID target tracking, in an attempt to improve AloftCastWarning operation in arenas; continue to report problems
- apparently not released; meant to, but did not get to it

- the AloftCrowdControl module was orphaning timers; timers are now terminated before a new one is created; thanks to Freyr
- fixed some typos in timer cancellation in the AloftCastWarning addon; simple error due to porting from Ace2 to Ace3; thanks to Limb0
- fixed typo in AloftAutoShow overlap bounce option processing
- enhanced the "Acapela" presets: reverted to default packing heights and frame vertical offsets, changed AutoShow settings, changed borders, changed glow colors and settings

- initial release

- fixed an intermittent LUA error in health bar initialization

- substitute Aloft's own health bar (overloading deficit frame); to address status bar texture tile/clip problems in WoW 3.3.3
- made AloftHealthBarDeficit an "always load" module.

- tried to fix a few problems related to text tags, concatenating opposing conditions, and "attempt to concatenate boolean value" errors; those of you with a lot of custom tags, please report any problems
- added a "[Type]" text tag; returns a string, see AloftTags.rtf
- added an "[IsPlayer]" text tag; returns a boolean (LUA-style, true/not-nil or nol), whether unit is/is-not a friendly player or hostile flagged player
- added an option to "bounce" (toggle) nameplates when AloftAutoShow changes nameplate overlap settings automatically (disabled by default; option under "Overlap Name Plates" options)
- applied a fix to SetFrameLevel() processing to prevent the value from going out of range (AloftFrame.lua line 296 error/etc)
- validated with WoW 3.3.2-11403 (02-Feb-2010 in north america)

- adjusted all frame levels, now relative against the underlying nameplate frame
- applied a blend mode on all texture regions (including backdrops) to "improve" behavior of UI object layering
- latest/greatest CallbackHandler-1.0 (from Ace3)

- fixed tooltip scraping to locate unit comments and pet owner's names correctly
- fixed problem with target tracking that had broken AloftCastWarning
- attempted fix to LUA recursive loop when encountering "Unknown" units (for those of you who actually encounter "Unknown" units, please help test)

- intended for WoW 3.3 only; WoW 3.1/3.2 users, please continue using earlier versions
- adjusted tooltip scraping to account for the faction level that now appears on line 2 of all tooltips; not exhaustively tested, watch for bugs
- moved show/hide options entirely to "AloftAutoShow" module (Blizzard offers these as standard UI options in WoW 3.3); these are no longer available through Aloft except via the "AloftAutoShow" module
- enhanced the "AloftAutoShow" options to offer automated control over all the new Blizzard nameplate options (WoW 3.3); includes nameplate overlap; this causes a SavedVariables change, please reconfigure all profiles and watch out for crashes
- enhanced cast bar spell icon processing to explicitly show/hide the icon when the UI shows/hides the cast bar (attempted workaround for Zukuu's problem)
- expanded attempts to handle "Unknown" units, including applying a nameplate health bar color (user options, under "Health Bar>Colors>Unknown" and "Frame>Background>Colors>Unknown"); these changes are untested, and will only work in "enUS" locale
- changed default setting for "Nameplate Glow>Threat Status Colors>Low Threat" from "red" to "green" (to differentiate from Blizzard threat colors)
- updated Acapela preset with new auto-show options

- Aloft no longer disables the mouse for "hidden" nameplates; too many unintended side-effects when the WoW client recycles nameplates

- enhanced Aloft to switch "hidden" nameplates over from zero (0) alpha to "hidden", when combat ends; changed associated Aloft "Visibility" option to "Use Nameplate Alpha In Combat"
- enhanced Aloft to disable the mouse on "hidden" nameplates, when combat ends (works intermittently)
- attempted to apply some fixes (in a few selected places in Aloft) to disable data-gathering on "Unknown" units, as well as updating formerly "Unknown" units when they become known; needs testing (i cannot reproduce these issues)
- switched Aloft's Combat Text module over to use COMBAT_LOG_* events (as opposed to the UNIT_COMBAT event), which allows Aloft to track combat log activity based on UnitGUID, and display combat text on "identifiable" non-target/non-group nameplates (with the usual limitations: unit name must be unique, or the unit must have a raid target assignment, etc)
- added new options to Aloft's Combat Text module to allow additional filtration of combat text display
- aligned the spell school colors used by Aloft's Combat Text module more closely with Blizzard's standard combat log spell colors; please help test to insure that "white damage" actually displays as "white" (or whatever color you have "Combat Text>Colors>Text" set to)
- fixed a defect in UnitID data gathering that was causing group UnitIDs to be updated redundantly
- nameplate glows now recognize changes to stance/form/presence/aura, and update all visible nameplates accordingly, even in combat
- separated Nameplate Glow "invert" logic from Nameplate Glow "explicit low threat" logic, so that they work independently; those of you who "invert" nameplate glows, please help test and tell me if this works "better"
- made the use of "recently damaged" a user option under Nameplate Glow (defaults to false); "recently damaged" is not a generic "in combat" indicator, it really does indicate "recently damaged" (i.e. damaged in what looks like the past 5 seconds); dunno if this is a recent Blizzard change, or if i was confused all along
- updated "Acapela" preset with small changes to alpha settings
- added a visibility filter capability based on unit name (finally identified an "efficient" way to do it); build/maintain your own list of "invisible"/"hidden" unit names, under Aloft's "Visibility>Unit Name" options

- added option to AloftVisibility to use nameplate alpha instead of Region:Hide() to "hide" individual nameplates; requires the AloftAlpha module to be enabled
- added 'deDE' localization for totem visibility/color exception mechanism (does not affect the options menu, just the ability to detect totem/etc unit names); needs testing

- fixed issues with nameplate color updates in PvP (seems to be working correctly now; thanks to Zukuu and Maldazzar for their help with testing)
- added "explicit low threat indicator only in combat" option to "Nameplate Glow"; shows an explicit low threat/no threat glow when both player and target are in combat (still no glow when target is not in combat; turn this option off to obtain that)
- added "invert only when tanking" option to "Nameplate Glow" (requested by user "jtbalogh"; turns "invert" on only when tanking; requires "Invert" option, plus Warrior/Defensive Stance, DeathKnight/Frost Presence, Druid/Bear, or Paladin/Righteous Fury)
- incorporated [Truncate] text tag (requested by user "EmpireDawn"); see Aloft front page or Acapela's FAQ for documentation
- added Cleansing Totem to list of totem exceptions (under "Visibility")
- added Mana Tide Totem to list of totem exceptions (under "Visibility"); yes, all totems will eventually be incorporated
- fixed a few defects in totem visibility/color exception processing (Aloft was occasionally confusing totems with pets, which they are in effect, but Aloft still needs to treat them differently)
- updated ruRU locale, courtesy of StingerSoft
- updated to latest/greatest Ace2 (apparently fixes a rare bug in AceEvent-2.0)

- put the more complex workaround back in for "giant cast bar" syndrome and "reappearing spell icon" syndrome; looks like this will have to be done the hard way
- added checks for the availability of the "GetTotemExceptionColor()" function; it is part of an optional module, its absence should result in default behavior
- added some frame-delay processing to totem nameplate hiding (which still cannot occur during combat) and exception color application; mechanism operates more reliably now

- simplified the workaround to "giant cast bar" syndrome, applied a similar mechanism to work around "unwanted disabled cast bar spell icon" syndrome
- implemented an exception mechanism for showing hostile totems of "PvP significance"; mechanism allows individual visibility control over hostile tremor, grounding, and earthbind totems (currently for the enUS locale only), and health bar color customization for those totems

- replaced Blizzard "shield" graphics for uninterruptable spells with a graphic over the cast bar spell icon (look at "Cast Bar>Spell Icon>Shield" options)
- added features to detect and change cast bar color/texture/border on uninterruptable spell casts, provide separate cast bar options for interruptable/uninterruptable spells
- enhanced to work around "giant cast bar" pathology by resetting cast bar size/placement at regular intervals when cast bar is visible
- fixed glitch in update of recently damaged icon when its options are changed
- updated with most recent Shaman class color
- added DK bloodworm nameplates to totem/snake control

- got rid of cast bar "shield" graphics, during nameplate initialization
- switched to using the Blizzard TexCoords array for class icon art from FrameXML/Constants.lua
- eliminated LibBabble-Class-3.0; replaced with localized class name data from FrameXML/Constants.lua

- fixed problem wil cast bar spell icon (was using the incorrect texture region as supplied by Blizzard in their nameplate assembly)
- attempted to fix some formatting in AloftTags.rtf

- updated TOC for WoW 3.2
- updated (again) for WoW 3.2 to detect/handle some intermittent additional tooltip data, so that NPC "[Comment]" and "[PetOwnersName]" data is collected properly
- updated crowd control functionality to use a base duration of 10 seconds in PvP, and reduce from that if the actual CC skill used has a shorter duration (Cheap Shot/Kidney Shot); please help test in PvP
- updated crowd control functionality to load at startup for the Shaman class (so that hex timing can actually be used; sorry about that, i don't have a level 80 Shaman yet)
- fixed a defect in target tracking (with group unitids) that was affecting the AloftCastWarning addon
- Blizzard standard "Combat>Class Colors in Nameplates" interface option is forced on at "startup" (game session start, addon enable)
- user is warned when Blizzard standard "Combat>Class Colors in Nameplates" interface option is disabled
- added frame delay to class/guild/race data update
- fixed typo in AloftVisibility module descriptions (as they appear in waterfall tooltips)
- updated documentation on class color configuration option handling in AloftTags.rtf

- adjusted frame level of backdrop frame, and draw layer of backdrop region, to layer with the rest of the nameplate better
- added code to adjust settings of Alpha options to make it difficult to set default and/or non-target alpha to the same values as target alpha
- increased the allowed range of the class icon size option
- added a "PvP" preset that assumes the user wants the "giant class icon over hostile PC targets' heads" look, but retained a few things in vestigal form, like name/level text, and health/mana bars (which the user can disable if desired)
- enhanced Aloft to add an "Empty" bar texture (from Recount) to SharedMedia at startup, to facilitate "disabling" the health bar (since it could be difficult to hide at the API level)
- reorded declaration of Threat module common localization data to try to work around a LUA problem reported by a zhTW user

- fixed TOC typo, now 30100
- adjusted frame level and draw layers of various nameplate assembly elements so that nameplate frame, name text, and level text could remain at their default frame levels w/o layering problems in combat
- updated to detect the 3.2 PTR and handle the changed nameplate frame assembly
- updated to detect the 3.2 PTR and handle the changed tooltip locations for NPC "[Comment]" and "[PetOwnersName]" data (player title and guild data seems to be working)

- updated TOC to interface version 31000
- enhanced extensively to employ a "backdrop frame" with its own color/border capability, for use in laying out "unit frame" style nameplates; refer to Aloft's "Frame" options and the "Unit Frame" preset
- health bar positioning approach has been changed to allow health bar, with its own border/background, to position independently relative to "backdrop frame"; this changes SavedVariables
- all other graphics elements now position (more-or-less) relative to the "backdrop frame", please adjust your layouts
- refactored/enhanced AloftCrowdControl (re)attachment mechanism, including speculative attachment; watch for errors
- added Shaman Hex to AloftCrowdControl
- fixed problem with class color update when unit with visible nameplate joins a group
- fixed bugs in AloftCombatText color management, displayed colors now properly reflect UNIT_COMBAT event data; possible exception: hybrid schools like "frostfire", needs more testing
- enhanced to add/remove arena opponent unitids ("arena1" through "arena5") to target tracking when entering/exiting an arena venue
- fixed a few typos in auto-show location change handling
- updated "Acapela" preset with new layout parameters, added "Unit Frame" preset as an example of backdrop frame use
- got rid of the donate data in the TOC, this eliminates the "Donate" button on Aloft's menu
- latest/greatest libraries (no apparent functional changes)

some known issues with 2.7.9-000
- enabling nameplate frame backgrounds (by setting the "Frame>Background>Background Alpha" option to a non-zero value) at times may affect frame rates (extra transparent overlay processing?); please report any observed issues
- a UI reload is required right now after changes to "Frame" options, profile changes, enabling/disabling deficit health bars, and nameplate layout in general; i will work on cleaning this up in coming releases

- enhanced player target tracking, to insure AloftCastWarning would record spells cast by the player's current target
- beefed up processing to insure all disabled "Data Options" clear their associated SavedVariables, when actually disabled and if disabled on startup
- exposed neutral unit level and health to the user as options (under Aloft "Visibility>Critter" options), for use in making assumptions about what is a "critter" when nameplates first appear; overridden by mouseover/target action
- simplified friendly unitid collection for groups
- fixed a typo in ruRU localization, per vol4's bug report

- Mana Bar module now tracks Runic Power, as it decays over time (was not updating the bar correctly for Death Knights)
- put unitid acquisition/re-acquisition on nameplate appearance on a frame delay; this relies on unit "type" (friendly/hostile/etc), which in turn relies on default nameplate color
- incorporated some "ruRU" localizations courtesy of StingerSoft
- changed "Securely Tanking" nameplate glow override color default to a "bright" orange (more towards yellow than red)... dark magenta seemed to me too hard to see, plain orange seemed too close to the default red for hostile nameplates
- added "Explicit 'Low Aggro'" options to nameplate glow (primarily for those enabling "Use Nameplate"; this is set to a standard hostile "red" by default, essentially a no-op compared to the usual health bar color), so that those who wish can configure explicit display of "threat status 0"
- worked on OnNameplateShow processing some more, to insure that border target-only behavior works properly for mana/threat/crowd-control bars, and etc (still attempting workarounds for health bars)
- added Hibernate (and the Druid class) to crowd control module (ran out of time for rogue capabilities but want to try to add those next)
- a few small fixes for WoW 3.1.x, related to UnitThreatSituation() and UnitAura(), based on emerging Blizzard API changes on the PTR

- fixed a bug in option processing for the Aloft "Frame" module
- added current locale to version string presented to user in Aloft options screen and FuBar/LDB tooltips
- attempted a fix for problems with localizations not being in scope at optional module load time
- fixed problems related to nameplate glow color updates, verified that nameplate glow "Use Health Bar" capabilities are functional

- basic testing and updates for WoW 3.1.x
- added a "State Icon" feature, to allow user control over Blizzard's upcoming elite graphics on nameplates (will only be relevant on the PTR and when 3.1 goes live)
- added feature to enable frame borders on target only, for health bar, power bar, threat bar, cast bar, crowd control bar, etc
- worked on frame border update problems on nameplate "show", most of these problems now seem under control
- provided an option to make inverted nameplate glow appear only while in combat (instead of all the time)
- tracked down another unitid bug, this time affecting Visibility options, put all Visibility updating on a next-frame delay
- changed "Target-of-Target" options menu slightly, now called "Target Tracking"; no Saved Variables changes

- i believe i have found an "efficient" way to do AOE threat (i.e. threat versus the player on targets other than the current/active/primary); this is incorporated "experimentally"; see the FAQ for more details
- added a "Threat Bar>Group Threat" option, to permit group threat and AOE threat to be controlled separately
- changed the meaning of the "Threat Bar>Group Threat Update Interval"; now controls rate of AOE threat processing as well, and a value of 0.0 means "as fast as possible"
- increased the allowed range of the "Frame>Packing Height" and "Health Bar>Position" options to permit more freedom of position; NOTE: these can affect mouseover sensitivity, so take care
- frame backdrop/border/glow graphics now associate positionally with the health bar, instead of the (invisible) "nameplate frame"; facilitates altering the display "height" of the nameplate relative to the associated unit "character model"
- added option to "Nameplate Glow" to use health bar color for aggro indicator, instead of a glow, please help test this
- added "threat status colors" to "Nameplate Glow" options, so user can customize glow/health bar colors used to indicate "Blizzard" aggro thresholds; enable "Nameplate Glow>Override Colors" to use these colors
- changed "Nameplate Glow" default update interrval to 0.33 (will update glow 3 times a second), from 0.20 (5 times a second)
- some fine-tuning to the ruRU locale, courtesy of Xisraa and McFLY
- all localizations have been combined into one file per module, to reduce the number of files at addon load time; the old per-language files still exist, for the moment
- enhanced [IsTotem] tag processing; Aloft now treats Hunter snake trap "Viper" and "Venemous Snake" spawn nameplates as "totems" for the purpose of hiding (note: only affects these nameplates while out of combat, which will limit usefulness)
- incorporated the "old"/"teal" Shaman class color, and re-incorporated the current Shaman class color in such a way that Aloft will not be confused by addons like ReTeal
- tracked down a fairly subtle bug (manifesting for me on pet nameplates): leaving visible range and then returning was intermittently resulting in (pet) unitid not being restored to the nameplate (which breaks various other things)

- enhanced PlayerTitle module to supply a new PlayerTitleSuffixSeparated text tag; refer to AloftTags.rtf for details; example usage: [PlayerTitleSuffixSeparated(", "," ")]
- added a "ClassColor" text tag; example usage: [Name:ClassColor]
- enhanced Visibility module to allow hiding of hostile totem nameplates
- enhanced enUS locale totem name parsing, to identify totems ending in a spell rank number (needs to be extended to other locales: koKR, ruRU, zhCN, zhTW)
- beefed up AloftTarget module to handle occasional errors during dynamic load processing
- found/fixed typo in "Nameplate Glow" processing

- separated the existing AutoShow options into their own "player state" category, added a "player location" category (governing where the player is), made nameplate show contingent on the validity of one condition from each category
- refactored target tracking (for target-of-target and etc), extracted it to its own "always loaded" module, preparatory for using it in cast warning and PvP glow functionality
- got rid of options allowing user to disqualify race/class/raid-target as discriminators in target tracking (target-of-target); always use all of them
- made a variety of small changes to improve load-order processing of "dynamic" modules, hopefully will help with tag error messages
- changed Nameplate Glow logic to use a global Ace2 repeating event (rather than a frame OnUpdate hook), cleaned up code
- updated to latest/greatest version of Ace2

- changed checks for Broker2FuBar/FuBar2Broker: when Broker2FuBar is present, Aloft's LDB support is disabled (use Aloft's FuBar support directly); when FuBar2Broker is present, Aloft's FuBar support is disabled (use Aloft's LDB support directly)
- updates to zhCN/zhTW localization, courtesy of digmouse
- applied some syntatic changes to localization files, in preparation for recombining them back into a single/combined file; watch for "No translation" errors

- should have upped the version number to 2.7.x when i added the "AutoShow" functionality, this release should have been another bug-fix release for that major version
- AutoShow functionality is now a "dynamic module"; enable it under Aloft "Modules" options; this also changes the organization of SavedVariables, so once enabled, you will need to configure your "Auto Show" options again (menus will appear under the standard Aloft nameplate show/hide options when the module is enabled)
- AutoShow now has a "Set All" capability, under the relevant options; enabling this will apply changes to any AutoShow options for neutral/hostile (or friendly), nameplates apply to all options for the same type of nameplate (this applies to use of keybindings as well)
- TagCompiler-1.0 has been tweaked slightly, pending some interaction with its author(s), to generate empty strings when ~Tag/Not(Tag)/ColorIf()/etc conditions evaluate to "false"; please watch for unwanted side-effects in your text tags
- fixed intermittent LUA errors in AloftThreat and AloftStackedPointText modules
- enhanced to avoid status-change announcements when changing "Visibility" options or selecting/deselecting "dynamic" modules
- saw only occasional PvP titles on cross-realm players in my testing, so have disabled player title gathering for cross-realm units, so that realms are not confused with titles; will revisit this again later (should be possible to detect the realm in the player tooltip and parse around it, needs more experimentation)

- enhanced "Show Nameplate"/"Show Friendly Nameplate" functionality to control basic nameplate visibility automatically/conditionally on behalf of the user: on combat, on resting, on being grouped (and a default for when these conditions don't apply); a new feature, please watch for problems
- backed out optional dependencies on FuBar, Broker2FuBar, FuBar2Broker, and the mainstream Broker display addons (Carousel, Fortress, NinjaPanel, StatBlockCore)
- updated to latest/greatest FuBarPlugin-2.0 embedded library (r9 from WoWAce, which has gone back to being FuBarPlugin-2.0)
- fixed some typos in the ruRU localization (thanks to McFLY for the helpful report)

- made FuBar, Broker2FuBar, FuBar2Broker, and the mainstream Broker display addons (Carousel, Fortress, NinjaPanel, StatBlockCore) as optional dependencies, to enforce load order; if this is "bad" (you there, Phanx? :-), let me know, and i can back it out
- added an AceAddon-2.0 "InitializeAddon()" invocation to the load process for Aloft's FuBar and LibDataBroker dynamic modules; these are actually full/separate addons, not just Aloft modules, and initialization must be driven manually when they are loaded
- fixed bugs (FuBar/Broker libs not in TOC; Nameplate Glow color processing which was causing a LUA error; Crowd Control Bar default background color, which was inconsistent with other default background colors)
- updated to latest/greatest FuBarPlugin-2.0 embedded library (r7 from WoWAce, which is actually now FuBarPlugin-2.1)

- fixes and enhancements to AloftPlayerTitle module; player titles are somewhat dynamic, but it is now possible to cache the most recently seen prefixes/suffixes between sessions (look at Aloft "Data Options"; defaults to disabled)

- incorporated "ruRU" translations; thanks to Xisraa/Henrietta; i have no good way to test localizations, so: users of Russian-language WoW clients, please feel free to mouseover all menu items, proofread the text and watch for LUA errors, and report anything you see
- added "AloftPlayerTitle" dynamic module; this enables two new text tags: [PlayerTitlePrefix] and [PlayerTitleSuffix] (for leading and trailing titles, so you can format them accordingly); scrapes tooltips on mouseover/target action, watch for inaccuracies, especially on rapid mouseover
- re-applied "simple" fixes/workarounds to changes to unit level and name that occur "behind Aloft's back"; dropping and re-aquiring target should update name/level text
- added border/border color, spell icon, spell name/rank text, and remaining spell time text to crowd control bar (NOTE: Aloft crowd control subsystem has restrictions, read project description and FAQ)
- reorganized crowd control module options, to make them consistent with other "bar" functionality (mana/threat/castbar, etc); changes to SavedVariables have occurred, you will need to reconfigure your "Crowd Control" options
- added "color transition" to stacking point debuff text (lacerate/sunder); text counter will change slowly through a continuous range from one color to another as the debuff slowly counts down; the two colors at each end of the range are user-selected, defaults set to cyan (at maximum remaining time) and red (at minimum remaining time)
- reorganized stacking point debuff options (changes to menu organization only), to make consistent with other "text" functionality; there should be no changes to existing SavedVariables (though there is an extra color in the options now, for the color transition capability)
- enhanced creature type processing to "assume" any neutral level 1 NPC with <= 8 maximum health is a "critter"; this will not catch all critters (but should catch most typical ones); this may cause problems with other NPCs, please report any errors
- re-named the Aloft "AloftSpellNameText" module to "AloftCastBarSpellNameText", for consistency; the module will need to be re-enabled, no changes to SavedVariables
- AloftPresets is now a dynamic module; if you want access to presets, enable the module via the "Modules" options

- backed out "simple" initial fixes/workarounds to changes to unit level and name that occur "behind Aloft's back", pending more thorough analysis of framerate/update issues
- made border/border color separate/independent options on each of cast bar, mana bar, and threat bar

- rolled all Aloft functionality back into a single addon folder, and implemented a poor-man's "dynamic load" mechanism (like that used by Prat; kudos to Sylvanaar)
- enhanced AloftStackedPointsText module to permit combo points on any class (e.g. dailies and Malygos raid encounter; nod to Gnarfoz for identifying this problem); needs testing
- enhanced AloftStackedPointsText module to sense druid form changes, and switch from lacerate count to combo point count on the fly
- enhanced cast bars, mana bars, and threat bars to use the same border/border color settings as the health bar (which is controlled under Aloft "Frame" options)
- added functionality to re-apply visibility settings at end of combat (in case nameplates disappear/reappear during combat lockdown)
- critters should be hideable via "Visibility" options;
- attempted simple initial fixes/workarounds to changes to unit level and name that occur "behind Aloft's back"

- separated additional Aloft functionality out of the core addon: FuBar_AloftFu, Broker_Aloft, AloftClassIcon, AloftCombatText
- separated ComboPointsText functionality out of core addon, renamed to "AloftStackedPointsText", added Lacerate and Sunder support (available for Druid, Rogue, and Warrior appropriately)
- separated Polymorph/ShackleUndead functionality out of core addon, combined and renamed to "AloftCrowdControl", added Banish support (available for Mage, Priest, and Warlock appropriately)
- provided "invert" options under "Nameplate Glow" and "Threat Bar>Threat Flash", to enable glows in the "opposite" fashion (i.e. when player does not have aggro, or when threat is below threshold)
- added a couple of new "glow" textures, selectively truncated so they do not obscure elements of the nameplate
- made the new "ThreeQuartersSoftOutline" texture the default for threat flash

- made the "enUS" locale unconditional in the new Aloft "child" addons, as the default locale; this should get rid of the "translation does not exist" errors seen in 2.5.0-342
- added options to allow the user to control class colors (these default to the Blizzard colors, and can be reset to these defaults)
- added a couple of new "glow" textures, selectively truncated so they do not obscure elements of the nameplate
- made the new "ThreeQuartersSquareGlow" texture the default for aggro glows

- began the process of teasing Aloft apart into separate modules (which the user can physically disable if desired); no bugs fixed, really
- broke out AloftThreat Data/Bar/Text and AloftMana Data/Bar/Text functionality as separate modules
- enhanced AloftTags.rtf document to specify which modules originate which text tags (which will become increasingly important as this modularity increases)
- implemented AloftDeficitHealthBar option (which converts existing health bars to display a health deficit, growing from the right as health is lost); enabled via "Aloft>Health Bar>Deficit Health Bar" option, disabled by default
- updated to latest/greatest embedded libraries (LibRoster-2.1, which added "vehicle" as a valid unit; vehicles in groups not yet tested with Aloft, report any issues)

- checked over code used to monitor changes to group events (pet/party/raid), delegated completely to LibRoster-2.1
- fixed typo in use of UnitClass() method that was causing class validation on nameplate identification to fail
- fixed typo in mouseover vs. target class information gathering
- added some normalization of class names (normalized to the namespace returned in the second value of UnitClass(), and the class names in the RAID_CLASS_COLORS global), just in case parts of the non-localized Blizzard API and/or LibBabble-Class are inconsistent (i.e. return "DEATHKNIGHT" or "Death Knight" variously), etc
- added Runes/Runic Power to "[PowerTypeColor]" tag color table, enhanced to gather power type (as a string) from UnitPowerType(), added "[PowerTypeName]" and "[ShortPowerTypeName]" tags
- updated use of Blizzard's GetBattlefieldScore() to match new return value/order
- updated to latest/greatest versions of embedded libraries (LibBabble-Class-3.0), removed some older/unused versions of libraries
- checked over code used to calculate "[HealthFraction]|[ManaFraction]|[ThreatFraction]", fixed defects and made basic method of calculation consistent

- beefed up things like class/race/classification/creature-type/is-pet collecton/assignment to incorporate further cross-checking (including class colors on underlying Blizzard nameplates), to help disambiguate and/or clean up nameplates for hunters/pets when hunter and pet are named the same
- applied LUA's intrinsic math.ceil() to the calculation of the "[HealthFraction]" tag value, to insure fractional health does not show "0%" when targets actually still have health (for bosses, this could be a lot of health)
- added Death Knight as a class (esES locale users beware, LibBabble-Class-3.0 has no localizations for Death Knight)
- added Runic Power as a power type
- did small bits and pieces of code refactoring and cleanup here and there

- added Broker2FuBar and FuBar2Broker as optional dependencies, to force load order so that Aloft can sense their presence
- coded both LibDataBroker and FuBar support to sense the presence of the other guy's broker and disable itself if present
- if neither of the FuBar/LDB brokers are present, both FuBar and LDB support will load (and presumably not interfere with each other); if both are present, Aloft will offer neither FuBar nor LDB support; "/aloft waterfall" will have to be used
- enhanced Class Data collection to treat the color of a hostile nameplate as an indication of class when ShowClassColorInNameplate CVar is enabled by the user; colors are not apparently exact, so had to jump through some hoops
- fixed pernicious typo in global use of variable "profile" (which should have been declared local), which was breaking FuBar_LuckyCharms
- enhanced FuBar plugin to refresh Dewdrop when nameplates are "redisplayed" (primarily a function of Visibility options); this was ultimately yet another framerate-related update/delay issue (it is possible to bounce the ShowClassColorInNameplate CVar "too fast", programmatically from an addon)
- fixed bug in redisplay functionality that inadvertantly set all nameplates visible (basic options) when Visibility options were twiddled
- updated to latest/greatest versions of embedded libraries

- updated embedded libraries (looks like very minor TOC change(s))
- integrated with ShowClassColorInNameplate CVar and "beefed up" class-based information gathering and checking, so that health-bar colors and color text tags for hostile PvP targets will be checked and updated properly (i.e. as documented in AloftTags.rtf)
- addressed some very cryptic framerate-related update/delay issues induced by changing the ShowClassColorInNameplate CVar with live/actively-displayed nameplates; hopefully these are dealth with, but please watch for artifacts (i.e. "[HealthBarColor]"/"[OriginalHealthBarColor]" and health bar colors themselves not updating correctly)
- enhanced FuBar plugin to refresh Dewdrop when nameplates are "redisplayed" (primarily a function of Visibility options); this was ultimately yet another framerate-related update/delay issue (it is possible to bounce the ShowClassColorInNameplate CVar "too fast", programmatically from an addon)
- fixed typo in advanced color tags example in AloftTags.rtf; added hex color code for DeathKnight to AloftTags.rtf
- implemented class icon system (request from WoWAce user, and it was easy enough, once i knew where to go for the icon art)

- removed native LibDataBroker-1.1 (LDB) support; per user suggestion, those wishing LDB support should use Broker2FuBar
- fixed typo in ReportStatusChanges

- added LibDataBroker-1.1 (LDB) support, with mouseover status and shift-click waterfall instantiation (like the FuBar support); my LDB display of choice is Carousel
- fixed typo in FuBar support
- experimented with and cleaned up Frame dimension options, to allow nameplates to be more closely tiled on-screen (packing height/width) and to permit healthbar borders to be inset slightly (plain height/width)
- went ahead with SpellID-based implementation of GetSpellInfo (kudos to gix, who proposed it); my mage only has sheep-based polymorph, so i have no real means of experimenting with this purely via spell name
- shackle and polymorph timers will now attempt to identify active debuffs on the player's current target and retroactively attach a timer bar when the nameplate comes into range, even when the "speculative" option is disabled
- cast bar color may now be specified; looks like obvious enhancements, like coloring the cast bar according to spell school, and other such things, could be difficult
- looked into player titles... nothing in the Blizzard API lets you query them for other players; will investigate tooltip data as a workaround

- too much of a rush job; fixed the stupid typo; this version is identical to Aloft- except for the single typo
- my apologies, should have done my usual release test process

- a bit of a rush job, testing focused primarily on FuBar and ReportStatusChanges bugs; report any other problems and they will be addressed ASAP
- fixed various bugs in FuBar support
- fixed various bugs related to ReportStatusChanges
- updated embedded libraries, incorporated original TOCs and licensing as a means of providing author credit
- deprecated LibBabble-Spell-3.0, trying GetSpellInfo() instead; those in non-enUS locales, please see if your Polymorph and Shackle timers have localized spell names in them
- upgraded to LibGratuity-3.0 (tooltip scraping), though this is not searchable on curse and is listed as a "beta"; watch for problems identifying vendor comments and pet owner names

- implemented experimental hostile target-of-target system, both for PvP targets generally and for instance targets that have a raid target assignment (only PvE requires raid target assignment); use the "[TargetName]" tag as usual
- the target-of-target actually does require raid target assignments in PvE; PvE targets without raid target assignments will be ignored by the target-of-target system
- watch for perceived "inefficiency" (UI pausing every 15 seconds to so) while in crowded PvP environments, or even in PvE environments; disable the feature if necessary
- applied several bug fixes (Alpha subsystem typo, pet Visibility, Aggro "glow" color management)
- went into an AV game, and saw health bar colors, color text tags, and the "[Class]" text tag working "properly" on Aloft hostile player nameplates
- Aloft "Health Bar>Colors>Color Hostile by Class" and "Combat>Class Colors in Nameplates" options , as well as "[HealthBarColor]" and "[OriginalHealthBarColor] tags, work fairly intuitively together
- restored FuBar support (tested with FuBar 3.5)
- race data is now updated regularly from the battlefield score (like class data)
- added key bindings for Aloft (enable/disable friendly nameplates), bindings toggling each of enemy/friendly/all; these will replace the default Blizzard nameplate bindings and interact with "Report Status Changes"

- Aloft is still an Ace2 mod; the intended Ace3 port is on hold for the moment
- the latest/greatest Ace2 is embedded in this release
- i have seen no library conflict or "incompatibility" with the "large" addons i have used in testing (Pitbull 3.2.6, XPerl 3.0.0h, IceHUD 1.3.6, Omen3 RC1, Prat 3.0, Macaroon, Cartographer), all of which embed various libraries
- Aloft now uses the Blizzard(tm) default threat API exclusively (Threat-2.0 has not yet been updated, and it may in fact now be superfluous, even for area threat)
- the numbers flowing from the default threat API seem to be behaving better than they did on the PTR, conforming to 100% threat as an upper limit
- APIs like MobHealth3/LibMobHealth-4.0/MobInfo2 are no longer required for health estimation; Blizzard's underlying nameplate implementation, as well as its UnitHealth API, both now seem to offer explicit/accurate health values at all times
- having said this, MobInfo2 may remain useful as a means of tracking drop rates and etc; however, i have no idea if its author is still around
- there is a new "Nameplate Glow" feature, which accurately emulates the default Blizzard(tm) nameplate glow (a target-of-target capability, useful in AOE tanking)
- the "Nameplate Glow" feature is independent of the Aloft threat module, slaved to Blizzard(tm)'s nameplate glow; alas, the texture region used by Blizzard(tm) does not seem to use hookable methods (e.g. Show() and Hide()), so it seems i must micromanage this
- the "Nameplate Flash" feature that attempted to emulate this "Nameplate Glow" remains a component of the Aloft threat module, and activates on grouped nameplates when maximum threat is reached (resembling the Banzai module, but graphically different)
- i went into GIMP and created some additional soft-edged/airbrushed-looking outline textures for these "Glow" and "Flash" effects; they are controlled by the "Style" parameter of the respective options
- there exists some duplication of function between these various types of glow, but they do mean slightly different things, so try them out and see how you like them
- a new "Acapela" preset has been added; this reflects how i configure Aloft; it is best used in conjunction with SharedMedia (for textures and fonts)
- files with new zhCN/zhTW translations
Optional Files (0)

Post A Reply Comment Options
Unread 12-22-17, 03:27 PM  
A Cobalt Mageweaver
AddOn Author - Click to view AddOns

Forum posts: 241
File comments: 1313
Uploads: 5
Originally Posted by LafinJack
And yeah, they redid the vanilla nameplates around WoD time, I believe after my initial comment. Thank you for the tips!
FWIW, my "roadmap" for an update to Aloft, post WoD, was to create a nameplate "re-skinning" addon, as lightweight as possible, which offered no functionality beyond what the default Blizzard nameplates offered, but which offered the user complete control over placement/appearance (bar textures/borders, fonts, colors, custom graphics for things like threat glow/etc, and relative placement of all elements within the nameplate assembly). A comprehensive options menu system would be part of this (as a separate addon which the user could disable for normal gameplay).

Given all the fiddly little real-time changes to nameplates Blizzard has implemented, to provide indication to the user of various gameplay events, this by itself could be fairly intricate/difficult.

From there, I had intended to add a module to provide a "nameplate API", for use in creating/configuring/placing/operating additional/custom nameplate elements (bars, text fields, additional custom graphics), detecting and notifying changes to nameplates (when they appear/disappear; when they change size/color/etc; when different nameplate elements appear/disappear), performant mechanisms for finding nameplates with certain characteristics (the current target nameplate, or the nameplate carrying a particular unit name/raid icon/whatever), and a centralized mechanism for creating/managing options for these things.

Finally, from there, I was going to add "modules" to provide additional functionality not part of Blizzard default nameplates: resource bars (mana/energy/etc), PvE threat (whatever that looks like now), additional cast bar/interrupt warning features, target chaining/early warning, etc, along with options menus that would tie into the overall Aloft options menu, when each module was loaded.

A lot of work... in fact it actually sounds like a whole new addon (using Aloft and other nameplate addons as reference)... and I ran out of interest just as I started to think about all of this.

And it is possible that the Blizzard's changes to their default nameplates are invasive enough that it might make more sense to start from scratch that try to update Aloft.

Anyway, that's pretty much a full brain-dump. Hope it helps.
Retired author/maintainer of Aloft (the nameplate addon)
Zippy said it best: "All life is a BLUR of Republicans and Meat!"
Report comment to moderator  
Reply With Quote
Unread 12-22-17, 02:26 PM  
A Kobold Labourer

Forum posts: 0
File comments: 7
Uploads: 0
Originally Posted by LafinJack
Not interested in returning. I am sorry (though also strangely pleased) that Aloft is missed. Wish I could do something to help.
Ha, I can only imagine, having seen the demanding comments all over different addon pages. I have no responsibilities at all in the game and even then it's too much sometimes.

And yeah, they redid the vanilla nameplates around WoD time, I believe after my initial comment. Thank you for the tips!

Thanks again for coming back to say goodbye!
Report comment to moderator  
Reply With Quote
Unread 12-22-17, 01:49 PM  
A Cobalt Mageweaver
AddOn Author - Click to view AddOns

Forum posts: 241
File comments: 1313
Uploads: 5
Originally Posted by LafinJack
How open is addon code? Does LUA stuff need to be compiled or can you debug it from the actual addon files?
Aloft maintainer here... Finally got terminally disgusted with WoW (a mix of how cheesy the game looks, the nature of the gameplay, the nature/frequency of new content, and the hassles encountering other members of the community out in the game world... and though news of WoW's demise are probably premature, it is nowhere near as big a thing as it used to be), and quit playing completely. Not interested in returning. I am sorry (though also strangely pleased) that Aloft is missed. Wish I could do something to help.

When I took Aloft over, from Roartindon (original author, with the codebase hosted on the WoWAce website), I did ask permission (though it was months before Roartindon responded), butin the meantime just proceeded anyway. I copied the codebase from WoWAce, dumped the change log from WoWAce (which I incorporated as a text file into the WoWInterface version here, to preserve the history of the original addon), brought it to WoWInterface, and started work. I also reorganized the code slightly so that it could be checked into change control at WoWAce/Curse, and released there, to ease managing the two separate codebases in parallel.

I would be very happy to see someone take over Aloft. I would suggest doing something similar: copy the code from the WoWInterface codebase, host it in a new project wherever you want to, roll it into the codebase there (and perhaps dump the SVN change log from WoWInterface here into a second text file to preserve the history of all of my efforts), and get to work.

In short, the code is completely open. Do whatever you want with it. Just preserve credit for other people's work, and make sure others can take it over from you under the same terms when the time comes.

The code itself is not compiled, it runs inside an interpreter embedded in the WoW game client, and is debugged WITHIN THE GAME. The programming language used is LUA, used widely in industry for embedded systems, and controlled under third-party standards (i.e. NOT a "Blizzard thing"), so you can find technical documentation and tutorials on the language elsewhere. There are Wikis on the web documenting WoW extensions to LUA, and the LUA-based API specific to WoW (including tutorials for common concepts and tasks specific to WoW). My version of Aloft also relies on a variety of other "library" addons, most prominent among them being ACE3 (hosted at WoWAce/Curse). Though there is no debugger as such, compile-time and run-time errors are reported within the game, at startup and during gameplay. Each error report is accompanied by the relevant function call stack, and includes all file names/line numbers within the code, and Aloft is already riddled with very extensive "print statements" for debugging purposes, which in normal operation are all commented out... enable/disable them as needed, add your own, whatever, and watch what spits out in the chat windows as you operate the game. There are also addons for WoW which can help with debugging (the most important, at the time I was active, being BugGrabber/BugSack).

Note that the native WoW nameplates are a bit strange now: they change colors and sizes, for instance... stuff that would have to be detected and mirrored somehow. Looked like a lot of work, and I wasn't going to be playing any more, so I didn't really even look at what would be involved.

Hope that helps.
Retired author/maintainer of Aloft (the nameplate addon)
Zippy said it best: "All life is a BLUR of Republicans and Meat!"
Last edited by acapela : 12-22-17 at 02:08 PM.
Report comment to moderator  
Reply With Quote
Unread 05-13-17, 06:40 AM  
A Wyrmkin Dreamwalker
Deadlyz's Avatar
AddOn Author - Click to view AddOns

Forum posts: 55
File comments: 371
Uploads: 2
The great addon that everyone's been using for years is gone.

In memory of Aloft nameplates addon.

My last movie: Rogue Sweethearts
Report comment to moderator  
Reply With Quote
Unread 02-21-17, 04:40 PM  
A Kobold Labourer

Forum posts: 0
File comments: 7
Uploads: 0
I too miss Aloft so much. After using it since TBC I can't get used to anything else. It's weird how often I think about this addon. Would totally donate aswell.
Report comment to moderator  
Reply With Quote
Unread 01-19-17, 07:49 AM  
A Kobold Labourer

Forum posts: 0
File comments: 7
Uploads: 0
Plater is fine, but it's just not the same. I would no joke put up cash money if someone who knows addons could take a look at resurrecting Aloft!
Report comment to moderator  
Reply With Quote
Unread 11-05-16, 06:02 AM  
A Wyrmkin Dreamwalker
Deadlyz's Avatar
AddOn Author - Click to view AddOns

Forum posts: 55
File comments: 371
Uploads: 2
There's no hope left

My last movie: Rogue Sweethearts
Report comment to moderator  
Reply With Quote
Unread 10-22-16, 12:57 AM  
A Deviate Faerie Dragon
millanzarreta's Avatar
AddOn Author - Click to view AddOns

Forum posts: 11
File comments: 18
Uploads: 9
Need Update

Pls someone save the world and update the best nameplate addon ever!
Report comment to moderator  
Reply With Quote
Unread 09-25-16, 03:50 AM  
A Kobold Labourer

Forum posts: 0
File comments: 4
Uploads: 0
So sad. Best nameplates addon world and not working ;(
Report comment to moderator  
Reply With Quote
Unread 08-25-16, 10:19 AM  
A Kobold Labourer

Forum posts: 0
File comments: 7
Uploads: 0
How open is addon code? Does LUA stuff need to be compiled or can you debug it from the actual addon files?
Report comment to moderator  
Reply With Quote
Unread 08-25-16, 04:05 AM  
A Wyrmkin Dreamwalker
Deadlyz's Avatar
AddOn Author - Click to view AddOns

Forum posts: 55
File comments: 371
Uploads: 2
Is it the end of Aloft?

My last movie: Rogue Sweethearts
Report comment to moderator  
Reply With Quote
Unread 08-07-16, 12:08 AM  
A Kobold Labourer

Forum posts: 0
File comments: 7
Uploads: 0
I have no idea how to code anything modern, Deadlyz, let's start a collection though.
Report comment to moderator  
Reply With Quote
Unread 08-06-16, 03:35 AM  
A Wyrmkin Dreamwalker
Deadlyz's Avatar
AddOn Author - Click to view AddOns

Forum posts: 55
File comments: 371
Uploads: 2
Aloft needs a new Maintainer.. and an update for Legion.

My last movie: Rogue Sweethearts
Last edited by Deadlyz : 08-06-16 at 03:38 AM.
Report comment to moderator  
Reply With Quote
Unread 07-28-16, 11:44 AM  
A Kobold Labourer

Forum posts: 0
File comments: 7
Uploads: 0
Report comment to moderator  
Reply With Quote
Unread 07-28-16, 10:47 AM  
A Kobold Labourer

Forum posts: 0
File comments: 4
Uploads: 0
Same! We really need this best addon to work! ready to donate!
Report comment to moderator  
Reply With Quote
Post A Reply

Category Jump:

Support AddOn Development!

You have just downloaded by the author . If you like this AddOn why not consider supporting the author? This author has set up a donation account. Donations ensure that authors can continue to develop useful tools for everyone.