WeaponRebuff
Series 3
Version 3.0f
$Rev: 52762 $
$LastChangedDate: 2007-10-21 03:08:30 -0400 (Sun, 21 Oct 2007) $

WeaponRebuff is a small mod that makes buffing weapons (and keeping them buffed) simple and easy. Rebuffing a weapon is a mouse-click away and with warnings for timed buffs, charge-based buffs, and low-item-count for buff items (e.g. poisons, sharpening stones, fishing lures, etc) you'll never be caught unintentionally unbuffed again.

== How to Use ==
* left mouse-click rebuffs your weapon with the last known charge/spell
* right click opens a buff selector of available buffs and charges for your weapons
** left-click the buff for Main Hand application; right-click for Off Hand application

== Supports ==
* rogue poisons
* sharpening and weight stones
* spell-based weapon buffs for shamans/druids
* wizard & mana oils
* fishing lures
* and user defined spells and items

== Features ==

=== Rebuff Buttons and Data Display ===
* show/hide buff text (for the minimalists)
* vertical or side-by-side icon display
* hide/show off-hand
* strata control (move it above or behind those pesky windows)
* dual-buffing for spell-based buffs: since these type spells cast only on the main hand, buffs can be "applied" to the off-hand shield allowing both buffs to be available

=== Buff Selector ===
* text or icon selector buttons (w/ re-sizable fonts)
* different combat / non-combat selector configurations
* a range of buff selector layouts to help fit into any UI layout
* option to auto-show buff selector menu when combat starts 
** for when you may want to change the buff you're using mid-combat in a raid
** or during that pesky PvP 5-sec combat cooldown
** or perhaps you've added other items/spells to the Buff Selector (see User Configurability)

=== Alerts and Warnings ===
* sound options and text options for when your buffs '''are''' fading
* sound options and text options for when your buffs '''have''' faded
* text warning options when you are running out of buffing-items (poisons, etc) 
* option to set the warning threshold from 1 to 60seconds
* automatic alert suppression for WindFury

