-- 自动生成，请勿手动编辑。由 export_data.py 从 MySQL 导出。
-- 生成时间：2026-08-18 09:52:05
-- 副本/团本装备数据（297 条物品） ## Author: wb  ## Version: 1.0.0  ## SavedVariables: ClassLootViewer_SavedVars

ClassLootViewerDB = {
  version = "12.1",
  -- 标准槽位顺序（横向 13 列）
  standardSlots = {
    "头部",
    "颈部",
    "肩部",
    "背部",
    "胸部",
    "腕部",
    "手部",
    "腰部",
    "腿部",
    "脚部",
    "手指",
    "饰品",
    "武器",
  },
  -- 纵向行：Mythic 每副本一行（只显副本名）；Raid 每 boss 一行（显 副本-boss）
  rows = {
    { type = "Mythic", dungeon = "毒牙", label = "毒牙" },
    { type = "Mythic", dungeon = "熊洞", label = "熊洞" },
    { type = "Mythic", dungeon = "密谋", label = "密谋" },
    { type = "Mythic", dungeon = "夺目", label = "夺目" },
    { type = "Mythic", dungeon = "虚痕", label = "虚痕" },
    { type = "Mythic", dungeon = "诸王", label = "诸王" },
    { type = "Mythic", dungeon = "红玉", label = "红玉" },
    { type = "Mythic", dungeon = "蛇庙", label = "蛇庙" },
    { type = "Raid", dungeon = "潮缚", boss = "尼姆瑞莎", label = "潮缚 - 尼姆瑞莎" },
    { type = "Raid", dungeon = "烈毒", boss = "內克扎莉", label = "烈毒 - 內克扎莉" },
    { type = "Raid", dungeon = "烈毒", boss = "陵寝哨兵", label = "烈毒 - 陵寝哨兵" },
    { type = "Raid", dungeon = "烈毒", boss = "迷失的探险者", label = "烈毒 - 迷失的探险者" },
    { type = "Raid", dungeon = "烈毒", boss = "瓦什尼克", label = "烈毒 - 瓦什尼克" },
    { type = "Raid", dungeon = "烈毒", boss = "斯索拉克", label = "烈毒 - 斯索拉克" },
    { type = "Raid", dungeon = "烈毒", boss = "双子毒牙", label = "烈毒 - 双子毒牙" },
    { type = "Raid", dungeon = "烈毒", boss = "盘卷祭坛", label = "烈毒 - 盘卷祭坛" },
    { type = "Raid", dungeon = "烈毒", boss = "乌拉特克", label = "烈毒 - 乌拉特克" },
  },
  -- 物品数据（扁平结构，运行时按 职业筛选 + 行 + 列 过滤）
  items = {
    {
      itemId = 273793, name = "多头蛇刺双刃", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "毒牙", boss = "老一",
      slot = "单手战刃", stdSlot = "武器", armorType = "",
      allowClass = { "DEMONHUNTER" },
      crit = 0, hast = 0, mast = 1, ver = 1,
    },
    {
      itemId = 273780, name = "毒液蚀刻新月刃", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "毒牙", boss = "老一",
      slot = "单手斧", stdSlot = "武器", armorType = "",
      allowClass = { "PALADIN", "SHAMAN", "MONK", "DEMONHUNTER", "EVOKER" },
      crit = 1, hast = 0, mast = 1, ver = 0,
    },
    {
      itemId = 273785, name = "始源仪式法袍", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "毒牙", boss = "老一",
      slot = "胸部", stdSlot = "胸部", armorType = "布甲",
      allowClass = { "PRIEST", "MAGE", "WARLOCK" },
      crit = 0, hast = 1, mast = 1, ver = 0,
    },
    {
      itemId = 273775, name = "多头蛇鳞护腕", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "毒牙", boss = "老一",
      slot = "腕部", stdSlot = "腕部", armorType = "锁甲",
      allowClass = { "SHAMAN", "HUNTER", "EVOKER" },
      crit = 0, hast = 0, mast = 1, ver = 1,
    },
    {
      itemId = 273777, name = "防毒踏靴", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "毒牙", boss = "老一",
      slot = "脚部", stdSlot = "脚部", armorType = "板甲",
      allowClass = { "WARRIOR", "PALADIN", "DEATHKNIGHT" },
      crit = 0, hast = 1, mast = 0, ver = 1,
    },
    {
      itemId = 273796, name = "一瓶肮脏的烈性毒液", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "毒牙", boss = "老一",
      slot = "饰品", stdSlot = "饰品", armorType = "",
      allowClass = { "WARRIOR", "PALADIN", "HUNTER", "ROGUE", "PRIEST", "DEATHKNIGHT", "SHAMAN", "MAGE", "WARLOCK", "MONK", "DRUID", "DEMONHUNTER", "EVOKER" },
      crit = 1, hast = 1, mast = 1, ver = 1,
    },
    {
      itemId = 273795, name = "盘卷牙石", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "毒牙", boss = "老一",
      slot = "饰品", stdSlot = "饰品", armorType = "",
      allowClass = { "WARRIOR", "PALADIN", "DEATHKNIGHT" },
      crit = 0, hast = 0, mast = 0, ver = 0,
    },
    {
      itemId = 273783, name = "涂毒战杖", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "毒牙", boss = "老二",
      slot = "双手法杖", stdSlot = "武器", armorType = "",
      allowClass = { "HUNTER", "DRUID", "MONK" },
      crit = 0, hast = 1, mast = 1, ver = 0,
    },
    {
      itemId = 273782, name = "邪恶扭牙长柄战刃", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "毒牙", boss = "老二",
      slot = "双手长柄", stdSlot = "武器", armorType = "",
      allowClass = { "WARRIOR", "PALADIN", "DEATHKNIGHT" },
      crit = 1, hast = 1, mast = 0, ver = 0,
    },
    {
      itemId = 273779, name = "有害聚焦之牙", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "毒牙", boss = "老二",
      slot = "副手物品", stdSlot = "武器", armorType = "",
      allowClass = { "PRIEST", "MAGE", "WARLOCK", "MONK", "DRUID", "EVOKER" },
      crit = 1, hast = 1, mast = 0, ver = 0,
    },
    {
      itemId = 273781, name = "护卫之牙束带", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "毒牙", boss = "老二",
      slot = "颈部", stdSlot = "颈部", armorType = "",
      allowClass = { "WARRIOR", "PALADIN", "HUNTER", "ROGUE", "PRIEST", "DEATHKNIGHT", "SHAMAN", "MAGE", "WARLOCK", "MONK", "DRUID", "DEMONHUNTER", "EVOKER" },
      crit = 1, hast = 1, mast = 0, ver = 0,
    },
    {
      itemId = 273774, name = "蛇皮护肩", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "毒牙", boss = "老二",
      slot = "肩部", stdSlot = "肩部", armorType = "皮甲",
      allowClass = { "ROGUE", "MONK", "DRUID", "DEMONHUNTER" },
      crit = 1, hast = 0, mast = 0, ver = 1,
    },
    {
      itemId = 273787, name = "陈旧的交织鳞甲", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "毒牙", boss = "老二",
      slot = "胸部", stdSlot = "胸部", armorType = "板甲",
      allowClass = { "WARRIOR", "PALADIN", "DEATHKNIGHT" },
      crit = 1, hast = 0, mast = 0, ver = 1,
    },
    {
      itemId = 273786, name = "蜷曲盘蛇护腿", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "毒牙", boss = "老二",
      slot = "腿部", stdSlot = "腿部", armorType = "布甲",
      allowClass = { "PRIEST", "MAGE", "WARLOCK" },
      crit = 1, hast = 1, mast = 0, ver = 0,
    },
    {
      itemId = 273794, name = "蠕动毒蛇之结", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "毒牙", boss = "老二",
      slot = "饰品", stdSlot = "饰品", armorType = "",
      allowClass = { "PALADIN", "PRIEST", "SHAMAN", "MAGE", "WARLOCK", "MONK", "DRUID", "DEMONHUNTER", "EVOKER" },
      crit = 0, hast = 0, mast = 0, ver = 0,
    },
    {
      itemId = 273778, name = "抛光的光木引导杖", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "毒牙", boss = "老三",
      slot = "匕首", stdSlot = "武器", armorType = "",
      allowClass = { "PRIEST", "SHAMAN", "MAGE", "WARLOCK", "DRUID", "DEMONHUNTER", "EVOKER" },
      crit = 0, hast = 1, mast = 1, ver = 0,
    },
    {
      itemId = 275070, name = "锋利的光木挥砍者", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "毒牙", boss = "老三",
      slot = "匕首", stdSlot = "武器", armorType = "",
      allowClass = { "ROGUE", "HUNTER" },
      crit = 1, hast = 1, mast = 0, ver = 0,
    },
    {
      itemId = 273784, name = "阿曼尼先祖反曲弓", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "毒牙", boss = "老三",
      slot = "远程", stdSlot = "武器", armorType = "",
      allowClass = { "HUNTER" },
      crit = 0, hast = 1, mast = 1, ver = 0,
    },
    {
      itemId = 273791, name = "备用的代言人兜帽", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "毒牙", boss = "老三",
      slot = "头部", stdSlot = "头部", armorType = "皮甲",
      allowClass = { "ROGUE", "MONK", "DRUID", "DEMONHUNTER" },
      crit = 1, hast = 1, mast = 0, ver = 0,
    },
    {
      itemId = 273789, name = "腐蚀鳞片护胸", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "毒牙", boss = "老三",
      slot = "胸部", stdSlot = "胸部", armorType = "锁甲",
      allowClass = { "SHAMAN", "HUNTER", "EVOKER" },
      crit = 1, hast = 1, mast = 0, ver = 0,
    },
    {
      itemId = 273773, name = "亵渎仪式裹手", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "毒牙", boss = "老三",
      slot = "手部", stdSlot = "手部", armorType = "布甲",
      allowClass = { "PRIEST", "MAGE", "WARLOCK" },
      crit = 1, hast = 0, mast = 1, ver = 0,
    },
    {
      itemId = 273776, name = "远古将军的黑曜石之柱", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "毒牙", boss = "老三",
      slot = "腿部", stdSlot = "腿部", armorType = "板甲",
      allowClass = { "WARRIOR", "PALADIN", "DEATHKNIGHT" },
      crit = 1, hast = 1, mast = 0, ver = 0,
    },
    {
      itemId = 273792, name = "阿曼尼督军的指环", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "毒牙", boss = "老三",
      slot = "手指", stdSlot = "手指", armorType = "",
      allowClass = { "WARRIOR", "PALADIN", "HUNTER", "ROGUE", "PRIEST", "DEATHKNIGHT", "SHAMAN", "MAGE", "WARLOCK", "MONK", "DRUID", "DEMONHUNTER", "EVOKER" },
      crit = 1, hast = 1, mast = 0, ver = 0,
    },
    {
      itemId = 273797, name = "破损的阿曼尼战旗", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "毒牙", boss = "老三",
      slot = "饰品", stdSlot = "饰品", armorType = "",
      allowClass = { "WARRIOR", "PALADIN", "DEATHKNIGHT", "HUNTER", "ROGUE", "MONK", "DRUID", "DEMONHUNTER", "SHAMAN" },
      crit = 1, hast = 1, mast = 1, ver = 1,
    },
    {
      itemId = 251143, name = "严酷收割手套", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "熊洞", boss = "老一",
      slot = "单手拳套", stdSlot = "武器", armorType = "",
      allowClass = { "ROGUE", "SHAMAN", "MONK", "DEMONHUNTER" },
      crit = 0, hast = 1, mast = 0, ver = 1,
    },
    {
      itemId = 251146, name = "拾荒者护肩", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "熊洞", boss = "老一",
      slot = "肩部", stdSlot = "肩部", armorType = "皮甲",
      allowClass = { "ROGUE", "MONK", "DRUID", "DEMONHUNTER" },
      crit = 1, hast = 0, mast = 0, ver = 1,
    },
    {
      itemId = 251147, name = "囤积丰收裹布", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "熊洞", boss = "老一",
      slot = "胸部", stdSlot = "胸部", armorType = "布甲",
      allowClass = { "PRIEST", "MAGE", "WARLOCK" },
      crit = 0, hast = 0, mast = 1, ver = 1,
    },
    {
      itemId = 251144, name = "秋日恩赐腰带", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "熊洞", boss = "老一",
      slot = "腰部", stdSlot = "腰部", armorType = "板甲",
      allowClass = { "WARRIOR", "PALADIN", "DEATHKNIGHT" },
      crit = 0, hast = 0, mast = 1, ver = 1,
    },
    {
      itemId = 251145, name = "遗忘部族的护足", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "熊洞", boss = "老一",
      slot = "脚部", stdSlot = "脚部", armorType = "锁甲",
      allowClass = { "SHAMAN", "HUNTER", "EVOKER" },
      crit = 0, hast = 1, mast = 0, ver = 1,
    },
    {
      itemId = 251148, name = "窃来的珍贵指环", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "熊洞", boss = "老一",
      slot = "手指", stdSlot = "手指", armorType = "",
      allowClass = { "WARRIOR", "PALADIN", "HUNTER", "ROGUE", "PRIEST", "DEATHKNIGHT", "SHAMAN", "MAGE", "WARLOCK", "MONK", "DRUID", "DEMONHUNTER", "EVOKER" },
      crit = 1, hast = 0, mast = 0, ver = 1,
    },
    {
      itemId = 250248, name = "真菌药剂", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "熊洞", boss = "老一",
      slot = "饰品", stdSlot = "饰品", armorType = "",
      allowClass = { "PRIEST", "PALADIN", "SHAMAN", "DRUID", "MONK", "EVOKER" },
      crit = 0, hast = 0, mast = 0, ver = 0,
    },
    {
      itemId = 251149, name = "胜利者的闪冻刀刃", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "熊洞", boss = "老二",
      slot = "双手长柄", stdSlot = "武器", armorType = "",
      allowClass = { "HUNTER", "MONK", "DRUID" },
      crit = 0, hast = 1, mast = 1, ver = 0,
    },
    {
      itemId = 251150, name = "风暴庇护", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "熊洞", boss = "老二",
      slot = "盾牌", stdSlot = "武器", armorType = "",
      allowClass = { "PALADIN", "WARRIOR", "SHAMAN" },
      crit = 0, hast = 1, mast = 1, ver = 0,
    },
    {
      itemId = 271681, name = "恒常冰封护符", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "熊洞", boss = "老二",
      slot = "副手物品", stdSlot = "武器", armorType = "",
      allowClass = { "PRIEST", "MAGE", "WARLOCK", "DRUID", "MONK", "EVOKER" },
      crit = 1, hast = 0, mast = 1, ver = 0,
    },
    {
      itemId = 251151, name = "哨兵挑战者的奖赏", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "熊洞", boss = "老二",
      slot = "胸部", stdSlot = "胸部", armorType = "板甲",
      allowClass = { "WARRIOR", "PALADIN", "DEATHKNIGHT" },
      crit = 1, hast = 0, mast = 1, ver = 0,
    },
    {
      itemId = 251154, name = "寒冬之拥护腕", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "熊洞", boss = "老二",
      slot = "腕部", stdSlot = "腕部", armorType = "布甲",
      allowClass = { "PRIEST", "MAGE", "WARLOCK" },
      crit = 1, hast = 0, mast = 1, ver = 0,
    },
    {
      itemId = 251152, name = "季节轮替护手", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "熊洞", boss = "老二",
      slot = "手部", stdSlot = "手部", armorType = "锁甲",
      allowClass = { "SHAMAN", "HUNTER", "EVOKER" },
      crit = 0, hast = 1, mast = 0, ver = 1,
    },
    {
      itemId = 251155, name = "部族防御者腰索", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "熊洞", boss = "老二",
      slot = "腰部", stdSlot = "腰部", armorType = "锁甲",
      allowClass = { "SHAMAN", "HUNTER", "EVOKER" },
      crit = 1, hast = 0, mast = 1, ver = 0,
    },
    {
      itemId = 251153, name = "极地探险者裹腿", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "熊洞", boss = "老二",
      slot = "脚部", stdSlot = "脚部", armorType = "皮甲",
      allowClass = { "ROGUE", "MONK", "DRUID", "DEMONHUNTER" },
      crit = 1, hast = 1, mast = 0, ver = 0,
    },
    {
      itemId = 250244, name = "永冻精华", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "熊洞", boss = "老二",
      slot = "饰品", stdSlot = "饰品", armorType = "",
      allowClass = { "WARRIOR", "PALADIN", "DEATHKNIGHT", "MONK", "DRUID", "DEMONHUNTER" },
      crit = 1, hast = 0, mast = 0, ver = 0,
    },
    {
      itemId = 251156, name = "堕落代言人法杖", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "熊洞", boss = "老三",
      slot = "双手法杖", stdSlot = "武器", armorType = "",
      allowClass = { "PRIEST", "MAGE", "WARLOCK", "DRUID", "SHAMAN", "EVOKER", "MONK" },
      crit = 0, hast = 1, mast = 0, ver = 1,
    },
    {
      itemId = 251158, name = "纳洛拉克的梦魇", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "熊洞", boss = "老三",
      slot = "头部", stdSlot = "头部", armorType = "锁甲",
      allowClass = { "SHAMAN", "HUNTER", "EVOKER" },
      crit = 0, hast = 1, mast = 0, ver = 1,
    },
    {
      itemId = 251173, name = "冲锋巨熊项圈", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "熊洞", boss = "老三",
      slot = "颈部", stdSlot = "颈部", armorType = "",
      allowClass = { "WARRIOR", "PALADIN", "HUNTER", "ROGUE", "PRIEST", "DEATHKNIGHT", "SHAMAN", "MAGE", "WARLOCK", "MONK", "DRUID", "DEMONHUNTER", "EVOKER" },
      crit = 1, hast = 1, mast = 0, ver = 0,
    },
    {
      itemId = 251159, name = "战争试炼行装", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "熊洞", boss = "老三",
      slot = "胸部", stdSlot = "胸部", armorType = "皮甲",
      allowClass = { "ROGUE", "MONK", "DRUID", "DEMONHUNTER" },
      crit = 0, hast = 1, mast = 1, ver = 0,
    },
    {
      itemId = 251214, name = "哈舒拉的腕轮", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "熊洞", boss = "老三",
      slot = "腕部", stdSlot = "腕部", armorType = "板甲",
      allowClass = { "WARRIOR", "PALADIN", "DEATHKNIGHT" },
      crit = 1, hast = 1, mast = 0, ver = 0,
    },
    {
      itemId = 251160, name = "森林梦境护腿", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "熊洞", boss = "老三",
      slot = "腿部", stdSlot = "腿部", armorType = "布甲",
      allowClass = { "PRIEST", "MAGE", "WARLOCK" },
      crit = 1, hast = 1, mast = 0, ver = 0,
    },
    {
      itemId = 250229, name = "战争之神神像", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "熊洞", boss = "老三",
      slot = "饰品", stdSlot = "饰品", armorType = "",
      allowClass = { "WARRIOR", "PALADIN", "DEATHKNIGHT" },
      crit = 1, hast = 0, mast = 0, ver = 0,
    },
    {
      itemId = 251123, name = "咬咬的训练棒", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "密谋", boss = "老一",
      slot = "双手法杖", stdSlot = "武器", armorType = "",
      allowClass = { "PRIEST", "MAGE", "WARLOCK", "DRUID", "SHAMAN", "EVOKER", "MONK" },
      crit = 1, hast = 1, mast = 0, ver = 0,
    },
    {
      itemId = 271680, name = "罪炽连发枪", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "密谋", boss = "老一",
      slot = "远程", stdSlot = "武器", armorType = "",
      allowClass = { "HUNTER" },
      crit = 1, hast = 0, mast = 0, ver = 1,
    },
    {
      itemId = 251126, name = "诱引巨盔", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "密谋", boss = "老一",
      slot = "头部", stdSlot = "头部", armorType = "板甲",
      allowClass = { "WARRIOR", "PALADIN", "DEATHKNIGHT" },
      crit = 1, hast = 0, mast = 1, ver = 0,
    },
    {
      itemId = 251127, name = "啃咬之护臂", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "密谋", boss = "老一",
      slot = "腕部", stdSlot = "腕部", armorType = "布甲",
      allowClass = { "PRIEST", "MAGE", "WARLOCK" },
      crit = 1, hast = 1, mast = 0, ver = 0,
    },
    {
      itemId = 251124, name = "狂热防御护手", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "密谋", boss = "老一",
      slot = "手部", stdSlot = "手部", armorType = "皮甲",
      allowClass = { "ROGUE", "MONK", "DRUID", "DEMONHUNTER" },
      crit = 1, hast = 1, mast = 0, ver = 0,
    },
    {
      itemId = 251125, name = "邪能浸透之靴", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "密谋", boss = "老一",
      slot = "脚部", stdSlot = "脚部", armorType = "锁甲",
      allowClass = { "SHAMAN", "HUNTER", "EVOKER" },
      crit = 1, hast = 0, mast = 0, ver = 1,
    },
    {
      itemId = 250243, name = "魔力之心的联结烈焰", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "密谋", boss = "老一",
      slot = "饰品", stdSlot = "饰品", armorType = "",
      allowClass = { "WARRIOR", "PALADIN", "DEATHKNIGHT", "MONK", "DRUID", "DEMONHUNTER" },
      crit = 0, hast = 0, mast = 0, ver = 0,
    },
    {
      itemId = 251128, name = "刃悲", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "密谋", boss = "老二",
      slot = "匕首", stdSlot = "武器", armorType = "",
      allowClass = { "HUNTER", "ROGUE" },
      crit = 1, hast = 0, mast = 1, ver = 0,
    },
    {
      itemId = 251131, name = "叮当作响的邪能护肩", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "密谋", boss = "老二",
      slot = "肩部", stdSlot = "肩部", armorType = "锁甲",
      allowClass = { "SHAMAN", "HUNTER", "EVOKER" },
      crit = 1, hast = 0, mast = 0, ver = 1,
    },
    {
      itemId = 251132, name = "私酿酒馆裹布", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "密谋", boss = "老二",
      slot = "背部", stdSlot = "背部", armorType = "",
      allowClass = { "WARRIOR", "PALADIN", "HUNTER", "ROGUE", "PRIEST", "DEATHKNIGHT", "SHAMAN", "MAGE", "WARLOCK", "MONK", "DRUID", "DEMONHUNTER", "EVOKER" },
      crit = 1, hast = 0, mast = 1, ver = 0,
    },
    {
      itemId = 251133, name = "监督者的护臂", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "密谋", boss = "老二",
      slot = "腕部", stdSlot = "腕部", armorType = "板甲",
      allowClass = { "WARRIOR", "PALADIN", "DEATHKNIGHT" },
      crit = 1, hast = 1, mast = 0, ver = 0,
    },
    {
      itemId = 251129, name = "伪造的手套", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "密谋", boss = "老二",
      slot = "手部", stdSlot = "手部", armorType = "布甲",
      allowClass = { "PRIEST", "MAGE", "WARLOCK" },
      crit = 0, hast = 0, mast = 1, ver = 1,
    },
    {
      itemId = 251130, name = "巧手交易马裤", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "密谋", boss = "老二",
      slot = "腿部", stdSlot = "腿部", armorType = "皮甲",
      allowClass = { "ROGUE", "MONK", "DRUID", "DEMONHUNTER" },
      crit = 1, hast = 0, mast = 1, ver = 0,
    },
    {
      itemId = 250215, name = "货运者水壶", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "密谋", boss = "老二",
      slot = "饰品", stdSlot = "饰品", armorType = "",
      allowClass = { "PALADIN", "HUNTER", "ROGUE", "PRIEST", "SHAMAN", "MAGE", "WARLOCK", "MONK", "DRUID", "DEMONHUNTER", "EVOKER" },
      crit = 1, hast = 0, mast = 0, ver = 0,
    },
    {
      itemId = 251134, name = "萨祖克斯的裂肉斧", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "密谋", boss = "老三",
      slot = "双手斧", stdSlot = "武器", armorType = "",
      allowClass = { "WARRIOR", "DEATHKNIGHT", "PALADIN" },
      crit = 1, hast = 1, mast = 0, ver = 0,
    },
    {
      itemId = 251135, name = "怒羽护臂", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "密谋", boss = "老三",
      slot = "腕部", stdSlot = "腕部", armorType = "皮甲",
      allowClass = { "ROGUE", "MONK", "DRUID", "DEMONHUNTER" },
      crit = 1, hast = 1, mast = 0, ver = 0,
    },
    {
      itemId = 251137, name = "暴风迅雷便鞋", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "密谋", boss = "老三",
      slot = "脚部", stdSlot = "脚部", armorType = "布甲",
      allowClass = { "MAGE", "WARLOCK", "PRIEST" },
      crit = 0, hast = 1, mast = 1, ver = 0,
    },
    {
      itemId = 251136, name = "咆哮奴役玺戒", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "密谋", boss = "老三",
      slot = "手指", stdSlot = "手指", armorType = "",
      allowClass = { "WARRIOR", "PALADIN", "HUNTER", "ROGUE", "PRIEST", "DEATHKNIGHT", "SHAMAN", "MAGE", "WARLOCK", "MONK", "DRUID", "DEMONHUNTER", "EVOKER" },
      crit = 1, hast = 0, mast = 1, ver = 0,
    },
    {
      itemId = 250228, name = "共鸣咆哮石", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "密谋", boss = "老三",
      slot = "饰品", stdSlot = "饰品", armorType = "",
      allowClass = { "WARRIOR", "PALADIN", "DEATHKNIGHT", "HUNTER", "ROGUE", "MONK", "DRUID", "DEMONHUNTER", "SHAMAN" },
      crit = 1, hast = 0, mast = 0, ver = 0,
    },
    {
      itemId = 251140, name = "邪犬伪装", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "密谋", boss = "老四",
      slot = "头部", stdSlot = "头部", armorType = "皮甲",
      allowClass = { "ROGUE", "MONK", "DRUID", "DEMONHUNTER" },
      crit = 0, hast = 1, mast = 1, ver = 0,
    },
    {
      itemId = 251142, name = "恶毒之怒吊坠", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "密谋", boss = "老四",
      slot = "颈部", stdSlot = "颈部", armorType = "",
      allowClass = { "WARRIOR", "PALADIN", "HUNTER", "ROGUE", "PRIEST", "DEATHKNIGHT", "SHAMAN", "MAGE", "WARLOCK", "MONK", "DRUID", "DEMONHUNTER", "EVOKER" },
      crit = 0, hast = 1, mast = 1, ver = 0,
    },
    {
      itemId = 251138, name = "烬怒肩铠", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "密谋", boss = "老四",
      slot = "肩部", stdSlot = "肩部", armorType = "板甲",
      allowClass = { "WARRIOR", "PALADIN", "DEATHKNIGHT" },
      crit = 0, hast = 1, mast = 1, ver = 0,
    },
    {
      itemId = 251139, name = "召唤师的灼热衬衣", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "密谋", boss = "老四",
      slot = "胸部", stdSlot = "胸部", armorType = "布甲",
      allowClass = { "MAGE", "WARLOCK", "PRIEST" },
      crit = 1, hast = 1, mast = 0, ver = 0,
    },
    {
      itemId = 251141, name = "利希尔的锁链护腿", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "密谋", boss = "老四",
      slot = "腿部", stdSlot = "腿部", armorType = "锁甲",
      allowClass = { "SHAMAN", "HUNTER", "EVOKER" },
      crit = 0, hast = 1, mast = 0, ver = 1,
    },
    {
      itemId = 250255, name = "动荡的邪心水晶", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "密谋", boss = "老四",
      slot = "饰品", stdSlot = "饰品", armorType = "",
      allowClass = { "PRIEST", "PALADIN", "SHAMAN", "DRUID", "MONK", "EVOKER" },
      crit = 0, hast = 0, mast = 0, ver = 0,
    },
    {
      itemId = 251181, name = "剪枝长矛", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "夺目", boss = "老一",
      slot = "双手长柄", stdSlot = "武器", armorType = "",
      allowClass = { "WARRIOR", "PALADIN", "DEATHKNIGHT" },
      crit = 0, hast = 1, mast = 0, ver = 1,
    },
    {
      itemId = 251180, name = "荆棘之刃", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "夺目", boss = "老一",
      slot = "匕首", stdSlot = "武器", armorType = "",
      allowClass = { "ROGUE", "HUNTER" },
      crit = 0, hast = 1, mast = 1, ver = 0,
    },
    {
      itemId = 251184, name = "铁根肩甲", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "夺目", boss = "老一",
      slot = "肩部", stdSlot = "肩部", armorType = "锁甲",
      allowClass = { "SHAMAN", "HUNTER", "EVOKER" },
      crit = 0, hast = 1, mast = 0, ver = 1,
    },
    {
      itemId = 251183, name = "护根者束腕", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "夺目", boss = "老一",
      slot = "腕部", stdSlot = "腕部", armorType = "皮甲",
      allowClass = { "ROGUE", "MONK", "DRUID", "DEMONHUNTER" },
      crit = 1, hast = 0, mast = 1, ver = 0,
    },
    {
      itemId = 251185, name = "光绽围腰", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "夺目", boss = "老一",
      slot = "腰部", stdSlot = "腰部", armorType = "布甲",
      allowClass = { "MAGE", "WARLOCK", "PRIEST" },
      crit = 0, hast = 1, mast = 1, ver = 0,
    },
    {
      itemId = 251182, name = "磐石马裤", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "夺目", boss = "老一",
      slot = "腿部", stdSlot = "腿部", armorType = "板甲",
      allowClass = { "WARRIOR", "PALADIN", "DEATHKNIGHT" },
      crit = 1, hast = 0, mast = 0, ver = 1,
    },
    {
      itemId = 250254, name = "光耀希望之种", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "夺目", boss = "老一",
      slot = "饰品", stdSlot = "饰品", armorType = "",
      allowClass = { "PRIEST", "PALADIN", "SHAMAN", "DRUID", "MONK", "EVOKER" },
      crit = 0, hast = 0, mast = 0, ver = 0,
    },
    {
      itemId = 251186, name = "棘爪龙利刃", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "夺目", boss = "老二",
      slot = "单手拳套", stdSlot = "武器", armorType = "",
      allowClass = { "ROGUE", "MONK", "DRUID", "DEMONHUNTER", "SHAMAN", "HUNTER" },
      crit = 1, hast = 0, mast = 1, ver = 0,
    },
    {
      itemId = 251188, name = "绝望花瓣", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "夺目", boss = "老二",
      slot = "魔杖", stdSlot = "武器", armorType = "",
      allowClass = { "MAGE", "WARLOCK", "PRIEST" },
      crit = 0, hast = 1, mast = 1, ver = 0,
    },
    {
      itemId = 251187, name = "阿米达希尔之援", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "夺目", boss = "老二",
      slot = "远程", stdSlot = "武器", armorType = "",
      allowClass = { "HUNTER" },
      crit = 1, hast = 0, mast = 0, ver = 1,
    },
    {
      itemId = 251190, name = "血棘披风", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "夺目", boss = "老二",
      slot = "背部", stdSlot = "背部", armorType = "",
      allowClass = { "WARRIOR", "PALADIN", "HUNTER", "ROGUE", "PRIEST", "DEATHKNIGHT", "SHAMAN", "MAGE", "WARLOCK", "MONK", "DRUID", "DEMONHUNTER", "EVOKER" },
      crit = 0, hast = 1, mast = 1, ver = 0,
    },
    {
      itemId = 251189, name = "根须行者腰带", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "夺目", boss = "老二",
      slot = "腰部", stdSlot = "腰部", armorType = "皮甲",
      allowClass = { "ROGUE", "MONK", "DRUID", "DEMONHUNTER" },
      crit = 1, hast = 0, mast = 0, ver = 1,
    },
    {
      itemId = 250238, name = "贪噬狂野之种", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "夺目", boss = "老二",
      slot = "饰品", stdSlot = "饰品", armorType = "",
      allowClass = { "WARRIOR", "PALADIN", "DEATHKNIGHT" },
      crit = 0, hast = 0, mast = 1, ver = 0,
    },
    {
      itemId = 251192, name = "傲慢断枝", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "夺目", boss = "老三",
      slot = "双手法杖", stdSlot = "武器", armorType = "",
      allowClass = { "HUNTER", "DRUID", "MONK" },
      crit = 1, hast = 0, mast = 0, ver = 1,
    },
    {
      itemId = 251191, name = "冷光嫩芽", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "夺目", boss = "老三",
      slot = "副手物品", stdSlot = "武器", armorType = "",
      allowClass = { "PRIEST", "MAGE", "WARLOCK", "MONK", "DRUID", "EVOKER" },
      crit = 0, hast = 1, mast = 1, ver = 0,
    },
    {
      itemId = 251193, name = "主根肋铠", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "夺目", boss = "老三",
      slot = "胸部", stdSlot = "胸部", armorType = "板甲",
      allowClass = { "WARRIOR", "PALADIN", "DEATHKNIGHT" },
      crit = 0, hast = 1, mast = 0, ver = 1,
    },
    {
      itemId = 251165, name = "碎裂护手", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "夺目", boss = "老三",
      slot = "手部", stdSlot = "手部", armorType = "锁甲",
      allowClass = { "SHAMAN", "HUNTER", "EVOKER" },
      crit = 1, hast = 0, mast = 0, ver = 1,
    },
    {
      itemId = 251194, name = "护光者的禁锢", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "夺目", boss = "老三",
      slot = "手指", stdSlot = "手指", armorType = "",
      allowClass = { "WARRIOR", "PALADIN", "HUNTER", "ROGUE", "PRIEST", "DEATHKNIGHT", "SHAMAN", "MAGE", "WARLOCK", "MONK", "DRUID", "DEMONHUNTER", "EVOKER" },
      crit = 0, hast = 0, mast = 1, ver = 1,
    },
    {
      itemId = 250214, name = "光塔核心", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "夺目", boss = "老三",
      slot = "饰品", stdSlot = "饰品", armorType = "",
      allowClass = { "PALADIN", "HUNTER", "ROGUE", "PRIEST", "SHAMAN", "MAGE", "WARLOCK", "MONK", "DRUID", "DEMONHUNTER", "EVOKER" },
      crit = 0, hast = 0, mast = 1, ver = 0,
    },
    {
      itemId = 251195, name = "荆棘回响", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "夺目", boss = "老四",
      slot = "单手剑", stdSlot = "武器", armorType = "",
      allowClass = { "WARRIOR", "PALADIN", "DEATHKNIGHT" },
      crit = 1, hast = 1, mast = 0, ver = 0,
    },
    {
      itemId = 251196, name = "泰达希尔的祭献", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "夺目", boss = "老四",
      slot = "盾牌", stdSlot = "武器", armorType = "",
      allowClass = { "PALADIN", "WARRIOR", "SHAMAN" },
      crit = 1, hast = 0, mast = 0, ver = 1,
    },
    {
      itemId = 251199, name = "世界之根华盖", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "夺目", boss = "老四",
      slot = "头部", stdSlot = "头部", armorType = "布甲",
      allowClass = { "MAGE", "WARLOCK", "PRIEST" },
      crit = 1, hast = 0, mast = 1, ver = 0,
    },
    {
      itemId = 251200, name = "杀叶者护手", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "夺目", boss = "老四",
      slot = "腕部", stdSlot = "腕部", armorType = "锁甲",
      allowClass = { "SHAMAN", "HUNTER", "EVOKER" },
      crit = 1, hast = 1, mast = 0, ver = 0,
    },
    {
      itemId = 251198, name = "光孢护腿", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "夺目", boss = "老四",
      slot = "腿部", stdSlot = "腿部", armorType = "皮甲",
      allowClass = { "ROGUE", "MONK", "DRUID", "DEMONHUNTER" },
      crit = 0, hast = 0, mast = 1, ver = 1,
    },
    {
      itemId = 250259, name = "黎明之根的幼苗", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "夺目", boss = "老四",
      slot = "饰品", stdSlot = "饰品", armorType = "",
      allowClass = { "WARRIOR", "PALADIN", "HUNTER", "ROGUE", "PRIEST", "DEATHKNIGHT", "SHAMAN", "MAGE", "WARLOCK", "MONK", "DRUID", "DEMONHUNTER", "EVOKER" },
      crit = 0, hast = 0, mast = 0, ver = 0,
    },
    {
      itemId = 251197, name = "棘刺手铠", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "夺目", boss = "老四",
      slot = "手部", stdSlot = "手部", armorType = "板甲",
      allowClass = { "WARRIOR", "PALADIN", "DEATHKNIGHT" },
      crit = 0, hast = 0, mast = 1, ver = 1,
    },
    {
      itemId = 251218, name = "塔兹拉尔寰宇之锋", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "虚痕", boss = "老一",
      slot = "单手剑", stdSlot = "武器", armorType = "",
      allowClass = { "WARRIOR", "PALADIN", "DEATHKNIGHT" },
      crit = 0, hast = 1, mast = 1, ver = 0,
    },
    {
      itemId = 251220, name = "虚痕王冠", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "虚痕", boss = "老一",
      slot = "头部", stdSlot = "头部", armorType = "锁甲",
      allowClass = { "SHAMAN", "HUNTER", "EVOKER" },
      crit = 0, hast = 1, mast = 1, ver = 0,
    },
    {
      itemId = 251223, name = "无光肩甲", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "虚痕", boss = "老一",
      slot = "肩部", stdSlot = "肩部", armorType = "皮甲",
      allowClass = { "ROGUE", "MONK", "DRUID", "DEMONHUNTER" },
      crit = 1, hast = 1, mast = 0, ver = 0,
    },
    {
      itemId = 251221, name = "凄惶手铠", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "虚痕", boss = "老一",
      slot = "手部", stdSlot = "手部", armorType = "板甲",
      allowClass = { "WARRIOR", "PALADIN", "DEATHKNIGHT" },
      crit = 0, hast = 0, mast = 1, ver = 1,
    },
    {
      itemId = 251222, name = "虚灵冥界腰带", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "虚痕", boss = "老一",
      slot = "腰部", stdSlot = "腰部", armorType = "布甲",
      allowClass = { "MAGE", "WARLOCK", "PRIEST" },
      crit = 1, hast = 1, mast = 0, ver = 0,
    },
    {
      itemId = 251219, name = "裂隙践踏靴", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "虚痕", boss = "老一",
      slot = "脚部", stdSlot = "脚部", armorType = "布甲",
      allowClass = { "MAGE", "WARLOCK", "PRIEST" },
      crit = 1, hast = 1, mast = 0, ver = 0,
    },
    {
      itemId = 250225, name = "虚空处刑指令", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "虚痕", boss = "老一",
      slot = "饰品", stdSlot = "饰品", armorType = "",
      allowClass = { "HUNTER", "ROGUE", "MONK", "DRUID", "DEMONHUNTER", "SHAMAN" },
      crit = 1, hast = 0, mast = 0, ver = 0,
    },
    {
      itemId = 251225, name = "传染之牙", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "虚痕", boss = "老二",
      slot = "匕首", stdSlot = "武器", armorType = "",
      allowClass = { "PRIEST", "SHAMAN", "MAGE", "WARLOCK", "DRUID", "DEMONHUNTER", "EVOKER" },
      crit = 0, hast = 0, mast = 1, ver = 1,
    },
    {
      itemId = 251224, name = "蛮力手斧", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "虚痕", boss = "老二",
      slot = "单手斧", stdSlot = "武器", armorType = "",
      allowClass = { "HUNTER", "ROGUE", "SHAMAN", "MONK", "DEMONHUNTER" },
      crit = 0, hast = 1, mast = 1, ver = 0,
    },
    {
      itemId = 251229, name = "掠食者面甲", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "虚痕", boss = "老二",
      slot = "头部", stdSlot = "头部", armorType = "板甲",
      allowClass = { "WARRIOR", "PALADIN", "DEATHKNIGHT" },
      crit = 1, hast = 0, mast = 1, ver = 0,
    },
    {
      itemId = 251227, name = "施毒者护肩", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "虚痕", boss = "老二",
      slot = "肩部", stdSlot = "肩部", armorType = "布甲",
      allowClass = { "MAGE", "WARLOCK", "PRIEST" },
      crit = 0, hast = 0, mast = 1, ver = 1,
    },
    {
      itemId = 251226, name = "瘟疫兽皮", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "虚痕", boss = "老二",
      slot = "胸部", stdSlot = "胸部", armorType = "皮甲",
      allowClass = { "ROGUE", "MONK", "DRUID", "DEMONHUNTER" },
      crit = 1, hast = 0, mast = 0, ver = 1,
    },
    {
      itemId = 251228, name = "巨兽束腰", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "虚痕", boss = "老二",
      slot = "腰部", stdSlot = "腰部", armorType = "锁甲",
      allowClass = { "SHAMAN", "HUNTER", "EVOKER" },
      crit = 0, hast = 1, mast = 1, ver = 0,
    },
    {
      itemId = 252258, name = "阿特洛苏斯的腐化玺戒", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "虚痕", boss = "老二",
      slot = "手指", stdSlot = "手指", armorType = "",
      allowClass = { "WARRIOR", "PALADIN", "HUNTER", "ROGUE", "PRIEST", "DEATHKNIGHT", "SHAMAN", "MAGE", "WARLOCK", "MONK", "DRUID", "DEMONHUNTER", "EVOKER" },
      crit = 0, hast = 1, mast = 1, ver = 0,
    },
    {
      itemId = 250245, name = "虫群之瘤", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "虚痕", boss = "老二",
      slot = "饰品", stdSlot = "饰品", armorType = "",
      allowClass = { "WARRIOR", "PALADIN", "DEATHKNIGHT", "MONK", "DRUID", "DEMONHUNTER" },
      crit = 0, hast = 0, mast = 0, ver = 0,
    },
    {
      itemId = 251230, name = "冥渊新月", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "虚痕", boss = "老三",
      slot = "双手长柄", stdSlot = "武器", armorType = "",
      allowClass = { "WARRIOR", "PALADIN", "DEATHKNIGHT" },
      crit = 0, hast = 0, mast = 1, ver = 1,
    },
    {
      itemId = 251231, name = "奇点利刃", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "虚痕", boss = "老三",
      slot = "战刃", stdSlot = "武器", armorType = "",
      allowClass = { "DEMONHUNTER" },
      crit = 1, hast = 1, mast = 0, ver = 0,
    },
    {
      itemId = 251232, name = "监察官头冠", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "虚痕", boss = "老三",
      slot = "头部", stdSlot = "头部", armorType = "布甲",
      allowClass = { "MAGE", "WARLOCK", "PRIEST" },
      crit = 0, hast = 1, mast = 1, ver = 0,
    },
    {
      itemId = 251234, name = "多曼纳尔的寄生契约", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "虚痕", boss = "老三",
      slot = "颈部", stdSlot = "颈部", armorType = "",
      allowClass = { "WARRIOR", "PALADIN", "HUNTER", "ROGUE", "PRIEST", "DEATHKNIGHT", "SHAMAN", "MAGE", "WARLOCK", "MONK", "DRUID", "DEMONHUNTER", "EVOKER" },
      crit = 1, hast = 0, mast = 1, ver = 0,
    },
    {
      itemId = 251233, name = "操纵者胸甲", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "虚痕", boss = "老三",
      slot = "胸部", stdSlot = "胸部", armorType = "锁甲",
      allowClass = { "SHAMAN", "HUNTER", "EVOKER" },
      crit = 1, hast = 1, mast = 0, ver = 0,
    },
    {
      itemId = 251235, name = "重力束带", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "虚痕", boss = "老三",
      slot = "腰部", stdSlot = "腰部", armorType = "皮甲",
      allowClass = { "ROGUE", "MONK", "DRUID", "DEMONHUNTER" },
      crit = 0, hast = 0, mast = 1, ver = 1,
    },
    {
      itemId = 250224, name = "穿灵者的魔印", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "虚痕", boss = "老三",
      slot = "饰品", stdSlot = "饰品", armorType = "",
      allowClass = { "PALADIN", "PRIEST", "SHAMAN", "MAGE", "WARLOCK", "MONK", "DRUID", "DEMONHUNTER", "EVOKER" },
      crit = 0, hast = 0, mast = 0, ver = 0,
    },
    {
      itemId = 159137, name = "金色风蛇之牙", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "诸王", boss = "老一",
      slot = "匕首", stdSlot = "武器", armorType = "",
      allowClass = { "PRIEST", "SHAMAN", "MAGE", "WARLOCK", "DRUID", "DEMONHUNTER", "EVOKER" },
      crit = 0, hast = 1, mast = 0, ver = 1,
    },
    {
      itemId = 159413, name = "鸟类守护者手套", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "诸王", boss = "老一",
      slot = "手部", stdSlot = "手部", armorType = "板甲",
      allowClass = { "WARRIOR", "PALADIN", "DEATHKNIGHT" },
      crit = 1, hast = 0, mast = 1, ver = 0,
    },
    {
      itemId = 159369, name = "圣金古墓腰带", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "诸王", boss = "老一",
      slot = "腰部", stdSlot = "腰部", armorType = "锁甲",
      allowClass = { "SHAMAN", "HUNTER", "EVOKER" },
      crit = 0, hast = 1, mast = 0, ver = 1,
    },
    {
      itemId = 159313, name = "神圣大厅马裤", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "诸王", boss = "老一",
      slot = "腿部", stdSlot = "腿部", armorType = "皮甲",
      allowClass = { "ROGUE", "MONK", "DRUID", "DEMONHUNTER" },
      crit = 0, hast = 1, mast = 0, ver = 1,
    },
    {
      itemId = 159234, name = "绒线护腿", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "诸王", boss = "老一",
      slot = "腿部", stdSlot = "腿部", armorType = "布甲",
      allowClass = { "MAGE", "WARLOCK", "PRIEST" },
      crit = 1, hast = 0, mast = 1, ver = 0,
    },
    {
      itemId = 159412, name = "金泥践踏者", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "诸王", boss = "老一",
      slot = "脚部", stdSlot = "脚部", armorType = "板甲",
      allowClass = { "WARRIOR", "PALADIN", "DEATHKNIGHT" },
      crit = 1, hast = 0, mast = 0, ver = 1,
    },
    {
      itemId = 159304, name = "金羽长靴", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "诸王", boss = "老一",
      slot = "脚部", stdSlot = "脚部", armorType = "皮甲",
      allowClass = { "ROGUE", "MONK", "DRUID", "DEMONHUNTER" },
      crit = 0, hast = 0, mast = 1, ver = 1,
    },
    {
      itemId = 159617, name = "金辉飞羽", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "诸王", boss = "老一",
      slot = "饰品", stdSlot = "饰品", armorType = "",
      allowClass = { "HUNTER", "ROGUE", "MONK", "DRUID", "DEMONHUNTER", "SHAMAN" },
      crit = 0, hast = 0, mast = 0, ver = 1,
    },
    {
      itemId = 159642, name = "皇家净化者之铲", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "诸王", boss = "老二",
      slot = "双手长柄", stdSlot = "武器", armorType = "",
      allowClass = { "HUNTER", "MONK", "DRUID" },
      crit = 1, hast = 0, mast = 1, ver = 0,
    },
    {
      itemId = 159667, name = "临终仪式器皿", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "诸王", boss = "老二",
      slot = "副手物品", stdSlot = "武器", armorType = "",
      allowClass = { "PRIEST", "MAGE", "WARLOCK", "MONK", "DRUID", "EVOKER" },
      crit = 0, hast = 1, mast = 0, ver = 1,
    },
    {
      itemId = 159409, name = "防腐平稳护腕", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "诸王", boss = "老二",
      slot = "腕部", stdSlot = "腕部", armorType = "板甲",
      allowClass = { "WARRIOR", "PALADIN", "DEATHKNIGHT" },
      crit = 1, hast = 1, mast = 0, ver = 0,
    },
    {
      itemId = 160213, name = "墓葬构造体手套", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "诸王", boss = "老二",
      slot = "手部", stdSlot = "手部", armorType = "锁甲",
      allowClass = { "SHAMAN", "HUNTER", "EVOKER" },
      crit = 0, hast = 1, mast = 1, ver = 0,
    },
    {
      itemId = 159312, name = "干燥工的庇护手套", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "诸王", boss = "老二",
      slot = "手部", stdSlot = "手部", armorType = "皮甲",
      allowClass = { "ROGUE", "MONK", "DRUID", "DEMONHUNTER" },
      crit = 1, hast = 0, mast = 1, ver = 0,
    },
    {
      itemId = 159459, name = "仪式束缚者之戒", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "诸王", boss = "老二",
      slot = "手指", stdSlot = "手指", armorType = "",
      allowClass = { "WARRIOR", "PALADIN", "HUNTER", "ROGUE", "PRIEST", "DEATHKNIGHT", "SHAMAN", "MAGE", "WARLOCK", "MONK", "DRUID", "DEMONHUNTER", "EVOKER" },
      crit = 0, hast = 1, mast = 0, ver = 1,
    },
    {
      itemId = 159618, name = "姆沁巴的仪式绷带", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "诸王", boss = "老二",
      slot = "饰品", stdSlot = "饰品", armorType = "",
      allowClass = { "WARRIOR", "PALADIN", "DEATHKNIGHT", "MONK", "DRUID", "DEMONHUNTER" },
      crit = 0, hast = 0, mast = 0, ver = 0,
    },
    {
      itemId = 159136, name = "尊主宝石匕首", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "诸王", boss = "老三",
      slot = "匕首", stdSlot = "武器", armorType = "",
      allowClass = { "ROGUE", "HUNTER" },
      crit = 0, hast = 1, mast = 1, ver = 0,
    },
    {
      itemId = 160216, name = "碎玉弯刀", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "诸王", boss = "老三",
      slot = "单手剑", stdSlot = "武器", armorType = "",
      allowClass = { "PALADIN", "MAGE", "WARLOCK", "MONK", "DEMONHUNTER", "EVOKER" },
      crit = 1, hast = 0, mast = 1, ver = 0,
    },
    {
      itemId = 159643, name = "遗忘君王十字弓", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "诸王", boss = "老三",
      slot = "远程", stdSlot = "武器", armorType = "",
      allowClass = { "HUNTER" },
      crit = 0, hast = 1, mast = 1, ver = 0,
    },
    {
      itemId = 159288, name = "无眠部族披风", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "诸王", boss = "老三",
      slot = "背部", stdSlot = "背部", armorType = "",
      allowClass = { "WARRIOR", "PALADIN", "HUNTER", "ROGUE", "PRIEST", "DEATHKNIGHT", "SHAMAN", "MAGE", "WARLOCK", "MONK", "DRUID", "DEMONHUNTER", "EVOKER" },
      crit = 0, hast = 0, mast = 1, ver = 1,
    },
    {
      itemId = 159300, name = "库拉的屠宰裹腕", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "诸王", boss = "老三",
      slot = "腕部", stdSlot = "腕部", armorType = "皮甲",
      allowClass = { "ROGUE", "MONK", "DRUID", "DEMONHUNTER" },
      crit = 1, hast = 0, mast = 0, ver = 1,
    },
    {
      itemId = 159418, name = "致命净化束腰", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "诸王", boss = "老三",
      slot = "腰部", stdSlot = "腰部", armorType = "板甲",
      allowClass = { "WARRIOR", "PALADIN", "DEATHKNIGHT" },
      crit = 0, hast = 1, mast = 1, ver = 0,
    },
    {
      itemId = 159243, name = "睿智巫毒便鞋", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "诸王", boss = "老三",
      slot = "脚部", stdSlot = "脚部", armorType = "布甲",
      allowClass = { "MAGE", "WARLOCK", "PRIEST" },
      crit = 0, hast = 1, mast = 0, ver = 1,
    },
    {
      itemId = 159371, name = "轻率征服者长靴", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "诸王", boss = "老三",
      slot = "脚部", stdSlot = "脚部", armorType = "锁甲",
      allowClass = { "SHAMAN", "HUNTER", "EVOKER" },
      crit = 0, hast = 0, mast = 1, ver = 1,
    },
    {
      itemId = 159644, name = "盖蒂伊库，死界之伤", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "诸王", boss = "老四",
      slot = "双手剑", stdSlot = "武器", armorType = "",
      allowClass = { "WARRIOR", "PALADIN", "DEATHKNIGHT" },
      crit = 0, hast = 0, mast = 0, ver = 0,
    },
    {
      itemId = 239047, name = "第一帝国头饰", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "诸王", boss = "老四",
      slot = "头部", stdSlot = "头部", armorType = "布甲",
      allowClass = { "MAGE", "WARLOCK", "PRIEST" },
      crit = 1, hast = 0, mast = 0, ver = 1,
    },
    {
      itemId = 159645, name = "恳求碎颅者", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "诸王", boss = "老四",
      slot = "单手锤", stdSlot = "武器", armorType = "",
      allowClass = { "ROGUE", "SHAMAN", "MONK" },
      crit = 1, hast = 0, mast = 1, ver = 0,
    },
    {
      itemId = 239050, name = "迅猛龙之王头盔", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "诸王", boss = "老四",
      slot = "头部", stdSlot = "头部", armorType = "板甲",
      allowClass = { "WARRIOR", "PALADIN", "DEATHKNIGHT" },
      crit = 0, hast = 1, mast = 0, ver = 1,
    },
    {
      itemId = 239051, name = "一统肩甲", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "诸王", boss = "老四",
      slot = "肩部", stdSlot = "肩部", armorType = "板甲",
      allowClass = { "WARRIOR", "PALADIN", "DEATHKNIGHT" },
      crit = 0, hast = 0, mast = 1, ver = 1,
    },
    {
      itemId = 239045, name = "晋升仪式披肩", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "诸王", boss = "老四",
      slot = "肩部", stdSlot = "肩部", armorType = "布甲",
      allowClass = { "MAGE", "WARLOCK", "PRIEST" },
      crit = 0, hast = 1, mast = 1, ver = 0,
    },
    {
      itemId = 239049, name = "首皇护肩", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "诸王", boss = "老四",
      slot = "肩部", stdSlot = "肩部", armorType = "锁甲",
      allowClass = { "SHAMAN", "HUNTER", "EVOKER" },
      crit = 1, hast = 1, mast = 0, ver = 0,
    },
    {
      itemId = 239048, name = "圣洁爱慕外衣", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "诸王", boss = "老四",
      slot = "胸部", stdSlot = "胸部", armorType = "皮甲",
      allowClass = { "ROGUE", "MONK", "DRUID", "DEMONHUNTER" },
      crit = 1, hast = 0, mast = 1, ver = 0,
    },
    {
      itemId = 239046, name = "神赐护胸", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "诸王", boss = "老四",
      slot = "胸部", stdSlot = "胸部", armorType = "锁甲",
      allowClass = { "SHAMAN", "HUNTER", "EVOKER" },
      crit = 1, hast = 0, mast = 0, ver = 1,
    },
    {
      itemId = 159301, name = "原始恐龙统领的腰带", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "诸王", boss = "老四",
      slot = "腰部", stdSlot = "腰部", armorType = "皮甲",
      allowClass = { "ROGUE", "MONK", "DRUID", "DEMONHUNTER" },
      crit = 1, hast = 1, mast = 0, ver = 0,
    },
    {
      itemId = 273649, name = "达萨的束风纹章", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "诸王", boss = "老四",
      slot = "饰品", stdSlot = "饰品", armorType = "",
      allowClass = { "PALADIN", "PRIEST", "SHAMAN", "MAGE", "WARLOCK", "MONK", "DRUID", "DEMONHUNTER", "EVOKER" },
      crit = 0, hast = 1, mast = 0, ver = 0,
    },
    {
      itemId = 193761, name = "寒妆的注能法杖", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "红玉", boss = "老一",
      slot = "双手法杖", stdSlot = "武器", armorType = "",
      allowClass = { "PRIEST", "MAGE", "WARLOCK", "DRUID", "SHAMAN", "EVOKER", "MONK" },
      crit = 1, hast = 0, mast = 1, ver = 0,
    },
    {
      itemId = 193758, name = "征服者的寒冰之握", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "红玉", boss = "老一",
      slot = "手部", stdSlot = "手部", armorType = "皮甲",
      allowClass = { "ROGUE", "MONK", "DRUID", "DEMONHUNTER" },
      crit = 1, hast = 0, mast = 0, ver = 1,
    },
    {
      itemId = 193759, name = "护卵者的护腿", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "红玉", boss = "老一",
      slot = "腿部", stdSlot = "腿部", armorType = "锁甲",
      allowClass = { "SHAMAN", "HUNTER", "EVOKER" },
      crit = 0, hast = 1, mast = 0, ver = 1,
    },
    {
      itemId = 193728, name = "鳞卫的坚贞重靴", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "红玉", boss = "老一",
      slot = "脚部", stdSlot = "脚部", armorType = "板甲",
      allowClass = { "WARRIOR", "PALADIN", "DEATHKNIGHT" },
      crit = 0, hast = 0, mast = 1, ver = 1,
    },
    {
      itemId = 193757, name = "红玉雏龙蛋壳", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "红玉", boss = "老一",
      slot = "饰品", stdSlot = "饰品", armorType = "",
      allowClass = { "WARRIOR", "PALADIN", "HUNTER", "ROGUE", "PRIEST", "DEATHKNIGHT", "SHAMAN", "MAGE", "WARLOCK", "MONK", "DRUID", "DEMONHUNTER", "EVOKER" },
      crit = 0, hast = 0, mast = 0, ver = 0,
    },
    {
      itemId = 193767, name = "浩劫碾压锤", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "红玉", boss = "老二",
      slot = "单手锤", stdSlot = "武器", armorType = "",
      allowClass = { "ROGUE", "SHAMAN", "MONK" },
      crit = 1, hast = 1, mast = 0, ver = 0,
    },
    {
      itemId = 193766, name = "柯姬雅的熄火短杖", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "红玉", boss = "老二",
      slot = "副手物品", stdSlot = "武器", armorType = "",
      allowClass = { "PRIEST", "MAGE", "WARLOCK", "MONK", "DRUID", "EVOKER" },
      crit = 1, hast = 0, mast = 0, ver = 1,
    },
    {
      itemId = 193765, name = "焰缚军官的头盔", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "红玉", boss = "老二",
      slot = "头部", stdSlot = "头部", armorType = "锁甲",
      allowClass = { "SHAMAN", "HUNTER", "EVOKER" },
      crit = 0, hast = 0, mast = 1, ver = 1,
    },
    {
      itemId = 193763, name = "防火斗篷", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "红玉", boss = "老二",
      slot = "背部", stdSlot = "背部", armorType = "",
      allowClass = { "WARRIOR", "PALADIN", "HUNTER", "ROGUE", "PRIEST", "DEATHKNIGHT", "SHAMAN", "MAGE", "WARLOCK", "MONK", "DRUID", "DEMONHUNTER", "EVOKER" },
      crit = 1, hast = 1, mast = 0, ver = 0,
    },
    {
      itemId = 193764, name = "入侵者的火焰风暴护胸", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "红玉", boss = "老二",
      slot = "胸部", stdSlot = "胸部", armorType = "皮甲",
      allowClass = { "ROGUE", "MONK", "DRUID", "DEMONHUNTER" },
      crit = 0, hast = 0, mast = 1, ver = 1,
    },
    {
      itemId = 193762, name = "缚炎者之蹄", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "红玉", boss = "老二",
      slot = "饰品", stdSlot = "饰品", armorType = "",
      allowClass = { "WARRIOR", "PALADIN", "DEATHKNIGHT" },
      crit = 0, hast = 1, mast = 0, ver = 0,
    },
    {
      itemId = 193755, name = "回燃利斧", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "红玉", boss = "老三",
      slot = "双手斧", stdSlot = "武器", armorType = "",
      allowClass = { "WARRIOR", "PALADIN", "DEATHKNIGHT" },
      crit = 1, hast = 1, mast = 0, ver = 0,
    },
    {
      itemId = 193756, name = "天空狱火之匕", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "红玉", boss = "老三",
      slot = "匕首", stdSlot = "武器", armorType = "",
      allowClass = { "ROGUE", "HUNTER" },
      crit = 0, hast = 1, mast = 0, ver = 1,
    },
    {
      itemId = 193754, name = "龙骑兵的矛战圆盾", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "红玉", boss = "老三",
      slot = "盾牌", stdSlot = "武器", armorType = "",
      allowClass = { "PALADIN", "WARRIOR", "SHAMAN" },
      crit = 0, hast = 0, mast = 1, ver = 1,
    },
    {
      itemId = 193751, name = "呼啸风暴头冠", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "红玉", boss = "老三",
      slot = "头部", stdSlot = "头部", armorType = "皮甲",
      allowClass = { "ROGUE", "MONK", "DRUID", "DEMONHUNTER" },
      crit = 1, hast = 0, mast = 0, ver = 1,
    },
    {
      itemId = 193753, name = "翔天恐魔胸甲", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "红玉", boss = "老三",
      slot = "胸部", stdSlot = "胸部", armorType = "板甲",
      allowClass = { "WARRIOR", "PALADIN", "DEATHKNIGHT" },
      crit = 0, hast = 1, mast = 1, ver = 0,
    },
    {
      itemId = 193752, name = "风鸣护手", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "红玉", boss = "老三",
      slot = "手部", stdSlot = "手部", armorType = "锁甲",
      allowClass = { "SHAMAN", "HUNTER", "EVOKER" },
      crit = 1, hast = 0, mast = 1, ver = 0,
    },
    {
      itemId = 193691, name = "碧空鞍座腰索", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "红玉", boss = "老三",
      slot = "腰部", stdSlot = "腰部", armorType = "布甲",
      allowClass = { "MAGE", "WARLOCK", "PRIEST" },
      crit = 0, hast = 1, mast = 1, ver = 0,
    },
    {
      itemId = 193750, name = "乘风翱翔者马裤", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "红玉", boss = "老三",
      slot = "腿部", stdSlot = "腿部", armorType = "布甲",
      allowClass = { "MAGE", "WARLOCK", "PRIEST" },
      crit = 1, hast = 0, mast = 1, ver = 0,
    },
    {
      itemId = 193748, name = "基拉卡的灼热余烬", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "红玉", boss = "老三",
      slot = "饰品", stdSlot = "饰品", armorType = "",
      allowClass = { "PRIEST", "PALADIN", "SHAMAN", "DRUID", "MONK", "EVOKER" },
      crit = 1, hast = 0, mast = 0, ver = 0,
    },
    {
      itemId = 158370, name = "连击大戟", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "蛇庙", boss = "老一",
      slot = "双手长柄", stdSlot = "武器", armorType = "",
      allowClass = { "HUNTER", "MONK", "DRUID" },
      crit = 1, hast = 1, mast = 0, ver = 0,
    },
    {
      itemId = 159636, name = "闪电曲蛇法杖", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "蛇庙", boss = "老一",
      slot = "双手法杖", stdSlot = "武器", armorType = "",
      allowClass = { "PRIEST", "MAGE", "WARLOCK", "DRUID", "SHAMAN", "EVOKER", "MONK" },
      crit = 0, hast = 1, mast = 1, ver = 0,
    },
    {
      itemId = 159380, name = "电弧琉璃护腕", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "蛇庙", boss = "老一",
      slot = "腕部", stdSlot = "腕部", armorType = "锁甲",
      allowClass = { "SHAMAN", "HUNTER", "EVOKER" },
      crit = 1, hast = 1, mast = 0, ver = 0,
    },
    {
      itemId = 159263, name = "蜿蜒洪流裹腕", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "蛇庙", boss = "老一",
      slot = "腕部", stdSlot = "腕部", armorType = "布甲",
      allowClass = { "MAGE", "WARLOCK", "PRIEST" },
      crit = 1, hast = 0, mast = 0, ver = 1,
    },
    {
      itemId = 159425, name = "裂尖臂甲", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "蛇庙", boss = "老一",
      slot = "腕部", stdSlot = "腕部", armorType = "板甲",
      allowClass = { "WARRIOR", "PALADIN", "DEATHKNIGHT" },
      crit = 0, hast = 1, mast = 0, ver = 1,
    },
    {
      itemId = 159317, name = "旋风苦修者腰带", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "蛇庙", boss = "老一",
      slot = "腰部", stdSlot = "腰部", armorType = "皮甲",
      allowClass = { "ROGUE", "MONK", "DRUID", "DEMONHUNTER" },
      crit = 0, hast = 1, mast = 1, ver = 0,
    },
    {
      itemId = 159435, name = "充能二元腿铠", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "蛇庙", boss = "老一",
      slot = "腿部", stdSlot = "腿部", armorType = "板甲",
      allowClass = { "WARRIOR", "PALADIN", "DEATHKNIGHT" },
      crit = 1, hast = 0, mast = 0, ver = 1,
    },
    {
      itemId = 159329, name = "御风蝰蛇护腿", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "蛇庙", boss = "老一",
      slot = "腿部", stdSlot = "腿部", armorType = "皮甲",
      allowClass = { "ROGUE", "MONK", "DRUID", "DEMONHUNTER" },
      crit = 0, hast = 0, mast = 1, ver = 1,
    },
    {
      itemId = 159259, name = "卷沙软鞋", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "蛇庙", boss = "老一",
      slot = "脚部", stdSlot = "脚部", armorType = "布甲",
      allowClass = { "MAGE", "WARLOCK", "PRIEST" },
      crit = 1, hast = 1, mast = 0, ver = 0,
    },
    {
      itemId = 159388, name = "闪光能量战靴", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "蛇庙", boss = "老一",
      slot = "脚部", stdSlot = "脚部", armorType = "锁甲",
      allowClass = { "SHAMAN", "HUNTER", "EVOKER" },
      crit = 1, hast = 0, mast = 1, ver = 0,
    },
    {
      itemId = 158714, name = "蛇群之锋", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "蛇庙", boss = "老二",
      slot = "单手剑", stdSlot = "武器", armorType = "",
      allowClass = { "HUNTER", "ROGUE", "MONK", "DEMONHUNTER" },
      crit = 0, hast = 0, mast = 1, ver = 1,
    },
    {
      itemId = 159637, name = "蛇印反曲弓", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "蛇庙", boss = "老二",
      slot = "远程", stdSlot = "武器", armorType = "",
      allowClass = { "HUNTER" },
      crit = 1, hast = 1, mast = 0, ver = 0,
    },
    {
      itemId = 159255, name = "衔尾蛇腰带", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "蛇庙", boss = "老二",
      slot = "腰部", stdSlot = "腰部", armorType = "布甲",
      allowClass = { "MAGE", "WARLOCK", "PRIEST" },
      crit = 0, hast = 0, mast = 1, ver = 1,
    },
    {
      itemId = 159375, name = "觉醒族裔腿铠", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "蛇庙", boss = "老二",
      slot = "腿部", stdSlot = "腿部", armorType = "锁甲",
      allowClass = { "SHAMAN", "HUNTER", "EVOKER" },
      crit = 1, hast = 1, mast = 0, ver = 0,
    },
    {
      itemId = 159327, name = "磨砂蛇皮便鞋", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "蛇庙", boss = "老二",
      slot = "脚部", stdSlot = "脚部", armorType = "皮甲",
      allowClass = { "ROGUE", "MONK", "DRUID", "DEMONHUNTER" },
      crit = 1, hast = 0, mast = 1, ver = 0,
    },
    {
      itemId = 162544, name = "翠玉盘蛇指环", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "蛇庙", boss = "老二",
      slot = "手指", stdSlot = "手指", armorType = "",
      allowClass = { "WARRIOR", "PALADIN", "HUNTER", "ROGUE", "PRIEST", "DEATHKNIGHT", "SHAMAN", "MAGE", "WARLOCK", "MONK", "DRUID", "DEMONHUNTER", "EVOKER" },
      crit = 0, hast = 0, mast = 1, ver = 1,
    },
    {
      itemId = 158367, name = "米利克萨之牙", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "蛇庙", boss = "老二",
      slot = "饰品", stdSlot = "饰品", armorType = "",
      allowClass = { "WARRIOR", "PALADIN", "DEATHKNIGHT" },
      crit = 0, hast = 0, mast = 0, ver = 0,
    },
    {
      itemId = 158369, name = "充电破风锤", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "蛇庙", boss = "老三",
      slot = "单手锤", stdSlot = "武器", armorType = "",
      allowClass = { "PALADIN", "PRIEST", "SHAMAN", "MONK", "DRUID", "EVOKER" },
      crit = 0, hast = 1, mast = 0, ver = 1,
    },
    {
      itemId = 159664, name = "满溢希望壁垒", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "蛇庙", boss = "老三",
      slot = "盾牌", stdSlot = "武器", armorType = "",
      allowClass = { "PALADIN", "WARRIOR", "SHAMAN" },
      crit = 1, hast = 0, mast = 0, ver = 1,
    },
    {
      itemId = 159247, name = "震荡极性裹手", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "蛇庙", boss = "老三",
      slot = "手部", stdSlot = "手部", armorType = "布甲",
      allowClass = { "MAGE", "WARLOCK", "PRIEST" },
      crit = 1, hast = 1, mast = 0, ver = 0,
    },
    {
      itemId = 159442, name = "磨砂重型腰带", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "蛇庙", boss = "老三",
      slot = "腰部", stdSlot = "腰部", armorType = "板甲",
      allowClass = { "WARRIOR", "PALADIN", "DEATHKNIGHT" },
      crit = 0, hast = 0, mast = 1, ver = 1,
    },
    {
      itemId = 158366, name = "充能沙石指环", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "蛇庙", boss = "老三",
      slot = "手指", stdSlot = "手指", armorType = "",
      allowClass = { "WARRIOR", "PALADIN", "HUNTER", "ROGUE", "PRIEST", "DEATHKNIGHT", "SHAMAN", "MAGE", "WARLOCK", "MONK", "DRUID", "DEMONHUNTER", "EVOKER" },
      crit = 1, hast = 0, mast = 1, ver = 0,
    },
    {
      itemId = 158374, name = "瓶中的电荷元素", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "蛇庙", boss = "老三",
      slot = "饰品", stdSlot = "饰品", armorType = "",
      allowClass = { "HUNTER", "ROGUE", "MONK", "DRUID", "DEMONHUNTER", "SHAMAN" },
      crit = 0, hast = 0, mast = 0, ver = 0,
    },
    {
      itemId = 158373, name = "共鸣水晶弯刀", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "蛇庙", boss = "老四",
      slot = "单手剑", stdSlot = "武器", armorType = "",
      allowClass = { "WARRIOR", "PALADIN", "DEATHKNIGHT" },
      crit = 1, hast = 1, mast = 0, ver = 0,
    },
    {
      itemId = 239035, name = "塞塔里斯的尖牙头盔", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "蛇庙", boss = "老四",
      slot = "头部", stdSlot = "头部", armorType = "锁甲",
      allowClass = { "SHAMAN", "HUNTER", "EVOKER" },
      crit = 1, hast = 0, mast = 1, ver = 0,
    },
    {
      itemId = 239033, name = "蛇行神灵兜帽", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "蛇庙", boss = "老四",
      slot = "头部", stdSlot = "头部", armorType = "皮甲",
      allowClass = { "ROGUE", "MONK", "DRUID", "DEMONHUNTER" },
      crit = 1, hast = 1, mast = 0, ver = 0,
    },
    {
      itemId = 239037, name = "克拉西斯封印者肩铠", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "蛇庙", boss = "老四",
      slot = "肩部", stdSlot = "肩部", armorType = "板甲",
      allowClass = { "WARRIOR", "PALADIN", "DEATHKNIGHT" },
      crit = 1, hast = 1, mast = 0, ver = 0,
    },
    {
      itemId = 239031, name = "巢穴净化者护肩", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "蛇庙", boss = "老四",
      slot = "肩部", stdSlot = "肩部", armorType = "布甲",
      allowClass = { "MAGE", "WARLOCK", "PRIEST" },
      crit = 1, hast = 1, mast = 0, ver = 0,
    },
    {
      itemId = 239034, name = "堕落妖术师法衣", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "蛇庙", boss = "老四",
      slot = "胸部", stdSlot = "胸部", armorType = "锁甲",
      allowClass = { "SHAMAN", "HUNTER", "EVOKER" },
      crit = 0, hast = 0, mast = 1, ver = 1,
    },
    {
      itemId = 239036, name = "沙漠卫士胸甲", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "蛇庙", boss = "老四",
      slot = "胸部", stdSlot = "胸部", armorType = "板甲",
      allowClass = { "WARRIOR", "PALADIN", "DEATHKNIGHT" },
      crit = 1, hast = 0, mast = 1, ver = 0,
    },
    {
      itemId = 239032, name = "重生巨蛇长袍", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "蛇庙", boss = "老四",
      slot = "胸部", stdSlot = "胸部", armorType = "布甲",
      allowClass = { "MAGE", "WARLOCK", "PRIEST" },
      crit = 1, hast = 0, mast = 1, ver = 0,
    },
    {
      itemId = 159337, name = "闪电防御之握", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "蛇庙", boss = "老四",
      slot = "手部", stdSlot = "手部", armorType = "皮甲",
      allowClass = { "ROGUE", "MONK", "DRUID", "DEMONHUNTER" },
      crit = 0, hast = 0, mast = 1, ver = 1,
    },
    {
      itemId = 158368, name = "塞塔里斯的亵渎遗物", ilvl = 292, bonusId = 12833,
      dungeonType = "Mythic", dungeon = "蛇庙", boss = "老四",
      slot = "饰品", stdSlot = "饰品", armorType = "",
      allowClass = { "PRIEST", "MAGE", "WARLOCK", "SHAMAN", "DRUID", "EVOKER", "DEMONHUNTER" },
      crit = 0, hast = 0, mast = 0, ver = 0,
    },
    {
      itemId = 268199, name = "穿潮者的击泡长杖", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "潮缚", boss = "尼姆瑞莎",
      slot = "双手法杖", stdSlot = "武器", armorType = "",
      allowClass = { "HUNTER", "DRUID", "MONK" },
      crit = 1, hast = 0, mast = 0, ver = 1,
    },
    {
      itemId = 268262, name = "泡鳍挡水盾", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "潮缚", boss = "尼姆瑞莎",
      slot = "盾牌", stdSlot = "武器", armorType = "",
      allowClass = { "PALADIN", "WARRIOR", "SHAMAN" },
      crit = 0, hast = 1, mast = 1, ver = 0,
    },
    {
      itemId = 268263, name = "霜鳞的秘法蕨叶", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "潮缚", boss = "尼姆瑞莎",
      slot = "副手物品", stdSlot = "武器", armorType = "",
      allowClass = { "PRIEST", "MAGE", "WARLOCK", "MONK", "DRUID", "EVOKER" },
      crit = 1, hast = 0, mast = 1, ver = 0,
    },
    {
      itemId = 268226, name = "涌潮之海护肩", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "潮缚", boss = "尼姆瑞莎",
      slot = "肩部", stdSlot = "肩部", armorType = "板甲",
      allowClass = { "WARRIOR", "PALADIN", "DEATHKNIGHT" },
      crit = 1, hast = 0, mast = 1, ver = 0,
    },
    {
      itemId = 268221, name = "潮缚女巫法袍", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "潮缚", boss = "尼姆瑞莎",
      slot = "胸部", stdSlot = "胸部", armorType = "布甲",
      allowClass = { "MAGE", "WARLOCK", "PRIEST" },
      crit = 1, hast = 0, mast = 1, ver = 0,
    },
    {
      itemId = 268217, name = "怒潮护腕", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "潮缚", boss = "尼姆瑞莎",
      slot = "腕部", stdSlot = "腕部", armorType = "锁甲",
      allowClass = { "SHAMAN", "HUNTER", "EVOKER" },
      crit = 1, hast = 0, mast = 1, ver = 0,
    },
    {
      itemId = 268238, name = "涡流之怒护手", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "潮缚", boss = "尼姆瑞莎",
      slot = "手部", stdSlot = "手部", armorType = "锁甲",
      allowClass = { "SHAMAN", "HUNTER", "EVOKER" },
      crit = 1, hast = 1, mast = 0, ver = 0,
    },
    {
      itemId = 268244, name = "遗忘石窟束带", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "潮缚", boss = "尼姆瑞莎",
      slot = "腰部", stdSlot = "腰部", armorType = "板甲",
      allowClass = { "WARRIOR", "PALADIN", "DEATHKNIGHT" },
      crit = 0, hast = 1, mast = 0, ver = 1,
    },
    {
      itemId = 268232, name = "深渊海窟束带", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "潮缚", boss = "尼姆瑞莎",
      slot = "腰部", stdSlot = "腰部", armorType = "布甲",
      allowClass = { "MAGE", "WARLOCK", "PRIEST" },
      crit = 1, hast = 0, mast = 0, ver = 1,
    },
    {
      itemId = 268247, name = "破浪皮靴", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "潮缚", boss = "尼姆瑞莎",
      slot = "脚部", stdSlot = "脚部", armorType = "皮甲",
      allowClass = { "ROGUE", "MONK", "DRUID", "DEMONHUNTER" },
      crit = 0, hast = 1, mast = 0, ver = 1,
    },
    {
      itemId = 268266, name = "诱人水泡指环", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "潮缚", boss = "尼姆瑞莎",
      slot = "手指", stdSlot = "手指", armorType = "",
      allowClass = { "WARRIOR", "PALADIN", "HUNTER", "ROGUE", "PRIEST", "DEATHKNIGHT", "SHAMAN", "MAGE", "WARLOCK", "MONK", "DRUID", "DEMONHUNTER", "EVOKER" },
      crit = 0, hast = 1, mast = 0, ver = 1,
    },
    {
      itemId = 270167, name = "唤波者的海石", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "潮缚", boss = "尼姆瑞莎",
      slot = "饰品", stdSlot = "饰品", armorType = "",
      allowClass = { "PALADIN", "PRIEST", "SHAMAN", "MAGE", "WARLOCK", "MONK", "DRUID", "DEMONHUNTER", "EVOKER" },
      crit = 0, hast = 1, mast = 0, ver = 0,
    },
    {
      itemId = 268245, name = "入殓教徒的马靴", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "內克扎莉",
      slot = "脚部", stdSlot = "脚部", armorType = "板甲",
      allowClass = { "WARRIOR", "PALADIN", "DEATHKNIGHT" },
      crit = 1, hast = 1, mast = 0, ver = 0,
    },
    {
      itemId = 268218, name = "内克扎莉的御魂长靴", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "內克扎莉",
      slot = "脚部", stdSlot = "脚部", armorType = "布甲",
      allowClass = { "MAGE", "WARLOCK", "PRIEST" },
      crit = 1, hast = 0, mast = 1, ver = 0,
    },
    {
      itemId = 270162, name = "盘魂者仪式容器", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "內克扎莉",
      slot = "饰品", stdSlot = "饰品", armorType = "",
      allowClass = { "PRIEST", "PALADIN", "SHAMAN", "DRUID", "MONK", "EVOKER" },
      crit = 0, hast = 0, mast = 0, ver = 0,
    },
    {
      itemId = 268236, name = "学徒的献祭紧身裤", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "內克扎莉",
      slot = "腿部", stdSlot = "腿部", armorType = "布甲",
      allowClass = { "MAGE", "WARLOCK", "PRIEST" },
      crit = 0, hast = 0, mast = 1, ver = 1,
    },
    {
      itemId = 268216, name = "受诅藏骨腰带", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "內克扎莉",
      slot = "腰部", stdSlot = "腰部", armorType = "锁甲",
      allowClass = { "SHAMAN", "HUNTER", "EVOKER" },
      crit = 1, hast = 0, mast = 0, ver = 1,
    },
    {
      itemId = 268203, name = "咒魇裂魂匕首", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "內克扎莉",
      slot = "匕首", stdSlot = "武器", armorType = "",
      allowClass = { "PRIEST", "SHAMAN", "MAGE", "WARLOCK", "DRUID", "DEMONHUNTER", "EVOKER" },
      crit = 1, hast = 0, mast = 1, ver = 0,
    },
    {
      itemId = 270930, name = "墓穴行者之爪", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "內克扎莉",
      slot = "单手拳套", stdSlot = "武器", armorType = "",
      allowClass = { "ROGUE", "SHAMAN", "MONK", "DEMONHUNTER" },
      crit = 1, hast = 1, mast = 0, ver = 0,
    },
    {
      itemId = 268208, name = "强血者的仪式切肉斧", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "內克扎莉",
      slot = "单手斧", stdSlot = "武器", armorType = "",
      allowClass = { "WARRIOR", "PALADIN", "DEATHKNIGHT" },
      crit = 1, hast = 0, mast = 1, ver = 0,
    },
    {
      itemId = 268229, name = "复生祭品护颅", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "內克扎莉",
      slot = "头部", stdSlot = "头部", armorType = "板甲",
      allowClass = { "WARRIOR", "PALADIN", "DEATHKNIGHT" },
      crit = 1, hast = 1, mast = 0, ver = 0,
    },
    {
      itemId = 268230, name = "永恒毒牙之冠", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "內克扎莉",
      slot = "头部", stdSlot = "头部", armorType = "锁甲",
      allowClass = { "SHAMAN", "HUNTER", "EVOKER" },
      crit = 1, hast = 0, mast = 1, ver = 0,
    },
    {
      itemId = 268248, name = "阿曼尼召唤披巾", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "內克扎莉",
      slot = "背部", stdSlot = "背部", armorType = "",
      allowClass = { "WARRIOR", "PALADIN", "HUNTER", "ROGUE", "PRIEST", "DEATHKNIGHT", "SHAMAN", "MAGE", "WARLOCK", "MONK", "DRUID", "DEMONHUNTER", "EVOKER" },
      crit = 1, hast = 0, mast = 0, ver = 1,
    },
    {
      itemId = 268235, name = "觉醒外衣", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "內克扎莉",
      slot = "胸部", stdSlot = "胸部", armorType = "皮甲",
      allowClass = { "ROGUE", "MONK", "DRUID", "DEMONHUNTER" },
      crit = 0, hast = 1, mast = 1, ver = 0,
    },
    {
      itemId = 268240, name = "无眠精魂镣铐", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "內克扎莉",
      slot = "腕部", stdSlot = "腕部", armorType = "皮甲",
      allowClass = { "ROGUE", "MONK", "DRUID", "DEMONHUNTER" },
      crit = 1, hast = 1, mast = 0, ver = 0,
    },
    {
      itemId = 268198, name = "强酸守护者粉碎锤", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "陵寝哨兵",
      slot = "双手锤", stdSlot = "武器", armorType = "",
      allowClass = { "WARRIOR", "PALADIN", "DEATHKNIGHT" },
      crit = 1, hast = 1, mast = 0, ver = 0,
    },
    {
      itemId = 268204, name = "远古构造体的烈毒短刀", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "陵寝哨兵",
      slot = "匕首", stdSlot = "武器", armorType = "",
      allowClass = { "HUNTER", "ROGUE" },
      crit = 0, hast = 1, mast = 0, ver = 1,
    },
    {
      itemId = 268197, name = "嘶鸣深渊脊骨", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "陵寝哨兵",
      slot = "副手物品", stdSlot = "武器", armorType = "",
      allowClass = { "PRIEST", "MAGE", "WARLOCK", "MONK", "DRUID", "EVOKER" },
      crit = 0, hast = 1, mast = 1, ver = 0,
    },
    {
      itemId = 268219, name = "暗影猎手战帽", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "陵寝哨兵",
      slot = "头部", stdSlot = "头部", armorType = "皮甲",
      allowClass = { "ROGUE", "MONK", "DRUID", "DEMONHUNTER" },
      crit = 0, hast = 0, mast = 1, ver = 1,
    },
    {
      itemId = 268250, name = "哨兵的强酸锁链", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "陵寝哨兵",
      slot = "颈部", stdSlot = "颈部", armorType = "",
      allowClass = { "WARRIOR", "PALADIN", "HUNTER", "ROGUE", "PRIEST", "DEATHKNIGHT", "SHAMAN", "MAGE", "WARLOCK", "MONK", "DRUID", "DEMONHUNTER", "EVOKER" },
      crit = 1, hast = 1, mast = 0, ver = 0,
    },
    {
      itemId = 268228, name = "毒灼护腕", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "陵寝哨兵",
      slot = "腕部", stdSlot = "腕部", armorType = "布甲",
      allowClass = { "MAGE", "WARLOCK", "PRIEST" },
      crit = 1, hast = 0, mast = 1, ver = 0,
    },
    {
      itemId = 268224, name = "烈毒守卫护腿", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "陵寝哨兵",
      slot = "腿部", stdSlot = "腿部", armorType = "板甲",
      allowClass = { "WARRIOR", "PALADIN", "DEATHKNIGHT" },
      crit = 0, hast = 1, mast = 1, ver = 0,
    },
    {
      itemId = 270165, name = "守护者的躁动核心", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "陵寝哨兵",
      slot = "饰品", stdSlot = "饰品", armorType = "",
      allowClass = { "WARRIOR", "PALADIN", "DEATHKNIGHT", "HUNTER", "ROGUE", "MONK", "DRUID", "DEMONHUNTER", "SHAMAN" },
      crit = 0, hast = 2, mast = 0, ver = 0,
    },
    {
      itemId = 268210, name = "恶意精魂短棍", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "迷失的探险者",
      slot = "单手锤", stdSlot = "武器", armorType = "",
      allowClass = { "PALADIN", "PRIEST", "SHAMAN", "MONK", "DRUID", "EVOKER" },
      crit = 1, hast = 0, mast = 1, ver = 0,
    },
    {
      itemId = 268200, name = "盖博的备用冲击枪", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "迷失的探险者",
      slot = "远程", stdSlot = "武器", armorType = "",
      allowClass = { "HUNTER" },
      crit = 0, hast = 1, mast = 1, ver = 0,
    },
    {
      itemId = 268196, name = "毒痕鳞甲盾", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "迷失的探险者",
      slot = "盾牌", stdSlot = "武器", armorType = "",
      allowClass = { "PALADIN", "WARRIOR", "SHAMAN" },
      crit = 1, hast = 1, mast = 0, ver = 0,
    },
    {
      itemId = 268242, name = "迷途书卷贤者兜帽", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "迷失的探险者",
      slot = "头部", stdSlot = "头部", armorType = "布甲",
      allowClass = { "MAGE", "WARLOCK", "PRIEST" },
      crit = 1, hast = 1, mast = 0, ver = 0,
    },
    {
      itemId = 268239, name = "缚壳臂甲", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "迷失的探险者",
      slot = "腕部", stdSlot = "腕部", armorType = "板甲",
      allowClass = { "WARRIOR", "PALADIN", "DEATHKNIGHT" },
      crit = 1, hast = 0, mast = 1, ver = 0,
    },
    {
      itemId = 268227, name = "失魂颅骨束带", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "迷失的探险者",
      slot = "腰部", stdSlot = "腰部", armorType = "皮甲",
      allowClass = { "ROGUE", "MONK", "DRUID", "DEMONHUNTER" },
      crit = 1, hast = 0, mast = 1, ver = 0,
    },
    {
      itemId = 268258, name = "鲁莽旅人战靴", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "迷失的探险者",
      slot = "脚部", stdSlot = "脚部", armorType = "锁甲",
      allowClass = { "SHAMAN", "HUNTER", "EVOKER" },
      crit = 1, hast = 0, mast = 1, ver = 0,
    },
    {
      itemId = 270160, name = "大副的甲壳结界", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "迷失的探险者",
      slot = "饰品", stdSlot = "饰品", armorType = "",
      allowClass = { "WARRIOR", "PALADIN", "DEATHKNIGHT", "MONK", "DRUID", "DEMONHUNTER" },
      crit = 0, hast = 0, mast = 0, ver = 0,
    },
    {
      itemId = 270164, name = "盖博的无底袋", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "迷失的探险者",
      slot = "饰品", stdSlot = "饰品", armorType = "",
      allowClass = { "WARRIOR", "PALADIN", "HUNTER", "ROGUE", "PRIEST", "DEATHKNIGHT", "SHAMAN", "MAGE", "WARLOCK", "MONK", "DRUID", "DEMONHUNTER", "EVOKER" },
      crit = 1, hast = 1, mast = 1, ver = 1,
    },
    {
      itemId = 268214, name = "恶毒齿缘巨剑", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "瓦什尼克",
      slot = "双手剑", stdSlot = "武器", armorType = "",
      allowClass = { "WARRIOR", "PALADIN", "DEATHKNIGHT" },
      crit = 0, hast = 1, mast = 1, ver = 0,
    },
    {
      itemId = 268205, name = "毒术师的飞翼导能杖", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "瓦什尼克",
      slot = "双手法杖", stdSlot = "武器", armorType = "",
      allowClass = { "PRIEST", "MAGE", "WARLOCK", "DRUID", "SHAMAN", "EVOKER", "MONK" },
      crit = 0, hast = 1, mast = 1, ver = 0,
    },
    {
      itemId = 268246, name = "泛沫毒液护肩", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "瓦什尼克",
      slot = "肩部", stdSlot = "肩部", armorType = "皮甲",
      allowClass = { "ROGUE", "MONK", "DRUID", "DEMONHUNTER" },
      crit = 1, hast = 0, mast = 1, ver = 0,
    },
    {
      itemId = 268254, name = "蛇形调配腰带", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "瓦什尼克",
      slot = "腰部", stdSlot = "腰部", armorType = "锁甲",
      allowClass = { "SHAMAN", "HUNTER", "EVOKER" },
      crit = 0, hast = 1, mast = 1, ver = 0,
    },
    {
      itemId = 268260, name = "鳞魔战靴", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "瓦什尼克",
      slot = "脚部", stdSlot = "脚部", armorType = "板甲",
      allowClass = { "WARRIOR", "PALADIN", "DEATHKNIGHT" },
      crit = 0, hast = 1, mast = 1, ver = 0,
    },
    {
      itemId = 268249, name = "邪恶炼金师指环", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "瓦什尼克",
      slot = "手指", stdSlot = "手指", armorType = "",
      allowClass = { "WARRIOR", "PALADIN", "HUNTER", "ROGUE", "PRIEST", "DEATHKNIGHT", "SHAMAN", "MAGE", "WARLOCK", "MONK", "DRUID", "DEMONHUNTER", "EVOKER" },
      crit = 1, hast = 0, mast = 1, ver = 0,
    },
    {
      itemId = 270161, name = "幽影恶念之牙", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "瓦什尼克",
      slot = "饰品", stdSlot = "饰品", armorType = "",
      allowClass = { "PRIEST", "MAGE", "WARLOCK", "SHAMAN", "DRUID", "EVOKER", "DEMONHUNTER" },
      crit = 0, hast = 0, mast = 0, ver = 0,
    },
    {
      itemId = 270166, name = "瓦什尼克的血色深仇", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "瓦什尼克",
      slot = "饰品", stdSlot = "饰品", armorType = "",
      allowClass = { "HUNTER", "ROGUE", "MONK", "DRUID", "DEMONHUNTER", "SHAMAN" },
      crit = 0, hast = 0, mast = 0, ver = 0,
    },
    {
      itemId = 268206, name = "游蛇蛮兵之槌", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "斯索拉克",
      slot = "单手锤", stdSlot = "武器", armorType = "",
      allowClass = { "ROGUE", "SHAMAN", "MONK" },
      crit = 1, hast = 0, mast = 1, ver = 0,
    },
    {
      itemId = 268201, name = "烈毒骨制战刃", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "斯索拉克",
      slot = "战刃", stdSlot = "武器", armorType = "",
      allowClass = { "DEMONHUNTER" },
      crit = 1, hast = 0, mast = 1, ver = 0,
    },
    {
      itemId = 268234, name = "无情屠戮护手", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "斯索拉克",
      slot = "手部", stdSlot = "手部", armorType = "皮甲",
      allowClass = { "ROGUE", "MONK", "DRUID", "DEMONHUNTER" },
      crit = 1, hast = 0, mast = 1, ver = 0,
    },
    {
      itemId = 268257, name = "强酸缠链束带", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "斯索拉克",
      slot = "腰部", stdSlot = "腰部", armorType = "布甲",
      allowClass = { "MAGE", "WARLOCK", "PRIEST" },
      crit = 0, hast = 1, mast = 1, ver = 0,
    },
    {
      itemId = 268233, name = "凶暴鳞靴", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "斯索拉克",
      slot = "脚部", stdSlot = "脚部", armorType = "锁甲",
      allowClass = { "SHAMAN", "HUNTER", "EVOKER" },
      crit = 0, hast = 1, mast = 1, ver = 0,
    },
    {
      itemId = 268252, name = "顶级蛮兵爪戒", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "斯索拉克",
      slot = "手指", stdSlot = "手指", armorType = "",
      allowClass = { "WARRIOR", "PALADIN", "HUNTER", "ROGUE", "PRIEST", "DEATHKNIGHT", "SHAMAN", "MAGE", "WARLOCK", "MONK", "DRUID", "DEMONHUNTER", "EVOKER" },
      crit = 1, hast = 1, mast = 0, ver = 0,
    },
    {
      itemId = 270174, name = "呼啸枢纽神像", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "斯索拉克",
      slot = "饰品", stdSlot = "饰品", armorType = "",
      allowClass = { "WARRIOR", "PALADIN", "DEATHKNIGHT", "MONK", "DRUID", "DEMONHUNTER" },
      crit = 0, hast = 0, mast = 1, ver = 0,
    },
    {
      itemId = 270163, name = "斯索拉克的凶猛", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "斯索拉克",
      slot = "饰品", stdSlot = "饰品", armorType = "",
      allowClass = { "WARRIOR", "PALADIN", "DEATHKNIGHT" },
      crit = 0, hast = 0, mast = 0, ver = 0,
    },
    {
      itemId = 268264, name = "贪婪盛宴之牙", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "双子毒牙",
      slot = "匕首", stdSlot = "武器", armorType = "",
      allowClass = { "HUNTER", "ROGUE" },
      crit = 1, hast = 0, mast = 1, ver = 0,
    },
    {
      itemId = 268251, name = "双子毒牙护符", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "双子毒牙",
      slot = "颈部", stdSlot = "颈部", armorType = "",
      allowClass = { "WARRIOR", "PALADIN", "HUNTER", "ROGUE", "PRIEST", "DEATHKNIGHT", "SHAMAN", "MAGE", "WARLOCK", "MONK", "DRUID", "DEMONHUNTER", "EVOKER" },
      crit = 0, hast = 1, mast = 1, ver = 0,
    },
    {
      itemId = 268241, name = "永恒盘绕饰肩", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "双子毒牙",
      slot = "肩部", stdSlot = "肩部", armorType = "布甲",
      allowClass = { "MAGE", "WARLOCK", "PRIEST" },
      crit = 0, hast = 1, mast = 0, ver = 1,
    },
    {
      itemId = 268223, name = "蛇裔毒牙锁甲", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "双子毒牙",
      slot = "胸部", stdSlot = "胸部", armorType = "锁甲",
      allowClass = { "SHAMAN", "HUNTER", "EVOKER" },
      crit = 1, hast = 1, mast = 0, ver = 0,
    },
    {
      itemId = 268220, name = "鳞甲锁喉护手", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "双子毒牙",
      slot = "手部", stdSlot = "手部", armorType = "板甲",
      allowClass = { "WARRIOR", "PALADIN", "DEATHKNIGHT" },
      crit = 1, hast = 1, mast = 0, ver = 0,
    },
    {
      itemId = 268261, name = "沾涎游蛇便鞋", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "双子毒牙",
      slot = "脚部", stdSlot = "脚部", armorType = "皮甲",
      allowClass = { "ROGUE", "MONK", "DRUID", "DEMONHUNTER" },
      crit = 1, hast = 1, mast = 0, ver = 0,
    },
    {
      itemId = 270170, name = "维克斯胡尔的涌流腺体", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "双子毒牙",
      slot = "饰品", stdSlot = "饰品", armorType = "",
      allowClass = { "PRIEST", "MAGE", "WARLOCK", "SHAMAN", "DRUID", "EVOKER", "DEMONHUNTER" },
      crit = 0, hast = 0, mast = 0, ver = 0,
    },
    {
      itemId = 270171, name = "超自然抗毒剂", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "双子毒牙",
      slot = "饰品", stdSlot = "饰品", armorType = "",
      allowClass = { "PRIEST", "PALADIN", "SHAMAN", "DRUID", "MONK", "EVOKER" },
      crit = 1, hast = 0, mast = 0, ver = 0,
    },
    {
      itemId = 268211, name = "灾厄妖术之刃", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "盘卷祭坛",
      slot = "单手剑", stdSlot = "武器", armorType = "",
      allowClass = { "PALADIN", "MAGE", "WARLOCK", "MONK", "DEMONHUNTER", "EVOKER" },
      crit = 0, hast = 1, mast = 1, ver = 0,
    },
    {
      itemId = 268231, name = "游魂护肩", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "盘卷祭坛",
      slot = "肩部", stdSlot = "肩部", armorType = "锁甲",
      allowClass = { "SHAMAN", "HUNTER", "EVOKER" },
      crit = 1, hast = 0, mast = 1, ver = 0,
    },
    {
      itemId = 268253, name = "丝质巫毒斗篷", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "盘卷祭坛",
      slot = "背部", stdSlot = "背部", armorType = "",
      allowClass = { "WARRIOR", "PALADIN", "HUNTER", "ROGUE", "PRIEST", "DEATHKNIGHT", "SHAMAN", "MAGE", "WARLOCK", "MONK", "DRUID", "DEMONHUNTER", "EVOKER" },
      crit = 0, hast = 1, mast = 1, ver = 0,
    },
    {
      itemId = 268222, name = "狂野精魂胸甲", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "盘卷祭坛",
      slot = "胸部", stdSlot = "胸部", armorType = "板甲",
      allowClass = { "WARRIOR", "PALADIN", "DEATHKNIGHT" },
      crit = 0, hast = 1, mast = 1, ver = 0,
    },
    {
      itemId = 268243, name = "永恒暗影之握", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "盘卷祭坛",
      slot = "手部", stdSlot = "手部", armorType = "布甲",
      allowClass = { "MAGE", "WARLOCK", "PRIEST" },
      crit = 1, hast = 1, mast = 0, ver = 0,
    },
    {
      itemId = 268259, name = "剧毒悔恨束带", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "盘卷祭坛",
      slot = "腰部", stdSlot = "腰部", armorType = "板甲",
      allowClass = { "WARRIOR", "PALADIN", "DEATHKNIGHT" },
      crit = 1, hast = 0, mast = 1, ver = 0,
    },
    {
      itemId = 268256, name = "孤寂容器束带", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "盘卷祭坛",
      slot = "腰部", stdSlot = "腰部", armorType = "皮甲",
      allowClass = { "ROGUE", "MONK", "DRUID", "DEMONHUNTER" },
      crit = 0, hast = 1, mast = 1, ver = 0,
    },
    {
      itemId = 268225, name = "盘卷妖术护腿", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "盘卷祭坛",
      slot = "腿部", stdSlot = "腿部", armorType = "皮甲",
      allowClass = { "ROGUE", "MONK", "DRUID", "DEMONHUNTER" },
      crit = 0, hast = 1, mast = 1, ver = 0,
    },
    {
      itemId = 268237, name = "释缚结合腿甲", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "盘卷祭坛",
      slot = "腿部", stdSlot = "腿部", armorType = "锁甲",
      allowClass = { "SHAMAN", "HUNTER", "EVOKER" },
      crit = 0, hast = 1, mast = 1, ver = 0,
    },
    {
      itemId = 268255, name = "狂笑履魂靴", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "盘卷祭坛",
      slot = "脚部", stdSlot = "脚部", armorType = "布甲",
      allowClass = { "MAGE", "WARLOCK", "PRIEST" },
      crit = 0, hast = 1, mast = 1, ver = 0,
    },
    {
      itemId = 270169, name = "妖术领主的厄运神像", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "盘卷祭坛",
      slot = "饰品", stdSlot = "饰品", armorType = "",
      allowClass = { "PALADIN", "PRIEST", "SHAMAN", "MAGE", "WARLOCK", "MONK", "DRUID", "DEMONHUNTER", "EVOKER" },
      crit = 0, hast = 1, mast = 0, ver = 0,
    },
    {
      itemId = 270173, name = "祖尔金的处斩技法", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "盘卷祭坛",
      slot = "饰品", stdSlot = "饰品", armorType = "",
      allowClass = { "WARRIOR", "PALADIN", "DEATHKNIGHT", "HUNTER", "ROGUE", "MONK", "DRUID", "DEMONHUNTER", "SHAMAN" },
      crit = 0, hast = 0, mast = 0, ver = 0,
    },
    {
      itemId = 268215, name = "深渊巢魔的长柄大斧", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "乌拉特克",
      slot = "双手长柄", stdSlot = "武器", armorType = "",
      allowClass = { "HUNTER", "MONK", "DRUID" },
      crit = 0, hast = 0, mast = 1, ver = 0,
    },
    {
      itemId = 268202, name = "被缚女神之颚", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "乌拉特克",
      slot = "单手剑", stdSlot = "武器", armorType = "",
      allowClass = { "WARRIOR", "PALADIN", "DEATHKNIGHT" },
      crit = 0, hast = 1, mast = 0, ver = 0,
    },
    {
      itemId = 268207, name = "强酸安息巨弓", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "乌拉特克",
      slot = "远程", stdSlot = "武器", armorType = "",
      allowClass = { "HUNTER" },
      crit = 1, hast = 0, mast = 0, ver = 0,
    },
    {
      itemId = 271874, name = "守毒者的骇人兜帽", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "乌拉特克",
      slot = "头部", stdSlot = "头部", armorType = "布甲",
      allowClass = { "MAGE", "WARLOCK", "PRIEST" },
      crit = 0, hast = 0, mast = 1, ver = 0,
    },
    {
      itemId = 271875, name = "盘卷守望者的凝视", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "乌拉特克",
      slot = "头部", stdSlot = "头部", armorType = "皮甲",
      allowClass = { "ROGUE", "MONK", "DRUID", "DEMONHUNTER" },
      crit = 0, hast = 1, mast = 0, ver = 0,
    },
    {
      itemId = 268265, name = "亚基克星藏骨匣", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "乌拉特克",
      slot = "颈部", stdSlot = "颈部", armorType = "",
      allowClass = { "WARRIOR", "PALADIN", "HUNTER", "ROGUE", "PRIEST", "DEATHKNIGHT", "SHAMAN", "MAGE", "WARLOCK", "MONK", "DRUID", "DEMONHUNTER", "EVOKER" },
      crit = 1, hast = 0, mast = 0, ver = 0,
    },
    {
      itemId = 271876, name = "觉醒恐牙胸甲", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "乌拉特克",
      slot = "胸部", stdSlot = "胸部", armorType = "锁甲",
      allowClass = { "SHAMAN", "HUNTER", "EVOKER" },
      crit = 1, hast = 0, mast = 0, ver = 0,
    },
    {
      itemId = 271878, name = "无羁深仇腿甲", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "乌拉特克",
      slot = "腿部", stdSlot = "腿部", armorType = "板甲",
      allowClass = { "WARRIOR", "PALADIN", "DEATHKNIGHT" },
      crit = 0, hast = 0, mast = 1, ver = 0,
    },
    {
      itemId = 270175, name = "乌拉特克贪婪之心", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "乌拉特克",
      slot = "饰品", stdSlot = "饰品", armorType = "",
      allowClass = { "WARRIOR", "PALADIN", "HUNTER", "ROGUE", "DEATHKNIGHT", "SHAMAN", "MONK", "DRUID", "DEMONHUNTER" },
      crit = 1, hast = 0, mast = 0, ver = 0,
    },
    {
      itemId = 270168, name = "剧毒狂怒之泉", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "乌拉特克",
      slot = "饰品", stdSlot = "饰品", armorType = "",
      allowClass = { "WARRIOR", "PALADIN", "HUNTER", "ROGUE", "PRIEST", "DEATHKNIGHT", "SHAMAN", "MAGE", "WARLOCK", "MONK", "DRUID", "DEMONHUNTER", "EVOKER" },
      crit = 0, hast = 0, mast = 1, ver = 0,
    },
    {
      itemId = 271093, name = "萨塔特克，腐化之息", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "乌拉特克",
      slot = "匕首", stdSlot = "武器", armorType = "",
      allowClass = { "ROGUE", "HUNTER" },
      crit = 1, hast = 0, mast = 0, ver = 0,
    },
    {
      itemId = 271092, name = "简斯拉泽，灵魂之牙", ilvl = 292, bonusId = 12833,
      dungeonType = "Raid", dungeon = "烈毒", boss = "乌拉特克",
      slot = "匕首", stdSlot = "武器", armorType = "",
      allowClass = { "PRIEST", "SHAMAN", "MAGE", "WARLOCK", "DRUID", "DEMONHUNTER", "EVOKER" },
      crit = 0, hast = 1, mast = 0, ver = 0,
    },
  },
}


