Aloft (Beta)

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.-----

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.

!!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:

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)

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 (http://www.wowace.com/projects/aloft/; 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 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:

5.2.3-2521
- 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"

5.2.1-2490
- 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)

5.2.0-2485
- 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 http://www.wowinterface.com/downloads/info20062-Arena123WidgetIconsforTidyPlatesThreatPlatesBeta.html)

5.1.0-2450
- 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

4.3.6-2277
- 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)

4.2.10-2181
- 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

4.2.8-2157
- 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)

4.2.7-2143
- 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)

4.2.6-2125
- 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

4.2.3-2081
- 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)

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

4.2.1-2053
- updated to latest/greatest Ace3 (r999)

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

4.1.2-2013
- 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

4.1.1-2007
- 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)

4.0.4-1947
- 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

3.2.2-1883
- 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)

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

3.1.3-1820
- 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)

3.1.2-1810
- 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

3.1.1-1781
- 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)

3.1.0-1765
- 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

3.0.9-1753
- 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)

3.0.6-1730
- 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

3.0.3-1704
- 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

3.0.2-1698
- 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

3.0.1-1690
- 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

2.8.15-1616
- 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)

2.8.12-1545
- 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

2.8.11-1431
- 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

2.8.9-1311
- 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)

2.8.8-1272
- 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

2.8.3-1190
- 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

2.8.2-1163
- 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

2.8.1-1151
- 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)

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

2.7.8-934
- 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

2.7.7-898
- 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

2.7.6-864
- 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

2.7.5-854
- 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

2.7.4-810
- 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)

2.7.2-745
- 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

2.7.1-715
- 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

2.7.0-667
- 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)

2.6.5-644
- 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)

2.6.4-631
- 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)

2.6.3-617
- 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)

2.6.2-612
- 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

2.6.1-570
- 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

2.6.0-559
- 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"

2.5.2-403
- 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

2.5.1-367
- 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

2.5.0-342
- 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)

2.4.6-315
- 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
2.4.5-293
- checked over code used to calculate "[HealthFraction]|[ManaFraction]|[ThreatFraction]", fixed defects and made basic method of calculation consistent

2.4.4-288
- 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

2.4.3-261
- 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

2.4.2-244
- 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)

2.4.0-215
- 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

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

2.3.1-200
- 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

2.3.0-174
- 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"

2.2.0-154
- 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
Options/CoreModules/Glow.lua
Options/Modules/ThreatBar.lua
Options/Modules/TargetNameData.lua
Aloft.lua
Options/CoreModules/CastBar.lua

Originally posted by Furiosa I know its beta and all, and while testing this out in arena found this small bug(?). Basically theres a one pixel height on where i can actually click on the nameplate, full width however, which is very very very very very frustrating. I've set the frame to the same size as the health bar, so thats not the problem.

if i am understanding you correctly, then... yeah, this is a weirdness i have never been able to work around.

there is an invisible frame, created by Blizzard, to which all the visible parts of each nameplate are subordinate, known generically as the "nameplate frame". this is SUPPOSED to be the part of the nameplate that is sensitive to the mouse (it is what Aloft actually configures when the user enables the Aloft "Frame>Enable Mouse" option... trying to do this on the health bar or any other part of the nameplate has no effect).

but Blizzard retains control over this area of "mouse sensitivity", and it does not seem to correspond to the area occupied by this invisible Blizzard "nameplate frame". Aloft's packing height/width options affect the "size" of this invisible "nameplate frame", and if you adjust those Aloft options beyond certain reasonable limits, this region of "mouse sensitivity" is affected, and the nameplate quits responding to the mouse.

as far as i can tell, it is as if somehow the nameplate health bar leaves the region (as a consequence of changing packing height/width) where it graphically overlaps some sort of "magic area" that Blizzard treats as "mouse sensitive", and the whole nameplate goes dead. change Aloft's packing height/width so that the health bar once again overlaps this "magic area", and the nameplate will become responsive to the mouse again.

i have not played with it in a while, but it is possible that Aloft's "Health Bar" position options also have an affect on this.

so, all i can suggest at the moment is fiddling with your Aloft "Frame>Packing Height" option, etc, and see if you can "fix" this mouse insensitivity, find some compromise between mouse sensitivity and where the nameplate health bar appears.

i do revisit this issue periodically, to experiment, so it is possible i will make some sort of discovery someday that allows more control over this. if i do, i promise i will tell you all about it .

