From 19dc737b38ab71fd4b20f5ebec503aaba59a6d45 Mon Sep 17 00:00:00 2001 From: Kevin Lyles Date: Thu, 9 Sep 2010 17:34:02 -0500 Subject: [PATCH] Added mastery rating support Added mastery rating to the default weights Added upgrade function to add mastery rating --- Locales/enUS/classes-specs.lua | 7 +-- Locales/enUS/patterns-equip-stats.lua | 1 + Locales/enUS/stats.lua | 2 + Upgrade.lua | 19 ++++++++ defaults.lua | 80 ++++++++++++++++----------------- 5 files changed, 63 insertions(+), 46 deletions(-) diff --git a/Locales/enUS/classes-specs.lua b/Locales/enUS/classes-specs.lua index 13fd9d8..a6905d4 100644 --- a/Locales/enUS/classes-specs.lua +++ b/Locales/enUS/classes-specs.lua @@ -22,8 +22,7 @@ ww_specNames = { ["Assassination"] = "Assassination", ["Balance"] = "Balance", ["Beast Mastery"] = "Beast Mastery", - ["Blood DPS"] = "Blood DPS", - ["Blood Tank"] = "Blood Tank", + ["Blood"] = "Blood", ["Combat"] = "Combat", ["Demonology"] = "Demonology", ["Destruction"] = "Destruction", @@ -34,8 +33,6 @@ ww_specNames = { ["Feral Tank"] = "Feral Tank", ["Fire"] = "Fire", ["Frost"] = "Frost", - ["Frost DPS"] = "Frost DPS", - ["Frost Tank"] = "Frost Tank", ["Fury"] = "Fury", ["Holy"] = "Holy", ["Marksmanship"] = "Marksmanship", @@ -45,5 +42,5 @@ ww_specNames = { ["Shadow"] = "Shadow", ["Subtlety"] = "Subtlety", ["Survival"] = "Survival", - ["Unholy DPS"] = "Unholy DPS", + ["Unholy"] = "Unholy", } diff --git a/Locales/enUS/patterns-equip-stats.lua b/Locales/enUS/patterns-equip-stats.lua index af68e84..85e4cf1 100644 --- a/Locales/enUS/patterns-equip-stats.lua +++ b/Locales/enUS/patterns-equip-stats.lua @@ -37,6 +37,7 @@ local EquipStatsAffixes = { "^restores +", "^your +", " +does not work for players above level %d+%.$", + " +%([%a ]+%)$", "%.$", } diff --git a/Locales/enUS/stats.lua b/Locales/enUS/stats.lua index 081a7c9..a45296a 100644 --- a/Locales/enUS/stats.lua +++ b/Locales/enUS/stats.lua @@ -51,6 +51,7 @@ ww_localizedStats = { ["item level"] = "item level", ["mana"] = "mana", ["mana (percent)"] = "mana (percent)", + ["mastery rating"] = "mastery rating", ["maximum melee weapon damage"] = "maximum melee weapon damage", ["maximum ranged weapon damage"] = "maximum ranged weapon damage", ["melee dps"] = "melee dps", @@ -146,6 +147,7 @@ ww_statDisplayNames = { [ww_localizedStats["item level"]] = "Item Level", [ww_localizedStats["mana"]] = "Mana", [ww_localizedStats["mana (percent)"]] = "Mana (Percent)", + [ww_localizedStats["mastery rating"]] = "Mastery Rating", [ww_localizedStats["maximum melee weapon damage"]] = "Maximum Melee Weapon Damage", [ww_localizedStats["maximum ranged weapon damage"]] = "Maximum Ranged Weapon Damage", [ww_localizedStats["melee dps"]] = "Melee DPS", diff --git a/Upgrade.lua b/Upgrade.lua index f8db573..afd9cd7 100644 --- a/Upgrade.lua +++ b/Upgrade.lua @@ -55,6 +55,23 @@ local function noop_major_up(vars) return vars end +local function upgradeAccountToMastery(vars) + for _, class in ipairs(vars.weightsList) do + for _, weight in ipairs(vars.weightsList[class]) do + if vars.weightsList[class][weight]["mastery rating"] == nil then + if ww_defaultVars.weightsList[class][weight] then + vars.weightsList[class][weight]["mastery rating"] = ww_defaultVars.weightsList[class][weight]["mastery rating"] or 100 + else + vars.weightsList[class][weight]["mastery rating"] = 100 + end + end + end + end + + vars.dataMinorVersion = 22 + return vars +end + local function upgradeAccountToNewClassNameDisplayOptions(vars) if vars.options.tooltip.showClassNames == "Others" then vars.options.tooltip.showClassNames = "Other Classes" @@ -1005,6 +1022,7 @@ local upgradeAccountFunctions = { [18] = upgradeAccountToSpellHitAndCrit, [19] = upgradeAccountToRangedCritHasteAndHit, [20] = upgradeAccountToNewClassNameDisplayOptions, + [21] = upgradeAccountToMastery, }, } @@ -1043,6 +1061,7 @@ local downgradeAccountFunctions = { [19] = noop_down, [20] = noop_down, [21] = downgradeAccountFromNewClassNameDisplayOptions, + [22] = noop_down, }, } diff --git a/defaults.lua b/defaults.lua index 64942ad..473d865 100644 --- a/defaults.lua +++ b/defaults.lua @@ -10,6 +10,7 @@ ww_trackedStats = { [ww_statCategories["General"]] = { "critical strike rating", "haste rating", + "mastery rating", ww_statCategories["DPS"], [ww_statCategories["DPS"]] = { "hit rating", @@ -190,7 +191,7 @@ ww_classNameOptions = { ww_defaultVars = { dataMajorVersion = 1, - dataMinorVersion = 21, + dataMinorVersion = 22, weightsList = { "DEATHKNIGHT", "DRUID", @@ -203,28 +204,13 @@ ww_defaultVars = { "WARLOCK", "WARRIOR", ["DEATHKNIGHT"] = { - ww_specNames["Blood DPS"], - ww_specNames["Blood Tank"], - ww_specNames["Frost DPS"], - ww_specNames["Frost Tank"], - ww_specNames["Unholy DPS"], - [ww_specNames["Blood DPS"]] = { - ["melee dps"] = 360, - ["armor penetration rating"] = 100, - ["strength"] = 99, - ["hit rating"] = 91, - ["expertise rating"] = 90, - ["critical strike rating"] = 57, - ["haste rating"] = 55, - ["attack power"] = 36, - ["armor"] = 1, - triggers = { - meleeDamage = true, - } - }, - [ww_specNames["Blood Tank"]] = { + ww_specNames["Blood"], + ww_specNames["Frost"], + ww_specNames["Unholy"], + [ww_specNames["Blood"]] = { ["melee dps"] = 500, ["stamina"] = 100, + ["mastery rating"] = 100, ["defense rating"] = 90, ["agility"] = 69, ["dodge rating"] = 50, @@ -241,9 +227,10 @@ ww_defaultVars = { meleeDamage = true, } }, - [ww_specNames["Frost DPS"]] = { + [ww_specNames["Frost"]] = { ["melee dps"] = 337, ["hit rating"] = 100, + ["mastery rating"] = 100, ["strength"] = 97, ["expertise rating"] = 81, ["armor penetration rating"] = 61, @@ -255,27 +242,10 @@ ww_defaultVars = { meleeDamage = true, } }, - [ww_specNames["Frost Tank"]] = { - ["melee dps"] = 419, - ["parry rating"] = 100, - ["hit rating"] = 97, - ["strength"] = 96, - ["defense rating"] = 85, - ["expertise rating"] = 69, - ["dodge rating"] = 61, - ["agility"] = 61, - ["stamina"] = 61, - ["critical strike rating"] = 49, - ["attack power"] = 41, - ["armor penetration rating"] = 31, - ["armor"] = 5, - triggers = { - meleeDamage = true, - } - }, - [ww_specNames["Unholy DPS"]] = { + [ww_specNames["Unholy"]] = { ["melee dps"] = 209, ["strength"] = 100, + ["mastery rating"] = 100, ["hit rating"] = 66, ["expertise rating"] = 51, ["haste rating"] = 48, @@ -296,6 +266,7 @@ ww_defaultVars = { [ww_specNames["Balance"]] = { ["hit rating"] = 100, ["spell hit rating"] = 100, + ["mastery rating"] = 100, ["spell power"] = 66, ["haste rating"] = 54, ["critical strike rating"] = 43, @@ -308,6 +279,7 @@ ww_defaultVars = { }, [ww_specNames["Feral DPS"]] = { ["agility"] = 100, + ["mastery rating"] = 100, ["armor penetration rating"] = 90, ["strength"] = 80, ["critical strike rating"] = 55, @@ -322,6 +294,7 @@ ww_defaultVars = { }, [ww_specNames["Feral Tank"]] = { ["agility"] = 100, + ["mastery rating"] = 100, ["stamina"] = 75, ["dodge rating"] = 65, ["defense rating"] = 60, @@ -339,6 +312,7 @@ ww_defaultVars = { }, [ww_specNames["Restoration"]] = { ["spell power"] = 100, + ["mastery rating"] = 100, ["mp5"] = 73, ["haste rating"] = 57, ["intellect"] = 51, @@ -358,6 +332,7 @@ ww_defaultVars = { ["ranged dps"] = 213, ["hit rating"] = 100, ["ranged hit rating"] = 100, + ["mastery rating"] = 100, ["agility"] = 58, ["critical strike rating"] = 40, ["ranged critical strike rating"] = 40, @@ -375,6 +350,7 @@ ww_defaultVars = { ["ranged dps"] = 379, ["hit rating"] = 100, ["ranged hit rating"] = 100, + ["mastery rating"] = 100, ["agility"] = 74, ["critical strike rating"] = 57, ["ranged critical strike rating"] = 57, @@ -392,6 +368,7 @@ ww_defaultVars = { ["ranged dps"] = 181, ["hit rating"] = 100, ["ranged hit rating"] = 100, + ["mastery rating"] = 100, ["agility"] = 76, ["critical strike rating"] = 42, ["ranged critical strike rating"] = 42, @@ -413,6 +390,7 @@ ww_defaultVars = { [ww_specNames["Arcane"]] = { ["hit rating"] = 100, ["spell hit rating"] = 100, + ["mastery rating"] = 100, ["haste rating"] = 54, ["arcane spell damage"] = 49, ["spell power"] = 49, @@ -429,6 +407,7 @@ ww_defaultVars = { [ww_specNames["Fire"]] = { ["hit rating"] = 100, ["spell hit rating"] = 100, + ["mastery rating"] = 100, ["haste rating"] = 53, ["fire spell damage"] = 46, ["spell power"] = 46, @@ -444,6 +423,7 @@ ww_defaultVars = { [ww_specNames["Frost"]] = { ["hit rating"] = 100, ["spell hit rating"] = 100, + ["mastery rating"] = 100, ["haste rating"] = 42, ["frost spell damage"] = 39, ["spell power"] = 39, @@ -463,6 +443,7 @@ ww_defaultVars = { ww_specNames["Retribution"], [ww_specNames["Holy"]] = { ["intellect"] = 100, + ["mastery rating"] = 100, ["mp5"] = 88, ["spell power"] = 58, ["critical strike rating"] = 46, @@ -474,6 +455,7 @@ ww_defaultVars = { }, [ww_specNames["Protection"]] = { ["stamina"] = 100, + ["mastery rating"] = 100, ["agility"] = 60, ["expertise rating"] = 59, ["dodge rating"] = 55, @@ -491,6 +473,7 @@ ww_defaultVars = { [ww_specNames["Retribution"]] = { ["melee dps"] = 470, ["hit rating"] = 100, + ["mastery rating"] = 100, ["strength"] = 80, ["expertise rating"] = 66, ["critical strike rating"] = 40, @@ -511,6 +494,7 @@ ww_defaultVars = { ww_specNames["Shadow"], [ww_specNames["Discipline"]] = { ["spell power"] = 100, + ["mastery rating"] = 100, ["mp5"] = 67, ["intellect"] = 65, ["haste rating"] = 59, @@ -523,6 +507,7 @@ ww_defaultVars = { }, [ww_specNames["Holy"]] = { ["mp5"] = 100, + ["mastery rating"] = 100, ["intellect"] = 69, ["spell power"] = 60, ["spirit"] = 52, @@ -536,6 +521,7 @@ ww_defaultVars = { [ww_specNames["Shadow"]] = { ["hit rating"] = 100, ["spell hit rating"] = 100, + ["mastery rating"] = 100, ["shadow spell damage"] = 76, ["spell power"] = 76, ["critical strike rating"] = 54, @@ -555,6 +541,7 @@ ww_defaultVars = { [ww_specNames["Assassination"]] = { ["melee dps"] = 170, ["agility"] = 100, + ["mastery rating"] = 100, ["expertise rating"] = 87, ["hit rating"] = 83, ["critical strike rating"] = 81, @@ -570,6 +557,7 @@ ww_defaultVars = { ["melee dps"] = 220, ["armor penetration rating"] = 100, ["agility"] = 100, + ["mastery rating"] = 100, ["expertise rating"] = 82, ["hit rating"] = 80, ["critical strike rating"] = 75, @@ -584,6 +572,7 @@ ww_defaultVars = { ["melee dps"] = 228, ["expertise rating"] = 100, ["agility"] = 100, + ["mastery rating"] = 100, ["hit rating"] = 80, ["armor penetration rating"] = 75, ["critical strike rating"] = 75, @@ -602,6 +591,7 @@ ww_defaultVars = { [ww_specNames["Elemental"]] = { ["hit rating"] = 100, ["spell hit rating"] = 100, + ["mastery rating"] = 100, ["spell power"] = 60, ["haste rating"] = 56, ["critical strike rating"] = 40, @@ -614,6 +604,7 @@ ww_defaultVars = { [ww_specNames["Enhancement"]] = { ["melee dps"] = 135, ["hit rating"] = 100, + ["mastery rating"] = 100, ["expertise rating"] = 84, ["agility"] = 55, ["intellect"] = 55, @@ -630,6 +621,7 @@ ww_defaultVars = { }, [ww_specNames["Restoration"]] = { ["mp5"] = 100, + ["mastery rating"] = 100, ["intellect"] = 85, ["spell power"] = 77, ["critical strike rating"] = 62, @@ -647,6 +639,7 @@ ww_defaultVars = { [ww_specNames["Affliction"]] = { ["hit rating"] = 100, ["spell hit rating"] = 100, + ["mastery rating"] = 100, ["shadow spell damage"] = 72, ["spell power"] = 72, ["haste rating"] = 61, @@ -662,6 +655,7 @@ ww_defaultVars = { [ww_specNames["Demonology"]] = { ["hit rating"] = 100, ["spell hit rating"] = 100, + ["mastery rating"] = 100, ["haste rating"] = 50, ["fire spell damage"] = 45, ["shadow spell damage"] = 45, @@ -677,6 +671,7 @@ ww_defaultVars = { [ww_specNames["Destruction"]] = { ["hit rating"] = 100, ["spell hit rating"] = 100, + ["mastery rating"] = 100, ["fire spell damage"] = 47, ["spell power"] = 47, ["haste rating"] = 46, @@ -696,6 +691,7 @@ ww_defaultVars = { ww_specNames["Protection"], [ww_specNames["Arms"]] = { ["strength"] = 100, + ["mastery rating"] = 100, ["hit rating"] = 90, ["expertise rating"] = 85, ["critical strike rating"] = 80, @@ -710,6 +706,7 @@ ww_defaultVars = { }, [ww_specNames["Fury"]] = { ["expertise rating"] = 100, + ["mastery rating"] = 100, ["strength"] = 82, ["critical strike rating"] = 66, ["agility"] = 53, @@ -724,6 +721,7 @@ ww_defaultVars = { }, [ww_specNames["Protection"]] = { ["stamina"] = 100, + ["mastery rating"] = 100, ["dodge rating"] = 90, ["defense rating"] = 86, ["block value"] = 81, -- 1.7.9.5