-
Notifications
You must be signed in to change notification settings - Fork 8
How It Integrates
This module extends the mod-playerbots AI engine without editing a single playerbots file. It subclasses playerbots' strategy/action/trigger/value classes and links against them, so it requires a stock, unmodified mod-playerbots checkout.
mod-playerbots exposes no extension API, so the module reaches in two ways:
-
Context registration. It appends its four
DungeonClear*Contextfactories into the engine's shared context registries on the first world tick (seesrc/AiObjectContextAccess.handsrc/DungeonClearModule.cpp). The contexts are private statics in playerbots, reached via a private-access template. -
Command + strategy. It registers a
.dcCommandScriptand a login hook that applies the consolidateddungeon clearstrategy to bots present at login. The only path that reaches a self-bot created mid-session is the playerbots config (NonCombatStrategies = "+dungeon clear").
Coupling to playerbots' internal class shape instead of a stable API means an upstream rename of those registries surfaces as a compile error here, never a silent runtime failure — you find out at build time, not mid-clear.
Contexts register on the first world tick. Bots that already existed before the
module loaded need a reload before the dungeon clear chat strategy sticks; a
"DPS-only" symptom is usually a stale engine, not a class gate.