-------------------------------------------
Having an item on the cursor (ie, clicking a bag item) and then activating an outfit
while the item is still being held will cause the outfit to fail to equip properly
-------------------------------------------
Stance/Shapeshift changing outfits should swap in-place in the outfit stack
-------------------------------------------
Optimizing for +Healing appears to sometimes select gear which has lower damage+healing
stats over gear which has healing only (Peacekeeper Leggings being selected over
Judgement Legplates)
-------------------------------------------
Generating an outfit will not find items in the main bank slots
-------------------------------------------

Version 1.4 Changes

- Special Occassion outfit added for mages when evocating
- Special Occassion outfits added for the various hunter aspects
- Battleground and Around Town outfits now have German translations
- Eastern and Western Plaguelands are correctly identified by German versions
- Titan and FuBar menus will now update when renaming an outfit
- Multipart enchants are supported (ie, Zul'Gurub)
- Korean language support

Version 1.4b5 Changes

- Generating an outfit now properly recognizes items in the main bank slots
- Added Korean translation

Version 1.4b4 Changes

- Arclight Spanner is no longer counted as an unused item
- Added Small Soul Pouch (12 slot shard bag)
- Ammo slot now ignores unequipping ammo
- Multipart enchants are supported (ie, Zul'Gurub)
- Health regen items of the form "xx health per 5 sec." are supported

Version 1.4b3 Changes

- Fixed outfit optimization bug so that 2H weapons are compared correctly to 1H/OH combinations
- Fixed shapeshift/stance detection for patch 1.12
- Fixed Priest: Shadowform

Version 1.4b2 Changes

- Changed cloak to low priority when unequipping since it doesn't have durability
- Fixed inventory caching bug (sometimes caused current outfit to appear as "Custom")

Version 1.3.3 Changes

- Added a spaz filter to prevent outfits from toggling repeatedly if the user spams a key binding
- Added an on-screen message when changing outfits using a key binding
- Removed Repair Bags feature
- Added Naxxramas to the Argent Dawn zone list
- Corrected plaguelands zone names for German clients

Version 1.3.3b2 Changes

- Added Naxxramas to the Argent Dawn zone list
- Correct plaguelands zone names for German clients

Version 1.3.2 Changes

- Patch 1.11 compatibility
- Added ability to deposit only the unique items in an outfit to the bank
- Improved QuickSlot support for ammo slot
- Mining pick, skinning knife, blacksmith hammer, twilight cultist pieces and other items are now excluded
  from being displayed in the unused items list
- Dining outfit now automatically unequips once health and mana reach 99%
- Fixed initialization so that Argent Dawn, Riding, Fishing etc. outfits are automatically
  set up again
- Added ability to recover from outfit stack corruption errors

Version 1.3.2b4 Changes

- Modified behavior of Special Occassion outfits so that when they're disabled in Battlegrounds
  they'll still automatically unequip
- Added APIs to aid in external addons building an Outfit menu (third-party FuBar support)
- Added OUTFITTER_INIT message to outfit events which is sent after Outfitter finishes initialization

Version 1.3.2b3 Changes

- Fixed lockup when generating outfits which utilize weapons, rings or trinkets

Version 1.3.2b2 Changes

- Removed debug messages

Version 1.3.1 Changes

- Selected items are no longer accidentally updated if another outfit with overlapping
  items is deposited to the bank
- Outfit status is now correctly updated after depositing, withdrawing, opening or closing
  the bank window
- Battleground-specific outfits are now given priority over the general Battleground outfit
  when there is overlap
- Minimap and Titan outfit menus will now update if they're open during an outfit change
- Removed ammo items from the Unused Items list
- Identical items which are both used in an outfit will no longer list one of those items
  as being unused

Version 1.3.1b2 Changes

- Fixed bug causing a selected outfit to be modified if another outfit containing some
  of the same items was deposited to the bank
- Fixed item cache to update correctly afer the bank is opened

Version 1.3.1b1 Changes

- Outfits specific to each battleground will now be equipped on top of the general
  Battleground outfit
- Minimap and Titan outfit menus modified to update on outfit changes
- Fixed bugs causing outfit status to be incorrect after depositing or withdrawing
  them from the bank or equipping them directly from the bank
- Fixed bug causing identical items to sometimes appear in the unused items list even
  though they both were used in an outfit
- Modified unused item list to never list ammo

Version 1.3 Changes

- Repair All button for repairing everything including items in backpacks
- Show and hide helm and cloak settings are saved with each helm and cloak
- Ammo slot is now supported in outfits
- Improved performance
- Enabled outfit changes when hunters are feigning death. Changing equipment while feigned
  may cause the character to appear to stand up, but does not actually break the feign as
  previously assumed
- Titan Outfitter displays the name of the most recently equipped outfit

Version 1.2 Changes

- Added Around Town outfit which is equipped automatically in friendly cities
- Added Shaman: Ghost Wolf outfit
- Added battleground-specific outfits for AB, AV, WSG
- Added Chance to Hit with Spells outfit generation
- Gave priority to Rune and Seal of the Dawn so they're selected before the old
  commission when there's a choice
- Modified stat parsing to ignore set bonuses when generating outfits
- Modified minimap outfit menu to only list outfits which actually contain items
- Odds 'n Ends (unused items) now show icons and color-coded names

Version 1.1:

- Better performance when changing outfits and generating smart outfits
- Supports identical items which only differ by their enchantments
- Outfits with missing items are displayed in red and the missing items for that outfit
  are listed in the tooltip
- There is a new category, Odds 'n ends, which lists all equipable items which aren't part
  of any outfit
- New support for banked items when the bank window is opened:
      QuickSlots will include banked items in the list of equippable items for that slot
      Outfits with banked items are displayed in blue and the banked items for that
          outfit are listed in the tooltip
      Items for an outfit can be moved directly to or from the bank
      Outfits can be equipped directly from the bank (note that this will cause existing
          equipped items to be placed into the bank)
- Generated outfits now take contributions from other item stats into account, including:
      Agility is included in armor, dodge, and melee critical strike calculations
      Stamina is included in health calculations
      Intellect is included in mana and spell critical strike calculations
      Spirit is included in mana regen calculations
      Strength is included in blocking calculations
- Support for minimaps which have been repositioned to other corners of the screen
- Improved support for complex item swaps for weapon, trinket and ring slots
- Rings, trinkets, and weapons are now calculated correctly when generating outfits
- On-equip category-specific spell damage is now supported, such as "Equip: Increases
  damage done by Shadow spells and effects..."
- Titan Panel support

Version 1.3b10 Changes

- Fixed bug in Titan Outfitter addon which caused errors during outfit changes

Version 1.3b9 Changes

- Fixed bugs which may have caused the tooltip to appear while repairing items

Version 1.3b8 Changes

- Fixed bug causing second finger and second trinket slot to be processed incorrectly
  during equipment changes as well as causing nil pointer errors to sometimes be generated
  when unequipping items

Version 1.3b7 Changes

- Fixed bug causing GetCurrentOutfitInfo to sometimes fail (was possibly causing
  problems for Titan Outfitter)

Version 1.3b6 Changes

- Suppressed outfit change notifications until after initialization is completed  (was
  possibly causing problems for Titan Outfitter)
- Changed GetCurrentOutfitInfo to return an empty string for the name instead of nil
  when no named outfits are found (was possibly causing problems for Titan Outfitter)

Version 1.3b5 Changes

- Fixed typo in detecting Spirit stat on German clients
- Fixed outfit caching bug which could sometimes cause outfit items to be marked as missing

Version 1.3b4 Changes

- Turned off debug messages
- Added outfit name display to Titan plugin
- Added Herb Pouch (12 slot herb bag) to list of specialty bags

Version 1.3b3 Changes

- Disabled hunter feign death handling introduced in 1.2
- Changed repair in bags button strata to prevent it from being hidden behind the vendor window
- Fixed item caching bugs which caused empty slots to become unselectable

Version 1.3b2 Changes

- Slightly improved responsiveness of repair items in bags button
- Fixed repair items in bags feature so that the main backpack gets examined
- Fixed ammo slot support so ammo is now included in the outfit
- Optimized equipment/bag updates.  This should improve performance slightly when changing
  items as well as when shooting arrows/bullets.

Version 1.2b6 Changes

- Fixed bug which caused multiple errors messages on startup when using Titan Panel
- Added ability to hide label text in Titan Panel

Version 1.2b5 Changes

- Fixed broken slot enable checkboxes
- Fixed cursor updating in the outfit list

Version 1.2b4 Changes

- Added icons and quality-based name coloring to Odds 'n Ends list to make it easier to find
  the item (eventually I'll make it so that you can click the item and open the bag containing
  it but that'll have to wait for another day)
- Outfit changes will no longer take place while a hunter is feigning death
- Fixed bug with auto equipping city outfit when entering Ironforge under certain circumstances
- Added support for external addons to be notified when outfits are equipped or removed
- Added Outfitter_FindOutfitByStatID for use by external addons
- Fixed outfit changing to wait until the player is alive before changing gear

Version 1.2b3 Changes

- Added caching code to improve performance when changing outfits

Version 1.2b2 Changes

- Fixed nil pointer bug
- Fixed Disable in Battlegrounds outfit setting
- Updated French translations

Version 1.1.11 Changes

- Remove debug code

Version 1.1.10 Changes

- Worked around problem with shaepshift/stance outfits not working after leaving battlegrounds
- Corrected stat-detection strings for French clients
- Fixed bug which caused switching from a 2H to a 1H/OH combo to fail sometimes while in combat
- Changed the order in which items are unequipped so that durabiliity items are removed first

Version 1.1.9 Changes:

- Modified QuickSlots for better compatibility with other inventory slot addons
- Fixed detection of items in the main bank slots
- Fixed Rebuild Outfit to update an outfit's category after setting the new items
- Correct mount detection for French clients
- Fixed /outfitter wear and unwear commands so they behave the same as clicking in the UI

Version 1.1.8 Changes:

- Suspended updates between leaving/entering world events to slightly improve load
  screen performance
- Ammo slot checkbox is now hidden for classes which have a relic slot
- Fixed Quickslots to hide on second click if Quickslot is already opened

Version 1.1.7 Changes:

- Added support for herbalism and enchanting bags

Version 1.1.6 Changes:

- Fixed bug which caused a nil pointer error when using outfit combinations which
  don't specify every slot
- Added support for relic items (untested)

Version 1.1.5 Changes:

- Fixed Riding outfit and other features related to reading game tooltip text such as outfit generation

Version 1.1.4 Changes:

- Modified behavior so that switching between a 1H/OH weapon combo to a 2H weapon will
  put the offhand item into the left-most available bag instead of the right-most to match
  the behavior of other items when they're unequipped
- Changed base outfit to be empty instead of naked when compiling the current outfit.  This
  allows a player who don't use complete outfits to have unused slots which are left alone instead of
  being made naked.  A side effect of this will be that nothing will happen when a complete
  wardrobe is uneqipped, where previously that would've removed all armor/weapons.
- Fixed Priest: Shadowform outfit
- Updated for patch 1.10

Version 1.1.3 Changes:

- Fixed problem with outfit changes when entering or leaving an instance while in combat (again)
- Modified outfit updating to occur after all changes have been processed.  This should prevent
  problems caused by switching stances/shapeshifting outfit changes
- Changed key binding behavior to toggle the bound outfit instead of only wearing it
- Fixed bug causing toggled outfits to not unequip other outfits when worn

Version 1.1.2 Changes:

- Modified database item updating to defer until a BAG_UPDATE event is received in
  order to provide a more reliable update and avoid having outfits showing items as missing
- Changed minimap menu to skip populating the menu items if main initialization hasn't
  completed yet (fixes first-time initialization error when using Titan Panel)
- Fixed bug causing list items to become hidden when the list doesn't fill the display
- Fixed expand/collapse icons to correctly indicate the category state

Version 1.1.1 Changes:

- Removed debug messages

Version 1.1 Changes:

- Fixed moonkin form for french clients
- Fixed dire bear form for german clients
- Added TitanOutfitter support for Titan Panel

Version 1.1b8 Changes:

- Fixed bug which caused Outfitter to become confused about the combat state if
  the player entered an instance while in combat
- Fixed Quickslots so they close when the character window is closed

Version 1.1b7 Changes:

- Added deposit/withdraw outfit items
- Added coloring and tooltip to indicate banked items
- Fixed error message when using with characters that have empty bag slots

Version 1.1b6 Changes:

- Updated user's manual with descriptions of macro commands and key bindings
- Fixed bug causing weapon changes to fail when moving between main hand and secondary hand
- Improved error message when an outfit combination attempts to use the same item in two
  different positions (ie, both ring slots, both trinket slots, or both weapon slots)
- Fixed bugs in handling temporary item changes.  This was causing problems with items
  not swapping back after dining, dismounting,  or in some combat situations
- Fixed frame strata so that outfitter UI doesn't obscure the Quickslots

Version 1.1b5 Changes:

- Added outfit availability check whenever the bank window is opened or closed
- Changed outfitter frame strata to "high" so that it always opens on top of the bank window
- Changed initialization back to PLAYER_ENTERING_WORLD
- Added support for thrown weapons
- Added error checks for unrecognized inventory types

Version 1.1b4 Changes:

- Fixed initial outfit generation to correctly find items (carrot, argent dawn commission, etc.)
- Added bank slot support to QuickSlots so items can be equipped from the bank when the bank window
  is opened
- Fixed problems with switching from a 2H weapon/item to a 1H/OH combo
- Modified initialization to always re-create the special occassion outfits if they're missing
- Fixed QuickSlot behavior so that the slots only open if an item is picked up from the inventory
  slot.  This will prevent them from opening when applying poisons, oils, enchants, etc.

Version 1.0.2 Changes:

- Added Druid Moonkin form
- Modified combat detection to use REGEN_ENABLED/DISABLED instead of ENTER/LEAVE_COMBAT.  This should
  fix various problems with items not equipping properly when entering/leaving combat.
- Fixed minimap menu position for players who relocate their minimap to another part of the screen
- Improved behavior of QuickSlots to prevent them from spontaneously closing

Version 1.0.1 Changes:

- Fixed race condition which caused outfits to be accessed before they were initialized
- Fixed initialization to select the Normal outfit after it's created
- Added User's Manual

Verison 1.0 Changes:

- Fixed initialization so that a false temporary outfit isn't generated
- Fixed initialization so that the special outfits will be updated correctly
  if the state has changed since logging off (ie, logging off while mounted will
  now correctly remove the Riding outfit at the next login)
- Added tooltips explaining what the slot enable checkboxes do

Version 1.0b16 Changes:

- Fixed bug which generated a naked base outfit for weapons-only changes instead of a transparent outfit
- Updated french translation

Version 1.0b15 Changes:

- Fixed nil pointer bug when unequipping items under some circumstances
- Fixed duplicate messages when adding new items to an outfit
- Added French translation

Version 1.0b14 Changes:

- Added "Disable outfit in Battlegrounds" option.  This option is selected by default for the Riding outfit.
- Fixed outfit changes made during combat so they occur after combat is exited (again)

Version 1.0b13 Changes:

- Fixed "That slot is empty" error message caused when switching to a 2H from a 1H/OH combo
- Fixed outfit initialization so that if no previous outfits were worn the player won't be left naked after dismounting

Version 1.0b12 Changes:

- Added quivers to speciality bags
- Modified equipment changes in order to improve in-combat weapon switching

Version 1.0b11 Changes:

- Added rogue stealth outfit
- Fixed nil pointer bug when an unrecognized shapeshift type is encountered
- Items which are BoE but not yet soulbound will no longer be chosen for smart outfits
  nor selected when attempting to equip items
- Added ability to swap weapon slots during combat
- Fixed equipping dual identical weapons/rings/trinkets (again)
- Modified minimap menu to hide unused categories

Version 1.0b10 Changes:

- Fixed nil pointer error when attempting to move the minimap icon while
  the game time and minimap zoom in/out icons are hidden
- Fixed nil pointer error when changing outfits with some slots being emptied
- Changed minimap menu to hide disabled outfits

Version 1.0b9 Changes:

- Added Option panel with ability to turn off minimap button
- Added ability to create an empty outfit
- Added /outfitter command
- Fixed tooltip position on QuickSlot items
- Fixed minimap menu position
- Fixed support for 1H weapons when optimizing outfits
- Added support for displaying 1H weapons in the offhand QuickSlot
- Fixed problems with QuickSlots not staying open
- Fixed problems with multiple trinkets, rings or weapons of the same kind not equipping correctly
- Added support for druid shapeshift, priest shadowform and warrior stance special occassion outfits

Version 1.0b8 Changes:

- Added QuickSlots
- Fixed plus/minus button
- Added ability to disable an outfit
- Removed disable special occassions button
- Added Battleground special occassion outfit
- Added support for ammo pouches

Version 1.0b2 Changes:

- Fixed bug which clears the selection when an outfit is moved
- Modified slot enable checkboxes to equip drag-and-drop items
- Fixed initialization bug which caused outfits to not be created properly and errors

Version 1.0b3 Changes:

- Now remembers the outfits being worn at logoff
- Defers outfit changes made during combat until combat ends

Version 1.0b4 Changes:

- Fixed initialization bugs

Version 1.0b5 Changes:

- Added Healing outfits
- Added support for soul shard bags
- Added support for Benediction/Anathema and Thunderstrike/Shadowstrike aliases
- Equipping an item while editing an outfit will now add that item to the outfit
