This commit is contained in:
aozhiwei 2023-10-26 11:19:05 +08:00
parent db139bbcb6
commit 7f0895f9e2

View File

@ -999,30 +999,47 @@ bool HeroAgent::TargetInRange(float range)
float HeroAgent::GetNewAttackerHPRate()
{
return owner_->GetLastAttacker().Get()->GetHP() /
std::max(1.0f, owner_->GetLastAttacker().Get()->GetMaxHP());
}
bool HeroAgent::GetNewAttackerInRange(float range)
{
if (!HasNewAttacker()) {
return false;
}
return Collision::InSquare
(owner_->GetLastAttacker().Get()->GetPos().ToGlmVec3(),
owner_->GetPos().ToGlmVec3(),
range);
}
int HeroAgent::GetNewAttackerPassTime()
{
return (owner_->room->GetFrameNo() - owner_->GetLastBeAttackFrameNo()) * FRAME_RATE_MS;
}
bool HeroAgent::HasNewAttacker()
{
if (!current_target_agent->IsValid()) {
return false;
}
if (!owner_->GetLastAttacker().Get()) {
return false;
}
return current_target_agent->GetUniId() != owner_->GetLastAttacker().Get()->GetUniId() &&
owner_->GetLastAttacker().Get()->revive_count == owner_->GetLastAttackerReviveTimes();
}
bool HeroAgent::NewAttackerIsHuman()
{
return owner_->GetLastAttacker().Get()->IsHuman();
}
bool HeroAgent::SwitchToNewAttacker()
{
if (HasNewAttacker()) {
}
return true;
}