X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=blobdiff_plain;f=qcsrc%2Fcommon%2Fgamemodes%2Fgamemode%2Flms%2Fsv_lms.qc;h=58582d290d5c65c36523ad72110626c0b1dcc8f9;hp=338fb89dc2101756c3643b899d4b53a2a6ec4298;hb=c2e22fd9f893801621cacb6155dc8dc2ad5821f3;hpb=cafcd37f2c82f2fc76b3c87157870cbb1ffe009c diff --git a/qcsrc/common/gamemodes/gamemode/lms/sv_lms.qc b/qcsrc/common/gamemodes/gamemode/lms/sv_lms.qc index 338fb89dc2..58582d290d 100644 --- a/qcsrc/common/gamemodes/gamemode/lms/sv_lms.qc +++ b/qcsrc/common/gamemodes/gamemode/lms/sv_lms.qc @@ -37,7 +37,7 @@ int WinningCondition_LMS() { entity first_player = NULL; int totalplayers = 0; - FOREACH_CLIENT(IS_PLAYER(it), { + FOREACH_CLIENT(IS_PLAYER(it) && it.frags != FRAGS_LMS_LOSER, { if (!totalplayers) first_player = it; ++totalplayers; @@ -185,7 +185,9 @@ void lms_RemovePlayer(entity player) if (!player_rank) { int pl_cnt = 0; - FOREACH_CLIENT(IS_PLAYER(it), { pl_cnt++; }); + FOREACH_CLIENT(IS_PLAYER(it) && it.frags != FRAGS_LMS_LOSER, { + pl_cnt++; + }); if (player.lms_spectate_warning < 2) { if(IS_BOT_CLIENT(player)) @@ -220,8 +222,6 @@ void lms_RemovePlayer(entity player) player.frags = FRAGS_LMS_LOSER; TRANSMUTE(Observer, player); } - if (pl_cnt == 2 && !warmup_stage) // a player is forfeiting leaving only one player - lms_lowest_lives = 0; // end the game now! } if (CS(player).killcount != FRAGS_SPECTATOR && player.lms_spectate_warning < 3) @@ -305,7 +305,9 @@ MUTATOR_HOOKFUNCTION(lms, GiveFragsForKill) if(tl <= 0) { int pl_cnt = 0; - FOREACH_CLIENT(IS_PLAYER(it), { pl_cnt++; }); + FOREACH_CLIENT(IS_PLAYER(it) && it.frags != FRAGS_LMS_LOSER, { + pl_cnt++; + }); if(IS_BOT_CLIENT(frag_target)) bot_clear(frag_target); frag_target.frags = FRAGS_LMS_LOSER;