promotional bannermobile promotional banner

NPLevels

Shows the unit level on Blizzard's default Classic Era nameplates. Configurable anchor position and offset via in-game settings.
Back to Files

v1.1.2-classic

File nameNameplateLevels-v1.1.2-classic.zip
Uploader
karakTakakarakTaka
Uploaded
Aug 27, 2026
Downloads
14
Size
9.9 KB
Flavors
Classic
File ID
8750054
Type
R
Release
Supported game versions
  • 1.15.9

What's new

NameplateLevels

v1.1.2 (2026-08-27)

  • fix: parent nameplate widgets into the nameplate's own anchor family
    Nameplates are a documented anchor restricted region (Object security,
    Patch 8.2.0): a frame parented to UIParent that SetPoints against any
    nameplate-tree frame bridges two distinct anchor families, which broke
    Blizzard's own NamePlateAuras layout with 'Can't measure restricted
    regions' on GetScaledRect, regardless of which specific nameplate frame
    was used as the anchor target.
    levelText/powerBar are now created directly on
    unitFrame.HealthBarsContainer.healthBar (as fields on it, lazily created)
    instead of on a frame we own parented to UIParent, so SetPoint never leaves
    the nameplate's own anchor family. Guarded by unitFrame:IsForbidden(), which
    is the actual thing that needs checking for a given nameplate (friendly
    nameplates in PvE instances are forbidden; enemy nameplates generally
    aren't) - not whether we read/write/parent onto it, which turns out to be
    fine for a non-forbidden nameplate.
    Since Blizzard recycles UnitFrame instances across nameplate slots, widget
    references are read back from fields on the current healthBar each time
    rather than cached externally by unit token. Only the per-slot power-event
    listener frame is still cached by unit token, since it never touches a
    nameplate frame itself.
    Widgets now inherit unitFrame's Show/Hide automatically (no more explicit
    NAME_PLATE_UNIT_REMOVED handling needed), so that path is dropped.
    Co-Authored-By: Agent 47 silent@assassin.ioi
  • docs: add GitLab status badges
    Co-Authored-By: GLaDOS cake@aperture.science
  • ci: add semantic-release component to publish releases
    Adds shared-ci's release@main component, enabling manual-trigger (Run
    pipeline in the UI) automated releases via semantic-release. This project
    had no shared-ci include at all yet - its own release job (CurseForge
    packaging) is unaffected: different job name (release vs semantic-release),
    and a tag pushed by semantic-release triggers it same as any other tag.
    Co-Authored-By: Spock live@long.prosper

This mod has no additional files