1.6.0-MIDNIGHT
What's new
NexEnhance — Changelog
[1.6.0] — 2026-07-09
Added
- Settings — Cursor: new sidebar group for mouse extras (Ring + Trail).
- Cursor — Cursor Ring: optional class-coloured GCD (and cast) cooldown
ring under the cursor — Midnight-safe DurationObjects, off by default; custom
soft donut art (
Media/Cursor/CursorRing.tga) for chrome + swipe. - Cursor — Cursor Trail: optional soft glow trail that follows the mouse —
pooled ADD-blend dots, sleeps when idle, hides on mouselook/cinematics; class /
custom / rainbow colour; off by default (
Media/Cursor/CursorTrailDot.tga). - Nameplates — Target Resource: optional class resource (combo points, holy power, runes, shards, …) under the current target's nameplate — reparents Blizzard's mechanic bar (no custom UnitPower math); off by default.
- Automation — Best Quest Reward: gold coin on the highest vendor-value reward choice (visual only; Quick Quest still auto-picks when enabled).
- Announcements — Pull Countdown:
/pc [seconds](alias/jenkins) posts a group chat pull timer; second/pcaborts. Default 10s; requires group, out of combat. - Chat — Emojis: optional autocomplete when typing
:in chat — pick NexEnhance:name:emojis from Blizzard's native dropdown (Tab / Enter / click). Toggle under Chat Emojis settings; uses the same texture set as inline chat emojis. - Chat — Emojis: class icon set (
:dk:,:dh:,:mage:, …) for all 13 classes. - Chat — Emojis: revamp to Unicode-style
Media/Emojisassets — Slack:shortcode:names, classic ASCII emoticons (:),:-D,<3, …), and class aliases aligned with the new texture set. - Unit Frames — Unit Frame Text: optional White Name and Level for HUD frames (player, target, focus, boss, pet, ToT, standard party portraits; compact raid/party unchanged).
Fixed
- Skins — Missing Stats: scroll clamp no longer reads
GetVerticalScrollRange(SecretReturnsForAspect(ScrollRange)— PaperDoll contamination marks the aspect). Range is computed from ourSetSizeheights;GetTop/GetBottomfall back to the last plain content height when anchoring-secret. - Automation — Quick Join: removed addon auto-invite of LFG applicants —
C_LFGList.InviteApplicantis protected; programmaticInviteButton:Click()still runs tainted and causedADDON_ACTION_BLOCKED. Use Blizzard's listing Auto-accept whenCanActiveEntryUseAutoAcceptshows it. - Cursor — Cursor Trail: slow mouse moves now leave a trail — spacing accumulates from the last emitted dot instead of resetting every frame.
- Cursor — Cursor Trail: no streak across mouselook/combat-only gaps; paint loop sleeps while suppressed; live Offset X/Y re-anchors without wiping the trail.
- Cursor — Cursor Ring: secret-safe
IsZerochecks; refresh GCD/cast when enabled mid-cooldown; enable lifecycle no longer double-fires OnEnable/OnDisable. - Nameplates — Target Resource: clearing target restores Blizzard's personal-plate class bar (no longer orphaned on the previous nameplate).
- Miscellaneous — Exp / Rep Bar: XP/honor/azerite use plain math — Resources
12.0.7 does not mark those APIs
SecretReturns(removed speculative secret path). - Miscellaneous — Loot Roll: plain timer/quality handling; prefer
C_Loot.GetLootRollDurationwhen available. - Chat:
OnDisabletears down whisper sound/invite listeners andUIScaleApplied; sticky whisper restored; secure hooks gated withIsEnabled(). - Secrets (docs pass 2): pruned speculative
IsSecret/NotSecreton APIs that are onlySecretArgumentsor untagged in Resources 12.0.7 (nav distance, action usability/range, item/money/merchant/quest objectives, levels/classFilename, gossip names, mail/durability, map coords, UIWidget timers, housing counts, …). Kept identity (UnitName/UnitGUID/UnitCreatureType), threat, raid markers, chat/LFG lockdown, auras, spell cooldowns, cast secrets. Truth tables:wow-midnight-secret-values-guide.mdc. - DataText — Currency & Gold / Friends / Guild: drop speculative
IsSecretonGetMoney, currencies, and roster fields (docs-untagged); keep chat-payload guards. - Automation — Auto Vendor / Warband Gold / Auto Greed: prune money/repair/quality secret folklore; normal comparisons.
- Announcements — Level Announcer:
UnitLevel/ level-up payload are not secret-tagged. - Inventory — Delete Cheapest: plain stack × sellPrice math.
- Unit Frames — Player Cast Bar: secret-safe
IsShown/ShouldShowCastBarchecks. - Action Bars: clear mouseover fade
OnUpdate+activeFadeson disable. - Maps — Minimap:
OnDisabletears down pulse/clicker/bin events and SettingChanged callbacks; cluster footprint hooks gate onIsEnabled(). - Maps — World Map:
OnDisablestops coords/fade OnUpdate; Maximize/fade hooks gate on module enable. - Miscellaneous — AFK Camera:
OnDisableunregisters frame events and model OnUpdate; re-enable rebinds cleanly. - Tooltip: core + ID/icons/mount/reagents/ilvl hooks gate on
Tooltip:IsEnabled(). - Tooltip — IDs: nameplate aura "From:" no longer calls
GetUnitName(sourceUnit, true)whenAuraData.sourceUnitis a secret token (that path hitsUnitRealmRelationship, which isSecretArguments = AllowedWhenUntainted). Skip when the token is secret; otherwise useUnitNameonly. - Tooltip:
ResolveTipIdentitynever keeps a secretGetUnit()token (sameUnitRealmRelationshipfootgun on unit tips); falls through to clean raid/party /UnitTokenFromGUIDtokens. - Skins — Missing Stats: hook handlers +
PLAYER_REGEN_ENABLEDgate/teardown on disable. - Core — Settings: modules no longer double-call
OnEnable/OnDisablefromOnSettingChanged("enable")(ApplyModuleSettingalready owns lifecycle) — automation, DataText, unit frames, nameplates, action bars, inventory, misc. - Maps — Map Reveal / Wowhead Links:
OnDisablehides reveal tiles / link boxes live; enable lifecycle no longer double-fires Setup. - Automation — Auto Hide Tracker: re-enable re-registers the secure state driver (Setup is one-shot; UpdateDriver must run again after disable).
- Core — Commands:
/nex toggleusesApplyModuleSetting(runs OnEnable/OnDisable). - Core — Settings: fractional sliders no longer show float noise (
0.45000001788139→0.45) — label formatter inferred from step size. - Core — Settings:
/nex config, Escape-menu NexEnhance, and keybinds no longer callOpenSettingsPanelin combat (ADDON_ACTION_BLOCKED) — opens after combat ends. - Core — Commands:
/nex version(aliases/nex ver,/nex build) prints addon version, TOC Interface, client patch, build, build date, tocversion, locale, project. - Core — Chat prefix:
F.Printuses blue Nex + gold Enhance (matches TOC title); login line isLoaded. /nex v1.6.0instead of a full brand-blue sentence. - Minimap — Collect Buttons: stop sweeping HandyNotes map pins into the tray
(Midnight uses
HandyNotes_MidnightPinNN; the old pattern only matched dotted names). Already-collected pins are released on the next scan;/reloadrestores any pin art the tray already reskinned. - Miscellaneous — AFK Camera: use
SetUIVisibility(Alt+Z path) instead ofUIParent:Hide()so PlayerFrame health text is not updated with secret values. - Automation — Auction Search History: close the recent-search dropdown when the
Auction House (or its search bar) hides — it was parented to
UIParentand could stay on screen after closing the AH. - Action Bars — Equipped Item Border: stop the green equipped glow sticking after
gear swaps — read Blizzard's border visibility from the secure
Update()pass instead of callingIsEquippedActionfrom tainted code (secret boolean), and refresh onPLAYER_EQUIPMENT_CHANGED. - Unit Frames — Unit Frame Text: with White Name and Level on, Level Colours now swaps the default yellow difficulty band to white instead of disabling tinting.
- Chat — Emojis: nose emoticons (
:-),:-D, …) were never replaced — a bad:%filter inBuildReplacementListskipped them; removed. - Chat — Emojis: fix severe chat lag — emoticon scan no longer runs on every
line with a colon (timestamps,
Player: message); broken:*/=*patterns caused catastrophic regex backtracking; literals are escaped at build time with plain-text prechecks beforegsub. - Chat — Emojis: autocomplete dropdown rows were 14px tall with 16px icons — taller rows, smaller aligned icons, and lighter token text so suggestions are readable instead of smooshed.
- Chat — Emojis: autocomplete source now follows Blizzard's
AutoComplete_Update(text, cursor)contract (shortcode parsed from text before cursor); respectsdisallowAutoCompleteduring backspace. - Tooltip — Item Level: clear inspect unit/GUID when the tooltip hides so
delayed
NotifyInspect/UNIT_INVENTORY_CHANGEDcannot keep polling after hover. - Tooltip — Hover Tips: gate chat hyperlink handlers on module enable +
hoverTips(SetScript cannot be uninstalled). - Action Bars: hotkey abbreviation hook gates on
IsEnabled(). - Chat — Emojis: bubble worker only registers events while bubbles are on;
autocomplete layout hook skips when the module is off; cursor uses byte index
with
strsub(no UTF-8/byte mix). - Unit Frames — Player Cast Bar: clear driver
OnUpdateon deactivate; reattach on wake. - Announcements — Rare Alert: left-click target failed when Cast On Key Down
was on — secure overlay only listened for mouse-up while the CVar requires
mouse-down. Now forces
useOnKeyDown=falseand registers AnyUp+AnyDown (RareScanner / Plumber pattern); drop the PreClick CVar flip.
All Relations
- All Relations
- Embedded Library
- Optional Dependency
- Required Dependency
- Tool
- Incompatible
- Include
This mod has no related projects