--===================================================================
-- ClassLootViewer - 大秘境/团本装备查询插件核心
-- 数据来源：Data.lua（由 export_data.py 从 MySQL 导出）
--===================================================================
local DB = ClassLootViewerDB  -- Data.lua 中定义的全局表

---------------------------------------------------------------------
-- 常量
---------------------------------------------------------------------
-- 13 个标准职业 token -> 中文名
local CLASS_LIST = {
    WARRIOR      = "战士",
    PALADIN      = "圣骑士",
    HUNTER       = "猎人",
    ROGUE        = "潜行者",
    PRIEST       = "牧师",
    DEATHKNIGHT  = "死亡骑士",
    SHAMAN       = "萨满",
    MAGE         = "法师",
    WARLOCK      = "术士",
    MONK         = "武僧",
    DRUID        = "德鲁伊",
    DEMONHUNTER  = "恶魔猎手",
    EVOKER       = "唤魔师",
}
-- 下拉框显示顺序（按用户指定：死骑→圣骑→战士→唤魔→萨满→猎人→恶魔猎手→德鲁伊→潜行→武僧→术士→法师→牧师）
local CLASS_ORDER = {
    "DEATHKNIGHT", "PALADIN", "WARRIOR", "EVOKER", "SHAMAN", "HUNTER",
    "DEMONHUNTER", "DRUID", "ROGUE", "MONK", "WARLOCK", "MAGE", "PRIEST",
}

