mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2024-11-28 16:37:23 +00:00
4a50c60559
* Assorted pet improvements * remove unecessary include * updates to address some feedback * fixed database code for testing * Removed reference member (for now) * Removed cmake flag
46 lines
1.2 KiB
C++
46 lines
1.2 KiB
C++
#pragma once
|
|
#include "CDTable.h"
|
|
#include <cstdint>
|
|
#include <string>
|
|
|
|
struct CDPetComponent {
|
|
uint32_t id;
|
|
UNUSED_COLUMN(float minTameUpdateTime;)
|
|
UNUSED_COLUMN(float maxTameUpdateTime;)
|
|
UNUSED_COLUMN(float percentTameChance;)
|
|
UNUSED_COLUMN(float tameability;) // Mispelled as "tamability" in CDClient
|
|
UNUSED_COLUMN(uint32_t elementType;)
|
|
float walkSpeed;
|
|
float runSpeed;
|
|
float sprintSpeed;
|
|
UNUSED_COLUMN(float idleTimeMin;)
|
|
UNUSED_COLUMN(float idleTimeMax;)
|
|
UNUSED_COLUMN(uint32_t petForm;)
|
|
float imaginationDrainRate;
|
|
UNUSED_COLUMN(std::string AudioMetaEventSet;)
|
|
UNUSED_COLUMN(std::string buffIDs;)
|
|
};
|
|
|
|
class CDPetComponentTable : public CDTable<CDPetComponentTable> {
|
|
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 component table corresponding to the pet component ID
|
|
* @returns A reference to the corresponding table, or the default if one could not be found
|
|
*/
|
|
CDPetComponent& GetByID(const uint32_t componentID);
|
|
|
|
private:
|
|
std::map<uint32_t, CDPetComponent> m_Entries;
|
|
};
|