Paragon: ship class-12 weapon/armor proficiencies as SQL migration

Companion to 2026_05_10_00.sql. The spawn-data migration teaches the
worldserver where Paragon characters spawn and what per-level base
stats they have; this one teaches it which weapon/armor skill lines
to grant at first character login.

Without these rows a fresh Paragon character lands in their newbie
zone with no weapon or armor proficiencies (auto-attack greys out
on anything beyond a fist) -- the universal classMask=0 rows in
playercreateinfo_skills only cover Defense, Unarmed, Cloth,
languages, Mounts, and Companion Pets.

Adds 20 rows in playercreateinfo_skills with classMask=2048 (class
12 only) for every weapon and armor proficiency:
  - Weapons: Swords, Axes, Bows, Guns, Maces, 2H Swords, Dual Wield,
             Staves, 2H Maces, 2H Axes, Daggers, Thrown, Crossbows,
             Wands, Polearms, Fist Weapons.
  - Armor:   Plate Mail, Mail, Leather, Shield. (Cloth already
             granted via the classMask=0 universal row.)

Idempotent: DELETE WHERE classMask=2048 then INSERT, so it replays
cleanly on a partially-seeded DB (e.g. one where a contributor hand-
patched these rows before the migration landed).

Verified locally: applies cleanly twice in a row, worldserver restart
now logs `>> Loaded 1391 Player Create Skills` (was 1371 pre-Paragon
= +20 class-12 rows) and a freshly-rolled Draenei Paragon spawns with
the full weapon/armor kit.

CLIENT-PATCHES.md troubleshooting block updated to call out the
"Paragon spawns naked / can't equip anything" failure mode and list
all three migrations in the current rebuild recipe.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Docker Build
2026-05-09 13:38:27 -04:00
parent 56fa2fc7f7
commit 2874119c6d
2 changed files with 64 additions and 5 deletions
+14 -5
View File
@@ -54,8 +54,10 @@ the same release tag and rebuild the worldserver image.
If the **client** shows the Paragon class on the create screen but the
server replies **Character Creation Failed** (sometimes shown as
"Error creating character") when you pick it: the worldserver is
missing one of two pieces of class-12 spawn data. Both ship as SQL
"Error creating character") when you pick it -- **or** the character
is created but spawns with no weapon / armor proficiencies (auto-attack
greys out, can't equip anything beyond a fist) -- the worldserver is
missing one of three pieces of class-12 data. All ship as SQL
migrations under `modules/mod-paragon/data/sql/db-world/updates/`
and are auto-applied by AzerothCore's DBUpdater on every
`ac-db-import` run, but the SQL files are baked into the dbimport
@@ -69,7 +71,7 @@ docker compose up -d ac-db-import
docker compose restart ac-worldserver
```
The two migrations:
The three migrations:
- `2026_05_09_00.sql` -- DBC overlay rows for `chrclasses_dbc` and
`skillraceclassinfo_dbc`. Without this the server can't even
@@ -81,10 +83,17 @@ The two migrations:
"invalid race/class pair" and the worldserver prints
`class-N Level-L does not have stats data!` integrity warnings on
load.
- `2026_05_10_01.sql` -- 20 `playercreateinfo_skills` rows
(`classMask = 2048` = class 12) granting every weapon /
armor proficiency at level 1. Without this a Paragon spawns with
only the universal `classMask = 0` skills (Defense, Unarmed,
Cloth, languages, Mounts) -- no Swords, no Mail, no Shield, etc.
After the rebuild + restart, `ac-worldserver` should log
`>> Loaded 72 Player Create Definitions` (was 62 pre-Paragon) and
character creation succeeds for any DK-eligible race.
`>> Loaded 72 Player Create Definitions` (was 62 pre-Paragon),
`>> Loaded 1391 Player Create Skills` (was 1371), and character
creation succeeds for any DK-eligible race with a full weapon /
armor kit.
If the client **logs in** successfully but **disconnects immediately**
when entering the realm: the auth server is handing your client the