2021-12-05 17:54:36 +00:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
// Custom Classes
|
|
|
|
#include "CDTable.h"
|
|
|
|
|
2024-03-07 05:45:24 +00:00
|
|
|
#include <cstdint>
|
|
|
|
|
2021-12-05 17:54:36 +00:00
|
|
|
struct CDLootTable {
|
2024-01-09 07:54:14 +00:00
|
|
|
uint32_t itemid; //!< The LOT of the item
|
|
|
|
uint32_t LootTableIndex; //!< The Loot Table Index
|
2021-12-05 17:54:36 +00:00
|
|
|
bool MissionDrop; //!< Whether or not this loot table is a mission drop
|
2024-01-09 07:54:14 +00:00
|
|
|
uint32_t sortPriority; //!< The sorting priority
|
2021-12-05 17:54:36 +00:00
|
|
|
};
|
|
|
|
|
2023-10-09 20:33:22 +00:00
|
|
|
typedef uint32_t LootTableIndex;
|
|
|
|
typedef std::vector<CDLootTable> LootTableEntries;
|
|
|
|
|
2024-02-09 13:37:58 +00:00
|
|
|
class CDLootTableTable : public CDTable<CDLootTableTable, std::unordered_map<LootTableIndex, LootTableEntries>> {
|
2021-12-05 17:54:36 +00:00
|
|
|
private:
|
2023-10-09 20:33:22 +00:00
|
|
|
CDLootTable ReadRow(CppSQLite3Query& tableData) const;
|
2022-07-28 13:39:57 +00:00
|
|
|
|
2021-12-05 17:54:36 +00:00
|
|
|
public:
|
2023-08-11 04:27:40 +00:00
|
|
|
void LoadValuesFromDatabase();
|
2023-03-17 14:36:21 +00:00
|
|
|
// Queries the table with a custom "where" clause
|
2024-03-07 05:45:24 +00:00
|
|
|
const LootTableEntries& GetTable(const uint32_t tableId);
|
2021-12-05 17:54:36 +00:00
|
|
|
};
|