tag 6.0.22
f9e417277fa5a8938b7667c815d9774690908006
Johnny C. Lam <jlam88@gmail.com>
2014-11-19 10:21:13 -0500

Tagging as 6.0.22 release.


--------------------

Johnny C. Lam:
	- Warlock: Suggest Life Tap much earlier since we don't have infinite mana.
	Mana is treated specially by Ovale as an infinite resource so that it's
	not necessary to add mana costs to every spell.  That works in most cases
	but fails in the case of warlocks that are supposed to use Life Tap in
	their rotation to actively regenerate mana.  Move Life Tap much higher in
	the rotation so that it gets used properly.
	- Warlock: Demonbolt's cost is affected by the stacking Demonbolt buff.
	The Demonbolt buff increases the cost of Demonbolt by 100% of the base
	cost per stack, i.e., cost = 80 + 80 * BuffStacks(demonbolt_buff).
	- Warlock: Fix typo in SpellInfo for Soul Fire.
	- Allow "!value" to actually work when used in run-time requirements.
	A flag was not being toggled properly if "!" was detected.  This was
	causing the state machine to not properly account for buffs being consumed
	by certain in-flight spells on shadow priests and demonology warlocks.
	- Improve logging message if run-time requirements fail for auras.
	- Warrior: Remove short CD spells from the main attack for Titan's Grip.
	- Change HasWeapon()'s "type" parameter to one_handed/two_handed values.
	The previous values of 1h/2h were invalid since strings and identifiers
	cannot start with a number.
	
	This fixes the SMF rotation on fury warriors.  Before this change, the
	Titan's Grip rotation was always shown regardless of the weapons equipped.
	- Implement tostringall() in WoWAPI for the driver programs to function.
	- Adjust some profiling usage to help analyze OvaleBestAction.
	- Overhaul the way profiling statistics are gathered in Ovale.
	Move profiling code from OvaleDebug to OvaleProfiler module.
	
	Registering a module for profiling adds two new methods to the addon:
	StartProfiling() and StopProfiling().  These two methods can be used at
	the start and end of each function body to gather profiling statistics for
	that function call.
	
	Enabling and disabling profiling for a module via the Profiling options
	panel replaces the StartProfilng and StopProfiling methods for that module
	with functioning or do-nothing functions.
