diff --git a/server/gameserver/human.cc b/server/gameserver/human.cc index cc9ce9f..1677d3b 100644 --- a/server/gameserver/human.cc +++ b/server/gameserver/human.cc @@ -487,6 +487,14 @@ void Human::BeKill(int killer_id, const std::string& killer_name) send_gameover = true; room->OnHumanDie(this); SyncAroundPlayers(); + if (team_members) { + for (auto& hum : *team_members) { + if (hum != this && hum->action_type == AT_Relive && + hum->action_target_id == entity_uniid) { + hum->CancelAction(); + } + } + } } } diff --git a/server/gameserver/player.cc b/server/gameserver/player.cc index ab02be1..b44ff68 100644 --- a/server/gameserver/player.cc +++ b/server/gameserver/player.cc @@ -267,7 +267,7 @@ void Player::UpdateAction() room->xtimer.DeleteTimer(hum->downed_timer); hum->downed_timer = nullptr; } - SyncAroundPlayers(); + hum->SyncAroundPlayers(); } } break;