RCDiabloOrbs_1.15.zip
What's new
Here's everything that changed and why:
TOC files (new) — The game loads the most specific TOC it recognizes. Same Lua files in all of them, zero code duplication:
RCDiabloOrbs_TBC.toc— Interface 20504 (TBC Anniversary)RCDiabloOrbs_Wrath.toc— Interface 30403RCDiabloOrbs_Cata.toc— Interface 40400RCDiabloOrbs.toc— Interface 50401 (MoP Classic, unchanged)RCDiabloOrbs_Mainline.toc— Interface 110107 (retail)
Left-click fix for TBC — The health/mana orbs were at SetFrameStrata("LOW"). The default Blizzard PlayerFrame in TBC sits at MEDIUM in the exact same bottom-left corner, eating all the clicks before they reach the orb. On TBC/Wrath the orbs now use MEDIUM strata. MoP is unchanged at LOW since most MoP users hide the default frame anyway.
Right-click fix for TBC/Wrath/Cata — SetAttribute("type2", "togglemenu") on a SecureActionButton is unreliable pre-MoP. Both the player orb and pet orb now use a plain OnMouseUp script for those versions instead, falling back to togglemenu on MoP where it works.
C_Timer.After polyfill — This API doesn't exist in TBC/Wrath/Cata. Added a simple OnUpdate-based polyfill so the welcome popup on first login still works.
GetComboPoints for MoP — Removed in MoP, replaced by UnitPower("player", 4). Both combo point tracking calls now branch on RC32_IS_MOP_OR_LATER.
RegisterUnitWatch guard — Only exists Wrath+. Wrapped with a nil check, and added PLAYER_LOGIN/PLAYER_ENTERING_WORLD event handling to manually show/hide the pet orb on TBC.
CreateGlow pcall — The PlayerModel + .m2 path combination can throw errors on versions where the model path is missing. Wrapped in pcall so it fails silently instead of breaking the addon.
This mod has no additional files