1
This commit is contained in:
parent
0dff30fbe6
commit
7cc0c7e840
@ -690,3 +690,35 @@ behaviac::EBTStatus HeroAgent::DebugOut(std::string msg, int arg0, int arg1, int
|
||||
#endif
|
||||
return behaviac::BT_SUCCESS;
|
||||
}
|
||||
|
||||
bool HeroAgent::TargetInShotRange()
|
||||
{
|
||||
if (!current_target_agent->IsValid()) {
|
||||
return false;
|
||||
}
|
||||
float shot_range = GetShotRange();
|
||||
bool in_square = Collision::InSquare
|
||||
(GetPos(),
|
||||
current_target_agent->GetPos(),
|
||||
shot_range / 0.7);
|
||||
if (!in_square) {
|
||||
return false;
|
||||
}
|
||||
return shot_range < owner_->GetPos().DistanceGlmVec3(current_target_agent->GetPos());
|
||||
}
|
||||
|
||||
bool HeroAgent::InTargetShotRange()
|
||||
{
|
||||
if (!current_target_agent->IsValid()) {
|
||||
return false;
|
||||
}
|
||||
float shot_range = GetShotRange();
|
||||
bool in_square = Collision::InSquare
|
||||
(GetPos(),
|
||||
current_target_agent->GetPos(),
|
||||
shot_range / 0.7);
|
||||
if (!in_square) {
|
||||
return false;
|
||||
}
|
||||
return shot_range < owner_->GetPos().DistanceGlmVec3(current_target_agent->GetPos());
|
||||
}
|
||||
|
@ -82,6 +82,8 @@ public:
|
||||
bool HasFlag(int tag);
|
||||
void SetFlag(int tag);
|
||||
void UnSetFlag(int tag);
|
||||
bool TargetInShotRange();
|
||||
bool InTargetShotRange();
|
||||
|
||||
behaviac::EBTStatus RegisterEvents(behaviac::vector<BtEvent_e> events);
|
||||
behaviac::EBTStatus SearchEnemy(float range);
|
||||
|
@ -86,11 +86,3 @@ Room* TargetAgent::GetRoom()
|
||||
{
|
||||
return owner_->room;
|
||||
}
|
||||
|
||||
float TargetAgent::GetShotRange()
|
||||
{
|
||||
if (target_.Get() && target_.Get()->GetCurrWeapon()) {
|
||||
return target_.Get()->GetCurrWeapon()->meta->range();
|
||||
}
|
||||
return 0.0f;
|
||||
}
|
||||
|
@ -21,7 +21,6 @@ public:
|
||||
float GetMaxHp();
|
||||
int GetHeroId();
|
||||
int GetLevel();
|
||||
float GetShotRange();
|
||||
void Abandon();
|
||||
|
||||
void SetOwner(Creature* owner);
|
||||
|
Loading…
x
Reference in New Issue
Block a user