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:
parent
b1d0eb1581
commit
b951d3475c
4 changed files with 9 additions and 10 deletions
|
@ -78,7 +78,7 @@ public:
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
player.setInstance( internalZone, pos );
|
player.setInstance( internalZone, pos, player.getRot() );
|
||||||
} );
|
} );
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -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() );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -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 );
|
||||||
|
|
|
@ -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();
|
||||||
|
|
Loading…
Add table
Reference in a new issue