---------------------------------------------------------------------
-- 套装数据（来源：KeystoneLoot catalyst.lua，Midnight Season 2）
-- 每个职业 5 件套装：头/肩/胸/手/腿，通过催化剂转换获得
---------------------------------------------------------------------
local TIER_SLOTS = { "头部", "肩部", "胸部", "手部", "腿部" }
local TIER_SETS = {
    WARRIOR     = { 271456, 271454, 271459, 271457, 271455 },
    PALADIN     = { 271465, 271463, 271468, 271466, 271464 },
    HUNTER      = { 271492, 271490, 271495, 271493, 271491 },
    ROGUE       = { 271510, 271508, 271513, 271511, 271509 },
    PRIEST      = { 271555, 271553, 271558, 271556, 271554 },
    DEATHKNIGHT = { 271474, 271472, 271477, 271475, 271473 },
    SHAMAN      = { 271483, 271481, 271486, 271484, 271482 },
    MAGE        = { 271564, 271562, 271567, 271565, 271563 },
    WARLOCK     = { 271546, 271544, 271549, 271547, 271545 },
    MONK        = { 271519, 271517, 271522, 271520, 271518 },
    DRUID       = { 271528, 271526, 271531, 271529, 271527 },
    DEMONHUNTER = { 271537, 271535, 271540, 271538, 271536 },
    EVOKER      = { 271501, 271499, 271504, 271502, 271500 },
}
-- 套装统一 292 装等（Champion +0）
local TIER_BONUS_ID = 12833

