diff --git a/src/world/Actor/BNpc.cpp b/src/world/Actor/BNpc.cpp index 4454af44..841ff2b9 100644 --- a/src/world/Actor/BNpc.cpp +++ b/src/world/Actor/BNpc.cpp @@ -352,7 +352,7 @@ bool Sapphire::Entity::BNpc::hateListHasActor( Sapphire::Entity::CharaPtr pChara void Sapphire::Entity::BNpc::aggro( Sapphire::Entity::CharaPtr pChara ) { auto pRNGMgr = m_pFw->get< World::Manager::RNGMgr >(); - auto variation = static_cast< uint32_t >( pRNGMgr->getRandGenerator< float >( 50, 600 ).next() ); + auto variation = static_cast< uint32_t >( pRNGMgr->getRandGenerator< float >( 500, 1000 ).next() ); m_lastAttack = Util::getTimeMs() + variation; hateListUpdate( pChara, 1 ); @@ -380,7 +380,8 @@ void Sapphire::Entity::BNpc::deaggro( Sapphire::Entity::CharaPtr pChara ) if( pChara->isPlayer() ) { PlayerPtr tmpPlayer = pChara->getAsPlayer(); - tmpPlayer->queuePacket( makeActorControl142( getId(), ActorControlType::ToggleWeapon, 0, 1, 1 ) ); + sendToInRangeSet( makeActorControl142( getId(), ActorControlType::ToggleWeapon, 0, 1, 1 ) ); + sendToInRangeSet( makeActorControl142( getId(), ActorControlType::ToggleAggro, 0, 0, 0 ) ); tmpPlayer->onMobDeaggro( getAsBNpc() ); } } diff --git a/src/world/Navi/NaviProvider.cpp b/src/world/Navi/NaviProvider.cpp index aaee0ba7..277f9299 100644 --- a/src/world/Navi/NaviProvider.cpp +++ b/src/world/Navi/NaviProvider.cpp @@ -578,7 +578,7 @@ int32_t Sapphire::World::Navi::NaviProvider::addAgent( Entity::Chara& chara ) params.collisionQueryRange = params.radius * 12.0f; params.pathOptimizationRange = params.radius * 20.0f; params.updateFlags = 0; - //params.updateFlags |= DT_CROWD_OBSTACLE_AVOIDANCE; + params.updateFlags |= DT_CROWD_ANTICIPATE_TURNS; float position[] = { chara.getPos().x, chara.getPos().y, chara.getPos().z }; return m_pCrowd->addAgent( position, ¶ms ); }