florian.berthold b6d42dfe5d Add OmenSync: addon-channel fallback for Vol'jin party threat
The CoA Vol'jin core does not push UnitDetailedThreatSituation data
for party-member units, so vanilla Omen draws only the local
player's bar in 5-mans. The same install on Bronzebeard/classic+
shows the whole party because that core does push the data. The gap
is server-side, not client-side, and there is no Omen flag that
fixes it.

OmenSync layers a tiny SendAddonMessage("OMSYNC", …, "PARTY"|"RAID")
relay on top:
- Each player's Omen broadcasts its own player+pet threat values
  (throttled, ~0.4s + 5% delta) every time updatethreat() succeeds
  via the API path.
- Receivers store incoming values keyed by senderGUID/mobGUID and
  serve them as a fallback in updatethreat() whenever
  UnitDetailedThreatSituation returns nil.

When the API does push data (Bronzebeard) the existing path still
wins; sync values are simply unused, so this is a no-op on healthy
realms. Both peers must run a fork that emits the OMSYNC prefix.

Wire format keeps each message under the 255-byte AddonMessage cap:
    <subjectGUID>|<mobGUID>|<threatValue>|<isTanking 0|1>
Sender's name comes from CHAT_MSG_ADDON's sender arg. Subject GUID
distinguishes the player and pet broadcasts each Omen instance
emits.

Hook in Omen.lua's local updatethreat():
- After UnitDetailedThreatSituation returns nil for any unit, try
  Omen:SyncGetThreat(guid, mobGUID).
- After it returns a value for "player" or "pet", call
  Omen:SyncBroadcastThreat to relay it to peers.
2026-05-08 23:40:17 +02:00
2008-10-28 23:53:10 +08:00
2008-10-01 21:30:47 +08:00
2008-10-01 21:30:47 +08:00

Omen

Omen is a threat meter.

Basically, enemies in WoW decide who to attack by deciding who is the most threatening based on the abilities you use. What Omen does is provide accurate values of your group's relative threat level on individual enemies, so that you can see when you're in danger of pulling aggro (or, if you're next on the snack list if your tank bites it). This info is usually only critical in raids, where only tanks can survive aggro, but it's useful for any multi-player situation.

S
Description
CoA-patched fork of Omen 3.0.9 — adds custom class colors for Ascension CoA classes
Readme 940 KiB
3.0.9-coa.2 Latest
2026-05-29 18:23:33 +00:00
Languages
Lua 99.7%
Shell 0.3%