From 883eb722275ce369c03220a4cc5804cc507056e1 Mon Sep 17 00:00:00 2001 From: collett Date: Mon, 16 Nov 2020 22:55:22 +0900 Subject: [PATCH] minor fixes for multi-player --- src/world/Actor/Player.cpp | 4 ++-- src/world/Manager/DebugCommandMgr.cpp | 2 +- src/world/Network/Handlers/ClientTriggerHandler.cpp | 4 +++- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/world/Actor/Player.cpp b/src/world/Actor/Player.cpp index 1b69e109..923b32b4 100644 --- a/src/world/Actor/Player.cpp +++ b/src/world/Actor/Player.cpp @@ -2550,7 +2550,7 @@ void Sapphire::Entity::Player::gaugeWarSetIb( uint8_t value ) { pPacket->data().id = 7; } - queuePacket( pPacket ); + sendToInRangeSet( pPacket, true ); } m_gauge.war.beastGauge = value; if( oldValue != value ) @@ -2648,7 +2648,7 @@ void Sapphire::Entity::Player::gaugeDrkSetDarkSideTimer( uint16_t value, bool se { pPacket->data().id = 22; } - queuePacket( pPacket ); + sendToInRangeSet( pPacket, true ); } if( sendPacket ) sendActorGauge(); diff --git a/src/world/Manager/DebugCommandMgr.cpp b/src/world/Manager/DebugCommandMgr.cpp index f8afe4d4..04d0d69a 100644 --- a/src/world/Manager/DebugCommandMgr.cpp +++ b/src/world/Manager/DebugCommandMgr.cpp @@ -377,7 +377,7 @@ void Sapphire::World::Manager::DebugCommandMgr::set( char* data, Entity::Player& sscanf( params.c_str(), "%d", &id ); auto pPacket = makeZonePacket< FFXIVIpcCharaVisualEffect >( player.getId() ); pPacket->data().id = id; - player.queuePacket( pPacket ); + player.sendToInRangeSet( pPacket, true ); } else { diff --git a/src/world/Network/Handlers/ClientTriggerHandler.cpp b/src/world/Network/Handlers/ClientTriggerHandler.cpp index 47068bd6..5ee872e0 100644 --- a/src/world/Network/Handlers/ClientTriggerHandler.cpp +++ b/src/world/Network/Handlers/ClientTriggerHandler.cpp @@ -109,7 +109,9 @@ void Sapphire::Network::GameConnection::clientTriggerHandler( const Packets::FFX else player.setAutoattack( false ); - player.sendToInRangeSet( makeActorControl( player.getId(), 1, param11, 1 ) ); + // the client seems to ignore source actor of this packet and always set auto-attack on itself. causing everyone on screen take their weapons out + player.queuePacket( makeActorControl( player.getId(), 1, param11, 1 ) ); + //player.sendToInRangeSet( makeActorControl( player.getId(), 1, param11, 1 ) ); break; }