mirror of
https://github.com/EQEmu/Server.git
synced 2026-06-09 22:20:24 +00:00
Add DynamicZone class for expedition instancing
Add DynamicZone sql table schema Add DynamicZones logging category Modify CreateExpedition to take DynamicZone and ExpeditionRequest objects Implement DynamicZone compass, safereturn, and zone-in coordinates. Implement live-like DynamicZone instance kick timer for removed members Implement updating multiple client compasses (supports existing quest compass) fix: Send client compass update after entering zones to clear existing compass Implement Client::MovePCDynamicZone to invoke DynamicZoneSwitchListWnd when entering a zone where client has multiple dynamic zones assigned Implement OP_DzChooseZoneReply handling Add Lua api methods for expedition's associated dynamic zone Add #dz list gm command to list current DynamicZone instances from database
This commit is contained in:
+8
-1
@@ -1491,7 +1491,14 @@ bool Zone::Process() {
|
||||
{
|
||||
if(Instance_Timer->Check())
|
||||
{
|
||||
entity_list.GateAllClients();
|
||||
// if this is a dynamic zone instance notify system associated with it
|
||||
Expedition* expedition = Expedition::FindExpeditionByInstanceID(GetInstanceID());
|
||||
if (expedition)
|
||||
{
|
||||
expedition->RemoveAllMembers(false, false); // entity list will teleport clients out immediately
|
||||
}
|
||||
// todo: move corpses to non-instanced version of dz at same coords (if no graveyard)
|
||||
entity_list.GateAllClientsToSafeReturn();
|
||||
database.DeleteInstance(GetInstanceID());
|
||||
Instance_Shutdown_Timer = new Timer(20000); //20 seconds
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user