Download
(51 Kb)
Download
Updated: 01-02-11 12:16 PM
Updated:01-02-11 12:16 PM
Created:04-01-09 11:22 AM
Downloads:19,085
Favorites:103
MD5:
AloftCastWarning (Beta)  Popular! (More than 5000 hits)
Version: AloftCastWarning-4.0.1-2048
by: acapela [More]
NOTE: This addon is now part of core Aloft, incorporated as a module. Versions of Aloft from 4.2.X onwards (including the mainline Aloft-4.3.X version and onwards) all incorporate this functionality. It is no longer necessary to install this as a separate addon. Standalone versions of this addon will NOT work with WoW 4.1 or later.
-----
NOTE: This is now an Ace3 addon. AloftCastWarning-1.0.0 (and subsequent versions) will NOT WORK with any Ace2 version of Aloft. You will need Aloft-4.X.
-----
This addon provides a "pseudo" cast bar for identifiable non-target units with visible nameplates (in addition to Aloft's normal target cast bar). This addon ignores the player's current target (on the assumption that the normal target cast bar is available for that purpose).

There are limitations (gory details in README.txt, which is enclosed within the addon. Please review it). To summarize: for PvE (and NPC targets generally), you need to be in a group/raid, a groupmember needs to have the unit targeted, and the unit needs to have a raid target assignment (i.e. an icon). For battlegrounds (PvP, PC targets), a groupmember needs to have the unit targeted. In arenas (PvP, PC targets), it should just work (though it has not been extensively tested there).
-----
This is packaged as a standalone addon, and should be installed as such, but it requires Aloft in order to function. Without Aloft, this addon will just silently fail to initialize.

Remember to enable this addon, as well as Aloft, on the Blizzard addon control screen.

NOTE: Aloft installs into .../Interface/AddOns/Aloft, and THIS addon should install into .../Interface/AddOns/AloftCastWarning. i.e. Copy the contents of this addon's ZIP into .../Interface/AddOns as you would any other standalone addon.

This addon requires Aloft-4.X (preferably the most recent), and is intended to work under WoW 4.0.1 (and the Cataclysm Beta). This will also work with the Aloft Alpha.

The major version numbers of AloftCastWarning have been matched with Aloft, as a way to simplify which version works with which (i.e. Aloft 4.X should be compatible with AloftCastWarning 4.X).

Please delete your AloftCastWarning.lua saved variables file when you install the most recent version of AloftCastWarning.
-----
In order to track defects, PLEASE report any problems in THIS addon's comments and/or via THIS addon's bug reporting mechanism here at WoWInterface (do not use the general Aloft addon for reporting problems with THIS addon).

This addon is still EXPERIMENTAL. Incredibly detailed problem reports are probably not necessary, but please be prepared to work with the author to figure out how to reproduce your errors.

Also watch for efficiency problems. If you feel this addon is eating large amounts of runtime memory and/or slowing your framerates down, let me know, and I will investigate.

I will construct a "real" front page for this addon at some point (basically massaging README.txt into something useful). In the meantime, please review README.txt.

Enjoy!
----------
As always, AloftCastWarning is free with your materials, but if you want to donate: Click here to lend your support!
4.0.1-2048
- fixed problem in AloftCastWarningLocale.lua preventing options from loading properly

4.0.0-1893
- TOC update to 40000 (for WoW 4.0.1/Cataclysm)
- made major version match that of Aloft (both 4.X; hopefully will help avoid future confusion over which basic/major version of AloftCastWarning to use with which version of Aloft)

1.0.5-1871
- enhanced all borders to expose edgeSize (thickness) and inset (padding) as user options

1.0.4-1844
- fixed intermittent bug related to trying to track spells with zero cast duration
- enhanced to delete spells with zero cast duration from the spell database (we don't want to track them, we certainly don't need to save them)
- fixed various problems with proactive cleanup of spell database

1.0.2-1809
- 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)

1.0.1-1780
- added "comprehensive" checks to AloftCastWarning's options menus to insure that the associated module is enabled before updating options

1.0.0-1764
- initial production Ace3 release
- NOT COMPATIBLE with versions of Aloft before 3.1.0
- file manifest is the same as older versions (should be able to just install); your saved variables should be OK
- revised definition of "friendly", to "not UnitCanAttack()"; "UnitIsFriendly()" returns true for same-faction duel opponents, and "UnitIsEnemy()" may report false for neutral units