if i am not understanding you correctly, feel free to respond here or in a private message, with more detail, and i can try to reproduce your problem.

Originally posted by acapela if i am understanding you correctly, then... yeah, this is a weirdness i have never been able to work around.

there is an invisible frame, created by Blizzard, to which all the visible parts of each nameplate are subordinate, known generically as the "nameplate frame". this is SUPPOSED to be the part of the nameplate that is sensitive to the mouse (it is what Aloft actually configures when the user enables the Aloft "Frame>Enable Mouse" option... trying to do this on the health bar or any other part of the nameplate has no effect).

but Blizzard retains control over this area of "mouse sensitivity", and it does not seem to correspond to the area occupied by this invisible Blizzard "nameplate frame". Aloft's packing height/width options affect the "size" of this invisible "nameplate frame", and if you adjust those Aloft options beyond certain reasonable limits, this region of "mouse sensitivity" is affected, and the nameplate quits responding to the mouse.

as far as i can tell, it is as if somehow the nameplate health bar leaves the region (as a consequence of changing packing height/width) where it graphically overlaps some sort of "magic area" that Blizzard treats as "mouse sensitive", and the whole nameplate goes dead. change Aloft's packing height/width so that the health bar once again overlaps this "magic area", and the nameplate will become responsive to the mouse again.

i have not played with it in a while, but it is possible that Aloft's "Health Bar" position options also have an affect on this.

so, all i can suggest at the moment is fiddling with your Aloft "Frame>Packing Height" option, etc, and see if you can "fix" this mouse insensitivity, find some compromise between mouse sensitivity and where the nameplate health bar appears.

i do revisit this issue periodically, to experiment, so it is possible i will make some sort of discovery someday that allows more control over this. if i do, i promise i will tell you all about it .

if i am not understanding you correctly, feel free to respond here or in a private message, with more detail, and i can try to reproduce your problem.

I experimented around after arena, its the Packing Height specifically that does it. Anything less than 0 will lower the actual clicking area.

It's moderately annoying that stuff can still bounce around, but in raids its better than default regardless, still not quite ideal however . Hopefully you can find a workaround soon ^^.

Originally posted by Furiosa It's moderately annoying that stuff can still bounce around, but in raids its better than default regardless, still not quite ideal however . Hopefully you can find a workaround soon ^^.

agreed. unfortunately, it looks like something unique to nameplates (nameplates specifically; other sorts of UI artifacts do not seem to behave this way; probably due to the fact that nameplates are basically hardcoded by Blizzard to operate as "target" frames)... and i have been fiddling with it off an on for 6+ months, no joy. that does not preclude some change on Blizzard's part, or some sudden discovery on my part, but none of us should be holding our breath .

edit FYI, the "packing" dimensions legitimately control how closely the default Blizzard UI will tile or "pack" together nameplates on screen in crowded situations (though Aloft has no control over this tiling or "packing" strategy, beyond fiddling these dimensions). this mouse sensitivity issue seems to be a side-effect to this, and i am not suprised that the negative values allowed here cause side-effects as well.

the range for these values in Aloft's options include low negative numbers so that people can "instruct" the UI to cram nameplates together very closely (i.e. with healthbars slightly overlapping, if so desired). larger numbers will result in more space between nameplates... and values even towards the upper part of the allowable range will retain some mouse sentitivity.

if you click-target via nameplates, however (and i am one of those people), these values should be >=0, and not exceed the middle part of the allowed range.

my guess is that Aloft is not originating this error, something else is, and it is apparently tracing through the copy of LibBabble-Class-3.0 that Aloft includes because Aloft is loading earlier during WoW startup than whatever is actually causing the error. it could be originating out of LibBabble-Zone-3.0 itself (Aloft does not use that particular part of LibBabble; so maybe we can narrow it down to what is using LubBabble-Zone-3.0, see below).

i will check into this and make certain that Aloft includes the most recent version of LibBabble. but if something out there is requesting a translation for "Dalaran Arena" from LibBabble, and even the most recent version of LibBabble does not include a suitable translation, the problem will not go away.

in the meantime, the trick will be to find what is causing this. assuming you don't have the means to do a big string recursive search through all the LUA and XML files in your .../Interface/AddOns folder (looking for the string "Dalaran Arena"), you can do the following:

