Removed a small number of localizations that can be extracted via GetFactionInfoByID(id).
There are more that could be cleaned up using regex, but that might make things look a bit odd, for now, I’m happy with this.
This approach is preferable to remove unnecessary variables saved.
GetFactionInfoByID(id) now provides localized faction names directly from the client, making external localization or libraries like LibBabble-Faction unnecessary.
This is the first implementation that i ever saw to fully eliminate LibBabble-Faction dependency, simplifying the codebase by a ton.
It seems that Creature Type and Familys are saved also inside that function, making this function really powerful, im going to take a look at that too for sure.
Race Localisation we also take already out of this function.
Discovered and integrated the previously undocumented GetFactionInfoByID API call, allowing removal of a workaround table that was no longer needed. Also verified faction localizations across common client faction.dbc files and cleaned up Cataclysm factions that were incorrectly included in the 3.3.5a version of the LibBabble library.
This change reintroduces FRAME_UPDATE for units not in multiUnitUnits (e.g., player, target) to ensure smooth power updates, similar to UNIT_POWER_FREQUENT in retail. The new logic tho avoids registering other unit events when FRAME_UPDATE is used, improving performance and preventing multiple updates per frame, than before.