mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2024-11-22 13:37:22 +00:00
d2aeebcd46
* Move CDClientManager to be a namespace Tested that worlds still load data as expected. Had no use being a singleton anyways. * Move cdclient data storage to tu local containers Allows some data from these containers to be saved on object by reference instead of always needing to copy. iteration 2 - move all unnamed namespace containers to a singular spot - use macro for template specialization and variable declaration - use templates to allow for as little copy paste of types and functions as possible * remember to use typename! compiler believes T::StorageType is accessing a member, not a type. * Update CDClientManager.cpp * move to cpp?
43 lines
1.2 KiB
C++
43 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, std::map<uint32_t, CDPetComponent>> {
|
|
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);
|
|
};
|