Ovale Spell Priority 6.1.0
==========================

Changes from version 6.0.57:
----------------------------

-   Remove empty holy paladin script.

-   Update Penlight Lexer to git master from 2014-12-05.

    This fixes hangs on empty strings and supports block comments and block
    strings in the sample Lua lexer.

-   Remove unused lines in TOC.

-   Update TOC for 6.1.

-   Warlock: Tag Grimoire: Doomguard/Infernal as shortcd spells.

-   Regenerate scripts based on SimulationCraft profiles from release-610-01.

-   Properly register the generated script for the specialization.

-   Translate SimulationCrafts "desired_targets" as how many tagged enemies.

-   Merge branch 'simulationcraft'.

    Pull in changes from SimulationCraft release-610-01.

-   Import Tier17M profiles from SimulationCraft tag "release-610-01".

-   Translate "buff.stampede.remains" even though there is no Stampede buff.

-   Merge branch 'simulationcraft'.

    Pull in changes from SimulationCraft git master from 2015-02-24.

-   Remove MMO-Champion rogue profiles since the thread is no longer updated.

-   Remove MMO-Champion rogue profiles since the thread is no longer updated.

-   Import Tier17M profiles from SimulationCraft git master from 2015-02-24.

-   Priest: Rename "shadow_word_insanity_debuff" to "insanity_debuff".

-   Update for changes described in 6.1 Patch Notes.

-   Monk: Make Fists of Fury a "main" action by default.

    This actually removes the line that gave FoF a non-default "shortcd" tag.
    FoF is rarely delayed so moving it to the "shortcd" icon wasn't useful.

-   Register OvaleBestAction for proper debugging messages.

    Convert some errors into debugging messages so the end-user isn't
    bombarded with a non-fatal error.

-   Warlock: Note the effects of Demonic Servitude on summoning spells.

-   Correctly evaluate test conditions where the value is comma-separated.

    This fixes evaluation of conditions such as "talent=A,B" where talents A
    and B must both be present.

-   Warlock: Add Seed of Corruption to spell database.

-   Improve the description of the SimulationCraft overrides panel.

-   Rewrite GetDamageMultiplier() as a state-mirrored method from OvaleFuture.

-   The Eclipse damage multiplier is no longer snapshot into DoTs.

-   Remove reference-counting API from Pool modules.

-   Remove unused OvalePoolRefCount module.

-   Reduce the number of stats that are snapshot into auras and spellcasts.

    Save full snapshots into spellcasts but only save mastery and the base
    damage multiplier into auras and discard the rest as snapshotting is
    (mostly) dead.

    Instead of reference-counting a snapshot table, just directly copy the
    snapshot stats into the relevant places that need to save stats.

    Remove script conditions to query stats that are no longer able to be
    snapshot into an aura.

-   Update localized strings used in SimulationCraft panel.

-   Be more descriptive in the SimulationCraft panels.

-   Allow adding overrides via SimulationCraft panel before translating.

    The contents of the "Overrides" tab are inserted directly below any
    Include() statements in the generated script and are also used to override
    any default tags for spells.

-   Only default to "any=1" for the default buff spell lists.

    This fixes some cases where Ovale looked for any debuff on the target
    instead of debuffs applied by the player.

-   Properly clean up non-default spell lists added by a script.

-   Update localized strings.

-   Change scripts automatically for warriors with Gladiator's Resolve.

    If using the "Ovale" script, we need to load a new script based on the
    warrior's stance if Gladiator's Resolve was taken.

-   When Ovale_StanceChanged fires, pass the names of the new and old stances.

-   Add dummy implementations for EclipseEnergy() and TimeToEclipse().

    This quiets warnings when loading the default balance druid script.

-   Allow for specialization-specific scripts when registering scripts.

    Change the signature of OvaleScripts:RegisterScript() to take an extra
    parameter to indicate the specialization for which the script applies.  If
    the extra parameter is nil, then the script is used by all specializations
    of the class.

-   Automatically choose the correct SimulationCraft script by default.

    Add "GetDefaultScriptName()" method to OvaleScripts.  This method
    returns the name of the SimulationCraft script for a class/specialization
    combination that can be used as a default script.

    If the requested script is "Ovale", then map it to the correct
    class/specialization-specific SimulationCraft script automatically by
    using OvaleScripts:GetDefaultScriptName().

    With these changes, there is no longer any need to manually glue together
    all of the class-specific scripts to make one script that works for all
    specializations.  Remove the jumbo and legacy scripts and split out the
    resto shaman and resto druid scripts as "nerien" scripts to denote their
    origin.

-   Implement strjoin() in WoWMock for unit testing.

-   Add public method "GetScript" to OvaleScripts for script access.
