mirror of
https://github.com/ReactionQuake3/reaction.git
synced 2024-11-10 23:32:06 +00:00
Made TeamDM work RQ3 style.
This commit is contained in:
parent
8bed310305
commit
0cedbbb1a1
14 changed files with 116 additions and 78 deletions
Binary file not shown.
|
@ -5,6 +5,9 @@
|
|||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
// $Log$
|
||||
// Revision 1.68 2002/10/26 22:03:42 jbravo
|
||||
// Made TeamDM work RQ3 style.
|
||||
//
|
||||
// Revision 1.67 2002/10/26 00:37:18 jbravo
|
||||
// New multiple item code and added PB support to the UI
|
||||
//
|
||||
|
@ -686,7 +689,7 @@ static float CG_DrawScore(float y)
|
|||
|
||||
y += 4;
|
||||
|
||||
if (cgs.gametype == GT_TEAMPLAY || cgs.gametype == GT_CTF)
|
||||
if (cgs.gametype >= GT_TEAM)
|
||||
team = cg.snap->ps.persistant[PERS_SAVEDTEAM];
|
||||
else
|
||||
team = cg.snap->ps.persistant[PERS_TEAM];
|
||||
|
@ -2001,7 +2004,7 @@ static void CG_DrawSpectator(void)
|
|||
|
||||
MAKERGBA(Color, 0.0f, 0.0f, 0.0f, 0.4f);
|
||||
|
||||
if (cgs.gametype == GT_TEAMPLAY || cgs.gametype == GT_CTF) {
|
||||
if (cgs.gametype >= GT_TEAM) {
|
||||
team = (cgs.gametype == GT_TEAMPLAY) ? cg.snap->ps.persistant[PERS_SAVEDTEAM] : cg.snap->ps.persistant[PERS_TEAM];
|
||||
CG_TeamColor(team, Color);
|
||||
Color[0] *= 0.7f;
|
||||
|
|
|
@ -5,6 +5,9 @@
|
|||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
// $Log$
|
||||
// Revision 1.55 2002/10/26 22:03:42 jbravo
|
||||
// Made TeamDM work RQ3 style.
|
||||
//
|
||||
// Revision 1.54 2002/10/26 00:37:18 jbravo
|
||||
// New multiple item code and added PB support to the UI
|
||||
//
|
||||
|
@ -465,7 +468,7 @@ static qboolean CG_FindClientModelFile(char *filename, int length, clientInfo_t
|
|||
if (CG_FileExists(filename)) {
|
||||
return qtrue;
|
||||
}
|
||||
if (cgs.gametype == GT_TEAMPLAY || cgs.gametype == GT_CTF) {
|
||||
if (cgs.gametype >= GT_TEAM) {
|
||||
Com_sprintf(filename, length, "models/players/%s/%s_%s.%s", modelName, base, skinName,
|
||||
ext);
|
||||
} else if (cgs.gametype >= GT_TEAM) {
|
||||
|
@ -551,7 +554,7 @@ static qboolean CG_FindClientHeadFile(char *filename, int length, clientInfo_t *
|
|||
if (CG_FileExists(filename)) {
|
||||
return qtrue;
|
||||
}
|
||||
if (cgs.gametype == GT_TEAMPLAY || cgs.gametype == GT_CTF) {
|
||||
if (cgs.gametype >= GT_TEAM) {
|
||||
Com_sprintf(filename, length, "models/players/%s/%s_%s.%s", headModelName, base,
|
||||
headSkinName, ext);
|
||||
} else if (cgs.gametype >= GT_TEAM) {
|
||||
|
@ -2176,7 +2179,7 @@ static void CG_PlayerFloatSprite(centity_t * cent, qhandle_t shader)
|
|||
refEntity_t ent;
|
||||
|
||||
// NiceAss: Don't draw floating sprites for enemies in TP
|
||||
if ( cgs.gametype == GT_TEAMPLAY &&
|
||||
if ( cgs.gametype >= GT_TEAM &&
|
||||
cgs.clientinfo[cent->currentState.clientNum].team != cg.snap->ps.persistant[PERS_SAVEDTEAM] &&
|
||||
( cg.snap->ps.persistant[PERS_SAVEDTEAM] == TEAM_RED ||
|
||||
cg.snap->ps.persistant[PERS_SAVEDTEAM] == TEAM_BLUE ) )
|
||||
|
@ -2253,7 +2256,7 @@ static void CG_PlayerSprites(centity_t * cent)
|
|||
return;
|
||||
}
|
||||
// JBravo: no triangles over teammates.
|
||||
if (cgs.gametype == GT_TEAMPLAY || cgs.gametype == GT_CTF) {
|
||||
if (cgs.gametype >= GT_TEAM) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -5,6 +5,9 @@
|
|||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
// $Log$
|
||||
// Revision 1.70 2002/10/26 22:03:43 jbravo
|
||||
// Made TeamDM work RQ3 style.
|
||||
//
|
||||
// Revision 1.69 2002/10/21 21:03:32 niceass
|
||||
// ref ready code
|
||||
//
|
||||
|
@ -681,7 +684,7 @@ static void CG_MapRestart(void)
|
|||
|
||||
// play the "fight" sound if this is a restart without warmup
|
||||
// JBravo: unless we are in teamplay mode.
|
||||
if (cgs.gametype == GT_TEAMPLAY)
|
||||
if (cgs.gametype >= GT_TEAM)
|
||||
return;
|
||||
if (cg.warmup == 0 /* && cgs.gametype == GT_TOURNAMENT */ ) {
|
||||
trap_S_StartLocalSound(cgs.media.countFightSound, CHAN_ANNOUNCER);
|
||||
|
|
|
@ -5,6 +5,9 @@
|
|||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
// $Log$
|
||||
// Revision 1.92 2002/10/26 22:03:43 jbravo
|
||||
// Made TeamDM work RQ3 style.
|
||||
//
|
||||
// Revision 1.91 2002/10/26 00:37:18 jbravo
|
||||
// New multiple item code and added PB support to the UI
|
||||
//
|
||||
|
@ -745,7 +748,7 @@ void ClientEvents(gentity_t * ent, int oldEventSequence)
|
|||
break;
|
||||
}
|
||||
// JBravo: fix falling pain during lca
|
||||
if (g_gametype.integer == GT_TEAMPLAY && level.lights_camera_action) {
|
||||
if (g_gametype.integer >= GT_TEAM && level.lights_camera_action) {
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -776,7 +779,7 @@ void ClientEvents(gentity_t * ent, int oldEventSequence)
|
|||
break;
|
||||
}
|
||||
// JBravo: fix falling pain during lca again
|
||||
if (g_gametype.integer == GT_TEAMPLAY && level.lights_camera_action) {
|
||||
if (g_gametype.integer >= GT_TEAM && level.lights_camera_action) {
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -949,7 +952,7 @@ void ThrowItem(gentity_t * ent)
|
|||
gclient_t *client;
|
||||
gitem_t *xr_item;
|
||||
gentity_t *xr_drop;
|
||||
int item;
|
||||
// int item;
|
||||
|
||||
client = ent->client;
|
||||
|
||||
|
@ -1277,12 +1280,12 @@ void ClientThink_real(gentity_t * ent)
|
|||
if (ucmd->forwardmove == 0 && ucmd->rightmove == 0) {
|
||||
if (client->idletime) {
|
||||
if (level.time >= client->idletime + (g_RQ3_ppl_idletime.integer * 1000)) {
|
||||
if (g_gametype.integer == GT_TEAMPLAY && g_RQ3_idleaction.integer == 1 &&
|
||||
if (g_gametype.integer >= GT_TEAM && g_RQ3_idleaction.integer == 1 &&
|
||||
(ent->client->sess.sessionTeam == TEAM_RED || ent->client->sess.sessionTeam == TEAM_BLUE)) {
|
||||
trap_SendServerCommand( -1, va("print \"Removing %s^7 from his team for excessive Idling\n\"",
|
||||
ent->client->pers.netname));
|
||||
trap_SendServerCommand(ent - g_entities, "stuff team none\n");
|
||||
} else if (g_gametype.integer == GT_TEAMPLAY && g_RQ3_idleaction.integer == 2 &&
|
||||
} else if (g_gametype.integer >= GT_TEAM && g_RQ3_idleaction.integer == 2 &&
|
||||
(ent->client->sess.sessionTeam == TEAM_RED || ent->client->sess.sessionTeam == TEAM_BLUE)) {
|
||||
trap_SendServerCommand( -1, va("print \"Kicking %s^7 for excessive Idling\n\"",
|
||||
ent->client->pers.netname));
|
||||
|
@ -1381,7 +1384,7 @@ void SpectatorClientEndFrame(gentity_t * ent)
|
|||
//This will make the spectator get the client's stuff
|
||||
ent->client->ps = cl->ps;
|
||||
//Reposting score and ping..
|
||||
if (g_gametype.integer == GT_TEAMPLAY || g_gametype.integer == GT_CTF) {
|
||||
if (g_gametype.integer >= GT_TEAM) {
|
||||
for (i = 0; i < MAX_PERSISTANT; i++)
|
||||
ent->client->ps.persistant[i] = savedPers[i];
|
||||
|
||||
|
|
|
@ -5,6 +5,9 @@
|
|||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
// $Log$
|
||||
// Revision 1.120 2002/10/26 22:03:43 jbravo
|
||||
// Made TeamDM work RQ3 style.
|
||||
//
|
||||
// Revision 1.119 2002/10/26 18:29:17 jbravo
|
||||
// Added allweap and allitem funtionality.
|
||||
//
|
||||
|
@ -863,7 +866,7 @@ team_t PickTeam(int ignoreClientNum)
|
|||
{
|
||||
int counts[TEAM_NUM_TEAMS];
|
||||
|
||||
if (g_gametype.integer == GT_TEAMPLAY || g_gametype.integer == GT_CTF) {
|
||||
if (g_gametype.integer >= GT_TEAM) {
|
||||
counts[TEAM_BLUE] = RQ3TeamCount(ignoreClientNum, TEAM_BLUE);
|
||||
counts[TEAM_RED] = RQ3TeamCount(ignoreClientNum, TEAM_RED);
|
||||
} else {
|
||||
|
@ -1333,7 +1336,7 @@ char *ClientConnect(int clientNum, qboolean firstTime, qboolean isBot)
|
|||
CalculateRanks();
|
||||
|
||||
// JBravo: clients in TP begin as spectators
|
||||
if (g_gametype.integer == GT_TEAMPLAY || g_gametype.integer == GT_CTF) {
|
||||
if (g_gametype.integer >= GT_TEAM) {
|
||||
client->sess.sessionTeam = TEAM_SPECTATOR;
|
||||
client->ps.persistant[PERS_TEAM] = TEAM_SPECTATOR;
|
||||
client->sess.spectatorState = SPECTATOR_FREE;
|
||||
|
@ -1382,7 +1385,7 @@ void ClientBegin(int clientNum)
|
|||
ent->client = client;
|
||||
|
||||
//Slicer: Saving persistant and ping
|
||||
if (g_gametype.integer == GT_TEAMPLAY || g_gametype.integer == GT_CTF) {
|
||||
if (g_gametype.integer >= GT_TEAM) {
|
||||
savedPing = client->ps.ping;
|
||||
for (i = 0; i < MAX_PERSISTANT; i++)
|
||||
savedPers[i] = client->ps.persistant[i];
|
||||
|
@ -1401,7 +1404,7 @@ void ClientBegin(int clientNum)
|
|||
client->ps.eFlags = flags;
|
||||
|
||||
//Slicer: Repost score and ping
|
||||
if (g_gametype.integer == GT_TEAMPLAY || g_gametype.integer == GT_CTF) {
|
||||
if (g_gametype.integer >= GT_TEAM) {
|
||||
client->ps.ping = savedPing;
|
||||
for (i = 0; i < MAX_PERSISTANT; i++)
|
||||
client->ps.persistant[i] = savedPers[i];
|
||||
|
@ -1410,7 +1413,7 @@ void ClientBegin(int clientNum)
|
|||
ClientSpawn(ent);
|
||||
|
||||
// JBravo: if teamplay and the client has not been on teams, make them a spectator.
|
||||
if ((g_gametype.integer == GT_TEAMPLAY || g_gametype.integer == GT_CTF) &&
|
||||
if ((g_gametype.integer >= GT_TEAM) &&
|
||||
client->sess.sessionTeam != TEAM_RED && client->sess.sessionTeam != TEAM_BLUE) {
|
||||
client->sess.sessionTeam = TEAM_SPECTATOR;
|
||||
client->ps.persistant[PERS_SAVEDTEAM] = TEAM_SPECTATOR;
|
||||
|
@ -1450,7 +1453,7 @@ void ClientBegin(int clientNum)
|
|||
G_LogPrintf("ClientBegin: %i\n", clientNum);
|
||||
|
||||
// JBravo: synching the cvars over to clients for the MM ingame menu.
|
||||
if ((g_gametype.integer == GT_TEAMPLAY || g_gametype.integer == GT_CTF) && g_RQ3_matchmode.integer) {
|
||||
if ((g_gametype.integer >= GT_TEAM) && g_RQ3_matchmode.integer) {
|
||||
for (i = 0; i < 9; ++i) {
|
||||
trap_SendServerCommand(ent - g_entities, va("rq3_cmd %i %s %i", CVARSET, settings2[i],
|
||||
trap_Cvar_VariableIntegerValue(settings[i])));
|
||||
|
@ -1473,7 +1476,7 @@ void ClientBegin(int clientNum)
|
|||
CalculateRanks();
|
||||
|
||||
// JBravo: default weapons
|
||||
if (g_gametype.integer == GT_TEAMPLAY || g_gametype.integer == GT_CTF) {
|
||||
if (g_gametype.integer >= GT_TEAM) {
|
||||
// NiceAss: Only set it if there is no value. Fix for going into spectator resetting values.
|
||||
if (ent->r.svFlags & SVF_BOT) {
|
||||
//Makro - changed to m4/laser from pistol/kevlar
|
||||
|
@ -1701,7 +1704,7 @@ void ClientSpawn(gentity_t * ent)
|
|||
|
||||
//Blaze: changed WP_MACHINEGUN to WP_PISTOL, makes the base weapon you start with the pistol
|
||||
// JBravo: Not in TP
|
||||
if (g_gametype.integer != GT_TEAMPLAY && g_gametype.integer != GT_CTF) {
|
||||
if (g_gametype.integer == GT_FFA) {
|
||||
if ((int) g_RQ3_weaponban.integer & WPF_MK23) {
|
||||
client->ps.stats[STAT_WEAPONS] = (1 << WP_PISTOL);
|
||||
client->numClips[WP_PISTOL] = 0;
|
||||
|
@ -1759,7 +1762,7 @@ void ClientSpawn(gentity_t * ent)
|
|||
ent->client->ps.stats[STAT_RQ3] = 0;
|
||||
|
||||
// JBravo: remember saved specmodes.
|
||||
if ((g_gametype.integer == GT_TEAMPLAY || g_gametype.integer == GT_CTF) &&
|
||||
if ((g_gametype.integer >= GT_TEAM) &&
|
||||
client->sess.sessionTeam == TEAM_SPECTATOR) {
|
||||
if (client->specMode == SPECTATOR_FOLLOW || client->specMode == SPECTATOR_FREE) {
|
||||
client->sess.spectatorState = client->specMode;
|
||||
|
@ -1785,7 +1788,7 @@ void ClientSpawn(gentity_t * ent)
|
|||
client->ps.torsoAnim = TORSO_STAND;
|
||||
client->ps.legsAnim = LEGS_IDLE;
|
||||
// weapon animations
|
||||
if (g_gametype.integer != GT_TEAMPLAY && g_gametype.integer != GT_CTF)
|
||||
if (g_gametype.integer == GT_FFA)
|
||||
client->ps.generic1 = ((client->ps.generic1 & ANIM_TOGGLEBIT)
|
||||
^ ANIM_TOGGLEBIT) | WP_ANIM_IDLE;
|
||||
|
||||
|
@ -1799,7 +1802,7 @@ void ClientSpawn(gentity_t * ent)
|
|||
// select the highest weapon number available, after any
|
||||
// spawn given items have fired
|
||||
// JBravo: Lets make sure we have the right weapons
|
||||
if ((g_gametype.integer == GT_TEAMPLAY || g_gametype.integer == GT_CTF) &&
|
||||
if ((g_gametype.integer >= GT_TEAM) &&
|
||||
(client->sess.sessionTeam == TEAM_RED || client->sess.sessionTeam == TEAM_BLUE)) {
|
||||
EquipPlayer(ent);
|
||||
} else {
|
||||
|
@ -1820,7 +1823,7 @@ void ClientSpawn(gentity_t * ent)
|
|||
client->ps.commandTime = level.time - 100;
|
||||
ent->client->pers.cmd.serverTime = level.time;
|
||||
// JBravo: We should not have to call this during TP spawns
|
||||
if (g_gametype.integer != GT_TEAMPLAY && g_gametype.integer != GT_CTF)
|
||||
if (g_gametype.integer == GT_FFA)
|
||||
ClientThink(ent - g_entities);
|
||||
|
||||
// positively link the client, even if the command times are weird
|
||||
|
@ -1831,7 +1834,7 @@ void ClientSpawn(gentity_t * ent)
|
|||
}
|
||||
// run the presend to set anything else
|
||||
// JBravo: We should not have to call this during TP spawns
|
||||
if (g_gametype.integer != GT_TEAMPLAY && g_gametype.integer != GT_CTF)
|
||||
if (g_gametype.integer == GT_FFA)
|
||||
ClientEndFrame(ent);
|
||||
ent->client->noHead = qfalse;
|
||||
|
||||
|
@ -1899,7 +1902,7 @@ void ClientDisconnect(int clientNum)
|
|||
return;
|
||||
}
|
||||
// JBravo: to keep the ui teamcount cvars right.
|
||||
if (g_gametype.integer == GT_TEAMPLAY) {
|
||||
if (g_gametype.integer >= GT_TEAM) {
|
||||
oldTeam = ent->client->sess.sessionTeam;
|
||||
}
|
||||
//Slicer: matchmode
|
||||
|
@ -1973,7 +1976,7 @@ void ClientDisconnect(int clientNum)
|
|||
CalculateRanks();
|
||||
|
||||
// JBravo: to keep the ui teamcount cvars right.
|
||||
if (g_gametype.integer == GT_TEAMPLAY) {
|
||||
if (g_gametype.integer >= GT_TEAM) {
|
||||
i = RQ3TeamCount(-1, oldTeam);
|
||||
}
|
||||
|
||||
|
|
|
@ -5,6 +5,9 @@
|
|||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
// $Log$
|
||||
// Revision 1.174 2002/10/26 22:03:43 jbravo
|
||||
// Made TeamDM work RQ3 style.
|
||||
//
|
||||
// Revision 1.173 2002/10/26 18:29:17 jbravo
|
||||
// Added allweap and allitem funtionality.
|
||||
//
|
||||
|
@ -942,7 +945,7 @@ void BroadcastTeamChange(gclient_t * client, int oldTeam)
|
|||
{
|
||||
// JBravo: change team names if teamplay
|
||||
|
||||
if (g_gametype.integer == GT_TEAMPLAY) {
|
||||
if (g_gametype.integer >= GT_TEAM) {
|
||||
if (client->sess.savedTeam == TEAM_RED) {
|
||||
trap_SendServerCommand(-1, va("print \"%s" S_COLOR_WHITE " joined %s.\n\"",
|
||||
client->pers.netname, g_RQ3_team1name.string));
|
||||
|
@ -989,7 +992,7 @@ void SetTeam(gentity_t * ent, char *s)
|
|||
client = ent->client;
|
||||
clientNum = client - level.clients;
|
||||
|
||||
if (g_gametype.integer != GT_TEAMPLAY && g_gametype.integer != GT_CTF) {
|
||||
if (g_gametype.integer < GT_TEAM) {
|
||||
specClient = 0;
|
||||
specState = SPECTATOR_NOT;
|
||||
}
|
||||
|
@ -1011,7 +1014,7 @@ void SetTeam(gentity_t * ent, char *s)
|
|||
specState = SPECTATOR_FREE;
|
||||
} else if (g_gametype.integer >= GT_TEAM) {
|
||||
// if running a team game, assign player to one of the teams
|
||||
if (g_gametype.integer != GT_TEAMPLAY && g_gametype.integer != GT_CTF) {
|
||||
if (g_gametype.integer < GT_TEAM) {
|
||||
specState = SPECTATOR_NOT;
|
||||
}
|
||||
if (!Q_stricmp(s, "red") || !Q_stricmp(s, "r") || !Q_stricmp(s, "1")) {
|
||||
|
@ -1094,7 +1097,7 @@ void SetTeam(gentity_t * ent, char *s)
|
|||
}
|
||||
|
||||
// JBravo: lets set the correct var here.
|
||||
if (g_gametype.integer == GT_TEAMPLAY || g_gametype.integer == GT_CTF) {
|
||||
if (g_gametype.integer >= GT_TEAM) {
|
||||
client->sess.savedTeam = team;
|
||||
client->ps.persistant[PERS_SAVEDTEAM] = team;
|
||||
} else {
|
||||
|
@ -1121,7 +1124,7 @@ void SetTeam(gentity_t * ent, char *s)
|
|||
client->sess.spectatorTime = level.time;
|
||||
}
|
||||
// JBravo: not messing with spec system in TP during teamswitches
|
||||
if (g_gametype.integer != GT_TEAMPLAY && g_gametype.integer != GT_CTF) {
|
||||
if (g_gametype.integer < GT_TEAM) {
|
||||
client->sess.spectatorState = specState;
|
||||
client->sess.spectatorClient = specClient;
|
||||
}
|
||||
|
@ -1133,7 +1136,7 @@ void SetTeam(gentity_t * ent, char *s)
|
|||
|
||||
// JBravo: save sessionTeam and then set it correctly for the call to ClientUserinfoChanged
|
||||
// so the scoreboard will be correct. Also check for uneven teams.
|
||||
if (g_gametype.integer == GT_TEAMPLAY || g_gametype.integer == GT_CTF) {
|
||||
if (g_gametype.integer >= GT_TEAM) {
|
||||
if (g_RQ3_matchmode.integer && g_RQ3_maxplayers.integer > 0) {
|
||||
if (RQ3TeamCount(-1, client->sess.savedTeam) > g_RQ3_maxplayers.integer) // If it overflows max players
|
||||
//Make him a sub immeadiatly.
|
||||
|
@ -1339,7 +1342,7 @@ void Cmd_FollowCycle_f(gentity_t * ent, int dir)
|
|||
}
|
||||
// first set them to spectator
|
||||
// JBravo: Unless we are in teamplay. No need to mess with teams.
|
||||
if (ent->client->sess.spectatorState == SPECTATOR_NOT && g_gametype.integer != GT_TEAMPLAY) {
|
||||
if (ent->client->sess.spectatorState == SPECTATOR_NOT && g_gametype.integer < GT_TEAM) {
|
||||
SetTeam(ent, "spectator");
|
||||
}
|
||||
|
||||
|
@ -1366,7 +1369,7 @@ void Cmd_FollowCycle_f(gentity_t * ent, int dir)
|
|||
continue;
|
||||
}
|
||||
// JBravo: limchasecam
|
||||
if (g_gametype.integer == GT_TEAMPLAY && g_RQ3_limchasecam.integer != 0 &&
|
||||
if (g_gametype.integer >= GT_TEAM && g_RQ3_limchasecam.integer != 0 &&
|
||||
ent->client->sess.savedTeam != level.clients[clientnum].sess.sessionTeam && ent->client->sess.referee == 0) {
|
||||
G_Printf("SavedTeam = (%d)\n",ent->client->sess.savedTeam);
|
||||
continue;
|
||||
|
@ -1982,8 +1985,8 @@ void Cmd_CallVote_f(gentity_t * ent)
|
|||
// special case for g_gametype, check for bad values
|
||||
if (!Q_stricmp(arg1, "g_gametype")) {
|
||||
i = atoi(arg2);
|
||||
if (i != GT_FFA && i != GT_TEAMPLAY && i != GT_CTF) {
|
||||
trap_SendServerCommand(ent - g_entities, "print \"Invalid gametype. Valid gametypes are 0, 4 and 5.\n\"");
|
||||
if (i != GT_FFA && i != GT_TEAMPLAY && i != GT_CTF && i != GT_TEAM) {
|
||||
trap_SendServerCommand(ent - g_entities, "print \"Invalid gametype. Valid gametypes are 0, 3, 4 and 5.\n\"");
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -2093,7 +2096,7 @@ void Cmd_CallTeamVote_f(gentity_t * ent)
|
|||
char arg2[MAX_STRING_TOKENS];
|
||||
|
||||
// JBravo: not wanted for TP
|
||||
if (g_gametype.integer == GT_TEAMPLAY)
|
||||
if (g_gametype.integer >= GT_TEAM)
|
||||
return;
|
||||
|
||||
team = ent->client->sess.sessionTeam;
|
||||
|
|
|
@ -5,6 +5,9 @@
|
|||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
// $Log$
|
||||
// Revision 1.130 2002/10/26 22:03:43 jbravo
|
||||
// Made TeamDM work RQ3 style.
|
||||
//
|
||||
// Revision 1.129 2002/10/26 00:37:18 jbravo
|
||||
// New multiple item code and added PB support to the UI
|
||||
//
|
||||
|
@ -363,7 +366,7 @@ void AddScore(gentity_t * ent, vec3_t origin, int score)
|
|||
ScorePlum(ent, origin, score);
|
||||
//
|
||||
ent->client->ps.persistant[PERS_SCORE] += score;
|
||||
if (g_gametype.integer == GT_TEAM)
|
||||
if (g_gametype.integer == GT_TEAM && score > 0)
|
||||
level.teamScores[ent->client->ps.persistant[PERS_TEAM]] += score;
|
||||
CalculateRanks();
|
||||
}
|
||||
|
@ -1169,7 +1172,7 @@ void player_die(gentity_t * self, gentity_t * inflictor, gentity_t * attacker, i
|
|||
return;
|
||||
}
|
||||
// JBravo: lets not bother with those CTF functions in Teamplay
|
||||
if (g_gametype.integer != GT_TEAMPLAY) {
|
||||
if (g_gametype.integer == GT_CTF) {
|
||||
// check for an almost capture
|
||||
CheckAlmostCapture(self, attacker);
|
||||
// check for a player that almost brought in cubes
|
||||
|
@ -1353,7 +1356,7 @@ void player_die(gentity_t * self, gentity_t * inflictor, gentity_t * attacker, i
|
|||
Add_TeamKill(attacker);
|
||||
trap_SendServerCommand(self - g_entities,
|
||||
va("rq3_cmd %i %s", TKOK, attacker->client->pers.netname));
|
||||
} else if (g_gametype.integer == GT_CTF) {
|
||||
} else if (g_gametype.integer == GT_CTF || g_gametype.integer == GT_TEAM) {
|
||||
AddScore(attacker, self->r.currentOrigin, -1);
|
||||
attacker->client->pers.records[REC_KILLS]--;
|
||||
attacker->client->pers.records[REC_TEAMKILLS]++;
|
||||
|
@ -1376,7 +1379,7 @@ void player_die(gentity_t * self, gentity_t * inflictor, gentity_t * attacker, i
|
|||
// DM reward scoring, should add an if statement to get around this when
|
||||
// we add teamplay.
|
||||
// JBravo: Done ;)
|
||||
if (g_gametype.integer == GT_FFA) {
|
||||
if (g_gametype.integer == GT_FFA || g_gametype.integer == GT_TEAM) {
|
||||
if (attacker->client->killStreak < 4)
|
||||
AddScore(attacker, self->r.currentOrigin, 1);
|
||||
else if (attacker->client->killStreak < 8) {
|
||||
|
@ -1431,7 +1434,7 @@ void player_die(gentity_t * self, gentity_t * inflictor, gentity_t * attacker, i
|
|||
self->client->pers.records[REC_SUICIDES]++;
|
||||
self->client->pers.records[REC_KILLS]--;
|
||||
}
|
||||
if (g_gametype.integer != GT_TEAMPLAY) {
|
||||
if (g_gametype.integer == GT_CTF) {
|
||||
if (self->client->ps.powerups[PW_NEUTRALFLAG]) { // only happens in One Flag CTF
|
||||
Team_ReturnFlag(TEAM_FREE);
|
||||
self->client->ps.powerups[PW_NEUTRALFLAG] = 0;
|
||||
|
@ -1449,7 +1452,7 @@ void player_die(gentity_t * self, gentity_t * inflictor, gentity_t * attacker, i
|
|||
if (!(contents & CONTENTS_NODROP)) {
|
||||
TossClientItems(self);
|
||||
} else {
|
||||
if (g_gametype.integer != GT_TEAMPLAY) {
|
||||
if (g_gametype.integer == GT_CTF) {
|
||||
if (self->client->ps.powerups[PW_NEUTRALFLAG]) { // only happens in One Flag CTF
|
||||
Team_ReturnFlag(TEAM_FREE);
|
||||
} else if (self->client->ps.powerups[PW_REDFLAG]) { // only happens in standard CTF
|
||||
|
@ -1864,7 +1867,7 @@ void G_Damage(gentity_t * targ, gentity_t * inflictor, gentity_t * attacker,
|
|||
return;
|
||||
}
|
||||
|
||||
if (g_gametype.integer == GT_TEAMPLAY && level.lights_camera_action) {
|
||||
if (g_gametype.integer >= GT_TEAM && level.lights_camera_action) {
|
||||
return; // JBravo: No dmg during LCA
|
||||
}
|
||||
// NiceAss: Fixed pointer bug causing DLLs to crash
|
||||
|
@ -1872,7 +1875,7 @@ void G_Damage(gentity_t * targ, gentity_t * inflictor, gentity_t * attacker,
|
|||
if (targ != attacker && attacker && targ && targ->client && attacker->client &&
|
||||
targ->client->sess.sessionTeam == attacker->client->sess.sessionTeam &&
|
||||
((g_gametype.integer == GT_TEAMPLAY && !g_friendlyFire.integer && level.team_round_going) ||
|
||||
(g_gametype.integer == GT_CTF && !g_friendlyFire.integer)))
|
||||
(g_gametype.integer >= GT_TEAM && !g_friendlyFire.integer)))
|
||||
return;
|
||||
|
||||
// the intermission has allready been qualified for, so don't
|
||||
|
@ -2086,10 +2089,10 @@ void G_Damage(gentity_t * targ, gentity_t * inflictor, gentity_t * attacker,
|
|||
if (g_gametype.integer == GT_TEAMPLAY && g_friendlyFire.integer == 2 && level.team_round_going) {
|
||||
return;
|
||||
}
|
||||
if (g_gametype.integer == GT_CTF && g_friendlyFire.integer == 2)
|
||||
if (g_gametype.integer >= GT_TEAM && g_friendlyFire.integer == 2)
|
||||
return;
|
||||
if ((g_gametype.integer == GT_TEAMPLAY && level.team_round_going)
|
||||
|| g_gametype.integer == GT_CTF)
|
||||
|| g_gametype.integer >= GT_TEAM)
|
||||
Add_TeamWound(attacker, targ, mod);
|
||||
}
|
||||
// check for godmode
|
||||
|
|
|
@ -5,6 +5,9 @@
|
|||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
// $Log$
|
||||
// Revision 1.51 2002/10/26 22:03:43 jbravo
|
||||
// Made TeamDM work RQ3 style.
|
||||
//
|
||||
// Revision 1.50 2002/10/26 00:37:18 jbravo
|
||||
// New multiple item code and added PB support to the UI
|
||||
//
|
||||
|
@ -796,7 +799,7 @@ gentity_t *LaunchItem(gitem_t * item, vec3_t origin, vec3_t velocity, int xr_fla
|
|||
else
|
||||
dropped->think = RQ3_DroppedWeaponThink;
|
||||
// JBravo: weapons and items go away faster in CTF
|
||||
if (g_gametype.integer == GT_CTF)
|
||||
if (g_gametype.integer == GT_CTF || g_gametype.integer == GT_TEAM)
|
||||
dropped->nextthink = level.time + RQ3_CTF_RESPAWNTIME_DEFAULT;
|
||||
else if (g_gametype.integer == GT_TEAMPLAY)
|
||||
dropped->nextthink = 0;
|
||||
|
@ -811,7 +814,7 @@ gentity_t *LaunchItem(gitem_t * item, vec3_t origin, vec3_t velocity, int xr_fla
|
|||
else
|
||||
dropped->think = RQ3_DroppedItemThink;
|
||||
// JBravo: weapons and items go away faster in CTF
|
||||
if (g_gametype.integer == GT_CTF)
|
||||
if (g_gametype.integer == GT_CTF || g_gametype.integer == GT_TEAM)
|
||||
dropped->nextthink = level.time + RQ3_CTF_RESPAWNTIME_DEFAULT;
|
||||
else if (g_gametype.integer == GT_TEAMPLAY)
|
||||
dropped->nextthink = 0;
|
||||
|
@ -1086,7 +1089,7 @@ void ClearRegisteredItems(void)
|
|||
RegisterItem(BG_FindItemForHoldable(HI_LASER));
|
||||
//Makro - all weapons should be loaded in teamplay
|
||||
//JBravo: and CTF
|
||||
if (g_gametype.integer == GT_TEAMPLAY || g_gametype.integer == GT_CTF) {
|
||||
if (g_gametype.integer == GT_TEAMPLAY || g_gametype.integer == GT_CTF || g_gametype.integer == GT_TEAM) {
|
||||
RegisterItem(BG_FindItemForWeapon(WP_M3));
|
||||
RegisterItem(BG_FindItemForWeapon(WP_MP5));
|
||||
RegisterItem(BG_FindItemForWeapon(WP_HANDCANNON));
|
||||
|
@ -1484,7 +1487,7 @@ void RQ3_ResetItem(int itemTag)
|
|||
float angle = rand() % 360;
|
||||
|
||||
// JBravo: no resetting items in TP or CTB
|
||||
if (g_gametype.integer == GT_TEAMPLAY || g_gametype.integer == GT_CTF)
|
||||
if (g_gametype.integer >= GT_TEAM)
|
||||
return;
|
||||
|
||||
switch (itemTag) {
|
||||
|
|
|
@ -5,6 +5,9 @@
|
|||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
// $Log$
|
||||
// Revision 1.124 2002/10/26 22:03:43 jbravo
|
||||
// Made TeamDM work RQ3 style.
|
||||
//
|
||||
// Revision 1.123 2002/10/26 18:29:17 jbravo
|
||||
// Added allweap and allitem funtionality.
|
||||
//
|
||||
|
@ -789,7 +792,7 @@ void G_RegisterCvars(void)
|
|||
}
|
||||
// JBravo: lets disable the untested modes.
|
||||
if (g_gametype.integer != GT_FFA && g_gametype.integer != GT_TEAMPLAY && g_gametype.integer != GT_CTF &&
|
||||
g_gametype.integer != GT_TOURNAMENT) {
|
||||
g_gametype.integer != GT_TOURNAMENT && g_gametype.integer != GT_TEAM) {
|
||||
G_Printf("g_gametype %i is currently not supported by ReactionQuake3. Defaulting to 0\n",
|
||||
g_gametype.integer);
|
||||
trap_Cvar_Set("g_gametype", "0");
|
||||
|
@ -1063,7 +1066,7 @@ void G_InitGame(int levelTime, int randomSeed, int restart)
|
|||
}
|
||||
//Elder: spawn unique items.
|
||||
// JBravo: unless we are in Teamplay
|
||||
if (g_gametype.integer != GT_TEAMPLAY && g_gametype.integer != GT_CTF) {
|
||||
if (g_gametype.integer < GT_TEAM) {
|
||||
RQ3_StartUniqueItems();
|
||||
}
|
||||
// Elder: force sv_floodprotect to 0 -- remove when we finish
|
||||
|
@ -1084,7 +1087,7 @@ void G_InitGame(int levelTime, int randomSeed, int restart)
|
|||
G_SoundIndex("sound/player/gurp2.wav");
|
||||
}
|
||||
// JBravo: reset teamplay stuff.
|
||||
if (g_gametype.integer == GT_TEAMPLAY || g_gametype.integer == GT_CTF) {
|
||||
if (g_gametype.integer >= GT_TEAM) {
|
||||
//Slicer: Default Radio Gender according to MODEL gender
|
||||
Q_strncpyz(model, g_RQ3_team1model.string, sizeof(model));
|
||||
Q_strncpyz(model2, g_RQ3_team2model.string, sizeof(model));
|
||||
|
@ -1116,7 +1119,7 @@ void G_InitGame(int levelTime, int randomSeed, int restart)
|
|||
level.team1respawn = level.team2respawn = 0;
|
||||
}
|
||||
// Slicer: reset matchmode vars
|
||||
if (g_RQ3_matchmode.integer && (g_gametype.integer == GT_TEAMPLAY || g_gametype.integer == GT_CTF)) {
|
||||
if (g_RQ3_matchmode.integer && g_gametype.integer >= GT_TEAM) {
|
||||
level.refAmmount = 0;
|
||||
for (i = 0; i < level.maxclients; i++) {
|
||||
ent = &g_entities[i];
|
||||
|
@ -1664,7 +1667,7 @@ void BeginIntermission(void)
|
|||
MoveClientToIntermission(client);
|
||||
// JBravo: send the TP scoreboard to players
|
||||
// NiceAss: And CTF
|
||||
if (g_gametype.integer == GT_TEAMPLAY || g_gametype.integer == GT_CTF)
|
||||
if (g_gametype.integer >= GT_TEAM)
|
||||
trap_SendServerCommand(i, va("rq3_cmd %i", MAPEND));
|
||||
}
|
||||
|
||||
|
@ -1990,7 +1993,7 @@ void CheckExitRules(void)
|
|||
return;
|
||||
}
|
||||
//Slicer
|
||||
if (g_gametype.integer == GT_TEAMPLAY) {
|
||||
if (g_gametype.integer >= GT_TEAM) {
|
||||
//Let's check fraglimit here, everything else is on teamplay.c
|
||||
if (g_fraglimit.integer > 0) {
|
||||
for (i = 0; i < g_maxclients.integer; i++) {
|
||||
|
@ -2525,7 +2528,7 @@ void G_RunFrame(int levelTime)
|
|||
CheckVote();
|
||||
|
||||
// JBravo: this is the main function in g_teamplay that does everything for TP and CTB
|
||||
if (g_gametype.integer == GT_TEAMPLAY || g_gametype.integer == GT_CTF) {
|
||||
if (g_gametype.integer == GT_TEAMPLAY || g_gametype.integer == GT_CTF || g_gametype.integer == GT_TEAM) {
|
||||
CheckTeamRules();
|
||||
}
|
||||
// Slicer: matchmode
|
||||
|
|
|
@ -81,6 +81,7 @@ void MM_RunFrame(void)
|
|||
//Each Type has different ways of dealing things..
|
||||
case (GT_TEAMPLAY):
|
||||
case (GT_CTF):
|
||||
case (GT_TEAM):
|
||||
if (level.team_game_going && level.inGame)
|
||||
level.matchTime += 1.0f / (float) fps;
|
||||
break;
|
||||
|
@ -162,8 +163,8 @@ void MM_Ready_f(gentity_t * ent)
|
|||
return;
|
||||
}
|
||||
|
||||
if (level.inGame && g_gametype.integer == GT_CTF) {
|
||||
trap_SendServerCommand(ent - g_entities, va("print \""MM_DENY_COLOR "CTB does not yet support un-readying your team after the match started\n\""));
|
||||
if (level.inGame && (g_gametype.integer == GT_CTF || g_gametype.integer == GT_TEAM)) {
|
||||
trap_SendServerCommand(ent - g_entities, va("print \""MM_DENY_COLOR "This gametype does not yet support un-readying your team after the match started\n\""));
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -405,7 +406,7 @@ void MM_ClearScores(qboolean clearTeamFlags)
|
|||
ent->client->ps.persistant[PERS_KILLED] = 0;
|
||||
ent->client->ps.persistant[PERS_DAMAGE_DELT] = 0;
|
||||
}
|
||||
if (g_gametype.integer == GT_TEAMPLAY || g_gametype.integer == GT_CTF) {
|
||||
if (g_gametype.integer >= GT_TEAM) {
|
||||
level.teamScores[TEAM_RED] = 0;
|
||||
level.teamScores[TEAM_BLUE] = 0;
|
||||
}
|
||||
|
|
|
@ -5,6 +5,9 @@
|
|||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
// $Log$
|
||||
// Revision 1.23 2002/10/26 22:03:43 jbravo
|
||||
// Made TeamDM work RQ3 style.
|
||||
//
|
||||
// Revision 1.22 2002/10/21 21:00:39 slicer
|
||||
// New MM features and bug fixes
|
||||
//
|
||||
|
@ -94,7 +97,7 @@ void G_WriteClientSessionData(gclient_t * client)
|
|||
|
||||
//Slicer how about savedTeam ?!
|
||||
|
||||
if (!g_RQ3_matchmode.integer && (g_gametype.integer == GT_TEAMPLAY || g_gametype.integer == GT_CTF)) {
|
||||
if (!g_RQ3_matchmode.integer && g_gametype.integer >= GT_TEAM) {
|
||||
//Reset teams on map changes / map_restarts, except on matchmode
|
||||
client->sess.savedTeam = TEAM_SPECTATOR;
|
||||
}
|
||||
|
@ -204,7 +207,7 @@ void G_InitSessionData(gclient_t * client, char *userinfo)
|
|||
if (g_gametype.integer == GT_TEAMPLAY) {
|
||||
sess->savedTeam = PickTeam(-1);
|
||||
client->ps.persistant[PERS_SAVEDTEAM] = sess->savedTeam;
|
||||
} else if (g_gametype.integer == GT_CTF) {
|
||||
} else if (g_gametype.integer == GT_CTF || g_gametype.integer == GT_TEAM) {
|
||||
sess->savedTeam = PickTeam(-1);
|
||||
client->ps.persistant[PERS_SAVEDTEAM] = sess->savedTeam;
|
||||
sess->sessionTeam = sess->savedTeam;
|
||||
|
|
|
@ -5,6 +5,9 @@
|
|||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
// $Log$
|
||||
// Revision 1.142 2002/10/26 22:03:43 jbravo
|
||||
// Made TeamDM work RQ3 style.
|
||||
//
|
||||
// Revision 1.141 2002/10/26 00:37:18 jbravo
|
||||
// New multiple item code and added PB support to the UI
|
||||
//
|
||||
|
@ -1163,6 +1166,8 @@ void EquipPlayer(gentity_t * ent)
|
|||
|
||||
if ((int) g_RQ3_weaponban.integer & WPF_KNIFE) {
|
||||
ent->client->ps.stats[STAT_WEAPONS] |= (1 << WP_KNIFE);
|
||||
ent->client->weaponCount[WP_KNIFE] = 1;
|
||||
ent->client->ps.ammo[WP_KNIFE] = 1;
|
||||
}
|
||||
|
||||
switch (ent->client->teamplayWeapon) {
|
||||
|
@ -2268,7 +2273,7 @@ void Add_TeamWound(gentity_t * attacker, gentity_t * victim, int mod)
|
|||
char userinfo[MAX_INFO_STRING];
|
||||
char *value;
|
||||
|
||||
if ((g_gametype.integer != GT_TEAMPLAY && g_gametype.integer != GT_CTF) || !attacker->client || !victim->client)
|
||||
if (g_gametype.integer < GT_TEAM || !attacker->client || !victim->client)
|
||||
return;
|
||||
|
||||
attacker->client->team_wounds++;
|
||||
|
@ -2315,8 +2320,7 @@ void Add_TeamKill(gentity_t * attacker)
|
|||
char *value;
|
||||
|
||||
// NiceAss: No TKing in matchmode
|
||||
if ((g_gametype.integer != GT_TEAMPLAY && g_gametype.integer != GT_CTF) || !attacker->client
|
||||
|| g_RQ3_matchmode.integer)
|
||||
if (g_gametype.integer < GT_TEAM || !attacker->client || g_RQ3_matchmode.integer)
|
||||
return;
|
||||
|
||||
attacker->client->team_kills++;
|
||||
|
|
|
@ -5,6 +5,9 @@
|
|||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
// $Log$
|
||||
// Revision 1.84 2002/10/26 22:03:43 jbravo
|
||||
// Made TeamDM work RQ3 style.
|
||||
//
|
||||
// Revision 1.83 2002/10/26 00:37:18 jbravo
|
||||
// New multiple item code and added PB support to the UI
|
||||
//
|
||||
|
@ -282,7 +285,7 @@ qboolean JumpKick(gentity_t * ent)
|
|||
}
|
||||
// CTF
|
||||
if (ent->client->sess.sessionTeam == traceEnt->client->sess.sessionTeam &&
|
||||
g_gametype.integer == GT_CTF) {
|
||||
(g_gametype.integer == GT_CTF || g_gametype.integer == GT_TEAM)) {
|
||||
return qfalse;
|
||||
}
|
||||
}
|
||||
|
@ -1189,7 +1192,7 @@ void Weapon_Knife_Fire(gentity_t * ent)
|
|||
|
||||
//m = Knife_Throw(ent, muzzle, forward, THROW_DAMAGE, 1200);
|
||||
// JBravo: ff
|
||||
if (g_gametype.integer == GT_TEAMPLAY || g_gametype.integer == GT_CTF)
|
||||
if (g_gametype.integer >= GT_TEAM)
|
||||
setFFState(ent);
|
||||
|
||||
m = fire_knife(ent, muzzle, forward);
|
||||
|
@ -1224,7 +1227,7 @@ void Weapon_M4_Fire(gentity_t * ent)
|
|||
}
|
||||
|
||||
// JBravo: ff
|
||||
if (g_gametype.integer == GT_TEAMPLAY || g_gametype.integer == GT_CTF)
|
||||
if (g_gametype.integer >= GT_TEAM)
|
||||
setFFState(ent);
|
||||
Bullet_Fire(ent, RQ3_Spread(ent, M4_SPREAD), M4_DAMAGE, MOD_M4);
|
||||
|
||||
|
@ -1259,7 +1262,7 @@ void Weapon_MK23_Fire(gentity_t * ent)
|
|||
spread = PISTOL_SPREAD;
|
||||
}
|
||||
// JBravo: ff
|
||||
if (g_gametype.integer == GT_TEAMPLAY || g_gametype.integer == GT_CTF)
|
||||
if (g_gametype.integer >= GT_TEAM)
|
||||
setFFState(ent);
|
||||
Bullet_Fire(ent, RQ3_Spread(ent, spread), PISTOL_DAMAGE, MOD_PISTOL);
|
||||
}
|
||||
|
@ -1280,7 +1283,7 @@ void Weapon_SSG3000_FireOld(gentity_t * ent)
|
|||
spread = RQ3_Spread(ent, SNIPER_SPREAD);
|
||||
}
|
||||
// JBravo: ff
|
||||
if (g_gametype.integer == GT_TEAMPLAY || g_gametype.integer == GT_CTF)
|
||||
if (g_gametype.integer >= GT_TEAM)
|
||||
setFFState(ent);
|
||||
Bullet_Fire(ent, spread, SNIPER_DAMAGE, MOD_SNIPER);
|
||||
|
||||
|
@ -1526,7 +1529,7 @@ void Weapon_MP5_Fire(gentity_t * ent)
|
|||
}
|
||||
|
||||
// JBravo: ff
|
||||
if (g_gametype.integer == GT_TEAMPLAY || g_gametype.integer == GT_CTF)
|
||||
if (g_gametype.integer >= GT_TEAM)
|
||||
setFFState(ent);
|
||||
Bullet_Fire(ent, RQ3_Spread(ent, MP5_SPREAD), MP5_DAMAGE, MOD_MP5);
|
||||
|
||||
|
@ -1542,7 +1545,7 @@ void Weapon_HandCannon_Fire(gentity_t * ent)
|
|||
gentity_t *tent, *tent2;
|
||||
|
||||
// JBravo: ff
|
||||
if (g_gametype.integer == GT_TEAMPLAY || g_gametype.integer == GT_CTF)
|
||||
if (g_gametype.integer >= GT_TEAM)
|
||||
setFFState(ent);
|
||||
|
||||
//Elder: added for damage report
|
||||
|
@ -1582,7 +1585,7 @@ void Weapon_M3_Fire(gentity_t * ent)
|
|||
gentity_t *tent;
|
||||
|
||||
// JBravo: ff
|
||||
if (g_gametype.integer == GT_TEAMPLAY || g_gametype.integer == GT_CTF)
|
||||
if (g_gametype.integer >= GT_TEAM)
|
||||
setFFState(ent);
|
||||
//Elder: added for damage report
|
||||
RQ3_InitShotgunDamageReport();
|
||||
|
@ -1678,7 +1681,7 @@ void Weapon_Akimbo_Fire(gentity_t * ent)
|
|||
//Blaze: Will need 2 of these
|
||||
spread = AKIMBO_SPREAD;
|
||||
// JBravo: ff
|
||||
if (g_gametype.integer == GT_TEAMPLAY || g_gametype.integer == GT_CTF)
|
||||
if (g_gametype.integer >= GT_TEAM)
|
||||
setFFState(ent);
|
||||
Bullet_Fire(ent, RQ3_Spread(ent, spread), AKIMBO_DAMAGE, MOD_AKIMBO);
|
||||
|
||||
|
@ -1706,7 +1709,7 @@ void Weapon_Grenade_Fire(gentity_t * ent)
|
|||
VectorNormalize(forward);
|
||||
|
||||
// JBravo: ff
|
||||
if (g_gametype.integer == GT_TEAMPLAY || g_gametype.integer == GT_CTF)
|
||||
if (g_gametype.integer >= GT_TEAM)
|
||||
setFFState(ent);
|
||||
|
||||
m = fire_grenade(ent, muzzle, forward);
|
||||
|
|
Loading…
Reference in a new issue