That is a perfectly acceptable approach, and will work. However, it has some technical issues (then again, so does the approach Hermes takes).
1. There are a LOT of items in the game where the cooldown changes based on spec, glyphs, other procs, etc. For example, Guardian Spirit used to act such that if it triggered the cooldown would be 3 minutes, otherwise 1. This causes any addon that monitors the spell to create custom code to handle specifically that spell. The approach Hermes takes requires no custom coding. Which means it's more resilient over time such as when new patches are released.
2. In order to know who a spell is cast on, you have to track the casters target and/or utilize the combat log.
3. The more complicated scenarios require monitoring what's known as the COMBAT_EVENT_LOG. This is the biggest performance sync in all of wow. Many addons utilize the combat log. If your computer is old, it's a noticeable impact on frame rate.
Not sure if you've ever looked at the CPU usage of Hermes, but it's extremely light compared to similar addons. And it's because I don't monitor combat log events, or UNIT_AURA events. In a raid environment, these events are sent hundreds to thousands of times per minute.
Again, the approach you're talking about will work, and it's easy for spells that are conisidered "static" in that their cooldowns are always the same no matter what. But when making a general addon for all classes and spells it can get complex quickly.
Connect With Us