mirror of
https://github.com/SapphireServer/Sapphire.git
synced 2025-04-26 14:37:44 +00:00
Merge pull request #847 from Skyliegirl33/ThreePointThree
[3.3] PlayerSpawn changes to fix equip flags & TP, prevent bed scene from playing
This commit is contained in:
commit
7ea6d4f44d
6 changed files with 14 additions and 14 deletions
|
@ -722,9 +722,9 @@ namespace Sapphire::Network::Packets::WorldPackets::Server
|
||||||
uint16_t MpMax;
|
uint16_t MpMax;
|
||||||
uint16_t NormalAI;
|
uint16_t NormalAI;
|
||||||
uint8_t OnlineStatus;
|
uint8_t OnlineStatus;
|
||||||
|
uint8_t __padding1;
|
||||||
uint8_t PermissionInvisibility;
|
uint8_t PermissionInvisibility;
|
||||||
uint8_t FirstAttackType;
|
uint8_t FirstAttackType;
|
||||||
uint8_t __padding1;
|
|
||||||
uint64_t FirstAttackId;
|
uint64_t FirstAttackId;
|
||||||
uint8_t LinkReply;
|
uint8_t LinkReply;
|
||||||
uint8_t LinkCountLimit;
|
uint8_t LinkCountLimit;
|
||||||
|
@ -733,16 +733,14 @@ namespace Sapphire::Network::Packets::WorldPackets::Server
|
||||||
uint8_t LinkFamily;
|
uint8_t LinkFamily;
|
||||||
uint8_t LinkParent;
|
uint8_t LinkParent;
|
||||||
uint8_t PoseEmote;
|
uint8_t PoseEmote;
|
||||||
uint8_t __padding3;
|
|
||||||
uint16_t Flag;
|
|
||||||
uint8_t __padding2;
|
uint8_t __padding2;
|
||||||
|
uint16_t Flag;
|
||||||
|
uint8_t __padding3;
|
||||||
uint8_t __padding4;
|
uint8_t __padding4;
|
||||||
Common::StatusWork Status[30];
|
Common::StatusWork Status[30];
|
||||||
MountStruct Mount;
|
MountStruct Mount;
|
||||||
uint8_t Name[32];
|
uint8_t Name[32];
|
||||||
uint8_t Customize[26];
|
uint8_t Customize[26];
|
||||||
uint8_t __padding5;
|
|
||||||
uint8_t __padding6;
|
|
||||||
uint32_t Equipment[10];
|
uint32_t Equipment[10];
|
||||||
float Pos[3];
|
float Pos[3];
|
||||||
uint8_t FreeCompanyTag[6];
|
uint8_t FreeCompanyTag[6];
|
||||||
|
|
|
@ -57,7 +57,7 @@ public:
|
||||||
|
|
||||||
void onEnterTerritory( Entity::Player& player, uint32_t eventId, uint16_t param1, uint16_t param2 ) override
|
void onEnterTerritory( Entity::Player& player, uint32_t eventId, uint16_t param1, uint16_t param2 ) override
|
||||||
{
|
{
|
||||||
Scene00100( player );
|
//Scene00100( player );
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1507,7 +1507,6 @@ void Player::sendZonePackets()
|
||||||
initPacket->data().playerActorId = getId();
|
initPacket->data().playerActorId = getId();
|
||||||
queuePacket( initPacket );
|
queuePacket( initPacket );
|
||||||
|
|
||||||
sendStatusUpdate();
|
|
||||||
sendInventory();
|
sendInventory();
|
||||||
|
|
||||||
if( isLogin() )
|
if( isLogin() )
|
||||||
|
@ -1524,7 +1523,6 @@ void Player::sendZonePackets()
|
||||||
sendHuntingLog();
|
sendHuntingLog();
|
||||||
|
|
||||||
sendStats();
|
sendStats();
|
||||||
sendStatusUpdate();
|
|
||||||
|
|
||||||
// only initialize the UI if the player in fact just logged in.
|
// only initialize the UI if the player in fact just logged in.
|
||||||
if( isLogin() )
|
if( isLogin() )
|
||||||
|
|
|
@ -85,7 +85,6 @@ void WarpMgr::finishWarp( Entity::Player& player )
|
||||||
player.sendToInRangeSet( zoneInPacket );
|
player.sendToInRangeSet( zoneInPacket );
|
||||||
|
|
||||||
player.sendToInRangeSet( SetStatusPacket, true );
|
player.sendToInRangeSet( SetStatusPacket, true );
|
||||||
player.sendStatusUpdate();
|
|
||||||
|
|
||||||
auto& server = Common::Service< WorldServer >::ref();
|
auto& server = Common::Service< WorldServer >::ref();
|
||||||
server.queueForPlayer( player.getCharacterId(), zoneInPacket );
|
server.queueForPlayer( player.getCharacterId(), zoneInPacket );
|
||||||
|
|
|
@ -594,7 +594,6 @@ void Sapphire::Network::GameConnection::commandHandler( const Packets::FFXIVARR_
|
||||||
auto& warpMgr = Service< WarpMgr >::ref();
|
auto& warpMgr = Service< WarpMgr >::ref();
|
||||||
warpMgr.finishWarp( player );
|
warpMgr.finishWarp( player );
|
||||||
player.setLoadingComplete( true );
|
player.setLoadingComplete( true );
|
||||||
Service< World::Manager::PlayerMgr >::ref().onEquipDisplayFlagsChanged( player );
|
|
||||||
if( player.isLogin() )
|
if( player.isLogin() )
|
||||||
player.setIsLogin( false );
|
player.setIsLogin( false );
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -37,6 +37,7 @@ namespace Sapphire::Network::Packets::WorldPackets::Server
|
||||||
|
|
||||||
m_data.Hp = player.getHp();
|
m_data.Hp = player.getHp();
|
||||||
m_data.Mp = player.getMp();
|
m_data.Mp = player.getMp();
|
||||||
|
m_data.Tp = player.getTp();
|
||||||
m_data.HpMax = player.getMaxHp();
|
m_data.HpMax = player.getMaxHp();
|
||||||
m_data.MpMax = player.getMaxMp();
|
m_data.MpMax = player.getMaxMp();
|
||||||
|
|
||||||
|
@ -83,6 +84,10 @@ namespace Sapphire::Network::Packets::WorldPackets::Server
|
||||||
m_data.Mount.Id = player.getCurrentMount();
|
m_data.Mount.Id = player.getCurrentMount();
|
||||||
|
|
||||||
m_data.OnlineStatus = static_cast< uint8_t >( player.getOnlineStatus() );
|
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.u23 = 0x04;
|
||||||
//m_data.u24 = 256;
|
//m_data.u24 = 256;
|
||||||
|
@ -102,25 +107,26 @@ namespace Sapphire::Network::Packets::WorldPackets::Server
|
||||||
}
|
}
|
||||||
// 0x20 == spawn hidden to be displayed by the spawneffect control
|
// 0x20 == spawn hidden to be displayed by the spawneffect control
|
||||||
m_data.ActiveType = player.getStance();
|
m_data.ActiveType = player.getStance();
|
||||||
|
m_data.Flag = 0;
|
||||||
|
|
||||||
if( player.getZoningType() != Common::ZoneingType::None || player.getGmInvis() )
|
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 )
|
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 )
|
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 )
|
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 ) )
|
if( !( player.getEquipDisplayFlags() & Sapphire::Common::EquipDisplayFlags::HideLegacyMark ) )
|
||||||
|
|
Loading…
Add table
Reference in a new issue