diff --git a/server/gameserver/mt/MergeItem.cc b/server/gameserver/mt/MergeItem.cc index a353e476..1a551074 100644 --- a/server/gameserver/mt/MergeItem.cc +++ b/server/gameserver/mt/MergeItem.cc @@ -10,8 +10,20 @@ namespace mt void MergeItem::Init1() { { - std::vector strings; - a8::Split(pickup3(), strings, '|'); + std::set buffs; + { + std::vector strings; + a8::Split(pickup3(), 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()); + } + } + } + } } }