#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