[Zone] Implement zone player count sharding (#4536)

* [Zone] Implement zone player count sharding

* Update client.cpp

* Update database_instances.cpp

* You must request a shard change from the zone you are currently in.

* // zone sharding

* You cannot request a shard change while in combat.

* Query adjustment

* Use safe coords

* Changes

* Fixes to instance query

* Push

* Push

* Final push

* Update client.cpp

* Update eq_packet_structs.h

* Remove pick menu

* Comment

* Update character_data_repository.h

* Update zoning.cpp

---------

Co-authored-by: Kinglykrab <kinglykrab@gmail.com>
This commit is contained in:
Chris Miles
2025-01-08 17:41:16 -06:00
committed by GitHub
parent 15684567cf
commit c82f1b9afc
22 changed files with 443 additions and 22 deletions
+6
View File
@@ -1756,6 +1756,11 @@ int Perl_Client_GetClientMaxLevel(Client* self)
return self->GetClientMaxLevel();
}
void Perl_Client_ShowZoneShardMenu(Client* self) // @categories Script Utility
{
self->ShowZoneShardMenu();
}
DynamicZoneLocation GetDynamicZoneLocationFromHash(perl::hash table)
{
// dynamic zone helper method, defaults invalid/missing keys to 0
@@ -3742,6 +3747,7 @@ void perl_register_client()
package.add("SetTitleSuffix", (void(*)(Client*, std::string))&Perl_Client_SetTitleSuffix);
package.add("SetTitleSuffix", (void(*)(Client*, std::string, bool))&Perl_Client_SetTitleSuffix);
package.add("SetZoneFlag", &Perl_Client_SetZoneFlag);
package.add("ShowZoneShardMenu", &Perl_Client_ShowZoneShardMenu);
package.add("Signal", &Perl_Client_Signal);
package.add("SignalClient", &Perl_Client_SignalClient);
package.add("SilentMessage", &Perl_Client_SilentMessage);