stats should only be recored when the round is in progress

This commit is contained in:
Scott Brooks 2002-03-12 04:55:31 +00:00
parent 2ae2a9f8c0
commit f312d740b4
5 changed files with 183 additions and 241 deletions

View file

@ -5,6 +5,9 @@
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// //
// $Log$ // $Log$
// Revision 1.49 2002/03/12 04:55:31 blaze
// stats should only be recored when the round is in progress
//
// Revision 1.48 2002/03/04 21:28:57 jbravo // Revision 1.48 2002/03/04 21:28:57 jbravo
// Make spectators that are following someone who dies stop at the time of // Make spectators that are following someone who dies stop at the time of
// death and not respawn somewhere else. // death and not respawn somewhere else.
@ -423,7 +426,7 @@ void body_die( gentity_t *self, gentity_t *inflictor, gentity_t *attacker, int d
return; return;
} }
if (attacker->client) if (attacker->client && level.team_round_going)
attacker->client->pers.records[REC_GIBSHOTS]++; attacker->client->pers.records[REC_GIBSHOTS]++;
GibEntity( self, 0 ); GibEntity( self, 0 );
@ -669,7 +672,7 @@ void player_die( gentity_t *self, gentity_t *inflictor, gentity_t *attacker, int
killer = ENTITYNUM_WORLD; killer = ENTITYNUM_WORLD;
killerName = "<world>"; killerName = "<world>";
// Elder: Statistics tracking // Elder: Statistics tracking
self->client->pers.records[REC_WORLDDEATHS]++; if (level.team_round_going) self->client->pers.records[REC_WORLDDEATHS]++;
} }
if (meansOfDeath < 0 || meansOfDeath >= sizeof(modNames) / sizeof(modNames[0])) { if (meansOfDeath < 0 || meansOfDeath >= sizeof(modNames) / sizeof(modNames[0])) {
@ -688,36 +691,44 @@ void player_die( gentity_t *self, gentity_t *inflictor, gentity_t *attacker, int
(self->client->lasthurt_location & LOCATION_FACE) == LOCATION_FACE) (self->client->lasthurt_location & LOCATION_FACE) == LOCATION_FACE)
{ {
// head kill // head kill
self->client->pers.records[REC_HEADDEATHS]++; if (level.team_round_going)
if (attacker && attacker->client) {
attacker->client->pers.records[REC_HEADKILLS]++; self->client->pers.records[REC_HEADDEATHS]++;
if (attacker && attacker->client) attacker->client->pers.records[REC_HEADKILLS]++;
}
ent = G_TempEntity(self->r.currentOrigin, EV_OBITUARY_HEAD); ent = G_TempEntity(self->r.currentOrigin, EV_OBITUARY_HEAD);
} }
else if ((self->client->lasthurt_location & LOCATION_CHEST) == LOCATION_CHEST || else if ((self->client->lasthurt_location & LOCATION_CHEST) == LOCATION_CHEST ||
(self->client->lasthurt_location & LOCATION_SHOULDER) == LOCATION_SHOULDER) (self->client->lasthurt_location & LOCATION_SHOULDER) == LOCATION_SHOULDER)
{ {
// chest kill // chest kill
self->client->pers.records[REC_CHESTDEATHS]++; if (level.team_round_going)
if (attacker && attacker->client) {
attacker->client->pers.records[REC_CHESTKILLS]++; self->client->pers.records[REC_CHESTDEATHS]++;
if (attacker && attacker->client) attacker->client->pers.records[REC_CHESTKILLS]++;
}
ent = G_TempEntity(self->r.currentOrigin, EV_OBITUARY_CHEST); ent = G_TempEntity(self->r.currentOrigin, EV_OBITUARY_CHEST);
} }
else if ((self->client->lasthurt_location & LOCATION_STOMACH) == LOCATION_STOMACH || else if ((self->client->lasthurt_location & LOCATION_STOMACH) == LOCATION_STOMACH ||
(self->client->lasthurt_location & LOCATION_GROIN) == LOCATION_GROIN) (self->client->lasthurt_location & LOCATION_GROIN) == LOCATION_GROIN)
{ {
// stomach kill // stomach kill
self->client->pers.records[REC_STOMACHDEATHS]++; if (level.team_round_going)
if (attacker && attacker->client) {
attacker->client->pers.records[REC_STOMACHKILLS]++; self->client->pers.records[REC_STOMACHDEATHS]++;
if (attacker && attacker->client) attacker->client->pers.records[REC_STOMACHKILLS]++;
}
ent = G_TempEntity(self->r.currentOrigin, EV_OBITUARY_STOMACH); ent = G_TempEntity(self->r.currentOrigin, EV_OBITUARY_STOMACH);
} }
else if ((self->client->lasthurt_location & LOCATION_LEG) == LOCATION_LEG || else if ((self->client->lasthurt_location & LOCATION_LEG) == LOCATION_LEG ||
(self->client->lasthurt_location & LOCATION_FOOT) == LOCATION_FOOT) (self->client->lasthurt_location & LOCATION_FOOT) == LOCATION_FOOT)
{ {
// leg kill // leg kill
self->client->pers.records[REC_LEGDEATHS]++; if (level.team_round_going)
if (attacker && attacker->client) {
attacker->client->pers.records[REC_LEGKILLS]++; self->client->pers.records[REC_LEGDEATHS]++;
if (attacker && attacker->client) attacker->client->pers.records[REC_LEGKILLS]++;
}
ent = G_TempEntity(self->r.currentOrigin, EV_OBITUARY_LEGS); ent = G_TempEntity(self->r.currentOrigin, EV_OBITUARY_LEGS);
} }
else else
@ -727,77 +738,82 @@ void player_die( gentity_t *self, gentity_t *inflictor, gentity_t *attacker, int
} }
// Elder: Statistics tracking // Elder: Statistics tracking
switch (meansOfDeath) //Blaze: make sure the game is in progress before recording stats
{ if (level.team_round_going) {
case MOD_KNIFE: switch (meansOfDeath)
if (attacker && attacker->client) {
attacker->client->pers.records[REC_KNIFESLASHKILLS]++; case MOD_KNIFE:
self->client->pers.records[REC_KNIFESLASHDEATHS]++; if (attacker && attacker->client)
break; attacker->client->pers.records[REC_KNIFESLASHKILLS]++;
case MOD_KNIFE_THROWN: self->client->pers.records[REC_KNIFESLASHDEATHS]++;
if (attacker && attacker->client) break;
attacker->client->pers.records[REC_KNIFETHROWKILLS]++; case MOD_KNIFE_THROWN:
self->client->pers.records[REC_KNIFETHROWDEATHS]++; if (attacker && attacker->client)
break; attacker->client->pers.records[REC_KNIFETHROWKILLS]++;
case MOD_PISTOL: self->client->pers.records[REC_KNIFETHROWDEATHS]++;
if (attacker && attacker->client) break;
attacker->client->pers.records[REC_MK23KILLS]++; case MOD_PISTOL:
self->client->pers.records[REC_MK23DEATHS]++; if (attacker && attacker->client)
break; attacker->client->pers.records[REC_MK23KILLS]++;
case MOD_M3: self->client->pers.records[REC_MK23DEATHS]++;
if (attacker && attacker->client) break;
attacker->client->pers.records[REC_M3KILLS]++; case MOD_M3:
self->client->pers.records[REC_M3DEATHS]++; if (attacker && attacker->client)
break; attacker->client->pers.records[REC_M3KILLS]++;
case MOD_M4: self->client->pers.records[REC_M3DEATHS]++;
if (attacker && attacker->client) break;
attacker->client->pers.records[REC_M4KILLS]++; case MOD_M4:
self->client->pers.records[REC_M4DEATHS]++; if (attacker && attacker->client)
break; attacker->client->pers.records[REC_M4KILLS]++;
case MOD_MP5: self->client->pers.records[REC_M4DEATHS]++;
if (attacker && attacker->client) break;
attacker->client->pers.records[REC_MP5KILLS]++; case MOD_MP5:
self->client->pers.records[REC_MP5DEATHS]++; if (attacker && attacker->client)
break; attacker->client->pers.records[REC_MP5KILLS]++;
case MOD_SNIPER: self->client->pers.records[REC_MP5DEATHS]++;
if (attacker && attacker->client) break;
attacker->client->pers.records[REC_SSG3000KILLS]++; case MOD_SNIPER:
self->client->pers.records[REC_SSG3000DEATHS]++; if (attacker && attacker->client)
break; attacker->client->pers.records[REC_SSG3000KILLS]++;
case MOD_HANDCANNON: self->client->pers.records[REC_SSG3000DEATHS]++;
if (attacker && attacker->client) break;
attacker->client->pers.records[REC_HANDCANNONKILLS]++; case MOD_HANDCANNON:
self->client->pers.records[REC_HANDCANNONDEATHS]++; if (attacker && attacker->client)
break; attacker->client->pers.records[REC_HANDCANNONKILLS]++;
case MOD_AKIMBO: self->client->pers.records[REC_HANDCANNONDEATHS]++;
if (attacker && attacker->client) break;
attacker->client->pers.records[REC_AKIMBOKILLS]++; case MOD_AKIMBO:
self->client->pers.records[REC_AKIMBODEATHS]++; if (attacker && attacker->client)
break; attacker->client->pers.records[REC_AKIMBOKILLS]++;
case MOD_GRENADE: self->client->pers.records[REC_AKIMBODEATHS]++;
case MOD_GRENADE_SPLASH: break;
if (attacker && attacker->client) case MOD_GRENADE:
attacker->client->pers.records[REC_GRENADEKILLS]++; case MOD_GRENADE_SPLASH:
self->client->pers.records[REC_GRENADEDEATHS]++; if (attacker && attacker->client)
break; attacker->client->pers.records[REC_GRENADEKILLS]++;
case MOD_KICK: self->client->pers.records[REC_GRENADEDEATHS]++;
if (attacker && attacker->client) break;
attacker->client->pers.records[REC_KICKKILLS]++; case MOD_KICK:
self->client->pers.records[REC_KICKDEATHS]++; if (attacker && attacker->client)
break; attacker->client->pers.records[REC_KICKKILLS]++;
// JBravo: adding a default here to catch potential bugs self->client->pers.records[REC_KICKDEATHS]++;
default: break;
break; // JBravo: adding a default here to catch potential bugs
} default:
break;
}//SWITCH
}//IF
ent->s.eventParm = meansOfDeath; ent->s.eventParm = meansOfDeath;
ent->s.otherEntityNum = self->s.number; ent->s.otherEntityNum = self->s.number;
ent->s.otherEntityNum2 = killer; ent->s.otherEntityNum2 = killer;
ent->r.svFlags = SVF_BROADCAST; // send to everyone ent->r.svFlags = SVF_BROADCAST; // send to everyone
self->enemy = attacker; self->enemy = attacker;
self->client->ps.persistant[PERS_KILLED]++; if (level.team_round_going)
//Blaze: Give the attacker 1 kill {
attacker->client->pers.records[REC_KILLS]++; self->client->ps.persistant[PERS_KILLED]++;
//Blaze: Give the attacker 1 kill
attacker->client->pers.records[REC_KILLS]++;
}
if (attacker && attacker->client) { if (attacker && attacker->client) {
attacker->client->lastkilled_client = self->s.number; attacker->client->lastkilled_client = self->s.number;
@ -891,8 +907,11 @@ void player_die( gentity_t *self, gentity_t *inflictor, gentity_t *attacker, int
// Unless we are in teamplay // Unless we are in teamplay
if (meansOfDeath == MOD_SUICIDE) { if (meansOfDeath == MOD_SUICIDE) {
// Elder: Statistics tracking // Elder: Statistics tracking
self->client->pers.records[REC_SUICIDES]++; if (level.team_round_going)
self->client->pers.records[REC_KILLS]--; {
self->client->pers.records[REC_SUICIDES]++;
self->client->pers.records[REC_KILLS]--;
}
AddScore(self, self->r.currentOrigin, -1); AddScore(self, self->r.currentOrigin, -1);
if (g_gametype.integer != GT_TEAMPLAY) { if (g_gametype.integer != GT_TEAMPLAY) {
if ( self->client->ps.powerups[PW_NEUTRALFLAG] ) { // only happens in One Flag CTF if ( self->client->ps.powerups[PW_NEUTRALFLAG] ) { // only happens in One Flag CTF
@ -1811,25 +1830,25 @@ void G_Damage( gentity_t *targ, gentity_t *inflictor, gentity_t *attacker,
if (impactRotation < 90) if (impactRotation < 90)
{ {
if (attacker->client) if (attacker->client && level.team_round_going)
attacker->client->pers.records[REC_BACKSHOTS]++; attacker->client->pers.records[REC_BACKSHOTS]++;
targ->client->lasthurt_location = LOCATION_BACK; targ->client->lasthurt_location = LOCATION_BACK;
} }
else if (impactRotation < 180) else if (impactRotation < 180)
{ {
if (attacker->client) if (attacker->client && level.team_round_going)
attacker->client->pers.records[REC_RIGHTSHOTS]++; attacker->client->pers.records[REC_RIGHTSHOTS]++;
targ->client->lasthurt_location = LOCATION_RIGHT; targ->client->lasthurt_location = LOCATION_RIGHT;
} }
else if (impactRotation < 270) else if (impactRotation < 270)
{ {
if (attacker->client) if (attacker->client && level.team_round_going)
attacker->client->pers.records[REC_FRONTSHOTS]++; attacker->client->pers.records[REC_FRONTSHOTS]++;
targ->client->lasthurt_location = LOCATION_FRONT; targ->client->lasthurt_location = LOCATION_FRONT;
} }
else if (impactRotation < 360) else if (impactRotation < 360)
{ {
if (attacker->client) if (attacker->client && level.team_round_going)
attacker->client->pers.records[REC_LEFTSHOTS]++; attacker->client->pers.records[REC_LEFTSHOTS]++;
targ->client->lasthurt_location = LOCATION_LEFT; targ->client->lasthurt_location = LOCATION_LEFT;
} }
@ -1893,7 +1912,7 @@ void G_Damage( gentity_t *targ, gentity_t *inflictor, gentity_t *attacker,
{ {
case LOCATION_HEAD: case LOCATION_HEAD:
case LOCATION_FACE: case LOCATION_FACE:
if (attacker->client) if (attacker->client && level.team_round_going)
attacker->client->pers.records[REC_HEADSHOTS]++; attacker->client->pers.records[REC_HEADSHOTS]++;
//save headshot time for player_die //save headshot time for player_die
targ->client->headShotTime = level.time; targ->client->headShotTime = level.time;
@ -1919,7 +1938,7 @@ void G_Damage( gentity_t *targ, gentity_t *inflictor, gentity_t *attacker,
break; break;
case LOCATION_SHOULDER: case LOCATION_SHOULDER:
case LOCATION_CHEST: case LOCATION_CHEST:
if (attacker->client) if (attacker->client && level.team_round_going)
attacker->client->pers.records[REC_CHESTSHOTS]++; attacker->client->pers.records[REC_CHESTSHOTS]++;
//Vest stuff - is the knife supposed to be affected? //Vest stuff - is the knife supposed to be affected?
// NiceAss: Added mod != MOD_KNIFE_THROWN so kevlar doesn't help against thrown knives // NiceAss: Added mod != MOD_KNIFE_THROWN so kevlar doesn't help against thrown knives
@ -1962,7 +1981,7 @@ void G_Damage( gentity_t *targ, gentity_t *inflictor, gentity_t *attacker,
break; break;
case LOCATION_STOMACH: case LOCATION_STOMACH:
case LOCATION_GROIN: case LOCATION_GROIN:
if (attacker->client) if (attacker->client && level.team_round_going)
attacker->client->pers.records[REC_STOMACHSHOTS]++; attacker->client->pers.records[REC_STOMACHSHOTS]++;
trap_SendServerCommand( attacker-g_entities, va("print \"You hit %s^7 in the stomach.\n\"", targ->client->pers.netname)); trap_SendServerCommand( attacker-g_entities, va("print \"You hit %s^7 in the stomach.\n\"", targ->client->pers.netname));
trap_SendServerCommand( targ-g_entities, va("print \"Stomach Damage.\n\"")); trap_SendServerCommand( targ-g_entities, va("print \"Stomach Damage.\n\""));
@ -1970,7 +1989,7 @@ void G_Damage( gentity_t *targ, gentity_t *inflictor, gentity_t *attacker,
break; break;
case LOCATION_LEG: case LOCATION_LEG:
case LOCATION_FOOT: case LOCATION_FOOT:
if (attacker->client) if (attacker->client && level.team_round_going)
attacker->client->pers.records[REC_LEGSHOTS]++; attacker->client->pers.records[REC_LEGSHOTS]++;
trap_SendServerCommand( attacker-g_entities, va("print \"You hit %s^7 in the leg.\n\"", targ->client->pers.netname)); trap_SendServerCommand( attacker-g_entities, va("print \"You hit %s^7 in the leg.\n\"", targ->client->pers.netname));
trap_SendServerCommand( targ-g_entities, va("print \"Leg Damage.\n\"")); trap_SendServerCommand( targ-g_entities, va("print \"Leg Damage.\n\""));

View file

@ -5,6 +5,9 @@
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// //
// $Log$ // $Log$
// Revision 1.22 2002/03/12 04:55:31 blaze
// stats should only be recored when the round is in progress
//
// Revision 1.21 2002/01/14 01:20:45 niceass // Revision 1.21 2002/01/14 01:20:45 niceass
// No more default 800 gravity on items // No more default 800 gravity on items
// Thrown knife+Glass fix - NiceAss // Thrown knife+Glass fix - NiceAss
@ -85,10 +88,10 @@ void G_ExplodeMissile( gentity_t *ent ) {
, ent->splashMethodOfDeath ) ) { , ent->splashMethodOfDeath ) ) {
g_entities[ent->r.ownerNum].client->accuracy_hits++; g_entities[ent->r.ownerNum].client->accuracy_hits++;
// Elder: Statistics tracking // Elder: Statistics tracking
if (ent->s.weapon == WP_KNIFE) if (ent->s.weapon == WP_KNIFE && level.team_round_going)
g_entities[ent->r.ownerNum].client->pers.records[REC_KNIFETHROWHITS]++; g_entities[ent->r.ownerNum].client->pers.records[REC_KNIFETHROWHITS]++;
//g_entities[ent->r.ownerNum].client->knifeHits++; //g_entities[ent->r.ownerNum].client->knifeHits++;
if (ent->s.weapon == WP_GRENADE) if (ent->s.weapon == WP_GRENADE && level.team_round_going)
g_entities[ent->r.ownerNum].client->pers.records[REC_GRENADEHITS]++; g_entities[ent->r.ownerNum].client->pers.records[REC_GRENADEHITS]++;
//g_entities[ent->r.ownerNum].client->grenHits++; //g_entities[ent->r.ownerNum].client->grenHits++;
} }
@ -334,10 +337,10 @@ void G_MissileImpact( gentity_t *ent, trace_t *trace ) {
if( LogAccuracyHit( other, &g_entities[ent->r.ownerNum] ) ) { if( LogAccuracyHit( other, &g_entities[ent->r.ownerNum] ) ) {
g_entities[ent->r.ownerNum].client->accuracy_hits++; g_entities[ent->r.ownerNum].client->accuracy_hits++;
// Elder: Statistics tracking // Elder: Statistics tracking
if (ent->s.weapon == WP_KNIFE) if (ent->s.weapon == WP_KNIFE && level.team_round_going)
g_entities[ent->r.ownerNum].client->pers.records[REC_KNIFETHROWHITS]++; g_entities[ent->r.ownerNum].client->pers.records[REC_KNIFETHROWHITS]++;
//g_entities[ent->r.ownerNum].client->knifeHits++; //g_entities[ent->r.ownerNum].client->knifeHits++;
if (ent->s.weapon == WP_GRENADE) if (ent->s.weapon == WP_GRENADE && level.team_round_going)
g_entities[ent->r.ownerNum].client->pers.records[REC_GRENADEHITS]++; g_entities[ent->r.ownerNum].client->pers.records[REC_GRENADEHITS]++;
//g_entities[ent->r.ownerNum].client->grenHits++; //g_entities[ent->r.ownerNum].client->grenHits++;
hitClient = qtrue; hitClient = qtrue;
@ -544,10 +547,10 @@ void G_MissileImpact( gentity_t *ent, trace_t *trace ) {
if( !hitClient ) { if( !hitClient ) {
g_entities[ent->r.ownerNum].client->accuracy_hits++; g_entities[ent->r.ownerNum].client->accuracy_hits++;
// Elder: Statistics tracking // Elder: Statistics tracking
if (ent->s.weapon == WP_KNIFE) if (ent->s.weapon == WP_KNIFE && level.team_round_going)
g_entities[ent->r.ownerNum].client->pers.records[REC_KNIFETHROWHITS]++; g_entities[ent->r.ownerNum].client->pers.records[REC_KNIFETHROWHITS]++;
//g_entities[ent->r.ownerNum].client->knifeHits++; //g_entities[ent->r.ownerNum].client->knifeHits++;
if (ent->s.weapon == WP_GRENADE) if (ent->s.weapon == WP_GRENADE && level.team_round_going)
g_entities[ent->r.ownerNum].client->pers.records[REC_GRENADEHITS]++; g_entities[ent->r.ownerNum].client->pers.records[REC_GRENADEHITS]++;
//g_entities[ent->r.ownerNum].client->grenHits++; //g_entities[ent->r.ownerNum].client->grenHits++;
} }
@ -770,7 +773,7 @@ gentity_t *fire_grenade (gentity_t *self, vec3_t start, vec3_t dir) {
//Elder: grenade toggle distances/speeds //Elder: grenade toggle distances/speeds
if ( self->client) { if ( self->client) {
// Elder: Statistics tracking // Elder: Statistics tracking
self->client->pers.records[REC_GRENADESHOTS]++; if (level.team_round_going) self->client->pers.records[REC_GRENADESHOTS]++;
if ( self->client->ps.stats[STAT_HEALTH] <= 0 || if ( self->client->ps.stats[STAT_HEALTH] <= 0 ||
(self->client->ps.stats[STAT_RQ3] & RQ3_BANDAGE_WORK) == RQ3_BANDAGE_WORK || (self->client->ps.stats[STAT_RQ3] & RQ3_BANDAGE_WORK) == RQ3_BANDAGE_WORK ||
// NiceAss: Should catch any case of switching weapons with a grenade "cocked" // NiceAss: Should catch any case of switching weapons with a grenade "cocked"
@ -842,7 +845,7 @@ gentity_t *fire_knife (gentity_t *self, vec3_t start, vec3_t dir)
VectorCopy (dir, bolt->s.apos.trBase); VectorCopy (dir, bolt->s.apos.trBase);
VectorCopy (dir, bolt->r.currentAngles); VectorCopy (dir, bolt->r.currentAngles);
if (self->client) if (self->client && level.team_round_going)
{ {
// Elder: Statistics tracking // Elder: Statistics tracking
self->client->pers.records[REC_KNIFETHROWSHOTS]++; self->client->pers.records[REC_KNIFETHROWSHOTS]++;

View file

@ -5,6 +5,9 @@
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// //
// $Log$ // $Log$
// Revision 1.37 2002/03/12 04:55:31 blaze
// stats should only be recored when the round is in progress
//
// Revision 1.36 2002/03/03 02:20:58 jbravo // Revision 1.36 2002/03/03 02:20:58 jbravo
// No kicking teammates in TP // No kicking teammates in TP
// //
@ -132,7 +135,7 @@ qboolean JumpKick( gentity_t *ent )
else { else {
G_Damage( traceEnt, ent, ent, forward, tr.endpos, G_Damage( traceEnt, ent, ent, forward, tr.endpos,
damage, DAMAGE_NO_LOCATIONAL, MOD_KICK ); damage, DAMAGE_NO_LOCATIONAL, MOD_KICK );
if (ent->client) if (ent->client && level.team_round_going)
ent->client->pers.records[REC_KICKHITS]++; ent->client->pers.records[REC_KICKHITS]++;
} }
@ -377,7 +380,7 @@ void Bullet_Fire (gentity_t *ent, float spread, int damage, int MOD ) {
int i, passent; int i, passent;
// Elder: Statistics tracking // Elder: Statistics tracking
if (ent->client) if (ent->client && level.team_round_going)
{ {
switch (MOD) switch (MOD)
{ {
@ -468,26 +471,28 @@ void Bullet_Fire (gentity_t *ent, float spread, int damage, int MOD ) {
if( LogAccuracyHit( traceEnt, ent ) ) { if( LogAccuracyHit( traceEnt, ent ) ) {
ent->client->accuracy_hits++; ent->client->accuracy_hits++;
// Elder: Statistics tracking // Elder: Statistics tracking
switch (MOD) if (level.team_round_going)
{ {
case MOD_PISTOL: switch (MOD)
ent->client->pers.records[REC_MK23HITS]++; {
//ent->client->mk23Hits++; case MOD_PISTOL:
break; ent->client->pers.records[REC_MK23HITS]++;
case MOD_M4: //ent->client->mk23Hits++;
ent->client->pers.records[REC_M4HITS]++; break;
//ent->client->m4Hits++; case MOD_M4:
break; ent->client->pers.records[REC_M4HITS]++;
case MOD_MP5: //ent->client->m4Hits++;
ent->client->pers.records[REC_MP5HITS]++; break;
//ent->client->mp5Hits++; case MOD_MP5:
break; ent->client->pers.records[REC_MP5HITS]++;
case MOD_AKIMBO: //ent->client->mp5Hits++;
ent->client->pers.records[REC_AKIMBOHITS]++; break;
//ent->client->akimboHits++; case MOD_AKIMBO:
break; ent->client->pers.records[REC_AKIMBOHITS]++;
} //ent->client->akimboHits++;
break;
}
}
} }
//Elder: *******************TEST CODE ***************** //Elder: *******************TEST CODE *****************
//} else if ( tr.surfaceFlags & SURF_GRASS ) { //} else if ( tr.surfaceFlags & SURF_GRASS ) {
@ -665,20 +670,20 @@ void ShotgunPattern( vec3_t origin, vec3_t origin2, int seed, gentity_t *ent, in
if (shotType == WP_M3) if (shotType == WP_M3)
{ {
// Elder: Statistics tracking // Elder: Statistics tracking
ent->client->pers.records[REC_M3SHOTS]++; if (level.team_round_going) ent->client->pers.records[REC_M3SHOTS]++;
count = DEFAULT_M3_COUNT; count = DEFAULT_M3_COUNT;
} }
else if (shotType == WP_HANDCANNON) else if (shotType == WP_HANDCANNON)
{ {
// Elder: Statistics tracking // Elder: Statistics tracking
ent->client->pers.records[REC_HANDCANNONSHOTS]++; if (level.team_round_going) ent->client->pers.records[REC_HANDCANNONSHOTS]++;
count = DEFAULT_HANDCANNON_COUNT; count = DEFAULT_HANDCANNON_COUNT;
hc_multipler = 4; hc_multipler = 4;
} }
else else
{ {
// Elder: Statistics tracking // Elder: Statistics tracking
ent->client->pers.records[REC_HANDCANNONSHOTS]++; if (level.team_round_going) ent->client->pers.records[REC_HANDCANNONSHOTS]++;
count = DEFAULT_HANDCANNON_COUNT; count = DEFAULT_HANDCANNON_COUNT;
hc_multipler = 5; hc_multipler = 5;
} }
@ -708,17 +713,20 @@ void ShotgunPattern( vec3_t origin, vec3_t origin2, int seed, gentity_t *ent, in
hitClient = qtrue; hitClient = qtrue;
ent->client->accuracy_hits++; ent->client->accuracy_hits++;
// Elder: Statistics tracking // Elder: Statistics tracking
switch (shotType) if (level.team_round_going)
{ {
case WP_M3: switch (shotType)
ent->client->pers.records[REC_M3HITS]++; {
//ent->client->m3Hits++; case WP_M3:
break; ent->client->pers.records[REC_M3HITS]++;
case WP_HANDCANNON: //ent->client->m3Hits++;
ent->client->pers.records[REC_HANDCANNONHITS]++; break;
//ent->client->hcHits++; case WP_HANDCANNON:
break; ent->client->pers.records[REC_HANDCANNONHITS]++;
//ent->client->hcHits++;
break;
} }
}
} }
} }
} }
@ -1133,7 +1141,7 @@ void Knife_Attack ( gentity_t *self, int damage)
gentity_t *hitent; gentity_t *hitent;
gentity_t *tent; gentity_t *tent;
if (self->client) if (self->client && level.team_round_going)
self->client->pers.records[REC_KNIFESLASHSHOTS]++; self->client->pers.records[REC_KNIFESLASHSHOTS]++;
VectorMA( muzzle, KNIFE_RANGE, forward, end ); VectorMA( muzzle, KNIFE_RANGE, forward, end );
@ -1171,7 +1179,7 @@ void Knife_Attack ( gentity_t *self, int damage)
else if (self->client->knife_sound == -2) { // Hit player else if (self->client->knife_sound == -2) { // Hit player
tent = G_TempEntity(tr.endpos, EV_RQ3_SOUND); tent = G_TempEntity(tr.endpos, EV_RQ3_SOUND);
tent->s.eventParm = RQ3_SOUND_KNIFEHIT; tent->s.eventParm = RQ3_SOUND_KNIFEHIT;
if (self->client) if (self->client && level.team_round_going)
self->client->pers.records[REC_KNIFESLASHHITS]++; self->client->pers.records[REC_KNIFESLASHHITS]++;
} }
self->client->knife_sound = 0; self->client->knife_sound = 0;
@ -1500,7 +1508,7 @@ void Weapon_SSG3000_Fire (gentity_t *ent) {
float spread; float spread;
// Elder: Statistics tracking // Elder: Statistics tracking
if (ent->client) if (ent->client && level.team_round_going)
ent->client->pers.records[REC_SSG3000SHOTS]++; ent->client->pers.records[REC_SSG3000SHOTS]++;
VectorMA (muzzle, 8192*16, forward, end); VectorMA (muzzle, 8192*16, forward, end);
@ -1710,7 +1718,7 @@ void Weapon_SSG3000_Fire (gentity_t *ent) {
ent->client->rewardTime = level.time + REWARD_SPRITE_TIME; ent->client->rewardTime = level.time + REWARD_SPRITE_TIME;
} }
ent->client->accuracy_hits++; ent->client->accuracy_hits++;
ent->client->pers.records[REC_SSG3000HITS]++; if (level.team_round_going) ent->client->pers.records[REC_SSG3000HITS]++;
//ent->client->ssgHits++; //ent->client->ssgHits++;
} }
@ -1941,7 +1949,7 @@ qboolean LogAccuracyHit( gentity_t *target, gentity_t *attacker ) {
if( target->client->ps.stats[STAT_HEALTH] <= 0 ) { if( target->client->ps.stats[STAT_HEALTH] <= 0 ) {
// Elder: Statistics tracking // Elder: Statistics tracking
attacker->client->pers.records[REC_CORPSESHOTS]++; if (level.team_round_going) attacker->client->pers.records[REC_CORPSESHOTS]++;
return qfalse; return qfalse;
} }

View file

@ -3,7 +3,7 @@ Microsoft Developer Studio Workspace File, Format Version 6.00
############################################################################### ###############################################################################
Project: "action"=.\action\action.dsp - Package Owner=<4> Project: "cgame"=..\cgame\cgame.dsp - Package Owner=<4>
Package=<5> Package=<5>
{{{ {{{

View file

@ -6,48 +6,15 @@
--------------------Configuration: game - Win32 Debug-------------------- --------------------Configuration: game - Win32 Debug--------------------
</h3> </h3>
<h3>Command Lines</h3> <h3>Command Lines</h3>
Creating temporary file "C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\RSP37.tmp" with contents Creating temporary file "C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\RSP5C.tmp" with contents
[ [
/nologo /G5 /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "BUILDING_REF_GL" /D "DEBUG" /FR"c:\reactionoutput/" /Fp"c:\reactionoutput/game.pch" /YX /Fo"c:\reactionoutput/" /Fd"c:\reactionoutput/" /FD /c /nologo /G5 /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "BUILDING_REF_GL" /D "DEBUG" /FR"c:\reactionoutput/" /Fp"c:\reactionoutput/game.pch" /YX /Fo"c:\reactionoutput/" /Fd"c:\reactionoutput/" /FD /c
"C:\Development\reaction\game\ai_chat.c"
"C:\Development\reaction\game\ai_cmd.c"
"C:\Development\reaction\game\ai_dmnet.c"
"C:\Development\reaction\game\ai_dmq3.c"
"C:\Development\reaction\game\ai_main.c"
"C:\Development\reaction\game\ai_team.c"
"C:\Development\reaction\game\ai_vcmd.c"
"C:\Development\reaction\game\bg_misc.c"
"C:\Development\reaction\game\bg_pmove.c"
"C:\Development\reaction\game\bg_slidemove.c"
"C:\Development\reaction\game\g_active.c"
"C:\Development\reaction\game\g_arenas.c"
"C:\Development\reaction\game\g_bot.c"
"C:\Development\reaction\game\g_client.c"
"C:\Development\reaction\game\g_cmds.c"
"C:\Development\reaction\game\g_combat.c" "C:\Development\reaction\game\g_combat.c"
"C:\Development\reaction\game\g_fileio.c"
"C:\Development\reaction\game\g_items.c"
"C:\Development\reaction\game\g_main.c"
"C:\Development\reaction\game\g_mem.c"
"C:\Development\reaction\game\g_misc.c"
"C:\Development\reaction\game\g_missile.c" "C:\Development\reaction\game\g_missile.c"
"C:\Development\reaction\game\g_mover.c"
"C:\Development\reaction\game\g_session.c"
"C:\Development\reaction\game\g_spawn.c"
"C:\Development\reaction\game\g_svcmds.c"
"C:\Development\reaction\game\g_syscalls.c"
"C:\Development\reaction\game\g_target.c"
"C:\Development\reaction\game\g_team.c"
"C:\Development\reaction\game\g_teamplay.c"
"C:\Development\reaction\game\g_trigger.c"
"C:\Development\reaction\game\g_utils.c"
"C:\Development\reaction\game\g_weapon.c" "C:\Development\reaction\game\g_weapon.c"
"C:\Development\reaction\game\q_math.c"
"C:\Development\reaction\game\q_shared.c"
"C:\Development\reaction\game\rxn_game.c"
] ]
Creating command line "cl.exe @C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\RSP37.tmp" Creating command line "cl.exe @C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\RSP5C.tmp"
Creating temporary file "C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\RSP38.tmp" with contents Creating temporary file "C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\RSP5D.tmp" with contents
[ [
kernel32.lib user32.lib winmm.lib /nologo /base:"0x20000000" /subsystem:windows /dll /incremental:yes /pdb:"c:\reactionoutput/qagamex86.pdb" /map:"c:\reactionoutput/qagamex86.map" /debug /machine:I386 /def:".\game.def" /out:"..\Debug/qagamex86.dll" /implib:"c:\reactionoutput/qagamex86.lib" kernel32.lib user32.lib winmm.lib /nologo /base:"0x20000000" /subsystem:windows /dll /incremental:yes /pdb:"c:\reactionoutput/qagamex86.pdb" /map:"c:\reactionoutput/qagamex86.map" /debug /machine:I386 /def:".\game.def" /out:"..\Debug/qagamex86.dll" /implib:"c:\reactionoutput/qagamex86.lib"
\reactionoutput\ai_chat.obj \reactionoutput\ai_chat.obj
@ -87,81 +54,26 @@ kernel32.lib user32.lib winmm.lib /nologo /base:"0x20000000" /subsystem:windows
\reactionoutput\q_shared.obj \reactionoutput\q_shared.obj
\reactionoutput\rxn_game.obj \reactionoutput\rxn_game.obj
] ]
Creating command line "link.exe @C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\RSP38.tmp" Creating command line "link.exe @C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\RSP5D.tmp"
<h3>Output Window</h3> <h3>Output Window</h3>
Compiling... Compiling...
ai_chat.c
ai_cmd.c
ai_dmnet.c
ai_dmq3.c
ai_main.c
ai_team.c
ai_vcmd.c
bg_misc.c
c:\development\reaction\game\bg_misc.c(870) : warning C4033: 'BG_FindItemForHoldable' must return a value
c:\development\reaction\game\bg_misc.c(1470) : warning C4101: 'p' : unreferenced local variable
c:\development\reaction\game\bg_misc.c(1469) : warning C4101: 'angles' : unreferenced local variable
bg_pmove.c
c:\development\reaction\game\bg_misc.c(881) : warning C4715: 'BG_FindItemForHoldable' : not all control paths return a value
bg_slidemove.c
C:\Development\reaction\game\bg_slidemove.c(148) : warning C4101: 'delta0' : unreferenced local variable
C:\Development\reaction\game\bg_slidemove.c(149) : warning C4101: 'delta1' : unreferenced local variable
C:\Development\reaction\game\bg_slidemove.c(150) : warning C4101: 'delta2' : unreferenced local variable
C:\Development\reaction\game\bg_slidemove.c(147) : warning C4101: 'old_normal' : unreferenced local variable
g_active.c
g_arenas.c
g_bot.c
g_client.c
C:\Development\reaction\game\g_client.c(1256) : warning C4101: 'savedpers' : unreferenced local variable
g_cmds.c
g_combat.c g_combat.c
C:\Development\reaction\game\g_combat.c(1317) : warning C4101: 'max' : unreferenced local variable C:\Development\reaction\game\g_combat.c(1359) : warning C4101: 'max' : unreferenced local variable
g_fileio.c
g_items.c
c:\development\reaction\game\g_items.c(1603) : warning C4101: 'rq3_item' : unreferenced local variable
c:\development\reaction\game\g_items.c(1604) : warning C4101: 'rq3_temp' : unreferenced local variable
g_main.c
g_mem.c
g_misc.c
C:\Development\reaction\game\g_misc.c(85) : warning C4101: 'style' : unreferenced local variable
g_missile.c g_missile.c
g_mover.c
C:\Development\reaction\game\g_mover.c(61) : warning C4101: 'origin2' : unreferenced local variable
g_session.c
g_spawn.c
g_svcmds.c
g_syscalls.c
g_target.c
g_team.c
g_teamplay.c
C:\Development\reaction\game\g_teamplay.c(213) : warning C4101: 'player' : unreferenced local variable
C:\Development\reaction\game\g_teamplay.c(212) : warning C4101: 'i' : unreferenced local variable
C:\Development\reaction\game\g_teamplay.c(226) : warning C4101: 'player' : unreferenced local variable
C:\Development\reaction\game\g_teamplay.c(225) : warning C4101: 'i' : unreferenced local variable
C:\Development\reaction\game\g_teamplay.c(259) : warning C4101: 'saveteam' : unreferenced local variable
C:\Development\reaction\game\g_teamplay.c(278) : warning C4013: 'ClearBodyQue' undefined; assuming extern returning int
C:\Development\reaction\game\g_teamplay.c(464) : warning C4101: 'buffer' : unreferenced local variable
C:\Development\reaction\game\g_teamplay.c(487) : warning C4101: 'x' : unreferenced local variable
C:\Development\reaction\game\g_teamplay.c(524) : warning C4101: 'c' : unreferenced local variable
C:\Development\reaction\game\g_teamplay.c(524) : warning C4101: 'len' : unreferenced local variable
C:\Development\reaction\game\g_teamplay.c(586) : warning C4013: 'Cmd_DropItem_f' undefined; assuming extern returning int
C:\Development\reaction\game\g_teamplay.c(588) : warning C4013: 'Cmd_DropWeapon_f' undefined; assuming extern returning int
g_trigger.c
g_utils.c
g_weapon.c g_weapon.c
C:\Development\reaction\game\g_weapon.c(1421) : warning C4101: 'i' : unreferenced local variable C:\Development\reaction\game\g_weapon.c(1436) : warning C4101: 'i' : unreferenced local variable
C:\Development\reaction\game\g_weapon.c(2394) : warning C4101: 'tent' : unreferenced local variable C:\Development\reaction\game\g_weapon.c(2409) : warning C4101: 'tent' : unreferenced local variable
C:\Development\reaction\game\g_weapon.c(2395) : warning C4101: 'fogStart' : unreferenced local variable C:\Development\reaction\game\g_weapon.c(2410) : warning C4101: 'fogStart' : unreferenced local variable
C:\Development\reaction\game\g_weapon.c(2390) : warning C4101: 'tr2' : unreferenced local variable C:\Development\reaction\game\g_weapon.c(2405) : warning C4101: 'tr2' : unreferenced local variable
q_math.c
q_shared.c
rxn_game.c
Linking... Linking...
Creating library c:\reactionoutput/qagamex86.lib and object c:\reactionoutput/qagamex86.exp Creating library c:\reactionoutput/qagamex86.lib and object c:\reactionoutput/qagamex86.exp
g_active.obj : error LNK2001: unresolved external symbol _camera_think g_active.obj : error LNK2001: unresolved external symbol _camera_think
g_client.obj : error LNK2001: unresolved external symbol _camera_begin g_client.obj : error LNK2001: unresolved external symbol _camera_begin
g_client.obj : error LNK2001: unresolved external symbol _camera_disconnect g_client.obj : error LNK2001: unresolved external symbol _camera_disconnect
g_cmds.obj : error LNK2001: unresolved external symbol _camera_cmd g_cmds.obj : error LNK2001: unresolved external symbol _camera_cmd
g_cmds.obj : error LNK2001: unresolved external symbol _Ref_Resign
g_cmds.obj : error LNK2001: unresolved external symbol _Ref_Command
g_cmds.obj : error LNK2001: unresolved external symbol _Ref_Auth
g_cmds.obj : error LNK2001: unresolved external symbol _MM_Sub_f g_cmds.obj : error LNK2001: unresolved external symbol _MM_Sub_f
g_cmds.obj : error LNK2001: unresolved external symbol _MM_Ready_f g_cmds.obj : error LNK2001: unresolved external symbol _MM_Ready_f
g_cmds.obj : error LNK2001: unresolved external symbol _MM_Captain_f g_cmds.obj : error LNK2001: unresolved external symbol _MM_Captain_f
@ -170,13 +82,13 @@ g_main.obj : error LNK2001: unresolved external symbol _camera_shutdown
g_main.obj : error LNK2001: unresolved external symbol _MM_RunFrame g_main.obj : error LNK2001: unresolved external symbol _MM_RunFrame
g_session.obj : error LNK2001: unresolved external symbol _camera_state_save g_session.obj : error LNK2001: unresolved external symbol _camera_state_save
g_session.obj : error LNK2001: unresolved external symbol _camera_state_load g_session.obj : error LNK2001: unresolved external symbol _camera_state_load
..\Debug/qagamex86.dll : fatal error LNK1120: 12 unresolved externals ..\Debug/qagamex86.dll : fatal error LNK1120: 15 unresolved externals
Error executing link.exe. Error executing link.exe.
<h3>Results</h3> <h3>Results</h3>
qagamex86.dll - 13 error(s), 30 warning(s) qagamex86.dll - 16 error(s), 5 warning(s)
</pre> </pre>
</body> </body>
</html> </html>