-- forward declaration：这些变量/函数在后面定义，但前面的代码需要引用
local CLV_Refresh, CLV_RefreshTier, tableArea, tierPanel, dropdown, frame
local SwitchTab, currentTab, tabButtons
local IsItemAcquired  -- 检查物品是否已获取（背包/银行/已装备）
local filterChecks    -- 副属性勾选框表（SwitchTab 在它声明之前引用，必须 forward）

-- 各列宽度配置
local COL_WIDTHS = {
    ["副本"] = 160,
    ["头部"] = 55, ["颈部"] = 55, ["肩部"] = 55, ["背部"] = 55,
    ["胸部"] = 55, ["腕部"] = 55, ["手部"] = 55, ["腰部"] = 55,
    ["腿部"] = 55, ["脚部"] = 55,
    ["手指"] = 80, ["饰品"] = 80,
    ["武器"] = 160,
}
local ROW_HEIGHT   = 34   -- 数据行高
local HEADER_HEIGHT = 28  -- 表头高
local ICON_SIZE    = 24   -- 图标尺寸
local ICON_GAP     = 6    -- 图标间距（同单元格多件装备时的缝隙）

-- 兼容不同客户端的图标 API
local GetItemIconByID = (C_Item and C_Item.GetItemIconByID) or GetItemIcon

