]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/common/minigames/minigame/ttt.qc
Minigames: don't let the player interact with minigame menu via keyboard while waitin...
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / minigames / minigame / ttt.qc
index 42e844bd36562dcb0ce9bb07a2ea6f79cb1d715d..d578aa9615ae8b53b95b8fd7f6b88ca9c2c5fc17 100644 (file)
@@ -567,13 +567,15 @@ int ttt_client_event(entity minigame, string event, ...)
                case "key_pressed":
                case "key_released":
                {
-                       if((minigame.minigame_flags & TTT_TURN_TEAM) == minigame_self.team)
+                       bool event_blocked = ((event == "key_released")
+                               || ((minigame.minigame_flags & TTT_TURN_TEAM) != minigame_self.team));
+                       if (!(minigame.minigame_flags & TTT_TURN_WIN) && !(minigame.minigame_flags & TTT_TURN_DRAW))
                        {
                                switch ( ...(0,int) )
                                {
                                        case K_RIGHTARROW:
                                        case K_KP_RIGHTARROW:
-                                               if (event == "key_released")
+                                               if (event_blocked)
                                                        return true;
                                                if ( ! ttt_curr_pos )
                                                        ttt_set_curr_pos("a3");
@@ -582,7 +584,7 @@ int ttt_client_event(entity minigame, string event, ...)
                                                return true;
                                        case K_LEFTARROW:
                                        case K_KP_LEFTARROW:
-                                               if (event == "key_released")
+                                               if (event_blocked)
                                                        return true;
                                                if ( ! ttt_curr_pos )
                                                        ttt_set_curr_pos("c3");
@@ -591,7 +593,7 @@ int ttt_client_event(entity minigame, string event, ...)
                                                return true;
                                        case K_UPARROW:
                                        case K_KP_UPARROW:
-                                               if (event == "key_released")
+                                               if (event_blocked)
                                                        return true;
                                                if ( ! ttt_curr_pos )
                                                        ttt_set_curr_pos("a1");
@@ -600,7 +602,7 @@ int ttt_client_event(entity minigame, string event, ...)
                                                return true;
                                        case K_DOWNARROW:
                                        case K_KP_DOWNARROW:
-                                               if (event == "key_released")
+                                               if (event_blocked)
                                                        return true;
                                                if ( ! ttt_curr_pos )
                                                        ttt_set_curr_pos("a3");
@@ -610,7 +612,7 @@ int ttt_client_event(entity minigame, string event, ...)
                                        case K_ENTER:
                                        case K_KP_ENTER:
                                        case K_SPACE:
-                                               if (event == "key_released")
+                                               if (event_blocked)
                                                        return true;
                                                ttt_make_move(minigame);
                                                return true;