Use C_FriendList.GetFriendInfoByIndex and GetWhoInfo in the social
lists, the friends panel tooltip, and the unit scan. Both return the
class token directly (classFilename / filename), so the localized class
name no longer needs a reversal through L["class"]. Color friend names
with the class ColorMixin's WrapTextInColorCode.
GetUnitInfo() probed the players table first, so an NPC sharing a name
with a known player (e.g. Chromie) inherited the player's class, level,
and guild. Adds an isPlayer hint to GetUnitInfo and resolves each
plate's actual unit type from its cached GUID via UnitIsPlayer before
the lookup. The plate's cache.player gates further work.
Bugfixes:
- Fixed targeting high-level players overwriting known level with -1
- Chat now shows "??" instead of -1 for unknown levels
- Nameplates now use stored level from database after reload
- Nameplate level color now uses difficulty color when loaded from DB
Config Changes:
- Chat player level display now disabled by default