diff --git a/server/gameserver/ingamevoice.cc b/server/gameserver/ingamevoice.cc index 2a78c9e2..a05089fb 100644 --- a/server/gameserver/ingamevoice.cc +++ b/server/gameserver/ingamevoice.cc @@ -65,19 +65,7 @@ void InGameVoice::OnHumanBeKill(int killer_id, Human* deader) if (!killer->dead) { IncIntMap(personal_nodead_series_kills_, killer_id); } - { - mt::InGameVoice::Traverse - ( - room_->IsMobaModeRoom(), - InGameVoiceEventType_e::kGlobalKills, - [this, killer, deader] (const mt::InGameVoice* meta) -> bool - { - if (meta->MatchCond(global_kills_)) { - Notify(killer, deader, meta); - } - return true; - }); - } + TriggerEvent(killer, deader); { room_->xtimer.SetTimeoutWpEx ( @@ -119,3 +107,20 @@ a8::Attacher* InGameVoice::GetNoDeadTimerAttacher(int killer_id) } return &itr->second; } + +void InGameVoice::TriggerEvent(Human* killer, Human* deader) +{ + { + mt::InGameVoice::Traverse + ( + room_->IsMobaModeRoom(), + InGameVoiceEventType_e::kGlobalKills, + [this, killer, deader] (const mt::InGameVoice* meta) -> bool + { + if (meta->MatchCond(global_kills_)) { + Notify(killer, deader, meta); + } + return true; + }); + } +} diff --git a/server/gameserver/ingamevoice.h b/server/gameserver/ingamevoice.h index 920b7578..3d3b48a5 100644 --- a/server/gameserver/ingamevoice.h +++ b/server/gameserver/ingamevoice.h @@ -18,6 +18,7 @@ class InGameVoice : public std::enable_shared_from_this private: void UpdateTeamBeKillLastTime(int team_id); a8::Attacher* GetNoDeadTimerAttacher(int killer_id); + void TriggerEvent(Human* killer, Human* deader); void Notify(Human* killer, Human* deader, const mt::InGameVoice* meta);