Added in all the various features that i planned for revision 48, this time for real. See that Log.
Decreased feeding radius.
This commit is contained in:
1 parent
1e45e264c8
commit
0026746947
10 files changed
+62
-6
No files matched your search
@@ -5780,6 +5780,14 @@ void BG_MOD_set( modExtremeType_t entry, int value )
|
||||
}
|
||||
}
|
||||
|
||||
int BG_MOD_get( modExtremeType_t entry)
|
||||
{
|
||||
if( entry >= 0 && entry < MOD_BG_COUNT )
|
||||
return modEntry[ entry ];
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void BG_MOD_update( void )
|
||||
{
|
||||
static qboolean updated = qfalse;
|
||||
@@ -5801,6 +5809,13 @@ void BG_MOD_update( void )
|
||||
bg_buildableList[ i ].turretFireSpeed =
|
||||
bg_buildableList[ i ].turretFireSpeed * 100 / modEntry[ MOD_BG_BUILDABLE_SPEED ];
|
||||
}
|
||||
|
||||
if( modEntry[ MOD_BG_TURRET_ANGLE ] &&
|
||||
( bg_buildableList[ i ].buildNum == BA_H_MGTURRET ||
|
||||
bg_buildableList[ i ].buildNum == BA_H_TESLAGEN ) )
|
||||
{
|
||||
bg_buildableList[ i ].minNormal = 0.0f;
|
||||
}
|
||||
}
|
||||
|
||||
for( i = 0; i < bg_numPclasses; i++ )
|
||||
|
||||
+9
-1
@@ -714,7 +714,15 @@ static qboolean PM_CheckJump( void )
|
||||
|
||||
//TA: take some stamina off
|
||||
if( pm->ps->stats[ STAT_PTEAM ] == PTE_HUMANS )
|
||||
pm->ps->stats[ STAT_STAMINA ] -= 500;
|
||||
{
|
||||
int rate;
|
||||
|
||||
rate = BG_MOD_get( MOD_BG_HUMAN_STAMINA );
|
||||
if( rate )
|
||||
pm->ps->stats[ STAT_STAMINA ] -= 500 * 100 / rate;
|
||||
else
|
||||
pm->ps->stats[ STAT_STAMINA ] -= 500;
|
||||
}
|
||||
|
||||
pm->ps->groundEntityNum = ENTITYNUM_NONE;
|
||||
|
||||
|
||||
@@ -1344,9 +1344,11 @@ typedef enum
|
||||
MOD_BG_ALIEN_RATE, // Alien fire rate
|
||||
MOD_BG_WEAPON_AMMO, // Weapon ammo per clip
|
||||
MOD_BG_WEAPON_RELOAD, // Weapon reload time
|
||||
MOD_BG_TURRET_ANGLE, // Allow high turret build angles
|
||||
MOD_BG_COUNT // number of entries
|
||||
} modExtremeType_t;
|
||||
|
||||
void BG_MOD_set( modExtremeType_t entry, int value );
|
||||
int BG_MOD_get( modExtremeType_t entry);
|
||||
void BG_MOD_update( void );
|
||||
|
||||
@@ -199,6 +199,9 @@ static void G_ClientShove( gentity_t *ent, gentity_t *victim )
|
||||
// shoving enemies changes gameplay too much
|
||||
if( !OnSameTeam( ent, victim ) )
|
||||
return;
|
||||
|
||||
if( victim->client->pers.healing && !g_healShove.integer )
|
||||
return;
|
||||
|
||||
if ( ( victim->client->ps.weapon >= WP_ABUILD ) &&
|
||||
( victim->client->ps.weapon <= WP_HBUILD ) &&
|
||||
|
||||
+1
-1
@@ -104,7 +104,7 @@ g_admin_cmd_t g_admin_cmds[ ] =
|
||||
"[^3name|slot#^7] [^3#^7]"
|
||||
},
|
||||
|
||||
{"demo", G_admin_demo, "~",
|
||||
{"demo", G_admin_demo, "?",
|
||||
"turn admin chat off for the caller so it does not appear in demos. "
|
||||
"this is a toggle use !demo again to turn warnings back on",
|
||||
""
|
||||
|
||||
@@ -1868,6 +1868,7 @@ void HMedistat_Think( gentity_t *self )
|
||||
int i, num;
|
||||
gentity_t *player;
|
||||
qboolean occupied = qfalse;
|
||||
gentity_t *vic;
|
||||
|
||||
self->nextthink = level.time + BG_FindNextThinkForBuildable( self->s.modelindex );
|
||||
|
||||
@@ -1948,6 +1949,14 @@ void HMedistat_Think( gentity_t *self )
|
||||
//nothing left to heal so go back to idling
|
||||
if( !self->enemy && self->active )
|
||||
{
|
||||
int i;
|
||||
|
||||
for( i = 0; i < level.maxclients; i++ )
|
||||
{
|
||||
vic = &g_entities[ i ];
|
||||
vic->client->pers.healing = qfalse;
|
||||
}
|
||||
|
||||
G_SetBuildableAnim( self, BANIM_CONSTRUCT2, qtrue );
|
||||
G_SetIdleBuildableAnim( self, BANIM_IDLE1 );
|
||||
|
||||
@@ -1962,6 +1971,7 @@ void HMedistat_Think( gentity_t *self )
|
||||
self->enemy->client->ps.stats[ STAT_STATE ] &= ~SS_MEDKIT_ACTIVE;
|
||||
|
||||
self->enemy->health++;
|
||||
self->enemy->client->pers.healing = qtrue;
|
||||
|
||||
//if they're completely healed, give them a medkit
|
||||
if( self->enemy->health >= self->enemy->client->ps.stats[ STAT_MAX_HEALTH ] &&
|
||||
|
||||
+9
-2
@@ -3863,7 +3863,14 @@ Cmd_Reload_f
|
||||
*/
|
||||
void Cmd_Reload_f( gentity_t *ent )
|
||||
{
|
||||
if( ( ent->client->ps.weapon >= WP_ABUILD ) &&
|
||||
if( !ent->client->pers.designatedBuilder && ( ent->client->ps.weapon >= WP_ABUILD ) &&
|
||||
( ent->client->ps.weapon <= WP_HBUILD ) )
|
||||
{
|
||||
|
||||
Cmd_Mark_f( ent );
|
||||
return;
|
||||
}
|
||||
else if( ( ent->client->ps.weapon >= WP_ABUILD ) &&
|
||||
( ent->client->ps.weapon <= WP_HBUILD ) )
|
||||
{
|
||||
Cmd_Protect_f( ent );
|
||||
@@ -4697,7 +4704,7 @@ commands_t cmds[ ] = {
|
||||
{ "itemact", CMD_HUMAN|CMD_LIVING, Cmd_ActivateItem_f },
|
||||
{ "itemdeact", CMD_HUMAN|CMD_LIVING, Cmd_DeActivateItem_f },
|
||||
{ "itemtoggle", CMD_HUMAN|CMD_LIVING, Cmd_ToggleItem_f },
|
||||
{ "reload", CMD_HUMAN|CMD_LIVING, Cmd_Reload_f },
|
||||
{ "reload", CMD_TEAM|CMD_LIVING, Cmd_Reload_f },
|
||||
{ "boost", 0, Cmd_Boost_f },
|
||||
{ "share", CMD_TEAM, Cmd_Share_f },
|
||||
{ "donate", CMD_TEAM, Cmd_Donate_f },
|
||||
|
||||
+2
-2
@@ -483,7 +483,7 @@ void player_die( gentity_t *self, gentity_t *inflictor, gentity_t *attacker, int
|
||||
|
||||
if( g_feedingSpree.integer &&
|
||||
level.reactorPresent &&
|
||||
!G_BuildableRange( self->client->ps.origin, 900, BA_H_REACTOR ) )
|
||||
!G_BuildableRange( self->client->ps.origin, 600, BA_H_REACTOR ) )
|
||||
{
|
||||
self->client->pers.statscounters.spreefeeds += 60;
|
||||
}
|
||||
@@ -499,7 +499,7 @@ void player_die( gentity_t *self, gentity_t *inflictor, gentity_t *attacker, int
|
||||
|
||||
if( g_feedingSpree.integer &&
|
||||
level.overmindPresent &&
|
||||
!G_BuildableRange( self->client->ps.origin, 900, BA_A_OVERMIND ) )
|
||||
!G_BuildableRange( self->client->ps.origin, 600, BA_A_OVERMIND ) )
|
||||
{
|
||||
self->client->pers.statscounters.spreefeeds += 60;
|
||||
}
|
||||
|
||||
@@ -396,6 +396,7 @@ typedef struct
|
||||
statsCounters_t statscounters;
|
||||
qboolean cusgrav;
|
||||
int cusgravlvl;
|
||||
qboolean healing;
|
||||
char chat[ CHAT_MAXCHAN ][ CHAT_MAXPASS ];
|
||||
qboolean ignoreAdminWarnings;
|
||||
|
||||
@@ -1388,6 +1389,8 @@ extern vmCvar_t g_deconTime;
|
||||
|
||||
extern vmCvar_t g_specAspec;
|
||||
|
||||
extern vmCvar_t g_healShove;
|
||||
|
||||
extern vmCvar_t g_modBuildableHealth; // Buildable health
|
||||
extern vmCvar_t g_modBuildableSpeed; // Buildable fire rate
|
||||
extern vmCvar_t g_modHumanStamina; // Human stamina
|
||||
@@ -1397,6 +1400,7 @@ 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
|
||||
|
||||
void trap_Printf( const char *fmt );
|
||||
void trap_Error( const char *fmt );
|
||||
|
||||
@@ -214,6 +214,8 @@ vmCvar_t g_deconTime;
|
||||
|
||||
vmCvar_t g_specAspec;
|
||||
|
||||
vmCvar_t g_healShove;
|
||||
|
||||
vmCvar_t g_modBuildableHealth;
|
||||
vmCvar_t g_modBuildableSpeed;
|
||||
vmCvar_t g_modHumanStamina;
|
||||
@@ -223,6 +225,7 @@ vmCvar_t g_modHumanRate;
|
||||
vmCvar_t g_modAlienRate;
|
||||
vmCvar_t g_modWeaponAmmo;
|
||||
vmCvar_t g_modWeaponReload;
|
||||
vmCvar_t g_modTurretAngle;
|
||||
|
||||
static cvarTable_t gameCvarTable[ ] =
|
||||
{
|
||||
@@ -264,6 +267,8 @@ static cvarTable_t gameCvarTable[ ] =
|
||||
|
||||
{ &g_specAspec, "g_specAspec", "0", CVAR_ARCHIVE, 0, qtrue },
|
||||
|
||||
{ &g_healShove, "g_healShove", "0", CVAR_ARCHIVE, 0, qtrue },
|
||||
|
||||
{ &g_modBuildableHealth, "g_modBuildableHealth", "0", CVAR_ARCHIVE, 0, qfalse },
|
||||
{ &g_modBuildableSpeed, "g_modBuildableSpeed", "0", CVAR_ARCHIVE, 0, qfalse },
|
||||
{ &g_modHumanStamina, "g_modHumanStamina", "0", CVAR_ARCHIVE, 0, qfalse },
|
||||
@@ -273,6 +278,7 @@ static cvarTable_t gameCvarTable[ ] =
|
||||
{ &g_modAlienRate, "g_modAlienRate", "0", CVAR_ARCHIVE, 0, qfalse },
|
||||
{ &g_modWeaponAmmo, "g_modWeaponAmmo", "0", CVAR_ARCHIVE, 0, qfalse },
|
||||
{ &g_modWeaponReload, "g_modWeaponReload", "0", CVAR_ARCHIVE, 0, qfalse },
|
||||
{ &g_modTurretAngle, "g_modTurretAngle", "0", CVAR_ARCHIVE, 0, qfalse },
|
||||
|
||||
{ &g_proximityMines, "g_proximityMines", "0", 0, 0, qtrue },
|
||||
{ &g_proximityMinesPrice, "g_proximityMinesPrice", "800", 0, 0, qtrue },
|
||||
@@ -674,6 +680,7 @@ static void G_InitModCvars( void )
|
||||
BG_MOD_set( MOD_BG_ALIEN_RATE, g_modAlienRate.integer );
|
||||
BG_MOD_set( MOD_BG_WEAPON_AMMO, g_modWeaponAmmo.integer );
|
||||
BG_MOD_set( MOD_BG_WEAPON_RELOAD, g_modWeaponReload.integer );
|
||||
BG_MOD_set( MOD_BG_TURRET_ANGLE, g_modTurretAngle.integer );
|
||||
|
||||
BG_MOD_update( );
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user