promotional bannermobile promotional banner

ZinaGearCompare

Gear quality comparison between players using Pawn stat weights

File Details

v2.1.0

  • R
  • Mar 13, 2026
  • 21.70 KB
  • 21
  • 12.0.1+1
  • Retail

File Name

ZinaGearCompare-v2.1.0.zip

Supported Versions

  • 12.0.1
  • 11.0.5

ZinaGearCompare

v2.1.0 (2026-03-13)

Full Changelog

  • fix: exclude tools/ from CurseForge package via .pkgmeta
  • docs: v2.1.0 — actualizar README/CHANGELOG + tools/README
    • README: eliminar referencia a Pawn, actualizar fórmula SkillParity (^1.2),
      añadir sección de stat weights con enlace a tools/README
    • CHANGELOG: añadir entradas de v2.1.0 y v2.0.1
    • tools/README: flujo completo de actualización de pesos con SimC,
      tabla de specs cubiertas y nota sobre DH DungeonSlice
    • toc: bump version 2.0.1 → 2.1.0
      Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com
  • feat: stat weights reales via SimC MID1 + tooling de actualización
    • ZinaStatWeights.lua: 20 specs actualizadas con datos reales de
      SimulationCraft (perfiles MID1, 10000 iter, Patchwerk + DungeonSlice).
      20 specs sin perfil MID1 mantienen estimaciones previas.
    • tools/run_simc_all.bat: corre SimC en todos los perfiles base de MID1
      para ambos fight styles y genera JSONs en tools/simc_output/
    • tools/simc_to_lua.py: normaliza scale factors SimC (primary=1.0) y
      regenera ZinaStatWeights.lua completo con specs SimC + estimadas
      Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com
  • refactor: SkillParity exp 1.2 + condensar output /zgc compare (3-4 líneas)
    • Exponente de ZGC_SkillParity 2.0 → 1.2 (gearRatio=1.2 da 85.1% vs 69.4% anterior, más realista)
    • Output /zgc compare reducido de 7 líneas a 3-4: score+spec en línea 1, gear diff+parity en línea 2, Details! ratio en línea 3
    • Prefijo ZinaGearCompare → [ZGC] en el bloque compare
      Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com
  • fix: taint en INSPECT_READY + stat weights verificados (Midnight 12.0.1)
    • Elimina comparación de guid tainted en INSPECT_READY (bug 12.0+):
      introduce pendingInspectUnit para trackear la unit pasada a
      NotifyInspect(), eliminando los 3 lugares donde se comparaba el
      guid tainted del evento con UnitGUID() (clean).
    • Actualiza ZinaStatWeights.lua con órdenes de prioridad verificados
      contra guías de Wowhead para Midnight 12.0.1 (~2026-02-26).
      27+ specs tenían el orden incorrecto (e.g. Arcane Mastery era el
      stat más bajo cuando es el #1; Holy Priest tenía Haste #1 cuando
      es el último). Magnitudes son estimaciones basadas en énfasis de
      las guías; pendiente afinar split dungeon/raid con datos SimC reales.
      Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com
  • feat: v2.0.1 — sistema de scoring independiente de Pawn (M+/Raid + Tier Set)
    Motor de scoring propio, sin dependencia de Pawn ni de ningún addon externo.
    Funciona en WoW Midnight 12.x (interface 120001).
    Nuevos archivos:
    • ZinaStatWeights.lua: pesos de stats para los 39 specs (specID global), con
      tablas separadas para dungeon (M+) y raid, y multiplicadores de tier set
      (tierBonus2pc/4pc). Cubre DPS, Tank y Healer.
    • ZinaTierSets.lua: item IDs de los tier sets de Midnight S1 (The Voidspire),
      funciones ZGC_CountTierPieces() y ZGC_GetTierMultiplier().
    • ZinaContentDetector.lua: auto-detección de tipo de contenido (M+ vs Raid)
      via C_ChallengeMode, IsInInstance(), IsInRaid(). Override manual via
      ZinaGearCompareDB.contentOverride y /zgc mode auto|dungeon|raid.
      Scoring.lua — reescritura completa:
    • Usa C_Item.GetItemStats() (reemplaza global GetItemStats eliminado en 11.0.2).
    • Scan tooltip oculto (GameTooltipTemplate) para forzar cacheo de items de
      jugadores inspeccionados antes de llamar a C_Item.GetItemStats.
    • Fallback cross-class: si la primary stat esperada no aparece en el resultado
      (WoW devuelve la primary del viewer en vez de la del inspeccionado), acepta
      cualquier primary stat presente — el presupuesto es igual para STR/AGI/INT
      al mismo ilvl.
    • ZGC_ScoreItem(itemLink, weights, primaryStatToken) soporta ambos casos.
    • ZGC_GetWeightedScore(unit, specID, contentType) aplica tier multiplier.
      InspectUI.lua — panel renovado:
    • Eliminado el selector de scales de Pawn (</> dropdown).
    • Muestra spec + [Auto: M+]/[Raid] + tier info (2pc/4pc con %).
    • Botón click-to-cycle para override de content type (auto→M+→Raid→auto).
      ZinaGearCompare.lua — orquestador actualizado:
    • Eliminadas todas las referencias a Pawn (PawnGetSingleValueFromItem, etc.).
    • GetPlayerScore() usa ZGC_GetSpecIDForUnit + ZGC_GetContentType.
    • Tooltip de mouseover muestra nombre de spec en vez de nombre de scale.
    • /zgc mode auto|dungeon|raid — override de content type.
    • /zgc debug — diagnóstico completo: content type, specID, tier, score, API.
    • Evento PLAYER_SPECIALIZATION_CHANGED para actualizar PaperDoll al cambiar spec.
    • DB_DEFAULTS v2 con contentOverride = nil.
      ZinaGearCompare.toc:
    • Eliminado OptionalDeps: Pawn.
    • Nuevo orden de archivos: StatWeights → TierSets → ContentDetector →
      Scoring → InspectUI → ZinaGearCompare.
    • Versión 2.0.1.
      Eliminado: ZinaScales.lua (era el bridge de Pawn, ya no necesario).
      Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com