This commit is contained in:
aozhiwei 2024-04-02 16:58:11 +08:00
parent b46497c81a
commit d45bf72249
2 changed files with 8 additions and 2 deletions

View File

@ -70,17 +70,17 @@ void InGameVoice::OnHumanBeKill(int killer_id, Human* deader)
} }
++global_kills_; ++global_kills_;
if (global_kills_ > 0) { if (global_kills_ > 0) {
if (room_->GetFrameNo() - GetInt64Map(personal_last_kill_frameno_, killer_id) > if (room_->GetFrameNo() - GetLastKillFrameNo(killer_id) >
SERVER_FRAME_RATE * mt::InGameVoice::s_series_kill_interval) { SERVER_FRAME_RATE * mt::InGameVoice::s_series_kill_interval) {
personal_series_kills_.erase(killer_id); personal_series_kills_.erase(killer_id);
} }
personal_last_kill_frameno_[killer_id] = room_->GetFrameNo();
IncIntMap(personal_kills_, killer_id); IncIntMap(personal_kills_, killer_id);
IncIntMap(personal_series_kills_, killer_id); IncIntMap(personal_series_kills_, killer_id);
if (!killer->dead) { if (!killer->dead) {
IncIntMap(personal_nodead_series_kills_, killer_id); IncIntMap(personal_nodead_series_kills_, killer_id);
} }
} }
personal_last_kill_frameno_[killer_id] = room_->GetFrameNo();
TriggerEvent(killer, deader); TriggerEvent(killer, deader);
} }
@ -487,3 +487,8 @@ bool InGameVoice::IsSpecSeriesKill(Human* killer, Human* deader)
}); });
return ok; return ok;
} }
long long InGameVoice::GetLastKillFrameNo(int killer_id)
{
return GetInt64Map(personal_last_kill_frameno_, killer_id);
}

View File

@ -18,6 +18,7 @@ class InGameVoice : public std::enable_shared_from_this<InGameVoice>
void OnHumanRevive(Human* hum); void OnHumanRevive(Human* hum);
void Fail(Team* team); void Fail(Team* team);
void Victory(Team* team); void Victory(Team* team);
long long GetLastKillFrameNo(int killer_id);
private: private:
void UpdateTeamBeKillLastTime(int team_id); void UpdateTeamBeKillLastTime(int team_id);