From dd358cfde4134b71b31c132c5f04d9ca0c9ec64c Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Tue, 24 Oct 2023 15:07:07 +0800 Subject: [PATCH] 1 --- server/gameserver/hero_agent.cc | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/server/gameserver/hero_agent.cc b/server/gameserver/hero_agent.cc index 4cc9d5c3..d00a0edd 100644 --- a/server/gameserver/hero_agent.cc +++ b/server/gameserver/hero_agent.cc @@ -961,13 +961,16 @@ behaviac::EBTStatus HeroAgent::CoGetRunAwayPoint() out_point0 = gas_center; return behaviac::BT_SUCCESS; } - glm::vec3 dir = gas_center - owner_->GetPos().ToGlmVec3(); GlmHelper::Normalize(dir); context->step_len = a8::RandEx(200, 300); - glm::vec3 center = owner_->GetPos().ToGlmVec3() + - dir * (50.0f + (float)context->step_len); + glm::vec3 center = gas_center; + if (owner_->room->GetGasData().gas_progress > context->step_len + 50) { + center = gas_center + dir * (owner_->room->GetGasData().gas_progress - context->step_len); + } + GlmHelper::RotateY(dir, (10 + rand() % 360)/ 180.0f); + center = center + dir * (float)context->step_len; owner_->room->map_instance->Scale(center); glm::vec3 point; bool ok = owner_->room->map_instance->FindConnectableNearestPoint(center, 50, point);