This commit is contained in:
aozhiwei 2019-11-06 19:09:00 +08:00
parent a3c4164a72
commit e9c96a209d

View File

@ -2363,32 +2363,36 @@ void Human::OnDie()
}
}
}
if (!HasNoDownedTeammate() && !leave_) {
if (team_members) {
for (auto& member : *team_members) {
if (member == this) {
member->SendGameOver();
} else {
if (member->real_dead) {
if (!leave_) {
if (!HasNoDownedTeammate()) {
if (team_members) {
for (auto& member : *team_members) {
if (member == this) {
member->SendGameOver();
} else if (member->downed) {
a8::XParams* timer_param = room->xtimer.MutableParams(member->downed_timer);
member->stats.killer_id = timer_param->param1;
member->stats.killer_name = timer_param->param2.GetString();
member->stats.weapon_id = timer_param->param2;
member->dead = true;
member->real_dead = true;
member->health = 0.0f;
member->dead_frameno = room->frame_no;
member->room->OnHumanDie(this);
member->SyncAroundPlayers(__FILE__, __LINE__, __func__);
member->SendGameOver();
if (member->downed_timer) {
room->xtimer.DeleteTimer(member->downed_timer);
} else {
if (member->real_dead) {
member->SendGameOver();
} else if (member->downed) {
a8::XParams* timer_param = room->xtimer.MutableParams(member->downed_timer);
member->stats.killer_id = timer_param->param1;
member->stats.killer_name = timer_param->param2.GetString();
member->stats.weapon_id = timer_param->param2;
member->dead = true;
member->real_dead = true;
member->health = 0.0f;
member->dead_frameno = room->frame_no;
member->room->OnHumanDie(this);
member->SyncAroundPlayers(__FILE__, __LINE__, __func__);
member->SendGameOver();
if (member->downed_timer) {
room->xtimer.DeleteTimer(member->downed_timer);
}
member->downed_timer = nullptr;
}
member->downed_timer = nullptr;
}
}
} else {
SendGameOver();
}
} else {
SendGameOver();