mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2024-12-25 23:13:35 +00:00
35 lines
858 B
C
35 lines
858 B
C
|
#pragma once
|
||
|
#include "CDTable.h"
|
||
|
#include <cstdint>
|
||
|
#include <string>
|
||
|
|
||
|
// Forward declarations
|
||
|
enum class ePetAbilityType : uint32_t;
|
||
|
|
||
|
struct CDPetAbilities {
|
||
|
ePetAbilityType id;
|
||
|
UNUSED_COLUMN(std::string abilityName;)
|
||
|
int32_t imaginationCost;
|
||
|
UNUSED_COLUMN(uint32_t locStatus;)
|
||
|
};
|
||
|
|
||
|
class CDPetAbilitiesTable : public CDTable<CDPetAbilitiesTable, std::map<ePetAbilityType, CDPetAbilities>> {
|
||
|
public:
|
||
|
|
||
|
/**
|
||
|
* Load values from the CD client database
|
||
|
*/
|
||
|
void LoadValuesFromDatabase();
|
||
|
|
||
|
/**
|
||
|
* Load the default values into memory instead of attempting to connect to the CD client database
|
||
|
*/
|
||
|
void LoadValuesFromDefaults();
|
||
|
|
||
|
/**
|
||
|
* Gets the pet ability table corresponding to the pet ability ID
|
||
|
* @returns A pointer to the corresponding table, or nullptr if one could not be found
|
||
|
*/
|
||
|
const CDPetAbilities& GetByID(const ePetAbilityType id);
|
||
|
};
|