mirror of
https://github.com/SapphireServer/Sapphire.git
synced 2025-04-28 07:07:45 +00:00
Properly reset aggro on mob retreat
This commit is contained in:
parent
f704aa4582
commit
ad6de5fe00
2 changed files with 4 additions and 3 deletions
|
@ -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() );
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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 );
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue