#include "g_local.h"
#include "g_rankings.h"
Include dependency graph for g_rankings.c:

Go to the source code of this file.
Functions | |
| void | G_RankCapture (int self) |
| void | G_RankClientDisconnect (int self) |
| void | G_RankDamage (int self, int attacker, int damage, int means_of_death) |
| void | G_RankFireWeapon (int self, int weapon) |
| void | G_RankGameOver (void) |
| void | G_RankPickupAmmo (int self, int weapon, int quantity) |
| void | G_RankPickupArmor (int self, int quantity) |
| void | G_RankPickupHealth (int self, int quantity) |
| void | G_RankPickupHoldable (int self, int holdable) |
| void | G_RankPickupPowerup (int self, int powerup) |
| void | G_RankPickupWeapon (int self, int weapon) |
| void | G_RankPlayerDie (int self, int attacker, int means_of_death) |
| void | G_RankReward (int self, int award) |
| void | G_RankRunFrame () |
| void | G_RankUseHoldable (int self, int holdable) |
| void | G_RankUserTeamName (int self, char *team_name) |
| void | G_RankWeaponTime (int self, int weapon) |
|
|
Definition at line 1004 of file g_rankings.c. References level, QGR_KEY_FLAG_CAPTURE, and level_locals_t::warmupTime. 01005 {
01006 if( level.warmupTime != 0 )
01007 {
01008 // no reports during warmup period
01009 return;
01010 }
01011
01012 trap_RankReportInt( self, -1, QGR_KEY_FLAG_CAPTURE, 1, 1 );
01013 }
|
|
|
Definition at line 1036 of file g_rankings.c. References gentity_s::client, clientPersistant_t::enterTime, g_entities, gclient_t, level, gclient_s::pers, playerState_s::persistant, gclient_s::ps, QGR_KEY_MATCH_RATING, level_locals_t::time, time(), and level_locals_t::warmupTime. Referenced by G_RankGameOver(). 01037 {
01038 gclient_t* client;
01039 int time;
01040 int match_rating;
01041
01042 if( level.warmupTime != 0 )
01043 {
01044 // no reports during warmup period
01045 return;
01046 }
01047
01048 // match rating
01049 client = g_entities[self].client;
01050 time = (level.time - client->pers.enterTime) / 1000;
01051 if( time < 60 )
01052 {
01053 match_rating = 0;
01054 }
01055 else
01056 {
01057 match_rating = client->ps.persistant[PERS_MATCH_RATING] / time;
01058 }
01059 trap_RankReportInt( self, -1, QGR_KEY_MATCH_RATING, match_rating, 0 );
01060 }
|
Here is the call graph for this function:

