Taper down on non-moving client update spam

This commit is contained in:
Akkadius
2017-07-15 17:05:28 -05:00
parent 6c1efd74cb
commit f9480f2518
3 changed files with 16 additions and 14 deletions
+14 -12
View File
@@ -4614,22 +4614,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)))