0.7.9-1599
- applied a blend mode on all texture regions (including backdrops) to "improve" behavior of UI object layering

0.7.8-1588
- enhanced to provide a cast warning bar in some situations when the player's target changes and the target cast bar is not available

0.7.7-1531
- small internal change that improves UI element layering in WoW 3.3 (harmless in WoW 3.2)

0.7.6-1430
- moved some target tracking capabilities into Aloft's target tracking, to facilitate Aloft combat text association with non-target/non-group nameplates
- rationalized the spell school colors more closely with Blizzard's standard combat log spell colors

0.7.5-1354
- added configurable option to direct AloftCastWarning to change alpha of visible nameplates engaged in detectable/warnable cast activity (requires Aloft-2.8.10-0000 or later, requires AloftAlpha module to be enabled)
- fixed a bug related to re-casting the same spell while the earlier cast is still "fading"

0.7.4-1254
- fixed a typo in unit channelled spellcast processing
- commented out some diagnostics that survived into the 0.7.3 release

0.7.3-1242
- replicated Blizzard "shield" graphics for uninterruptable spells with a graphic over the cast warning spell icon (look at "Cast Warning>Spell Icon>Shield" options)
- added features to detect and change cast warning color/texture/border on uninterruptable spell casts, provide separate cast warning options for interruptable/uninterruptable spells

0.7.2-1189
- updated TOC for WoW 3.2
- fixed a bug in combat log processing that was causing cast warnings to end prematurely
- fixed a bug with fade processing that was causing cast warnings never to fade

0.7.1-1150
- fixed TOC typo, now 30100
- adjusted frame level and draw layers of various cast warning assembly elements to rectify potential layering problems

0.7.0-1125
- updated TOC to interface version 31000
- extensively refactored combat log event handling, to use both "UNIT_SPELLCAST_*" and "COMBAT_LOG_*" events to detect spells
- fixed numerous small mistakes/misconceptions in combat log event handling (no doubt there will be more to come)
- cast warnings should now appear regardless of whether the addon has seen the spell before
- extensively refactored saved variables handling, so that useful spell information is collected/saved, and incomplete information is deleted at each game sessoion start
- should show spell warnings on arena opponents without needing mouseover/etc; needs testing

0.6.1-932
- added separate text colors for active cast and fade processing
- added pool for active cast records (cuts down on dynamic table construction/destruction)

0.6.0-903
- initial beta version
Optional Files (0)


Archived Files (5)
File Name
Version
Size
Author
Date
AloftCastWarnin
51kB
acapela
11-03-10 12:42 PM
AloftCastWarnin
51kB
acapela
07-13-10 08:29 PM
AloftCastWarnin
51kB
acapela
06-18-10 05:57 PM
AloftCastWarnin
50kB
acapela
05-04-10 02:31 PM
AloftCastWarnin
50kB
acapela
04-20-10 01:25 PM


Post A Reply Comment Options
Old 03-06-10, 09:11 PM  
lustful
A Kobold Labourer

Forum posts: 1
File comments: 8
Uploads: 0
yea I have aloft installed, I also tried the aloft ace3 version today and after something like 10 games there's only 1 time where I noticed it didnt work on a paladin casting heals but the next game I played agaisnt the same paladin and it worked that time (I made sure I didnt have him ever targetted or on focus to make sure its working right).

I also noticed something else, the cast bars on the nameplates of the players that I didnt have targetted or on focus were choppy compared to the cast bars of people I had targetted or on focus. I would imagine since it SHOULD be taking information from their arena unit ids their cast bars would be really smooth like if I had them targetted. I am starting to think that even if I am in arenas, it is still recording spells instead of just directly taking the information from the arena unit ids. By the way I had the verification interval set to 0, it was a bit more smooth but I still noticed the cast bars being choppy.
Last edited by lustful : 03-06-10 at 09:12 PM.
lustful is offline Report comment to moderator  
Reply With Quote
Old 03-06-10, 09:24 PM  
lustful
A Kobold Labourer

