1
Fork 0
mirror of https://github.com/SapphireServer/Sapphire.git synced 2025-05-01 16:37:45 +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_maxStackSize = itemInfo->data().StackMax;
// EXD TODO: Not sure what this maps to
//m_additionalData = itemInfo->additionalData;
m_additionalData = itemInfo->data().CategoryArg;
m_blockRate = itemInfo->data().ShieldBlockRate;
m_block = itemInfo->data().ShieldRate;
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& 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 )
{
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;
}*/
case PacketCommand::HOUSING_LAYOUTMODE:
case PacketCommand::HOUSING_WARP_TO_SAFE:
{
// close ui
if( param11 == 1 )

View file

@ -1,6 +1,4 @@
#ifndef SAPPHIRE_HOUSE_H
#define SAPPHIRE_HOUSE_H
#pragma once
#include "Forwards.h"
#include <Common.h>
#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 ];
memcpy( &housingObjectInit->data().YardObjects, &objects + ( yardPacketNum * 400 ), yardObjectSize * 400 );
memcpy( &housingObjectInit->data().YardObjects, &objects + ( yardPacketNum * 100 ), yardObjectSize * 100 );
server.queueForPlayer( player.getCharacterId(), housingObjectInit );
}
@ -269,7 +269,7 @@ void Sapphire::HousingZone::sendLandUpdate( uint8_t landId )
void Sapphire::HousingZone::onUpdate( uint64_t tickCount )
{
for( auto pLandItr : m_landPtrMap )
for( const auto& pLandItr : m_landPtrMap )
{
pLandItr.second->update( tickCount );
}