Merge branch 'master' into auras

This commit is contained in:
Michael Cook (mackal) 2017-07-16 00:09:26 -04:00
commit ab5fe1e518
3 changed files with 16 additions and 14 deletions

View File

@ -160,7 +160,7 @@ Client::Client(EQStreamInterface* ieqs)
npc_close_scan_timer(6000),
hp_self_update_throttle_timer(300),
hp_other_update_throttle_timer(500),
position_update_timer(0)
position_update_timer(10000)
{
for (int client_filter = 0; client_filter < _FilterCount; client_filter++)

View File

@ -4615,22 +4615,24 @@ void Client::Handle_OP_ClientUpdate(const EQApplicationPacket *app)
this->SendAppearanceEffect(41, 0, 0, 0, 0);
}
/* Broadcast update to other clients */
auto outapp = new EQApplicationPacket(OP_ClientUpdate, sizeof(PlayerPositionUpdateServer_Struct));
PlayerPositionUpdateServer_Struct* position_update = (PlayerPositionUpdateServer_Struct*)outapp->pBuffer;
/* Only feed real time updates when client is moving */
if (is_client_moving) {
MakeSpawnUpdate(position_update);
/* Broadcast update to other clients */
auto outapp = new EQApplicationPacket(OP_ClientUpdate, sizeof(PlayerPositionUpdateServer_Struct));
PlayerPositionUpdateServer_Struct* position_update = (PlayerPositionUpdateServer_Struct*)outapp->pBuffer;
position_update_timer.Start(10000, true);
MakeSpawnUpdate(position_update);
if (gm_hide_me) {
entity_list.QueueClientsStatus(this, outapp, true, Admin(), 250);
if (gm_hide_me) {
entity_list.QueueClientsStatus(this, outapp, true, Admin(), 250);
}
else {
entity_list.QueueCloseClients(this, outapp, true, 300, nullptr, true);
}
safe_delete(outapp);
}
else {
entity_list.QueueCloseClients(this, outapp, true, 300, nullptr, true);
}
safe_delete(outapp);
if (zone->watermap) {
if (zone->watermap->InLiquid(glm::vec3(m_Position)))

View File

@ -120,7 +120,7 @@ bool Client::Process() {
SendHPUpdate();
/* I haven't naturally updated my position in 10 seconds, updating manually */
if (position_update_timer.Check()) {
if (!is_client_moving && position_update_timer.Check()) {
SendPositionUpdate();
}