feat(pipeline): add WVHC (Wowee Vehicle) catalog

43rd open format — replaces Vehicle.dbc + VehicleSeat.dbc plus
the AzerothCore-style vehicle_template SQL tables. Defines
drivable vehicles: tanks, demolishers, motorcycles, gryphons,
choppers, siege weapons, multi-passenger transports. Each entry
pairs a creature template (the rendered model) with a fixed
seat layout — driver / passenger / gunner seats with their own
attachment points, control flags (kSeatDriver / kSeatGunner /
kSeatPassenger / kSeatHidesPlayer / kSeatNoEjectByCC), and
per-seat abilities mounted to the action bar.

Cross-references with prior formats — creatureId points at
WCRT.creatureId (the rendered model), flightCapabilityId points
at WMNT.mountId for shared fly-speed tables, and per-seat
controlSpellId / exitSpellId point at WSPL.spellId.

CLI: --gen-vehicles (3-vehicle starter chopper/wind-rider/tank),
--gen-vehicles-siege (3 siege weapons with control spellIds),
--gen-vehicles-flying (3 flying mounts cross-ref WMNT
flightCapabilityIds), --info-wvhc, --validate-wvhc with --json
variants. Validator catches id=0/duplicates, missing creature,
enum out-of-range, empty seat list, flying-vehicle on wrong
movement (would fall through world), driver-flag exclusivity
(0 or >1 drivers), and duplicate seatIndex within a vehicle.
This commit is contained in:
Kelsi 2026-05-09 18:59:49 -07:00
parent 0d9c449fdc
commit dcbc9706f2
8 changed files with 825 additions and 0 deletions

View file

@ -124,6 +124,8 @@ const char* const kArgRequired[] = {
"--export-wcms-json", "--import-wcms-json",
"--gen-glyphs", "--gen-glyphs-warrior", "--gen-glyphs-universal",
"--info-wgly", "--validate-wgly",
"--gen-vehicles", "--gen-vehicles-siege", "--gen-vehicles-flying",
"--info-wvhc", "--validate-wvhc",
"--gen-weather-temperate", "--gen-weather-arctic",
"--gen-weather-desert", "--gen-weather-stormy",
"--gen-zone-atmosphere",