---------------------------------------------------------------------
-- 工具函数
---------------------------------------------------------------------
-- 把职业 token 转成 |cffRRGGBB 颜色前缀
local function ClassColorCode(token)
    local c = RAID_CLASS_COLORS and RAID_CLASS_COLORS[token]
    if not c then return "" end
    return string.format("|cff%02x%02x%02x", c.r * 255, c.g * 255, c.b * 255)
end

-- 判断某物品是否允许该职业（allowClass 数组中是否含 token，或 allowClass 含 "ALL"）
local function ClassAllowed(allowClass, token)
    if not allowClass then return false end
    for _, c in ipairs(allowClass) do
        if c == token or c == "ALL" then return true end
    end
    return false
end

-- 判断物品是否属于某一行（Mythic 比对副本名；Raid 比对副本+boss）
local function ItemMatchesRow(item, row)
    if item.dungeonType ~= row.type then return false end
    if item.dungeon ~= row.dungeon then return false end
    if row.type == "Raid" and item.boss ~= row.boss then return false end
    return true
end

---------------------------------------------------------------------
-- 图标对象池
---------------------------------------------------------------------
local iconPool = {}     -- 已回收的图标 Frame
local activeIcons = {}  -- 当前使用的图标 Frame（用于刷新时统一回收）

