[Performance] Move Discipline Loading to Client::CompleteConnect() (#4466)

* [Performance] Move Character Discipline Loading

* Push

* Final
This commit is contained in:
Alex King
2024-09-09 19:20:12 -04:00
committed by GitHub
parent b1646381b0
commit 40fecbfaf5
3 changed files with 13 additions and 7 deletions
+11 -5
View File
@@ -671,12 +671,16 @@ bool ZoneDatabase::LoadCharacterLeadershipAbilities(uint32 character_id, PlayerP
return true;
}
bool ZoneDatabase::LoadCharacterDisciplines(uint32 character_id, PlayerProfile_Struct* pp){
bool ZoneDatabase::LoadCharacterDisciplines(Client* c)
{
if (!c) {
return false;
}
const auto& l = CharacterDisciplinesRepository::GetWhere(
database, fmt::format(
"`id` = {} ORDER BY `slot_id`",
character_id
c->CharacterID()
)
);
@@ -684,16 +688,18 @@ bool ZoneDatabase::LoadCharacterDisciplines(uint32 character_id, PlayerProfile_S
return false;
}
for (int slot_id = 0; slot_id < MAX_PP_DISCIPLINES; slot_id++) { // Initialize Disciplines
pp->disciplines.values[slot_id] = 0;
for (int slot_id = 0; slot_id < MAX_PP_DISCIPLINES; slot_id++) {
c->GetPP().disciplines.values[slot_id] = 0;
}
for (const auto& e : l) {
if (IsValidSpell(e.disc_id) && e.slot_id < MAX_PP_DISCIPLINES) {
pp->disciplines.values[e.slot_id] = e.disc_id;
c->GetPP().disciplines.values[e.slot_id] = e.disc_id;
}
}
c->SendDisciplineUpdate();
return true;
}