This commit is contained in:
aozhiwei 2024-04-02 13:51:16 +08:00
parent 259216d312
commit 15d90787a3

View File

@ -4,6 +4,7 @@
#include "room.h" #include "room.h"
#include "human.h" #include "human.h"
#include "team.h" #include "team.h"
#include "stats.h"
#include "mt/InGameVoice.h" #include "mt/InGameVoice.h"
@ -70,6 +71,10 @@ void InGameVoice::OnHumanBeKill(int killer_id, Human* deader)
} }
++global_kills_; ++global_kills_;
if (global_kills_ > 0) { if (global_kills_ > 0) {
if (room_->GetFrameNo() - killer->stats->last_kill_frameno >
SERVER_FRAME_RATE * mt::InGameVoice::s_series_kill_interval) {
personal_kills_.erase(killer_id);
}
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) {
@ -77,18 +82,6 @@ void InGameVoice::OnHumanBeKill(int killer_id, Human* deader)
} }
} }
TriggerEvent(killer, deader); TriggerEvent(killer, deader);
{
room_->xtimer.SetTimeoutWpEx
(
SERVER_FRAME_RATE * mt::InGameVoice::s_series_kill_interval,
[room = room_, killer_id] (int event, const a8::Args* args)
{
if (a8::TIMER_EXEC_EVENT == event) {
DecIntMap(room->GetInGameVoice()->personal_series_kills_, killer_id);
}
},
&room_->xtimer_attacher_);
}
} }
void InGameVoice::Notify(Human* killer, Human* deader, const mt::InGameVoice* meta, void InGameVoice::Notify(Human* killer, Human* deader, const mt::InGameVoice* meta,