Forum posts: 1
File comments: 8
Uploads: 0
Oh, I can definatly confirm it is not taking its data from the arena unit ids, I just saw a shaman casting a 1.5s ghostwolf when it was clearly instant cast because of the talent of course. haha
lustful is offline Report comment to moderator  
Reply With Quote
Old 03-15-10, 01:12 PM  
acapela
A Cobalt Mageweaver
AddOn Author - Click to view AddOns

Forum posts: 236
File comments: 1293
Uploads: 6
Originally posted by lustful
Oh, I can definatly confirm it is not taking its data from the arena unit ids, I just saw a shaman casting a 1.5s ghostwolf when it was clearly instant cast because of the talent of course. haha
for those of you having problems with AloftCastWarning in arenas, please give the Ace3 version of Aloft a try. it comes bundled together with an Ace3 version of AloftCastWarning.

i applied a few "fixes" intended to track targets "better" in arenas. let me know if things are working (or not) with these Ace3 versions of the Aloft addons.
__________________
Current author/maintainer of Aloft (the nameplate addon)
http://www.wowinterface.com/download...AloftBeta.html
-----
Zippy said it best: "All life is a BLUR of Republicans and Meat!"
acapela is offline Report comment to moderator  
Reply With Quote
Old 03-24-10, 10:25 PM  
tnbp
A Kobold Labourer

Forum posts: 1
File comments: 92
Uploads: 0
Originally posted by acapela
should still be working. however, there are limitations.

in PvE, to see cast bars on non-targets, you need to be in a group/raid, a groupmember needs to have the unit targeted, and the unit has to have a raid target assignment (i.e. an icon).

i just updated the front page of the addon with these limitations (and some additional specifics for PvP). hopefully that will make this thing a bit less cryptic .
Oh, that's too bad. It didn't used to work like this, did it? I have always used it for solo play, for example, and knowing when a non-targeted add was casting a spell I needed to interrupt. Or when I was tanking in a group under the same circumstances. If the group I'm tanking for is functioning well, they are targeting my target, so I no longer know if a second mob is casting something that might be an issue.

Did something change along the way?
tnbp is offline Report comment to moderator  
Reply With Quote
Old 03-26-10, 02:38 PM  
acapela
A Cobalt Mageweaver
AddOn Author - Click to view AddOns

Forum posts: 236
File comments: 1293
Uploads: 6
Originally posted by tnbp
Oh, that's too bad. It didn't used to work like this, did it? I have always used it for solo play, for example, and knowing when a non-targeted add was casting a spell I needed to interrupt. Or when I was tanking in a group under the same circumstances. If the group I'm tanking for is functioning well, they are targeting my target, so I no longer know if a second mob is casting something that might be an issue.

Did something change along the way?
let me put it this way: nothing changed intentionally .

against PvP targets (players are assumed to have unique names, so Aloft can "always" find the correct nameplate based on unit name), AloftCastWarning has always been a bit more featureful. it needs a mouseover to collect the unit GUID, but after that it can watch the combat log (based on that GUID) and provide at least basic cast warning indicators.

for PvE targets, there is no way around it: you need that "nameplate identification" (in the form of a raid target icon). otherwise, Aloft has no way of differentiating visible nameplates for one mob of a given name/level from any other of the same name/level. and at least a mousover is required here as well (for the unit GUID, so Aloft can watch the combat log).

in all cases, a unitid allows more accurate/reliable casting information to be gathered. Blizzard provides unitids for principal arena opponents (so this "should always" work in arenas... again, i am choosing words carefully here). other than that, a groupmember (at least a pet) needs to have the unit targeted.

this is how it "always worked", from the outset.
__________________
Current author/maintainer of Aloft (the nameplate addon)
http://www.wowinterface.com/download...AloftBeta.html
-----
Zippy said it best: "All life is a BLUR of Republicans and Meat!"
acapela is offline Report comment to moderator  
Reply With Quote
Old 04-16-10, 08:01 PM  
acapela
A Cobalt Mageweaver
AddOn Author - Click to view AddOns

Forum posts: 236
File comments: 1293
Uploads: 6
Release: AloftCastWarning-1.0.0-1764

The Ace3 version of AloftCastWarning is now ready for main release (pending moderator approval): AloftCastWarning-1.0.0-1764.