|
||||||||||||||||||||
|
Definition at line 227 of file g_rankings.c. References gentity_s::client, level_locals_t::framenum, g_entities, level, MOD_BFG, MOD_BFG_SPLASH, MOD_CRUSH, MOD_FALLING, MOD_GAUNTLET, MOD_GRAPPLE, MOD_GRENADE, MOD_GRENADE_SPLASH, MOD_LAVA, MOD_LIGHTNING, MOD_MACHINEGUN, MOD_PLASMA, MOD_PLASMA_SPLASH, MOD_RAILGUN, MOD_ROCKET, MOD_ROCKET_SPLASH, MOD_SHOTGUN, MOD_SLIME, MOD_SUICIDE, MOD_TELEFRAG, MOD_TRIGGER_HURT, MOD_WATER, OnSameTeam(), qboolean, QGR_KEY_DAMAGE_GIVEN, QGR_KEY_DAMAGE_TAKEN, QGR_KEY_HIT_GIVEN, QGR_KEY_HIT_TAKEN, QGR_KEY_SHOT_FIRED_GAUNTLET, QGR_KEY_SPLASH_GIVEN, QGR_KEY_SPLASH_TAKEN, QGR_KEY_TEAMMATE_DAMAGE_GIVEN, QGR_KEY_TEAMMATE_DAMAGE_TAKEN, QGR_KEY_TEAMMATE_HIT_GIVEN, QGR_KEY_TEAMMATE_HIT_TAKEN, QGR_KEY_TEAMMATE_SPLASH_GIVEN, QGR_KEY_TEAMMATE_SPLASH_TAKEN, and level_locals_t::warmupTime. 00228 {
00229 // state information to avoid counting each shotgun pellet as a hit
00230 static int last_framenum = -1;
00231 static int last_self = -1;
00232 static int last_attacker = -1;
00233 static int last_means_of_death = MOD_UNKNOWN;
00234
00235 qboolean new_hit;
00236 int splash;
00237 int key_hit;
00238 int key_damage;
00239 int key_splash;
00240
00241 if( level.warmupTime != 0 )
00242 {
00243 // no reports during warmup period
00244 return;
00245 }
00246
00247 new_hit = (level.framenum != last_framenum) ||
00248 (self != last_self) ||
00249 (attacker != last_attacker) ||
00250 (means_of_death != last_means_of_death);
00251
00252 // update state information
00253 last_framenum = level.framenum;
00254 last_self = self;
00255 last_attacker = attacker;
00256 last_means_of_death = means_of_death;
00257
00258 // the gauntlet only "fires" when it actually hits something
00259 if( (attacker != ENTITYNUM_WORLD) && (attacker != self) &&
00260 (means_of_death == MOD_GAUNTLET) &&
00261 (g_entities[attacker].client) )
00262 {
00263 trap_RankReportInt( attacker, -1, QGR_KEY_SHOT_FIRED_GAUNTLET, 1, 1 );
00264 }
00265
00266 // don't track hazard damage, just deaths
00267 switch( means_of_death )
00268 {
00269 case MOD_WATER:
00270 case MOD_SLIME:
00271 case MOD_LAVA:
00272 case MOD_CRUSH:
00273 case MOD_TELEFRAG:
00274 case MOD_FALLING:
00275 case MOD_SUICIDE:
00276 case MOD_TRIGGER_HURT:
00277 return;
00278 default:
00279 break;
00280 }
00281
00282 // get splash damage
00283 switch( means_of_death )
00284 {
00285 case MOD_GRENADE_SPLASH:
00286 case MOD_ROCKET_SPLASH:
00287 case MOD_PLASMA_SPLASH:
00288 case MOD_BFG_SPLASH:
00289 splash = damage;
00290 break;
00291 default:
00292 splash = 0;
00293 key_splash = -1;
00294 break;
00295 }
00296
00297 // hit, damage, and splash taken
00298 switch( means_of_death )
00299 {
00300 case MOD_GAUNTLET:
00301 key_hit = QGR_KEY_HIT_TAKEN_GAUNTLET;
00302 key_damage = QGR_KEY_DAMAGE_TAKEN_GAUNTLET;
00303 break;
00304 case MOD_MACHINEGUN:
00305 key_hit = QGR_KEY_HIT_TAKEN_MACHINEGUN;
00306 key_damage = QGR_KEY_DAMAGE_TAKEN_MACHINEGUN;
00307 break;
00308 case MOD_SHOTGUN:
00309 key_hit = QGR_KEY_HIT_TAKEN_SHOTGUN;
00310 key_damage = QGR_KEY_DAMAGE_TAKEN_SHOTGUN;
00311 break;
00312 case MOD_GRENADE:
00313 case MOD_GRENADE_SPLASH:
00314 key_hit = QGR_KEY_HIT_TAKEN_GRENADE;
00315 key_damage = QGR_KEY_DAMAGE_TAKEN_GRENADE;
00316 key_splash = QGR_KEY_SPLASH_TAKEN_GRENADE;
00317 break;
00318 case MOD_ROCKET:
00319 case MOD_ROCKET_SPLASH:
00320 key_hit = QGR_KEY_HIT_TAKEN_ROCKET;
00321 key_damage = QGR_KEY_DAMAGE_TAKEN_ROCKET;
00322 key_splash = QGR_KEY_SPLASH_TAKEN_ROCKET;
00323 break;
00324 case MOD_PLASMA:
00325 case MOD_PLASMA_SPLASH:
00326 key_hit = QGR_KEY_HIT_TAKEN_PLASMA;
00327 key_damage = QGR_KEY_DAMAGE_TAKEN_PLASMA;
00328 key_splash = QGR_KEY_SPLASH_TAKEN_PLASMA;
00329 break;
00330 case MOD_RAILGUN:
00331 key_hit = QGR_KEY_HIT_TAKEN_RAILGUN;
00332 key_damage = QGR_KEY_DAMAGE_TAKEN_RAILGUN;
00333 break;
00334 case MOD_LIGHTNING:
00335 key_hit = QGR_KEY_HIT_TAKEN_LIGHTNING;
00336 key_damage = QGR_KEY_DAMAGE_TAKEN_LIGHTNING;
00337 break;
00338 case MOD_BFG:
00339 case MOD_BFG_SPLASH:
00340 key_hit = QGR_KEY_HIT_TAKEN_BFG;
00341 key_damage = QGR_KEY_DAMAGE_TAKEN_BFG;
00342 key_splash = QGR_KEY_SPLASH_TAKEN_BFG;
00343 break;
00344 case MOD_GRAPPLE:
00345 key_hit = QGR_KEY_HIT_TAKEN_GRAPPLE;
00346 key_damage = QGR_KEY_DAMAGE_TAKEN_GRAPPLE;
00347 break;
00348 default:
00349 key_hit = QGR_KEY_HIT_TAKEN_UNKNOWN;
00350 key_damage = QGR_KEY_DAMAGE_TAKEN_UNKNOWN;
00351 break;
00352 }
00353
00354 // report general and specific hit taken
00355 if( new_hit )
00356 {
00357 trap_RankReportInt( self, -1, QGR_KEY_HIT_TAKEN, 1, 1 );
00358 trap_RankReportInt( self, -1, key_hit, 1, 1 );
00359 }
00360
00361 // report general and specific damage taken
00362 trap_RankReportInt( self, -1, QGR_KEY_DAMAGE_TAKEN, damage, 1 );
00363 trap_RankReportInt( self, -1, key_damage, damage, 1 );
00364
00365 // report general and specific splash taken
00366 if( splash != 0 )
00367 {
00368 trap_RankReportInt( self, -1, QGR_KEY_SPLASH_TAKEN, splash, 1 );
00369 trap_RankReportInt( self, -1, key_splash, splash, 1 );
00370 }
00371
00372 // hit, damage, and splash given
00373 if( (attacker != ENTITYNUM_WORLD) && (attacker != self) )
00374 {
00375 switch( means_of_death )
00376 {
00377 case MOD_GAUNTLET:
00378 key_hit = QGR_KEY_HIT_GIVEN_GAUNTLET;
00379 key_damage = QGR_KEY_DAMAGE_GIVEN_GAUNTLET;
00380 break;
00381 case MOD_MACHINEGUN:
00382 key_hit = QGR_KEY_HIT_GIVEN_MACHINEGUN;
00383 key_damage = QGR_KEY_DAMAGE_GIVEN_MACHINEGUN;
00384 break;
00385 case MOD_SHOTGUN:
00386 key_hit = QGR_KEY_HIT_GIVEN_SHOTGUN;
00387 key_damage = QGR_KEY_DAMAGE_GIVEN_SHOTGUN;
00388 break;
00389 case MOD_GRENADE:
00390 case MOD_GRENADE_SPLASH:
00391 key_hit = QGR_KEY_HIT_GIVEN_GRENADE;
00392 key_damage = QGR_KEY_DAMAGE_GIVEN_GRENADE;
00393 key_splash = QGR_KEY_SPLASH_GIVEN_GRENADE;
00394 break;
00395 case MOD_ROCKET:
00396 case MOD_ROCKET_SPLASH:
00397 key_hit = QGR_KEY_HIT_GIVEN_ROCKET;
00398 key_damage = QGR_KEY_DAMAGE_GIVEN_ROCKET;
00399 key_splash = QGR_KEY_SPLASH_GIVEN_ROCKET;
00400 break;
00401 case MOD_PLASMA:
00402 case MOD_PLASMA_SPLASH:
00403 key_hit = QGR_KEY_HIT_GIVEN_PLASMA;
00404 key_damage = QGR_KEY_DAMAGE_GIVEN_PLASMA;
00405 key_splash = QGR_KEY_SPLASH_GIVEN_PLASMA;
00406 break;
00407 case MOD_RAILGUN:
00408 key_hit = QGR_KEY_HIT_GIVEN_RAILGUN;
00409 key_damage = QGR_KEY_DAMAGE_GIVEN_RAILGUN;
00410 break;
00411 case MOD_LIGHTNING:
00412 key_hit = QGR_KEY_HIT_GIVEN_LIGHTNING;
00413 key_damage = QGR_KEY_DAMAGE_GIVEN_LIGHTNING;
00414 break;
00415 case MOD_BFG:
00416 case MOD_BFG_SPLASH:
00417 key_hit = QGR_KEY_HIT_GIVEN_BFG;
00418 key_damage = QGR_KEY_DAMAGE_GIVEN_BFG;
00419 key_splash = QGR_KEY_SPLASH_GIVEN_BFG;
00420 break;
00421 case MOD_GRAPPLE:
00422 key_hit = QGR_KEY_HIT_GIVEN_GRAPPLE;
00423 key_damage = QGR_KEY_DAMAGE_GIVEN_GRAPPLE;
00424 break;
00425 default:
00426 key_hit = QGR_KEY_HIT_GIVEN_UNKNOWN;
00427 key_damage = QGR_KEY_DAMAGE_GIVEN_UNKNOWN;
00428 break;
00429 }
00430
00431 // report general and specific hit given
00432 // jwu 8/26/00
00433 // had a case where attacker is 245 which is grnadeshooter attacker is
00434 // g_entities index not necessarilly clientnum
00435 if (g_entities[attacker].client) {
00436 if( new_hit )
00437 {
00438 trap_RankReportInt( attacker, -1, QGR_KEY_HIT_GIVEN, 1, 1 );
00439 trap_RankReportInt( attacker, -1, key_hit, 1, 1 );
00440 }
00441
00442 // report general and specific damage given
00443 trap_RankReportInt( attacker, -1, QGR_KEY_DAMAGE_GIVEN, damage, 1 );
00444 trap_RankReportInt( attacker, -1, key_damage, damage, 1 );
00445
00446 // report general and specific splash given
00447 if( splash != 0 )
00448 {
00449 trap_RankReportInt( attacker, -1, QGR_KEY_SPLASH_GIVEN, splash, 1 );
00450 trap_RankReportInt( attacker, -1, key_splash, splash, 1 );
00451 }
00452 }
00453 }
00454
00455 // friendly fire
00456 if( (attacker != self) &&
00457 OnSameTeam( &(g_entities[self]), &(g_entities[attacker])) &&
00458 (g_entities[attacker].client) )
00459 {
00460 // report teammate hit
00461 if( new_hit )
00462 {
00463 trap_RankReportInt( self, -1, QGR_KEY_TEAMMATE_HIT_TAKEN, 1, 1 );
00464 trap_RankReportInt( attacker, -1, QGR_KEY_TEAMMATE_HIT_GIVEN, 1,
00465 1 );
00466 }
00467
00468 // report teammate damage
00469 trap_RankReportInt( self, -1, QGR_KEY_TEAMMATE_DAMAGE_TAKEN, damage,
00470 1 );
00471 trap_RankReportInt( attacker, -1, QGR_KEY_TEAMMATE_DAMAGE_GIVEN,
00472 damage, 1 );
00473
00474 // report teammate splash
00475 if( splash != 0 )
00476 {
00477 trap_RankReportInt( self, -1, QGR_KEY_TEAMMATE_SPLASH_TAKEN,
00478 splash, 1 );
00479 trap_RankReportInt( attacker, -1, QGR_KEY_TEAMMATE_SPLASH_GIVEN,
00480 splash, 1 );
00481 }
00482 }
00483 }
|
Here is the call graph for this function:

