Healthstone Trader, by Asheyla of Warcraft Gaming Faction, Shattered Hand Horde.  

This addon is designed to automate the process of handing out healthstones by warlocks, and can be initiated by the user or a whisper.  

There is one key binding: it does several things:
-- if a friendly player is targetted, will initiate sequence
-- if a trade window is open, will just put a HS there (overrides target)
-- if no target and no highest rank HS in inventory, creates one
-- if no target and has HS , spams say or party or raid
-- if in combat and HS (highest/one less than highest rank), uses it
-- if in combat and no HS, makes one
-- other things, prompted by ingame messages

It checks various conditions, such as in range, already trading, combat-ness, etc. before actually trading, so it cannot really interrupt play.  selecting a person and pressing the key binding overrides most of these contraints.  

In-game menu is accessed by typing /hst help.  this is what it brings up:

Healthstone Trader Help Menu:
/hst on: enables HST
/hst off: disables HST
/hst status: shows the status of this addon
/hst reset: use if you get an error; resets variables
/hst ban [off,nongroup,all]: bans requests from specified
/hst confirm [off,nongroup,all]: seeks confirmation from specified
/hst clear queue: clears the queue
/hst show queue: shows the queue
/hst help advanced: shows the advanced help menu
/hst menu: show the menu

Healthstone Trader Advanced Help Menu:
/hst ban [player,class]: bans requests from this player/class
/hst unban [player,class]: unbans requests from this player/class
/hst clear banned: clears the BanList
/hst show banned: shows the BanList
/hst queue remove [player]: removes that player from the queue
/hst spam: [msg]: changes the spam message
/hst trigger [msg]: will initiate trade if msg is whispered to player
/hst untrigger [msg]: stops checking for msg in whispers
/hst show triggers: shows all the whisper trigger words
/hst toggle ui: toggles the ui
/hst afk [on,off]: if on, requests will go straight to queue
/hst toggle header: toggles displaying \"HST: \" on outgoing msgs
/hst scale [value]: sets the UI scale to value*normal size
/hst threshold [#]: will block whispers if fewer than # soul shards
/hst add player [player]: adds that player to the queue
/hst add class [class]: queues all people in your group of that class

don't be intimidated by all the options; the default settings accomplish everything necessary.

the UI has 5 buttons and a table, and can be dragged by holding down the top right corner.  the buttons do the following things: performs the key binding, clears the current table, displays the menu, hides most of the UI, and toggles the visible table.  the tables are the queue list, ban list, and trigger list.  the ban list has the class warlock in it by default.  the trigger list has 6 things in it by default as well.  

NEW IN 2.2: a graphical menu, some changes to the order of events, a change to how the UI is scaled/dragged
NEW IN 2.1: toggling header, scaling of UI, soul shard thresholds, adding players/classes to queue
NEW IN 1.3: a user interface, other random features.  just look at the ingame menu for all the new features. also some bug fixes
NEW IN 1.2: a queue system instead of busy messages, and a support for trading multiple healthstones.  after putting up the first one, the addon will prompt you to press the keybinding if you want to make another.  you have 3 seconds to press it, or else the trade is accepted normally.

That's the extent of the addon; it has been tested fairly well, but there might be a couple issues I missed.  If so, just leave a comment and I'll fix it.  Suggestions for extra features are also appreciated =]

the addon is also suited for lower levels! it detects the maximum rank of HS the player has (assuming they bought it from the trainer...) and wont try to cast spells the poor lowbie doesnt have.  also, the addon detects the level of the target, so that a level 13 wont get a major HS.  Note: this feature does not work for when the trade window is already open.  the game requires the person to be selected, moused over, or in party in order to detect level. 



Thanks!

