#ifndef MOD_BOUNTY_BOARD_H
#define MOD_BOUNTY_BOARD_H

// Custom ID ranges reserved for this module -- not yet consumed by any SQL, see PLAN.md before
// assigning any of these. Picked as the next clean block after mod-dragon-legacy's 900000-901099,
// mod-waygate-network's 910000-911001, and mod-hirelings' 920000-921099.
//   Spell IDs 930000-930099
//   Creature / npc_text / gameobject IDs 931000-931099

#include "Define.h"
#include 
#include 

// One row per currently-active mod_bounty_board_rotation entry, joined with its template.
// Progress tracking (BountyBoard_Player::OnPlayerCreatureKill) is generic across `type` --
// `kill_target` bounties are just count_required == 1. `kill_target` rows additionally carry a
// fixed world position, since (unlike `kill_count`, which reuses existing wandering mobs) their
// creature is summoned by this module and doesn't otherwise exist.
struct ActiveBounty
{
    uint32 rotationId;
    std::string type;
    std::string name;
    uint32 creatureEntry;
    uint32 countRequired;
    uint32 itemReward;
    uint32 itemRewardCount;
    uint32 moneyReward;
    bool isChampion;
    uint32 positionMap;
    float positionX;
    float positionY;
    float positionZ;
    float orientation;
};

std::vector const& GetActiveBounties();

#endif // MOD_BOUNTY_BOARD_H