Annotation of quake2/ctf/g_ctf.h, revision 1.1.1.1

1.1       root        1: 
                      2: #define CTF_VERSION                    1.09b
                      3: #define CTF_VSTRING2(x) #x
                      4: #define CTF_VSTRING(x) CTF_VSTRING2(x)
                      5: #define CTF_STRING_VERSION  CTF_VSTRING(CTF_VERSION)
                      6: 
                      7: #define STAT_CTF_TEAM1_PIC                     17
                      8: #define STAT_CTF_TEAM1_CAPS                    18
                      9: #define STAT_CTF_TEAM2_PIC                     19
                     10: #define STAT_CTF_TEAM2_CAPS                    20
                     11: #define STAT_CTF_FLAG_PIC                      21
                     12: #define STAT_CTF_JOINED_TEAM1_PIC      22
                     13: #define STAT_CTF_JOINED_TEAM2_PIC      23
                     14: #define STAT_CTF_TEAM1_HEADER          24
                     15: #define STAT_CTF_TEAM2_HEADER          25
                     16: #define STAT_CTF_TECH                          26
                     17: #define STAT_CTF_ID_VIEW                       27
                     18: #define STAT_CTF_MATCH                         28
                     19: 
                     20: #define CONFIG_CTF_MATCH (CS_MAXCLIENTS-1)
                     21: 
                     22: typedef enum {
                     23:        CTF_NOTEAM,
                     24:        CTF_TEAM1,
                     25:        CTF_TEAM2
                     26: } ctfteam_t;
                     27: 
                     28: typedef enum {
                     29:        CTF_GRAPPLE_STATE_FLY,
                     30:        CTF_GRAPPLE_STATE_PULL,
                     31:        CTF_GRAPPLE_STATE_HANG
                     32: } ctfgrapplestate_t;
                     33: 
                     34: typedef struct ghost_s {
                     35:        char netname[16];
                     36:        int number;
                     37: 
                     38:        // stats
                     39:        int deaths;
                     40:        int kills;
                     41:        int caps;
                     42:        int basedef;
                     43:        int carrierdef;
                     44: 
                     45:        int code; // ghost code
                     46:        int team; // team
                     47:        int score; // frags at time of disconnect
                     48:        edict_t *ent;
                     49: } ghost_t;
                     50: 
                     51: extern cvar_t *ctf;
                     52: 
                     53: #define CTF_TEAM1_SKIN "ctf_r"
                     54: #define CTF_TEAM2_SKIN "ctf_b"
                     55: 
                     56: #define DF_CTF_FORCEJOIN       131072  
                     57: #define DF_ARMOR_PROTECT       262144
                     58: #define DF_CTF_NO_TECH      524288
                     59: 
                     60: #define CTF_CAPTURE_BONUS              15      // what you get for capture
                     61: #define CTF_TEAM_BONUS                 10      // what your team gets for capture
                     62: #define CTF_RECOVERY_BONUS             1       // what you get for recovery
                     63: #define CTF_FLAG_BONUS                 0       // what you get for picking up enemy flag
                     64: #define CTF_FRAG_CARRIER_BONUS 2       // what you get for fragging enemy flag carrier
                     65: #define CTF_FLAG_RETURN_TIME   40      // seconds until auto return
                     66: 
                     67: #define CTF_CARRIER_DANGER_PROTECT_BONUS       2       // bonus for fraggin someone who has recently hurt your flag carrier
                     68: #define CTF_CARRIER_PROTECT_BONUS                      1       // bonus for fraggin someone while either you or your target are near your flag carrier
                     69: #define CTF_FLAG_DEFENSE_BONUS                         1       // bonus for fraggin someone while either you or your target are near your flag
                     70: #define CTF_RETURN_FLAG_ASSIST_BONUS           1       // awarded for returning a flag that causes a capture to happen almost immediately
                     71: #define CTF_FRAG_CARRIER_ASSIST_BONUS          2       // award for fragging a flag carrier if a capture happens almost immediately
                     72: 
                     73: #define CTF_TARGET_PROTECT_RADIUS                      400     // the radius around an object being defended where a target will be worth extra frags
                     74: #define CTF_ATTACKER_PROTECT_RADIUS                    400     // the radius around an object being defended where an attacker will get extra frags when making kills
                     75: 
                     76: #define CTF_CARRIER_DANGER_PROTECT_TIMEOUT     8
                     77: #define CTF_FRAG_CARRIER_ASSIST_TIMEOUT                10
                     78: #define CTF_RETURN_FLAG_ASSIST_TIMEOUT         10
                     79: 
                     80: #define CTF_AUTO_FLAG_RETURN_TIMEOUT           30      // number of seconds before dropped flag auto-returns
                     81: 
                     82: #define CTF_TECH_TIMEOUT                                       60  // seconds before techs spawn again
                     83: 
                     84: #define CTF_GRAPPLE_SPEED                                      650 // speed of grapple in flight
                     85: #define CTF_GRAPPLE_PULL_SPEED                         650     // speed player is pulled at
                     86: 
                     87: void CTFInit(void);
                     88: void CTFSpawn(void);
                     89: 
                     90: void SP_info_player_team1(edict_t *self);
                     91: void SP_info_player_team2(edict_t *self);
                     92: 
                     93: char *CTFTeamName(int team);
                     94: char *CTFOtherTeamName(int team);
                     95: void CTFAssignSkin(edict_t *ent, char *s);
                     96: void CTFAssignTeam(gclient_t *who);
                     97: edict_t *SelectCTFSpawnPoint (edict_t *ent);
                     98: qboolean CTFPickup_Flag(edict_t *ent, edict_t *other);
                     99: qboolean CTFDrop_Flag(edict_t *ent, gitem_t *item);
                    100: void CTFEffects(edict_t *player);
                    101: void CTFCalcScores(void);
                    102: void SetCTFStats(edict_t *ent);
                    103: void CTFDeadDropFlag(edict_t *self);
                    104: void CTFScoreboardMessage (edict_t *ent, edict_t *killer);
                    105: void CTFTeam_f (edict_t *ent);
                    106: void CTFID_f (edict_t *ent);
                    107: void CTFSay_Team(edict_t *who, char *msg);
                    108: void CTFFlagSetup (edict_t *ent);
                    109: void CTFResetFlag(int ctf_team);
                    110: void CTFFragBonuses(edict_t *targ, edict_t *inflictor, edict_t *attacker);
                    111: void CTFCheckHurtCarrier(edict_t *targ, edict_t *attacker);
                    112: 
                    113: // GRAPPLE
                    114: void CTFWeapon_Grapple (edict_t *ent);
                    115: void CTFPlayerResetGrapple(edict_t *ent);
                    116: void CTFGrapplePull(edict_t *self);
                    117: void CTFResetGrapple(edict_t *self);
                    118: 
                    119: //TECH
                    120: gitem_t *CTFWhat_Tech(edict_t *ent);
                    121: qboolean CTFPickup_Tech (edict_t *ent, edict_t *other);
                    122: void CTFDrop_Tech(edict_t *ent, gitem_t *item);
                    123: void CTFDeadDropTech(edict_t *ent);
                    124: void CTFSetupTechSpawn(void);
                    125: int CTFApplyResistance(edict_t *ent, int dmg);
                    126: int CTFApplyStrength(edict_t *ent, int dmg);
                    127: qboolean CTFApplyStrengthSound(edict_t *ent);
                    128: qboolean CTFApplyHaste(edict_t *ent);
                    129: void CTFApplyHasteSound(edict_t *ent);
                    130: void CTFApplyRegeneration(edict_t *ent);
                    131: qboolean CTFHasRegeneration(edict_t *ent);
                    132: void CTFRespawnTech(edict_t *ent);
                    133: void CTFResetTech(void);
                    134: 
                    135: void CTFOpenJoinMenu(edict_t *ent);
                    136: qboolean CTFStartClient(edict_t *ent);
                    137: void CTFVoteYes(edict_t *ent);
                    138: void CTFVoteNo(edict_t *ent);
                    139: void CTFReady(edict_t *ent);
                    140: void CTFNotReady(edict_t *ent);
                    141: qboolean CTFNextMap(void);
                    142: qboolean CTFMatchSetup(void);
                    143: qboolean CTFMatchOn(void);
                    144: void CTFGhost(edict_t *ent);
                    145: void CTFAdmin(edict_t *ent);
                    146: qboolean CTFInMatch(void);
                    147: void CTFStats(edict_t *ent);
                    148: void CTFWarp(edict_t *ent);
                    149: void CTFBoot(edict_t *ent);
                    150: void CTFPlayerList(edict_t *ent);
                    151: 
                    152: qboolean CTFCheckRules(void);
                    153: 
                    154: void SP_misc_ctf_banner (edict_t *ent);
                    155: void SP_misc_ctf_small_banner (edict_t *ent);
                    156: 
                    157: extern char *ctf_statusbar;
                    158: 
                    159: void UpdateChaseCam(edict_t *ent);
                    160: void ChaseNext(edict_t *ent);
                    161: void ChasePrev(edict_t *ent);
                    162: 
                    163: void CTFObserver(edict_t *ent);
                    164: 
                    165: void SP_trigger_teleport (edict_t *ent);
                    166: void SP_info_teleport_destination (edict_t *ent);

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.