the MAIN thing to remember here is that this will NOT WORK with ANY Ace2 version of Aloft. make sure you update that as well (you want Aloft-3.1.0-1765 or later).

your saved variables should be compatible, but you might want to back those up before upgrading. as well, you might want to delete your current installed AloftCastWarning addon (i.e. install from scratch).

this version has a few small but fairly important bug fixes relative to the most recent Ace2 version; hopefully you will all find that it works "better".

as always, please let me know if there are any problems.
__________________
Current author/maintainer of Aloft (the nameplate addon)
http://www.wowinterface.com/download...AloftBeta.html
-----
Zippy said it best: "All life is a BLUR of Republicans and Meat!"
Last edited by acapela : 04-16-10 at 08:01 PM.
acapela is offline Report comment to moderator  
Reply With Quote
Old 04-20-10, 01:26 PM  
acapela
A Cobalt Mageweaver
AddOn Author - Click to view AddOns

Forum posts: 236
File comments: 1293
Uploads: 6
Release: AloftCastWarning-1.0.1-1780

a new release of AloftCastWarning is available (pending moderator approval): AloftCastWarning-1.0.1-1780.

this is mainly intended to fix the main LUA errors encountered while enabling/disabling modules (as reported by Thortok2000, plus a few i discovered myself).

revisit your favorite bug, see if the behavior has changed, and feel free to report any problems here (and mention your Aloft/AloftCastWarning versions, your WoW version, and include your LUA error and/or a screen shot if relevant).
__________________
Current author/maintainer of Aloft (the nameplate addon)
http://www.wowinterface.com/download...AloftBeta.html
-----
Zippy said it best: "All life is a BLUR of Republicans and Meat!"
acapela is offline Report comment to moderator  
Reply With Quote
Old 05-04-10, 02:34 PM  
acapela
A Cobalt Mageweaver
AddOn Author - Click to view AddOns

Forum posts: 236
File comments: 1293
Uploads: 6
Release: AloftCastWarning-1.0.2-1809

a new release of AloftCastWarning is available (pending moderator approval): AloftCastWarning-1.0.2-1809.

this contains fixes (hopefully) for the #132 crash problem. feel free to enable borders on all your Aloft nameplate bar graphics.
__________________
Current author/maintainer of Aloft (the nameplate addon)
http://www.wowinterface.com/download...AloftBeta.html
-----
Zippy said it best: "All life is a BLUR of Republicans and Meat!"
acapela is offline Report comment to moderator  
Reply With Quote
Old 05-12-10, 01:38 PM  
strickland
A Deviate Faerie Dragon

Forum posts: 13
File comments: 163
Uploads: 0
Thanks for the updates, just a quick question, for me the enemy castbar(non-targetted person) tends to work sometime, another time it doesn't work at all, how does that addon function? a friend of mine told me, that one of my mates should have that person targetted, of which i'm not targetting for it to display his cast.


Cause like 50% of the time, the enemy castbar doesn't work for me on the person i'm not targetting -.-

thanks
strickland is offline Report comment to moderator  
Reply With Quote
Old 05-15-10, 02:29 PM  
acapela
A Cobalt Mageweaver
AddOn Author - Click to view AddOns

Forum posts: 236
File comments: 1293
Uploads: 6
Originally posted by strickland
Thanks for the updates, just a quick question, for me the enemy castbar(non-targetted person) tends to work sometime, another time it doesn't work at all, how does that addon function? a friend of mine told me, that one of my mates should have that person targetted, of which i'm not targetting for it to display his cast.


Cause like 50% of the time, the enemy castbar doesn't work for me on the person i'm not targetting -.-

thanks
you don't make it 100% clear what the context is (what version of this addon you are using, whether you are in arena, BG, or doing PvP at all, whether you want cast warnings for just hostiles or friendlies as well, etc). i am going to assume you are using the most recent version in a BG, and you want to track hostile players (this seems the most consistent with what you are describing).

there are a few things that must be taken into account.

if a groupmember (even just a pet) has a unit targeted, then the unit will have a "unitid" and a stricter tracking of spell cast activity is possible (that can query for the actual duration of the spell cast, detect voluntary cancel action, and etc). this should also happen in arenas even without a groupmember target (all targets have a unitid provided up-front by Blizzard, which the addon "pre-loads" when it detects that it is in an arena).

