Bridge Events
Bridge Events transform raw WoW API events into achievement-focused signals with structured payloads.
Event Categories
| Category | Events | Purpose |
|---|---|---|
| Dungeon | 5 | Boss kills, clears, mechanics |
| PVP | 7 | Kills, battlegrounds, arenas |
| Professions | 5 | Crafting, gathering, skill-ups |
| Quests | 2 | Quest completion, reputation |
| Items | 4 | Badges, keys, gear |
| World | 4 | Exploration, gold, leveling |
| Special | 1 | Weekly resets |
Registering Event Callbacks
lua
local Private = select(2, ...)
Private.EventBridge:RegisterEvent("DUNGEON_BOSS_KILLED", function(payload)
print("Killed: " .. payload.bossName)
print("Duration: " .. payload.duration .. " seconds")
end)Using Events in Achievements
Events are referenced in the trigger field. Payload values are numbers/enums, but conditions can use functions to evaluate them:
lua
local Enums = Private.Enums
Private.AchievementUtils:RegisterAchievements({
{
id = 1,
name = "Shadow Labs",
description = "Defeat Murmur in Shadow Labyrinth",
points = 5,
category = 1,
icon = 136200,
cadence = Enums.Cadence.AllTime,
trigger = {
event = "DUNGEON_BOSS_KILLED",
conditions = {
bossName = "Murmur",
difficulty = Enums.Difficulty.Normal
}
}
}
})All Events
Dungeon
DUNGEON_BOSS_KILLED— Boss defeatedDUNGEON_CLEARED— All bosses killedDUNGEON_ENCOUNTER_START— Boss pull initiatedDUNGEON_MECHANIC_FAILED— Player failed mechanicINSTANCE_ENTERED— Entered instance
PVP
PVP_KILL— Honorable kill earnedPVP_KILLING_BLOW— Final blow on enemyBATTLEGROUND_MATCH_END— BG match completedARENA_MATCH_END— Arena match completedARENA_RATING_MILESTONE— Rating threshold reachedPVP_OBJECTIVE_CAPTURED— Flag/base capturedPVP_TOKEN_EARNED— PVP token looted
Professions
ITEM_CRAFTED— Item createdRESOURCE_GATHERED— Node harvestedSKILL_UP— Skill level increasedITEM_DISENCHANTED— Item disenchantedFISH_CAUGHT— Fish caught
Quests
QUEST_COMPLETED— Quest turned inREPUTATION_GAINED— Rep increased
Items
BADGE_EARNED— Badge of Justice lootedKEY_OBTAINED— Dungeon key acquiredEPIC_GEAR_EQUIPPED— Epic item equippedLOOT_ROLL_WON— Won a loot roll
World
ZONE_EXPLORED— New zone discoveredGOLD_MILESTONE— Gold threshold reachedLEVEL_UP— Character leveledCREATURE_KILLED— Monster killed
Special
WEEKLY_RESET— Server reset occurred