#pragma once #include #include #include #include #include "constants.h" namespace cursebreaker { struct HarvestableLootEntry { uint16_t itemId{}; uint16_t amount{}; uint16_t chance{}; // percentage chance }; struct Harvestable { uint16_t id{}; uint16_t level{}; uint16_t respawnTime{}; // in seconds or minutes, TBD SkillType skill{}; std::string name; std::string description; std::vector loot; Harvestable() = default; }; // Harvestables configuration functions bool loadHarvestablesFromXML(const std::string& filepath, std::unordered_map& harvestables); const Harvestable* getHarvestableById(uint16_t id, const std::unordered_map& harvestables); const std::unordered_map& getAllHarvestables(const std::unordered_map& harvestables); } // namespace cursebreaker