#ifndef MOD_DRAGON_LEGACY_H
#define MOD_DRAGON_LEGACY_H

#include "Define.h"

constexpr uint32 SPELL_DRAGON_FORM = 900000;
constexpr uint32 SPELL_WHELP_BREATH = 900001;
// 900002 was a throwaway stance-bar experiment, rejected 2026-08-14 -- see PLAN.md "Stance bar
// experiment". Retired, not reused.
constexpr uint32 NPC_DRAGON_LEGACY_ENTRY = 901000;

// v2 prototype only (see PLAN.md "v2: vehicle-based full transform") -- the real Ruby Drake from
// the Wyrmrest Temple dailies / Oculus, entry owned by base AzerothCore content, NOT this module's
// reserved range. Borrowed as-is to prove the vehicle-possess mechanic works before deciding
// whether to clone it into the module's own range. GM-only via ".dragon-rawr testvehicle".
constexpr uint32 NPC_TEST_RUBY_DRAKE = 27756;

// v2 prototype only -- Wintergrasp Demolisher, a real, well-tested, non-dragon ground vehicle,
// used as a control group to check whether the drake's seethrough rendering is dragon/flying-model
// specific or a general artifact of how our test summons and boards vehicles. GM-only via
// ".dragon-rawr testvehicle2".
constexpr uint32 NPC_TEST_DEMOLISHER = 28094;

// v2 prototype only -- Vehicle.dbc ID 81, whose sole seat (VehicleSeat.dbc 1435) has
// VEHICLE_SEAT_FLAG_HIDE_PASSENGER set alongside CAN_CONTROL and CAN_CAST -- confirmed by parsing
// the DBCs directly. Not currently used by any creature_template row in this DB, but it's real
// content the client already knows (same "unclaimed but real" pattern as the unused title/form IDs
// found earlier), so safe to borrow. Used to test riding the Ruby Drake's model with the *rider*
// hidden, i.e. a "transform into" feel rather than "sit on top of." Applied at runtime via
// Unit::CreateVehicleKit(), overriding the drake's own template VehicleId (70) without touching the
// DB. GM-only via ".dragon-rawr testvehicle3".
//
// Corrected 2026-08-14: originally set to 129 ("Vic's Flying Machine"), a mistake -- 129's own
// seats (1808/1809) don't have these flags on seat index 0; seat 1435 (the one that matters)
// belongs to 81, a different, otherwise-unused vehicle ID. The first in-game test entered seat 0 of
// 129 and got an empty ability bar and no movement as a result -- not a bug in the hide-passenger
// mechanism itself, just the wrong ID here.
constexpr uint32 VEHICLE_TEST_HIDE_PASSENGER = 81;

// v2 prototype only -- a clone of the Ruby Drake (27756) into this module's own reserved creature
// range (see dragon_legacy_vehicle_test.sql), deliberately given a different display model
// (Enslaved Proto-Drake's, 24874, ModelId 2650 -- a genuinely different mesh) than the source it
// was cloned from (Ruby Drake's, 25854, ModelId 2858), to prove cloning + arbitrary model
// reassignment works before settling on the real v2 design. A first attempt used the Wyrmrest
// Skytalon's display (25835) and looked unchanged in-game -- turned out Skytalon shares Ruby
// Drake's exact ModelId 2858, just a different texture variant, not a different mesh. Throwaway --
// expect this exact entry to be reworked once art/name/flight-color are decided. GM-only via
// ".dragon-rawr testvehicle4".
constexpr uint32 NPC_TEST_DRAGON_CLONE = 901001;

#endif // MOD_DRAGON_LEGACY_H