From d4f431b37ad8e23284460d8cabf8d533b250bd7c Mon Sep 17 00:00:00 2001 From: NotAdam Date: Sat, 29 Dec 2018 19:20:47 +1100 Subject: [PATCH] update estate guest access client trigger handler --- src/common/Network/CommonActorControl.h | 1 + src/world/Manager/HousingMgr.cpp | 2 +- src/world/Network/Handlers/ClientTriggerHandler.cpp | 12 ++++++++++++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/common/Network/CommonActorControl.h b/src/common/Network/CommonActorControl.h index 9c03d685..6438bc49 100644 --- a/src/common/Network/CommonActorControl.h +++ b/src/common/Network/CommonActorControl.h @@ -346,6 +346,7 @@ enum ActorControlType : uint16_t RequestEstateEditGreeting = 0x45B, RequestEstateGreeting = 0x45C, // sends FFXIVIpcHousingEstateGreeting in return RequestEstateEditGuestAccessSettings = 0x45D, + UpdateEstateGuestAccess = 0x45E, RequestEstateTagSettings = 0x45F, RequestEstateInventory = 0x0461, RequestHousingItemUI = 0x463, diff --git a/src/world/Manager/HousingMgr.cpp b/src/world/Manager/HousingMgr.cpp index 6f410bc6..c3aa2369 100644 --- a/src/world/Manager/HousingMgr.cpp +++ b/src/world/Manager/HousingMgr.cpp @@ -779,7 +779,7 @@ void Sapphire::World::Manager::HousingMgr::requestEstateEditGuestAccess( Entity: if( land->getOwnerId() != player.getId() ) return; - auto packet = makeZonePacket< FFXIVIpcHousingShowEstateGuestAccess >( player.getId() ); + auto packet = makeZonePacket< Server::FFXIVIpcHousingShowEstateGuestAccess >( player.getId() ); packet->data().ident = ident; player.queuePacket( packet ); diff --git a/src/world/Network/Handlers/ClientTriggerHandler.cpp b/src/world/Network/Handlers/ClientTriggerHandler.cpp index 0d58d73d..d2752009 100644 --- a/src/world/Network/Handlers/ClientTriggerHandler.cpp +++ b/src/world/Network/Handlers/ClientTriggerHandler.cpp @@ -479,6 +479,18 @@ void Sapphire::Network::GameConnection::clientTriggerHandler( FrameworkPtr pFw, break; } + case ClientTriggerType::UpdateEstateGuestAccess: + { + auto canTeleport = ( param2 & 0xFF ) == 1; + auto unk1 = ( param2 >> 8 & 0xFF ) == 1; // todo: related to fc? or unused? + auto privateEstateAccess = ( param2 >> 16 & 0xFF ) == 1; + auto unk = ( param2 >> 24 & 0xFF ) == 1; // todo: related to fc? or unused? + + player.sendDebug( "can teleport: " + std::to_string( canTeleport ) + ", unk: " + std::to_string( unk1 ) + + ", privateEstateAccess: " + std::to_string( privateEstateAccess ) + + ", unk: " + std::to_string( unk ) ); + break; + } default: {