From f694e2119c0a759d3de75aeeab7f8478dd09eae4 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Mon, 22 May 2023 13:27:29 +0800 Subject: [PATCH] 1 --- server/gameserver/mt/MergeItem.cc | 35 +++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/server/gameserver/mt/MergeItem.cc b/server/gameserver/mt/MergeItem.cc index 1a551074..4a461a45 100644 --- a/server/gameserver/mt/MergeItem.cc +++ b/server/gameserver/mt/MergeItem.cc @@ -23,6 +23,41 @@ namespace mt } } } + for (int i = 1; i <= 3; ++i) { + gun_num_buff_hash_[i] = buffs; + } + } + { + std::vector strings; + a8::Split(pickup6(), strings, '|'); + for (auto& str : strings) { + if (!str.empty()) { + if (str.at(0) == '-') { + buffs.erase(-a8::XValue(str).GetInt()); + } else { + buffs.insert(a8::XValue(str).GetInt()); + } + } + } + for (int i = 3; i <= 6; ++i) { + gun_num_buff_hash_[i] = buffs; + } + } + { + std::vector strings; + a8::Split(pickup9(), strings, '|'); + for (auto& str : strings) { + if (!str.empty()) { + if (str.at(0) == '-') { + buffs.erase(-a8::XValue(str).GetInt()); + } else { + buffs.insert(a8::XValue(str).GetInt()); + } + } + } + for (int i = 6; i <= 9; ++i) { + gun_num_buff_hash_[i] = buffs; + } } } }