1
This commit is contained in:
parent
bd1ae29826
commit
aa7be551cd
@ -3386,6 +3386,43 @@ void Human::InternalBeKill(int killer_id, const std::string& killer_name, int we
|
||||
KillMgr::Instance()->OnHumanDead(this, &info);
|
||||
room->frame_event.AddDead(GetWeakPtrRef(), 0);
|
||||
}
|
||||
} else if (room->IsMobaModeRoom()) {
|
||||
dead = true;
|
||||
real_dead = false;
|
||||
downed = false;
|
||||
SetHP(0.0f);
|
||||
if (real_killer_id != GetUniId() && GetTeam() && GetTeam()->HasReviveCoin(this)) {
|
||||
real_dead = true;
|
||||
dead_frameno = room->GetFrameNo();
|
||||
GetTrigger()->Die(killer_id, weapon_id);
|
||||
if (real_dead) {
|
||||
real_dead = false;
|
||||
OnDie();
|
||||
KillMgr::Instance()->OnHumanDead(this, &info);
|
||||
room->frame_event.AddDead(GetWeakPtrRef(), 1000 * mt::Param::s().revive_time);
|
||||
dead_timer = room->xtimer.SetTimeoutWpEx
|
||||
(mt::Param::s().revive_time * SERVER_FRAME_RATE,
|
||||
[this] (int event, const a8::Args* args)
|
||||
{
|
||||
if (a8::TIMER_EXEC_EVENT == event) {
|
||||
real_dead = true;
|
||||
SendGameOver();
|
||||
}
|
||||
},
|
||||
&xtimer_attacher);
|
||||
} else {
|
||||
OnDie();
|
||||
KillMgr::Instance()->OnHumanDead(this, &info);
|
||||
room->frame_event.AddDead(GetWeakPtrRef(), 0);
|
||||
}
|
||||
} else {
|
||||
real_dead = true;
|
||||
dead_frameno = room->GetFrameNo();
|
||||
GetTrigger()->Die(killer_id, weapon_id);
|
||||
OnDie();
|
||||
KillMgr::Instance()->OnHumanDead(this, &info);
|
||||
room->frame_event.AddDead(GetWeakPtrRef(), 0);
|
||||
}
|
||||
} else {
|
||||
if (room->GetGasData().old_area_meta &&
|
||||
room->GetGasData().old_area_meta->CanRevive() &&
|
||||
|
Loading…
x
Reference in New Issue
Block a user