if not, the addon tracks spell cast activity based on the combat log. but to track the combat log for a unit, the unit GUID needs to be identified, which requires a recent mouseover of the unit. if an enemy comes into view and starts casting, before you have done a mouseover, nothing will show.

as well, in PvP, PCs have unique names, so their nameplates can be uniquely identified based just on unit name. in PvE, you need raid target icons assigned (otherwise, multiple mobs could have the same unit name and level, Aloft would have no way to uniquely identify their nameplates, and nothing will show).

finally, you might check and make sure you have the "Cast Warning>Players" option enabled. you probably do, i just want to cover all the bases.

hope that helps.
__________________
Current author/maintainer of Aloft (the nameplate addon)
http://www.wowinterface.com/download...AloftBeta.html
-----
Zippy said it best: "All life is a BLUR of Republicans and Meat!"
acapela is offline Report comment to moderator  
Reply With Quote
Old 06-18-10, 05:58 PM  
acapela
A Cobalt Mageweaver
AddOn Author - Click to view AddOns

Forum posts: 236
File comments: 1293
Uploads: 6
Release: AloftCastWarning-1.0.4-1844

a new release of AloftCastWarning is available (pending moderator approval): AloftCastWarning-1.0.4-1844.

this release fixes a few bugs (see the change log).

as always, please report any problems.
__________________
Current author/maintainer of Aloft (the nameplate addon)
http://www.wowinterface.com/download...AloftBeta.html
-----
Zippy said it best: "All life is a BLUR of Republicans and Meat!"
acapela is offline Report comment to moderator  
Reply With Quote
Old 07-13-10, 08:29 PM  
acapela
A Cobalt Mageweaver
AddOn Author - Click to view AddOns

Forum posts: 236
File comments: 1293
Uploads: 6
Release: AloftCastWarning-1.0.5-1871

a new release of AloftCastWarning is available (pending moderator approval): AloftCastWarning-1.0.5-1871.

this contains a single "feature": exposing cast warning bar border thickness and padding (inset) as user options.
__________________
Current author/maintainer of Aloft (the nameplate addon)
http://www.wowinterface.com/download...AloftBeta.html
-----
Zippy said it best: "All life is a BLUR of Republicans and Meat!"
acapela is offline Report comment to moderator  
Reply With Quote
Old 08-23-10, 04:06 AM  
xxavx
A Kobold Labourer

Forum posts: 0
File comments: 2
Uploads: 0
First off, thanks a lot for your efforts and time spent developing this addon. It was always been my favorite.

I play PvP, a lot. I really mean it, a LOT of PvP. In case you were not around in The Burning Crusade Aloft team (I didnt take the time to research you, sorry!), all player nameplates displayed a castbar by default. I never had to configure anything special, by default all castbars for all PvP targets always appreared in battlegrounds, arenas, and world-PvP. I play a warrior class since then, and interrupting secondary targets (polymorphs, cyclones, healing spells, etc.) was by then extremely easy provided the target was in melee range.

