mirror of
https://github.com/SapphireServer/Sapphire.git
synced 2025-04-27 06:47: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 );
|
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 ) )
|
if( moveTo( m_spawnPos ) )
|
||||||
{
|
{
|
||||||
setInvincibilityType( InvincibilityType::InvincibilityNone );
|
setInvincibilityType( InvincibilityType::InvincibilityNone );
|
||||||
|
@ -521,9 +529,16 @@ void Sapphire::Entity::BNpc::update( uint64_t tickCount )
|
||||||
|
|
||||||
if( !hasFlag( Immobile ) && ( distance > minActorDistance ) )
|
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 >();
|
//auto pTeriMgr = m_pFw->get< World::Manager::TerritoryMgr >();
|
||||||
//if ( ( currTime - m_lastAttack ) > 600 && pTeriMgr->isDefaultTerritory( getCurrentZone()->getTerritoryTypeId() ) )
|
//if ( ( currTime - m_lastAttack ) > 600 && pTeriMgr->isDefaultTerritory( getCurrentZone()->getTerritoryTypeId() ) )
|
||||||
moveTo( pHatedActor->getPos() );
|
moveTo( pHatedActor->getPos() );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
@ -571,7 +571,7 @@ int32_t Sapphire::World::Navi::NaviProvider::addAgent( Entity::Chara& chara )
|
||||||
dtCrowdAgentParams params;
|
dtCrowdAgentParams params;
|
||||||
std::memset( ¶ms, 0, sizeof( params ) );
|
std::memset( ¶ms, 0, sizeof( params ) );
|
||||||
params.height = 7.f;
|
params.height = 7.f;
|
||||||
params.maxAcceleration = 16.f;
|
params.maxAcceleration = 26.f;
|
||||||
params.maxSpeed = 13.5f;
|
params.maxSpeed = 13.5f;
|
||||||
params.radius = 2.f;
|
params.radius = 2.f;
|
||||||
params.collisionQueryRange = params.radius * 12.0f;
|
params.collisionQueryRange = params.radius * 12.0f;
|
||||||
|
|
Loading…
Add table
Reference in a new issue