]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/common/minigames/minigame/ttt.qc
Minigames: capture and ignore key release events; it prevents triggering -* aliases...
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / minigames / minigame / ttt.qc
index bb642a282aa6c9acb9634d96b7f8d17422c3c74f..42e844bd36562dcb0ce9bb07a2ea6f79cb1d715d 100644 (file)
@@ -565,6 +565,7 @@ int ttt_client_event(entity minigame, string event, ...)
                        return false;
                }
                case "key_pressed":
+               case "key_released":
                {
                        if((minigame.minigame_flags & TTT_TURN_TEAM) == minigame_self.team)
                        {
@@ -572,6 +573,8 @@ int ttt_client_event(entity minigame, string event, ...)
                                {
                                        case K_RIGHTARROW:
                                        case K_KP_RIGHTARROW:
+                                               if (event == "key_released")
+                                                       return true;
                                                if ( ! ttt_curr_pos )
                                                        ttt_set_curr_pos("a3");
                                                else
@@ -579,6 +582,8 @@ int ttt_client_event(entity minigame, string event, ...)
                                                return true;
                                        case K_LEFTARROW:
                                        case K_KP_LEFTARROW:
+                                               if (event == "key_released")
+                                                       return true;
                                                if ( ! ttt_curr_pos )
                                                        ttt_set_curr_pos("c3");
                                                else
@@ -586,6 +591,8 @@ int ttt_client_event(entity minigame, string event, ...)
                                                return true;
                                        case K_UPARROW:
                                        case K_KP_UPARROW:
+                                               if (event == "key_released")
+                                                       return true;
                                                if ( ! ttt_curr_pos )
                                                        ttt_set_curr_pos("a1");
                                                else
@@ -593,6 +600,8 @@ int ttt_client_event(entity minigame, string event, ...)
                                                return true;
                                        case K_DOWNARROW:
                                        case K_KP_DOWNARROW:
+                                               if (event == "key_released")
+                                                       return true;
                                                if ( ! ttt_curr_pos )
                                                        ttt_set_curr_pos("a3");
                                                else
@@ -601,6 +610,8 @@ int ttt_client_event(entity minigame, string event, ...)
                                        case K_ENTER:
                                        case K_KP_ENTER:
                                        case K_SPACE:
+                                               if (event == "key_released")
+                                                       return true;
                                                ttt_make_move(minigame);
                                                return true;
                                }