1
Fork 0
mirror of https://github.com/SapphireServer/Sapphire.git synced 2025-05-25 19:17:45 +00:00

set m_rot early as well

This commit is contained in:
collett 2021-08-08 05:11:52 +09:00
parent b1d0eb1581
commit b951d3475c
4 changed files with 9 additions and 10 deletions

View file

@ -78,7 +78,7 @@ public:
return; return;
} }
player.setInstance( internalZone, pos ); player.setInstance( internalZone, pos, player.getRot() );
} ); } );
} }
}; };

View file

@ -24,7 +24,7 @@ public:
if( instance ) if( instance )
{ {
Common::FFXIVARR_POSITION3 pos { 30, 1, 0 }; Common::FFXIVARR_POSITION3 pos { 30, 1, 0 };
player.setInstance( instance, pos ); player.setInstance( instance, pos, player.getRot() );
} }
} }
}; };

View file

@ -495,7 +495,7 @@ bool Sapphire::Entity::Player::setInstance( TerritoryPtr instance )
return teriMgr.movePlayer( instance, getAsPlayer() ); return teriMgr.movePlayer( instance, getAsPlayer() );
} }
bool Sapphire::Entity::Player::setInstance( TerritoryPtr instance, Common::FFXIVARR_POSITION3 pos ) bool Sapphire::Entity::Player::setInstance( TerritoryPtr instance, Common::FFXIVARR_POSITION3 pos, float rot )
{ {
m_onEnterEventDone = false; m_onEnterEventDone = false;
if( !instance ) if( !instance )
@ -514,12 +514,16 @@ bool Sapphire::Entity::Player::setInstance( TerritoryPtr instance, Common::FFXIV
} }
m_pos = pos; m_pos = pos;
m_rot = rot;
if( teriMgr.movePlayer( instance, getAsPlayer() ) ) if( teriMgr.movePlayer( instance, getAsPlayer() ) )
{ {
return true; return true;
} }
else else
{
m_pos = m_prevPos; m_pos = m_prevPos;
m_rot= m_prevRot;
}
return false; return false;
} }
@ -2806,12 +2810,7 @@ bool Sapphire::Entity::Player::enterPredefinedPrivateInstance( uint32_t zoneId )
auto instance = getOrCreatePrivateInstance( zoneId ); auto instance = getOrCreatePrivateInstance( zoneId );
if( instance ) if( instance )
{ return setInstance( instance, info.pos, info.rot );
auto result = setInstance( instance, info.pos );
if( result )
setRot( info.rot );
return result;
}
} }
sendUrgent( "instance id: {} is not defined.", zoneId ); sendUrgent( "instance id: {} is not defined.", zoneId );
auto instance = getOrCreatePrivateInstance( zoneId ); auto instance = getOrCreatePrivateInstance( zoneId );

View file

@ -490,7 +490,7 @@ namespace Sapphire::Entity
bool setInstance( TerritoryPtr instance ); bool setInstance( TerritoryPtr instance );
/*! sets the players instance & initiates zoning process */ /*! sets the players instance & initiates zoning process */
bool setInstance( Sapphire::TerritoryPtr instance, Sapphire::Common::FFXIVARR_POSITION3 pos ); bool setInstance( Sapphire::TerritoryPtr instance, Sapphire::Common::FFXIVARR_POSITION3 pos, float rot );
/*! returns the player to their position before zoning into an instance */ /*! returns the player to their position before zoning into an instance */
bool exitInstance(); bool exitInstance();