This commit is contained in:
aozhiwei 2022-12-07 13:36:50 +08:00
parent 4687b5e8c0
commit 4af17b050b

View File

@ -121,7 +121,6 @@ behaviac::EBTStatus AndroidAgent::DoAttack()
}
a8::Vec2 dir = enemy->GetPos() - GetOwner()->GetPos();
dir.Rotate((10 + rand() % 360)/ 180.0f);
dir.Normalize();
GetOwner()->SetMoveDir(dir);
GetOwner()->SetAttackDir(dir);
@ -160,25 +159,28 @@ behaviac::EBTStatus AndroidAgent::DoPursuit()
}
a8::Vec2 dir = enemy->GetPos() - GetOwner()->GetPos();
dir.Rotate((10 + rand() % 360)/ 180.0f);
dir.Normalize();
GetOwner()->SetMoveDir(dir);
GetOwner()->SetAttackDir(dir);
bool shot_ok = false;
a8::Vec2 shot_dir = dir;
GetOwner()->Shot(shot_dir, shot_ok, 0, 0);
CreatureWeakPtr target = enemy->GetWeakPtrRef();
long long last_frameno = GetOwner()->room->GetFrameNo();
status_runing_cb_ =
[this, last_frameno] ()
[this, last_frameno, target] () mutable
{
if (GetOwner()->room->GetFrameNo() - last_frameno > SERVER_FRAME_RATE * 3) {
if (GetOwner()->room->GetFrameNo() - last_frameno > SERVER_FRAME_RATE * 10 &&
target.Get()) {
status_ = behaviac::BT_SUCCESS;
return behaviac::BT_SUCCESS;
} else {
bool shot_ok = false;
a8::Vec2 shot_dir = GetOwner()->GetAttackDir();
GetOwner()->Shot(shot_dir, shot_ok, 0, 0);
a8::Vec2 dir = target.Get()->GetPos() - GetOwner()->GetPos();
dir.Normalize();
GetOwner()->SetMoveDir(dir);
GetOwner()->SetAttackDir(dir);
return behaviac::BT_RUNNING;
}