[B][U]O-Wheely! - Empower your mousewheel! - Version 0.8 Pre-Release[/U][/B]
by <Damage Inc> of (EU)Draenor - email damageinc [at] gmail.com

[B]What does O-Wheely! do?[/B]
O-Wheely! empowers your mousewheel in 2 important ways! (First is slightly cheaper and second...)

[U]Buffs![/U]  
When out-of-combat, rolling your mousewheel will intelligently buff you, your target and nearby members of your party/raid.

[U]Spells![/U]
When no buffs are needed - or in-combat - separate spells/macros can be triggered from mousewheelup and mousewheeldown.

[U]BuffReminders![/U]
O-Wheely reminds you about missing buffs in the standard UI error frame 
(where messages like "Out of Range" and "You can't do that yet" normally appear)
so you don't forget to buff yourself, your target, your party or your raid!

[U]Camera Zoom![/U]
Camera-zoom is still available too - just hold the right-mouse-button when scrolling to to trigger it!

  
[B]What Buffs! does O-Wheely! remind me about/cast?[/B]

Self Buffs (Paladins, Priests, Druids, Mages, Hunters, Warlocks, Shamans and Rogues)
O-Wheely! remembers the last Blessing,Aura,Aspect,Mage Armour,Warlock Armour,Shaman Weapon Buffs and Rogue Poisons 
that you cast on yourself, reminds you when it expires and will recast it when you roll the mousewheel. 

Party/Raid Buffs (Paladins, Priests, Druids, Mages)
O-Wheely! checks nearby party/raid members, reminds you when they need one of your buffs and casts them when you roll the mousewheel
Group buffs are used if you have reagents so long as at least 3 (4 for Greater Blessings) players are in range/need the buff.
Single-target buffs are used otherwise - which avoids wasting reagents on latecomers/when rebuffing after deaths etc.   

**NEW** Situational Buffs (Paladins,Shamans, Mages and Warlocks)
O-Wheely! will remember when you manually cast certain spells on yourself/party/raidmemnbers
and will remind/recast them on the same target until you logout.

Hunters
Mousewheeling toggles between combat and runspeed Aspects.  

Paladins
Mousewheeling will enable Crusader Aura when mounted and your last Aura when dismounted.  


[B]What Spells! does O-Wheely! cast?[/B]

These are the default spells O-Wheely! uses - they can all be overridden using macros of course.
Most of these spells are cast on your 'mouseover' target where available and your normal target otherwise.
This means that you can continue to attack one target - but mouseover another target and mousewheel 
Thus you can cast these spells without changing targets!

Druids: (Up) Cure Poison (Down) Remove Curse
Priests (Up and Down) Dispel Magic
Mages (Up) Counterspell (Down) Spellsteal
Shamans (Up) Earth Shock and (Down) Purge
Paladins (Up) Purify/Cleanse (Down) Last non Crusader Aura (Self)
Hunters (Down) Last non-runspeed Aspect (Self)


[B]Getting Started[/B]
The first time you play a character, cast your favourite buffs 
(Hunters: Aspect, Mage: Shield, Warlock: Armor, Shaman: WeaponBuffs, Paladin: Blessing/Aura, Rogue: Poisons).
O-Wheely! will then remember these for future self-buffing.
If you change any of these, O-Wheely! will update automatically of course.


[B]Assigning Macros to the mousewheel[/B]
You can replace the default spells O-Wheely! assigns to the mousewheel by creating macros.
Macro "OWUp" is called when you roll the mousewheelup and "OWDown" when... you get the idea I'm sure!
These can be character-specific macros of course - to enable different functions for different characters.
Note: Hunters and Paladins creating an 'OWDown' macro will lose the automatic mount/runspeed Aura/Aspect function normally assigned to Mousewheeldown.


[B][U]Full details for each class[/U][/B]
Most default spells are simply in-built macros - the code is listed below for example purposes...

[B]Druids[/B]
Self: Gift of the Wild, Omen of Clarity
Target/Party/Raid: Mark/Gift of the Wild
Situational: Thorns
Default/In-combat (Mousewheel Up):
 /stopcasting
 /cast [form:0,target=mouseover,exists,help] [form:0,help] Cure Poison 
Default/In-combat (Mousewheel Down): 
 /stopcasting
 /cast [form:0,target=mouseover,exists,help] [form:0,help] Remove Curse

