X-Git-Url: https://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=blobdiff_plain;f=qcsrc%2Fcommon%2Fgamemodes%2Fgamemode%2Flms%2Flms.qc;h=b6bfb4ef4f9a57d419c63263eb21b0b0ba20d11b;hp=5e97248c6f3e620b04da3079b74ad7c71e8a1054;hb=6acd27fcdb3e405b0eaa6b972880996e95f9808a;hpb=c69afe1578206fb21b736e0c2bb1394d7a13b35f diff --git a/qcsrc/common/gamemodes/gamemode/lms/lms.qc b/qcsrc/common/gamemodes/gamemode/lms/lms.qc index 5e97248c6f..b6bfb4ef4f 100644 --- a/qcsrc/common/gamemodes/gamemode/lms/lms.qc +++ b/qcsrc/common/gamemodes/gamemode/lms/lms.qc @@ -233,7 +233,10 @@ MUTATOR_HOOKFUNCTION(lms, ClientDisconnect) MUTATOR_HOOKFUNCTION(lms, MakePlayerObserver) { - entity player = M_ARGV(0, entity); + entity player = M_ARGV(0, entity); + + if (!IS_PLAYER(player)) + return true; lms_RemovePlayer(player); return true; // prevent team reset @@ -243,9 +246,6 @@ MUTATOR_HOOKFUNCTION(lms, ClientConnect) { entity player = M_ARGV(0, entity); - TRANSMUTE(Player, player); - campaign_bots_may_start = true; - if(GameRules_scoring_add(player, LMS_LIVES, LMS_NewPlayerLives()) <= 0) { GameRules_scoring_add(player, LMS_RANK, 666); // mark as forced spectator for the hud code @@ -253,6 +253,13 @@ MUTATOR_HOOKFUNCTION(lms, ClientConnect) } } +MUTATOR_HOOKFUNCTION(lms, AutoJoinOnConnection) +{ + if(autocvar_g_campaign) + return false; + return true; +} + MUTATOR_HOOKFUNCTION(lms, PlayerPreThink) { entity player = M_ARGV(0, entity); @@ -382,7 +389,7 @@ MUTATOR_HOOKFUNCTION(lms, Bot_FixCount, CBC_ORDER_EXCLUSIVE) MUTATOR_HOOKFUNCTION(lms, ClientCommand_Spectate) { - entity player = M_ARGV(0, entity); + entity player = M_ARGV(0, entity); if(warmup_stage || player.lms_spectate_warning) {