1
Fork 0
mirror of https://github.com/SapphireServer/Sapphire.git synced 2025-05-02 08:57:44 +00:00

Placing of yard and interior items works... until you rezone...

This commit is contained in:
Mordred 2023-01-28 23:27:36 +01:00
parent 233bef1886
commit 5839d12980
5 changed files with 11 additions and 9 deletions

View file

@ -29,7 +29,7 @@ Sapphire::Item::Item( uint64_t uId, uint32_t catalogId, bool isHq ) :
m_itemLevel = itemInfo->data().Level; m_itemLevel = itemInfo->data().Level;
m_maxStackSize = itemInfo->data().StackMax; m_maxStackSize = itemInfo->data().StackMax;
// EXD TODO: Not sure what this maps to // EXD TODO: Not sure what this maps to
//m_additionalData = itemInfo->additionalData; m_additionalData = itemInfo->data().CategoryArg;
m_blockRate = itemInfo->data().ShieldBlockRate; m_blockRate = itemInfo->data().ShieldBlockRate;
m_block = itemInfo->data().ShieldRate; m_block = itemInfo->data().ShieldRate;
m_defense = itemInfo->data().Defense; m_defense = itemInfo->data().Defense;

View file

@ -99,6 +99,12 @@ void Sapphire::Network::GameConnection::reqPlaceHousingItem( const Packets::FFXI
const auto packet = ZoneChannelPacket< Client::FFXIVIpcHousingPlaceYardItem >( inPacket ); const auto packet = ZoneChannelPacket< Client::FFXIVIpcHousingPlaceYardItem >( inPacket );
const auto& data = packet.data(); const auto& data = packet.data();
Logger::debug(
"Dump:\n{0}",
Util::binaryToHexDump( const_cast< uint8_t* >( &inPacket.data[ 0 ] ),
static_cast< uint16_t >( inPacket.segHdr.size - 0x10 ) )
);
if( data.UserData == 1 ) if( data.UserData == 1 )
{ {
housingMgr.reqPlaceHousingItem( player, data.landIdOrIndex.landId, data.StorageId, static_cast< uint8_t >( data.ContainerIndex ), housingMgr.reqPlaceHousingItem( player, data.landIdOrIndex.landId, data.StorageId, static_cast< uint8_t >( data.ContainerIndex ),

View file

@ -736,7 +736,7 @@ void Sapphire::Network::GameConnection::commandHandler( const Packets::FFXIVARR_
break; break;
}*/ }*/
case PacketCommand::HOUSING_LAYOUTMODE: case PacketCommand::HOUSING_WARP_TO_SAFE:
{ {
// close ui // close ui
if( param11 == 1 ) if( param11 == 1 )

View file

@ -1,6 +1,4 @@
#ifndef SAPPHIRE_HOUSE_H #pragma once
#define SAPPHIRE_HOUSE_H
#include "Forwards.h" #include "Forwards.h"
#include <Common.h> #include <Common.h>
#include <set> #include <set>
@ -62,5 +60,3 @@ namespace Sapphire
}; };
} }
#endif // SAPPHIRE_HOUSE_H

View file

@ -176,7 +176,7 @@ void Sapphire::HousingZone::onPlayerZoneIn( Entity::Player& player )
auto& objects = m_yardObjects[ isInSubdivision ? 1 : 0 ]; auto& objects = m_yardObjects[ isInSubdivision ? 1 : 0 ];
memcpy( &housingObjectInit->data().YardObjects, &objects + ( yardPacketNum * 400 ), yardObjectSize * 400 ); memcpy( &housingObjectInit->data().YardObjects, &objects + ( yardPacketNum * 100 ), yardObjectSize * 100 );
server.queueForPlayer( player.getCharacterId(), housingObjectInit ); server.queueForPlayer( player.getCharacterId(), housingObjectInit );
} }
@ -269,7 +269,7 @@ void Sapphire::HousingZone::sendLandUpdate( uint8_t landId )
void Sapphire::HousingZone::onUpdate( uint64_t tickCount ) void Sapphire::HousingZone::onUpdate( uint64_t tickCount )
{ {
for( auto pLandItr : m_landPtrMap ) for( const auto& pLandItr : m_landPtrMap )
{ {
pLandItr.second->update( tickCount ); pLandItr.second->update( tickCount );
} }