fix remove buff bug

This commit is contained in:
aozhiwei 2022-07-14 17:46:49 +08:00
parent b0506104c4
commit 1bfdae9d7d
3 changed files with 6 additions and 3 deletions

View File

@ -695,7 +695,7 @@ void Creature::OnBuffRemove(Buff& buff)
break;
}
if (!buff.meta->i->only_server()) {
room->frame_event.RemoveBuff(GetWeakPtrRef(), buff.meta->i->buff_id());
room->frame_event.RemoveBuff(GetWeakPtrRef(), &buff);
}
}

View File

@ -310,13 +310,16 @@ void FrameEvent::AddBuff(CreatureWeakPtr& sender, Buff* buff)
}
}
void FrameEvent::RemoveBuff(CreatureWeakPtr& sender, int buff_id)
void FrameEvent::RemoveBuff(CreatureWeakPtr& sender, Buff* buff)
{
{
cs::MFBuffChg chged_buff_pb;
chged_buff_pb.set_obj_id(sender.Get()->GetUniId());
chged_buff_pb.set_chg(1);
buff->FillMFBuff(chged_buff_pb.mutable_buff());
#if 0
chged_buff_pb.mutable_buff()->set_buff_id(buff_id);
#endif
chged_buffs_.push_back(std::make_tuple(sender, chged_buff_pb));
}
{

View File

@ -38,7 +38,7 @@ public:
void AddHpChg(CreatureWeakPtr& sender);
void AddWeaponAmmoChg(CreatureWeakPtr& sender);
void AddBuff(CreatureWeakPtr& sender, Buff* buff);
void RemoveBuff(CreatureWeakPtr& sender, int buff_id);
void RemoveBuff(CreatureWeakPtr& sender, Buff* buff);
void AddSkillCdChg(CreatureWeakPtr sender, int skill_id, int left_time);
void AddSkillCurrTimesChg(CreatureWeakPtr sender, int skill_id, int curr_times);
void AddItemChg(CreatureWeakPtr& sender, int item_id, int item_num);