+ {
+ entity player = ...(0,entity);
+ switch(argv(0))
+ {
+ case "throw":
+ if ( minigame.minigame_flags & PONG_STATUS_WAIT )
+ {
+ minigame.minigame_flags = PONG_STATUS_PLAY |
+ (minigame.minigame_flags & ~PONG_STATUS_WAIT);
+ minigame.SendFlags |= MINIG_SF_UPDATE;
+
+ int i;
+ entity ball;
+ for ( i = 0; i < autocvar_sv_minigames_pong_ball_number; i++ )
+ {
+ ball = msle_spawn(minigame,"pong_ball");
+ ball.pong_length = autocvar_sv_minigames_pong_ball_radius;
+ pong_ball_reset(ball);
+ }
+ }
+ return true;
+ case "+movei":
+ player.pong_keys |= PONG_KEY_INCREASE;
+ return true;
+ case "+moved":
+ player.pong_keys |= PONG_KEY_DECREASE;
+ return true;
+ case "-movei":
+ player.pong_keys &= ~PONG_KEY_INCREASE;
+ return true;
+ case "-moved":
+ player.pong_keys &= ~PONG_KEY_DECREASE;
+ return true;
+ case "pong_aimore":
+ {
+ int i;
+ if ( minigame.minigame_flags & PONG_STATUS_WAIT )
+ for ( i = 0; i < PONG_MAX_PLAYERS; i++ )
+ {
+ if ( minigame.pong_paddles[i] == world )
+ {
+ pong_paddle_spawn(minigame,i+1,world);
+ return true;
+ }
+ }
+ sprint(player.minigame_players,"Cannot spawn AI\n");
+ return true;
+ }
+ case "pong_ailess":
+ {
+ if ( minigame.minigame_flags & PONG_STATUS_WAIT )
+ {
+ entity paddle;
+ int i;
+ for ( i = PONG_MAX_PLAYERS-1; i >= 0; i-- )
+ {
+ paddle = minigame.pong_paddles[i];
+ if ( paddle != world &&
+ paddle.realowner.classname == "pong_ai" )
+ {
+ minigame.pong_paddles[i] = world;
+ remove(paddle.realowner);
+ remove(paddle);
+ return true;
+ }
+ }
+ }
+ sprint(player.minigame_players,"Cannot remove AI\n");
+ return true;
+ }
+
+ }