Kelsidavis-WoWee/tools/editor/sql_exporter.hpp
Kelsi b19627d82c feat(editor): SQL spawn export for AzerothCore/TrinityCore
Private server integration: export creature spawns, patrol waypoints,
and quest definitions as ready-to-import SQL for AzerothCore/TrinityCore.

- creature_template: name, level, health, mana, damage, armor, faction,
  npcflag (questgiver/vendor/flightmaster/innkeeper), displayId, scale
- creature: spawn position, orientation, respawn time, wander distance,
  movement type (stationary/wander/patrol)
- creature_addon + waypoint_data: patrol path waypoints with delays
- quest_template: title, description, completion text, level, XP, money
- All use ON DUPLICATE KEY UPDATE for safe re-imports
- Auto-exported as spawns.sql alongside other assets on zone save
- File > Export Server SQL menu item for standalone export
- Map ID from zone metadata panel used in spawn table
2026-05-05 16:06:34 -07:00

33 lines
1.1 KiB
C++

#pragma once
#include "npc_spawner.hpp"
#include "quest_editor.hpp"
#include <string>
#include <cstdint>
namespace wowee {
namespace editor {
class SQLExporter {
public:
// Export creature spawns as AzerothCore/TrinityCore SQL
static bool exportCreatures(const std::vector<CreatureSpawn>& spawns,
const std::string& path,
uint32_t mapId = 9000,
uint32_t startEntry = 100000);
// Export quest definitions as AzerothCore quest_template SQL
static bool exportQuests(const std::vector<Quest>& quests,
const std::string& path,
uint32_t startEntry = 100000);
// Export everything to a single SQL file
static bool exportAll(const std::vector<CreatureSpawn>& spawns,
const std::vector<Quest>& quests,
const std::string& path,
uint32_t mapId = 9000,
uint32_t startEntry = 100000);
};
} // namespace editor
} // namespace wowee