fix remove buff bug
This commit is contained in:
parent
b0506104c4
commit
1bfdae9d7d
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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));
|
||||
}
|
||||
{
|
||||
|
@ -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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user