diff --git a/server/gameserver/metadata.cc b/server/gameserver/metadata.cc index cf3ed88c..6bf968f9 100644 --- a/server/gameserver/metadata.cc +++ b/server/gameserver/metadata.cc @@ -1108,11 +1108,17 @@ namespace MetaData case kBET_DelayAddBuff: { assert(param1 < i->duration_time()); + if (!MetaMgr::Instance()->GetBuff(int_param2)) { + abort(); + } } break; case kBET_IntervalAddBuff: { assert(int_param1 < i->duration_time() * 1000); + if (!MetaMgr::Instance()->GetBuff(int_param2)) { + abort(); + } } break; case kBET_BatchAddBuff: @@ -1120,9 +1126,6 @@ namespace MetaData for (auto& tuple : batch_add_list) { int rand_space = std::get<0>(tuple); const auto& items = std::get<1>(tuple); - if (items.empty()) { - abort(); - } if (rand_space == -1) { MetaData::Buff* buff_meta = MetaMgr::Instance()->GetBuff(std::get<0>(items[0])); if (!buff_meta) { @@ -1138,7 +1141,6 @@ namespace MetaData } } } - break; default: { }