#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