start by disabling Aloft, reloading your UI, and watch how the error changes (and i am assuming the error will still occur). with Aloft disabled, a different addon (containing LibBabble) will be mentioned in the error instead of Aloft. then you can disable that other addon (that contains LibBabble), watching again how the error changes, and the error will mention yet a different addon, and you can repeat the process... and when you finally disable the addon that makes the error stop completely, you have probably found the culprit (which could be Aloft, if its LibBabble is out of date... but i can fix that).

hope that helps. i will follow up here once i have had a chance to look at the various libraries that Aloft includes and insure they are up to date.

Originally posted by acapela my guess is that Aloft is not originating this error, something else is, and it is apparently tracing through the copy of LibBabble-Class-3.0 that Aloft includes because Aloft is loading earlier during WoW startup than whatever is actually causing the error. it could be originating out of LibBabble-Zone-3.0 itself (Aloft does not use that particular part of LibBabble; so maybe we can narrow it down to what is using LubBabble-Zone-3.0, see below).

i will check into this and make certain that Aloft includes the most recent version of LibBabble. but if something out there is requesting a translation for "Dalaran Arena" from LibBabble, and even the most recent version of LibBabble does not include a suitable translation, the problem will not go away.

in the meantime, the trick will be to find what is causing this. assuming you don't have the means to do a big string recursive search through all the LUA and XML files in your .../Interface/AddOns folder (looking for the string "Dalaran Arena"), you can do the following:

start by disabling Aloft, reloading your UI, and watch how the error changes (and i am assuming the error will still occur). with Aloft disabled, a different addon (containing LibBabble) will be mentioned in the error instead of Aloft. then you can disable that other addon (that contains LibBabble), watching again how the error changes, and the error will mention yet a different addon, and you can repeat the process... and when you finally disable the addon that makes the error stop completely, you have probably found the culprit (which could be Aloft, if its LibBabble is out of date... but i can fix that).

hope that helps. i will follow up here once i have had a chance to look at the various libraries that Aloft includes and insure they are up to date.

Thank you very much for the quick response.

After going through and disabling addons one by one as the error occurred, it came down to the latest release of Cartographer.

I had to go into the libs within Cartographer and update them from WowAce.

So no problems with Aloft! Thanks again for the help and great work on Aloft. I use it as my main unitframe for targets.

Originally posted by Reolin After going through and disabling addons one by one as the error occurred, it came down to the latest release of Cartographer.

i would not expect either Cartographer or LibBabble-Zone-3.0 to remain "out of date" for very long.

and i have gone through all of Aloft's libraries and incorporated the latest changes (only functional change is to Ace2, to remove donation functionality per Blizzard's new addon policy). i will release this once i have a chance to test it some more.

thanks for bringing this up, though. one never knows what causes these things until one digs a little bit. and i appreciate the time you took to sort it out and follow-up here.

Hi I got a question, why is this addon using so much memory?
It's in the list on the 1. position with 3.41 MB.
I turned off all data collection and reset the aliases.
Over half of the modules are disabled.

You realize that's like saying "This is 3.41 millimeters, why is it so big?"

Most people have ram in the multiples of gigabytes. 3.41 MB is less than one percent of one gig of ram. Stop worrying about ram usage in your addons, worry about features/bugs and just play and enjoy the game.

__________________
“I don’t know half of you half as well as I should like; and I like less than half of you half as well as you deserve.” — Bilbo Baggins, from his speech on his eleventy-first birthday.

Originally posted by zerocooly2kde Hi I got a question, why is this addon using so much memory?

Thortok is correct, 3.41Mb is not a lot of memory these days, compared to any number of other addons, and Aloft has a lot of little fiddly features, which translates into a fair bit of LUA. Aloft typically runs about 15th on my list for memory, and about 20th on my list for CPU, and as the author i run with all modules loaded and all features enabled (and FYI, in that form Aloft uses about 2Mb for me).

having said that (and setting that issue aside for the moment), you can take a look at doing several things:

- under "Data Options", disable everything (these control retention of class, race, creature type, guild, and other dynamically queried information between sessions; this can save a little time, in terms of data lookup when you mouse over things, but the saved information slowly grows without bound)

- if you are a DPS class, turn off all friendly nameplates, or enable the "Auto Show" module and use the "Show Friendly Nameplates" options to disable friendly nameplates dynamically under most circumstances

- if you are a healing class, do something similar with hostile nameplates (turn them all off, or enable the "AutoShow" module and set it up, etc)

