diff --git a/src/common/Network/PacketDef/Zone/ServerZoneDef.h b/src/common/Network/PacketDef/Zone/ServerZoneDef.h index 76318858..917e4b55 100644 --- a/src/common/Network/PacketDef/Zone/ServerZoneDef.h +++ b/src/common/Network/PacketDef/Zone/ServerZoneDef.h @@ -722,9 +722,9 @@ namespace Sapphire::Network::Packets::WorldPackets::Server uint16_t MpMax; uint16_t NormalAI; uint8_t OnlineStatus; + uint8_t __padding1; uint8_t PermissionInvisibility; uint8_t FirstAttackType; - uint8_t __padding1; uint64_t FirstAttackId; uint8_t LinkReply; uint8_t LinkCountLimit; @@ -733,16 +733,14 @@ namespace Sapphire::Network::Packets::WorldPackets::Server uint8_t LinkFamily; uint8_t LinkParent; uint8_t PoseEmote; - uint8_t __padding3; - uint16_t Flag; uint8_t __padding2; + uint16_t Flag; + uint8_t __padding3; uint8_t __padding4; Common::StatusWork Status[30]; MountStruct Mount; uint8_t Name[32]; uint8_t Customize[26]; - uint8_t __padding5; - uint8_t __padding6; uint32_t Equipment[10]; float Pos[3]; uint8_t FreeCompanyTag[6]; diff --git a/src/scripts/common/CmnDefInnBed.cpp b/src/scripts/common/CmnDefInnBed.cpp index 58b2a6d9..59980b28 100644 --- a/src/scripts/common/CmnDefInnBed.cpp +++ b/src/scripts/common/CmnDefInnBed.cpp @@ -57,7 +57,7 @@ public: void onEnterTerritory( Entity::Player& player, uint32_t eventId, uint16_t param1, uint16_t param2 ) override { - Scene00100( player ); + //Scene00100( player ); } }; diff --git a/src/world/Actor/Player.cpp b/src/world/Actor/Player.cpp index 6f71c033..fc9b52d6 100644 --- a/src/world/Actor/Player.cpp +++ b/src/world/Actor/Player.cpp @@ -1507,7 +1507,6 @@ void Player::sendZonePackets() initPacket->data().playerActorId = getId(); queuePacket( initPacket ); - sendStatusUpdate(); sendInventory(); if( isLogin() ) @@ -1524,7 +1523,6 @@ void Player::sendZonePackets() sendHuntingLog(); sendStats(); - sendStatusUpdate(); // only initialize the UI if the player in fact just logged in. if( isLogin() ) diff --git a/src/world/Manager/WarpMgr.cpp b/src/world/Manager/WarpMgr.cpp index 7dcd1f8b..b5b23f97 100644 --- a/src/world/Manager/WarpMgr.cpp +++ b/src/world/Manager/WarpMgr.cpp @@ -85,7 +85,6 @@ void WarpMgr::finishWarp( Entity::Player& player ) player.sendToInRangeSet( zoneInPacket ); player.sendToInRangeSet( SetStatusPacket, true ); - player.sendStatusUpdate(); auto& server = Common::Service< WorldServer >::ref(); server.queueForPlayer( player.getCharacterId(), zoneInPacket ); diff --git a/src/world/Network/Handlers/PacketCommandHandler.cpp b/src/world/Network/Handlers/PacketCommandHandler.cpp index e34f70ff..632b0db4 100644 --- a/src/world/Network/Handlers/PacketCommandHandler.cpp +++ b/src/world/Network/Handlers/PacketCommandHandler.cpp @@ -594,7 +594,6 @@ void Sapphire::Network::GameConnection::commandHandler( const Packets::FFXIVARR_ auto& warpMgr = Service< WarpMgr >::ref(); warpMgr.finishWarp( player ); player.setLoadingComplete( true ); - Service< World::Manager::PlayerMgr >::ref().onEquipDisplayFlagsChanged( player ); if( player.isLogin() ) player.setIsLogin( false ); break; diff --git a/src/world/Network/PacketWrappers/PlayerSpawnPacket.h b/src/world/Network/PacketWrappers/PlayerSpawnPacket.h index abbb31cb..a647a006 100644 --- a/src/world/Network/PacketWrappers/PlayerSpawnPacket.h +++ b/src/world/Network/PacketWrappers/PlayerSpawnPacket.h @@ -37,6 +37,7 @@ namespace Sapphire::Network::Packets::WorldPackets::Server m_data.Hp = player.getHp(); m_data.Mp = player.getMp(); + m_data.Tp = player.getTp(); m_data.HpMax = player.getMaxHp(); m_data.MpMax = player.getMaxMp(); @@ -83,6 +84,10 @@ namespace Sapphire::Network::Packets::WorldPackets::Server m_data.Mount.Id = player.getCurrentMount(); m_data.OnlineStatus = static_cast< uint8_t >( player.getOnlineStatus() ); + m_data.PermissionInvisibility = 0; + + m_data.GrandCompany = player.getGc(); + m_data.GrandCompanyRank = player.getGcRankArray()[ player.getGc() - 1 ]; //m_data.u23 = 0x04; //m_data.u24 = 256; @@ -102,25 +107,26 @@ namespace Sapphire::Network::Packets::WorldPackets::Server } // 0x20 == spawn hidden to be displayed by the spawneffect control m_data.ActiveType = player.getStance(); + m_data.Flag = 0; if( player.getZoningType() != Common::ZoneingType::None || player.getGmInvis() ) { - m_data.ActiveType |= static_cast< uint16_t >( Common::DisplayFlags::Invisible ); + m_data.Flag |= static_cast< uint16_t >( Common::DisplayFlags::Invisible ); } if( player.getEquipDisplayFlags() & Sapphire::Common::EquipDisplayFlags::HideHead ) { - m_data.ActiveType |= static_cast< uint16_t >( Common::DisplayFlags::HideHead ); + m_data.Flag |= static_cast< uint16_t >( Common::DisplayFlags::HideHead ); } if( player.getEquipDisplayFlags() & Sapphire::Common::EquipDisplayFlags::HideWeapon ) { - m_data.ActiveType |= static_cast< uint16_t >( Common::DisplayFlags::HideWeapon ); + m_data.Flag |= static_cast< uint16_t >( Common::DisplayFlags::HideWeapon ); } if( player.getEquipDisplayFlags() & Sapphire::Common::EquipDisplayFlags::Visor ) { - m_data.ActiveType |= static_cast< uint16_t >( Common::DisplayFlags::Visor ); + m_data.Flag |= static_cast< uint16_t >( Common::DisplayFlags::Visor ); } if( !( player.getEquipDisplayFlags() & Sapphire::Common::EquipDisplayFlags::HideLegacyMark ) )