-- 副属性字段 -> 中文标签（绿色，和游戏内保持一致）
local SECONDARY_LABELS = {
    crit = "暴击",
    hast = "急速",
    mast = "精通",
    ver  = "全能",
}

-- 根据主属性字段（primary_str/dex/int 在数据里没导出，但可用 armorType + slot 推测）
-- 这里直接从 allowClass 反推：职业 -> 默认主属性色条用灰色通用文字显示即可

-- 构造带 bonusID 的 itemLink，让 Tooltip 显示正确的装等（如 292 而不是 28）
-- itemLink 格式（Wowpedia）：
--   |cff9d9d9d|Hitem:itemId:enchant:gem1:gem2:gem3:gem4:suffix:uniqueId:linkLevel:specId:upgradeId:difficulty:numBonusIds:bonusId1:bonusId2:...|h[名称]|h|r
-- bonusID 前必须有 numBonusIds 字段（值为 bonusID 的个数）
-- 构造 itemLink（带 bonusID 用于显示正确装等，可选 specId 用于显示对应专精的套装效果）
-- WoW itemLink 协议（Wowpedia）：
--   item:itemId:enchant:gem1:gem2:gem3:gem4:suffix:unique:linkLevel:specId:upgradeId:difficulty:numBonusIds:bonus1:bonus2...
-- 第10字段为 specializationId，Tooltip 渲染套装效果时读取此字段决定显示哪个专精的效果
-- 参考 KeystoneLoot/modules/upgrade.lua BuildItemLink 实现：字段9 linkLevel 填 UnitLevel("player")
local function BuildItemLink(item, specId)
    local itemId = item.itemId
    local bonusId = item.bonusId or 0
    local name = item.name or ("Item #" .. itemId)
    specId = specId or 0
    local playerLevel = UnitLevel("player") or 0
    if bonusId > 0 then
        -- 字段：itemId:0:0:0:0:0:0:0:playerLevel:specId:0:0:1:bonusId:0...
        -- 第9=linkLevel(playerLevel)，第10=specId，第13=numBonusIds(1)，第14=bonusId
        return string.format("|cff9d9d9d|Hitem:%d:0:0:0:0:0:0:0:%d:%d:0:0:1:%d:0:0:0:0:0:0:0:0|h[%s]|h|r",
            itemId, playerLevel, specId, bonusId, name)
    else
        -- 无 bonusID：numBonusIds=0；第10字段填 specId
        return string.format("|cff9d9d9d|Hitem:%d:0:0:0:0:0:0:0:%d:%d:0:0:0:0:0:0:0:0:0:0:0:0|h[%s]|h|r",
            itemId, playerLevel, specId, name)
    end
end

-- 用 SetHyperlink 显示带 bonusID 的 Tooltip，装等与游戏内一致
local function ShowItemTooltip(self, item)
    GameTooltip:SetOwner(self, "ANCHOR_RIGHT")
    if item.bonusId and item.bonusId > 0 then
        -- 有 bonusID：构造完整 link，用 SetHyperlink 显示正确装等
        local link = BuildItemLink(item)
        GameTooltip:SetHyperlink(link)
    else
        -- 无 bonusID：退回基础版本
        GameTooltip:SetItemByID(item.itemId)
    end
    GameTooltip:Show()
end

-- 判断当前选中职业下某物品是否打了星标
local function IsItemStarred(itemId)
    if not frame.starredDB or not frame.selectedClass then return false end
    local perClass = frame.starredDB[frame.selectedClass]
    return not not (perClass and perClass[itemId])
end

-- 切换星标（点击散件装备图标时调用）
local function ToggleItemStar(itemId)
    if not frame.starredDB then return end
    if not frame.selectedClass then return end
    if not frame.starredDB[frame.selectedClass] then frame.starredDB[frame.selectedClass] = {} end
    local perClass = frame.starredDB[frame.selectedClass]
    if perClass[itemId] then
        perClass[itemId] = nil
    else
        perClass[itemId] = true
    end
end

---------------------------------------------------------------------
-- 装备升级路线（Midnight Season 2 / 12.1）
-- 根据物品等级判断升级路线，规则：重叠时取较高路线
-- 来源：https://www.icy-veins.com/wow/news/item-level-of-loot-in-midnight-season-2/
---------------------------------------------------------------------
local UPGRADE_TRACK = {
    NONE       = 0,  -- 无升级路线（低级别装备）
    ADVENTURER = 1,  -- 探险者（灰）
    VETERAN    = 2,  -- 老兵（绿）
    CHAMPION   = 3,  -- 勇士（蓝）
    HERO       = 4,  -- 英雄（紫）
    MYTH       = 5,  -- 神话（金）
}

-- 升级路线对应的边框颜色 {r, g, b}，nil 表示不显示边框
local TRACK_COLORS = {
    [UPGRADE_TRACK.NONE]       = nil,
    [UPGRADE_TRACK.ADVENTURER] = { 0.5,  0.5,  0.5  },  -- 灰色
    [UPGRADE_TRACK.VETERAN]    = { 0.12, 1,    0    },  -- 绿色 #1eff00
    [UPGRADE_TRACK.CHAMPION]   = { 0,    0.44, 0.87 },  -- 蓝色 #0070dd
    [UPGRADE_TRACK.HERO]       = { 0.64, 0.2,  0.93 },  -- 紫色 #a335ee
    [UPGRADE_TRACK.MYTH]       = { 1,    0.82, 0    },   -- 金色 #ffd14a
}

-- 根据物品等级判断升级路线（Midnight S2 物品等级对应关系）
-- Myth 1/6 = 311, Hero 1/6 = 298, Champion 1/6 = 285, Veteran 1/6 = 272, Adventurer 1/6 = 259
local function GetUpgradeTrackByItemLevel(ilvl)
    if not ilvl then return UPGRADE_TRACK.NONE end
    if ilvl >= 311 then return UPGRADE_TRACK.MYTH end
    if ilvl >= 298 then return UPGRADE_TRACK.HERO end
    if ilvl >= 285 then return UPGRADE_TRACK.CHAMPION end
    if ilvl >= 272 then return UPGRADE_TRACK.VETERAN end
    if ilvl >= 259 then return UPGRADE_TRACK.ADVENTURER end
    return UPGRADE_TRACK.NONE
end

-- 获取物品的实际物品等级（包括升级后的）
-- 优先用 C_Item.GetCurrentItemLevel（需要 itemLocation），回退 GetDetailedItemLevelInfo / GetItemInfo
local function GetActualItemLevel(bag, slot, isEquipped)
    -- 优先用 C_Item.GetCurrentItemLevel
    if C_Item and C_Item.GetCurrentItemLevel and ItemLocation then
        local ok, itemLocation
        if isEquipped then
            ok, itemLocation = pcall(ItemLocation.CreateFromEquipmentSlot, slot)
        else
            ok, itemLocation = pcall(ItemLocation.CreateFromBagAndSlot, bag, slot)
        end
        if ok and itemLocation then
            local ok2, ilvl = pcall(C_Item.GetCurrentItemLevel, itemLocation)
            if ok2 and ilvl then return ilvl end
        end
    end
    -- 回退：从 itemLink 获取
    local link
    if isEquipped then
        link = GetInventoryItemLink and GetInventoryItemLink("player", slot)
    else
        if C_Container and C_Container.GetContainerItemLink then
            link = C_Container.GetContainerItemLink(bag, slot)
        else
            link = GetContainerItemLink and GetContainerItemLink(bag, slot)
        end
    end
    if link then
        if GetDetailedItemLevelInfo then
            local ok, ilvl = pcall(GetDetailedItemLevelInfo, link)
            if ok and ilvl then return ilvl end
        end
        local _, _, _, ilvl3 = GetItemInfo(link)
        if ilvl3 then return ilvl3 end
    end
    return nil
end

