mirror of
https://github.com/EQEmu/Server.git
synced 2026-05-16 22:58:34 +00:00
[Performance] Move Discipline Loading to Client::CompleteConnect() (#4466)
* [Performance] Move Character Discipline Loading * Push * Final
This commit is contained in:
+11
-5
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user