[Performance] Server Reload Overhaul (#4689)

* [Performance] Server Reload Overhaul

* Client::SendReloadCommandMessages

* Remove global buffs
This commit is contained in:
Chris Miles
2025-02-18 00:54:37 -06:00
committed by GitHub
parent 49cf97ae9c
commit 1bd281c8f2
24 changed files with 607 additions and 1258 deletions
+1 -54
View File
@@ -2605,52 +2605,6 @@ void Zone::LoadNPCEmotes(std::vector<NPC_Emote_Struct*>* v)
}
void Zone::ReloadWorld(uint8 global_repop)
{
entity_list.ClearAreas();
parse->ReloadQuests();
if (global_repop) {
if (global_repop == ReloadWorld::ForceRepop) {
zone->ClearSpawnTimers();
}
zone->Repop();
}
worldserver.SendEmoteMessage(
0,
0,
AccountStatus::GMAdmin,
Chat::Yellow,
fmt::format(
"Quests reloaded {}for {}{}.",
(
global_repop ?
(
global_repop == ReloadWorld::Repop ?
"and repopped NPCs " :
"and forcefully repopped NPCs "
) :
""
),
fmt::format(
"{} ({})",
GetLongName(),
GetZoneID()
),
(
GetInstanceID() ?
fmt::format(
" (Instance ID {})",
GetInstanceID()
) :
""
)
).c_str()
);
}
void Zone::ClearSpawnTimers()
{
LinkedListIterator<Spawn2 *> iterator(spawn2_list);
@@ -2859,8 +2813,6 @@ std::string Zone::GetZoneDescription()
void Zone::SendReloadMessage(std::string reload_type)
{
LogInfo("Reloaded [{}]", reload_type);
worldserver.SendEmoteMessage(
0,
0,
@@ -3014,12 +2966,7 @@ bool Zone::CompareDataBucket(uint8 comparison_type, const std::string& bucket, c
void Zone::ReloadContentFlags()
{
auto pack = new ServerPacket(ServerOP_ReloadContentFlags, 0);
if (pack) {
worldserver.SendPacket(pack);
}
safe_delete(pack);
worldserver.SendReload(ServerReload::Type::ContentFlags);
}
void Zone::ClearEXPModifier(Client* c)