From 4ba59e92fdd05ad0e70a7827a711609d850d1bb0 Mon Sep 17 00:00:00 2001 From: Mordred Date: Tue, 2 Apr 2019 23:56:47 +0200 Subject: [PATCH] Added some InitZone information --- src/common/Network/PacketDef/Zone/ServerZoneDef.h | 14 +++++++++++++- src/world/Actor/Player.cpp | 3 +-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/common/Network/PacketDef/Zone/ServerZoneDef.h b/src/common/Network/PacketDef/Zone/ServerZoneDef.h index b8b4cdd0..29b6b883 100644 --- a/src/common/Network/PacketDef/Zone/ServerZoneDef.h +++ b/src/common/Network/PacketDef/Zone/ServerZoneDef.h @@ -733,12 +733,24 @@ namespace Sapphire::Network::Packets::Server uint16_t serverId; uint16_t zoneId; uint16_t unknown1; - uint16_t unknown2; + uint16_t contentfinderConditionId; uint32_t unknown3; uint32_t unknown4; uint8_t weatherId; uint8_t bitmask; uint8_t bitmask1; + // bitmask1 findings + //0 = unknown ( 7B F8 69 ) + //1 = show playguide window ( 7B 69 ) + //2 = unknown ( 7B 69 ) + //4 = disables record ready check ( 7B DF DF F8 F0 E4 110 (all sorts of social packets) ) + //8 = hide server icon ( 7B 69 ) + //16 = enable flight ( 7B F8 69 ) + //32 = unknown ( 7B F8 69 ) + //64 = unknown ( 7B F8 69 ) + //128 = shows message "You are now in the instanced area XX A. + //Current instance can be confirmed at any time using the /instance text command." ( 7B F8 69 ) + uint8_t unknown5; uint16_t festivalId; uint16_t additionalFestivalId; diff --git a/src/world/Actor/Player.cpp b/src/world/Actor/Player.cpp index de826758..7754369b 100644 --- a/src/world/Actor/Player.cpp +++ b/src/world/Actor/Player.cpp @@ -1734,8 +1734,7 @@ void Sapphire::Entity::Player::sendZonePackets() auto initZonePacket = makeZonePacket< FFXIVIpcInitZone >( getId() ); initZonePacket->data().zoneId = getCurrentZone()->getTerritoryTypeId(); initZonePacket->data().weatherId = static_cast< uint8_t >( getCurrentZone()->getCurrentWeather() ); - initZonePacket->data().bitmask = 0x1; //Setting this to 16 (decimal) makes it so you can fly in the area (more research needed!) - initZonePacket->data().unknown5 = 0x2A; + initZonePacket->data().bitmask = 0x1; initZonePacket->data().festivalId = getCurrentZone()->getCurrentFestival().first; initZonePacket->data().additionalFestivalId = getCurrentZone()->getCurrentFestival().second; initZonePacket->data().pos.x = getPos().x;