From e1efaf1f8343929fea392cca70c66d9b4467c5ae Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Wed, 16 Nov 2022 10:20:44 +0800 Subject: [PATCH] 1 --- server/gameserver/ability.cc | 14 +++++++------- server/gameserver/buff.cc | 1 + 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/server/gameserver/ability.cc b/server/gameserver/ability.cc index 266b621a..ec54f3e5 100644 --- a/server/gameserver/ability.cc +++ b/server/gameserver/ability.cc @@ -248,10 +248,9 @@ void Ability::IncImmuneTimes(int tag) { auto itr = immune_tags_.find(tag); if (itr != immune_tags_.end()) { - --itr->second; - if (itr->second <= 0) { - immune_tags_.erase(itr); - } + ++itr->second; + } else { + immune_tags_[tag] = 1; } } @@ -259,9 +258,10 @@ void Ability::DecImmuneTimes(int tag) { auto itr = immune_tags_.find(tag); if (itr != immune_tags_.end()) { - ++itr->second; - } else { - immune_tags_[tag] = 1; + --itr->second; + if (itr->second <= 0) { + immune_tags_.erase(itr); + } } } diff --git a/server/gameserver/buff.cc b/server/gameserver/buff.cc index 5a71e413..2fb50619 100644 --- a/server/gameserver/buff.cc +++ b/server/gameserver/buff.cc @@ -801,6 +801,7 @@ void Buff::ProcDisperse() for (int buff_uniid : del_buffs) { owner->RemoveBuffByUniId(buff_uniid); } + owner->TryAddBuff(owner, meta->int_param2); } void Buff::CalcPassengerShotOffset()