summaryrefslogtreecommitdiff
path: root/src/game/g_local.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/g_local.h')
-rw-r--r--src/game/g_local.h156
1 files changed, 102 insertions, 54 deletions
diff --git a/src/game/g_local.h b/src/game/g_local.h
index 8c65998..2294f6f 100644
--- a/src/game/g_local.h
+++ b/src/game/g_local.h
@@ -53,19 +53,6 @@ typedef struct gclient_s gclient_t;
#define FL_NO_HUMANS 0x00004000 // spawn point just for bots
#define FL_FORCE_GESTURE 0x00008000 // spawn point just for bots
-typedef struct
-{
- qboolean isNB;
- float Area;
- float Height;
-} noBuild_t;
-
-typedef struct
-{
- gentity_t *Marker;
- vec3_t Origin;
-} nbMarkers_t;
-
// movers are things like doors, plats, buttons, etc
typedef enum
{
@@ -256,9 +243,6 @@ struct gentity_s
int lastDamageTime;
int bdnumb; // buildlog entry ID
-
- // For nobuild!
- noBuild_t noBuild;
};
typedef enum
@@ -319,8 +303,8 @@ typedef struct
spectatorState_t spectatorState;
int spectatorClient; // for chasecam and follow mode
int wins, losses; // tournament stats
- qboolean invisible; // for being invisible on the server - ghosts!
qboolean teamLeader; // true when this client is a team leader
+ qboolean invisible; // for being invisible on the server - ghosts!
clientList_t ignoreList;
} clientSession_t;
@@ -356,11 +340,13 @@ typedef struct
short headshots;
int hits;
int hitslocational;
+ short spreekills;
+ short spreefeeds;
+ int spreebleeds;
short teamkills;
int dretchbasytime;
int jetpackusewallwalkusetime;
int timeLastViewed;
- int AllstatstimeLastViewed;
} statsCounters_t;
typedef struct
@@ -426,11 +412,11 @@ typedef struct
int lastFloodTime; // level.time of last flood-limited command
int floodDemerits; // number of flood demerits accumulated
- char lastMessage[ MAX_SAY_TEXT ]; // last message said by this player
- int lastMessageTime; // level.time of last message said by this player
+ int vampireSuckFraction;
- int lastTeamKillTime; // level.time of last team kill
- int teamKillDemerits; // number of team kill demerits accumulated
+ int spreeTime1000;
+ qboolean bleeder;
+ int bleederLastWarn;
vec3_t lastDeathLocation;
char guid[ 33 ];
@@ -446,6 +432,9 @@ typedef struct
int adminLevel;
char adminName[ MAX_NETNAME ];
qboolean designatedBuilder;
+ char chat[ CHAT_MAXCHAN ][ CHAT_MAXPASS ];
+ int karma;
+ int bubbleTime;
qboolean firstConnect; // This is the first map since connect
qboolean useUnlagged;
statsCounters_t statscounters;
@@ -615,6 +604,7 @@ typedef struct armourRegion_s
typedef enum
{
TW_NOT = 0,
+ TW_SOON,
TW_IMMINENT,
TW_PASSED
} timeWarning_t;
@@ -633,6 +623,7 @@ typedef struct buildHistory_s buildHistory_t;
struct buildHistory_s
{
int ID; // persistent ID to aid in specific reverting
+ int time; // time the event occured
gentity_t *ent; // who, NULL if they've disconnected (or aren't an ent)
char name[ MAX_NETNAME ]; // who, saves name if ent is NULL
int buildable; // what
@@ -702,6 +693,7 @@ typedef struct
char teamVoteString[ 2 ][ MAX_STRING_CHARS ];
char teamVoteDisplayString[ 2 ][ MAX_STRING_CHARS ];
int teamVoteTime[ 2 ]; // level.time vote was called
+ int teamVotePassThreshold[ 2 ];
int teamVoteYes[ 2 ];
int teamVoteNo[ 2 ];
int numteamVotingClients[ 2 ]; // set by CalculateRanks
@@ -747,6 +739,14 @@ typedef struct
int humanBuildPoints;
int humanBuildPointsPowered;
+ int alienRecoverBuildPoints;
+ int alienRecoverTime;
+ int humanRecoverBuildPoints;
+ int humanRecoverTime;
+
+ int defaultAlienBuildPoints;
+ int defaultHumanBuildPoints;
+
gentity_t *markedBuildables[ MAX_GENTITIES ];
int numBuildablesForRemoval;
@@ -769,6 +769,10 @@ typedef struct
timeWarning_t timelimitWarning;
int extend_vote_count;
+ int vampireDeath;
+ int vampireDeathBeginTime;
+ timeWarning_t vampireDeathWarning;
+
spawnQueue_t alienSpawnQueue;
spawnQueue_t humanSpawnQueue;
@@ -789,6 +793,8 @@ typedef struct
int pause_ff;
int pause_ffb;
+ int bleeders;
+
int lastCreditedAlien;
int lastCreditedHuman;
@@ -807,12 +813,6 @@ typedef struct
statsCounters_level alienStatsCounters;
statsCounters_level humanStatsCounters;
-
- qboolean noBuilding;
- float nbArea;
- float nbHeight;
-
- nbMarkers_t nbMarkers[ MAX_GENTITIES ];
} level_locals_t;
#define CMD_CHEAT 0x01
@@ -863,6 +863,9 @@ void G_LeaveTeam( gentity_t *self );
void G_ChangeTeam( gentity_t *ent, pTeam_t newTeam );
void G_SanitiseString( char *in, char *out, int len );
void G_PrivateMessage( gentity_t *ent );
+void Cmd_Join_f( gentity_t *ent );
+void Cmd_Part_f( gentity_t *ent );
+void Cmd_Channel_f( gentity_t *ent );
char *G_statsString( statsCounters_t *sc, pTeam_t *pt );
void Cmd_Share_f( gentity_t *ent );
void Cmd_Donate_f( gentity_t *ent );
@@ -871,7 +874,6 @@ void Cmd_Builder_f( gentity_t *ent );
void G_WordWrap( char *buffer, int maxwidth );
void G_CP( gentity_t *ent );
qboolean G_IsMuted( gclient_t *ent );
-qboolean G_TeamKill_Repent( gentity_t *ent );
//
// g_physics.c
@@ -919,8 +921,11 @@ qboolean G_IsPowered( vec3_t origin );
qboolean G_IsDCCBuilt( void );
qboolean G_IsOvermindBuilt( void );
+void G_RecoverBuildPoints( gentity_t *self );
+
void G_BuildableThink( gentity_t *ent, int msec );
qboolean G_BuildableRange( vec3_t origin, float r, buildable_t buildable );
+float G_BuildableRangeClosest( vec3_t origin, float r, buildable_t buildable );
itemBuildError_t G_CanBuild( gentity_t *ent, buildable_t buildable, int distance, vec3_t origin );
qboolean G_BuildingExists( int bclass ) ;
qboolean G_BuildIfValid( gentity_t *ent, buildable_t buildable );
@@ -941,8 +946,16 @@ qboolean G_RevertCanFit( buildHistory_t *bh );
int G_LogBuild( buildHistory_t *new );
int G_CountBuildLog( void );
char *G_FindBuildLogName( int id );
-void G_NobuildSave( void );
-void G_NobuildLoad( void );
+
+void nobuild_init( void );
+void nobuild_add( gentity_t *ent );
+void nobuild_del( gentity_t *ent );
+void nobuild_command( gentity_t *ent, qboolean next_zone, qboolean next_type, float size );
+void nobuild_set( qboolean enable, gentity_t *ent );
+void nobuild_save( void );
+void nobuild_go( gentity_t *ent );
+void nobuild_list( gentity_t *ent );
+int nobuild_check( vec3_t origin );
//
// g_utils.c
@@ -1131,7 +1144,6 @@ void QDECL G_LogPrintf( const char *fmt, ... );
void QDECL G_LogPrintfColoured( const char *fmt, ... );
void QDECL G_LogOnlyPrintf( const char *fmt, ... );
void QDECL G_AdminsPrintf( const char *fmt, ... );
-void QDECL G_WarningsPrintf( char *flag, const char *fmt, ... );
void QDECL G_LogOnlyPrintf( const char *fmt, ... );
void SendScoreboardMessageToAllClients( void );
void QDECL G_Printf( const char *fmt, ... );
@@ -1140,6 +1152,7 @@ void CheckVote( void );
void CheckTeamVote( int teamnum );
void LogExit( const char *string );
int G_TimeTilSuddenDeath( void );
+int G_TimeTilVampireDeath( void );
void CheckMsgTimer( void );
qboolean G_Flood_Limited( gentity_t *ent );
@@ -1205,8 +1218,7 @@ typedef enum
MCV_RANDOM,
MCV_NUMCLIENTS,
MCV_LASTWIN,
- MCV_VOTE,
- MCV_SELECTEDRANDOM
+ MCV_VOTE
} mapConditionVariable_t;
typedef enum
@@ -1268,6 +1280,7 @@ qboolean G_AdvanceMapRotation( void );
qboolean G_StartMapRotation( char *name, qboolean changeMap );
void G_StopMapRotation( void );
qboolean G_MapRotationActive( void );
+qboolean G_CurrentMapIsRotation( void );
void G_InitMapRotations( void );
qboolean G_MapExists( char *name );
int G_GetCurrentMap( int rotation );
@@ -1277,7 +1290,6 @@ qboolean G_IntermissionMapVoteWinner( void );
void G_IntermissionMapVoteMessage( gentity_t *ent );
void G_IntermissionMapVoteMessageAll( void );
void G_IntermissionMapVoteCommand( gentity_t *ent, qboolean next, qboolean choose );
-static qboolean G_GetRandomMap( char *name, int size, int rotation, int map );
//
// g_ptr.c
@@ -1296,6 +1308,11 @@ extern gentity_t g_entities[ MAX_GENTITIES ];
#define FOFS(x) ((int)&(((gentity_t *)0)->x))
+//spree values
+#define SPREE_FEED_VALUE 120
+#define SPREE_FEED_FADE 3
+#define SPREE_FEED_DELAY 50
+
extern vmCvar_t g_dedicated;
extern vmCvar_t g_cheats;
extern vmCvar_t g_maxclients; // allow this many total, including spectators
@@ -1307,11 +1324,16 @@ extern vmCvar_t g_minNameChangePeriod;
extern vmCvar_t g_maxNameChanges;
extern vmCvar_t g_newbieNumbering;
extern vmCvar_t g_newbieNamePrefix;
+extern vmCvar_t g_newbieNoBuild;
+extern vmCvar_t g_newbieNoBuildMessage;
extern vmCvar_t g_timelimit;
extern vmCvar_t g_suddenDeathTime;
extern vmCvar_t g_suddenDeath;
extern vmCvar_t g_suddenDeathMode;
+extern vmCvar_t g_vampireDeathTime;
+extern vmCvar_t g_vampireDeath;
+extern vmCvar_t g_vampireDeathInfo;
extern vmCvar_t g_friendlyFire;
extern vmCvar_t g_friendlyFireHumans;
extern vmCvar_t g_friendlyFireAliens;
@@ -1325,6 +1347,7 @@ extern vmCvar_t g_speed;
extern vmCvar_t g_knockback;
extern vmCvar_t g_quadfactor;
extern vmCvar_t g_inactivity;
+extern vmCvar_t g_inactivityMode;
extern vmCvar_t g_debugMove;
extern vmCvar_t g_debugAlloc;
extern vmCvar_t g_debugDamage;
@@ -1339,6 +1362,7 @@ extern vmCvar_t g_blood;
extern vmCvar_t g_allowVote;
extern vmCvar_t g_requireVoteReasons;
extern vmCvar_t g_voteLimit;
+extern vmCvar_t g_pollVotes;
extern vmCvar_t g_suddenDeathVotePercent;
extern vmCvar_t g_suddenDeathVoteDelay;
extern vmCvar_t g_extendVotesPercent;
@@ -1357,13 +1381,12 @@ extern vmCvar_t g_customVote8;
extern vmCvar_t g_customVotePercent;
extern vmCvar_t g_mapVotesPercent;
extern vmCvar_t g_mapRotationVote;
-extern vmCvar_t g_extendVotesPercent;
-extern vmCvar_t g_extendVotesTime;
-extern vmCvar_t g_extendVotesCount;
extern vmCvar_t g_readyPercent;
extern vmCvar_t g_designateVotes;
extern vmCvar_t g_teamAutoJoin;
extern vmCvar_t g_teamForceBalance;
+extern vmCvar_t g_popularMaps;
+extern vmCvar_t g_popularMapsVotePercent;
extern vmCvar_t g_banIPs;
extern vmCvar_t g_filterBan;
extern vmCvar_t g_smoothClients;
@@ -1396,6 +1419,9 @@ extern vmCvar_t g_unlagged;
extern vmCvar_t g_disabledEquipment;
extern vmCvar_t g_disabledClasses;
extern vmCvar_t g_disabledBuildables;
+extern vmCvar_t g_buildPointsRecoverRate;
+extern vmCvar_t g_dynamicBuildPoints;
+extern vmCvar_t g_instantBuild;
extern vmCvar_t g_markDeconstruct;
extern vmCvar_t g_markDeconstructMode;
@@ -1405,12 +1431,13 @@ extern vmCvar_t g_debugMapRotation;
extern vmCvar_t g_currentMapRotation;
extern vmCvar_t g_currentMap;
extern vmCvar_t g_nextMap;
+extern vmCvar_t g_idleMapSwitch;
extern vmCvar_t g_initialMapRotation;
extern vmCvar_t g_chatTeamPrefix;
+extern vmCvar_t g_sayAreaRange;
extern vmCvar_t g_actionPrefix;
extern vmCvar_t g_floodMaxDemerits;
extern vmCvar_t g_floodMinTime;
-extern vmCvar_t g_spamTime;
extern vmCvar_t g_shove;
@@ -1426,27 +1453,39 @@ extern vmCvar_t g_adminSayFilter;
extern vmCvar_t g_adminNameProtect;
extern vmCvar_t g_adminTempMute;
extern vmCvar_t g_adminTempBan;
+extern vmCvar_t g_adminBanRepeatKicks;
extern vmCvar_t g_adminMaxBan;
extern vmCvar_t g_adminTempSpec;
extern vmCvar_t g_adminMapLog;
+extern vmCvar_t g_adminRegisterLevel;
+extern vmCvar_t g_adminRegisterAdminPass;
+extern vmCvar_t g_adminRegisterAdminLevel;
extern vmCvar_t g_minLevelToJoinTeam;
-extern vmCvar_t g_minDeconLevel;
-extern vmCvar_t g_minDeconAffectsMark;
extern vmCvar_t g_forceAutoSelect;
extern vmCvar_t g_minLevelToSpecMM1;
extern vmCvar_t g_banNotice;
+extern vmCvar_t g_karma;
+extern vmCvar_t g_chat;
+extern vmCvar_t g_adminExpireTime;
extern vmCvar_t g_devmapKillerHP;
extern vmCvar_t g_killerHP;
+extern vmCvar_t g_maxGhosts;
+
extern vmCvar_t g_privateMessages;
-extern vmCvar_t g_fullIgnore;
extern vmCvar_t g_decolourLogfiles;
extern vmCvar_t g_publicSayadmins;
extern vmCvar_t g_myStats;
extern vmCvar_t g_teamStatus;
extern vmCvar_t g_antiSpawnBlock;
+extern vmCvar_t g_killingSpree;
+extern vmCvar_t g_feedingSpree;
+extern vmCvar_t g_bleedingSpree;
+extern vmCvar_t g_bleedingSpreeKick;
+extern vmCvar_t g_autoRevert;
+
extern vmCvar_t g_dretchPunt;
extern vmCvar_t g_devmapNoGod;
@@ -1458,6 +1497,11 @@ extern vmCvar_t g_slapDamage;
extern vmCvar_t g_voteMinTime;
extern vmCvar_t g_mapvoteMaxTime;
extern vmCvar_t g_votableMaps;
+extern vmCvar_t g_defeatVoteMinTime;
+
+extern vmCvar_t g_practiceText;
+extern vmCvar_t g_practiceCount;
+extern vmCvar_t g_freeCredits;
extern vmCvar_t g_msg;
extern vmCvar_t g_msgTime;
@@ -1466,23 +1510,27 @@ extern vmCvar_t g_welcomeMsgTime;
extern vmCvar_t g_buildLogMaxLength;
-extern vmCvar_t g_AllStats;
-extern vmCvar_t g_AllStatsTime;
+extern vmCvar_t g_turretAim;
+
+extern vmCvar_t g_modBuildableHealth; // Buildable health
+extern vmCvar_t g_modBuildableSpeed; // Buildable fire rate
+extern vmCvar_t g_modBuildableCount; // Number of OMs/RCs allowed
+extern vmCvar_t g_modHumanStamina; // Human stamina
+extern vmCvar_t g_modHumanHealth; // Human health
+extern vmCvar_t g_modAlienHealth; // Alien health
+extern vmCvar_t g_modAlienRegenRange; // Alien regen rate is based on distance from base
+extern vmCvar_t g_modHumanRate; // Human fire rate
+extern vmCvar_t g_modAlienRate; // Alien fire rate
+extern vmCvar_t g_modWeaponAmmo; // Weapon ammo per clip
+extern vmCvar_t g_modWeaponReload; // Weapon reload time
+extern vmCvar_t g_modTurretAngle; // Allow high turret build angles
+extern vmCvar_t g_modStage3Strength; // Alter stage 3 buildables
+extern vmCvar_t g_modMainStrength; // Damage/range modifier for Reactor and Overmind
extern vmCvar_t mod_jetpackFuel;
extern vmCvar_t mod_jetpackConsume;
extern vmCvar_t mod_jetpackRegen;
-extern vmCvar_t g_adminExpireTime;
-
-extern vmCvar_t g_autoGhost;
-
-extern vmCvar_t g_teamKillThreshold;
-
-extern vmCvar_t g_aimbotAdvertBan;
-extern vmCvar_t g_aimbotAdvertBanTime;
-extern vmCvar_t g_aimbotAdvertBanReason;
-
void trap_Printf( const char *fmt );
void trap_Error( const char *fmt );
int trap_Milliseconds( void );