1
Fork 0
mirror of https://github.com/SapphireServer/Sapphire.git synced 2025-04-27 14:57:44 +00:00

send spiritbond with inventory items

This commit is contained in:
NotAdam 2018-12-28 15:48:13 +11:00
parent 49c6049531
commit c5d06025a0
6 changed files with 20 additions and 5 deletions

View file

@ -4,6 +4,7 @@ Sapphire::Inventory::HousingItem::HousingItem( uint64_t uId, uint32_t catalogId
Sapphire::Item( uId, catalogId, false ) Sapphire::Item( uId, catalogId, false )
{ {
m_stackSize = 1; m_stackSize = 1;
m_spiritBond = 1;
} }
uint16_t Sapphire::Inventory::HousingItem::getRot() const uint16_t Sapphire::Inventory::HousingItem::getRot() const

View file

@ -12,7 +12,8 @@ Sapphire::Item::Item( uint64_t uId, uint32_t catalogId, bool isHq ) :
m_uId( uId ), m_uId( uId ),
m_isHq( isHq ), m_isHq( isHq ),
m_stain( 0 ), m_stain( 0 ),
m_durability( 30000 ) m_durability( 30000 ),
m_spiritBond( 0 )
{ {
auto pExdData = g_fw.get< Data::ExdDataGenerated >(); auto pExdData = g_fw.get< Data::ExdDataGenerated >();
auto itemInfo = pExdData->get< Sapphire::Data::Item >( catalogId ); auto itemInfo = pExdData->get< Sapphire::Data::Item >( catalogId );
@ -160,3 +161,13 @@ uint32_t Sapphire::Item::getAdditionalData() const
{ {
return m_additionalData; return m_additionalData;
} }
uint16_t Sapphire::Item::getSpiritbond() const
{
return m_spiritBond;
}
void Sapphire::Item::setSpiritbond( uint16_t spiritbond )
{
m_spiritBond = spiritbond;
}

View file

@ -64,6 +64,9 @@ namespace Sapphire
uint32_t getAdditionalData() const; uint32_t getAdditionalData() const;
void setSpiritbond( uint16_t spiritbond );
uint16_t getSpiritbond() const;
protected: protected:
uint32_t m_id; uint32_t m_id;
@ -89,6 +92,7 @@ namespace Sapphire
uint16_t m_itemLevel; uint16_t m_itemLevel;
uint16_t m_durability; uint16_t m_durability;
uint16_t m_stain; uint16_t m_stain;
uint16_t m_spiritBond;
uint32_t m_additionalData; uint32_t m_additionalData;

View file

@ -49,8 +49,8 @@ void Sapphire::World::Manager::InventoryMgr::sendInventoryContainer( Sapphire::E
itemInfoPacket->data().quantity = itM->second->getStackSize(); itemInfoPacket->data().quantity = itM->second->getStackSize();
itemInfoPacket->data().catalogId = itM->second->getId(); itemInfoPacket->data().catalogId = itM->second->getId();
itemInfoPacket->data().condition = itM->second->getDurability(); itemInfoPacket->data().condition = itM->second->getDurability();
itemInfoPacket->data().spiritBond = 0; itemInfoPacket->data().spiritBond = itM->second->getSpiritbond();
itemInfoPacket->data().hqFlag = itM->second->isHq() ? 1 : 0; itemInfoPacket->data().hqFlag = static_cast< uint8_t >( itM->second->isHq() ? 1 : 0 );
itemInfoPacket->data().stain = itM->second->getStain(); itemInfoPacket->data().stain = itM->second->getStain();
player.queuePacket( itemInfoPacket ); player.queuePacket( itemInfoPacket );

View file

@ -427,7 +427,6 @@ void Sapphire::Network::GameConnection::clientTriggerHandler( const Packets::FFX
{ {
uint8_t plot = ( param12 & 0xFF ); uint8_t plot = ( param12 & 0xFF );
auto housingMgr = g_fw.get< HousingMgr >(); auto housingMgr = g_fw.get< HousingMgr >();
if( !housingMgr ) if( !housingMgr )
break; break;

View file

@ -33,7 +33,7 @@ namespace Sapphire::Network::Packets::Server
m_data.signatureId = 0; m_data.signatureId = 0;
m_data.hqFlag = item.isHq() ? 1 : 0; m_data.hqFlag = item.isHq() ? 1 : 0;
m_data.condition = 60000; // 200% m_data.condition = 60000; // 200%
m_data.spiritBond = 0; m_data.spiritBond = item.getSpiritbond();
m_data.color = 0; m_data.color = 0;
m_data.glamourCatalogId = 0; m_data.glamourCatalogId = 0;
m_data.materia1 = 0; m_data.materia1 = 0;