Fixed the class changes
Disabled radioactive turrets Fixed feeding spree Added no building for people who are affected by g_newbieNamePrefix, cvar controlled by g_newbieNoBuild Fixed typo in !l0 replies.
This commit is contained in:
1 parent
ccae4df7e2
commit
464808f7e8
7 files changed
+88
-20
No files matched your search
+10
-3
@@ -533,11 +533,18 @@ static void ClientSpreeDecay( gentity_t *ent, int msec )
|
||||
client->pers.spreeTime1000 -= 1000;
|
||||
|
||||
// spree decay
|
||||
if( ent->client->pers.statscounters.spreefeeds > 1 )
|
||||
ent->client->pers.statscounters.spreefeeds -= 2;
|
||||
if( ent->client->pers.statscounters.spreefeeds )
|
||||
{
|
||||
ent->client->pers.statscounters.spreefeeds -= SPREE_FEED_FADE;
|
||||
if( ent->client->pers.statscounters.spreefeeds < 0 )
|
||||
ent->client->pers.statscounters.spreefeeds = 0;
|
||||
}
|
||||
if( ent->client->pers.statscounters.spreekills > 1 )
|
||||
{
|
||||
ent->client->pers.statscounters.spreekills -= 2;
|
||||
if( ent->client->pers.statscounters.spreebleeds )
|
||||
}
|
||||
if( ent->client->pers.statscounters.spreebleeds ||
|
||||
ent->client->pers.bleeder )
|
||||
{
|
||||
if( ent->client->pers.bleeder )
|
||||
ent->client->pers.statscounters.spreebleeds -= 10;
|
||||
|
||||
+1
-1
@@ -6049,7 +6049,7 @@ qboolean G_admin_L0(gentity_t *ent, int skiparg ){
|
||||
vic = &g_entities[ id ];
|
||||
if( !vic || !(vic->client) || vic->client->pers.connected != CON_CONNECTED )
|
||||
{
|
||||
ADMP( "^3!L0:^7 no one connectd by that slot number\n" );
|
||||
ADMP( "^3!L0:^7 no one connected by that slot number\n" );
|
||||
return qfalse;
|
||||
}
|
||||
|
||||
|
||||
@@ -2875,6 +2875,17 @@ void Cmd_Destroy_f( gentity_t *ent )
|
||||
return;
|
||||
}
|
||||
|
||||
if( g_newbieNoBuild.integer
|
||||
&& g_newbieNamePrefix.string[ 0 ]
|
||||
&& Q_stricmpn ( ent->client->pers.netname, g_newbieNamePrefix.string, strlen(g_newbieNamePrefix.string ) ) == 0 )
|
||||
{
|
||||
trap_SendServerCommand( ent-g_entities,
|
||||
va( "print \"You cannot build until you set a name\n%s%s\"",
|
||||
( g_newbieNoBuildMessage.string[ 0 ] ) ? g_newbieNoBuildMessage.string : "",
|
||||
( g_newbieNoBuildMessage.string[ 0 ] ) ? "\n" : "" ) );
|
||||
return;
|
||||
}
|
||||
|
||||
trap_Argv( 0, cmd, sizeof( cmd ) );
|
||||
if( Q_stricmp( cmd, "destroy" ) == 0 )
|
||||
deconstruct = qfalse;
|
||||
@@ -3083,6 +3094,17 @@ void Cmd_Mark_f( gentity_t *ent )
|
||||
return;
|
||||
}
|
||||
|
||||
if( g_newbieNoBuild.integer
|
||||
&& g_newbieNamePrefix.string[ 0 ]
|
||||
&& Q_stricmpn ( ent->client->pers.netname, g_newbieNamePrefix.string, strlen(g_newbieNamePrefix.string ) ) == 0 )
|
||||
{
|
||||
trap_SendServerCommand( ent-g_entities,
|
||||
va( "print \"You cannot build until you set a name\n%s%s\"",
|
||||
( g_newbieNoBuildMessage.string[ 0 ] ) ? g_newbieNoBuildMessage.string : "",
|
||||
( g_newbieNoBuildMessage.string[ 0 ] ) ? "\n" : "" ) );
|
||||
return;
|
||||
}
|
||||
|
||||
// can't mark when in hovel
|
||||
if( ent->client->ps.stats[ STAT_STATE ] & SS_HOVELING )
|
||||
return;
|
||||
@@ -3693,6 +3715,17 @@ void Cmd_Build_f( gentity_t *ent )
|
||||
return;
|
||||
}
|
||||
|
||||
if( g_newbieNoBuild.integer
|
||||
&& g_newbieNamePrefix.string[ 0 ]
|
||||
&& Q_stricmpn ( ent->client->pers.netname, g_newbieNamePrefix.string, strlen(g_newbieNamePrefix.string ) ) == 0 )
|
||||
{
|
||||
trap_SendServerCommand( ent-g_entities,
|
||||
va( "print \"You cannot build until you set a name\n%s%s\"",
|
||||
( g_newbieNoBuildMessage.string[ 0 ] ) ? g_newbieNoBuildMessage.string : "",
|
||||
( g_newbieNoBuildMessage.string[ 0 ] ) ? "\n" : "" ) );
|
||||
return;
|
||||
}
|
||||
|
||||
trap_Argv( 1, s, sizeof( s ) );
|
||||
|
||||
buildable = BG_FindBuildNumForName( s );
|
||||
|
||||
+23
-7
@@ -485,9 +485,10 @@ 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, 600, BA_H_REACTOR ) )
|
||||
!G_BuildableRange( self->client->ps.origin, 600, BA_H_REACTOR ) &&
|
||||
!G_BuildableRange( self->client->ps.origin, 200, BA_H_SPAWN ) )
|
||||
{
|
||||
self->client->pers.statscounters.spreefeeds += 60;
|
||||
self->client->pers.statscounters.spreefeeds += SPREE_FEED_VALUE;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -501,9 +502,10 @@ 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, 600, BA_A_OVERMIND ) )
|
||||
!G_BuildableRange( self->client->ps.origin, 600, BA_A_OVERMIND ) &&
|
||||
!G_BuildableRange( self->client->ps.origin, 200, BA_A_SPAWN ) )
|
||||
{
|
||||
self->client->pers.statscounters.spreefeeds += 60;
|
||||
self->client->pers.statscounters.spreefeeds += SPREE_FEED_VALUE;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -682,14 +684,14 @@ finish_dying:
|
||||
// g_forcerespawn may force spawning at some later time
|
||||
self->client->respawnTime = level.time + 1700;
|
||||
|
||||
if( g_feedingSpree.integer > 2 )
|
||||
if( g_feedingSpree.integer )
|
||||
{
|
||||
int maxfeed;
|
||||
|
||||
maxfeed = (g_feedingSpree.integer - 1) * 60;
|
||||
maxfeed = g_feedingSpree.integer * SPREE_FEED_VALUE;
|
||||
if( self->client->pers.statscounters.spreefeeds > maxfeed )
|
||||
{
|
||||
self->client->respawnTime += 100 * (self->client->pers.statscounters.spreefeeds - maxfeed );
|
||||
self->client->respawnTime += SPREE_FEED_DELAY * (self->client->pers.statscounters.spreefeeds - maxfeed );
|
||||
trap_SendServerCommand( self->client->ps.clientNum,
|
||||
va( "print \"You are on a feeding spree! respawn delayed %d seconds\n\"",
|
||||
(self->client->respawnTime - level.time) / 1000 ) );
|
||||
@@ -1559,6 +1561,13 @@ void G_Damage( gentity_t *targ, gentity_t *inflictor, gentity_t *attacker,
|
||||
level.humanStatsCounters.structskilled++;
|
||||
}
|
||||
}
|
||||
|
||||
if( attacker->client->pers.statscounters.spreefeeds )
|
||||
{
|
||||
attacker->client->pers.statscounters.spreefeeds -= take;
|
||||
if( attacker->client->pers.statscounters.spreefeeds < 0 )
|
||||
attacker->client->pers.statscounters.spreefeeds = 0;
|
||||
}
|
||||
}
|
||||
else if( targ->client )
|
||||
{
|
||||
@@ -1572,6 +1581,13 @@ void G_Damage( gentity_t *targ, gentity_t *inflictor, gentity_t *attacker,
|
||||
{
|
||||
level.humanStatsCounters.dmgdone+=take;
|
||||
}
|
||||
|
||||
if( attacker->client->pers.statscounters.spreefeeds )
|
||||
{
|
||||
attacker->client->pers.statscounters.spreefeeds -= take;
|
||||
if( attacker->client->pers.statscounters.spreefeeds < 0 )
|
||||
attacker->client->pers.statscounters.spreefeeds = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1231,6 +1231,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
|
||||
@@ -1242,6 +1247,8 @@ 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;
|
||||
|
||||
+9
-4
@@ -112,6 +112,8 @@ vmCvar_t g_minNameChangePeriod;
|
||||
vmCvar_t g_maxNameChanges;
|
||||
vmCvar_t g_newbieNumbering;
|
||||
vmCvar_t g_newbieNamePrefix;
|
||||
vmCvar_t g_newbieNoBuild;
|
||||
vmCvar_t g_newbieNoBuildMessage;
|
||||
|
||||
vmCvar_t g_humanBuildPoints;
|
||||
vmCvar_t g_alienBuildPoints;
|
||||
@@ -350,6 +352,9 @@ static cvarTable_t gameCvarTable[ ] =
|
||||
{ &g_maxNameChanges, "g_maxNameChanges", "5", 0, 0, qfalse},
|
||||
{ &g_newbieNumbering, "g_newbieNumbering", "0", CVAR_ARCHIVE, 0, qfalse},
|
||||
{ &g_newbieNamePrefix, "g_newbieNamePrefix", "Newbie#", CVAR_ARCHIVE, 0, qfalse},
|
||||
{ &g_newbieNoBuild, "g_newbieNoBuild", "0", CVAR_ARCHIVE, 0, qfalse},
|
||||
{ &g_newbieNoBuildMessage, "g_newbieNoBuildMessage",
|
||||
"Set a name by pressing Escape and choosing Options", CVAR_ARCHIVE, 0, qfalse},
|
||||
|
||||
{ &g_smoothClients, "g_smoothClients", "1", 0, 0, qfalse},
|
||||
{ &g_clientUpgradeNotice, "g_clientUpgradeNotice", "1", 0, 0, qfalse},
|
||||
@@ -410,10 +415,10 @@ static cvarTable_t gameCvarTable[ ] =
|
||||
{ &g_privateMessages, "g_privateMessages", "1", CVAR_ARCHIVE, 0, qfalse },
|
||||
{ &g_chat, "g_chat", "chat.dat", CVAR_ARCHIVE, 0, qfalse },
|
||||
|
||||
{ &g_radiationDamage, "g_radiationDamage", "1", CVAR_ARCHIVE, 0, qfalse },
|
||||
{ &g_radiationTime, "g_radiationTime", "60", CVAR_ARCHIVE, 0, qfalse },
|
||||
{ &g_radiationCredits, "g_radiationCredits", "1000", CVAR_ARCHIVE, 0, qfalse },
|
||||
{ &g_radiationCreditsCount, "g_radiationCreditsCount", "2", CVAR_ARCHIVE, 0, qfalse },
|
||||
{ &g_radiationDamage, "g_radiationDamage", "0", CVAR_ARCHIVE, 0, qfalse },
|
||||
{ &g_radiationTime, "g_radiationTime", "0", CVAR_ARCHIVE, 0, qfalse },
|
||||
{ &g_radiationCredits, "g_radiationCredits", "0", CVAR_ARCHIVE, 0, qfalse },
|
||||
{ &g_radiationCreditsCount, "g_radiationCreditsCount", "0", CVAR_ARCHIVE, 0, qfalse },
|
||||
|
||||
{ &g_deconTime, "g_deconTime", "0", CVAR_ARCHIVE, 0, qfalse },
|
||||
|
||||
|
||||
@@ -43,7 +43,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
#define ABUILDER_CLAW_K_SCALE 1.0f
|
||||
#define ABUILDER_BASE_DELAY 17000
|
||||
#define ABUILDER_ADV_DELAY 12000
|
||||
#define ABUILDER_BLOB_DMG ADM(9)
|
||||
#define ABUILDER_BLOB_DMG ADM(4)
|
||||
#define ABUILDER_BLOB_REPEAT 1000
|
||||
#define ABUILDER_BLOB_SPEED 800.0f
|
||||
#define ABUILDER_BLOB_SPEED_MOD 0.5f
|
||||
@@ -55,7 +55,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
#define LEVEL0_BITE_REPEAT 500
|
||||
#define LEVEL0_BITE_K_SCALE 1.0f
|
||||
|
||||
#define LEVEL1_CLAW_DMG ADM(35)
|
||||
#define LEVEL1_CLAW_DMG ADM(32)
|
||||
#define LEVEL1_CLAW_RANGE 96.0f
|
||||
#define LEVEL1_CLAW_WIDTH 10.0f
|
||||
#define LEVEL1_CLAW_REPEAT 600
|
||||
@@ -66,9 +66,9 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
#define LEVEL1_GRAB_TIME 300
|
||||
#define LEVEL1_GRAB_U_TIME 450
|
||||
#define LEVEL1_PCLOUD_DMG ADM(4)
|
||||
#define LEVEL1_PCLOUD_RANGE 250.0f
|
||||
#define LEVEL1_PCLOUD_REPEAT 2750
|
||||
#define LEVEL1_PCLOUD_TIME 15000
|
||||
#define LEVEL1_PCLOUD_RANGE 200.0f
|
||||
#define LEVEL1_PCLOUD_REPEAT 2000
|
||||
#define LEVEL1_PCLOUD_TIME 10000
|
||||
|
||||
#define LEVEL2_CLAW_DMG ADM(40)
|
||||
#define LEVEL2_CLAW_RANGE 96.0f
|
||||
|
||||
Reference in new issue
Block a user