-- 检查某物品是否已获取，返回最高品质等级（0=未拥有，1-5=升级路线）
-- 扫描已装备 + 背包 + 银行 + 钥匙链，取品质最高的那件
function IsItemAcquired(itemId)
    if not itemId then return UPGRADE_TRACK.NONE end
    itemId = tonumber(itemId)
    if not itemId then return UPGRADE_TRACK.NONE end

    local maxTrack = UPGRADE_TRACK.NONE

    -- 选择容器 API：优先 C_Container（10.0+），回退旧 API
    local GetNumSlots, GetItemIDInSlot
    if C_Container then
        GetNumSlots = C_Container.GetContainerNumSlots
        GetItemIDInSlot = C_Container.GetContainerItemID
    else
        GetNumSlots = GetContainerNumSlots
        GetItemIDInSlot = GetContainerItemID
    end

    -- 已装备：INVSLOT_FIRST_EQUIPPED 到 INVSLOT_LAST_EQUIPPED
    local firstSlot = INVSLOT_FIRST_EQUIPPED or 1
    local lastSlot  = INVSLOT_LAST_EQUIPPED or 19
    for slot = firstSlot, lastSlot do
        local ok, id = pcall(GetInventoryItemID, "player", slot)
        if ok and id == itemId then
            local ilvl = GetActualItemLevel(nil, slot, true)
            local track = GetUpgradeTrackByItemLevel(ilvl)
            if track > maxTrack then maxTrack = track end
        end
    end

    -- 容器扫描：背包 0-4、银行 -1、钥匙链 -2、银行背包 5-11
    if GetNumSlots and GetItemIDInSlot then
        local bags = { 0, 1, 2, 3, 4, -1, -2, 5, 6, 7, 8, 9, 10, 11 }
        for _, bag in ipairs(bags) do
            local okNum, slots = pcall(GetNumSlots, bag)
            if okNum and slots then
                for s = 1, slots do
                    local okID, id = pcall(GetItemIDInSlot, bag, s)
                    if okID and id == itemId then
                        local ilvl = GetActualItemLevel(bag, s, false)
                        local track = GetUpgradeTrackByItemLevel(ilvl)
                        if track > maxTrack then maxTrack = track end
                    end
                end
            end
        end
    end
    return maxTrack
end

local function AcquireIcon(parent)
    local icon = table.remove(iconPool)
    if not icon then
        icon = CreateFrame("Frame", nil, UIParent)
        icon:SetSize(ICON_SIZE, ICON_SIZE)
        -- Frame 接收鼠标事件必须 EnableMouse
        icon:EnableMouse(true)
        local tex = icon:CreateTexture(nil, "ARTWORK")
        tex:SetAllPoints()
        tex:SetTexCoord(0.08, 0.92, 0.08, 0.92)  -- 裁掉图标边框
        icon.tex = tex
        -- 已获取金色边框（包裹在图标外围，比图标略大一圈）
        local acquired = icon:CreateTexture(nil, "BORDER")
        acquired:SetPoint("TOPLEFT", icon, "TOPLEFT", -2, 2)
        acquired:SetPoint("BOTTOMRIGHT", icon, "BOTTOMRIGHT", 2, -2)
        acquired:SetColorTexture(1, 0.82, 0, 0.9)  -- 金色
        acquired:Hide()
        icon.acquired = acquired
        -- 星标纹理（放在图标右上角，对齐 KeystoneLoot 样式：18×18，TOPRIGHT 偏移 5,6）
        -- 使用本地复制的 tier_must.blp 材质，避免依赖外部插件
        local star = icon:CreateTexture(nil, "OVERLAY")
        star:SetSize(18, 18)
        star:SetPoint("TOPRIGHT", icon, "TOPRIGHT", 5, 6)
        star:SetTexture("Interface\\AddOns\\ClassLootViewer\\assets\\tier_must")
        star:Hide()
        icon.star = star
        -- 鼠标悬停显示原生 Tooltip + 追加实际装等
        icon:SetScript("OnEnter", function(self)
            if self.itemData then
                ShowItemTooltip(self, self.itemData)
            end
        end)
        icon:SetScript("OnLeave", function()
            GameTooltip:Hide()
        end)
    end
    icon:SetParent(parent)
    icon.itemId = nil
    icon.itemData = nil
    icon:ClearAllPoints()
    icon:Show()
    return icon
end

local function ReleaseIcon(icon)
    icon:Hide()
    icon:SetParent(UIParent)
    icon.itemId = nil
    icon.itemData = nil
    icon.classToken = nil
    if icon.star then icon.star:Hide() end
    if icon.acquired then icon.acquired:Hide() end
    icon.tex:SetTexture(nil)
    -- 强制恢复标准尺寸（避免 pool 里残留被放大过的 icon 污染散件页）
    icon:SetSize(ICON_SIZE, ICON_SIZE)
    -- 清除散件页设置的点击脚本
    icon:SetScript("OnMouseDown", nil)
    icon:SetScript("OnMouseUp", nil)
    -- 恢复默认的 OnEnter/OnLeave（pool 里的 icon 下次散件页使用时依赖这些默认脚本）
    icon:SetScript("OnEnter", function(self)
        if self.itemData then
            ShowItemTooltip(self, self.itemData)
        end
    end)
    icon:SetScript("OnLeave", function()
        GameTooltip:Hide()
    end)
    table.insert(iconPool, icon)
end

local function ReleaseAllIcons()
    for _, icon in ipairs(activeIcons) do
        ReleaseIcon(icon)
    end
    wipe(activeIcons)
end

---------------------------------------------------------------------
-- 主框架
---------------------------------------------------------------------
frame = CreateFrame("Frame", "ClassLootViewerFrame", UIParent, "BasicFrameTemplateWithInset")
frame:SetSize(1120, 740)
frame:SetPoint("CENTER")
frame:Hide()
frame:SetMovable(true)
frame:EnableMouse(true)
frame:RegisterForDrag("LeftButton")
frame:SetScript("OnDragStart", frame.StartMoving)
frame:SetScript("OnDragStop", frame.StopMovingOrSizing)
frame:SetClampedToScreen(true)
frame.title = frame:CreateFontString(nil, "OVERLAY", "GameFontHighlight")
frame.title:SetPoint("TOP", frame, "TOP", 0, -5)
frame.title:SetText("ClassLootViewer - 装备掉落查询  |  至暗之夜 第二赛季")

---------------------------------------------------------------------
-- 工具栏：页签切换（散件 / 套装），放在最左边
---------------------------------------------------------------------
currentTab = "散件"
tabButtons = {}

function SwitchTab(tabName)
    if currentTab == tabName then return end
    currentTab = tabName
    -- 更新页签按钮高亮
    for name, btn in pairs(tabButtons) do
        if name == tabName then
            btn:SetNormalFontObject("GameFontHighlight")
            btn:LockHighlight()
        else
            btn:SetNormalFontObject("GameFontDisable")
            btn:UnlockHighlight()
        end
    end
    -- 显示/隐藏对应页面 + 工具栏
    if tabName == "散件" then
        -- 散件页：显示职业下拉框、副属性勾选框、表格区
        if dropdown then dropdown:Show() end
        for _, cb in pairs(filterChecks) do cb:Show() end
        if tierPanel then tierPanel:Hide() end
        if tableArea then tableArea:Show() end
        if CLV_Refresh then CLV_Refresh() end
    else
        -- 套装页：隐藏职业下拉框、副属性勾选框
        if dropdown then dropdown:Hide() end
        for _, cb in pairs(filterChecks) do cb:Hide() end
        if tableArea then tableArea:Hide() end
        if tierPanel then
            tierPanel:Show()
            if CLV_RefreshTier then CLV_RefreshTier() end
        end
    end
end

-- 创建页签按钮（放在职业下拉框左边）
local tabPrevAnchor = nil
for tabIdx, tabName in ipairs({ "散件", "套装" }) do
    local btn = CreateFrame("Button", nil, frame, "UIPanelButtonTemplate")
    btn:SetSize(60, 22)
    if tabIdx == 1 then
        btn:SetPoint("TOPLEFT", frame, "TOPLEFT", 15, -28)
    else
        btn:SetPoint("LEFT", tabPrevAnchor, "RIGHT", 6, 0)
    end
    btn:SetText(tabName)
    btn:SetNormalFontObject("GameFontDisable")
    btn:SetScript("OnClick", function() SwitchTab(tabName) end)
    tabButtons[tabName] = btn
    tabPrevAnchor = btn
end
-- 默认高亮"散件"页签
tabButtons["散件"]:SetNormalFontObject("GameFontHighlight")
tabButtons["散件"]:LockHighlight()

---------------------------------------------------------------------
-- 工具栏：职业下拉（放在页签按钮右边）
---------------------------------------------------------------------
frame.selectedClass = select(2, UnitClass("player"))  -- 默认当前角色职业

-- dropdown 已在前面 forward declaration，这里赋值
dropdown = CreateFrame("Frame", "CLVClassDropdown", frame, "UIDropDownMenuTemplate")
dropdown:SetPoint("LEFT", tabPrevAnchor, "RIGHT", 14, 2)
UIDropDownMenu_SetWidth(dropdown, 160)

local function UpdateDropdownText()
    local token = frame.selectedClass
    local cn = CLASS_LIST[token] or token
    UIDropDownMenu_SetText(dropdown, ClassColorCode(token) .. cn .. "|r")
end

UIDropDownMenu_Initialize(dropdown, function(self, level)
    for _, token in ipairs(CLASS_ORDER) do
        local cn = CLASS_LIST[token]
        local info = UIDropDownMenu_CreateInfo()
        info.text = ClassColorCode(token) .. cn .. "|r"
        info.value = token
        info.checked = (token == frame.selectedClass)
        info.func = function(self)
            frame.selectedClass = token
            UpdateDropdownText()
            CLV_Refresh()
            CloseDropDownMenus()
        end
        UIDropDownMenu_AddButton(info, level)
    end
end)

---------------------------------------------------------------------
-- 副属性勾选框（职业下拉框右边）
-- 勾选后只显示「当前职业可用 + 含所有勾选副属性」的装备
---------------------------------------------------------------------
local SECONDARY_FILTERS = {
    { key = "crit", label = "暴击" },
    { key = "hast", label = "急速" },
    { key = "mast", label = "精通" },
    { key = "ver",  label = "全能" },
}
filterChecks = {}
local prev = dropdown
for _, f in ipairs(SECONDARY_FILTERS) do
    local cbName = "CLVFilterCheck_" .. f.key
    local cb = CreateFrame("CheckButton", cbName, frame, "UICheckButtonTemplate")
    -- y=0：链式锚定中 y 偏移会逐个累积，必须用 0 才能保证 4 个框同水平线
    cb:SetPoint("LEFT", prev, "RIGHT", 14, 0)
    cb:SetFrameLevel(frame:GetFrameLevel() + 20)  -- 强制拉高，避免被 tableArea 遮挡
    local txt = _G[cbName .. "Text"]
    txt:SetText(f.label)
    txt:SetFontObject("GameFontHighlightSmall")
    -- 关键：显式重置文字锚点，对齐到 cb 的 RIGHT + (2,0)
    -- UICheckButtonTemplate 默认文字锚点不保证水平居中，会导致链式 prev=txt 时 y 累积偏移
    txt:ClearAllPoints()
    txt:SetPoint("LEFT", cb, "RIGHT", 2, 0)
    -- 负值为扩大点击区域（覆盖文字宽度）
    cb:SetHitRectInsets(0, - (txt:GetStringWidth() + 8), 0, 0)
    cb:SetScript("OnClick", function(self)
        -- PlaySound 带 pcall 保护，避免 12.0 移除 SOUNDKIT 常量时报错中断
        pcall(function()
            PlaySound(self:GetChecked() and SOUNDKIT.IG_MAINMENU_OPTION_CHECKBOX_ON
                                         or SOUNDKIT.IG_MAINMENU_OPTION_CHECKBOX_OFF)
        end)
        CLV_Refresh()
    end)
    filterChecks[f.key] = cb
    prev = txt  -- 下一个框紧跟前一个的文字（保持原间距）
end

---------------------------------------------------------------------
-- 表格区（ScrollFrame + 内容）
---------------------------------------------------------------------
-- tableArea 已在前面 forward declaration，这里赋值
tableArea = CreateFrame("Frame", nil, frame)
tableArea:SetPoint("TOPLEFT", frame, "TOPLEFT", 10, -55)
tableArea:SetPoint("BOTTOMRIGHT", frame, "BOTTOMRIGHT", -10, 10)

-- 底部提示文字（散件页专用，随 tableArea 一起显隐）
-- 用两行显示，避免单行过长
local STAR_TEX = "Interface\\AddOns\\ClassLootViewer\\assets\\tier_must"
local hintLine1 = tableArea:CreateFontString(nil, "OVERLAY", "GameFontDisableSmall")
hintLine1:SetPoint("BOTTOMLEFT", tableArea, "BOTTOMLEFT", 4, 4)
hintLine1:SetText(
    "1、点击装备可进行标记 |T" .. STAR_TEX .. ":14:14|t，不同职业独立标记"
    .. "        2、已有装备按最高品质显示边框：|cff1eff00老兵|r / |cff0070dd勇士|r / |cffa335ee英雄|r / |cffffd14a神话|r"
)

local scroll = CreateFrame("ScrollFrame", "CLVScroll", tableArea, "ScrollFrameTemplate")
scroll:SetPoint("TOPLEFT", tableArea, "TOPLEFT", 0, 0)
scroll:SetPoint("BOTTOMRIGHT", tableArea, "BOTTOMRIGHT", -25, 40)

local content = CreateFrame("Frame", nil, scroll)
-- 计算内容总宽
local CONTENT_WIDTH = 0
for _, slot in ipairs(DB.standardSlots) do
    CONTENT_WIDTH = CONTENT_WIDTH + COL_WIDTHS[slot]
end
CONTENT_WIDTH = CONTENT_WIDTH + COL_WIDTHS["副本"]  -- 加第一列
-- 计算内容总高
local CONTENT_HEIGHT = HEADER_HEIGHT + #DB.rows * ROW_HEIGHT
content:SetSize(CONTENT_WIDTH, CONTENT_HEIGHT)
scroll:SetScrollChild(content)

-- 表头底色（覆盖 y=0 到 y=-HEADER_HEIGHT，即表头本身所在区域）
local headerBg = content:CreateTexture(nil, "BACKGROUND")
headerBg:SetPoint("TOPLEFT", content, "TOPLEFT", 0, 0)
headerBg:SetSize(CONTENT_WIDTH, HEADER_HEIGHT)
headerBg:SetColorTexture(0.15, 0.15, 0.18, 0.9)

-- 表头：第一列"副本/Boss"
local x = 0
local firstHeader = content:CreateFontString(nil, "OVERLAY", "GameFontHighlightSmall")
firstHeader:SetPoint("CENTER", content, "TOPLEFT", x + COL_WIDTHS["副本"] / 2, -HEADER_HEIGHT / 2)
firstHeader:SetText("副本 / Boss")
x = x + COL_WIDTHS["副本"]

-- 表头：13 个标准槽位
for _, slot in ipairs(DB.standardSlots) do
    local fs = content:CreateFontString(nil, "OVERLAY", "GameFontHighlightSmall")
    fs:SetPoint("CENTER", content, "TOPLEFT", x + COL_WIDTHS[slot] / 2, -HEADER_HEIGHT / 2)
    fs:SetText(slot)
    x = x + COL_WIDTHS[slot]
end

---------------------------------------------------------------------
-- 数据行：第一列文本 + 13 个单元格容器
---------------------------------------------------------------------
-- dataRows[rowIdx] = { label = FontString, cells = { [slot] = Frame } }
local dataRows = {}

for rowIdx, row in ipairs(DB.rows) do
    local y = -(HEADER_HEIGHT + (rowIdx - 1) * ROW_HEIGHT)
    -- 行底色（交替条纹，覆盖整行宽度，便于阅读）
    local rowBg = content:CreateTexture(nil, "BACKGROUND")
    rowBg:SetPoint("TOPLEFT", content, "TOPLEFT", 0, y)
    rowBg:SetSize(CONTENT_WIDTH, ROW_HEIGHT)
    if rowIdx % 2 == 1 then
        rowBg:SetColorTexture(0.25, 0.25, 0.28, 0.5)
    else
        rowBg:SetColorTexture(0.15, 0.15, 0.18, 0.5)
    end
    -- Mythic 行第一列叠加半透明蓝色，Raid 行叠加半透明红色，便于区分类型
    -- alpha 控制较低，避免与 rowBg 叠加后第一行第一列颜色过深（看起来像多一层遮罩）
    local typeBg = content:CreateTexture(nil, "ARTWORK")
    typeBg:SetPoint("TOPLEFT", content, "TOPLEFT", 0, y)
    typeBg:SetSize(COL_WIDTHS["副本"], ROW_HEIGHT)
    if row.type == "Mythic" then
        typeBg:SetColorTexture(0.1, 0.2, 0.35, 0.15)
    else
        typeBg:SetColorTexture(0.35, 0.15, 0.1, 0.15)
    end

    local entry = { row = row, cells = {} }

    -- 第一列：副本/Boss 标签
    local label = content:CreateFontString(nil, "OVERLAY", "GameFontHighlight")
    label:SetPoint("LEFT", content, "TOPLEFT", 6, y - ROW_HEIGHT / 2)
    label:SetText(row.label)
    entry.label = label

    -- 13 个单元格容器
    local cx = COL_WIDTHS["副本"]
    for _, slot in ipairs(DB.standardSlots) do
        local cell = CreateFrame("Frame", nil, content)
        cell:SetPoint("TOPLEFT", content, "TOPLEFT", cx, y)
        cell:SetSize(COL_WIDTHS[slot], ROW_HEIGHT)
        cell.slot = slot
        cell.rowIdx = rowIdx
        entry.cells[slot] = cell
        -- 单元格左边竖向分隔线（形成网格，便于纵向对应副本名）
        local vline = cell:CreateTexture(nil, "BORDER")
        vline:SetPoint("TOPLEFT", cell, "TOPLEFT", 0, 0)
        vline:SetSize(1, ROW_HEIGHT)
        vline:SetColorTexture(0.5, 0.5, 0.5, 0.3)
        cx = cx + COL_WIDTHS[slot]
    end

    dataRows[rowIdx] = entry
end

---------------------------------------------------------------------
-- 刷新：按当前职业重新填充所有单元格的图标
---------------------------------------------------------------------
-- CLV_Refresh 已在前面 forward declaration，这里赋值
CLV_Refresh = function()
    ReleaseAllIcons()
    local classToken = frame.selectedClass
    -- 副属性勾选状态（多个勾选为 AND 关系：必须含所有勾选副属性才显示）
    local needCrit = filterChecks.crit:GetChecked()
    local needHast = filterChecks.hast:GetChecked()
    local needMast = filterChecks.mast:GetChecked()
    local needVer  = filterChecks.ver:GetChecked()
    -- 按「职业 + 勾选副属性(AND)」过滤物品子集
    local subset = {}
    for _, item in ipairs(DB.items) do
        if ClassAllowed(item.allowClass, classToken)
           and (not needCrit or item.crit == 1)
           and (not needHast or item.hast == 1)
           and (not needMast or item.mast == 1)
           and (not needVer  or item.ver  == 1) then
            table.insert(subset, item)
        end
    end
    -- 按行+列填充图标
    for rowIdx, entry in ipairs(dataRows) do
        -- 临时按 stdSlot 分组
        local bySlot = {}
        for _, item in ipairs(subset) do
            if ItemMatchesRow(item, entry.row) then
                if not bySlot[item.stdSlot] then
                    bySlot[item.stdSlot] = {}
                end
                table.insert(bySlot[item.stdSlot], item)
            end
        end
        -- 渲染
        for slot, cell in pairs(entry.cells) do
            local items = bySlot[slot]
            if items and #items > 0 then
                -- 图标横向居中并排
                local totalW = #items * ICON_SIZE + (#items - 1) * ICON_GAP
                local startX = (cell:GetWidth() - totalW) / 2
                if startX < 2 then startX = 2 end
                for i, item in ipairs(items) do
                    local icon = AcquireIcon(cell)
                    icon.itemId = item.itemId
                    icon.itemData = item
                    icon:SetPoint("LEFT", cell, "LEFT", startX + (i - 1) * (ICON_SIZE + ICON_GAP), 0)
                    local tex = GetItemIconByID(item.itemId)
                    if tex then
                        icon.tex:SetTexture(tex)
                    else
                        -- 物品未缓存，用问号占位，等 GET_ITEM_INFO_RECEIVED 事件
                        icon.tex:SetTexture("Interface\\Icons\\INV_Misc_QuestionMark")
                        icon.needsRetry = true
                    end
                    -- 渲染星标（按当前职业的星标记录）
                    if icon.star and IsItemStarred(item.itemId) then
                        icon.star:Show()
                    else
                        if icon.star then icon.star:Hide() end
                    end
                    -- 渲染已获取边框（颜色根据最高品质升级路线动态设置）
                    local track = IsItemAcquired(item.itemId)
                    if icon.acquired and track > UPGRADE_TRACK.NONE then
                        local color = TRACK_COLORS[track]
                        if color then
                            icon.acquired:SetColorTexture(color[1], color[2], color[3], 0.9)
                            icon.acquired:Show()
                        else
                            icon.acquired:Hide()
                        end
                    else
                        if icon.acquired then icon.acquired:Hide() end
                    end
                    -- 左键点击切换星标（Frame 用 OnMouseDown 最可靠）
                    icon:SetScript("OnMouseDown", function(self, btn)
                        if btn == "LeftButton" and self.itemId then
                            ToggleItemStar(self.itemId)
                            -- 刷新图标星标显示
                            if IsItemStarred(self.itemId) then
                                if self.star then self.star:Show() end
                            else
                                if self.star then self.star:Hide() end
                            end
                        end
                    end)
                    table.insert(activeIcons, icon)
                end
            end
        end
    end
