]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/common/minigames/minigame/pong.qc
Merge branch 'master' into LegendaryGuard/bai_mod
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / minigames / minigame / pong.qc
index 407eb4e8fdfeafbaa12680abdc9655bb7862bbcd..30bdd80665ff739f8e97daa4f6c640db8efc233a 100644 (file)
@@ -259,7 +259,7 @@ void pong_ai_think(entity this)
 
 entity pong_ai_spawn(entity paddle)
 {
-       entity ai = msle_spawn(paddle.owner,"pong_ai");
+       entity ai = msle_spawn(paddle.owner,new(pong_ai));
        ai.minigame_players = ai;
        ai.team = paddle.team;
        setthink(ai, pong_ai_think);
@@ -318,7 +318,7 @@ vector pong_team_to_paddlepos(int nteam)
 // if real_player is NULL, the paddle is controlled by AI
 entity pong_paddle_spawn(entity minigame, int pl_team, entity real_player)
 {
-       entity paddle = msle_spawn(minigame,"pong_paddle");
+       entity paddle = msle_spawn(minigame,new(pong_paddle));
        paddle.pong_length = autocvar_sv_minigames_pong_paddle_size;
        paddle.origin = pong_team_to_paddlepos(pl_team);
        setthink(paddle, pong_paddle_think);
@@ -401,7 +401,7 @@ int pong_server_event(entity minigame, string event, ...)
                                                entity ball;
                                                for ( int j = 0; j < autocvar_sv_minigames_pong_ball_number; j++ )
                                                {
-                                                       ball = msle_spawn(minigame,"pong_ball");
+                                                       ball = msle_spawn(minigame,new(pong_ball));
                                                        ball.pong_length = autocvar_sv_minigames_pong_ball_radius;
                                                        ball.m_mins = vec2(-ball.pong_length, -ball.pong_length);
                                                        ball.m_maxs = vec2(ball.pong_length, ball.pong_length);
@@ -620,42 +620,41 @@ int pong_client_event(entity minigame, string event, ...)
                        return false;
                }
                case "key_pressed":
-                       switch ( ...(0,int) )
-                       {
-                               case K_UPARROW:
-                               case K_KP_UPARROW:
-                               case K_LEFTARROW:
-                               case K_KP_LEFTARROW:
-                                       //minigame_cmd("+moved");
-                                       pong_keys_pressed |= PONG_KEY_DECREASE;
-                                       return true;
-                               case K_DOWNARROW:
-                               case K_KP_DOWNARROW:
-                               case K_RIGHTARROW:
-                               case K_KP_RIGHTARROW:
-                                       //minigame_cmd("+movei");
-                                       pong_keys_pressed |= PONG_KEY_INCREASE;
-                                       return true;
-                       }
-                       return false;
                case "key_released":
-                       switch ( ...(0,int) )
-                       {
-                               case K_UPARROW:
-                               case K_KP_UPARROW:
-                               case K_LEFTARROW:
-                               case K_KP_LEFTARROW:
-                                       //minigame_cmd("-moved");
-                                       pong_keys_pressed &= ~PONG_KEY_DECREASE;
-                                       return true;
-                               case K_DOWNARROW:
-                               case K_KP_DOWNARROW:
-                               case K_RIGHTARROW:
-                               case K_KP_RIGHTARROW:
-                                       //minigame_cmd("-movei");
-                                       pong_keys_pressed &= ~PONG_KEY_INCREASE;
-                                       return true;
-                       }
+                       if ((minigame.minigame_flags & PONG_STATUS_PLAY))
+                               switch ( ...(0,int) )
+                               {
+                                       case K_UPARROW:
+                                       case K_KP_UPARROW:
+                                       case K_LEFTARROW:
+                                       case K_KP_LEFTARROW:
+                                               if (event == "key_pressed")
+                                               {
+                                                       //minigame_cmd("+moved");
+                                                       pong_keys_pressed |= PONG_KEY_DECREASE;
+                                               }
+                                               else
+                                               {
+                                                       //minigame_cmd("-moved");
+                                                       pong_keys_pressed &= ~PONG_KEY_DECREASE;
+                                               }
+                                               return true;
+                                       case K_DOWNARROW:
+                                       case K_KP_DOWNARROW:
+                                       case K_RIGHTARROW:
+                                       case K_KP_RIGHTARROW:
+                                               if (event == "key_pressed")
+                                               {
+                                                       //minigame_cmd("+movei");
+                                                       pong_keys_pressed |= PONG_KEY_INCREASE;
+                                               }
+                                               else
+                                               {
+                                                       //minigame_cmd("-movei");
+                                                       pong_keys_pressed &= ~PONG_KEY_INCREASE;
+                                               }
+                                               return true;
+                               }
                        return false;
                case "network_receive":
                {