tag 6.0.14
68ac96256d1d7c1817a1ffcf26d48fc95d9ab9f0
Johnny C. Lam <jlam88@gmail.com>
2014-11-08 18:47:22 -0500

Tagging as 6.0.14 release.


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

Johnny C. Lam:
	- Update README to note that low-level toons aren't supported by default.
	- Guard against nil spellcast.
	- Update default scripts to SimulationCraft git master from 2014-11-08.
	- Druid: Describe how Wild Charge gets replaced depending on stance.
	This allows just using "wild_charge" in scripts regardless of stance.
	Add translations for SimulationCraft's buff.wild_charge_movement.down
	and add a range check to Wild Charge.
	- Move some AoE spells from the single-target icon to the short CD icon.
	This makes using those spells more situational, though it's still highly
	recommended to use the short CD spells ahead of the main spells for
	maximum single target DPS.
	
	Closes ticket 457 by @Lokmar.
	- Don't wrap Blizzard API functions in the profiler anymore.
	The cost of those functions is now just part of the calling functions,
	which makes comparing time of execution of the calling functions more
	meaningful.
	- Add proper upvalues for global symbols for local references.
	* Upvalue "math.huge" as "INFINITY".
	* Upvalue Blizzard API function "PlaySoundFile".
	* Upvalue "Ovale" and export that symbol to the global namespace.
	- Priest: Describe how Shadow Word: Insanity replaces Mind Flay.
	- Warlock: Describe how Fire and Brimstone replaces spells.
	Use SpellRequire() to describe how Fire and Brimstones replaces the
	following spells with different versions:
	
	   Chaos Bolt, Conflagrate, Immolate, Incinerate
	- For actions requiring a poolable resource, return appropriate timespans.
	- Fix bug in finding an aura applied by a spell.
	The "extend,N" syntax wasn't being parsed properly.
	- Remove "stance" from keyword list since it's not a compile-time parameter.
	- Add more run-time requirement handlers and use them throughout the code.
	- Convert to use GetSpellInfoProperty() methods to allow run-time checks.
	Replace direct checks for si.property with calls to GetSpellInfoProperty()
	to allow for run-time overrides of their values via definitions via
	SpellRequire.
	
	Deprecate the following parameters and replace with appropriate
	SpellRequire() declarations:
	
	    buff_<powerType>_none
	    buff_no_cd
	    buff_no_stealthed
	    buff_no_target_health_pct
	    target_health_pct_no_cd
	- Remove redundant check for spell cooldown in Future module.
	Cooldown information is managed and more thoroughly checked in the state
	machine by the Cooldown module.
	- Make "check requirements" code more re-usable.
	Create a registry of "requirement handlers" in OvaleData and provide two
	new methods to make use of those handlers:
	
	    OvaleData:CheckRequirements(tokenIterator, target)
	    state:CheckRequirements(tokenIterator, target)
	
	The required parameter "tokenIterator" is an iterator that returns a new
	token every time it is evaluated.
	
	This is designed to take a tokenIterator instead of a string so that
	different separators can be used and the same handlers will still work.
	
	Add new methods to retrieve spell info property with runtime checks:
	
	    OvaleData:GetSpellInfoProperty(spellId, property, target)
	    state:GetSpellInfoProperty(spellId, property, target)
	- Support new declaration SpellRequire() for spell run-time requirements.
	The syntax for the new spell requirements declaration is:
	
	    SpellInfo(id property=require)
	    SpellRequire(id property value=req1 value=req2 ...)
	
	This means that the named property has its value set based on which
	matching requirements in the current state are met.
	- Code cleanup: turn some functions into one-liners.
	- Check that spells are known before calling API functions using names.
	This fixes ticket 455 by @khalim_46.
	- Fix name of Blizzard-provided constant.
	MAX_TALENT_TIERS is defined in FrameXML/TalentFrameBase.lua.
	- Adapt compiler.pl for filename changes.
	Also fix the classification of which methods are "public static" and which
	are "public" for modules.
	- Adjustments for filename changes.
	- Massive file renaming to have shorter names.
