X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fcommon%2Fminigames%2Fsv_minigames.qc;h=21f81055a463f59aa7650992bb59b14c6b5d36dd;hb=ce80a3d3800ee2f5ce8a8d93ccb6b835a46ec5f6;hp=5f1d1280b9f5a35dd85e2e4d99b6127767ee93c2;hpb=06ac66a5edaa645e19ed9a6482409e8656a65b1d;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/common/minigames/sv_minigames.qc b/qcsrc/common/minigames/sv_minigames.qc index 5f1d1280b..21f81055a 100644 --- a/qcsrc/common/minigames/sv_minigames.qc +++ b/qcsrc/common/minigames/sv_minigames.qc @@ -1,15 +1,17 @@ #include "sv_minigames.qh" -#include "minigames.qh" + +#include +#include void player_clear_minigame(entity player) { - player.active_minigame = NULL; + CS(player).active_minigame = NULL; player.minigame_players = NULL; if ( IS_PLAYER(player) ) set_movetype(player, MOVETYPE_WALK); else set_movetype(player, MOVETYPE_FLY_WORLDONLY); - player.team_forced = 0; + Player_SetForcedTeamIndex(player, TEAM_FORCE_DEFAULT); } void minigame_rmplayer(entity minigame_session, entity player) @@ -28,7 +30,7 @@ void minigame_rmplayer(entity minigame_session, entity player) GameLogEcho(strcat(":minigame:part:",minigame_session.netname,":", ftos(etof(player)),":",player.netname)); minigame_session.minigame_players = p.list_next; - delete ( p ); + delete( p ); player_clear_minigame(player); } else @@ -124,11 +126,11 @@ bool minigame_CheckSend(entity this, entity client) int minigame_addplayer(entity minigame_session, entity player) { - if ( player.active_minigame ) + if ( CS(player).active_minigame ) { - if ( player.active_minigame == minigame_session ) + if ( CS(player).active_minigame == minigame_session ) return 0; - minigame_rmplayer(player.active_minigame,player); + minigame_rmplayer(CS(player).active_minigame,player); } entity player_pointer = new(minigame_player); int mgteam = minigame_session.minigame_event(minigame_session,"join",player,player_pointer); @@ -140,7 +142,7 @@ int minigame_addplayer(entity minigame_session, entity player) player_pointer.team = mgteam; player_pointer.list_next = minigame_session.minigame_players; minigame_session.minigame_players = player_pointer; - player.active_minigame = minigame_session; + CS(player).active_minigame = minigame_session; player.minigame_players = player_pointer; setcefc(player_pointer, minigame_CheckSend); Net_LinkEntity(player_pointer, false, 0, minigame_SendEntity); @@ -150,7 +152,7 @@ int minigame_addplayer(entity minigame_session, entity player) PutObserverInServer(player); } if ( autocvar_sv_minigames_observer == 2 ) - player.team_forced = -1; + Player_SetForcedTeamIndex(player, TEAM_FORCE_SPECTATOR); minigame_resend(minigame_session); } @@ -215,7 +217,7 @@ entity join_minigame(entity player, string game_id ) void part_minigame(entity player ) { - entity minig = player.active_minigame; + entity minig = CS(player).active_minigame; if ( minig && minig.classname == "minigame" ) minigame_rmplayer(minig,player); @@ -248,7 +250,7 @@ void end_minigame(entity minigame_session) delete(e); } - strunzone(minigame_session.netname); + strfree(minigame_session.netname); delete(minigame_session); } @@ -262,19 +264,19 @@ void end_minigames() string invite_minigame(entity inviter, entity player) { - if ( !inviter || !inviter.active_minigame ) + if ( !inviter || !CS(inviter).active_minigame ) return "Invalid minigame"; - if ( !VerifyClientEntity(player, true, false) ) + if ( VerifyClientEntity(player, true, false) <= 0 ) return "Invalid player"; if ( inviter == player ) return "You can't invite yourself"; - if ( player.active_minigame == inviter.active_minigame ) + if ( CS(player).active_minigame == CS(inviter).active_minigame ) return strcat(player.netname," is already playing"); Send_Notification(NOTIF_ONE, player, MSG_INFO, INFO_MINIGAME_INVITE, - inviter.active_minigame.netname, inviter.netname ); + CS(inviter).active_minigame.netname, inviter.netname ); - GameLogEcho(strcat(":minigame:invite:",inviter.active_minigame.netname,":", + GameLogEcho(strcat(":minigame:invite:",CS(inviter).active_minigame.netname,":", ftos(etof(player)),":",player.netname)); return ""; @@ -282,10 +284,10 @@ string invite_minigame(entity inviter, entity player) entity minigame_find_player(entity client) { - if ( ! client.active_minigame ) + if ( ! CS(client).active_minigame ) return NULL; entity e; - for ( e = client.active_minigame.minigame_players; e; e = e.list_next ) + for ( e = CS(client).active_minigame.minigame_players; e; e = e.list_next ) if ( e.minigame_players == client ) return e; return NULL; @@ -293,11 +295,11 @@ entity minigame_find_player(entity client) bool MinigameImpulse(entity this, int imp) { - if (!this.active_minigame) return false; + if (!CS(this).active_minigame) return false; entity e = minigame_find_player(this); - if ( imp && this.active_minigame && e ) + if ( imp && CS(this).active_minigame && e ) { - return this.active_minigame.minigame_event(this.active_minigame,"impulse",e,imp); + return CS(this).active_minigame.minigame_event(CS(this).active_minigame,"impulse",e,imp); } return false; } @@ -350,7 +352,7 @@ void ClientCommand_minigame(entity caller, int request, int argc, string command } else if ( minig_cmd == "end" || minig_cmd == "part" ) { - if ( caller.active_minigame ) + if ( CS(caller).active_minigame ) { part_minigame(caller); sprint(caller,"Left minigame session\n"); @@ -361,14 +363,14 @@ void ClientCommand_minigame(entity caller, int request, int argc, string command } else if ( minig_cmd == "invite" && argc > 2 ) { - if ( caller.active_minigame ) + if ( CS(caller).active_minigame ) { entity client = GetIndexedEntity(argc, 2); string error = invite_minigame(caller,client); if ( error == "" ) { sprint(caller,"You have invited ",client.netname, - " to join your game of ", caller.active_minigame.descriptor.message, "\n"); + " to join your game of ", CS(caller).active_minigame.descriptor.message, "\n"); } else sprint(caller,"Could not invite: ", error, ".\n"); @@ -377,12 +379,12 @@ void ClientCommand_minigame(entity caller, int request, int argc, string command sprint(caller,"You aren't playing any minigame...\n"); return; } - else if ( caller.active_minigame ) + else if ( CS(caller).active_minigame ) { entity e = minigame_find_player(caller); string subcommand = substring(command,argv_end_index(0),-1); int arg_c = tokenize_console(subcommand); - if ( caller.active_minigame.minigame_event(caller.active_minigame,"cmd",e,arg_c,subcommand) ) + if ( CS(caller).active_minigame.minigame_event(CS(caller).active_minigame,"cmd",e,arg_c,subcommand) ) return; }