AzerothCore 3.3.5a module — custom NPCs for a private server.
Portal Service NPC stationed in Orgrimmar bank.
- Gossip menu with portals to Thunder Bluff, Undercity, and Silvermoon (10 g each).
- Gossip/teleport logic handled in C++ (
npc_nubmage); OOC advertising & trash-talk yells via SmartAI. creature_textgroups: ads (0), trash talk (1), no-gold (2), success (3).
Wintergrasp Champion — Alliance ret-paladin elite patrolling Blackrock Mountain.
- 12-point waypoint loop with two pocket healers in formation.
- Combat AI: Seal of Command, Judgement, Consecration, Hammer of Justice, Divine Shield at 20 %.
- Healers cast Power Word: Shield and Flash Heal on friendly targets.
- Periodically yells "Daish! Daish! Daish!" while patrolling.
- AzerothCore latest
masterbranch
- Clone into your AzerothCore
modulesdirectory:
cd <azerothcore-root>/modules
git clone https://github.com/<your-user>/mod-customNPCs.git-
Re-run CMake and rebuild the worldserver.
-
Copy
conf/mod_customnpcs.conf.distnext to yourworldserver.confand rename tomod_customnpcs.conf. -
For a fresh install, apply the SQL files in
data/sql/db-world/base/to your world database:
mysql -u<user> -p acore_world < data/sql/db-world/base/nubmage.sql
mysql -u<user> -p acore_world < data/sql/db-world/base/daish.sql
mysql -u<user> -p acore_world < data/sql/db-world/base/kappa.sql- Rebuild and restart the worldserver.
For an existing world database, incremental changes should go in
data/sql/db-world/updates/. AzerothCore's DB updater will apply those
automatically on startup when the module is present in the source tree.
| Setting | Default | Description |
|---|---|---|
ModCustomNPCs.Enable |
1 |
Master toggle — disables all module NPC scripts |
ModCustomNPCs.Announce |
1 |
Show module-loaded message on player login |
ModCustomNPCs.Nubmage.PortalPriceGold |
10 |
Portal price in gold (SQL BoxMoney must match) |
mod-customNPCs/
├── CMakeLists.txt
├── conf/
│ └── mod_customnpcs.conf.dist
├── data/sql/db-world/base/
│ ├── nubmage.sql ← Nubmage template, spawn, gossip, texts, SmartAI
│ ├── daish.sql ← Daish + healers: templates, spawns, formations,
│ waypoints, texts, SmartAI combat
│ └── kappa.sql ← Kappa template, spawn, display, gossip text
├── data/sql/db-world/updates/
│ └── 2026_03_11_00_kappa.sql ← Auto-applied world update for Kappa
├── src/
│ ├── mod_customnpcs_pch.h
│ ├── mod_customnpcs_loader.cpp ← Script registration
│ ├── mod_customnpcs_world.cpp ← WorldScript + PlayerScript (config, announce)
│ └── npc_nubmage.cpp ← Nubmage gossip / teleport (C++)
├── README.md
└── LICENSE
- Create a new
.cppinsrc/with yourCreatureScript. - Add a registration function (e.g.
void AddMyNpcScripts();) and call it frommod_customnpcs_loader.cpp. - Add matching SQL in
data/sql/db-world/base/for fresh installs. - Add a timestamped SQL update in
data/sql/db-world/updates/for existing databases.
GNU AGPL v3 — see LICENSE.