promotional bannermobile promotional banner

All Played

AllPlayed tracks your World of Warcraft characters’ played time, rested XP, and gold across all realms. View a summary tooltip, sort by class or realm, and easily manage your alts. Supports multiple languages and integrates with popular UI libraries.

File Details

AllPlayed_24-02-26.zip

  • R
  • Feb 24, 2026
  • 255.49 KB
  • 1.2K
  • 12.0.1+4
  • Retail + 3

File Name

AllPlayed_24-02-26.zip

Supported Versions

  • 12.0.1
  • 12.0.0
  • 5.5.3
  • 2.5.5
  • 1.15.8

Changes Summary

I made a stability and maintenance pass focused on safe, low-risk improvements without changing the addon’s intended behavior.

Core stability fixes

  • Fixed TOC revision parsing fallback pattern in AllPlayed.lua.
  • Replaced outdated timer shutdown logic in OnDisable:
    • from legacy event cancellation
    • to proper AceTimer cancellation (CancelTimer(self.timer, true)).
  • Added a nil-safe guild assignment:
    • pc.guild = GetGuildInfo("player") or ""
    • to avoid edge-case runtime issues.

Config/UI compatibility cleanup

  • Updated slash command config opening flow to prefer the addon’s own config opener with fallback logic.
  • Improved settings panel opening check in Config.lua to avoid calling a method inside a conditional check.
  • Removed unused/dead config artifacts (duplicate declarations and unused variables/frame).
  • Removed a dead internal state flag (sort_dirty) and kept sort invalidation via sort_tables_done = false.

Data/sorting hardening

  • Hardened % rested XP sorting functions against invalid or legacy character records.
  • Added safe fallback handling when max_rested_xp is missing or zero.
  • Cleaned duplicated overwritten entries in XP cache initialization (levels 74–79) while preserving final effective values.

Localization cleanup (safe)

  • Added corrected English wording keys in enUS while keeping backward compatibility.
  • Fixed wording in delete warning text (“permanently”, etc.).
  • Adjusted localization aliases to avoid risky runtime key-to-key assignment patterns.