end

---------------------------------------------------------------------
-- 套装页面（纵向 13 职业 × 横向 5 部位）
---------------------------------------------------------------------
local TIER_COL1   = 90   -- 职业名列宽（固定，左对齐）
local TIER_COL2   = 120  -- 专精列宽（含按钮，所有行右对齐对齐）
local TIER_SLOT_W = 130  -- 部位列宽
local TIER_ROW_H  = 48   -- 行高
local TIER_HDR_H  = 34   -- 表头高

-- tierPanel 已在前面 forward declaration，这里赋值
tierPanel = CreateFrame("Frame", nil, frame)
tierPanel:SetPoint("TOPLEFT", frame, "TOPLEFT", 10, -55)
tierPanel:SetPoint("BOTTOMRIGHT", frame, "BOTTOMRIGHT", -10, 10)
tierPanel:Hide()

-- 专精选择（套装页面用）：每个职业可独立选专精查看对应套装效果
-- CLASS_TOKEN -> classID 映射
local CLASS_ID_MAP = {
    WARRIOR=1, PALADIN=2, HUNTER=3, ROGUE=4, PRIEST=5, DEATHKNIGHT=6,
    SHAMAN=7, MAGE=8, WARLOCK=9, MONK=10, DRUID=11, DEMONHUNTER=12, EVOKER=13,
}
-- 存储当前选中的专精：{ ["SHAMAN"] = 264, ["WARRIOR"] = 71, ... }
-- nil 表示用默认（当前角色专精）
frame.tierSelectedSpec = frame.tierSelectedSpec or {}
local tierSelectedSpec = frame.tierSelectedSpec

local function GetSpecListForClass(classToken)
    local classID = CLASS_ID_MAP[classToken]
    if not classID then return {} end
    local specs = {}
    -- 完全按 KeystoneLoot class_dropdown.lua 的写法：
    -- GetSpecializationInfoForClassID 返回 (specId, specName)
    local numSpecs = 0
    if C_SpecializationInfo and C_SpecializationInfo.GetNumSpecializationsForClassID then
        numSpecs = C_SpecializationInfo.GetNumSpecializationsForClassID(classID)
    elseif GetNumSpecializationsForClassID then
        numSpecs = GetNumSpecializationsForClassID(classID)
    end
    for index = 1, numSpecs do
        local specId, specName
        if C_SpecializationInfo and C_SpecializationInfo.GetSpecializationInfoForClassID then
            specId, specName = C_SpecializationInfo.GetSpecializationInfoForClassID(classID, index)
        elseif GetSpecializationInfoForClassID then
            specId, specName = GetSpecializationInfoForClassID(classID, index)
        end
        -- 再用 GetSpecializationInfoForSpecID 兜底取名字（KeystoneLoot character.lua GetSpecName 也是这样写的）
        if (not specName or specName == "" or type(specName) == "number") and specId and GetSpecializationInfoForSpecID then
            local _, name2 = GetSpecializationInfoForSpecID(specId)
            if name2 and name2 ~= "" then
                specName = name2
            end
        end
        -- 最后兜底：硬编码中文专精名
        if not specName or specName == "" or type(specName) == "number" then
            specName = ({
                -- Warrior
                [71] = "武器", [72] = "狂怒", [73] = "防护",
                -- Paladin
                [65] = "神圣", [66] = "防护", [70] = "惩戒",
                -- Hunter
                [253] = "野兽控制", [254] = "射击", [255] = "生存",
                -- Rogue
                [259] = "刺杀", [260] = "狂徒", [261] = "敏锐",
                -- Priest
                [256] = "戒律", [257] = "神圣", [258] = "暗影",
                -- DeathKnight
                [250] = "鲜血", [251] = "冰霜", [252] = "邪恶",
                -- Shaman
                [262] = "元素", [263] = "增强", [264] = "恢复",
                -- Mage
                [62] = "奥术", [63] = "火焰", [64] = "冰霜",
                -- Warlock
                [265] = "痛苦", [266] = "恶魔学识", [267] = "毁灭",
                -- Monk
                [268] = "酒仙", [269] = "织雾", [270] = "踏风",
                -- Druid
                [102] = "平衡", [103] = "野性", [104] = "守护", [105] = "恢复",
                -- DemonHunter
                [577] = "浩劫", [581] = "复仇",
                -- Evoker
                [1467] = "毁灭", [1468] = "恩护", [1473] = "Breath",
            })[tonumber(specId)] or ("专精" .. index)
        end
        if specId then
            table.insert(specs, { name = tostring(specName), specID = specId, index = index })
        end
    end
    return specs
end

-- 更新某职业行的专精显示文字
local function UpdateTierSpecLabel(token, specLabel)
    local specID = tierSelectedSpec[token]
    local specs = GetSpecListForClass(token)
    if not specID then
        -- 默认选中第一个专精（避免空值）
        if specs[1] then
            specID = specs[1].specID
            tierSelectedSpec[token] = specID
        end
    end
    for _, s in ipairs(specs) do
        if s.specID == specID then
            specLabel:SetText(s.name)
            return
        end
    end
    specLabel:SetText("")
end

-- 专精菜单 Frame（EasyMenu 用，作为菜单载体，需挂到 UIParent 才能正常弹出）
local tierSpecMenu = CreateFrame("Frame", "CLVTierSpecMenu", UIParent, "UIDropDownMenuTemplate")

local tierContent = CreateFrame("Frame", nil, tierPanel)
local TIER_COL2_OFFSET = TIER_COL1  -- 专精列起始 x 坐标
local TIER_WIDTH = TIER_COL1 + TIER_COL2 + #TIER_SLOTS * TIER_SLOT_W
local TIER_HEIGHT = TIER_HDR_H + #CLASS_ORDER * TIER_ROW_H
tierContent:SetSize(TIER_WIDTH, TIER_HEIGHT)
-- 水平居中放置在 tierPanel 内（tierPanel 宽度 = frame 宽度 - 20）
tierContent:SetPoint("TOP", tierPanel, "TOP", 0, -10)

-- 套装表头底色（注意：表头区域是 y=0 到 y=-TIER_HDR_H 之间，所以直接覆盖顶部 TIER_HDR_H 高度）
local tierHdrBg = tierContent:CreateTexture(nil, "BACKGROUND")
tierHdrBg:SetPoint("TOPLEFT", tierContent, "TOPLEFT", 0, 0)
tierHdrBg:SetSize(TIER_WIDTH, TIER_HDR_H)
tierHdrBg:SetColorTexture(0.15, 0.15, 0.18, 0.9)

-- 表头：第一列"职业"
local tierHdr1 = tierContent:CreateFontString(nil, "OVERLAY", "GameFontHighlightSmall")
tierHdr1:SetPoint("CENTER", tierContent, "TOPLEFT", TIER_COL1 / 2, -TIER_HDR_H / 2)
tierHdr1:SetText("职业")
-- 表头：第二列"专精"
local tierHdr2 = tierContent:CreateFontString(nil, "OVERLAY", "GameFontHighlightSmall")
tierHdr2:SetPoint("CENTER", tierContent, "TOPLEFT", TIER_COL2_OFFSET + TIER_COL2 / 2, -TIER_HDR_H / 2)
tierHdr2:SetText("专精")
-- 表头：5 个部位
local tx = TIER_COL1 + TIER_COL2
for _, slot in ipairs(TIER_SLOTS) do
    local hdr = tierContent:CreateFontString(nil, "OVERLAY", "GameFontHighlightSmall")
    hdr:SetPoint("CENTER", tierContent, "TOPLEFT", tx + TIER_SLOT_W / 2, -TIER_HDR_H / 2)
    hdr:SetText(slot)
    tx = tx + TIER_SLOT_W
end

-- 套装行：13 个职业 × 5 部位
local tierRows = {}
for rowIdx, token in ipairs(CLASS_ORDER) do
    local y = -(TIER_HDR_H + (rowIdx - 1) * TIER_ROW_H)
    -- 行底色（交替条纹）
    if rowIdx % 2 == 0 then
        local bg = tierContent:CreateTexture(nil, "BACKGROUND")
        bg:SetPoint("TOPLEFT", tierContent, "TOPLEFT", 0, y)
        bg:SetSize(TIER_WIDTH, TIER_ROW_H)
        bg:SetColorTexture(0.2, 0.2, 0.22, 0.4)
    end
    -- 第一列：职业名（纯文本，按职业色着色，左对齐）
    local label = tierContent:CreateFontString(nil, "OVERLAY", "GameFontHighlight")
    label:SetPoint("LEFT", tierContent, "TOPLEFT", 6, y - TIER_ROW_H / 2)
    label:SetText(ClassColorCode(token) .. (CLASS_LIST[token] or token) .. "|r")
    -- 第二列：专精按钮（独立 Button，固定列宽，所有行对齐）
    local specBtn = CreateFrame("Button", nil, tierContent)
    -- 按钮在专精列单元格内严格居中：用 CENTER 锚点对齐单元格中心
    local btnPad = 4  -- 按钮与单元格边缘的 padding
    specBtn:SetSize(TIER_COL2 - btnPad * 2, TIER_ROW_H - btnPad * 2)
    specBtn:SetPoint("CENTER", tierContent, "TOPLEFT",
        TIER_COL2_OFFSET + TIER_COL2 / 2,  -- 单元格水平中心
        y - TIER_ROW_H / 2)                 -- 单元格垂直中心（y 是行顶，向下为负）
    specBtn:SetFrameLevel(tierContent:GetFrameLevel() + 30)
    specBtn:RegisterForClicks("LeftButtonDown")
    -- 按钮常态背景（暗色半透明，与界面一致）
    local specBg = specBtn:CreateTexture(nil, "BACKGROUND")
    specBg:SetAllPoints()
    specBg:SetColorTexture(0.15, 0.18, 0.22, 0.9)
    -- 悬停高亮
    local specHL = specBtn:CreateTexture(nil, "HIGHLIGHT")
    specHL:SetAllPoints()
    specHL:SetColorTexture(0.3, 0.6, 1.0, 0.3)
    specBtn:SetHighlightTexture(specHL)
    -- 按钮文字（专精名）
    local specLabel = specBtn:CreateFontString(nil, "OVERLAY", "GameFontHighlightSmall")
    specLabel:SetPoint("CENTER", specBtn, "CENTER", 0, 0)
    -- 提示文字（悬停时提示可点击切换专精）
    specBtn:SetScript("OnEnter", function(self)
        GameTooltip:SetOwner(self, "ANCHOR_RIGHT")
        GameTooltip:SetText(CLASS_LIST[token] .. " - 点击切换专精", 1, 1, 1)
        GameTooltip:Show()
    end)
    specBtn:SetScript("OnLeave", function()
        GameTooltip:Hide()
    end)
    -- 点击弹出专精选择菜单（每次重新初始化，保证内容正确）
    specBtn:SetScript("OnClick", function()
        local specs = GetSpecListForClass(token)
        -- 每次点击都重新初始化菜单
        UIDropDownMenu_Initialize(tierSpecMenu, function(self, level)
            local info = UIDropDownMenu_CreateInfo()
            info.text = CLASS_LIST[token] .. " - 选择专精"
            info.isTitle = true
            info.notCheckable = true
            UIDropDownMenu_AddButton(info, level)
            for _, s in ipairs(specs) do
                info = UIDropDownMenu_CreateInfo()
                info.text = s.name
                info.func = function()
                    tierSelectedSpec[token] = s.specID
                    if tierRows[token] and tierRows[token].specLabel then
                        UpdateTierSpecLabel(token, tierRows[token].specLabel)
                    end
                end
                info.checked = (tierSelectedSpec[token] == s.specID)
                UIDropDownMenu_AddButton(info, level)
            end
        end)
        ToggleDropDownMenu(nil, nil, tierSpecMenu, "cursor", 0, 0)
    end)
    -- 记录 specLabel，刷新时更新文字
    tierRows[token] = { label = label, specLabel = specLabel, cells = {} }
    -- 初始化专精显示（默认选中第一个专精）
    UpdateTierSpecLabel(token, specLabel)
    -- 5 个部位格子
    local cx = TIER_COL1 + TIER_COL2
    for slotIdx, slot in ipairs(TIER_SLOTS) do
        local cell = CreateFrame("Frame", nil, tierContent)
        cell:SetPoint("TOPLEFT", tierContent, "TOPLEFT", cx, y)
        cell:SetSize(TIER_SLOT_W, TIER_ROW_H)
        -- 竖向分隔线
        local vline = cell:CreateTexture(nil, "BORDER")
        vline:SetPoint("TOPLEFT", cell, "TOPLEFT", 0, 0)
        vline:SetSize(1, TIER_ROW_H)
        vline:SetColorTexture(0.5, 0.5, 0.5, 0.3)
        tierRows[token].cells[slotIdx] = cell
        cx = cx + TIER_SLOT_W
    end
end

-- 刷新套装页面：填充图标（CLV_RefreshTier 已在前面 forward declaration）
CLV_RefreshTier = function()
    ReleaseAllIcons()
    for _, token in ipairs(CLASS_ORDER) do
        local sets = TIER_SETS[token]
        local row = tierRows[token]
        if sets and row then
            for slotIdx, itemId in ipairs(sets) do
                local cell = row.cells[slotIdx]
                if cell then
                    local icon = AcquireIcon(cell)
                    icon.itemId = itemId
                    icon.classToken = token  -- 记录该图标所属职业，用于 spec 切换
                    local name = GetItemInfo(itemId) or ("Item #" .. itemId)
                    icon.itemData = { itemId = itemId, bonusId = TIER_BONUS_ID, name = name, ilvl = 292 }
                    icon:SetPoint("CENTER", cell, "CENTER", 0, 0)
                    local tex = GetItemIconByID(itemId)
                    if tex then
                        icon.tex:SetTexture(tex)
                    else
                        icon.tex:SetTexture("Interface\\Icons\\INV_Misc_QuestionMark")
                        icon.needsRetry = true
                    end
                    -- 覆盖 OnEnter：显示装备信息 + 按所选专精显示套装效果
                    -- 关键：将选中专精的 specId 编入 itemLink 第6字段，SetHyperlink 渲染 Tooltip 时
                    --       会读取此 specId 决定显示哪个专精的套装效果（参考 KeystoneLoot BuildItemLink 实现）
                    icon:SetScript("OnEnter", function(self)
                        if not self.itemData then return end
                        GameTooltip:SetOwner(self, "ANCHOR_RIGHT")
                        local specID = tierSelectedSpec[self.classToken] or 0
                        local link = BuildItemLink(self.itemData, specID)
                        GameTooltip:SetHyperlink(link)
                        GameTooltip:Show()
                    end)
                    table.insert(activeIcons, icon)
                end
            end
        end
    end
end

---------------------------------------------------------------------
-- 事件：ADDON_LOADED（初始化）+ GET_ITEM_INFO_RECEIVED（图标重试）
--       BAG_UPDATE / UNIT_INVENTORY_CHANGED / PLAYERBANKSLOTS_CHANGED（已获取状态刷新）
---------------------------------------------------------------------
-- 已获取状态刷新节流（0.6s 内重复事件只触发一次）
local acquiredRefreshPending = false
local function ScheduleAcquiredRefresh()
    if acquiredRefreshPending then return end
    acquiredRefreshPending = true
    C_Timer.After(0.6, function()
        acquiredRefreshPending = false
        -- 只在当前处于散件页且窗口打开时刷新
        if frame:IsShown() and currentTab == "散件" then
            -- 直接更新每个 activeIcon 的 acquired 显示，避免整张表重建导致闪烁
            for _, icon in ipairs(activeIcons) do
                if icon.itemId and icon.acquired then
                    local track = IsItemAcquired(icon.itemId)
                    if track > UPGRADE_TRACK.NONE then
                        local color = TRACK_COLORS[track]
                        if color then
                            icon.acquired:SetColorTexture(color[1], color[2], color[3], 0.9)
                            icon.acquired:Show()
                        else
                            icon.acquired:Hide()
                        end
                    else
                        icon.acquired:Hide()
                    end
                end
            end
        end
    end)
end

frame:SetScript("OnEvent", function(self, event, arg1, arg2)
    if event == "ADDON_LOADED" and arg1 == "OrzUI" then
        -- 加载/初始化 SavedVariables：按职业 token 存 itemId 集合
        -- 结构：ClassLootViewer_SavedVars.Starred = { ["SHAMAN"] = { [251126] = true, ... }, ... }
        if not ClassLootViewer_SavedVars then ClassLootViewer_SavedVars = {} end
        if not ClassLootViewer_SavedVars.Starred then ClassLootViewer_SavedVars.Starred = {} end
        frame.starredDB = ClassLootViewer_SavedVars.Starred
        -- 兜底：selectedClass 在文件加载时已设为当前职业，这里再确认一次
        if not CLASS_LIST[frame.selectedClass] then
            frame.selectedClass = select(2, UnitClass("player"))
        end
        UpdateDropdownText()
        CLV_Refresh()
    elseif event == "GET_ITEM_INFO_RECEIVED" then
        -- 某物品信息到达，重试其图标 + 更新名字（套装页面需要）
        local itemId = arg1
        for _, icon in ipairs(activeIcons) do
            if icon.itemId == itemId then
                local tex = GetItemIconByID(itemId)
                if tex and icon.needsRetry then
                    icon.tex:SetTexture(tex)
                    icon.needsRetry = nil
                end
                -- 更新 itemData.name（套装图标首次可能用的是 "Item #xxx"）
                if icon.itemData and icon.itemData.bonusId then
                    local name = GetItemInfo(itemId)
                    if name then icon.itemData.name = name end
                end
            end
        end
    elseif event == "BAG_UPDATE"
        or event == "UNIT_INVENTORY_CHANGED"
        or event == "PLAYERBANKSLOTS_CHANGED"
        or event == "BANKFRAME_OPENED"
        or event == "BANKFRAME_CLOSED" then
        ScheduleAcquiredRefresh()
    end
end)
frame:RegisterEvent("ADDON_LOADED")
frame:RegisterEvent("GET_ITEM_INFO_RECEIVED")
frame:RegisterEvent("BAG_UPDATE")
frame:RegisterEvent("UNIT_INVENTORY_CHANGED")
frame:RegisterEvent("PLAYERBANKSLOTS_CHANGED")
frame:RegisterEvent("BANKFRAME_OPENED")
frame:RegisterEvent("BANKFRAME_CLOSED")

---------------------------------------------------------------------
-- 命令注册：/cl 和 /classloot
---------------------------------------------------------------------
SLASH_CLASSLOOTVIEWER1 = "/cl"
SLASH_CLASSLOOTVIEWER2 = "/classloot"
SlashCmdList["CLASSLOOTVIEWER"] = function(msg)
    if frame:IsShown() then
        frame:Hide()
    else
        frame:Show()
    end
end

-- 初始下拉文本
UpdateDropdownText()