|
||||||||||||
|
Definition at line 172 of file g_rankings.c. References level, QGR_KEY_SHOT_FIRED, QGR_KEY_SHOT_FIRED_BFG, QGR_KEY_SHOT_FIRED_GRAPPLE, QGR_KEY_SHOT_FIRED_GRENADE, QGR_KEY_SHOT_FIRED_LIGHTNING, QGR_KEY_SHOT_FIRED_MACHINEGUN, QGR_KEY_SHOT_FIRED_PLASMA, QGR_KEY_SHOT_FIRED_RAILGUN, QGR_KEY_SHOT_FIRED_ROCKET, QGR_KEY_SHOT_FIRED_SHOTGUN, level_locals_t::warmupTime, WP_BFG, WP_GRAPPLING_HOOK, WP_GRENADE_LAUNCHER, WP_LIGHTNING, WP_MACHINEGUN, WP_PLASMAGUN, WP_RAILGUN, WP_ROCKET_LAUNCHER, and WP_SHOTGUN. 00173 {
00174 if( level.warmupTime != 0 )
00175 {
00176 // no reports during warmup period
00177 return;
00178 }
00179
00180 if( weapon == WP_GAUNTLET )
00181 {
00182 // the gauntlet only "fires" when it actually hits something
00183 return;
00184 }
00185
00186 trap_RankReportInt( self, -1, QGR_KEY_SHOT_FIRED, 1, 1 );
00187
00188 switch( weapon )
00189 {
00190 case WP_MACHINEGUN:
00191 trap_RankReportInt( self, -1, QGR_KEY_SHOT_FIRED_MACHINEGUN, 1, 1 );
00192 break;
00193 case WP_SHOTGUN:
00194 trap_RankReportInt( self, -1, QGR_KEY_SHOT_FIRED_SHOTGUN, 1, 1 );
00195 break;
00196 case WP_GRENADE_LAUNCHER:
00197 trap_RankReportInt( self, -1, QGR_KEY_SHOT_FIRED_GRENADE, 1, 1 );
00198 break;
00199 case WP_ROCKET_LAUNCHER:
00200 trap_RankReportInt( self, -1, QGR_KEY_SHOT_FIRED_ROCKET, 1, 1 );
00201 break;
00202 case WP_LIGHTNING:
00203 trap_RankReportInt( self, -1, QGR_KEY_SHOT_FIRED_LIGHTNING, 1, 1 );
00204 break;
00205 case WP_RAILGUN:
00206 trap_RankReportInt( self, -1, QGR_KEY_SHOT_FIRED_RAILGUN, 1, 1 );
00207 break;
00208 case WP_PLASMAGUN:
00209 trap_RankReportInt( self, -1, QGR_KEY_SHOT_FIRED_PLASMA, 1, 1 );
00210 break;
00211 case WP_BFG:
00212 trap_RankReportInt( self, -1, QGR_KEY_SHOT_FIRED_BFG, 1, 1 );
00213 break;
00214 case WP_GRAPPLING_HOOK:
00215 trap_RankReportInt( self, -1, QGR_KEY_SHOT_FIRED_GRAPPLE, 1, 1 );
00216 break;
00217 default:
00218 break;
00219 }
00220 }
|
|
|
Definition at line 1067 of file g_rankings.c. References G_RankClientDisconnect(), i, level, level_locals_t::maxclients, QGR_KEY_DEDICATED, QGR_KEY_FRAGLIMIT, QGR_KEY_GAMETYPE, QGR_KEY_HOSTNAME, QGR_KEY_MAP, QGR_KEY_MAXCLIENTS, QGR_KEY_MAXPING, QGR_KEY_MAXRATE, QGR_KEY_MINPING, QGR_KEY_MOD, QGR_KEY_TIMELIMIT, QGR_KEY_VERSION, trap_Cvar_VariableIntegerValue(), trap_Cvar_VariableStringBuffer(), and level_locals_t::warmupTime. 01068 {
01069 int i;
01070 char str[MAX_INFO_VALUE];
01071 int num;
01072
01073 if( level.warmupTime != 0 )
01074 {
01075 // no reports during warmup period
01076 return;
01077 }
01078
01079 for( i = 0; i < level.maxclients; i++ )
01080 {
01081 if( trap_RankUserStatus( i ) == QGR_STATUS_ACTIVE )
01082 {
01083 G_RankClientDisconnect( i );
01084 }
01085 }
01086
01087 // hostname
01088 trap_Cvar_VariableStringBuffer( "sv_hostname", str, sizeof(str) );
01089 trap_RankReportStr( -1, -1, QGR_KEY_HOSTNAME, str );
01090
01091 // map
01092 trap_Cvar_VariableStringBuffer( "mapname", str, sizeof(str) );
01093 trap_RankReportStr( -1, -1, QGR_KEY_MAP, str );
01094
01095 // mod
01096 trap_Cvar_VariableStringBuffer( "fs_game", str, sizeof(str) );
01097 trap_RankReportStr( -1, -1, QGR_KEY_MOD, str );
01098
01099 // gametype
01100 num = trap_Cvar_VariableIntegerValue("g_gametype");
01101 trap_RankReportInt( -1, -1, QGR_KEY_GAMETYPE, num, 0 );
01102
01103 // fraglimit
01104 num = trap_Cvar_VariableIntegerValue("fraglimit");
01105 trap_RankReportInt( -1, -1, QGR_KEY_FRAGLIMIT, num, 0 );
01106
01107 // timelimit
01108 num = trap_Cvar_VariableIntegerValue("timelimit");
01109 trap_RankReportInt( -1, -1, QGR_KEY_TIMELIMIT, num, 0 );
01110
01111 // maxclients
01112 num = trap_Cvar_VariableIntegerValue("sv_maxclients");
01113 trap_RankReportInt( -1, -1, QGR_KEY_MAXCLIENTS, num, 0 );
01114
01115 // maxrate
01116 num = trap_Cvar_VariableIntegerValue("sv_maxRate");
01117 trap_RankReportInt( -1, -1, QGR_KEY_MAXRATE, num, 0 );
01118
01119 // minping
01120 num = trap_Cvar_VariableIntegerValue("sv_minPing");
01121 trap_RankReportInt( -1, -1, QGR_KEY_MINPING, num, 0 );
01122
01123 // maxping
01124 num = trap_Cvar_VariableIntegerValue("sv_maxPing");
01125 trap_RankReportInt( -1, -1, QGR_KEY_MAXPING, num, 0 );
01126
01127 // dedicated
01128 num = trap_Cvar_VariableIntegerValue("dedicated");
01129 trap_RankReportInt( -1, -1, QGR_KEY_DEDICATED, num, 0 );
01130
01131 // version
01132 trap_Cvar_VariableStringBuffer( "version", str, sizeof(str) );
01133 trap_RankReportStr( -1, -1, QGR_KEY_VERSION, str );
01134 }
|
Here is the call graph for this function:

|
||||||||||||||||
|
Definition at line 757 of file g_rankings.c. References level, QGR_KEY_BOXES, QGR_KEY_BOXES_BFG_AMMO, QGR_KEY_BOXES_BULLETS, QGR_KEY_BOXES_CELLS, QGR_KEY_BOXES_GRENADES, QGR_KEY_BOXES_LG_AMMO, QGR_KEY_BOXES_ROCKETS, QGR_KEY_BOXES_SHELLS, QGR_KEY_BOXES_SLUGS, QGR_KEY_ROUNDS, QGR_KEY_ROUNDS_BFG_AMMO, QGR_KEY_ROUNDS_BULLETS, QGR_KEY_ROUNDS_CELLS, QGR_KEY_ROUNDS_GRENADES, QGR_KEY_ROUNDS_LG_AMMO, QGR_KEY_ROUNDS_ROCKETS, QGR_KEY_ROUNDS_SHELLS, QGR_KEY_ROUNDS_SLUGS, level_locals_t::warmupTime, WP_BFG, WP_GRENADE_LAUNCHER, WP_LIGHTNING, WP_MACHINEGUN, WP_PLASMAGUN, WP_RAILGUN, WP_ROCKET_LAUNCHER, and WP_SHOTGUN. 00758 {
00759 if( level.warmupTime != 0 )
00760 {
00761 // no reports during warmup period
00762 return;
00763 }
00764
00765 trap_RankReportInt( self, -1, QGR_KEY_BOXES, 1, 1 );
00766 trap_RankReportInt( self, -1, QGR_KEY_ROUNDS, quantity, 1 );
00767
00768 switch( weapon )
00769 {
00770 case WP_MACHINEGUN:
00771 trap_RankReportInt( self, -1, QGR_KEY_BOXES_BULLETS, 1, 1 );
00772 trap_RankReportInt( self, -1, QGR_KEY_ROUNDS_BULLETS, quantity, 1 );
00773 break;
00774 case WP_SHOTGUN:
00775 trap_RankReportInt( self, -1, QGR_KEY_BOXES_SHELLS, 1, 1 );
00776 trap_RankReportInt( self, -1, QGR_KEY_ROUNDS_SHELLS, quantity, 1 );
00777 break;
00778 case WP_GRENADE_LAUNCHER:
00779 trap_RankReportInt( self, -1, QGR_KEY_BOXES_GRENADES, 1, 1 );
00780 trap_RankReportInt( self, -1, QGR_KEY_ROUNDS_GRENADES, quantity, 1 );
00781 break;
00782 case WP_ROCKET_LAUNCHER:
00783 trap_RankReportInt( self, -1, QGR_KEY_BOXES_ROCKETS, 1, 1 );
00784 trap_RankReportInt( self, -1, QGR_KEY_ROUNDS_ROCKETS, quantity, 1 );
00785 break;
00786 case WP_LIGHTNING:
00787 trap_RankReportInt( self, -1, QGR_KEY_BOXES_LG_AMMO, 1, 1 );
00788 trap_RankReportInt( self, -1, QGR_KEY_ROUNDS_LG_AMMO, quantity, 1 );
00789 break;
00790 case WP_RAILGUN:
00791 trap_RankReportInt( self, -1, QGR_KEY_BOXES_SLUGS, 1, 1 );
00792 trap_RankReportInt( self, -1, QGR_KEY_ROUNDS_SLUGS, quantity, 1 );
00793 break;
00794 case WP_PLASMAGUN:
00795 trap_RankReportInt( self, -1, QGR_KEY_BOXES_CELLS, 1, 1 );
00796 trap_RankReportInt( self, -1, QGR_KEY_ROUNDS_CELLS, quantity, 1 );
00797 break;
00798 case WP_BFG:
00799 trap_RankReportInt( self, -1, QGR_KEY_BOXES_BFG_AMMO, 1, 1 );
00800 trap_RankReportInt( self, -1, QGR_KEY_ROUNDS_BFG_AMMO, quantity, 1 );
00801 break;
00802 default:
00803 break;
00804 }
00805 }
|
|
||||||||||||
|
Definition at line 847 of file g_rankings.c. References level, QGR_KEY_ARMOR, QGR_KEY_ARMOR_RED, QGR_KEY_ARMOR_SHARD, QGR_KEY_ARMOR_TOTAL, QGR_KEY_ARMOR_YELLOW, and level_locals_t::warmupTime. 00848 {
00849 if( level.warmupTime != 0 )
00850 {
00851 // no reports during warmup period
00852 return;
00853 }
00854
00855 trap_RankReportInt( self, -1, QGR_KEY_ARMOR, 1, 1 );
00856 trap_RankReportInt( self, -1, QGR_KEY_ARMOR_TOTAL, quantity, 1 );
00857
00858 switch( quantity )
00859 {
00860 case 5:
00861 trap_RankReportInt( self, -1, QGR_KEY_ARMOR_SHARD, 1, 1 );
00862 break;
00863 case 50:
00864 trap_RankReportInt( self, -1, QGR_KEY_ARMOR_YELLOW, 1, 1 );
00865 break;
00866 case 100:
00867 trap_RankReportInt( self, -1, QGR_KEY_ARMOR_RED, 1, 1 );
00868 break;
00869 default:
00870 break;
00871 }
00872 }
|
|
||||||||||||
|
Definition at line 812 of file g_rankings.c. References level, QGR_KEY_HEALTH, QGR_KEY_HEALTH_25, QGR_KEY_HEALTH_5, QGR_KEY_HEALTH_50, QGR_KEY_HEALTH_MEGA, QGR_KEY_HEALTH_TOTAL, and level_locals_t::warmupTime. 00813 {
00814 if( level.warmupTime != 0 )
00815 {
00816 // no reports during warmup period
00817 return;
00818 }
00819
00820 trap_RankReportInt( self, -1, QGR_KEY_HEALTH, 1, 1 );
00821 trap_RankReportInt( self, -1, QGR_KEY_HEALTH_TOTAL, quantity, 1 );
00822
00823 switch( quantity )
00824 {
00825 case 5:
00826 trap_RankReportInt( self, -1, QGR_KEY_HEALTH_5, 1, 1 );
00827 break;
00828 case 25:
00829 trap_RankReportInt( self, -1, QGR_KEY_HEALTH_25, 1, 1 );
00830 break;
00831 case 50:
00832 trap_RankReportInt( self, -1, QGR_KEY_HEALTH_50, 1, 1 );
00833 break;
00834 case 100:
00835 trap_RankReportInt( self, -1, QGR_KEY_HEALTH_MEGA, 1, 1 );
00836 break;
00837 default:
00838 break;
00839 }
00840 }
|
|
||||||||||||
|
Definition at line 926 of file g_rankings.c. References HI_MEDKIT, HI_TELEPORTER, level, QGR_KEY_MEDKIT, QGR_KEY_TELEPORTER, and level_locals_t::warmupTime. 00927 {
00928 if( level.warmupTime != 0 )
00929 {
00930 // no reports during warmup period
00931 return;
00932 }
00933
00934 switch( holdable )
00935 {
00936 case HI_MEDKIT:
00937 trap_RankReportInt( self, -1, QGR_KEY_MEDKIT, 1, 1 );
00938 break;
00939 case HI_TELEPORTER:
00940 trap_RankReportInt( self, -1, QGR_KEY_TELEPORTER, 1, 1 );
00941 break;
00942 default:
00943 break;
00944 }
00945 }
|
|
||||||||||||
|
Definition at line 879 of file g_rankings.c. References level, PW_BATTLESUIT, PW_FLIGHT, PW_HASTE, PW_INVIS, PW_QUAD, PW_REGEN, QGR_KEY_FLAG_PICKUP, QGR_KEY_FLIGHT, QGR_KEY_HASTE, QGR_KEY_INVIS, QGR_KEY_POWERUP, QGR_KEY_QUAD, QGR_KEY_REGEN, QGR_KEY_SUIT, and level_locals_t::warmupTime. 00880 {
00881 if( level.warmupTime != 0 )
00882 {
00883 // no reports during warmup period
00884 return;
00885 }
00886
00887 // ctf flags are treated as powerups
00888 if( (powerup == PW_REDFLAG) || (powerup == PW_BLUEFLAG) )
00889 {
00890 trap_RankReportInt( self, -1, QGR_KEY_FLAG_PICKUP, 1, 1 );
00891 return;
00892 }
00893
00894 trap_RankReportInt( self, -1, QGR_KEY_POWERUP, 1, 1 );
00895
00896 switch( powerup )
00897 {
00898 case PW_QUAD:
00899 trap_RankReportInt( self, -1, QGR_KEY_QUAD, 1, 1 );
00900 break;
00901 case PW_BATTLESUIT:
00902 trap_RankReportInt( self, -1, QGR_KEY_SUIT, 1, 1 );
00903 break;
00904 case PW_HASTE:
00905 trap_RankReportInt( self, -1, QGR_KEY_HASTE, 1, 1 );
00906 break;
00907 case PW_INVIS:
00908 trap_RankReportInt( self, -1, QGR_KEY_INVIS, 1, 1 );
00909 break;
00910 case PW_REGEN:
00911 trap_RankReportInt( self, -1, QGR_KEY_REGEN, 1, 1 );
00912 break;
00913 case PW_FLIGHT:
00914 trap_RankReportInt( self, -1, QGR_KEY_FLIGHT, 1, 1 );
00915 break;
00916 default:
00917 break;
00918 }
00919 }
|
|
||||||||||||
|
Definition at line 706 of file g_rankings.c. References level, QGR_KEY_PICKUP_BFG, QGR_KEY_PICKUP_GAUNTLET, QGR_KEY_PICKUP_GRAPPLE, QGR_KEY_PICKUP_GRENADE, QGR_KEY_PICKUP_LIGHTNING, QGR_KEY_PICKUP_MACHINEGUN, QGR_KEY_PICKUP_PLASMA, QGR_KEY_PICKUP_RAILGUN, QGR_KEY_PICKUP_ROCKET, QGR_KEY_PICKUP_SHOTGUN, QGR_KEY_PICKUP_WEAPON, level_locals_t::warmupTime, WP_BFG, WP_GAUNTLET, WP_GRAPPLING_HOOK, WP_GRENADE_LAUNCHER, WP_LIGHTNING, WP_MACHINEGUN, WP_PLASMAGUN, WP_RAILGUN, WP_ROCKET_LAUNCHER, and WP_SHOTGUN. 00707 {
00708 if( level.warmupTime != 0 )
00709 {
00710 // no reports during warmup period
00711 return;
00712 }
00713
00714 trap_RankReportInt( self, -1, QGR_KEY_PICKUP_WEAPON, 1, 1 );
00715 switch( weapon )
00716 {
00717 case WP_GAUNTLET:
00718 trap_RankReportInt( self, -1, QGR_KEY_PICKUP_GAUNTLET, 1, 1 );
00719 break;
00720 case WP_MACHINEGUN:
00721 trap_RankReportInt( self, -1, QGR_KEY_PICKUP_MACHINEGUN, 1, 1 );
00722 break;
00723 case WP_SHOTGUN:
00724 trap_RankReportInt( self, -1, QGR_KEY_PICKUP_SHOTGUN, 1, 1 );
00725 break;
00726 case WP_GRENADE_LAUNCHER:
00727 trap_RankReportInt( self, -1, QGR_KEY_PICKUP_GRENADE, 1, 1 );
00728 break;
00729 case WP_ROCKET_LAUNCHER:
00730 trap_RankReportInt( self, -1, QGR_KEY_PICKUP_ROCKET, 1, 1 );
00731 break;
00732 case WP_LIGHTNING:
00733 trap_RankReportInt( self, -1, QGR_KEY_PICKUP_LIGHTNING, 1, 1 );
00734 break;
00735 case WP_RAILGUN:
00736 trap_RankReportInt( self, -1, QGR_KEY_PICKUP_RAILGUN, 1, 1 );
00737 break;
00738 case WP_PLASMAGUN:
00739 trap_RankReportInt( self, -1, QGR_KEY_PICKUP_PLASMA, 1, 1 );
00740 break;
00741 case WP_BFG:
00742 trap_RankReportInt( self, -1, QGR_KEY_PICKUP_BFG, 1, 1 );
00743 break;
00744 case WP_GRAPPLING_HOOK:
00745 trap_RankReportInt( self, -1, QGR_KEY_PICKUP_GRAPPLE, 1, 1 );
00746 break;
00747 default:
00748 break;
00749 }
00750 }
|
|
||||||||||||||||
|
Definition at line 490 of file g_rankings.c. References level, MOD_BFG, MOD_BFG_SPLASH, MOD_CRUSH, MOD_FALLING, MOD_GAUNTLET, MOD_GRAPPLE, MOD_GRENADE, MOD_GRENADE_SPLASH, MOD_LAVA, MOD_LIGHTNING, MOD_MACHINEGUN, MOD_PLASMA, MOD_PLASMA_SPLASH, MOD_RAILGUN, MOD_ROCKET, MOD_ROCKET_SPLASH, MOD_SHOTGUN, MOD_SLIME, MOD_SUICIDE, MOD_TELEFRAG, MOD_TRIGGER_HURT, MOD_WATER, p2, QGR_KEY_CRUSH, QGR_KEY_FALLING, QGR_KEY_FRAG, QGR_KEY_FRAG_BFG, QGR_KEY_FRAG_GAUNTLET, QGR_KEY_FRAG_GRAPPLE, QGR_KEY_FRAG_GRENADE, QGR_KEY_FRAG_LIGHTNING, QGR_KEY_FRAG_MACHINEGUN, QGR_KEY_FRAG_PLASMA, QGR_KEY_FRAG_RAILGUN, QGR_KEY_FRAG_ROCKET, QGR_KEY_FRAG_SHOTGUN, QGR_KEY_FRAG_UNKNOWN, QGR_KEY_HAZARD_DEATH, QGR_KEY_HAZARD_MISC, QGR_KEY_LAVA, QGR_KEY_SLIME, QGR_KEY_SUICIDE, QGR_KEY_SUICIDE_BFG, QGR_KEY_SUICIDE_CMD, QGR_KEY_SUICIDE_GAUNTLET, QGR_KEY_SUICIDE_GRAPPLE, QGR_KEY_SUICIDE_GRENADE, QGR_KEY_SUICIDE_LIGHTNING, QGR_KEY_SUICIDE_MACHINEGUN, QGR_KEY_SUICIDE_PLASMA, QGR_KEY_SUICIDE_RAILGUN, QGR_KEY_SUICIDE_ROCKET, QGR_KEY_SUICIDE_SHOTGUN, QGR_KEY_SUICIDE_UNKNOWN, QGR_KEY_TELEFRAG, QGR_KEY_TRIGGER_HURT, QGR_KEY_WATER, and level_locals_t::warmupTime. 00491 {
00492 int p1;
00493 int p2;
00494
00495 if( level.warmupTime != 0 )
00496 {
00497 // no reports during warmup period
00498 return;
00499 }
00500
00501 if( attacker == ENTITYNUM_WORLD )
00502 {
00503 p1 = self;
00504 p2 = -1;
00505
00506 trap_RankReportInt( p1, p2, QGR_KEY_HAZARD_DEATH, 1, 1 );
00507
00508 switch( means_of_death )
00509 {
00510 case MOD_WATER:
00511 trap_RankReportInt( p1, p2, QGR_KEY_WATER, 1, 1 );
00512 break;
00513 case MOD_SLIME:
00514 trap_RankReportInt( p1, p2, QGR_KEY_SLIME, 1, 1 );
00515 break;
00516 case MOD_LAVA:
00517 trap_RankReportInt( p1, p2, QGR_KEY_LAVA, 1, 1 );
00518 break;
00519 case MOD_CRUSH:
00520 trap_RankReportInt( p1, p2, QGR_KEY_CRUSH, 1, 1 );
00521 break;
00522 case MOD_TELEFRAG:
00523 trap_RankReportInt( p1, p2, QGR_KEY_TELEFRAG, 1, 1 );
00524 break;
00525 case MOD_FALLING:
00526 trap_RankReportInt( p1, p2, QGR_KEY_FALLING, 1, 1 );
00527 break;
00528 case MOD_SUICIDE:
00529 trap_RankReportInt( p1, p2, QGR_KEY_SUICIDE_CMD, 1, 1 );
00530 break;
00531 case MOD_TRIGGER_HURT:
00532 trap_RankReportInt( p1, p2, QGR_KEY_TRIGGER_HURT, 1, 1 );
00533 break;
00534 default:
00535 trap_RankReportInt( p1, p2, QGR_KEY_HAZARD_MISC, 1, 1 );
00536 break;
00537 }
00538 }
00539 else if( attacker == self )
00540 {
00541 p1 = self;
00542 p2 = -1;
00543
00544 trap_RankReportInt( p1, p2, QGR_KEY_SUICIDE, 1, 1 );
00545
00546 switch( means_of_death )
00547 {
00548 case MOD_GAUNTLET:
00549 trap_RankReportInt( p1, p2, QGR_KEY_SUICIDE_GAUNTLET, 1, 1 );
00550 break;
00551 case MOD_MACHINEGUN:
00552 trap_RankReportInt( p1, p2, QGR_KEY_SUICIDE_MACHINEGUN, 1, 1 );
00553 break;
00554 case MOD_SHOTGUN:
00555 trap_RankReportInt( p1, p2, QGR_KEY_SUICIDE_SHOTGUN, 1, 1 );
00556 break;
00557 case MOD_GRENADE:
00558 case MOD_GRENADE_SPLASH:
00559 trap_RankReportInt( p1, p2, QGR_KEY_SUICIDE_GRENADE, 1, 1 );
00560 break;
00561 case MOD_ROCKET:
00562 case MOD_ROCKET_SPLASH:
00563 trap_RankReportInt( p1, p2, QGR_KEY_SUICIDE_ROCKET, 1, 1 );
00564 break;
00565 case MOD_PLASMA:
00566 case MOD_PLASMA_SPLASH:
00567 trap_RankReportInt( p1, p2, QGR_KEY_SUICIDE_PLASMA, 1, 1 );
00568 break;
00569 case MOD_RAILGUN:
00570 trap_RankReportInt( p1, p2, QGR_KEY_SUICIDE_RAILGUN, 1, 1 );
00571 break;
00572 case MOD_LIGHTNING:
00573 trap_RankReportInt( p1, p2, QGR_KEY_SUICIDE_LIGHTNING, 1, 1 );
00574 break;
00575 case MOD_BFG:
00576 case MOD_BFG_SPLASH:
00577 trap_RankReportInt( p1, p2, QGR_KEY_SUICIDE_BFG, 1, 1 );
00578 break;
00579 case MOD_GRAPPLE:
00580 trap_RankReportInt( p1, p2, QGR_KEY_SUICIDE_GRAPPLE, 1, 1 );
00581 break;
00582 default:
00583 trap_RankReportInt( p1, p2, QGR_KEY_SUICIDE_UNKNOWN, 1, 1 );
00584 break;
00585 }
00586 }
00587 else
00588 {
00589 p1 = attacker;
00590 p2 = self;
00591
00592 trap_RankReportInt( p1, p2, QGR_KEY_FRAG, 1, 1 );
00593
00594 switch( means_of_death )
00595 {
00596 case MOD_GAUNTLET:
00597 trap_RankReportInt( p1, p2, QGR_KEY_FRAG_GAUNTLET, 1, 1 );
00598 break;
00599 case MOD_MACHINEGUN:
00600 trap_RankReportInt( p1, p2, QGR_KEY_FRAG_MACHINEGUN, 1, 1 );
00601 break;
00602 case MOD_SHOTGUN:
00603 trap_RankReportInt( p1, p2, QGR_KEY_FRAG_SHOTGUN, 1, 1 );
00604 break;
00605 case MOD_GRENADE:
00606 case MOD_GRENADE_SPLASH:
00607 trap_RankReportInt( p1, p2, QGR_KEY_FRAG_GRENADE, 1, 1 );
00608 break;
00609 case MOD_ROCKET:
00610 case MOD_ROCKET_SPLASH:
00611 trap_RankReportInt( p1, p2, QGR_KEY_FRAG_ROCKET, 1, 1 );
00612 break;
00613 case MOD_PLASMA:
00614 case MOD_PLASMA_SPLASH:
00615 trap_RankReportInt( p1, p2, QGR_KEY_FRAG_PLASMA, 1, 1 );
00616 break;
00617 case MOD_RAILGUN:
00618 trap_RankReportInt( p1, p2, QGR_KEY_FRAG_RAILGUN, 1, 1 );
00619 break;
00620 case MOD_LIGHTNING:
00621 trap_RankReportInt( p1, p2, QGR_KEY_FRAG_LIGHTNING, 1, 1 );
00622 break;
00623 case MOD_BFG:
00624 case MOD_BFG_SPLASH:
00625 trap_RankReportInt( p1, p2, QGR_KEY_FRAG_BFG, 1, 1 );
00626 break;
00627 case MOD_GRAPPLE:
00628 trap_RankReportInt( p1, p2, QGR_KEY_FRAG_GRAPPLE, 1, 1 );
00629 break;
00630 default:
00631 trap_RankReportInt( p1, p2, QGR_KEY_FRAG_UNKNOWN, 1, 1 );
00632 break;
00633 }
00634 }
00635 }
|
|
||||||||||||
|
Definition at line 978 of file g_rankings.c. References EF_AWARD_EXCELLENT, EF_AWARD_IMPRESSIVE, level, QGR_KEY_EXCELLENT, QGR_KEY_IMPRESSIVE, and level_locals_t::warmupTime. 00979 {
00980 if( level.warmupTime != 0 )
00981 {
00982 // no reports during warmup period
00983 return;
00984 }
00985
00986 switch( award )
00987 {
00988 case EF_AWARD_IMPRESSIVE:
00989 trap_RankReportInt( self, -1, QGR_KEY_IMPRESSIVE, 1, 1 );
00990 break;
00991 case EF_AWARD_EXCELLENT:
00992 trap_RankReportInt( self, -1, QGR_KEY_EXCELLENT, 1, 1 );
00993 break;
00994 default:
00995 break;
00996 }
00997 }
|
|
|
Definition at line 32 of file g_rankings.c. References gentity_s::client, entityState_s::clientNum, ClientSpawn(), DeathmatchScoreboardMessage(), clientPersistant_t::enterTime, EXEC_INSERT, g_entities, g_fraglimit, g_gametype, g_timelimit, gentity_t, i, vmCvar_t::integer, level_locals_t::intermissiontime, gentity_s::inuse, j, level, level_locals_t::maxclients, clientPersistant_t::netname, gclient_s::pers, playerState_s::persistant, gclient_s::ps, QGR_KEY_PLAYED_WITH, gentity_s::r, gentity_s::s, gclient_s::sess, clientSession_t::sessionTeam, SetTeam(), clientSession_t::spectatorState, entityShared_t::svFlags, level_locals_t::time, time(), trap_Cvar_Set(), trap_SendConsoleCommand(), trap_SendServerCommand(), and va(). 00033 {
00034 gentity_t* ent;
00035 gentity_t* ent2;
00036 grank_status_t old_status;
00037 grank_status_t status;
00038 int time;
00039 int i;
00040 int j;
00041
00042 if( !trap_RankCheckInit() )
00043 {
00044 trap_RankBegin( GR_GAMEKEY );
00045 }
00046
00047 trap_RankPoll();
00048
00049 if( trap_RankActive() )
00050 {
00051 for( i = 0; i < level.maxclients; i++ )
00052 {
00053 ent = &(g_entities[i]);
00054 if ( !ent->inuse )
00055 continue;
00056 if ( ent->client == NULL )
00057 continue;
00058 if ( ent->r.svFlags & SVF_BOT)
00059 {
00060 // no bots in ranked games
00061 trap_SendConsoleCommand( EXEC_INSERT, va("kick %s\n",
00062 ent->client->pers.netname) );
00063 continue;
00064 }
00065
00066 old_status = ent->client->client_status;
00067 status = trap_RankUserStatus( i );
00068
00069 if( ent->client->client_status != status )
00070 {
00071 // inform client of current status
00072 // not needed for client side log in
00073 trap_SendServerCommand( i, va("rank_status %i\n",status) );
00074 if ( i == 0 )
00075 {
00076 int j = 0;
00077 }
00078 ent->client->client_status = status;
00079 }
00080
00081 switch( status )
00082 {
00083 case QGR_STATUS_NEW:
00084 case QGR_STATUS_SPECTATOR:
00085 if( ent->client->sess.sessionTeam != TEAM_SPECTATOR )
00086 {
00087 ent->client->sess.sessionTeam = TEAM_SPECTATOR;
00088 ent->client->sess.spectatorState = SPECTATOR_FREE;
00089 ClientSpawn( ent );
00090 // make sure by now CS_GRAND rankingsGameID is ready
00091 trap_SendServerCommand( i, va("rank_status %i\n",status) );
00092 trap_SendServerCommand( i, "rank_menu\n" );
00093 }
00094 break;
00095 case QGR_STATUS_NO_USER:
00096 case QGR_STATUS_BAD_PASSWORD:
00097 case QGR_STATUS_TIMEOUT:
00098 case QGR_STATUS_NO_MEMBERSHIP:
00099 case QGR_STATUS_INVALIDUSER:
00100 case QGR_STATUS_ERROR:
00101 if( (ent->r.svFlags & SVF_BOT) == 0 )
00102 {
00103 trap_RankUserReset( ent->s.clientNum );
00104 }
00105 break;
00106 case QGR_STATUS_ACTIVE:
00107 if( (ent->client->sess.sessionTeam == TEAM_SPECTATOR) &&
00108 (g_gametype.integer < GT_TEAM) )
00109 {
00110 SetTeam( ent, "free" );
00111 }
00112
00113 if( old_status != QGR_STATUS_ACTIVE )
00114 {
00115 // player has just become active
00116 for( j = 0; j < level.maxclients; j++ )
00117 {
00118 ent2 = &(g_entities[j]);
00119 if ( !ent2->inuse )
00120 continue;
00121 if ( ent2->client == NULL )
00122 continue;
00123 if ( ent2->r.svFlags & SVF_BOT)
00124 continue;
00125
00126 if( (i != j) && (trap_RankUserStatus( j ) == QGR_STATUS_ACTIVE) )
00127 {
00128 trap_RankReportInt( i, j, QGR_KEY_PLAYED_WITH, 1, 0 );
00129 }
00130
00131 // send current scores so the player's rank will show
00132 // up under the crosshair immediately
00133 DeathmatchScoreboardMessage( ent2 );
00134 }
00135 }
00136 break;
00137 default:
00138 break;
00139 }
00140 }
00141
00142 // don't let ranked games last forever
00143 if( ((g_fraglimit.integer == 0) || (g_fraglimit.integer > 100)) &&
00144 ((g_timelimit.integer == 0) || (g_timelimit.integer > 1000)) )
00145 {
00146 trap_Cvar_Set( "timelimit", "1000" );
00147 }
00148 }
00149
00150 // tell time to clients so they can show current match rating
00151 if( level.intermissiontime == 0 )
00152 {
00153 for( i = 0; i < level.maxclients; i++ )
00154 {
00155 ent = &(g_entities[i]);
00156 if( ent->client == NULL )
00157 {
00158 continue;
00159 }
00160
00161 time = (level.time - ent->client->pers.enterTime) / 1000;
00162 ent->client->ps.persistant[PERS_MATCH_TIME] = time;
00163 }
00164 }
00165 }
|
Here is the call graph for this function:

