From 992c541fffa7354f0f56b0c71262d52d740ca9f4 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Tue, 14 Jul 2020 23:03:21 +0800 Subject: [PATCH] 1 --- server/gameserver/metamgr.cc | 8 ++++++-- server/gameserver/metamgr.h | 2 ++ server/gameserver/room.cc | 7 +++++++ 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/server/gameserver/metamgr.cc b/server/gameserver/metamgr.cc index 486c61b..2aef3d0 100755 --- a/server/gameserver/metamgr.cc +++ b/server/gameserver/metamgr.cc @@ -239,10 +239,12 @@ public: std::vector tmpstrings; a8::Split(MetaMgr::Instance()->mini_room_ai, tmpstrings, '|'); for (auto& str : tmpstrings) { + int weight = a8::XValue(str).GetInt(); MetaMgr::Instance()->mini_room_ai_weights.push_back ( - a8::XValue(str).GetInt() + weight ); + MetaMgr::Instance()->mini_room_ai_weights_space += weight; } if (MetaMgr::Instance()->mini_room_ai_weights.size() != 8) { abort(); @@ -253,10 +255,12 @@ public: std::vector tmpstrings; a8::Split(MetaMgr::Instance()->mini_room_ai, tmpstrings, '|'); for (auto& str : tmpstrings) { + int weight = a8::XValue(str).GetInt(); MetaMgr::Instance()->normal_room_ai_weights.push_back ( - a8::XValue(str).GetInt() + weight ); + MetaMgr::Instance()->normal_room_ai_weights_space += weight; } if (MetaMgr::Instance()->normal_room_ai_weights.size() != 8) { abort(); diff --git a/server/gameserver/metamgr.h b/server/gameserver/metamgr.h index 4f3b305..1f52bfe 100755 --- a/server/gameserver/metamgr.h +++ b/server/gameserver/metamgr.h @@ -92,7 +92,9 @@ class MetaMgr : public a8::Singleton std::set level0room_spec_things_set; std::vector level0room_spec_airdrops; std::vector mini_room_ai_weights; + int mini_room_ai_weights_space = 0; std::vector normal_room_ai_weights; + int normal_room_ai_weights_space = 0; std::string mini_room_ai; std::string normal_room_ai; diff --git a/server/gameserver/room.cc b/server/gameserver/room.cc index 9a0c679..c189864 100644 --- a/server/gameserver/room.cc +++ b/server/gameserver/room.cc @@ -2898,5 +2898,12 @@ size_t Room::GetRoomMaxPlayerNum() void Room::InitAndroidAI() { + std::vector androids; + for (auto& pair : human_hash_) { + Human* hum = pair.second; + if (hum->IsAndroid()) { + androids.push_back((Android*)hum); + } + } }