From 937676133669a33a906e83ee474c56aee7c57d31 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Mon, 10 May 2021 15:49:18 +0800 Subject: [PATCH] 1 --- server/gameserver/creature.cc | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/server/gameserver/creature.cc b/server/gameserver/creature.cc index 2b623f9..5cfb5be 100644 --- a/server/gameserver/creature.cc +++ b/server/gameserver/creature.cc @@ -7,6 +7,7 @@ #include "room.h" #include "skill.h" #include "human.h" +#include "hero.h" #include "collider.h" #include "roomobstacle.h" @@ -1636,12 +1637,34 @@ void Creature::SlaveOnRemove(Entity* slave) void Creature::RemoveSurplusHero(int buff_id, int id, int num) { + if (slave_heros_.size() >= num) { + std::vector matched_heros; + for (auto& itr : slave_heros_) { + if (std::get<0>(itr) == buff_id && + std::get<1>(itr)->meta->i->id() == id) { + matched_heros.push_back(std::get<1>(itr)); + } + } + if (matched_heros.size() >= num) { + } + } } void Creature::RemoveSurplusObstacle(int buff_id, int id, int num) { + if (slave_things_.size() >= num) { + std::vector matched_things; + for (auto& itr : slave_things_) { + if (std::get<0>(itr) == buff_id && + std::get<1>(itr)->meta->i->thing_id() == id) { + matched_things.push_back(std::get<1>(itr)); + } + } + if (matched_things.size() >= num) { + } + } } bool Creature::IsInvincible()