diff --git a/server/gameserver/trigger.cc b/server/gameserver/trigger.cc index 270cf007..91ab84af 100644 --- a/server/gameserver/trigger.cc +++ b/server/gameserver/trigger.cc @@ -186,11 +186,15 @@ void Trigger::Kill(Creature* target, int weapon_id) ++kill_num_; TraverseCondBuffs (kEventBuffKillTarget, - [this] (Buff* buff, bool& stop) + [this, target] (Buff* buff, bool& stop) { - if (buff->meta->_int_buff_param2 > 0 && (kill_num_ % buff->meta->_int_buff_param2) == 0) { - AddBuffs(buff, buff->meta->_int_buff_param1, buff->meta->_buff_param4_int_list); + auto buff_vars = std::make_shared>(); + buff_vars->push_back(target->GetUniId()); + buff_vars->push_back(target->GetPos().GetX()); + buff_vars->push_back(target->GetPos().GetY()); + buff_vars->push_back(target->GetPos().GetZ()); + AddBuffs(buff, buff->meta->_int_buff_param1, buff->meta->_buff_param4_int_list, buff_vars); } }); DispatchEvent(kKillEvent, {kill_num_, target, weapon_id});