For some reason, after WotLK came, this nameplate castbar functionality got disabled. Of course, the target castbar is still there, but enemy casts that are not your target, simply do not display it (nothing you didn't know, so far). Since then I have had a very very hard time interrupting my PvP enemies, because I tend to watch nameplates more that I watch the actual players. Even worse, if an enemy has started casting something and I didnt have him in target, not even after tabbing him mid-cast the bar will display: all this together makes it extremely hard to me to know whether he faked the heal, or he didn't, whether he is casting a "Lesser Healing" or a "Major healing" (they look the same), is he casting a CC spell or a damaging spell. I truly, really, deeply hate Blizzard for removing this functionality when WotLK came.

Since then I have been desperately looking for an addon that displays non-targeted PvP players castbars, until I gave up. The last thing I tried a few months ago was TidyPlates: CleanPlates, which didn't work as expected either. Today I woke up with the desire to find an addon that does what I need, and found ThreatPlates and your Aloft. I am about to independently try both of them at the moment, and hope for the best.

First off, I am extremely happy that Aloft works when you previosuly mouseover'd a player, which ensures it works ~90% of the times in BG's, and ~99% of the times in arena. I woould be extremely happy to finally see those damn enemy castbars, and to donate if that is the case. Tho I have been reading all the comments and I still cannot understand why Aloft needs the mouseover, I don't get the ID things you wrote in previous posts. Try to understand my point of view: if the combatlog reads, "Amage starts casting Frostbolt.", how can it be not possible to find Amage's nameplate and slap a 2 second Frostbolt cast on it? I don't understand it.

Please, excuse my random rambling and accept my thanks once again for developing this awesome addon.
Cheers,
TeÓ
xxavx is offline Report comment to moderator  
Reply With Quote
Old 08-23-10, 04:18 PM  
acapela
A Cobalt Mageweaver
AddOn Author - Click to view AddOns

Forum posts: 236
File comments: 1293
Uploads: 6
Originally posted by xxavx
...In case you were not around in The Burning Crusade Aloft team (I didnt take the time to research you, sorry!)...
yeah, i took over Aloft just before BC came out (started working on it privately in August of that year... what was it, 2006?). went "official" around October of that year (with a release intended for the WoW 3.0 PTR, just before BC was released), and have supported it ever since.

currently waiting for the Cataclysm beta to enable addon usage (Blizzard currently has all addons disabled while they debug the default UI), so that i can get Aloft ready for that. (THANK YOU, WoWInterface, for my beta key; my Worgen Druid is level 10, enough to get a basic feel for things .)

however, i have never been big into PvP, so i don't know what features were available on nameplates in PvP back then, nor am i aware of what changed when WotLK came out.

Originally posted by xxavx
...I still cannot understand why Aloft needs the mouseover...
this ends up being incredibly complicated (in terms of the actual sequence of events Aloft engages in).

but basically, it comes down to being able to associate spell cast activity, from the combat log, with a visible nameplate on the screen.

Blizzard does not provide any help with identifying nameplates or associating them with in-game actors (aka "units"). nameplates are just anonymous screen objects with graphics and text associated with them (health bar, unit name/level, etc). very "primitive", actually. so, Aloft has to have a way to "connect the dots".

in PvP, when you mouse over a nameplate (or a 3D model), the "mouseover" unitid becomes active for a moment, and Aloft can determine whether the associated unit is a player (and therefore has a unique unit name; being able to assume a unique unit name is a vital simplifying assumption Aloft has to be able to rely on in PvP), and if so, Aloft makes an internal record of the unit name and the unit GUID. GUID is used because every unit has one (including PvE mobs, which Aloft also handles, though there are more restrictions).

(stuff like "unitid" and "GUID" are specific terms of art in the WoW addon world; links to the WoWWiki pages on them are provided in the text above. if you haven't ever done any computer programming, the stuff at WoWWiki will probably be very cryptic.)

from there, in PvP, Aloft can identify the nameplate (if it is visible) by unit name, and it can watch the combat log for spell cast activity, tracked by unit GUID, and use the unit name<->GUID record that it keeps to connect the dots and animate a cast bar on the nameplate (based on activity in the combat log).

without that mouseover action, Aloft never has the opportunity to gather/record those little bits of information required to connect the dots.
__________________
Current author/maintainer of Aloft (the nameplate addon)
http://www.wowinterface.com/download...AloftBeta.html
-----
Zippy said it best: "All life is a BLUR of Republicans and Meat!"
acapela is offline Report comment to moderator  
Reply With Quote
Old 10-12-10, 01:13 PM  
acapela
A Cobalt Mageweaver
AddOn Author - Click to view AddOns

Forum posts: 236
File comments: 1293
Uploads: 6
The "current" version of AloftCastWarning (AloftCastWarning-1.0.5-1871) is compatible with Cataclysm Beta, and should be compatible with WoW 4.X (which is currently patching to North America "now", 2010/10/12), without changes.

However, the TOC will be out of date, so don't forget to enable out-of-date addons on your Blizzard addon selection screen.

I will get a TOC-update out as soon as I can. In the meantime, report any/all bugs with AloftCastWarning here.
__________________
Current author/maintainer of Aloft (the nameplate addon)
http://www.wowinterface.com/download...AloftBeta.html
-----
Zippy said it best: "All life is a BLUR of Republicans and Meat!"
Last edited by acapela : 10-13-10 at 12:20 PM.
acapela is offline 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.