#include "../../common/deathtypes/all.qh"
#include "../../common/mapinfo.qh"
#include "../../common/notifications.qh"
-#include "../../common/physics.qh"
+#include "../../common/physics/player.qh"
#include "../../common/teams.qh"
#include "../../common/util.qh"
#include "../../common/triggers/triggers.qh"
if (!IS_PLAYER(self) && !lockteams && !gameover)
{
if (self.caplayer) return;
- if (nJoinAllowed(self))
+ if (nJoinAllowed(self, self))
{
if (autocvar_g_campaign) campaign_bots_may_start = 1;
self.classname = STR_PLAYER;
sprint(this, sprintf("Invalid voice. Use one of: %s\n", allvoicesamples));
return;
}
- if (argc >= 3) VoiceMessage(e, substring(command, argv_start_index(2), argv_end_index(-1) - argv_start_index(2)));
- else VoiceMessage(e, "");
+ if (argc >= 3) VoiceMessage(this, e, substring(command, argv_start_index(2), argv_end_index(-1) - argv_start_index(2)));
+ else VoiceMessage(this, e, "");
return;
}
case "prespawn": break; // handled by engine in host_cmd.c
case "sentcvar": break; // handled by server in this file
case "spawn": break; // handled by engine in host_cmd.c
+ case "c2s": Net_ClientCommand(this, command); return; // handled by net.qh
default:
if (SV_ParseClientCommand_floodcheck()) break; // "true": continue, as we're not flooding yet