From cf0eb2a39296c6a180a73049f86fc519dc2905c2 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Tue, 21 Feb 2023 11:51:37 +0800 Subject: [PATCH] 1 --- server/gameserver/mt/Grasp.cc | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/server/gameserver/mt/Grasp.cc b/server/gameserver/mt/Grasp.cc index 21a4b1f4..03fbf3d5 100644 --- a/server/gameserver/mt/Grasp.cc +++ b/server/gameserver/mt/Grasp.cc @@ -66,7 +66,32 @@ namespace mt [] (mt::GraspBuffs* a, mt::GraspBuffs* b) { for (auto& tuple1 : *b) { + bool found = false; for (auto& tuple2 : *a) { + if (std::get<0>(tuple1) && std::get<1>(tuple1)) { + if (std::get<0>(tuple1) == std::get<0>(tuple2) && + std::get<1>(tuple1) == std::get<1>(tuple2)) { + found = true; + break; + } + } else if (std::get<0>(tuple1) && + ( + std::get<0>(tuple1) == std::get<0>(tuple2) || + std::get<0>(tuple1) == std::get<1>(tuple2) + ) + ) { + found = true; + break; + } else if (std::get<1>(tuple1) && + (std::get<1>(tuple1) == std::get<0>(tuple2) || + std::get<1>(tuple1) == std::get<1>(tuple2)) + ) { + found = true; + break; + } + }//end for tuple2 + if (!found) { + a->push_back(tuple1); } } };