Nemesis is a custom gameplay module for World of Warcraft 3.3.5a built on top of AzerothCore that was sort of just a silly experiment that ended up turning into something pretty cool. The idea was simple: revenge meets roguelike meets WoW. When a regular creature kills you out in the world, it has a chance of being promoted into a persistent, named elite. That creature sticks around, levels up every time it kills another player, ages over time, picks up traits based on the circumstances of its kill, and eventually shows up on a server-wide bounty board in the capital cities.
The traits are what make each one feel different. An Ambusher that caught you alone plays differently than an Ironbreaker that tanked through your burst, and the loot they drop is shaped by their history. There are 21 origin traits assigned based on how the kill went down, 13 earned traits that accumulate from later experiences, and over 300 affix combinations on the loot side, so the rewards feel personal to the creature that earned them. Item names end up looking like “Executioner’s Scarlet Boots of Dominion” rather than the usual generic drops. On top of that, a server-wide Umbral Moon event periodically cranks promotion rates and mobs’ stats up across the world and forces nighttime client-side, and a vengeance title track rewards players for hunting down the specific nemeses born from their own deaths.
The whole thing is built around the idea that dying in the open world should be more than just a death. The creatures level and experience the game along with the players, and become a real threat.
The whole thing is a mix of C++ server modules, a Lua client addon for the bounty board UI, a C# .NET MAUI launcher, and a PowerShell-driven DBC tooling pipeline.
SMSG_LOGIN_SETTIMESPEED packets to manipulate the client clock without touching the actual server time.@@NBB@@, which keeps the addon working without requiring custom opcodes.ApplyStatPctModifier and the difference between AddAura and CastSpell when applying periodic effects.Languages broke down to roughly 70% C++, 13% C#, 8% PowerShell, and 6% Lua.