| Metric | Count |
|---|---|
| Quests | 48,257 |
| Quest objectives | 61,101 |
| Quest starters / enders (NPC) | 27,695 / 34,525 |
| Creature templates / spawns | 227,684 / 730,180 |
| GameObject templates / spawns | 89,967 / 197,732 |
| Maps with spawns | 517 |
| Loot rows | 3,084,867 |
| Vendor rows | 172,414 |
.bot — creature-based companions (Phase 1/2)..pbot — fake-player bots with persistence and combat rotations (Phase 3).Player bots live in the world with their own decision ladder:
six intents scored every 30 s, combat rotations with retreat, questing by
kill objectives and by item objectives resolved through loot tables,
destinations from spawn data when a quest carries no map marker, cross-map
reward delivery, looting, mining and herbalism, professions with the tool a
recipe needs bought at the vendor, level-appropriate gear replaced as the bot
levels, town errands (junk, per-slot repair, auction, forge), mounts, zone
migration, and progress that survives restarts. Sources and limits:
bots/README.md.These are engine/data ceilings, not silent breakage:
boss_*.cpp in
TrinityCore. We bind 5 of them to their instance script for lockout +
journal + boss-state tracking, but the bosses stay on default AI. Full
mechanics require C++ authoring (upstream ceiling).The world DB is maximized to the public-data ceiling — the richest publicly available master data set for this build. Where a gap exists because no public data exists, it is documented rather than faked. The fixes in this repo are the surgical, reversible closures we could make on top of that base.