X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fmutators%2Fmutator%2Fgamemode_lms.qc;h=793cbf6b76f38fc2a38c9181581e750c32d02dd8;hb=df6524e32dea9e91c2c4ba6ff383eef5d20ffcdb;hp=afd107bc43298c08e5d617a3f924c697b386826d;hpb=641c47df604de42c11c68a7d80813b29affcefb2;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/mutators/mutator/gamemode_lms.qc b/qcsrc/server/mutators/mutator/gamemode_lms.qc index afd107bc4..793cbf6b7 100644 --- a/qcsrc/server/mutators/mutator/gamemode_lms.qc +++ b/qcsrc/server/mutators/mutator/gamemode_lms.qc @@ -1,49 +1,8 @@ #include "gamemode_lms.qh" -#ifndef GAMEMODE_LMS_H -#define GAMEMODE_LMS_H - -#define autocvar_g_lms_lives_override cvar("g_lms_lives_override") -void lms_Initialize(); - -REGISTER_MUTATOR(lms, false) -{ - MUTATOR_ONADD - { - if (time > 1) // game loads at time 1 - error("This is a game type and it cannot be added at runtime."); - lms_Initialize(); - - SetLimits(((!autocvar_g_lms_lives_override) ? -1 : autocvar_g_lms_lives_override), 0, autocvar_timelimit_override, -1); - } - - MUTATOR_ONROLLBACK_OR_REMOVE - { - // we actually cannot roll back lms_Initialize here - // BUT: we don't need to! If this gets called, adding always - // succeeds. - } - - MUTATOR_ONREMOVE - { - LOG_INFO("This is a game type and it cannot be removed at runtime."); - return -1; - } - - return 0; -} - -// lives related defs -float lms_lowest_lives; -float lms_next_place; -float LMS_NewPlayerLives(); - -#endif - -#ifdef IMPLEMENTATION #include #include -#include +#include int autocvar_g_lms_extra_lives; bool autocvar_g_lms_join_anytime; @@ -186,7 +145,11 @@ void lms_RemovePlayer(entity player) if(PlayerScore_Add(player, SP_LMS_RANK, 0) == 666) player.frags = FRAGS_SPECTATOR; else + { + if(IS_BOT_CLIENT(player)) + bot_clear(player); player.frags = FRAGS_LMS_LOSER; + } if(player.killcount != FRAGS_SPECTATOR) if(PlayerScore_Add(player, SP_LMS_RANK, 0) > 0 && player.lms_spectate_warning != 2) @@ -408,6 +371,3 @@ void lms_Initialize() lms_ScoreRules(); } - - -#endif