zonesummon_x, zonesummon_y, and zonesummon_z converted to xyz_location m_ZoneSummonLocation

This commit is contained in:
Arthur Ice 2014-12-01 00:26:35 -08:00
parent fb1d5842ea
commit 0a685d316d
3 changed files with 16 additions and 31 deletions

View File

@ -156,7 +156,8 @@ Client::Client(EQStreamInterface* ieqs)
merc_timer(RuleI(Mercs, UpkeepIntervalMS)), merc_timer(RuleI(Mercs, UpkeepIntervalMS)),
ItemTickTimer(10000), ItemTickTimer(10000),
ItemQuestTimer(500), ItemQuestTimer(500),
m_Proximity(FLT_MAX, FLT_MAX, FLT_MAX) //arbitrary large number m_Proximity(FLT_MAX, FLT_MAX, FLT_MAX), //arbitrary large number
m_ZoneSummonLocation(-2.0f,-2.0f,-2.0f)
{ {
for(int cf=0; cf < _FilterCount; cf++) for(int cf=0; cf < _FilterCount; cf++)
ClientFilters[cf] = FilterShow; ClientFilters[cf] = FilterShow;
@ -202,9 +203,6 @@ Client::Client(EQStreamInterface* ieqs)
auto_attack = false; auto_attack = false;
auto_fire = false; auto_fire = false;
linkdead_timer.Disable(); linkdead_timer.Disable();
zonesummon_x = -2;
zonesummon_y = -2;
zonesummon_z = -2;
zonesummon_id = 0; zonesummon_id = 0;
zonesummon_ignorerestrictions = 0; zonesummon_ignorerestrictions = 0;
zoning = false; zoning = false;

View File

@ -1368,9 +1368,8 @@ private:
void DoZoneSuccess(ZoneChange_Struct *zc, uint16 zone_id, uint32 instance_id, float dest_x, float dest_y, float dest_z, float dest_h, int8 ignore_r); void DoZoneSuccess(ZoneChange_Struct *zc, uint16 zone_id, uint32 instance_id, float dest_x, float dest_y, float dest_z, float dest_h, int8 ignore_r);
void ZonePC(uint32 zoneID, uint32 instance_id, float x, float y, float z, float heading, uint8 ignorerestrictions, ZoneMode zm); void ZonePC(uint32 zoneID, uint32 instance_id, float x, float y, float z, float heading, uint8 ignorerestrictions, ZoneMode zm);
void ProcessMovePC(uint32 zoneID, uint32 instance_id, float x, float y, float z, float heading, uint8 ignorerestrictions = 0, ZoneMode zm = ZoneSolicited); void ProcessMovePC(uint32 zoneID, uint32 instance_id, float x, float y, float z, float heading, uint8 ignorerestrictions = 0, ZoneMode zm = ZoneSolicited);
float zonesummon_x;
float zonesummon_y; xyz_location m_ZoneSummonLocation;
float zonesummon_z;
uint16 zonesummon_id; uint16 zonesummon_id;
uint8 zonesummon_ignorerestrictions; uint8 zonesummon_ignorerestrictions;
ZoneMode zone_mode; ZoneMode zone_mode;

View File

@ -195,9 +195,9 @@ void Client::Handle_OP_ZoneChange(const EQApplicationPacket *app) {
dest_z = safe_z; dest_z = safe_z;
break; break;
case GMSummon: case GMSummon:
dest_x = zonesummon_x; dest_x = m_ZoneSummonLocation.m_X;
dest_y = zonesummon_y; dest_y = m_ZoneSummonLocation.m_Y;
dest_z = zonesummon_z; dest_z = m_ZoneSummonLocation.m_Z;
ignorerestrictions = 1; ignorerestrictions = 1;
break; break;
case GateToBindPoint: case GateToBindPoint:
@ -213,9 +213,9 @@ void Client::Handle_OP_ZoneChange(const EQApplicationPacket *app) {
break; break;
case ZoneSolicited: //we told the client to zone somewhere, so we know where they are going. case ZoneSolicited: //we told the client to zone somewhere, so we know where they are going.
//recycle zonesummon variables //recycle zonesummon variables
dest_x = zonesummon_x; dest_x = m_ZoneSummonLocation.m_X;
dest_y = zonesummon_y; dest_y = m_ZoneSummonLocation.m_Y;
dest_z = zonesummon_z; dest_z = m_ZoneSummonLocation.m_Z;
break; break;
case ZoneUnsolicited: //client came up with this on its own. case ZoneUnsolicited: //client came up with this on its own.
//client requested a zoning... what are the cases when this could happen? //client requested a zoning... what are the cases when this could happen?
@ -391,9 +391,7 @@ void Client::DoZoneSuccess(ZoneChange_Struct *zc, uint16 zone_id, uint32 instanc
//reset to unsolicited. //reset to unsolicited.
zone_mode = ZoneUnsolicited; zone_mode = ZoneUnsolicited;
zonesummon_x = 0; m_ZoneSummonLocation = xyz_location::Origin();
zonesummon_y = 0;
zonesummon_z = 0;
zonesummon_id = 0; zonesummon_id = 0;
zonesummon_ignorerestrictions = 0; zonesummon_ignorerestrictions = 0;
} }
@ -500,18 +498,14 @@ void Client::ZonePC(uint32 zoneID, uint32 instance_id, float x, float y, float z
SetHeading(heading); SetHeading(heading);
break; break;
case GMSummon: case GMSummon:
zonesummon_x = m_Position.m_X = x; m_ZoneSummonLocation = m_Position = xyz_heading(x,y,z,heading);
zonesummon_y = m_Position.m_Y = y;
zonesummon_z = m_Position.m_Z = z;
SetHeading(heading); SetHeading(heading);
zonesummon_id = zoneID; zonesummon_id = zoneID;
zonesummon_ignorerestrictions = 1; zonesummon_ignorerestrictions = 1;
break; break;
case ZoneSolicited: case ZoneSolicited:
zonesummon_x = x; m_ZoneSummonLocation = xyz_location(x,y,z);
zonesummon_y = y;
zonesummon_z = z;
SetHeading(heading); SetHeading(heading);
zonesummon_id = zoneID; zonesummon_id = zoneID;
@ -533,16 +527,12 @@ void Client::ZonePC(uint32 zoneID, uint32 instance_id, float x, float y, float z
LogFile->write(EQEMuLog::Debug, "Player %s has died and will be zoned to bind point in zone: %s at LOC x=%f, y=%f, z=%f, heading=%f", GetName(), pZoneName, m_pp.binds[0].x, m_pp.binds[0].y, m_pp.binds[0].z, m_pp.binds[0].heading); LogFile->write(EQEMuLog::Debug, "Player %s has died and will be zoned to bind point in zone: %s at LOC x=%f, y=%f, z=%f, heading=%f", GetName(), pZoneName, m_pp.binds[0].x, m_pp.binds[0].y, m_pp.binds[0].z, m_pp.binds[0].heading);
break; break;
case SummonPC: case SummonPC:
zonesummon_x = m_Position.m_X = x; m_ZoneSummonLocation = m_Position = xyz_location(x, y, z);
zonesummon_y = m_Position.m_Y = y;
zonesummon_z = m_Position.m_Z = z;
SetHeading(heading); SetHeading(heading);
break; break;
case Rewind: case Rewind:
LogFile->write(EQEMuLog::Debug, "%s has requested a /rewind from %f, %f, %f, to %f, %f, %f in %s", GetName(), m_Position.m_X, m_Position.m_Y, m_Position.m_Z, m_RewindLocation.m_X, m_RewindLocation.m_Y, m_RewindLocation.m_Z, zone->GetShortName()); LogFile->write(EQEMuLog::Debug, "%s has requested a /rewind from %f, %f, %f, to %f, %f, %f in %s", GetName(), m_Position.m_X, m_Position.m_Y, m_Position.m_Z, m_RewindLocation.m_X, m_RewindLocation.m_Y, m_RewindLocation.m_Z, zone->GetShortName());
zonesummon_x = m_Position.m_X = x; m_ZoneSummonLocation = m_Position = xyz_location(x, y, z);
zonesummon_y = m_Position.m_Y = y;
zonesummon_z = m_Position.m_Z = z;
SetHeading(heading); SetHeading(heading);
break; break;
default: default:
@ -682,9 +672,7 @@ void Client::ZonePC(uint32 zoneID, uint32 instance_id, float x, float y, float z
{ {
if(zm != EvacToSafeCoords && zm != ZoneToSafeCoords && zm != ZoneToBindPoint) if(zm != EvacToSafeCoords && zm != ZoneToSafeCoords && zm != ZoneToBindPoint)
{ {
zonesummon_x = 0; m_ZoneSummonLocation = xyz_location::Origin();
zonesummon_y = 0;
zonesummon_z = 0;
zonesummon_id = 0; zonesummon_id = 0;
zonesummon_ignorerestrictions = 0; zonesummon_ignorerestrictions = 0;
zone_mode = ZoneUnsolicited; zone_mode = ZoneUnsolicited;