File Details
v2.3.5
- R
- Feb 11, 2026
- 8.64 MB
- 2.9K
- 2.5.5+1
- Classic + 1
File Name
SharpiesGearJudge-v2.3.5.zip
Supported Versions
- 2.5.5
- 1.15.8
Sharpie's Gear Judge (Era Edition)
v2.3.5 (2026-02-11)
- Refactor item overrides & fix evaluator/tooltip
Rework item override storage and proc handling, centralizing overrides into MSC.ItemOverrides and MSC.TrinketDB via AddOverrides/AddPvPTrinkets and introducing a _AUTO_PROC format (plus notes). Improve evaluator logic: stricter off-hand dual-wield checks by class/level, correct cap/defense delta math, build context messages instead of mutating stats, and change EvaluateUpgrade's return signature to include contextMsg. UI/tooltip updates: register ACTIVE_TALENT_GROUP_CHANGED/PLAYER_TALENT_UPDATE, fix minimap anchoring, include _AUTO_PROC contributions in the score breakdown, and refactor Judge tooltip flow (notes, set warnings, multi-spec checks and projection output) to use the new override/proc structure and evaluation behavior. These changes centralize trinket/proc data, improve accuracy of upgrade math, and produce clearer tooltip context. - Refactor projection data and add update throttling
Update multiple modules to improve tooltip projections, reduce flicker/race conditions, and provide cleaner data for UI.
Changes:- Evaluator.lua: Adjust EvaluateUpgrade return values to include finalized new/old stat tables and totals so callers can render projections and expanded stats reliably.
- Helpers.lua: Replace free-form GEM_TEXT with a structured PROJECTION_DATA table (Gems, Bonus, Stats), build gem/bonus/stat entries in a clean format, and preserve GEMS_PROJECTED/META_ID/COLORS.
- Interface.lua: Add a GET_ITEM_INFO_RECEIVED handler, wipe stale StatCache, and implement a 0.8s throttle (RequestUpdate/TriggerFullUpdate) to batch tooltip updates and avoid rapid reload/flicker.
- Judge.lua: Add CleanText helper and update tooltip rendering to consume the new EvaluateUpgrade outputs and PROJECTION_DATA; sanitize strings, print gems/bonus/stats via structured data, and adjust meta gem/status output formatting. Also update stat expansion to use returned totals.
- CHANGELOG.md: Document refactor, throttling and EvaluateUpgrade return adjustment.
Why: These changes create a stable, well-structured projection payload for tooltips, prevent race/flicker when item info arrives from the server, and ensure projections/meta/gem displays are robust and correctly formatted.
- Tooltip options & parsing
- Optimize performance and add safety fixes
Multiple files updated to improve speed, robustness and memory usage:- Data_Sets.lua: Initialize MSC.ItemSetMap in BuildDatabase and free MSC.SetDefinitions after database build to reduce memory.
- Dynamic_Engine.lua: Use addonName var, expose _G.MSC, and localize frequently used globals (API functions) for performance; cleaned comments and ensured existing dynamic/spec logic remains intact.
- Evaluator.lua: Localized common functions and WoW APIs, added string_find/local format aliases, fixed string usage in spec detection and formatting to avoid nil/crash paths.
- Helpers.lua: Large localization of Lua/WoW APIs (string/table/math functions), safe handling when MSC.Scanner is nil, switched string.match/call sites to localized string_match, replaced table.insert/math.* calls with localized variants, and other safety/consistency fixes (GetContainer wrapper, gem/enchant parsing, stat name cleaning).
- Interface.lua: Localized APIs and helpers, replaced global calls with locals, optimized bag scanning to only run when MSC.BagCacheDirty, adjusted UI text/format calls to use localized string_format, and multiple small UI/ring rendering fixes.
Overall this changeset focuses on micro-optimizations (localizing functions), defensive checks to prevent crashes when subsystems are missing, and minor logic/formatting fixes. No functional algorithm changes beyond safety/efficiency improvements.