in general, at runtime, Aloft's resource usage seems to scale fairly linearly in terms of how many visible nameplates it is dealing with. the number of features enabled does not seem to have as large an impact (on framerates, and etc) as the raw number of visible nameplates.

I tried setting up the nameplates to show the border only when it's my target, but seem to get some interesting results.

Most notably, when I engage a mob from a distance that is outside the nameplate visibility range the border doesn't show up. If I get close enough to have the nameplate appear before aggroing the mob, then it displays.
The border also doesn't seem to change when I'm switching between targets during combat.
It appears there is a combat related issue, as I can stand amongst friendlies and jump between targets without any problem.

I'm using the nameplate glow on the healthbar, so no actual glow effect. I also have the threat colors inverted.

Originally posted by ibumar I tried setting up the nameplates to show the border only when it's my target, but seem to get some interesting results.

Most notably, when I engage a mob from a distance that is outside the nameplate visibility range the border doesn't show up. If I get close enough to have the nameplate appear before aggroing the mob, then it displays.
The border also doesn't seem to change when I'm switching between targets during combat.
It appears there is a combat related issue, as I can stand amongst friendlies and jump between targets without any problem.

I'm using the nameplate glow on the healthbar, so no actual glow effect. I also have the threat colors inverted.

there are some odd artifacts related to being in combat, and what you can do to a nameplate when you are in combat.

explicitly showing/hiding a nameplate (as a whole) that is visible at the time you enter combat or becomes visible (made visible by Blizzard, due to coming into range) during combat, or altering certain graphical aspects (like changing textures, or borders, or font styles, or overall display dimensions), seem to suffer from some limitations. attempting these things (and Aloft may indeed be attempting them) is simply ignored by the Blizzard UI, and may generate an "Interface action failed because of an AddOn" error message in your default chat window. you can take a look and see if you see error messages of that nature.

explicitly showing/hiding certain sub-components (like glows, mana/threat bars, etc; things that are added by Aloft, not explicitly supplied by Blizzard), changing things like colors, or altering what value a "status bar" displays (i.e. altering the values being displayed by health/mana/threat bars, making the bars grow/shrink, etc), or altering the values contained in text strings, does not seem to have any limitations (that i have found). turning nameplates on and off during combat (in the keybinding sense, i.e. enabling/disabling all hostile nameplates) is also permitted.

alas, these rules are not documented anywhere.

as for glows, if i am understanding you correctly, you are confirming that you are not expecting any glows (i.e. you have inverted them, and want them to go away when you have established aggro)?

anyway, i will reproduce the scenarios you have described, review Aloft's behavior, and make sure i have not missed anything. but i must warn you, i have been through this stuff before (i just don't remember the fine details ). i may or may not be able to improve on the situation. we will see what turns up, and i will follow up here when i have some useful information to report.

addendum:

you can also execute the following console command:

Code:

/console taintlog 1

this will enable a log file in your game install folder, under ...\Logs\taint.log (and doing this again, with "0" as a value instead of "1", will disable the log file). as far as i can tell, this log file is overwritten when you begin a new game session (i.e. bring a character into the game), so you have to be careful with it, and it is quite noisy/verbose (and somewhat cryptic if you have not worked with addons before... uh, kind of like me ), but if Aloft is involved, it will be mentioned by name in that file. if it becomes relevant, you can send me a private message here at WoWInterface and i will respond with an email address (and you can send me a copy of that log file).

I didn't see any "Interface action failed because of an AddOn" messages, but I'll look for them specifically and let you know if there are indeed any.

as for glows, if i am understanding you correctly, you are confirming that you are not expecting any glows (i.e. you have inverted them, and want them to go away when you have established aggro)?

I'm using the health bar colors to display the treat-glow, rather than the glow effect, and have it inverted. It works as I'm expecting, just wanted to give you that info in case it is relevant to the frame-border issue.

Originally posted by ibumar I didn't see any "Interface action failed because of an AddOn" messages, but I'll look for them specifically and let you know if there are indeed any.

as far as i can tell, threat bars are working "correctly" (the target receives a border if it appears after combat starts), mana bars are working "incorrectly" (target is not receiving a border if it appears after combat starts; i will try to fix this, mana bars should not really operate any differently than threat bars, as far as these issues are concerned), and health bars are "protected" (as part of the original Blizzard nameplate, cannot be tweaked after combat starts; i will try some workarounds and make certain this is actually the case).

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.