diff --git a/src/common/Network/PacketDef/Ipcs.h b/src/common/Network/PacketDef/Ipcs.h index 4b0389ee..2204aaad 100644 --- a/src/common/Network/PacketDef/Ipcs.h +++ b/src/common/Network/PacketDef/Ipcs.h @@ -73,7 +73,7 @@ enum ServerZoneIpcType : Playtime = 0x03DE, // updated 6.58 hotfix 2 Logout = 0x0378, // updated 6.58 hotfix 2 CFNotify = 0x0279, // updated 6.58 hotfix 2 - CFMemberStatus = 0x0079, + CFMemberStatus = 0x21F, // updated 6.58 hotfix 2? CFDutyInfo = 0x2E8, // updated 6.58 hotfix 2? CFPlayerInNeed = 0xF07F, CFPreferredRole = 0x282, // updated 6.58 hotfix 2 diff --git a/src/world/Actor/Player.cpp b/src/world/Actor/Player.cpp index ff88d2ee..8051567f 100644 --- a/src/world/Actor/Player.cpp +++ b/src/world/Actor/Player.cpp @@ -2020,7 +2020,7 @@ void Sapphire::Entity::Player::finishZoning() } } -void Sapphire::Entity::Player::emote( uint32_t emoteId, uint64_t targetId, bool isSilent, uint32_t rotation ) +void Sapphire::Entity::Player::emote( uint32_t emoteId, uint64_t targetId, bool isSilent, uint16_t rotation ) { sendToInRangeSet( makeActorControlTarget( getId(), ActorControlType::Emote, emoteId, 0, isSilent ? 1 : 0, rotation, targetId ) ); diff --git a/src/world/Actor/Player.h b/src/world/Actor/Player.h index ad96a2c0..23840798 100644 --- a/src/world/Actor/Player.h +++ b/src/world/Actor/Player.h @@ -791,7 +791,7 @@ namespace Sapphire::Entity /*! return true if the player is marked for zoning */ bool isMarkedForZoning() const; - void emote( uint32_t emoteId, uint64_t targetId, bool isSilent, uint32_t rotation = 0 ); + void emote( uint32_t emoteId, uint64_t targetId, bool isSilent, uint16_t rotation = 0 ); void emoteInterrupt(); diff --git a/src/world/Network/Handlers/ClientTriggerHandler.cpp b/src/world/Network/Handlers/ClientTriggerHandler.cpp index 78409999..8c60c233 100644 --- a/src/world/Network/Handlers/ClientTriggerHandler.cpp +++ b/src/world/Network/Handlers/ClientTriggerHandler.cpp @@ -210,11 +210,11 @@ void Sapphire::Network::GameConnection::clientTriggerHandler( const Packets::FFX if( commandId == ClientTriggerType::EmoteWithWarp ) { player.setPos( packet.data().position ); - player.setRot( Util::floatFromUInt16Rot( p4 ) ); + player.setRot( Util::floatFromUInt16Rot( static_cast< uint16_t >( p4 ) ) ); if( player.hasInRangeActor() ) { auto setpos = makeZonePacket< FFXIVIpcActorSetPos >( player.getId() ); - setpos->data().r16 = p4; + setpos->data().r16 = static_cast< uint16_t >( p4 ); setpos->data().waitForLoad = 18; setpos->data().x = packet.data().position.x; setpos->data().y = packet.data().position.y; @@ -223,7 +223,7 @@ void Sapphire::Network::GameConnection::clientTriggerHandler( const Packets::FFX } } - player.emote( emoteId, targetId, isSilent, commandId == ClientTriggerType::EmoteWithWarp ? p4 : 0 ); + player.emote( emoteId, targetId, isSilent, commandId == ClientTriggerType::EmoteWithWarp ? static_cast< uint16_t >( p4 ) : 0 ); bool isPersistent = emoteData->emoteMode != 0;