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);
// 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);
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);
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":
{