mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-11 21:01:29 +00:00
[Zone Instances] Handle routing to instances when using evac/succor (#4297)
This commit is contained in:
parent
b3538021cc
commit
dfd1bfbd49
@ -240,6 +240,7 @@ Client::Client(EQStreamInterface *ieqs) : Mob(
|
||||
runmode = false;
|
||||
linkdead_timer.Disable();
|
||||
zonesummon_id = 0;
|
||||
zonesummon_instance_id = 0;
|
||||
zonesummon_ignorerestrictions = 0;
|
||||
bZoning = false;
|
||||
m_lock_save_position = false;
|
||||
|
||||
@ -1951,6 +1951,7 @@ private:
|
||||
|
||||
glm::vec4 m_ZoneSummonLocation;
|
||||
uint16 zonesummon_id;
|
||||
uint8 zonesummon_instance_id;
|
||||
uint8 zonesummon_ignorerestrictions;
|
||||
ZoneMode zone_mode;
|
||||
|
||||
|
||||
@ -94,6 +94,7 @@ void Client::Handle_OP_ZoneChange(const EQApplicationPacket *app) {
|
||||
case GMHiddenSummon:
|
||||
case ZoneSolicited: //we told the client to zone somewhere, so we know where they are going.
|
||||
target_zone_id = zonesummon_id;
|
||||
target_instance_id = zonesummon_instance_id;
|
||||
break;
|
||||
case GateToBindPoint:
|
||||
case ZoneToBindPoint:
|
||||
@ -126,6 +127,7 @@ void Client::Handle_OP_ZoneChange(const EQApplicationPacket *app) {
|
||||
// WildcardX 27 January 2008
|
||||
if (zone_mode == EvacToSafeCoords && zonesummon_id) {
|
||||
target_zone_id = zonesummon_id;
|
||||
target_instance_id = zonesummon_instance_id;
|
||||
} else {
|
||||
target_zone_id = zc->zoneID;
|
||||
}
|
||||
@ -573,6 +575,7 @@ void Client::DoZoneSuccess(ZoneChange_Struct *zc, uint16 zone_id, uint32 instanc
|
||||
zone_mode = ZoneUnsolicited;
|
||||
m_ZoneSummonLocation = glm::vec4();
|
||||
zonesummon_id = 0;
|
||||
zonesummon_instance_id = 0;
|
||||
zonesummon_ignorerestrictions = 0;
|
||||
|
||||
// this simply resets the zone shutdown timer
|
||||
@ -959,6 +962,7 @@ void Client::ZonePC(uint32 zoneID, uint32 instance_id, float x, float y, float z
|
||||
|
||||
// we hide the real zoneid we want to evac/succor to here
|
||||
zonesummon_id = zoneID;
|
||||
zonesummon_instance_id = instance_id;
|
||||
|
||||
outapp->priority = 6;
|
||||
FastQueuePacket(&outapp);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user