From 85c98dae208502f67a3e7f3b9b51de76047dfc0f Mon Sep 17 00:00:00 2001 From: James Whitehead II Date: Sun, 28 Nov 2010 12:35:14 +0000 Subject: [PATCH] Added all class weights from wowhead.com --- WowheadPoints.lua | 307 +++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 301 insertions(+), 6 deletions(-) diff --git a/WowheadPoints.lua b/WowheadPoints.lua index 071e823..d23e373 100644 --- a/WowheadPoints.lua +++ b/WowheadPoints.lua @@ -1,10 +1,10 @@ local addonName, addon = ... local L = addon.L -local class = UnitClass("player") +local class = select(2, UnitClass("player")) local info = { - Druid = { + DRUID = { ["Restoration (Healing)"] = { weights = { SPELL_POWER = 100, @@ -54,7 +54,7 @@ local info = { }, }, }, - Warrior = { + WARRIOR = { ["Protection (Tank)"] = { weights = { STAMINA = 100, @@ -95,6 +95,293 @@ local info = { }, }, }, + DEATHKNIGHT = { + ["Blood (Tank)"] = { + weights = { + DAMAGE_PER_SECOND = 500, + MASTERY_RATING = 100, + STAMINA = 100, + AGILITY = 69, + DODGE_RATING = 50, + PARRY_RATING = 43, + EXPERTISE_RATING = 38, + STRENGTH = 31, + CRIT_RATING = 22, + ARMOR = 18, + HASTE_RATING = 16, + HIT_RATING = 16, + ARMOR = 11, + }, + }, + ["Frost (DPS)"] = { + weights = { + DAMAGE_PER_SECOND = 337, + MASTERY_RATING = 100, + HIT_RATING = 100, + STRENGTH = 97, + EXPERTISE_RATING = 81, + CRIT_RATING = 45, + HASTE_RATING = 28, + ARMOR = 1, + }, + }, + ["Unholy (DPS)"] = { + weights = { + DAMAGE_PER_SECOND = 209, + STRENGTH = 100, + MASTERY_RATING = 100, + HIT_RATING = 66, + EXPERTISE_RATING = 51, + HASTE_RATING = 48, + CRIT_RATING = 45, + ARMOR = 1, + }, + }, + }, + HUNTER = { + ["Beast Mastery"] = { + weights = { + DAMAGE_PER_SECOND = 213, + HIT_RATING = 100, + MASTERY_RATING = 100, + AGILITY = 58, + CRIT_RATING = 40, + INTELLECT = 37, + HASTE_RATING = 21, + }, + }, + ["Marksmanship"] = { + weights = { + DAMAGE_PER_SECOND = 379, + HIT_RATING = 100, + MASTERY_RATING = 100, + AGILITY = 74, + CRIT_RATING = 57, + INTELLECT = 39, + HASTE_RATING = 24, + }, + }, + ["Survival"] = { + weights = { + DAMAGE_PER_SECOND = 181, + HIT_RATING = 100, + MASTERY_RATING = 100, + AGILITY = 76, + CRIT_RATING = 42, + INTELLECT = 35, + HASTE_RATING = 31, + }, + }, + }, + MAGE = { + ["Arcane"] = { + weights = { + HIT_RATING = 100, + MASTERY_RATING = 100, + HASTE_RATING = 54, + SPELL_POWER = 49, + CRIT_RATING = 37, + INTELLECT = 34, + SPIRIT = 14, + }, + }, + ["Fire"] = { + weights = { + HIT_RATING = 100, + MASTERY_RATING = 100, + HASTE_RATING = 53, + SPELL_POWER = 46, + CRIT_RATING = 43, + INTELLECT = 13, + }, + }, + ["Frost"] = { + weights = { + HIT_RATING = 100, + MASTERY_RATING = 100, + HASTE_RATING = 42, + SPELL_POWER = 39, + CRIT_RATING = 19, + INTELLECT = 6, + }, + }, + }, + PALADIN = { + ["Holy (Healing)"] = { + weights = { + INTELLECT = 100, + MASTERY_RATING = 100, + SPELL_POWER = 58, + CRIT_RATING = 46, + HASTE_RATING = 35, + }, + }, + ["Protection (Tank)"] = { + weights = { + MASTERY_RATING = 100, + STAMINA = 100, + AGILITY = 60, + EXPERTISE_RATING = 59, + DODGE_RATING = 55, + PARRY_RATING = 30, + STRENGTH = 16, + ARMOR = 8, + }, + }, + ["Retribution (DPS)"] = { + weights = { + MASTERY_RATING = 100, + STAMINA = 100, + AGILITY = 60, + EXPERTISE_RATING = 59, + DODGE_RATING = 55, + PARRY_RATING = 30, + STRENGTH = 16, + ARMOR = 8, + }, + }, + }, + PRIEST = { + ["Discipline (Healing)"] = { + weights = { + SPELL_POWER = 100, + MASTERY_RATING = 100, + INTELLECT = 65, + HASTE_RATING = 59, + CRIT_RATING = 48, + SPIRIT = 22, + }, + }, + ["Holy (Healing)"] = { + weights = { + MASTERY_RATING = 100, + INTELLECT = 69, + SPELL_POWER = 60, + SPIRIT = 52, + CRIT_RATING = 38, + HASTE_RATING = 31, + }, + }, + ["Shadow Magic (DPS)"] = { + weights = { + HIT_RATING = 100, + MASTERY_RATING = 100, + SPELL_POWER = 76, + CRIT_RATING = 54, + HASTE_RATING = 50, + INTELLECT = 16, + SPIRIT = 16, + }, + }, + }, + ROGUE = { + ["Assassination"] = { + weights = { + DAMAGE_PER_SECOND = 170, + AGILITY = 100, + MASTERY_RATING = 100, + EXPERTISE_RATING = 87, + HIT_RATING = 83, + CRIT_RATING = 81, + HASTE_RATING = 64, + STRENGTH = 55, + }, + }, + ["Combat"] = { + weights = { + DAMAGE_PER_SECOND = 220, + AGILITY = 100, + MASTERY_RATING = 100, + EXPERTISE_RATING = 82, + HIT_RATING = 80, + CRIT_RATING = 75, + HASTE_RATING = 73, + STRENGTH = 55, + }, + }, + ["Subtlety"] = { + weights = { + DAMAGE_PER_SECOND = 228, + EXPERTISE_RATING = 100, + AGILITY = 100, + MASTERY_RATING = 100, + HIT_RATING = 80, + HASTE_RATING = 75, + CRIT_RATING = 75, + STRENGTH = 55, + }, + }, + }, + SHAMAN = { + ["Elemental Combat (DPS)"] = { + weights = { + MASTERY_RATING = 100, + HIT_RATING = 100, + SPELL_POWER = 60, + HASTE_RATING = 56, + CRIT_RATING = 40, + INTELLECT = 11, + }, + }, + ["Enhancement (DPS)"] = { + weights = { + DAMAGE_PER_SECOND = 135, + HIT_RATING = 100, + MASTERY_RATING = 100, + EXPERTISE_RATING = 84, + INTELLECT = 55, + AGILITY = 55, + CRIT_RATING = 55, + HASTE_RATING = 42, + STRENGTH = 35, + SPELL_POWER = 29, + }, + }, + ["Restoration (Healing)"] = { + weights = { + MASTERY_RATING = 100, + INTELLECT = 85, + SPELL_POWER = 77, + CRIT_RATING = 62, + HASTE_RATING = 35, + }, + }, + }, + WARLOCK = { + ["Affliction"] = { + weights = { + HIT_RATING = 100, + MASTERY_RATING = 100, + SPELL_POWER = 72, + HASTE_RATING = 61, + CRIT_RATING = 38, + SPIRIT = 34, + INTELLECT = 15, + }, + }, + ["Demonology"] = { + weights = { + HIT_RATING = 100, + MASTERY_RATING = 100, + HASTE_RATING = 50, + SPELL_POWER = 45, + CRIT_RATING = 31, + SPIRIT = 29, + INTELLECT = 13, + }, + }, + ["Destruction"] = { + weights = { + MASTERY_RATING = 100, + HIT_RATING = 100, + SPELL_POWER = 47, + HASTE_RATING = 46, + SPIRIT = 26, + CRIT_RATING = 16, + INTELLECT = 13, + }, + }, + }, } local function GetWeights(link) @@ -108,8 +395,16 @@ local function GetWeights(link) end local score = 0 for stat, weight in pairs(info.weights) do - local key = "ITEM_MOD_" .. stat .. "_SHORT" - local value = stats[key] + local key, value + + if stat == "ARMOR" then + key = "RESISTANCE0_NAME" + value = stats[key] + else + key = "ITEM_MOD_" .. stat .. "_SHORT" + value = stats[key] + end + if not value then key = "ITEM_MOD_" .. stat value = stats[key] @@ -153,7 +448,7 @@ local function OnTooltipSetItem(tooltip, ...) tooltip:AddLine(" ") tooltip:AddLine("Equipment ratings from Wowhead.com:") for idx, name in ipairs(sort) do - tooltip:AddDoubleLine(name .. ":", scores[name], 1.0, 1.0, 1.0) + tooltip:AddDoubleLine(name .. ":", math.floor(scores[name]), 1.0, 1.0, 1.0) end tooltip:AddLine(" ") end -- 1.7.9.5