[B]Priests[/B]
Self: Power Word: Fortitude, Inner Fire, Divine Spirit
Target/Party/Raid Prayer of Fortitude/Power Word: Fortitude
Paladins, Druids, Priests, Shamans, Mages: Divine Spirit
Default/In-combat (Mousewheel Up and Down:
  /stopcasting
  /cast [target=mouseover,exists] [ ] Dispel Magic

[B]Mages[/B]
Self: Arcane Intellect
Self: Last chosen Armor (Ice/Frost/Molten/Mage).
Target/Party/Raid (Mana-using Classes Only): Arcane Brilliance/Arcane Intellect
Situational: Amplify/Dampen Magic
In-combat (Mousewheel Up):
  /stopcasting [combat]
  /cast [target=mouseover,exists,harm,combat] [harm,combat] Counterspell
In-combat (Mousewheel Down): 
  /stopcasting [combat]
  /cast [target=mouseover,exists,harm,combat] [harm,combat] Spellsteal

[B]Hunters[/B]
Self: Trueshot Aura.
Self: Toggle between your chosen combat aspect and Aspect of the Cheetah (or Pack if in a group and NOT in a Battlefield).
Default/In-combat (Mousewheel Down): 
  If Aspect of Pack/Cheetah active, last chosen combat aspect.

[B]Warlocks[/B]
Self: Last chosen armor (Demon Skin, Demon Armor, Fel Armor)
Situational: Unending Breath,Detect Invisibility

[B]Shamans[/B]
Self: Last chosen weapon buffs(Rockbiter, Frostbrand, Flametongue,Windfury)
Situational: Water/Lightning Shield
In-combat (Mousewheel Up): 
  /stopcasting [combat]
  /cast [form:0,target=mouseover,exists,harm,combat] [form:0,harm,combat] Earth Shock
In-combat (Mousewheel Down): 
  /stopcasting [combat]
  /cast [form:0,target=mouseover,exists,harm,combat] [form:0,harm,combat] Purge

[B]Rogues[/B]
Self: Last chosen Poisons

[B]Paladins[/B]
Self: Righteous Fury
Self: Last chosen Blessing - or Might (2H only), Kings, Wisdom if not known.
Self (Mounted): Crusader Aura
Self (Unmounted): Last chosen Aura
Situational: Blessing of Salvation
Target/Party/Raid:-
  Warriors, Rogues: Blessing of Might, Kings 
  Hunters : Blessing of Might, Kings, Wisdom
  Hunter Pets: Blessing of Might
  Mages, Priests: Blessing of Wisdom, Kings
  Resto Shamans/Druids: Blessing of Wisdom, Kings, Might
  Feral Druids, Enhancement Shamans: Blessing of Might, Kings, Wisdom
  All other Shamans, Druids and Paladins: Blessing of Kings, Wisdom, Might
  [I]Note: If a player already has a Blessing the next-best one will be cast
    (so a Warrior who already has Might will get Kings - or a Hunter with Might and Kings will get Wisdom and so on.[/I]
  [I]Note: 30-or-more points in a talent-tree is required to be considered 'specialised' for the purposes of determining Blessings.[/I]
Default/In-combat (Mousewheel Up): 
  /stopcasting
  /cast [target=mouseover,exists,help] [help] Cleanse (or Purify if Cleanse not yet available)
Default/In-combat (Mousewheel Down): 
  If Crusader Aura active, previous aura.


[U][B]FAQ[/B][/U]
Q - Is this an ACE/ACE2/ACE3 Mod?
A - No - partly because I'm not familiar with ACE and partly because it wouldn't greatly benefit from ACE's framework/libraries.

Q - I'd like to customise the buffs I'm giving.
A - I've avoided a GUI/Configuration options to keep things simple.  
    Ig you think there are more buffs I could include - or that a buff I use is wrong - let me know tho.

Q - I'd rather not use Group Buffs in some situations - how can I do this
A - Hold LeftMouseButton when scrolling to prevent any group buff being used


[B]Credits[/B]
This mod began life as the excellent AddOnTemplate by BelleBoom 
Available at http://belleboom.googlepages.com/bellemaison

Credit also due to Aeldra - the author of SmartBuff - without that  I'd never have been inspired to create this!

Thanks to Aegwynn - official beta tester and guinea pig!!

[B][I]The One-Man-Army that is the guild <Damage Inc> of EU-Draenor[/I][/B]


[B][U]Common/Known Issues[/U][/B]
Q - In combat, mousewheeldown toggles my Aura/Aspect on and off - why?
A - You entered combat with Crusader Aura/Aspect of the Cheetah/Pack so the mousewheel was setup to replace it.
    I can't change this until combat ends and buffing yourself with an Aura/Aspect you already have cancels it!

Q - I'm a paladin/hunter and mousewheel down isn't removing my mount/runspeed Aura/Aspect in combat
A - If you've created an OWDown macro this will override that function - to re-enable it, delete your OWDown macro

Q - My OWUp/OWDown macros aren't doing what I expected!
A - Check you don't have more than 1 macro called OWUp or OWDown (either global or character-specific)
    WoW allows multiple macros with the same name and will choose the first one you created - well, usually...
    Just make sure you don't have more than 1 macro with the same name...

Q - Why isn't Shift/Control/Alt+Mousewheeling working?
A - It's possible you hve specifically bound these to other functions (in your Key Bindings or through another addon)
    To check what bindings exist type "/script OW_checkbindings" - a list of any mousewheel bindings will be shown. 
    NOTE: Shift+Mousewheel is bound BY DEFAULT to Action Bar Paging - unless you remove these bindings, Shift+Mousewheel will NEVER work with O-Wheely!

Q - Why don't [button:1]-type modifiers work in the OWUp and OWDown macros
A - WOW doesn't seem to handle multi-mousebutton combos very well - 'extra' buttons are just dropped - sorry about that!     


Changelog
0.8 Pre-Release
Macros OWUp and OWDown can now be used in (Druid and Shaman) shapeshift forms
Buffs which fail with "A more powerful spell is already active" will be skipped on that target for 5 mins.
Each time a buffreminder repeats, it will take a little longer to reappear upto a max of around 40 seconds between buffreminders
Druids: Thorns are now a Situational Buff - see below
Shamans: Default spell on mousewheelup is now Earth Shock (Interrupts AHOY!) - mousewheeldown remains Purge
Shamans: Dual-wield Weaponbuffs now correctly supported.
Shamans: Shields are now a Situational Buff - see below
New feature - Situational Buffs
  These are remembered when you manually cast them on yourself/party/raid members and will be remindered/reapplied until you logout
  Druid: Thorns
  Shaman: Water/Lightning Shield
  Mage: Amplify/Dampen Magic 
  Warlock: Unending Breath/Detect Invisibility
  Paladin: Blessing of Salvation
Fixed an issue which caused buffs/spells to be called when using rightmousebutton+mousewheel to move the camera
Fixed an issue which prevented Gift of the Wild being used when it should have been
Translation will be MUCH easier as spellnames are now picked-up automatically (GetSpellInfo())
Partial German (deDE) translation included - untested

0.7 Pre-Release
Group Buffs have been added - to prevent these being used, hold the left mousebutton down when buffing
Greater Blessings used on Warriors, Rogues, Hunters, Mages, Priests and Warlocks if at least 4 raid members are in-range/need the buff.
Mage/Priest/Druid 'group' buffs used where at least 3 members of a group are in-range/need the buff.
Rogue Poisons are now remembered when applied, we will buffremindered when they expire and are reapplied by mousewheeling.
Shift/Control/Alt Mousewheeling should now allow the OWUp and OWDown macros to use [modifier:shift]-style statements for even greater cleverness.
Shamans: Mousewheeling no longer triggers buffs when in Ghostwolf (buffreminders will appear however)
Shamans: Default spell Purge only triggers in-combat and casts on mouseover or target.
Mages: Default spells Counterspell and Spellsteal only trigger in-combat and cast on mouseover or target.
Priests: Default spell Dispel Magic casts on mouseover or target. 
Druids: Default spells Cure Poison and Remove Curse casts on mouseover or target (friendly units only). 
Paladins: Default spell Cleanse/Purify casts on mouseover or target (friendly units only). 
Camera zoom is now triggered by holding the right mousebutton+mousewheeling rather than Ctrl+Mousewheel
Fixed an issue which meant O-Wheely! couldn't always tell you were in a Battleground.

0.6 Pre-Release
Buffreminders disabled when 'resting' (e.g. in cities/inns etc.) 
Buffreminders disabled in raid groups UNLESS you're also in a Battleground
Buffreminders enabled in Druid shapeshift (but you'll need to un-shapeshift before they will cast)
Group Buffs (Arcane Brilliance, Gift of the Wild, Prayer of Fortitude and Prayer of Spirit) now checked before casting solo equivalents
Warlock Pets will now (correctly) get Blessing of Kings when the Greater Blessing is not being used. 
Corrected a problem when inspecting Shamans/Druid talents which could stop Blessings being cast correctly.

0.5 Pre-Release
Renamed from VBuff to O-Wheely!
Macros are now "OWUp" and "OWDown"
Warrior default macros removed.

0.4 BETA Release (Never publically released)
Default/In-combat mousewheel will now call macros VBuff1(Up)/VBuff2(Down) if they exist

0.3 BETA Release
Camera Zoom now set to [CTRL]-Mousewheel - which will NOT trigger VBuff
GCD awareness removed from default functions - you can now spam the wheel in both directions!
Druids: Omen of Clarity added
BUG FIX: Some self-casting spells were failing - corrected macro modifier "TARGET" to "target"!

0.2 BETA Released
SPAM removed from the chat window :)
Warrior, Warlock and Shaman spells added
Separate spells can now be mapped to MousewheelUP and MousewheelDown
Mousewheel Events are now unique so that using the mousewheel on chat windows, minimaps etc. will NOT trigger VBuff.

0.1A BETA Released
Reduced combat 'taint' and corrected problems with in-combat buffing...

0.1 BETA Released
