diff --git a/src/servers/sapphire_zone/Zone/HousingZone.cpp b/src/servers/sapphire_zone/Zone/HousingZone.cpp index 094425eb..22ee225e 100644 --- a/src/servers/sapphire_zone/Zone/HousingZone.cpp +++ b/src/servers/sapphire_zone/Zone/HousingZone.cpp @@ -131,6 +131,20 @@ void Core::HousingZone::sendLandSet( Entity::Player& player ) player.queuePacket( landsetInitializePacket ); } +void Core::HousingZone::sendLandUpdate( uint8_t landId ) +{ + for( const auto& playerIt : m_playerMap ) + { + auto pPlayer = playerIt.second; + + auto landUpdatePacket = makeZonePacket< FFXIVIpcLandUpdate >( pPlayer->getId() ); + landUpdatePacket->data().landId = landId; + landUpdatePacket->data().land = getLand( landId )->getLand(); + + pPlayer->queuePacket( landUpdatePacket ); + } +} + bool Core::HousingZone::isPlayerSubInstance( Entity::Player& player ) { return player.getPos().x < -15000.0f; //ToDo: get correct pos diff --git a/src/servers/sapphire_zone/Zone/HousingZone.h b/src/servers/sapphire_zone/Zone/HousingZone.h index 4d265df2..c2c6619f 100644 --- a/src/servers/sapphire_zone/Zone/HousingZone.h +++ b/src/servers/sapphire_zone/Zone/HousingZone.h @@ -23,6 +23,7 @@ namespace Core void onUpdate( uint32_t currTime ) override; void sendLandSet( Entity::Player& player ); + void sendLandUpdate( uint8_t landId ); bool isPlayerSubInstance( Entity::Player& player ); /* returns current ward number for this zone */