mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-05-10 11:03:51 +00:00
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:
parent
0d9c449fdc
commit
dcbc9706f2
8 changed files with 825 additions and 0 deletions
|
|
@ -1301,6 +1301,16 @@ void printUsage(const char* argv0) {
|
|||
std::printf(" Print WGLY entries (id / type / spellId / itemId / classMask / requiredLevel / name)\n");
|
||||
std::printf(" --validate-wgly <wgly-base> [--json]\n");
|
||||
std::printf(" Static checks: id>0+unique, name+spellId not empty, type 0..2, classMask>0, level<25 warning, missing-itemId warning\n");
|
||||
std::printf(" --gen-vehicles <wvhc-base> [name]\n");
|
||||
std::printf(" Emit .wvhc starter: 3 vehicles (chopper / wind rider / salvaged tank) covering ground+air+siege roles\n");
|
||||
std::printf(" --gen-vehicles-siege <wvhc-base> [name]\n");
|
||||
std::printf(" Emit .wvhc 3 siege weapons (Demolisher 2-seat / Glaive Thrower / Salvaged Cannon) with control spellIds\n");
|
||||
std::printf(" --gen-vehicles-flying <wvhc-base> [name]\n");
|
||||
std::printf(" Emit .wvhc 3 flying mounts (Wind Rider / Storm Gryphon / Twilight Drake) cross-ref WMNT flightCapabilityIds\n");
|
||||
std::printf(" --info-wvhc <wvhc-base> [--json]\n");
|
||||
std::printf(" Print WVHC entries with seat layout (id / creature / kind / movement / power / seat count / name)\n");
|
||||
std::printf(" --validate-wvhc <wvhc-base> [--json]\n");
|
||||
std::printf(" Static checks: id>0+unique, creatureId>0, kind/movement/power in range, exactly 1 driver seat, no duplicate seatIndex\n");
|
||||
std::printf(" --gen-weather-temperate <wow-base> [zoneName]\n");
|
||||
std::printf(" Emit .wow weather schedule: clear-dominant + occasional rain + fog (forest / grassland)\n");
|
||||
std::printf(" --gen-weather-arctic <wow-base> [zoneName]\n");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue