This commit is contained in:
aozhiwei 2024-02-19 10:37:34 +08:00
commit 8cf1c18f63
3 changed files with 17 additions and 8 deletions

View File

@ -3147,15 +3147,17 @@ void Creature::ShortFindPath()
finaly_pos = left_pos; finaly_pos = left_pos;
} }
glm::vec3 move_dir = finaly_pos - GetPos().ToGlmVec3(); glm::vec3 move_dir = finaly_pos - GetPos().ToGlmVec3();
GlmHelper::Normalize(move_dir); if (!GlmHelper::IsZero(move_dir)) {
glm::vec3 end_pos = start_pos + move_dir * GetSpeed() / 1.0f; GlmHelper::Normalize(move_dir);
glm::vec3 end_pos = start_pos + move_dir * GetSpeed() / 1.0f;
glm::vec3 new_point = glm::vec3(0.0f, 0.0f, 0.0f); glm::vec3 new_point = glm::vec3(0.0f, 0.0f, 0.0f);
bool ret = try_move(start_pos, end_pos, new_point); bool ret = try_move(start_pos, end_pos, new_point);
if (ret) { if (ret) {
App::Instance()->verify_set_pos = 1; App::Instance()->verify_set_pos = 1;
GetMutablePos().FromGlmVec3(new_point); GetMutablePos().FromGlmVec3(new_point);
App::Instance()->verify_set_pos = 0; App::Instance()->verify_set_pos = 0;
}
} }
} }
} }

View File

@ -1695,3 +1695,9 @@ int HeroAgent::GetTodayBattleTimes()
{ {
return 0; return 0;
} }
bool HeroAgent::CanAttack()
{
return !(owner_->HasBuffEffect(kBET_Vertigo) ||
owner_->HasBuffEffect(kBET_InWater));
}

View File

@ -103,6 +103,7 @@ public:
float GetCarMaxOil(); float GetCarMaxOil();
bool IsSingleCar(); bool IsSingleCar();
bool CarHasBuffEffect(int effect_id); bool CarHasBuffEffect(int effect_id);
bool CanAttack();
behaviac::EBTStatus RegisterEvents(behaviac::vector<BtEvent_e> events); behaviac::EBTStatus RegisterEvents(behaviac::vector<BtEvent_e> events);
behaviac::EBTStatus ClearEvents(); behaviac::EBTStatus ClearEvents();