This commit is contained in:
aozhiwei 2022-11-18 14:20:23 +08:00
parent 59f34e3827
commit 5df4dbe901

View File

@ -4501,21 +4501,25 @@ void Human::InternalBeKill(int killer_id, const std::string& killer_name, int we
SetHP(0.0f);
KillMgr::Instance()->OnHumanDead(this, &info);
room->frame_event.AddDead(GetWeakPtrRef(), 1000 * 15);
dead_timer = room->xtimer.AddDeadLineTimerAndAttach
(MetaMgr::Instance()->revive_time * SERVER_FRAME_RATE,
a8::XParams()
.SetSender(this),
[] (const a8::XParams& param)
{
Human* hum = (Human*)param.sender.GetUserData();
hum->real_dead = true;
},
&xtimer_attacher.timer_list_,
[] (const a8::XParams& param)
{
Human* hum = (Human*)param.sender.GetUserData();
hum->dead_timer = nullptr;
});
if (GetBattleContext()->GetReviveCoin() > 0) {
dead_timer = room->xtimer.AddDeadLineTimerAndAttach
(MetaMgr::Instance()->revive_time * SERVER_FRAME_RATE,
a8::XParams()
.SetSender(this),
[] (const a8::XParams& param)
{
Human* hum = (Human*)param.sender.GetUserData();
hum->real_dead = true;
},
&xtimer_attacher.timer_list_,
[] (const a8::XParams& param)
{
Human* hum = (Human*)param.sender.GetUserData();
hum->dead_timer = nullptr;
});
} else {
real_dead = true;
}
} else {
dead = true;
real_dead = true;