|
||||||||||||
|
Definition at line 952 of file g_rankings.c. References HI_MEDKIT, HI_TELEPORTER, level, QGR_KEY_MEDKIT_USE, QGR_KEY_TELEPORTER_USE, and level_locals_t::warmupTime. 00953 {
00954 if( level.warmupTime != 0 )
00955 {
00956 // no reports during warmup period
00957 return;
00958 }
00959
00960 switch( holdable )
00961 {
00962 case HI_MEDKIT:
00963 trap_RankReportInt( self, -1, QGR_KEY_MEDKIT_USE, 1, 1 );
00964 break;
00965 case HI_TELEPORTER:
00966 trap_RankReportInt( self, -1, QGR_KEY_TELEPORTER_USE, 1, 1 );
00967 break;
00968 default:
00969 break;
00970 }
00971 }
|
|
||||||||||||
|
Definition at line 1020 of file g_rankings.c. References level, QGR_KEY_TEAM_NAME, and level_locals_t::warmupTime. 01021 {
01022 if( level.warmupTime != 0 )
01023 {
01024 // no reports during warmup period
01025 return;
01026 }
01027
01028 trap_RankReportStr( self, -1, QGR_KEY_TEAM_NAME, team_name );
01029 }
|
|
||||||||||||
|
Definition at line 642 of file g_rankings.c. References gentity_s::client, g_entities, gclient_t, level, QGR_KEY_TIME, QGR_KEY_TIME_BFG, QGR_KEY_TIME_GAUNTLET, QGR_KEY_TIME_GRAPPLE, QGR_KEY_TIME_GRENADE, QGR_KEY_TIME_LIGHTNING, QGR_KEY_TIME_MACHINEGUN, QGR_KEY_TIME_PLASMA, QGR_KEY_TIME_RAILGUN, QGR_KEY_TIME_ROCKET, QGR_KEY_TIME_SHOTGUN, level_locals_t::time, time(), level_locals_t::warmupTime, WP_BFG, WP_GAUNTLET, WP_GRAPPLING_HOOK, WP_GRENADE_LAUNCHER, WP_LIGHTNING, WP_MACHINEGUN, WP_PLASMAGUN, WP_RAILGUN, WP_ROCKET_LAUNCHER, and WP_SHOTGUN. 00643 {
00644 gclient_t* client;
00645 int time;
00646
00647 if( level.warmupTime != 0 )
00648 {
00649 // no reports during warmup period
00650 return;
00651 }
00652
00653 client = g_entities[self].client;
00654 time = (level.time - client->weapon_change_time) / 1000;
00655 client->weapon_change_time = level.time;
00656
00657 if( time <= 0 )
00658 {
00659 return;
00660 }
00661
00662 trap_RankReportInt( self, -1, QGR_KEY_TIME, time, 1 );
00663
00664 switch( weapon )
00665 {
00666 case WP_GAUNTLET:
00667 trap_RankReportInt( self, -1, QGR_KEY_TIME_GAUNTLET, time, 1 );
00668 break;
00669 case WP_MACHINEGUN:
00670 trap_RankReportInt( self, -1, QGR_KEY_TIME_MACHINEGUN, time, 1 );
00671 break;
00672 case WP_SHOTGUN:
00673 trap_RankReportInt( self, -1, QGR_KEY_TIME_SHOTGUN, time, 1 );
00674 break;
00675 case WP_GRENADE_LAUNCHER:
00676 trap_RankReportInt( self, -1, QGR_KEY_TIME_GRENADE, time, 1 );
00677 break;
00678 case WP_ROCKET_LAUNCHER:
00679 trap_RankReportInt( self, -1, QGR_KEY_TIME_ROCKET, time, 1 );
00680 break;
00681 case WP_LIGHTNING:
00682 trap_RankReportInt( self, -1, QGR_KEY_TIME_LIGHTNING, time, 1 );
00683 break;
00684 case WP_RAILGUN:
00685 trap_RankReportInt( self, -1, QGR_KEY_TIME_RAILGUN, time, 1 );
00686 break;
00687 case WP_PLASMAGUN:
00688 trap_RankReportInt( self, -1, QGR_KEY_TIME_PLASMA, time, 1 );
00689 break;
00690 case WP_BFG:
00691 trap_RankReportInt( self, -1, QGR_KEY_TIME_BFG, time, 1 );
00692 break;
00693 case WP_GRAPPLING_HOOK:
00694 trap_RankReportInt( self, -1, QGR_KEY_TIME_GRAPPLE, time, 1 );
00695 break;
00696 default:
00697 break;
00698 }
00699 }
|
Here is the call graph for this function:

1.3.9.1