Reverted all 4TCTF Changes

This commit is contained in:
perle 2024-07-31 23:44:29 +02:00
parent 84dc0976bc
commit 844b2d5f84
19 changed files with 132 additions and 335 deletions

View file

@ -391,10 +391,6 @@ void CG_DrawFlagModel( float x, float y, float w, float h, int team, qboolean fo
handle = cgs.media.redFlagModel;
} else if( team == TEAM_BLUE ) {
handle = cgs.media.blueFlagModel;
} else if( team == TEAM_GREEN) {
handle = cgs.media.greenFlagModel;
} else if( team == TEAM_YELLOW ) {
handle = cgs.media.yellowFlagModel;
} else if( team == TEAM_FREE ) {
handle = cgs.media.neutralFlagModel;
} else {
@ -408,10 +404,6 @@ void CG_DrawFlagModel( float x, float y, float w, float h, int team, qboolean fo
item = BG_FindItemForPowerup( PW_REDFLAG );
} else if( team == TEAM_BLUE ) {
item = BG_FindItemForPowerup( PW_BLUEFLAG );
} else if( team == TEAM_GREEN ) {
item = BG_FindItemForPowerup( PW_GREENFLAG );
} else if( team == TEAM_YELLOW ) {
item = BG_FindItemForPowerup( PW_YELLOWFLAG );
} else if( team == TEAM_FREE ) {
item = BG_FindItemForPowerup( PW_NEUTRALFLAG );
} else {
@ -648,10 +640,6 @@ static void CG_DrawStatusBar( void ) {
CG_DrawStatusBarFlag( 185 + CHAR_WIDTH*3 + TEXT_ICON_SPACE + ICON_SIZE, TEAM_RED );
} else if( cg.predictedPlayerState.powerups[PW_BLUEFLAG] ) {
CG_DrawStatusBarFlag( 185 + CHAR_WIDTH*3 + TEXT_ICON_SPACE + ICON_SIZE, TEAM_BLUE );
} else if( cg.predictedPlayerState.powerups[PW_GREENFLAG] ) {
CG_DrawStatusBarFlag( 185 + CHAR_WIDTH*3 + TEXT_ICON_SPACE + ICON_SIZE, TEAM_GREEN );
} else if( cg.predictedPlayerState.powerups[PW_YELLOWFLAG] ) {
CG_DrawStatusBarFlag( 185 + CHAR_WIDTH*3 + TEXT_ICON_SPACE + ICON_SIZE, TEAM_YELLOW );
} else if( cg.predictedPlayerState.powerups[PW_NEUTRALFLAG] ) {
CG_DrawStatusBarFlag( 185 + CHAR_WIDTH*3 + TEXT_ICON_SPACE + ICON_SIZE, TEAM_FREE );
}
@ -859,10 +847,6 @@ static void CG_DrawRallyStatusBar( void ) {
CG_DrawStatusBarFlag( 495, TEAM_RED);
else if (cg.predictedPlayerState.powerups[PW_BLUEFLAG])
CG_DrawStatusBarFlag( 495, TEAM_BLUE);
else if (cg.predictedPlayerState.powerups[PW_GREENFLAG])
CG_DrawStatusBarFlag( 495, TEAM_GREEN);
else if (cg.predictedPlayerState.powerups[PW_YELLOWFLAG])
CG_DrawStatusBarFlag( 495, TEAM_YELLOW);
else if (cg_entities[cg.snap->ps.clientNum].finishRaceTime &&
cg_entities[cg.snap->ps.clientNum].currentPosition == 1){
@ -1195,17 +1179,17 @@ static void CG_DrawRallyPowerups( void ) {
active++;
}
// draw the icons and timers TRYOUT: bug #71
// draw the icons and timers
for ( i = 0 ; i < active ; i++ ) {
item = BG_FindItemForPowerup( sorted[i] );
color = 1;
CG_FillRect( 495, 476 - 30, 90, 24, bg_color );
CG_FillRect( 402, 476 - 30, 90, 24, bg_color );
trap_R_SetColor( colors[color] );
CG_DrawField( 517 + CHAR_WIDTH, 476 - 28, 2, sortedTime[ i ] / 1000 );
CG_DrawField( 424 + CHAR_WIDTH, 476 - 28, 2, sortedTime[ i ] / 1000 );
t = ps->powerups[ sorted[i] ];
if ( t - cg.time >= POWERUP_BLINKS * POWERUP_BLINK_TIME ) {
@ -1232,7 +1216,7 @@ static void CG_DrawRallyPowerups( void ) {
size = 19;
}
CG_DrawPic( 503, 476 - 27, size, size, trap_R_RegisterShader( item->icon ) );
CG_DrawPic( 408, 476 - 27, size, size, trap_R_RegisterShader( item->icon ) );
}
trap_R_SetColor( NULL );
}
@ -1359,7 +1343,7 @@ static float CG_DrawFPS( float y ) {
s = va( "%ifps", fps );
w = CG_DrawStrlen( s ) * BIGCHAR_WIDTH;
CG_DrawBigString( 622 - w, 355 + 2, s, 1.0F);
CG_DrawBigString( 635 - w, y + 2, s, 1.0F);
}
return y + BIGCHAR_HEIGHT + 4;
@ -1642,8 +1626,8 @@ float CG_DrawScores( float x, float y ) {
CG_FillRect( x - 80, y, 96, 18, bgColor );
// draw yellow
if (cgs.gametype >= GT_TEAM){
// draw yellow
color[0] = 1.0f;
color[1] = 1.0f;
color[2] = 0.0f;
@ -1657,23 +1641,7 @@ float CG_DrawScores( float x, float y ) {
}
CG_DrawTinyDigitalString( x + 4, y+4, s, 1.0F);
if ( cgs.gametype == GT_CTF ) {
// Display yellow flag status
item = BG_FindItemForPowerup( PW_YELLOWFLAG );
if (item) {
y1 = y + TINYCHAR_HEIGHT + 8;
if( cgs.yellowflag >= 0 && cgs.yellowflag <= 2 ) {
CG_DrawPic( x+1, y1+1, w-2, 16, cgs.media.yellowFlagShader[cgs.yellowflag] );
}
}
}
// draw green
color[0] = 0.0f;
color[1] = 1.0f;
color[2] = 0.0f;
@ -1686,83 +1654,70 @@ float CG_DrawScores( float x, float y ) {
CG_DrawPic( x+1, y+1, w-2, 16, cgs.media.selectShader );
}
CG_DrawTinyDigitalString( x + 4, y+4, s, 1.0F);
}
if ( cgs.gametype == GT_CTF ) {
// Display green flag status
item = BG_FindItemForPowerup( PW_GREENFLAG );
color[0] = 0.0f;
color[1] = 0.0f;
color[2] = 1.0f;
color[3] = 0.33f;
s = va( "%2i", s2 );
w = CG_DrawStrlen( s ) * TINYCHAR_WIDTH + 8;
x -= w;
CG_FillRect( x+1, y+1, w-2, 16, color );
if ( cg.snap->ps.persistant[PERS_TEAM] == TEAM_BLUE ) {
CG_DrawPic( x+1, y+1, w-2, 16, cgs.media.selectShader );
}
CG_DrawTinyDigitalString( x + 4, y+4, s, 1.0F);
if ( cgs.gametype == GT_CTF ) {
// Display flag status
item = BG_FindItemForPowerup( PW_BLUEFLAG );
if (item) {
y1 = y + TINYCHAR_HEIGHT + 8;
if( cgs.greenflag >= 0 && cgs.greenflag <= 2 ) {
CG_DrawPic( x+1, y1+1, w-2, 16, cgs.media.greenFlagShader[cgs.greenflag] );
}
}
}
// draw blue
color[0] = 0.0f;
color[1] = 0.0f;
color[2] = 1.0f;
color[3] = 0.33f;
s = va( "%2i", s2 );
w = CG_DrawStrlen( s ) * TINYCHAR_WIDTH + 8;
x -= w;
CG_FillRect( x+1, y+1, w-2, 16, color );
if ( cg.snap->ps.persistant[PERS_TEAM] == TEAM_BLUE ) {
CG_DrawPic( x+1, y+1, w-2, 16, cgs.media.selectShader );
}
CG_DrawTinyDigitalString( x + 4, y+4, s, 1.0F);
if ( cgs.gametype == GT_CTF ) {
// Display blue flag status
item = BG_FindItemForPowerup( PW_BLUEFLAG );
if (item) {
y1 = y + TINYCHAR_HEIGHT + 8;
if( cgs.blueflag >= 0 && cgs.blueflag <= 2 ) {
y1 = y + TINYCHAR_HEIGHT + 8;
if( cgs.blueflag >= 0 && cgs.blueflag <= 2 ) {
CG_DrawPic( x+1, y1+1, w-2, 16, cgs.media.blueFlagShader[cgs.blueflag] );
}
}
}
}
}
}
// draw red
color[0] = 1.0f;
color[1] = 0.0f;
color[2] = 0.0f;
color[3] = 0.33f;
s = va( "%2i", s1 );
w = CG_DrawStrlen( s ) * TINYCHAR_WIDTH + 8;
x -= w;
color[0] = 1.0f;
color[1] = 0.0f;
color[2] = 0.0f;
color[3] = 0.33f;
s = va( "%2i", s1 );
w = CG_DrawStrlen( s ) * TINYCHAR_WIDTH + 8;
x -= w;
CG_FillRect( x+1, y+1, w-2, 16, color );
if ( cg.snap->ps.persistant[PERS_TEAM] == TEAM_RED ) {
CG_DrawPic( x+1, y+1, w-2, 16, cgs.media.selectShader );
}
CG_DrawTinyDigitalString( x + 4, y+4, s, 1.0F);
CG_FillRect( x+1, y+1, w-2, 16, color );
if ( cg.snap->ps.persistant[PERS_TEAM] == TEAM_RED ) {
if ( cgs.gametype == GT_CTF ) {
// Display red flag status
item = BG_FindItemForPowerup( PW_REDFLAG );
CG_DrawPic( x+1, y+1, w-2, 16, cgs.media.selectShader );
}
CG_DrawTinyDigitalString( x + 4, y+4, s, 1.0F);
if ( cgs.gametype == GT_CTF ) {
// Display flag status
item = BG_FindItemForPowerup( PW_REDFLAG );
if (item) {
y1 = y + TINYCHAR_HEIGHT + 8;
if( cgs.redflag >= 0 && cgs.redflag <= 2 ) {
y1 = y + TINYCHAR_HEIGHT + 8;
CG_DrawPic( x+1, y1+1, w-2, 16, cgs.media.redFlagShader[cgs.redflag] );
}
}
}
if( cgs.redflag >= 0 && cgs.redflag <= 2 ) {
}
}
}
#ifdef MISSIONPACK
if ( cgs.gametype == GT_1FCTF ) {

View file

@ -827,8 +827,6 @@ typedef struct {
qhandle_t redFlagFlapSkin;
qhandle_t blueFlagFlapSkin;
qhandle_t greenFlagFlapSkin;
qhandle_t yellowFlagFlapSkin;
qhandle_t neutralFlagFlapSkin;
qhandle_t redFlagBaseModel;
@ -1244,7 +1242,7 @@ typedef struct {
// Q3Rally Code Start
int scores3, scores4; // from configstrings
// Q3Rally Code END
int redflag, blueflag, greenflag, yellowflag; // flag status from configstrings
int redflag, blueflag; // flag status from configstrings
int flagStatus;
int sigil[MAX_SIGILS];
qboolean newHud;

View file

@ -1130,8 +1130,6 @@ static void CG_RegisterGraphics( void ) {
cgs.media.redFlagFlapSkin = trap_R_RegisterSkin( "models/flag2/red.skin" );
cgs.media.blueFlagFlapSkin = trap_R_RegisterSkin( "models/flag2/blue.skin" );
cgs.media.greenFlagFlapSkin = trap_R_RegisterSkin( "models/flag2/green.skin" );
cgs.media.yellowFlagFlapSkin = trap_R_RegisterSkin( "models/flag2/yellow.skin" );
cgs.media.neutralFlagFlapSkin = trap_R_RegisterSkin( "models/flag2/white.skin" );
cgs.media.redFlagBaseModel = trap_R_RegisterModel( "models/mapobjects/flagbase/red_base.md3" );
@ -1912,10 +1910,6 @@ static const char *CG_FeederItemText(float feederID, int index, int column, qhan
team = TEAM_RED;
} else if (feederID == FEEDER_BLUETEAM_LIST) {
team = TEAM_BLUE;
} else if (feederID == FEEDER_GREENTEAM_LIST) {
team = TEAM_GREEN;
} else if (feederID == FEEDER_YELLOWTEAM_LIST) {
team = TEAM_YELLOW;
}
info = CG_InfoFromScoreIndex(index, team, &scoreIndex);
@ -1932,10 +1926,6 @@ static const char *CG_FeederItemText(float feederID, int index, int column, qhan
*handle = cg_items[ ITEM_INDEX(item) ].icon;
} else if ( info->powerups & ( 1 << PW_BLUEFLAG ) ) {
item = BG_FindItemForPowerup( PW_BLUEFLAG );
} else if ( info->powerups & ( 1 << PW_GREENFLAG ) ) {
item = BG_FindItemForPowerup( PW_GREENFLAG );
} else if ( info->powerups & ( 1 << PW_YELLOWFLAG ) ) {
item = BG_FindItemForPowerup( PW_YELLOWFLAG );
*handle = cg_items[ ITEM_INDEX(item) ].icon;
} else {
if ( info->botSkill > 0 && info->botSkill <= 5 ) {
@ -2203,7 +2193,7 @@ void CG_Init( int serverMessageNum, int serverCommandSequence, int clientNum ) {
cg.weaponSelect = WP_MACHINEGUN;
cgs.redflag = cgs.blueflag = cgs.greenflag = cgs.yellowflag = -1; // For compatibily, default to unset for
cgs.redflag = cgs.blueflag = -1; // For compatibily, default to unset for
cgs.flagStatus = -1;
// Q3Rally Code Start
for ( i = 0; i < MAX_SIGILS; i++ ) {

View file

@ -2416,6 +2416,7 @@ static void CG_PlayerPowerups( centity_t *cent, refEntity_t *torso ) {
trap_R_AddLightToScene( cent->lerpOrigin, 200 + (rand()&31), 0.2f, 0.2f, 1.0 );
}
/* finish in 0.5
// greenflag
if ( powerups & ( 1 << PW_GREENFLAG ) ) {
@ -2439,6 +2440,8 @@ static void CG_PlayerPowerups( centity_t *cent, refEntity_t *torso ) {
trap_R_AddLightToScene( cent->lerpOrigin, 200 + (rand()&31), 1.0, 1.0, 0.2f );
}
// end finish in 0.5
*/
// neutralflag
if ( powerups & ( 1 << PW_NEUTRALFLAG ) ) {

View file

@ -437,8 +437,6 @@ void CG_CheckLocalSounds( playerState_t *ps, playerState_t *ops ) {
if ( cgs.gametype > GT_TEAM ) {
if ((ps->powerups[PW_REDFLAG] != ops->powerups[PW_REDFLAG] && ps->powerups[PW_REDFLAG]) ||
(ps->powerups[PW_BLUEFLAG] != ops->powerups[PW_BLUEFLAG] && ps->powerups[PW_BLUEFLAG]) ||
(ps->powerups[PW_GREENFLAG] != ops->powerups[PW_GREENFLAG] && ps->powerups[PW_GREENFLAG]) ||
(ps->powerups[PW_YELLOWFLAG] != ops->powerups[PW_YELLOWFLAG] && ps->powerups[PW_YELLOWFLAG]) ||
(ps->powerups[PW_NEUTRALFLAG] != ops->powerups[PW_NEUTRALFLAG] && ps->powerups[PW_NEUTRALFLAG]) )
{
trap_S_StartLocalSound( cgs.media.youHaveFlagSound, CHAN_ANNOUNCER );

View file

@ -494,12 +494,6 @@ static void CG_TouchItem( centity_t *cent ) {
if (cg.predictedPlayerState.persistant[PERS_TEAM] == TEAM_BLUE &&
item->giType == IT_TEAM && item->giTag == PW_BLUEFLAG)
return;
if (cg.predictedPlayerState.persistant[PERS_TEAM] == TEAM_GREEN &&
item->giType == IT_TEAM && item->giTag == PW_GREENFLAG)
return;
if (cg.predictedPlayerState.persistant[PERS_TEAM] == TEAM_YELLOW &&
item->giType == IT_TEAM && item->giTag == PW_YELLOWFLAG)
return;
}
// grab it

View file

@ -143,20 +143,6 @@ static void CG_DrawClientScore( int y, score_t *score, float *color, float fade,
else {
CG_DrawFlagModel( iconx, y, 16, 16, TEAM_BLUE, qfalse );
}
} else if ( ci->powerups & ( 1 << PW_GREENFLAG ) ) {
if( largeFormat ) {
CG_DrawFlagModel( iconx, y - ( 32 - BIGCHAR_HEIGHT ) / 2, 32, 32, TEAM_GREEN, qfalse );
}
else {
CG_DrawFlagModel( iconx, y, 16, 16, TEAM_GREEN, qfalse );
}
} else if ( ci->powerups & ( 1 << PW_YELLOWFLAG ) ) {
if( largeFormat ) {
CG_DrawFlagModel( iconx, y - ( 32 - BIGCHAR_HEIGHT ) / 2, 32, 32, TEAM_YELLOW, qfalse );
}
else {
CG_DrawFlagModel( iconx, y, 16, 16, TEAM_YELLOW, qfalse );
}
}
// STONELANCE - draw flag beside winner
else if (cg_entities[score->client].finishRaceTime &&

View file

@ -135,8 +135,6 @@ int BotCTFCarryingFlag(bot_state_t *bs) {
if (bs->inventory[INVENTORY_REDFLAG] > 0) return CTF_FLAG_RED;
else if (bs->inventory[INVENTORY_BLUEFLAG] > 0) return CTF_FLAG_BLUE;
else if (bs->inventory[INVENTORY_GREENFLAG] > 0) return CTF_FLAG_GREEN;
else if (bs->inventory[INVENTORY_YELLOWFLAG] > 0) return CTF_FLAG_YELLOW;
return CTF_FLAG_NONE;
}
@ -231,10 +229,6 @@ qboolean EntityCarriesFlag(aas_entityinfo_t *entinfo) {
return qtrue;
if ( entinfo->powerups & ( 1 << PW_BLUEFLAG ) )
return qtrue;
if ( entinfo->powerups & ( 1 << PW_GREENFLAG ) )
return qtrue;
if ( entinfo->powerups & ( 1 << PW_YELLOWFLAG ) )
return qtrue;
#ifdef MISSIONPACK
if ( entinfo->powerups & ( 1 << PW_NEUTRALFLAG ) )
return qtrue;
@ -1805,8 +1799,6 @@ void BotUpdateInventory(bot_state_t *bs) {
#endif
bs->inventory[INVENTORY_REDFLAG] = bs->cur_ps.powerups[PW_REDFLAG] != 0;
bs->inventory[INVENTORY_BLUEFLAG] = bs->cur_ps.powerups[PW_BLUEFLAG] != 0;
bs->inventory[INVENTORY_GREENFLAG] = bs->cur_ps.powerups[PW_GREENFLAG] != 0;
bs->inventory[INVENTORY_YELLOWFLAG] = bs->cur_ps.powerups[PW_YELLOWFLAG] != 0;
#ifdef MISSIONPACK
bs->inventory[INVENTORY_NEUTRALFLAG] = bs->cur_ps.powerups[PW_NEUTRALFLAG] != 0;
if (BotTeam(bs) == TEAM_RED) {

View file

@ -183,13 +183,9 @@ void BotMapScripts(bot_state_t *bs);
#define CTF_FLAG_NONE 0
#define CTF_FLAG_RED 1
#define CTF_FLAG_BLUE 2
#define CTF_FLAG_GREEN 3
#define CTF_FLAG_YELLOW 4
//CTF skins
#define CTF_SKIN_REDTEAM "red"
#define CTF_SKIN_BLUETEAM "blue"
#define CTF_SKIN_GREENTEAM "green"
#define CTF_SKIN_YELLOWTEAM "yellow"
extern int gametype; //game type
extern int maxclients; //maximum number of clients

View file

@ -882,39 +882,6 @@ Only in CTF games
/* sounds */ ""
},
/*QUAKED team_CTF_greenflag (0 1 0) (-16 -16 -16) (16 16 16)
Only in CTF games
*/
{
"team_CTF_greenflag",
NULL,
{ "models/flags/b_flag.md3",
NULL, NULL, NULL },
/* icon */ "icons/iconf_green1",
/* pickup */ "Green Flag",
0,
IT_TEAM,
PW_GREENFLAG,
/* precache */ "",
/* sounds */ ""
},
/*QUAKED team_CTF_yellowflag (1 1 0) (-16 -16 -16) (16 16 16)
Only in CTF games
*/
{
"team_CTF_yellowflag",
NULL,
{ "models/flags/b_flag.md3",
NULL, NULL, NULL },
/* icon */ "icons/iconf_yell1",
/* pickup */ "Yellow Flag",
0,
IT_TEAM,
PW_YELLOWFLAG,
/* precache */ "",
/* sounds */ ""
},
// Q3Rally Code Start
/*QUAKED team_DOMINATION_sigil_red
@ -1538,28 +1505,12 @@ qboolean BG_CanItemBeGrabbed( int gametype, const entityState_t *ent, const play
(item->giTag == PW_REDFLAG && ent->modelindex2) ||
(item->giTag == PW_REDFLAG && ps->powerups[PW_BLUEFLAG]) )
return qtrue;
}
else if (ps->persistant[PERS_TEAM] == TEAM_BLUE) {
} else if (ps->persistant[PERS_TEAM] == TEAM_BLUE) {
if (item->giTag == PW_REDFLAG ||
(item->giTag == PW_BLUEFLAG && ent->modelindex2) ||
(item->giTag == PW_BLUEFLAG && ps->powerups[PW_REDFLAG]) )
return qtrue;
}
else if (ps->persistant[PERS_TEAM] == TEAM_BLUE) {
if (item->giTag == PW_REDFLAG ||
(item->giTag == PW_BLUEFLAG && ent->modelindex2) ||
(item->giTag == PW_BLUEFLAG && ps->powerups[PW_REDFLAG]) )
return qtrue;
}
else if (ps->persistant[PERS_TEAM] == TEAM_BLUE) {
if (item->giTag == PW_REDFLAG ||
(item->giTag == PW_BLUEFLAG && ent->modelindex2) ||
(item->giTag == PW_BLUEFLAG && ps->powerups[PW_REDFLAG]) )
return qtrue;
}
}
#ifdef MISSIONPACK

View file

@ -405,8 +405,8 @@ typedef enum {
PW_REDFLAG,
PW_BLUEFLAG,
PW_GREENFLAG,
PW_YELLOWFLAG,
// PW_GREENFLAG,
// PW_YELLOWFLAG,
PW_NEUTRALFLAG,
#ifdef MISSIONPACK

View file

@ -803,12 +803,6 @@ void ClientEvents( gentity_t *ent, int oldEventSequence ) {
} else if ( ent->client->ps.powerups[ PW_BLUEFLAG ] ) {
item = BG_FindItemForPowerup( PW_BLUEFLAG );
j = PW_BLUEFLAG;
} else if ( ent->client->ps.powerups[ PW_GREENFLAG ] ) {
item = BG_FindItemForPowerup( PW_GREENFLAG );
j = PW_GREENFLAG;
} else if ( ent->client->ps.powerups[ PW_YELLOWFLAG ] ) {
item = BG_FindItemForPowerup( PW_YELLOWFLAG );
j = PW_YELLOWFLAG;
} else if ( ent->client->ps.powerups[ PW_NEUTRALFLAG ] ) {
item = BG_FindItemForPowerup( PW_NEUTRALFLAG );
j = PW_NEUTRALFLAG;

View file

@ -415,8 +415,6 @@ void CheckAlmostCapture( gentity_t *self, gentity_t *attacker ) {
// if this player was carrying a flag
if ( self->client->ps.powerups[PW_REDFLAG] ||
self->client->ps.powerups[PW_BLUEFLAG] ||
self->client->ps.powerups[PW_GREENFLAG] ||
self->client->ps.powerups[PW_YELLOWFLAG] ||
self->client->ps.powerups[PW_NEUTRALFLAG] ) {
// get the goal flag this player should have been going for
if ( g_gametype.integer == GT_CTF ) {
@ -633,14 +631,6 @@ void player_die( gentity_t *self, gentity_t *inflictor, gentity_t *attacker, int
Team_ReturnFlag( TEAM_BLUE );
self->client->ps.powerups[PW_BLUEFLAG] = 0;
}
else if ( self->client->ps.powerups[PW_GREENFLAG] ) { // only happens in standard CTF
Team_ReturnFlag( TEAM_GREEN );
self->client->ps.powerups[PW_GREENFLAG] = 0;
}
else if ( self->client->ps.powerups[PW_YELLOWFLAG] ) { // only happens in standard CTF
Team_ReturnFlag( TEAM_YELLOW );
self->client->ps.powerups[PW_YELLOWFLAG] = 0;
}
}
TossClientItems( self );

View file

@ -479,14 +479,6 @@ static void PortalTouch( gentity_t *self, gentity_t *other, trace_t *trace) {
Drop_Item( other, BG_FindItemForPowerup( PW_BLUEFLAG ), 0 );
other->client->ps.powerups[PW_BLUEFLAG] = 0;
}
else if ( other->client->ps.powerups[PW_GREENFLAG] ) { // only happens in standard CTF
Drop_Item( other, BG_FindItemForPowerup( PW_GREENFLAG ), 0 );
other->client->ps.powerups[PW_GREENFLAG] = 0;
}
else if ( other->client->ps.powerups[PW_YELLOWFLAG] ) { // only happens in standard CTF
Drop_Item( other, BG_FindItemForPowerup( PW_YELLOWFLAG ), 0 );
other->client->ps.powerups[PW_YELLOWFLAG] = 0;
}
// find the destination
destination = NULL;

View file

@ -898,7 +898,7 @@ void G_RankPickupPowerup( int self, int powerup )
}
// ctf flags are treated as powerups
if( (powerup == PW_REDFLAG) || (powerup == PW_BLUEFLAG) || (powerup == PW_GREENFLAG) || (powerup == PW_YELLOWFLAG) )
if( (powerup == PW_REDFLAG) || (powerup == PW_BLUEFLAG) )
{
trap_RankReportInt( self, -1, QGR_KEY_FLAG_PICKUP, 1, 1 );
return;

View file

@ -74,10 +74,6 @@ void Use_target_remove_powerups( gentity_t *ent, gentity_t *other, gentity_t *ac
Team_ReturnFlag( TEAM_RED );
} else if( activator->client->ps.powerups[PW_BLUEFLAG] ) {
Team_ReturnFlag( TEAM_BLUE );
} else if( activator->client->ps.powerups[PW_GREENFLAG] ) {
Team_ReturnFlag( TEAM_GREEN );
} else if( activator->client->ps.powerups[PW_YELLOWFLAG] ) {
Team_ReturnFlag( TEAM_YELLOW );
} else if( activator->client->ps.powerups[PW_NEUTRALFLAG] ) {
Team_ReturnFlag( TEAM_FREE );
}

View file

@ -457,12 +457,6 @@ void Team_CheckDroppedItem( gentity_t *dropped ) {
else if( dropped->item->giTag == PW_BLUEFLAG ) {
Team_SetFlagStatus( TEAM_BLUE, FLAG_DROPPED );
}
else if( dropped->item->giTag == PW_GREENFLAG ) {
Team_SetFlagStatus( TEAM_GREEN, FLAG_DROPPED );
}
else if( dropped->item->giTag == PW_YELLOWFLAG ) {
Team_SetFlagStatus( TEAM_YELLOW, FLAG_DROPPED );
}
else if( dropped->item->giTag == PW_NEUTRALFLAG ) {
Team_SetFlagStatus( TEAM_FREE, FLAG_DROPPED );
}
@ -713,17 +707,10 @@ void Team_CheckHurtCarrier(gentity_t *targ, gentity_t *attacker)
if (!targ->client || !attacker->client)
return;
if (targ->client->sess.sessionTeam == TEAM_RED || targ->client->sess.sessionTeam == TEAM_GREEN || targ->client->sess.sessionTeam == TEAM_YELLOW)
if (targ->client->sess.sessionTeam == TEAM_RED)
flag_pw = PW_BLUEFLAG;
else if
(targ->client->sess.sessionTeam == TEAM_BLUE || targ->client->sess.sessionTeam == TEAM_GREEN || targ->client->sess.sessionTeam == TEAM_YELLOW)
flag_pw = PW_REDFLAG;
else if
(targ->client->sess.sessionTeam == TEAM_GREEN || targ->client->sess.sessionTeam == TEAM_RED || targ->client->sess.sessionTeam == TEAM_BLUE)
flag_pw = PW_YELLOWFLAG;
else if
(targ->client->sess.sessionTeam == TEAM_BLUE || targ->client->sess.sessionTeam == TEAM_RED || targ->client->sess.sessionTeam == TEAM_YELLOW)
flag_pw = PW_GREENFLAG;
else
flag_pw = PW_REDFLAG;
#ifdef MISSIONPACK
if (g_gametype.integer == GT_1FCTF) {
@ -878,13 +865,7 @@ void Team_FreeEntity( gentity_t *ent ) {
}
else if( ent->item->giTag == PW_BLUEFLAG ) {
Team_ReturnFlag( TEAM_BLUE );
}
else if( ent->item->giTag == PW_GREENFLAG ) {
Team_ReturnFlag( TEAM_GREEN );
}
else if( ent->item->giTag == PW_YELLOWFLAG ) {
Team_ReturnFlag( TEAM_YELLOW );
}
else if( ent->item->giTag == PW_NEUTRALFLAG ) {
Team_ReturnFlag( TEAM_FREE );
}
@ -908,12 +889,6 @@ void Team_DroppedFlagThink(gentity_t *ent) {
else if( ent->item->giTag == PW_BLUEFLAG ) {
team = TEAM_BLUE;
}
else if( ent->item->giTag == PW_GREENFLAG ) {
team = TEAM_GREEN;
}
else if( ent->item->giTag == PW_YELLOWFLAG ) {
team = TEAM_YELLOW;
}
else if( ent->item->giTag == PW_NEUTRALFLAG ) {
team = TEAM_FREE;
}
@ -940,18 +915,11 @@ int Team_TouchOurFlag( gentity_t *ent, gentity_t *other, int team ) {
}
else {
#endif
if (cl->sess.sessionTeam == TEAM_RED || cl->sess.sessionTeam == TEAM_GREEN || cl->sess.sessionTeam == TEAM_YELLOW) {
if (cl->sess.sessionTeam == TEAM_RED) {
enemy_flag = PW_BLUEFLAG;
}
else if (cl->sess.sessionTeam == TEAM_RED || cl->sess.sessionTeam == TEAM_BLUE || cl->sess.sessionTeam == TEAM_GREEN) {
enemy_flag = PW_YELLOWFLAG;
}
else if (cl->sess.sessionTeam == TEAM_BLUE || cl->sess.sessionTeam == TEAM_GREEN || cl->sess.sessionTeam == TEAM_YELLOW) {
} else {
enemy_flag = PW_REDFLAG;
}
else if (cl->sess.sessionTeam == TEAM_RED || cl->sess.sessionTeam == TEAM_BLUE || cl->sess.sessionTeam == TEAM_YELLOW) {
enemy_flag = PW_GREENFLAG;
}
}
if ( ent->flags & FL_DROPPED_ITEM ) {
// hey, it's not home. return it by teleporting it back
@ -1075,12 +1043,8 @@ int Team_TouchEnemyFlag( gentity_t *ent, gentity_t *other, int team ) {
if (team == TEAM_RED)
cl->ps.powerups[PW_REDFLAG] = INT_MAX; // flags never expire
else if (team == TEAM_BLUE)
else
cl->ps.powerups[PW_BLUEFLAG] = INT_MAX; // flags never expire
else if (team == TEAM_GREEN)
cl->ps.powerups[PW_GREENFLAG] = INT_MAX; // flags never expire
else if (team == TEAM_YELLOW)
cl->ps.powerups[PW_YELLOWFLAG] = INT_MAX; // flags never expire
Team_SetFlagStatus( team, FLAG_TAKEN );
#ifdef MISSIONPACK

View file

@ -1128,8 +1128,8 @@ void FireWeapon( gentity_t *ent ) {
trap_Trace( &tr, tr.endpos, mins, maxs, end, entNumber, CONTENTS_PLAYERCLIP | CONTENTS_BODY );
}
// tryout r604
if ( count == 100000 ){
if ( count == 10000 ){
Com_Printf( "Detected long loop in verticle autoaiming\n" );
Com_Printf( "fraction %f, startsolid %i, contents %i, entityNum %i\n", tr.fraction, tr.startsolid, tr.contents, tr.entityNum );
}
@ -1272,8 +1272,8 @@ void FireAltWeapon( gentity_t *ent ) {
trap_Trace( &tr, tr.endpos, mins, maxs, end, entNumber, CONTENTS_PLAYERCLIP | CONTENTS_BODY );
}
// tryout r604
if ( count == 100000 ){
if ( count == 10000 ){
Com_Printf( "Detected long loop in verticle autoaiming\n" );
Com_Printf( "fraction %f, startsolid %i, contents %i, entityNum %i\n", tr.fraction, tr.startsolid, tr.contents, tr.entityNum );
}

View file

@ -25,66 +25,64 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
//armor
#define INVENTORY_ARMOR 1
//weapons
#define INVENTORY_GAUNTLET 4
#define INVENTORY_GAUNTLET 4
#define INVENTORY_SHOTGUN 5
#define INVENTORY_MACHINEGUN 6
#define INVENTORY_GRENADELAUNCHER 7
#define INVENTORY_ROCKETLAUNCHER 8
#define INVENTORY_LIGHTNING 9
#define INVENTORY_RAILGUN 10
#define INVENTORY_PLASMAGUN 11
#define INVENTORY_BFG10K 12
#define INVENTORY_GRAPPLINGHOOK 13
#define INVENTORY_NAILGUN 14
#define INVENTORY_PROXLAUNCHER 15
#define INVENTORY_CHAINGUN 16
#define INVENTORY_FLAMETHROWER 17 // rally
#define INVENTORY_MACHINEGUN 6
#define INVENTORY_GRENADELAUNCHER 7
#define INVENTORY_ROCKETLAUNCHER 8
#define INVENTORY_LIGHTNING 9
#define INVENTORY_RAILGUN 10
#define INVENTORY_PLASMAGUN 11
#define INVENTORY_BFG10K 12
#define INVENTORY_GRAPPLINGHOOK 13
#define INVENTORY_NAILGUN 14
#define INVENTORY_PROXLAUNCHER 15
#define INVENTORY_CHAINGUN 16
#define INVENTORY_FLAMETHROWER 17 // rally
//ammo
#define INVENTORY_SHELLS 18
#define INVENTORY_BULLETS 19
#define INVENTORY_GRENADES 20
#define INVENTORY_CELLS 21
#define INVENTORY_LIGHTNINGAMMO 22
#define INVENTORY_ROCKETS 23
#define INVENTORY_SLUGS 24
#define INVENTORY_BFGAMMO 25
#define INVENTORY_FLAMETHROWERAMMO 26 // rally
#define INVENTORY_NAILS 27
#define INVENTORY_MINES 28
#define INVENTORY_BELT 29
#define INVENTORY_SHELLS 18
#define INVENTORY_BULLETS 19
#define INVENTORY_GRENADES 20
#define INVENTORY_CELLS 21
#define INVENTORY_LIGHTNINGAMMO 22
#define INVENTORY_ROCKETS 23
#define INVENTORY_SLUGS 24
#define INVENTORY_BFGAMMO 25
#define INVENTORY_FLAMETHROWERAMMO 26 // rally
#define INVENTORY_NAILS 27
#define INVENTORY_MINES 28
#define INVENTORY_BELT 29
//powerups
#define INVENTORY_HEALTH 30
#define INVENTORY_TELEPORTER 31
#define INVENTORY_MEDKIT 32
#define INVENTORY_TURBO 33 // rally
#define INVENTORY_KAMIKAZE 34
#define INVENTORY_PORTAL 35
#define INVENTORY_INVULNERABILITY 36
#define INVENTORY_QUAD 37
#define INVENTORY_ENVIRONMENTSUIT 38
#define INVENTORY_HASTE 39
#define INVENTORY_INVISIBILITY 40
#define INVENTORY_REGEN 41
#define INVENTORY_HEALTH 30
#define INVENTORY_TELEPORTER 31
#define INVENTORY_MEDKIT 32
#define INVENTORY_TURBO 33 // rally
#define INVENTORY_KAMIKAZE 34
#define INVENTORY_PORTAL 35
#define INVENTORY_INVULNERABILITY 36
#define INVENTORY_QUAD 37
#define INVENTORY_ENVIRONMENTSUIT 38
#define INVENTORY_HASTE 39
#define INVENTORY_INVISIBILITY 40
#define INVENTORY_REGEN 41
//#define INVENTORY_FLIGHT
#define INVENTORY_SHIELD 42 // rally
#define INVENTORY_SHIELD 42 // rally
//missionpack
#define INVENTORY_SCOUT 43
#define INVENTORY_GUARD 44
#define INVENTORY_DOUBLER 45
#define INVENTORY_AMMOREGEN 46
#define INVENTORY_REDFLAG 47
#define INVENTORY_BLUEFLAG 48
#define INVENTORY_GREENFLAG 49
#define INVENTORY_YELLOWFLAG 50
#define INVENTORY_NEUTRALFLAG 51
#define INVENTORY_REDCUBE 52
#define INVENTORY_BLUECUBE 53
#define INVENTORY_SCOUT 43
#define INVENTORY_GUARD 44
#define INVENTORY_DOUBLER 45
#define INVENTORY_AMMOREGEN 46
#define INVENTORY_REDFLAG 47
#define INVENTORY_BLUEFLAG 48
#define INVENTORY_NEUTRALFLAG 49
#define INVENTORY_REDCUBE 50
#define INVENTORY_BLUECUBE 51
//rally rearfire weapons
#define INVENTORY_RWP_SMOKE 54
#define INVENTORY_RWP_OIL 55
#define INVENTORY_RWP_MINE 56
#define INVENTORY_RWP_FLAME 57
#define INVENTORY_RWP_BIO 58
#define INVENTORY_RWP_SMOKE 52
#define INVENTORY_RWP_OIL 53
#define INVENTORY_RWP_MINE 54
#define INVENTORY_RWP_FLAME 55
#define INVENTORY_RWP_BIO 56
//enemy stuff
#define ENEMY_HORIZONTAL_DIST 200
#define ENEMY_HEIGHT 201