==== Buff Information Colors ====
* Blue: Active Buff
* Yellow: Buff in last 60 secons
* Red: Unbuffed
* Green: Windfury (Windfury is a max of 9 seconds pulsing buff which shouldn't be consideed "about to drop" as this can be more than a bit confusing)

==== Alert Sound Options ====
* sounds from in-game
* sounds registered via SharedMediaLib from other mods
* your custom sounds: replace the two included .wav files
** as a bonus, since these files are registered with SharedMediaLib, you can use them in other mods using SharedMedia

=== User Configurability ===
==== FuBar / MiniMap ====

* configurable FuBar/MiniMap Button click-modes (click/shift-click/ctrl-click) for convenience

==== Buffing Items / Spells ====
* a default list of many buffing items and spells is included; however, each list is user-editable to add and remove items as the user sees fit
** The list of spells is small and contained in one Spell Category
** Buffing Items are numerous and are broken down into 5 categories:  '''Poisons''', '''Wizard/Mana Oils''', '''Weight/Sharpening Stones''', '''Fishing Lures''', '''Miscellaneous''' (the latter contains no items by default)
*** Each category may be enabled or disabled for performance

This flexibility allows a great deal of personalization and can lead to some strange setups when combined with other options:  a paladin jokingly (I ''hope'') made this declaration:  I've setup the buff selector to show when combat starts and I added a spell and item to the buff lists so now when I get in combat I have my sharpening stone, bubble, and hearth all lined up and ready to go!  


=== Additional Buffing Modes ===

==== 2-buff Mode ====
* 2-Buff Mode option (hides after two buff selections instead of one)  
* One-time "2-Buff Mode" when Shift-RightClicking (when you don't want it as a constant feature)

==== Fishing Mode ====
* "Fishing Mode" toggle is available from the FuBar/MiniMap button click events
* when active an "F" will display in the FuBar caption (instead of "m/o") and only fishing lures will display as buffing options.
* "Fishing Mode" buffs are remembered separately so there is no need to 'reset' them when entering/leaving "Fishing Mode"

== Slash Commands ==
WeaponRebuff uses the typical Ace2 Options table so all of the configuration dialog features are available via slash commands

==== Getting Started ====
* /wr - options, help, and additional commands

==== Frequently Used Slash Commands ====

* /wr lock - toggles window movement on/off
* /wr config - opens the configuration menu
* /wr position {left/center/right} - FuBar placement options (for folks with crowded FuBar setups)

== Custom Sound Options ==
Two .wav files (warning.wav and lost.wav) are included. You can replace them with your own .wav files, just name them "warning.wav" and "lost.wav" respectively

== Localizations ==
* English
* French
* German
TRANSLATION HELP REQUESTED: The German and French translations could use additional assistance.

== Credits ==
Opt: Original Author

-------------------------------------------------------
Requests under consideration but NOT on the to-do list

* Keybinds for buffing
* Keybinds for buff selector
* Temp bars to show time remaining
* Buff Item/Spell icon instead of text
* Detachable buff selector


Some of these are over the top; however, if they can be done in modules ( you can choose not to use those features ) I might be talked into them, time allowing.
-------------------------------------------------------
Changes for 3.0f BETA (Revision: $Rev: 52762 $ on $LastChangedDate: 2007-10-21 03:08:30 -0400 (Sun, 21 Oct 2007) $)
- Added text placement options (note that some combinations are pretty stupid)
- Move button creation out of xml
- Backgrounding options toyed with and backburnered
- Split up code a bit more so I can find things
- Continued conversion of the DB structure (once all of it's converted, it may be restructured)
- Info Text font sizing and font selection added
- Tooltips can how have their position selected and key-modifiers for rebuff button tooltips added
- Fixed bug with time sensing for sharpening/weight stones
- Added option to 'truncate' any parantheticals between [buff] and [(time remaining)]

FIX: positioning for 2.2

MISSING:  Converstion from 3.0a to 3.0c v -- settings will look bizzare if they work at all.  The "reset position" code may come in handy.  Hey, this stuff happens when you rush out code.

Likely to Come
* Apply buff but do not make it default
* Only show rebuff buttons when rebuff needed

-------------------------------------------------------
Changes for 3.0a (Revision: Rev: 43866 on LastChangedDate: 2007-07-15 14:16:03 -0500 (Sun, 15 Jul 2007) )

- Bugfix: Warning Alerts not always processing properly
- Cleanup: Removed checking code that didn't need to be checked
- Cleanup: Disused localization strings removed -- if anyone ever offers to do translations, localizations will be expanded to more strings
- Bugfix: Buff lost from 2handers sounds alerts for main hand and off hand
- Added: Firestone to the "Suppressed Buffs List" to keep Windfury company
- Added: user-control of suppressed buffs list
- Update: Altered "item unequipped" handling for MH and OH, in and out of combat (note that Blizzard prevents any mod from hiding/showing buttons during combat)
- Bugfix: Corrected errant var causing off-hand text suppression in FuBar tooltip
- Update: Color-corrected FuBar bits to the WR standard

-------------------------------------------------------
Changes for 3.0 RELEASE (Revision: 43694 on LastChangedDate: 2007-07-13 00:46:24 -0500 (Fri, 13 Jul 2007) )

- Old Configuration window shoved into the dustbin
- Commandline configuration (/wr, /weaponrebuff) conformed to standard Ace Options table

- Inelegant "workaround":  the annoying "lost buff" warning when swapping to an unbuffed weapon (notable for rogues who swap out weapons for ambush/backstab) is caused because the alarm is processed before the inventory change event is processed, so the suppressor is set and if the alarm wasn't already given, it would have been suppressed.  Workaround treats any "> 1min to lost" going to "lost" as an automagically suppressed event.  Also coded the warning to auto-suppress if > 5 seconds when the buff was "lost" remaining during the last 60 seconds.
- Translations are badly out of date.  Don't complain, contribute.
- Fixed Frame Strata bug
- Fixed a saved variables bug
- Fixed a bug with persistent 2-buff mode taking too many things into consideration

- Added Waterfall support (b/c GUI >>? multi-layered commandline options alone -- they're still there for you macro fiends, every option in the GUI has a command equivelent)
- Added SharedMediaLib support
- Added additional innate sounds
- Added independent sound/text alerts to "about to lose buff" and "lost buff" areas 
- Added Innate FuBar Support (no need for additional plugins)
- Added in Auto-Ignore for WindFury
- Added configurable FuBar/MiniMap button click responses
- Added 2-Buff Mode (hides after 2 buff selections instead of one)  
- Added one-time "2-Buff Mode" when Shift-RightClicking to bring up the Buff Selector
- Added 'Fishing Mode' (avail from click events): when active only fishing lures are displayed in the buff selector
- Added 'Fishing Mode' buff memory so that it is independant from "weapon mode" buffs
- Added independant categories for items (Poisons, Oils, Lures, Stones, and Misc).  (Rogue Enchanters rejoice)  NOTE: If you add a buff into two categories, it's "number of items" count will be suitably increaed
- Changed the buff color for Windfury to "green" instead of the "> 60sec WARNING" color which could be more than a little confusing.

- Added User Configurable Buffs -- WeaponRebuff supplies a default list of Item-Based and Spell-Based buffs; however, Blizzard being Blizzard and the author being less than omniscient there are apt to be lapses as the game expands, secretarial errors, or just plain poor translations.  This system allows the user to update on-the-fly as new buffing items are encountered or new spells added to the game.  

NOTE 1: These lists are per character so if you want a particular goodie to be added to more than one character you'll have to add it to each char -- one of these days I'll rework how that's all handled but "working at all" trumps "spit polished and shiney enough to bring home to mother"

NOTE 2: IN NO WAY should this replace PMing the author about new finds to keep the default list updated.  Instead, it is added as a way to keep the user happy and let the author get a good night's sleep.

As an unintended (but interesting) side effect, using this system you can add any spell or item to the Buff Selector.  I found myself putting potions and things used "only in combat" on it just for kicks and with WeaponRebuff set to always open the Buff Selector on combat, it proved a pretty cool pop-up.  (You do stuff like this at 3:30am while doing final testing, I'm sure there's medication for it.)

- Added "Duplicate Name" checking
- Attempted "might-be-caused-by-WeaponRebuff" bug-fix-test: wrBuffSelectorTooltip created and used in place of direct GameTooltip (reported by [doxxx]@wowinterface)


--------------------------------------------------
** REPLACE THIS BUFF? **
Apparently they also removed the "bypass the stupid replace dialog" ability in 2.0 so I removed the option till such time as we can find a way to bypass the damn thing.

--------------------------------------------------
Location

PLEASE NOTE:  I'm moving my primary hosting to http://www.wowinterface.com/downloads/info5604-WeaponRebuffRedux2.html b/c I never did like ui.worldofwarcraft.com and curse-gaming's new site makes me want to hurl (harder to get a download going and when you do get it it's prepended with a ton of crap that makes finding your mods horrific).  I'll still check them but not frequently (in fact, very rarely) as I'll be checking wowinterface.com.
