diff --git a/src/common/Network/PacketDef/Ipcs.h b/src/common/Network/PacketDef/Ipcs.h index 2e4e2ae3..04090736 100644 --- a/src/common/Network/PacketDef/Ipcs.h +++ b/src/common/Network/PacketDef/Ipcs.h @@ -171,12 +171,13 @@ namespace Sapphire::Network::Packets ItemInfo = 0x00F2, // updated 5.18 ContainerInfo = 0x01F2, // updated 5.18 - InventoryTransactionFinish = 0x01AB, // updated 5.1 + InventoryTransactionFinish = 0x02FA, // updated 5.18 InventoryTransaction = 0x023E, // updated 5.1 CurrencyCrystalInfo = 0x02BF, // updated 5.18 InventoryActionAck = 0x0084, // updated 5.1 UpdateInventorySlot = 0x0370, // updated 5.18 + //InventoryUnknown = 0x02FA, // updated 5.18, not sure what it is besides playing the get item sound effect HuntingLogEntry = 0x01B3, // updated 5.0 diff --git a/src/world/Actor/PlayerInventory.cpp b/src/world/Actor/PlayerInventory.cpp index fe680fc5..a31e1a7e 100644 --- a/src/world/Actor/PlayerInventory.cpp +++ b/src/world/Actor/PlayerInventory.cpp @@ -607,6 +607,11 @@ Sapphire::ItemPtr Sapphire::Entity::Player::addItem( uint32_t catalogId, uint32_ { queuePacket( makeActorControlSelf( getId(), ItemObtainIcon, catalogId, originalQuantity ) ); + auto soundEffectPacket = makeZonePacket< FFXIVIpcInventoryTransactionFinish >( getId() ); + soundEffectPacket->data().sequenceId = 0xFFFFFFFF; + soundEffectPacket->data().sequenceId1 = 6; // this seems to have to be 6 in order to make that sound + queuePacket( soundEffectPacket ); + return item; } @@ -638,6 +643,11 @@ Sapphire::ItemPtr Sapphire::Entity::Player::addItem( uint32_t catalogId, uint32_ queuePacket( invUpdate ); queuePacket( makeActorControlSelf( getId(), ItemObtainIcon, catalogId, originalQuantity ) ); + + auto soundEffectPacket = makeZonePacket< FFXIVIpcInventoryTransactionFinish >( getId() ); + soundEffectPacket->data().sequenceId = 0xFFFFFFFF; + soundEffectPacket->data().sequenceId1 = 6; // this seems to have to be 6 in order to make that sound + queuePacket( soundEffectPacket ); } return item;