Quantcast

Added ranged crit, haste, and hit ratings to tracked stats and the default hunter weights

Kevin Lyles [07-16-10 - 20:07]
Added ranged crit, haste, and hit ratings to tracked stats and the default hunter weights
Added upgrade function
Filename
Upgrade.lua
defaults.lua
diff --git a/Upgrade.lua b/Upgrade.lua
index 983cb0e..00e16e3 100644
--- a/Upgrade.lua
+++ b/Upgrade.lua
@@ -53,6 +53,27 @@ local function noop_major_up(vars)
 	return vars
 end

+local function upgradeAccountToRangedCritHasteAndHit(vars)
+	for _, class in ipairs(vars.weightsList) do
+		for _, weight in ipairs(vars.weightsList[class]) do
+			if vars.weightsList[class][weight]["ranged attack power"] ~= nil or vars.weightsList[class][weight]["ranged dps"] ~= nil then
+				if vars.weightsList[class][weight]["ranged critical strike rating"] == nil then
+					vars.weightsList[class][weight]["ranged critical strike rating"] = vars.weightsList[class][weight]["critical strike rating"]
+				end
+				if vars.weightsList[class][weight]["ranged haste rating"] == nil then
+					vars.weightsList[class][weight]["ranged haste rating"] = vars.weightsList[class][weight]["haste rating"]
+				end
+				if vars.weightsList[class][weight]["ranged hit rating"] == nil then
+					vars.weightsList[class][weight]["ranged hit rating"] = vars.weightsList[class][weight]["hit rating"]
+				end
+			end
+		end
+	end
+
+	vars.dataMinorVersion = 20
+	return vars
+end
+
 local function upgradeAccountToSpellHitAndCrit(vars)
 	for _, class in ipairs(vars.weightsList) do
 		for _, weight in ipairs(vars.weightsList[class]) do
@@ -960,6 +981,7 @@ local upgradeAccountFunctions = {
 		[16] = upgradeAccountToAverageWeaponDamage,
 		[17] = upgradeAccountToNoMeleeDamage,
 		[18] = upgradeAccountToSpellHitAndCrit,
+		[19] = upgradeAccountToRangedCritHasteAndHit,
 	},
 }

@@ -996,6 +1018,7 @@ local downgradeAccountFunctions = {
 		[17] = downgradeAccountFromAverageWeaponDamage,
 		[18] = noop_down,
 		[19] = noop_down,
+		[20] = noop_down,
 	},
 }

diff --git a/defaults.lua b/defaults.lua
index 351f793..341c8c3 100644
--- a/defaults.lua
+++ b/defaults.lua
@@ -38,7 +38,10 @@ ww_trackedStats = {
 	},
 	["Ranged DPS"] = {
 		"Ranged Attack Power",
+		"Ranged Critical Strike Rating",
 		"Ranged DPS",
+		"Ranged Haste Rating",
+		"Ranged Hit Rating",
 		"Average Ranged Weapon Damage",
 		"Maximum Ranged Weapon Damage",
 		"Ranged Weapon Speed",
@@ -255,7 +258,7 @@ ww_classNameOptions = {

 ww_defaultVars = {
 	dataMajorVersion = 1,
-	dataMinorVersion = 19,
+	dataMinorVersion = 20,
 	weightsList = {
 		"DEATHKNIGHT",
 		"DRUID",
@@ -402,13 +405,16 @@ ww_defaultVars = {
 			["Beast Mastery"] = {
 				["ranged dps"] = 213,
 				["hit rating"] = 100,
+				["ranged hit rating"] = 100,
 				["agility"] = 58,
 				["critical strike rating"] = 40,
+				["ranged critical strike rating"] = 40,
 				["intellect"] = 37,
 				["attack power"] = 30,
 				["ranged attack power"] = 30,
 				["armor penetration rating"] = 28,
 				["haste rating"] = 21,
+				["ranged haste rating"] = 21,
 				triggers = {
 					rangedDamage = true,
 				}
@@ -416,13 +422,16 @@ ww_defaultVars = {
 			["Marksmanship"] = {
 				["ranged dps"] = 379,
 				["hit rating"] = 100,
+				["ranged hit rating"] = 100,
 				["agility"] = 74,
 				["critical strike rating"] = 57,
+				["ranged critical strike rating"] = 57,
 				["armor penetration rating"] = 40,
 				["intellect"] = 39,
 				["attack power"] = 32,
 				["ranged attack power"] = 32,
 				["haste rating"] = 24,
+				["ranged haste rating"] = 24,
 				triggers = {
 					rangedDamage = true,
 				}
@@ -430,10 +439,13 @@ ww_defaultVars = {
 			["Survival"] = {
 				["ranged dps"] = 181,
 				["hit rating"] = 100,
+				["ranged hit rating"] = 100,
 				["agility"] = 76,
 				["critical strike rating"] = 42,
+				["ranged critical strike rating"] = 42,
 				["intellect"] = 35,
 				["haste rating"] = 31,
+				["ranged haste rating"] = 31,
 				["attack power"] = 29,
 				["ranged attack power"] = 29,
 				["armor penetration rating"] = 26,