2024-01-08 23:32:09 +00:00
|
|
|
#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;)
|
|
|
|
};
|
|
|
|
|
2024-02-09 13:37:58 +00:00
|
|
|
class CDPetComponentTable : public CDTable<CDPetComponentTable, std::map<uint32_t, CDPetComponent>> {
|
2024-01-08 23:32:09 +00:00
|
|
|
public:
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Load values from the CD client database
|
|
|
|
*/
|
|
|
|
void LoadValuesFromDatabase();
|
2024-04-19 04:31:27 +00:00
|
|
|
|
2024-01-08 23:32:09 +00:00
|
|
|
/**
|
|
|
|
* 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
|
|
|
|
*/
|
2024-04-19 04:31:27 +00:00
|
|
|
const CDPetComponent& GetByID(const uint32_t componentID);
|
2024-01-08 23:32:09 +00:00
|
|
|
};
|