From d1e88314b8f8b8d9bd3f4d6eb8c46ab54e831ce7 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Fri, 30 Jun 2023 16:20:12 +0800 Subject: [PATCH] 1 --- server/gameserver/mt/Robot.cc | 6 ++++++ server/gameserver/mt/Robot.h | 1 + 2 files changed, 7 insertions(+) diff --git a/server/gameserver/mt/Robot.cc b/server/gameserver/mt/Robot.cc index 0e2b9ad5..91def47d 100644 --- a/server/gameserver/mt/Robot.cc +++ b/server/gameserver/mt/Robot.cc @@ -1,6 +1,7 @@ #include "precompile.h" #include "mt/Robot.h" +#include "mt/Hero.h" IMPL_TABLE(mt::Robot) @@ -32,6 +33,7 @@ namespace mt _bullet_offset.push_back(std::make_tuple(angle, _bullet_offset_rand_space)); } } + hero_meta_ = mt::Hero::GetById(hero_id()); } const mt::Robot* Robot::RandRobot(std::set& refreshed_robot_set) @@ -39,6 +41,10 @@ namespace mt int try_count = 0; while (true) { const mt::Robot* tmp_robot_meta = raw_list[rand() % raw_list.size()]; + if (!tmp_robot_meta->hero_meta_ || + !tmp_robot_meta->hero_meta_->default_weapon()){ + continue; + } #ifdef DEBUG1 if (tmp_robot_meta->hero_id() != 30300) { continue; diff --git a/server/gameserver/mt/Robot.h b/server/gameserver/mt/Robot.h index 6437e6a4..fb8ef15d 100644 --- a/server/gameserver/mt/Robot.h +++ b/server/gameserver/mt/Robot.h @@ -19,6 +19,7 @@ namespace mt private: int _bullet_offset_rand_space = 0; + const mt::Hero* hero_meta_ = nullptr; std::vector> _bullet_offset; };