diff --git a/server/gameserver/hero_agent.cc b/server/gameserver/hero_agent.cc index cfd18c50..b3515604 100644 --- a/server/gameserver/hero_agent.cc +++ b/server/gameserver/hero_agent.cc @@ -22,6 +22,7 @@ #include "mt/Hero.h" #include "mt/Equip.h" #include "mt/Skill.h" +#include "mt/Map.h" #include "behaviac_generated/types/internal/behaviac_customized_types.h" @@ -1091,4 +1092,10 @@ behaviac::EBTStatus HeroAgent::CoGetNextMobaModeRoadPoint() if (!GetRoom()->IsMobaModeRoom()) { return behaviac::BT_FAILURE; } + auto& road = GetRoom()->GetMapMeta()->moba_path_points.at(owner_->road_idx); + if (owner_->point_idx < road.size()) { + out_point0 = std::get<0>(road.at(owner_->point_idx))->pos; + } else { + } + return behaviac::BT_SUCCESS; } diff --git a/server/gameserver/human.cc b/server/gameserver/human.cc index 40fe73c9..1b220c89 100644 --- a/server/gameserver/human.cc +++ b/server/gameserver/human.cc @@ -3428,6 +3428,7 @@ void Human::InternalBeKill(int killer_id, const std::string& killer_name, int we SetPos(born_point->RandPoint(room)); room->grid_service->MoveCreature(this); Global::Instance()->verify_set_pos = 0; + GetMovement()->ClearPath(); a8::UnSetBitFlag(status, CS_Reviving); ++stats->revive; dead = false;