From 76662f6e2c34cd188d0a624dc3c7493f2123a04f Mon Sep 17 00:00:00 2001 From: NotAdam Date: Sun, 2 Dec 2018 17:27:59 +1100 Subject: [PATCH] minor cleanup and track house zone player activity --- .../common/eobj/HousingEstateEntrance.cpp | 1 + .../Housing/HousingInteriorTerritory.cpp | 23 +++++++++++-------- .../Housing/HousingInteriorTerritory.h | 3 +++ 3 files changed, 18 insertions(+), 9 deletions(-) diff --git a/src/servers/Scripts/common/eobj/HousingEstateEntrance.cpp b/src/servers/Scripts/common/eobj/HousingEstateEntrance.cpp index 7394ac86..b92ca7b9 100644 --- a/src/servers/Scripts/common/eobj/HousingEstateEntrance.cpp +++ b/src/servers/Scripts/common/eobj/HousingEstateEntrance.cpp @@ -35,6 +35,7 @@ public: ident.landId = eobj.getHousingLink() >> 8; ident.territoryTypeId = zone->getTerritoryTypeId(); ident.wardNum = zone->getWardNum(); + ident.worldId = 67; auto internalZone = terriMgr->findOrCreateHousingInterior( ident ); if( internalZone ) diff --git a/src/servers/sapphire_zone/Territory/Housing/HousingInteriorTerritory.cpp b/src/servers/sapphire_zone/Territory/Housing/HousingInteriorTerritory.cpp index 009c8d35..373d725a 100644 --- a/src/servers/sapphire_zone/Territory/Housing/HousingInteriorTerritory.cpp +++ b/src/servers/sapphire_zone/Territory/Housing/HousingInteriorTerritory.cpp @@ -35,7 +35,7 @@ Housing::HousingInteriorTerritory::HousingInteriorTerritory( Common::LandIdent i Zone( territoryTypeId, guId, internalName, contentName ), m_landIdent( ident ) { - + m_lastActivityTime = static_cast< uint32_t >( Util::getTimeSeconds() ); } Housing::HousingInteriorTerritory::~HousingInteriorTerritory() @@ -79,22 +79,27 @@ void Housing::HousingInteriorTerritory::onPlayerZoneIn( Entity::Player& player ) for( yardPacketNum = 0; yardPacketNum < yardPacketTotal; yardPacketNum++ ) { - auto housingObjectInitializPacket = makeZonePacket< FFXIVIpcHousingObjectInitialize >( player.getId() ); - memcpy( &housingObjectInitializPacket->data().landIdent, &m_landIdent, sizeof( Common::LandIdent ) ); - housingObjectInitializPacket->data().landIdent.worldId = 67; - housingObjectInitializPacket->data().u1 = 0; - housingObjectInitializPacket->data().u2 = 100; - housingObjectInitializPacket->data().packetNum = yardPacketNum; - housingObjectInitializPacket->data().packetTotal = yardPacketTotal; + auto objectInitPacket = makeZonePacket< FFXIVIpcHousingObjectInitialize >( player.getId() ); + memcpy( &objectInitPacket->data().landIdent, &m_landIdent, sizeof( Common::LandIdent ) ); + objectInitPacket->data().u1 = 0; + objectInitPacket->data().u2 = 100; + objectInitPacket->data().packetNum = yardPacketNum; + objectInitPacket->data().packetTotal = yardPacketTotal; //TODO: Add Objects here - player.queuePacket( housingObjectInitializPacket ); + player.queuePacket( objectInitPacket ); } } void Housing::HousingInteriorTerritory::onUpdate( uint32_t currTime ) { + if( m_playerMap.size() > 0 ) + m_lastActivityTime = currTime; +} +uint32_t Housing::HousingInteriorTerritory::getLastActivityTime() const +{ + return m_lastActivityTime; } \ No newline at end of file diff --git a/src/servers/sapphire_zone/Territory/Housing/HousingInteriorTerritory.h b/src/servers/sapphire_zone/Territory/Housing/HousingInteriorTerritory.h index 281d4bc4..e5be57a9 100644 --- a/src/servers/sapphire_zone/Territory/Housing/HousingInteriorTerritory.h +++ b/src/servers/sapphire_zone/Territory/Housing/HousingInteriorTerritory.h @@ -18,7 +18,10 @@ namespace Sapphire::World::Territory::Housing void onPlayerZoneIn( Entity::Player& player ) override; void onUpdate( uint32_t currTime ) override; + uint32_t getLastActivityTime() const; + private: Common::LandIdent m_landIdent; + uint32_t m_lastActivityTime; }; } \ No newline at end of file