]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/common/minigames/sv_minigames.qc
Merge MR 'Various Q3 and QL map entity features and fixes'
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / minigames / sv_minigames.qc
index 21f81055a463f59aa7650992bb59b14c6b5d36dd..cb2beaa4848326efbb1e376358b03f1586087096 100644 (file)
@@ -148,9 +148,7 @@ int minigame_addplayer(entity minigame_session, entity player)
                Net_LinkEntity(player_pointer, false, 0, minigame_SendEntity);
 
                if ( !IS_OBSERVER(player) && autocvar_sv_minigames_observer )
-               {
-                       PutObserverInServer(player);
-               }
+                       PutObserverInServer(player, true, true);
                if ( autocvar_sv_minigames_observer == 2 )
                        Player_SetForcedTeamIndex(player, TEAM_FORCE_SPECTATOR);
 
@@ -215,7 +213,7 @@ entity join_minigame(entity player, string game_id )
        return NULL;
 }
 
-void part_minigame(entity player )
+void part_minigame(entity player)
 {
        entity minig = CS(player).active_minigame;
 
@@ -270,6 +268,8 @@ string invite_minigame(entity inviter, entity player)
                return "Invalid player";
        if ( inviter == player )
                return "You can't invite yourself";
+       if (autocvar_g_playban_minigames && PlayerInList(player, autocvar_g_playban_list)) // playban
+               return "You can't invite a banned player";
        if ( CS(player).active_minigame == CS(inviter).active_minigame )
                return strcat(player.netname," is already playing");
 
@@ -314,6 +314,13 @@ void ClientCommand_minigame(entity caller, int request, int argc, string command
                return;
        }
 
+       if (autocvar_g_playban_minigames && PlayerInList(caller, autocvar_g_playban_list)) // playban
+       {
+               Send_Notification(NOTIF_ONE_ONLY, caller, MSG_CENTER, CENTER_JOIN_PLAYBAN);
+               sprint(caller, "You aren't allowed to play minigames because you are banned from them in this server.\n");
+               return;
+       }
+
        if (request == CMD_REQUEST_COMMAND )
        {
                string minig_cmd = argv(1);