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:
@@ -0,0 +1,50 @@
|
||||
-- mod-paragon: starter weapon / armor skills for class 12 (Paragon).
|
||||
--
|
||||
-- Companion to 2026_05_10_00.sql. The spawn-data migration teaches
|
||||
-- Player::Create *that* class 12 exists at a given race; this one
|
||||
-- teaches it which weapon and armor skill lines to grant on 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 the moment they equip anything beyond a fist). The classMask=0
|
||||
-- "all classes" rows in playercreateinfo_skills only cover Defense,
|
||||
-- Unarmed, Cloth, the racial / language skills, Mounts and
|
||||
-- Companion Pets -- which is exactly what bare-fisted, naked
|
||||
-- characters look like.
|
||||
--
|
||||
-- Paragon plays every class, so it grants every weapon / armor
|
||||
-- proficiency at level 1. The skillline rows themselves are still
|
||||
-- gated by skillraceclassinfo_dbc (handled in 2026_05_09_00.sql),
|
||||
-- so the client/server agree on what's allowed.
|
||||
--
|
||||
-- Idempotent: deletes any pre-existing classMask=2048 rows first
|
||||
-- (class 12 owns this bitmask on Fractured) so the migration can
|
||||
-- replay cleanly on a partially-seeded DB.
|
||||
|
||||
DELETE FROM `playercreateinfo_skills` WHERE `classMask` = 2048;
|
||||
|
||||
INSERT INTO `playercreateinfo_skills`
|
||||
(`raceMask`, `classMask`, `skill`, `rank`, `comment`) VALUES
|
||||
-- Weapon proficiencies
|
||||
(0, 2048, 43, 0, 'Paragon - Swords'),
|
||||
(0, 2048, 44, 0, 'Paragon - Axes'),
|
||||
(0, 2048, 45, 0, 'Paragon - Bows'),
|
||||
(0, 2048, 46, 0, 'Paragon - Guns'),
|
||||
(0, 2048, 54, 0, 'Paragon - Maces'),
|
||||
(0, 2048, 55, 0, 'Paragon - Two-Handed Swords'),
|
||||
(0, 2048, 118, 0, 'Paragon - Dual Wield'),
|
||||
(0, 2048, 136, 0, 'Paragon - Staves'),
|
||||
(0, 2048, 160, 0, 'Paragon - Two-Handed Maces'),
|
||||
(0, 2048, 172, 0, 'Paragon - Two-Handed Axes'),
|
||||
(0, 2048, 173, 0, 'Paragon - Daggers'),
|
||||
(0, 2048, 176, 0, 'Paragon - Thrown'),
|
||||
(0, 2048, 226, 0, 'Paragon - Crossbows'),
|
||||
(0, 2048, 228, 0, 'Paragon - Wands'),
|
||||
(0, 2048, 229, 0, 'Paragon - Polearms'),
|
||||
(0, 2048, 473, 0, 'Paragon - Fist Weapons'),
|
||||
-- Armor proficiencies (Cloth is in a classMask=0 row already)
|
||||
(0, 2048, 293, 0, 'Paragon - Plate Mail'),
|
||||
(0, 2048, 413, 0, 'Paragon - Mail'),
|
||||
(0, 2048, 414, 0, 'Paragon - Leather'),
|
||||
(0, 2048, 433, 0, 'Paragon - Shield');
|
||||
Reference in New Issue
Block a user