From 6a46d2ce0d4a6ee9aaaaa140ac377f579b743262 Mon Sep 17 00:00:00 2001 From: azw Date: Tue, 7 Nov 2023 02:18:28 +0000 Subject: [PATCH] 1 --- server/gameserver/buff/callfunc.cc | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/server/gameserver/buff/callfunc.cc b/server/gameserver/buff/callfunc.cc index c36c1674..bbc76887 100644 --- a/server/gameserver/buff/callfunc.cc +++ b/server/gameserver/buff/callfunc.cc @@ -1025,6 +1025,7 @@ void CallFuncBuff::RangeHoldBuff() () { float range = meta->GetBuffParam2(this); + std::vector hit_humans; owner->room->TraverseAliveHumanList ( [this, range] (Human* hum) @@ -1034,6 +1035,22 @@ void CallFuncBuff::RangeHoldBuff() } return true; }); + std::vector leave_humans; + for (auto& pair : context->in_human_infos) { + bool found = false; + #if 0 + for (int i = 0; i < size; ++i){ + if (hit_humans[i] == pair.second.c.Get()) { + found = true; + break; + } + } + #endif + if (!found) { + on_leave(pair.second.c.Get()->AsHuman()); + leave_humans.push_back(pair.second.c.Get()->AsHuman()); + } + } }; owner->room->xtimer.SetIntervalWpEx (