[Skill Caps] Remove from shared memory and simplify (#4069)

* [Skill Caps] Remove from shared memory and simplify

- Removes Skill Caps loading from shared memory and puts it into zone.
- Adds `id` column to `skill_caps`.
- Remove primary keys and use `id` as primary key.
- Add unique index using `skill_id`, `class_id`, `level`, and `cap`.
- Renames `class` to `class_id` in `skill_caps` table.
- Renames `skillID` to `skill_id` in `skill_caps` table.
- Regenerates Skill Caps repository.
- Adds `#reload skill_caps` to reload skill caps in real time.

* Update groups.cpp

* Update groups.cpp
This commit is contained in:
Alex King
2024-03-23 19:52:40 -04:00
committed by GitHub
parent 036309ebec
commit d7ea290b6b
25 changed files with 306 additions and 414 deletions
+11
View File
@@ -46,6 +46,7 @@
#include "../common/repositories/lootdrop_repository.h"
#include "../common/repositories/lootdrop_entries_repository.h"
#include "../common/repositories/base_data_repository.h"
#include "../common/repositories/skill_caps_repository.h"
struct EXPModifier
{
@@ -452,6 +453,13 @@ public:
void LoadBaseData();
void ReloadBaseData();
// Skill Caps
inline void ClearSkillCaps() { m_skill_caps.clear(); }
SkillCapsRepository::SkillCaps GetSkillCap(uint8 class_id, EQ::skills::SkillType skill_id, uint8 level);
uint8 GetTrainLevel(uint8 class_id, EQ::skills::SkillType skill_id, uint8 level);
void LoadSkillCaps();
void ReloadSkillCaps();
private:
bool allow_mercs;
bool can_bind;
@@ -515,6 +523,9 @@ private:
// Base Data
std::vector<BaseDataRepository::BaseData> m_base_data = { };
// Skill Caps
std::vector<SkillCapsRepository::SkillCaps> m_skill_caps = { };
};
#endif