mirror of
https://github.com/SapphireServer/Sapphire.git
synced 2025-04-26 22:37:45 +00:00
Following and retreating works
This commit is contained in:
parent
eeded4c4f0
commit
c0c88ca783
2 changed files with 17 additions and 2 deletions
|
@ -419,6 +419,14 @@ void Sapphire::Entity::BNpc::update( uint64_t tickCount )
|
|||
{
|
||||
setInvincibilityType( InvincibilityType::InvincibilityIgnoreDamage );
|
||||
|
||||
auto pNaviMgr = m_pFw->get< World::Manager::NaviMgr >();
|
||||
auto pNaviProvider = m_pCurrentZone->getNaviProvider();
|
||||
if( pNaviProvider )
|
||||
{
|
||||
//if( !pNaviProvider->hasTargetState( *this ) )
|
||||
pNaviProvider->setMoveTarget( *this, m_spawnPos );
|
||||
}
|
||||
|
||||
if( moveTo( m_spawnPos ) )
|
||||
{
|
||||
setInvincibilityType( InvincibilityType::InvincibilityNone );
|
||||
|
@ -521,9 +529,16 @@ void Sapphire::Entity::BNpc::update( uint64_t tickCount )
|
|||
|
||||
if( !hasFlag( Immobile ) && ( distance > minActorDistance ) )
|
||||
{
|
||||
auto pNaviMgr = m_pFw->get< World::Manager::NaviMgr >();
|
||||
auto pNaviProvider = m_pCurrentZone->getNaviProvider();
|
||||
if( pNaviProvider )
|
||||
{
|
||||
//if( !pNaviProvider->hasTargetState( *this ) )
|
||||
pNaviProvider->setMoveTarget( *this, pHatedActor->getPos() );
|
||||
}
|
||||
//auto pTeriMgr = m_pFw->get< World::Manager::TerritoryMgr >();
|
||||
//if ( ( currTime - m_lastAttack ) > 600 && pTeriMgr->isDefaultTerritory( getCurrentZone()->getTerritoryTypeId() ) )
|
||||
moveTo( pHatedActor->getPos() );
|
||||
moveTo( pHatedActor->getPos() );
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -571,7 +571,7 @@ int32_t Sapphire::World::Navi::NaviProvider::addAgent( Entity::Chara& chara )
|
|||
dtCrowdAgentParams params;
|
||||
std::memset( ¶ms, 0, sizeof( params ) );
|
||||
params.height = 7.f;
|
||||
params.maxAcceleration = 16.f;
|
||||
params.maxAcceleration = 26.f;
|
||||
params.maxSpeed = 13.5f;
|
||||
params.radius = 2.f;
|
||||
params.collisionQueryRange = params.radius * 12.0f;
|
||||
|
|
Loading…
Add table
Reference in a new issue