mirror of
https://github.com/ReactionQuake3/reaction.git
synced 2025-03-13 22:22:13 +00:00
Added cg_RQ3_SuicideLikeARealMan, timestamping to server logs and
fixed stats for non-TP modes.
This commit is contained in:
parent
649e9a9281
commit
5b338afa44
9 changed files with 100 additions and 40 deletions
|
@ -58,6 +58,10 @@
|
|||
* Players can now use the kill cmd, plummet and kill teammates after rounds in tp without loosing frags.
|
||||
* Fixed message for players wearing a kevlar vest and get hiot by weapons other than the SSG
|
||||
* Added the Keanu male radio soundset.
|
||||
* Added a clientside cvar (cg_RQ3_SuicideLikeARealMan) to control frag lossage on suicides
|
||||
* Fixed stats for non-TP gametypes
|
||||
* Cleaned up server logging and added real timestamping to them.
|
||||
|
||||
|
||||
|
||||
# List fixes here for the 2.1 release
|
||||
|
|
|
@ -5,6 +5,10 @@
|
|||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
// $Log$
|
||||
// Revision 1.122 2002/08/28 23:10:06 jbravo
|
||||
// Added cg_RQ3_SuicideLikeARealMan, timestamping to server logs and
|
||||
// fixed stats for non-TP modes.
|
||||
//
|
||||
// Revision 1.121 2002/08/28 18:52:09 jbravo
|
||||
// Added the Keanu male radio sound set.
|
||||
//
|
||||
|
@ -1679,6 +1683,7 @@ extern vmCvar_t cg_RQ3_overlaycrosshair;
|
|||
extern vmCvar_t cg_RQ3_tkokAutoPopup;
|
||||
extern vmCvar_t cg_RQ3_radiovoice_male;
|
||||
extern vmCvar_t cg_RQ3_radiovoice_female;
|
||||
extern vmCvar_t cg_RQ3_SuicideLikeARealMan;
|
||||
extern vmCvar_t cg_RQ3_dynamicRadio;
|
||||
|
||||
// Slicer: for the Anti-Cheat System
|
||||
|
|
|
@ -5,6 +5,10 @@
|
|||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
// $Log$
|
||||
// Revision 1.106 2002/08/28 23:10:06 jbravo
|
||||
// Added cg_RQ3_SuicideLikeARealMan, timestamping to server logs and
|
||||
// fixed stats for non-TP modes.
|
||||
//
|
||||
// Revision 1.105 2002/08/28 18:52:09 jbravo
|
||||
// Added the Keanu male radio sound set.
|
||||
//
|
||||
|
@ -399,6 +403,7 @@ vmCvar_t cg_RQ3_tkokAutoPopup;
|
|||
// JBravo: radio cvars.
|
||||
vmCvar_t cg_RQ3_radiovoice_male;
|
||||
vmCvar_t cg_RQ3_radiovoice_female;
|
||||
vmCvar_t cg_RQ3_SuicideLikeARealMan;
|
||||
vmCvar_t cg_RQ3_dynamicRadio;
|
||||
|
||||
// Slicer: for the Anti-Cheat System
|
||||
|
@ -645,8 +650,8 @@ static cvarTable_t cvarTable[] = { // bk001129
|
|||
{&cg_RQ3_ssgColorG, "cg_RQ3_ssgColorG", "1.0", CVAR_ARCHIVE},
|
||||
{&cg_RQ3_ssgColorB, "cg_RQ3_ssgColorB", "0.0", CVAR_ARCHIVE},
|
||||
{&cg_RQ3_ssgColorA, "cg_RQ3_ssgColorA", "0.75", CVAR_ARCHIVE},
|
||||
//Blaze: allow regular crosshair to be overlaid ontop of the ssg crosshair
|
||||
{&cg_RQ3_overlaycrosshair, "cg_RQ3_overlaycrosshair", "0", CVAR_ARCHIVE},
|
||||
//Blaze: allow regular crosshair to be overlaid ontop of the ssg crosshair
|
||||
{&cg_RQ3_overlaycrosshair, "cg_RQ3_overlaycrosshair", "0", CVAR_ARCHIVE},
|
||||
|
||||
// JBravo: cvars for regular crosshairs and their colors
|
||||
// Makro - changed default color to white; it was 0/1/0/.75 before
|
||||
|
@ -657,6 +662,7 @@ static cvarTable_t cvarTable[] = { // bk001129
|
|||
{&cg_RQ3_tkokAutoPopup, "cg_RQ3_tkokAutoPopup", "0", CVAR_ARCHIVE},
|
||||
{&cg_RQ3_radiovoice_male, "cg_RQ3_radiovoice_male", "1", CVAR_USERINFO | CVAR_ARCHIVE},
|
||||
{&cg_RQ3_radiovoice_female, "cg_RQ3_radiovoice_female", "1", CVAR_USERINFO | CVAR_ARCHIVE},
|
||||
{&cg_RQ3_SuicideLikeARealMan, "cg_RQ3_SuicideLikeARealMan", "0", CVAR_USERINFO | CVAR_ARCHIVE},
|
||||
{&cg_RQ3_dynamicRadio, "cg_RQ3_dynamicRadio", "1", CVAR_ARCHIVE},
|
||||
{&cg_RQ3_impactEffects, "cg_RQ3_impactEffects", "1", CVAR_ARCHIVE},
|
||||
{&cg_RQ3_laserAssist, "cg_RQ3_laserAssist", "0", CVAR_ARCHIVE},
|
||||
|
|
|
@ -5,6 +5,10 @@
|
|||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
// $Log$
|
||||
// Revision 1.113 2002/08/28 23:10:06 jbravo
|
||||
// Added cg_RQ3_SuicideLikeARealMan, timestamping to server logs and
|
||||
// fixed stats for non-TP modes.
|
||||
//
|
||||
// Revision 1.112 2002/08/23 14:25:05 slicer
|
||||
// Added a new Referee System with multiple ref support
|
||||
//
|
||||
|
@ -1129,7 +1133,14 @@ void ClientUserinfoChanged(int clientNum)
|
|||
} else {
|
||||
client->radioSetFemale = atoi(s);
|
||||
}
|
||||
|
||||
// JBravo: Does the client get a frag reduced on suicides or not.
|
||||
s = Info_ValueForKey(userinfo, "cg_RQ3_SuicideLikeARealMan");
|
||||
if (!atoi(s)) {
|
||||
client->SuicideLikeARealMan = 0;
|
||||
} else {
|
||||
client->SuicideLikeARealMan = atoi(s);
|
||||
}
|
||||
|
||||
if (g_gametype.integer == GT_TEAMPLAY || g_gametype.integer == GT_CTF) {
|
||||
if (client->sess.sessionTeam == TEAM_RED) {
|
||||
Q_strncpyz(model2, g_RQ3_team1model.string, sizeof(model));
|
||||
|
|
|
@ -5,6 +5,10 @@
|
|||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
// $Log$
|
||||
// Revision 1.124 2002/08/28 23:10:06 jbravo
|
||||
// Added cg_RQ3_SuicideLikeARealMan, timestamping to server logs and
|
||||
// fixed stats for non-TP modes.
|
||||
//
|
||||
// Revision 1.123 2002/08/27 11:28:43 jbravo
|
||||
// Kevlar hits didnt tell the target who was shooting or of the kevlar got hit
|
||||
//
|
||||
|
@ -684,7 +688,7 @@ void SendObit(char *msg, gentity_t * deadguy, gentity_t * attacker)
|
|||
int i;
|
||||
gentity_t *other;
|
||||
|
||||
if (g_gametype.integer < GT_TEAM) {
|
||||
if (g_gametype.integer != GT_TEAMPLAY) {
|
||||
trap_SendServerCommand(-1, va("print \"%s\"", msg));
|
||||
} else {
|
||||
if (g_RQ3_showOwnKills.integer == 0) {
|
||||
|
@ -1183,7 +1187,7 @@ void player_die(gentity_t * self, gentity_t * inflictor, gentity_t * attacker, i
|
|||
if ((self->client->lasthurt_location & LOCATION_HEAD) == LOCATION_HEAD ||
|
||||
(self->client->lasthurt_location & LOCATION_FACE) == LOCATION_FACE) {
|
||||
// head kill
|
||||
if (level.team_round_going) {
|
||||
if ((g_gametype.integer == GT_TEAMPLAY && level.team_round_going) || g_gametype.integer != GT_TEAMPLAY) {
|
||||
self->client->pers.records[REC_HEADDEATHS]++;
|
||||
if (attacker && attacker->client)
|
||||
attacker->client->pers.records[REC_HEADKILLS]++;
|
||||
|
@ -1193,7 +1197,7 @@ void player_die(gentity_t * self, gentity_t * inflictor, gentity_t * attacker, i
|
|||
} else if ((self->client->lasthurt_location & LOCATION_CHEST) == LOCATION_CHEST ||
|
||||
(self->client->lasthurt_location & LOCATION_SHOULDER) == LOCATION_SHOULDER) {
|
||||
// chest kill
|
||||
if (level.team_round_going) {
|
||||
if ((g_gametype.integer == GT_TEAMPLAY && level.team_round_going) || g_gametype.integer != GT_TEAMPLAY) {
|
||||
self->client->pers.records[REC_CHESTDEATHS]++;
|
||||
if (attacker && attacker->client)
|
||||
attacker->client->pers.records[REC_CHESTKILLS]++;
|
||||
|
@ -1203,7 +1207,7 @@ void player_die(gentity_t * self, gentity_t * inflictor, gentity_t * attacker, i
|
|||
} else if ((self->client->lasthurt_location & LOCATION_STOMACH) == LOCATION_STOMACH ||
|
||||
(self->client->lasthurt_location & LOCATION_GROIN) == LOCATION_GROIN) {
|
||||
// stomach kill
|
||||
if (level.team_round_going) {
|
||||
if ((g_gametype.integer == GT_TEAMPLAY && level.team_round_going) || g_gametype.integer != GT_TEAMPLAY) {
|
||||
self->client->pers.records[REC_STOMACHDEATHS]++;
|
||||
if (attacker && attacker->client)
|
||||
attacker->client->pers.records[REC_STOMACHKILLS]++;
|
||||
|
@ -1213,7 +1217,7 @@ void player_die(gentity_t * self, gentity_t * inflictor, gentity_t * attacker, i
|
|||
} else if ((self->client->lasthurt_location & LOCATION_LEG) == LOCATION_LEG ||
|
||||
(self->client->lasthurt_location & LOCATION_FOOT) == LOCATION_FOOT) {
|
||||
// leg kill
|
||||
if (level.team_round_going) {
|
||||
if ((g_gametype.integer == GT_TEAMPLAY && level.team_round_going) || g_gametype.integer != GT_TEAMPLAY) {
|
||||
self->client->pers.records[REC_LEGDEATHS]++;
|
||||
if (attacker && attacker->client)
|
||||
attacker->client->pers.records[REC_LEGKILLS]++;
|
||||
|
@ -1221,7 +1225,7 @@ void player_die(gentity_t * self, gentity_t * inflictor, gentity_t * attacker, i
|
|||
PrintDeathMessage(self, attacker, LOC_LDAM, meansOfDeath);
|
||||
hurt = LOC_LDAM;
|
||||
} else {
|
||||
// // non-location/world kill
|
||||
// non-location/world kill
|
||||
PrintDeathMessage(self, attacker, LOC_NOLOC, meansOfDeath);
|
||||
hurt = 0;
|
||||
}
|
||||
|
@ -1309,7 +1313,7 @@ void player_die(gentity_t * self, gentity_t * inflictor, gentity_t * attacker, i
|
|||
ResetKills(self);
|
||||
// JBravo: make it OK to frag teammates after rounds are over.
|
||||
if (attacker == self) {
|
||||
if (g_gametype.integer == GT_TEAMPLAY && !level.team_round_going) {
|
||||
if (g_gametype.integer == GT_TEAMPLAY && !level.team_round_going && !self->client->SuicideLikeARealMan) {
|
||||
} else
|
||||
AddScore(attacker, self->r.currentOrigin, -1);
|
||||
} else if (OnSameTeam(self, attacker)) {
|
||||
|
@ -1381,7 +1385,7 @@ void player_die(gentity_t * self, gentity_t * inflictor, gentity_t * attacker, i
|
|||
attacker->client->lastKillTime = level.time;
|
||||
}
|
||||
} else {
|
||||
if (g_gametype.integer == GT_TEAMPLAY && !level.team_round_going) {
|
||||
if (g_gametype.integer == GT_TEAMPLAY && !level.team_round_going && !self->client->SuicideLikeARealMan) {
|
||||
} else
|
||||
AddScore(self, self->r.currentOrigin, -1);
|
||||
}
|
||||
|
@ -1399,7 +1403,6 @@ 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]--;
|
||||
}
|
||||
// AddScore(self, self->r.currentOrigin, -1);
|
||||
if (g_gametype.integer != GT_TEAMPLAY) {
|
||||
if (self->client->ps.powerups[PW_NEUTRALFLAG]) { // only happens in One Flag CTF
|
||||
Team_ReturnFlag(TEAM_FREE);
|
||||
|
|
|
@ -5,6 +5,10 @@
|
|||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
// $Log$
|
||||
// Revision 1.120 2002/08/28 23:10:06 jbravo
|
||||
// Added cg_RQ3_SuicideLikeARealMan, timestamping to server logs and
|
||||
// fixed stats for non-TP modes.
|
||||
//
|
||||
// Revision 1.119 2002/08/27 04:47:48 niceass
|
||||
// ref say added
|
||||
//
|
||||
|
@ -693,6 +697,7 @@ struct gclient_s {
|
|||
int radioGender;
|
||||
int radioSetMale;
|
||||
int radioSetFemale;
|
||||
int SuicideLikeARealMan;
|
||||
qboolean radioOff;
|
||||
int team_wounds;
|
||||
int team_wounds_before;
|
||||
|
|
|
@ -5,6 +5,10 @@
|
|||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
// $Log$
|
||||
// Revision 1.111 2002/08/28 23:10:06 jbravo
|
||||
// Added cg_RQ3_SuicideLikeARealMan, timestamping to server logs and
|
||||
// fixed stats for non-TP modes.
|
||||
//
|
||||
// Revision 1.110 2002/08/27 01:25:22 jbravo
|
||||
// Fixed scoring in TOURNAMENT mode and made it a legit gametype.
|
||||
//
|
||||
|
@ -307,6 +311,7 @@
|
|||
|
||||
#include "g_local.h"
|
||||
#include "zcam.h"
|
||||
#include "q_shared.h"
|
||||
|
||||
level_locals_t level;
|
||||
|
||||
|
@ -1688,24 +1693,22 @@ void QDECL G_LogPrintf(const char *fmt, ...)
|
|||
{
|
||||
va_list argptr;
|
||||
char string[1024];
|
||||
int min, tens, sec, i, l;
|
||||
int i, l;
|
||||
qtime_t now;
|
||||
|
||||
sec = level.time / 1000;
|
||||
min = sec / 60;
|
||||
sec -= min * 60;
|
||||
tens = sec / 10;
|
||||
sec -= tens * 10;
|
||||
trap_RealTime(&now);
|
||||
|
||||
l = i = 0;
|
||||
|
||||
Com_sprintf(string, sizeof(string), "%3i:%i%i ", min, tens, sec);
|
||||
string[0] = '\0';
|
||||
Com_sprintf(string, sizeof(string), "[%02i:%02i:%02i] ", now.tm_hour, now.tm_min, now.tm_sec);
|
||||
|
||||
va_start(argptr, fmt);
|
||||
vsprintf(string + 7, fmt, argptr);
|
||||
vsprintf(string + 11, fmt, argptr);
|
||||
va_end(argptr);
|
||||
|
||||
if (g_dedicated.integer) {
|
||||
G_Printf("%s", string + 7);
|
||||
G_Printf("%s", string + 11);
|
||||
}
|
||||
|
||||
if (!level.logFile) {
|
||||
|
@ -1739,8 +1742,17 @@ void LogExit(const char *string)
|
|||
{
|
||||
int i, numSorted;
|
||||
gclient_t *cl;
|
||||
qtime_t now;
|
||||
char* names_day[] = { "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" };
|
||||
char* names_month[] = { "January", "February", "March", "April", "May", "June", "July", "August",
|
||||
"September", "October", "November", "December" };
|
||||
|
||||
G_LogPrintf("Exit: %s\n", string);
|
||||
trap_RealTime(&now);
|
||||
G_LogPrintf("Game ending at %s %i %s %i %i:%i:%i : %s\n", names_day[now.tm_wday], now.tm_mday, names_month[now.tm_mon],
|
||||
(now.tm_year)+1900, now.tm_hour, now.tm_min, now.tm_sec, string);
|
||||
trap_SendServerCommand(-1, va("print \"Game ending at %s %i %s %i %i:%i:%i.\n\"", names_day[now.tm_wday],
|
||||
now.tm_mday, names_month[now.tm_mon], (now.tm_year)+1900, now.tm_hour,
|
||||
now.tm_min, now.tm_sec, string));
|
||||
|
||||
level.intermissionQueued = level.time;
|
||||
|
||||
|
|
|
@ -5,6 +5,10 @@
|
|||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
// $Log$
|
||||
// Revision 1.30 2002/08/28 23:10:06 jbravo
|
||||
// Added cg_RQ3_SuicideLikeARealMan, timestamping to server logs and
|
||||
// fixed stats for non-TP modes.
|
||||
//
|
||||
// Revision 1.29 2002/06/16 20:06:14 jbravo
|
||||
// Reindented all the source files with "indent -kr -ut -i8 -l120 -lc120 -sob -bad -bap"
|
||||
//
|
||||
|
@ -117,10 +121,12 @@ void G_ExplodeMissile(gentity_t * ent)
|
|||
ent->splashMethodOfDeath)) {
|
||||
g_entities[ent->r.ownerNum].client->accuracy_hits++;
|
||||
// Elder: Statistics tracking
|
||||
if (ent->s.weapon == WP_KNIFE && level.team_round_going)
|
||||
if (ent->s.weapon == WP_KNIFE &&
|
||||
((g_gametype.integer == GT_TEAMPLAY && level.team_round_going) || g_gametype.integer != GT_TEAMPLAY))
|
||||
g_entities[ent->r.ownerNum].client->pers.records[REC_KNIFETHROWHITS]++;
|
||||
//g_entities[ent->r.ownerNum].client->knifeHits++;
|
||||
if (ent->s.weapon == WP_GRENADE && level.team_round_going)
|
||||
if (ent->s.weapon == WP_GRENADE &&
|
||||
((g_gametype.integer == GT_TEAMPLAY && level.team_round_going) || g_gametype.integer != GT_TEAMPLAY))
|
||||
g_entities[ent->r.ownerNum].client->pers.records[REC_GRENADEHITS]++;
|
||||
//g_entities[ent->r.ownerNum].client->grenHits++;
|
||||
}
|
||||
|
@ -171,10 +177,12 @@ void G_MissileImpact(gentity_t * ent, trace_t * trace)
|
|||
if (LogAccuracyHit(other, &g_entities[ent->r.ownerNum])) {
|
||||
g_entities[ent->r.ownerNum].client->accuracy_hits++;
|
||||
// Elder: Statistics tracking
|
||||
if (ent->s.weapon == WP_KNIFE && level.team_round_going)
|
||||
if (ent->s.weapon == WP_KNIFE &&
|
||||
((g_gametype.integer == GT_TEAMPLAY && level.team_round_going) || g_gametype.integer != GT_TEAMPLAY))
|
||||
g_entities[ent->r.ownerNum].client->pers.records[REC_KNIFETHROWHITS]++;
|
||||
//g_entities[ent->r.ownerNum].client->knifeHits++;
|
||||
if (ent->s.weapon == WP_GRENADE && level.team_round_going)
|
||||
if (ent->s.weapon == WP_GRENADE &&
|
||||
((g_gametype.integer == GT_TEAMPLAY && level.team_round_going) || g_gametype.integer != GT_TEAMPLAY))
|
||||
g_entities[ent->r.ownerNum].client->pers.records[REC_GRENADEHITS]++;
|
||||
//g_entities[ent->r.ownerNum].client->grenHits++;
|
||||
hitClient = qtrue;
|
||||
|
@ -357,10 +365,12 @@ void G_MissileImpact(gentity_t * ent, trace_t * trace)
|
|||
if (!hitClient) {
|
||||
g_entities[ent->r.ownerNum].client->accuracy_hits++;
|
||||
// Elder: Statistics tracking
|
||||
if (ent->s.weapon == WP_KNIFE && level.team_round_going)
|
||||
if (ent->s.weapon == WP_KNIFE &&
|
||||
((g_gametype.integer == GT_TEAMPLAY && level.team_round_going) || g_gametype.integer != GT_TEAMPLAY))
|
||||
g_entities[ent->r.ownerNum].client->pers.records[REC_KNIFETHROWHITS]++;
|
||||
//g_entities[ent->r.ownerNum].client->knifeHits++;
|
||||
if (ent->s.weapon == WP_GRENADE && level.team_round_going)
|
||||
if (ent->s.weapon == WP_GRENADE &&
|
||||
((g_gametype.integer == GT_TEAMPLAY && level.team_round_going) || g_gametype.integer != GT_TEAMPLAY))
|
||||
g_entities[ent->r.ownerNum].client->pers.records[REC_GRENADEHITS]++;
|
||||
//g_entities[ent->r.ownerNum].client->grenHits++;
|
||||
}
|
||||
|
@ -564,7 +574,7 @@ gentity_t *fire_grenade(gentity_t * self, vec3_t start, vec3_t dir)
|
|||
//Elder: grenade toggle distances/speeds
|
||||
if (self->client) {
|
||||
// Elder: Statistics tracking
|
||||
if (level.team_round_going)
|
||||
if ((g_gametype.integer == GT_TEAMPLAY && level.team_round_going) || g_gametype.integer != GT_TEAMPLAY)
|
||||
self->client->pers.records[REC_GRENADESHOTS]++;
|
||||
if (self->client->ps.stats[STAT_HEALTH] <= 0 ||
|
||||
// (self->client->ps.stats[STAT_RQ3] & RQ3_BANDAGE_WORK) == RQ3_BANDAGE_WORK ||
|
||||
|
@ -633,7 +643,7 @@ gentity_t *fire_knife(gentity_t * self, vec3_t start, vec3_t dir)
|
|||
VectorCopy(dir, bolt->s.apos.trBase);
|
||||
VectorCopy(dir, bolt->r.currentAngles);
|
||||
|
||||
if (self->client && level.team_round_going) {
|
||||
if (self->client && ((g_gametype.integer == GT_TEAMPLAY && level.team_round_going) || g_gametype.integer != GT_TEAMPLAY)) {
|
||||
// Elder: Statistics tracking
|
||||
self->client->pers.records[REC_KNIFETHROWSHOTS]++;
|
||||
}
|
||||
|
|
|
@ -5,6 +5,10 @@
|
|||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
// $Log$
|
||||
// Revision 1.79 2002/08/28 23:10:06 jbravo
|
||||
// Added cg_RQ3_SuicideLikeARealMan, timestamping to server logs and
|
||||
// fixed stats for non-TP modes.
|
||||
//
|
||||
// Revision 1.78 2002/08/23 23:07:01 blaze
|
||||
// Should have fixed the unkickable thing breaking explosive breakables.
|
||||
//
|
||||
|
@ -556,7 +560,7 @@ void Bullet_Fire(gentity_t * ent, float spread, int damage, int MOD)
|
|||
if (LogAccuracyHit(traceEnt, ent)) {
|
||||
ent->client->accuracy_hits++;
|
||||
// Elder: Statistics tracking
|
||||
if (level.team_round_going) {
|
||||
if ((g_gametype.integer == GT_TEAMPLAY && level.team_round_going) || g_gametype.integer != GT_TEAMPLAY) {
|
||||
switch (MOD) {
|
||||
case MOD_PISTOL:
|
||||
ent->client->pers.records[REC_MK23HITS]++;
|
||||
|
@ -746,18 +750,18 @@ void ShotgunPattern(vec3_t origin, vec3_t origin2, int seed, gentity_t * ent, in
|
|||
//Elder: added
|
||||
if (shotType == WP_M3) {
|
||||
// Elder: Statistics tracking
|
||||
if (level.team_round_going)
|
||||
if ((g_gametype.integer == GT_TEAMPLAY && level.team_round_going) || g_gametype.integer != GT_TEAMPLAY)
|
||||
ent->client->pers.records[REC_M3SHOTS]++;
|
||||
count = DEFAULT_M3_COUNT;
|
||||
} else if (shotType == WP_HANDCANNON) {
|
||||
// Elder: Statistics tracking
|
||||
if (level.team_round_going)
|
||||
if ((g_gametype.integer == GT_TEAMPLAY && level.team_round_going) || g_gametype.integer != GT_TEAMPLAY)
|
||||
ent->client->pers.records[REC_HANDCANNONSHOTS]++;
|
||||
count = DEFAULT_HANDCANNON_COUNT;
|
||||
hc_multipler = 4;
|
||||
} else {
|
||||
// Elder: Statistics tracking
|
||||
if (level.team_round_going)
|
||||
if ((g_gametype.integer == GT_TEAMPLAY && level.team_round_going) || g_gametype.integer != GT_TEAMPLAY)
|
||||
ent->client->pers.records[REC_HANDCANNONSHOTS]++;
|
||||
count = DEFAULT_HANDCANNON_COUNT;
|
||||
hc_multipler = 5;
|
||||
|
@ -784,7 +788,7 @@ void ShotgunPattern(vec3_t origin, vec3_t origin2, int seed, gentity_t * ent, in
|
|||
hitClient = qtrue;
|
||||
ent->client->accuracy_hits++;
|
||||
// Elder: Statistics tracking
|
||||
if (level.team_round_going) {
|
||||
if ((g_gametype.integer == GT_TEAMPLAY && level.team_round_going) || g_gametype.integer != GT_TEAMPLAY) {
|
||||
switch (shotType) {
|
||||
case WP_M3:
|
||||
ent->client->pers.records[REC_M3HITS]++;
|
||||
|
@ -1031,7 +1035,7 @@ void Knife_Attack(gentity_t * self, int damage)
|
|||
gentity_t *hitent;
|
||||
gentity_t *tent;
|
||||
|
||||
if (self->client && level.team_round_going)
|
||||
if (self->client && ((g_gametype.integer == GT_TEAMPLAY && level.team_round_going) || g_gametype.integer != GT_TEAMPLAY))
|
||||
self->client->pers.records[REC_KNIFESLASHSHOTS]++;
|
||||
|
||||
VectorMA(muzzle, KNIFE_RANGE, forward, end);
|
||||
|
@ -1064,7 +1068,7 @@ void Knife_Attack(gentity_t * self, int damage)
|
|||
} else if (self->client->knife_sound == -2) { // Hit player
|
||||
tent = G_TempEntity(tr.endpos, EV_RQ3_SOUND);
|
||||
tent->s.eventParm = RQ3_SOUND_KNIFEHIT;
|
||||
if (self->client && level.team_round_going)
|
||||
if (self->client && ((g_gametype.integer == GT_TEAMPLAY && level.team_round_going) || g_gametype.integer != GT_TEAMPLAY))
|
||||
self->client->pers.records[REC_KNIFESLASHHITS]++;
|
||||
}
|
||||
self->client->knife_sound = 0;
|
||||
|
@ -1397,7 +1401,7 @@ void Weapon_SSG3000_Fire(gentity_t * ent)
|
|||
int Material;
|
||||
|
||||
// Elder: Statistics tracking
|
||||
if (ent->client && level.team_round_going)
|
||||
if (ent->client && ((g_gametype.integer == GT_TEAMPLAY && level.team_round_going) || g_gametype.integer != GT_TEAMPLAY))
|
||||
ent->client->pers.records[REC_SSG3000SHOTS]++;
|
||||
|
||||
VectorMA(muzzle, 8192 * 16, forward, end);
|
||||
|
@ -1634,7 +1638,7 @@ void Weapon_SSG3000_Fire(gentity_t * ent)
|
|||
ent->client->rewardTime = level.time + REWARD_SPRITE_TIME;
|
||||
}
|
||||
ent->client->accuracy_hits++;
|
||||
if (level.team_round_going)
|
||||
if ((g_gametype.integer == GT_TEAMPLAY && level.team_round_going) || g_gametype.integer != GT_TEAMPLAY)
|
||||
ent->client->pers.records[REC_SSG3000HITS]++;
|
||||
//ent->client->ssgHits++;
|
||||
}
|
||||
|
@ -1882,7 +1886,7 @@ qboolean LogAccuracyHit(gentity_t * target, gentity_t * attacker)
|
|||
|
||||
if (target->client->ps.stats[STAT_HEALTH] <= 0) {
|
||||
// Elder: Statistics tracking
|
||||
if (level.team_round_going)
|
||||
if ((g_gametype.integer == GT_TEAMPLAY && level.team_round_going) || g_gametype.integer != GT_TEAMPLAY)
|
||||
attacker->client->pers.records[REC_CORPSESHOTS]++;
|
||||
return qfalse;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue