Removed horrible irc prefix thing
Added !outlaw upgrades (see online help) Fixed PTRC alert newlines (admin alerts) Updated wiki page (wiki/flags.wiki)
This commit is contained in:
1 parent
2935fcee95
commit
1682483850
8 files changed
+96
-41
No files matched your search
+12
-11
@@ -944,20 +944,21 @@ void ClientTimerActions( gentity_t *ent, int msec )
|
||||
ent->client->pers.statscounters.spreefeeds -= 2;
|
||||
if( ent->client->pers.statscounters.spreekills > 1 )
|
||||
ent->client->pers.statscounters.spreekills -= 2;
|
||||
if( ent->client->pers.statscounters.spreebleeds > 3 )
|
||||
if( ent->client->pers.statscounters.spreebleeds )
|
||||
{
|
||||
ent->client->pers.statscounters.spreebleeds -= 4;
|
||||
if( ent->client->pers.bleeder )
|
||||
ent->client->pers.statscounters.spreebleeds -= 8;
|
||||
else
|
||||
ent->client->pers.statscounters.spreebleeds -= 4;
|
||||
if( ent->client->pers.statscounters.spreebleeds < 0 )
|
||||
ent->client->pers.statscounters.spreebleeds = 0;
|
||||
if( ent->client->pers.bleeder &&
|
||||
!ent->client->pers.statscounters.spreebleeds )
|
||||
{
|
||||
if( ent->client->pers.statscounters.spreebleeds > 3 )
|
||||
ent->client->pers.statscounters.spreebleeds -= 4;
|
||||
if( ent->client->pers.statscounters.spreebleeds < 4 )
|
||||
{
|
||||
ent->client->pers.bleeder = qfalse;
|
||||
trap_SendServerCommand( ent-g_entities, "cp \"^2Your base has forgiven you^7\"" );
|
||||
if( level.bleeders )
|
||||
level.bleeders--;
|
||||
}
|
||||
ent->client->pers.bleeder = qfalse;
|
||||
trap_SendServerCommand( ent-g_entities, "cp \"^2Your base has forgiven you^7\"" );
|
||||
if( level.bleeders )
|
||||
level.bleeders--;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+30
-6
@@ -246,8 +246,9 @@ g_admin_cmd_t g_admin_cmds[ ] =
|
||||
},
|
||||
|
||||
{"outlaw", G_admin_outlaw, "O",
|
||||
"add to a player's bleed counter, making their base turn on them."
|
||||
" adding a bleed value will add that many points to their bleed counter, 0 will pardon them",
|
||||
"adjust a player's bleed counter, usually to make their base turn on them."
|
||||
" bleed value can be '?' to query their current value, a number to add and activate bleed status,"
|
||||
" +num or -num will silently adjust their current bleed value, 0 will pardon them",
|
||||
"(^5name|slot^7) (^5bleed value)"
|
||||
},
|
||||
|
||||
@@ -7400,6 +7401,7 @@ qboolean G_admin_outlaw( gentity_t *ent, int skiparg )
|
||||
char valuebuf[ 8 ];
|
||||
gentity_t *vic;
|
||||
int points;
|
||||
qboolean activate = qtrue;
|
||||
|
||||
if( !g_bleedingSpree.integer )
|
||||
{
|
||||
@@ -7419,10 +7421,22 @@ qboolean G_admin_outlaw( gentity_t *ent, int skiparg )
|
||||
ADMP( va( "^3!mute: ^7%s\n", err ) );
|
||||
return qfalse;
|
||||
}
|
||||
vic = &g_entities[ pids[ 0 ] ];
|
||||
|
||||
if( G_SayArgc() > 2 + skiparg )
|
||||
{
|
||||
G_SayArgv( 2 + skiparg, valuebuf, sizeof( valuebuf ) );
|
||||
if( valuebuf[ 0 ] == '?' )
|
||||
{
|
||||
ADMP( va( "^3!outlaw: ^7%s^7's bleeder value is %d\n",
|
||||
vic->client->pers.netname,
|
||||
vic->client->pers.statscounters.spreebleeds ) );
|
||||
return qtrue;
|
||||
}
|
||||
if( valuebuf[ 0 ] == '+' || valuebuf[ 0 ] == '-' )
|
||||
{
|
||||
activate = qfalse;
|
||||
}
|
||||
points = atoi( valuebuf );
|
||||
}
|
||||
else
|
||||
@@ -7432,15 +7446,16 @@ qboolean G_admin_outlaw( gentity_t *ent, int skiparg )
|
||||
|
||||
if( !admin_higher( ent, &g_entities[ pids[ 0 ] ] ) )
|
||||
{
|
||||
ADMP( "^3!mute: ^7sorry, but your intended victim has a higher admin"
|
||||
ADMP( "^3!outlaw: ^7sorry, but your intended victim has a higher admin"
|
||||
" level than you\n" );
|
||||
return qfalse;
|
||||
}
|
||||
vic = &g_entities[ pids[ 0 ] ];
|
||||
if( points )
|
||||
{
|
||||
vic->client->pers.statscounters.spreebleeds += points;
|
||||
if( !vic->client->pers.bleeder )
|
||||
if( vic->client->pers.statscounters.spreebleeds < 1 )
|
||||
vic->client->pers.statscounters.spreebleeds = 1;
|
||||
if( activate && !vic->client->pers.bleeder )
|
||||
{
|
||||
vic->client->pers.bleeder = qtrue;
|
||||
level.bleeders++;
|
||||
@@ -7449,10 +7464,19 @@ qboolean G_admin_outlaw( gentity_t *ent, int skiparg )
|
||||
vic->client->pers.netname,
|
||||
( ent ) ? ent->client->pers.netname : "console" ) );
|
||||
}
|
||||
else
|
||||
{
|
||||
AP( va( "print \"^3!outlaw: ^7%s^7 bleeder value has been adjusted by ^7%s\n\"",
|
||||
vic->client->pers.netname,
|
||||
( ent ) ? ent->client->pers.netname : "console" ) );
|
||||
ADMP( va( "^3!outlaw: ^7%s^7's bleeder value is now %d\n",
|
||||
vic->client->pers.netname,
|
||||
vic->client->pers.statscounters.spreebleeds ) );
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
vic->client->pers.statscounters.spreebleeds = 8;
|
||||
vic->client->pers.statscounters.spreebleeds = 1;
|
||||
|
||||
AP( va( "print \"^3!outlaw: ^7%s^7 has been pardoned by ^7%s\n\"",
|
||||
vic->client->pers.netname,
|
||||
|
||||
@@ -85,9 +85,6 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
#define ADMF_ADMINCHAT '?'
|
||||
#define ADMF_BUILDCHECK ')'
|
||||
|
||||
#define ADMF_SHOWOFF '('
|
||||
|
||||
|
||||
#define ADMF_BANIMMUNITY '&'
|
||||
|
||||
#define MAX_ADMIN_LISTITEMS 20
|
||||
|
||||
+50
-1
@@ -1468,6 +1468,18 @@ void ABooster_Touch( gentity_t *self, gentity_t *other, trace_t *trace )
|
||||
if( client && client->ps.stats[ STAT_PTEAM ] == PTE_HUMANS )
|
||||
return;
|
||||
|
||||
if( client->pers.bleeder )
|
||||
{
|
||||
if( !(client->ps.stats[ STAT_STATE ] & SS_POISONCLOUDED ) )
|
||||
{
|
||||
client->ps.stats[ STAT_STATE ] |= SS_POISONCLOUDED;
|
||||
client->lastPoisonCloudedTime = level.time;
|
||||
trap_SendServerCommand( client->ps.clientNum, "poisoncloud" );
|
||||
trap_SendServerCommand( client->ps.clientNum, "print \"Your booster has poisoned you\n\"" );
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
//only allow boostage once every 30 seconds
|
||||
if( client->lastBoostedTime + BOOSTER_INTERVAL > level.time )
|
||||
return;
|
||||
@@ -1910,6 +1922,7 @@ void HMedistat_Think( gentity_t *self )
|
||||
{
|
||||
if( player->health < player->client->ps.stats[ STAT_MAX_HEALTH ] &&
|
||||
player->client->ps.pm_type != PM_DEAD &&
|
||||
!player->client->pers.bleeder &&
|
||||
self->enemy == player )
|
||||
occupied = qtrue;
|
||||
}
|
||||
@@ -1927,7 +1940,9 @@ void HMedistat_Think( gentity_t *self )
|
||||
if( player->flags & FL_NOTARGET )
|
||||
continue; // notarget cancels even beneficial effects?
|
||||
|
||||
if( player->client && player->client->ps.stats[ STAT_PTEAM ] == PTE_HUMANS && player->client->radiationTimer < g_radiationTime.integer )
|
||||
if( player->client && player->client->ps.stats[ STAT_PTEAM ] == PTE_HUMANS &&
|
||||
player->client->radiationTimer < g_radiationTime.integer &&
|
||||
!player->client->pers.bleeder )
|
||||
{
|
||||
if( player->health < player->client->ps.stats[ STAT_MAX_HEALTH ] &&
|
||||
player->client->ps.pm_type != PM_DEAD )
|
||||
@@ -1947,6 +1962,34 @@ void HMedistat_Think( gentity_t *self )
|
||||
}
|
||||
}
|
||||
|
||||
// bleeding spree retribution
|
||||
if( level.bleeders && !self->enemy )
|
||||
{
|
||||
//look for something to hurt
|
||||
for( i = 0; i < num; i++ )
|
||||
{
|
||||
player = &g_entities[ entityList[ i ] ];
|
||||
|
||||
if( player->client && player->client->ps.stats[ STAT_PTEAM ] == PTE_HUMANS && player->client->pers.bleeder )
|
||||
{
|
||||
if( player->health > 0 &&
|
||||
player->client->ps.pm_type != PM_DEAD )
|
||||
{
|
||||
self->enemy = player;
|
||||
|
||||
//start the heal anim
|
||||
if( !self->active )
|
||||
{
|
||||
G_SetBuildableAnim( self, BANIM_ATTACK1, qfalse );
|
||||
self->active = qtrue;
|
||||
}
|
||||
}
|
||||
if( BG_InventoryContainsUpgrade( UP_MEDKIT, player->client->ps.stats ) )
|
||||
BG_RemoveUpgradeFromInventory( UP_MEDKIT, player->client->ps.stats );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//nothing left to heal so go back to idling
|
||||
if( !self->enemy && self->active )
|
||||
{
|
||||
@@ -1959,6 +2002,12 @@ void HMedistat_Think( gentity_t *self )
|
||||
}
|
||||
else if( self->enemy ) //heal!
|
||||
{
|
||||
if( self->enemy->client->pers.bleeder )
|
||||
{
|
||||
G_Damage( self->enemy, NULL, NULL, NULL, NULL, 10, 0, MOD_SLIME );
|
||||
return;
|
||||
}
|
||||
|
||||
if( self->enemy->client && self->enemy->client->ps.stats[ STAT_STATE ] & SS_POISONED )
|
||||
self->enemy->client->ps.stats[ STAT_STATE ] &= ~SS_POISONED;
|
||||
|
||||
|
||||
+2
-12
@@ -1530,18 +1530,8 @@ void ClientBegin( int clientNum )
|
||||
// locate ent at a spawn point
|
||||
|
||||
ClientSpawn( ent, NULL, NULL, NULL );
|
||||
if( G_admin_permission( ent, ADMF_SHOWOFF) )
|
||||
{
|
||||
trap_GetUserinfo( clientNum, userinfo, sizeof( userinfo ) );
|
||||
trap_SendServerCommand( -1, va( "print \"%s^7%s" S_COLOR_WHITE " entered the game\n\"", flag, client->pers.netname ) );
|
||||
Info_SetValueForKey( userinfo, "name", va( "%s^7%s", flag, client->pers.netname ) );
|
||||
trap_SetUserinfo( clientNum, userinfo );
|
||||
ClientUserinfoChanged( clientNum );
|
||||
}
|
||||
else
|
||||
{
|
||||
trap_SendServerCommand( -1, va( "print \"%s" S_COLOR_WHITE " entered the game\n\"", client->pers.netname ) );
|
||||
}
|
||||
|
||||
trap_SendServerCommand( -1, va( "print \"%s" S_COLOR_WHITE " entered the game\n\"", client->pers.netname ) );
|
||||
|
||||
// name can change between ClientConnect() and ClientBegin()
|
||||
G_admin_namelog_update( client, qfalse );
|
||||
|
||||
+2
-2
@@ -4247,7 +4247,7 @@ void Cmd_PTRCVerify_f( gentity_t *ent )
|
||||
{
|
||||
trap_SendServerCommand( ent - g_entities,
|
||||
"print \"This PTR code is already in use\n\"" );
|
||||
G_AdminsPrintf("%s^7 attempted to use %s^7's PTR code", ent->client->pers.netname, players->client->pers.netname);
|
||||
G_AdminsPrintf("%s^7 attempted to use %s^7's PTR code\n", ent->client->pers.netname, players->client->pers.netname);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4313,7 +4313,7 @@ void Cmd_PTRCRestore_f( gentity_t *ent )
|
||||
{
|
||||
trap_SendServerCommand( ent - g_entities,
|
||||
"print \"This PTR code is already in use\n\"" );
|
||||
G_AdminsPrintf("%s^7 attempted to use %s^7's PTR code", ent->client->pers.netname, players->client->pers.netname);
|
||||
G_AdminsPrintf("%s^7 attempted to use %s^7's PTR code\n", ent->client->pers.netname, players->client->pers.netname);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1403,8 +1403,6 @@ extern vmCvar_t g_specAspec;
|
||||
|
||||
extern vmCvar_t g_healShove;
|
||||
|
||||
extern vmCvar_t g_chatAdminPrefix;
|
||||
|
||||
extern vmCvar_t g_modBuildableHealth; // Buildable health
|
||||
extern vmCvar_t g_modBuildableSpeed; // Buildable fire rate
|
||||
extern vmCvar_t g_modHumanStamina; // Human stamina
|
||||
|
||||
@@ -220,8 +220,6 @@ vmCvar_t g_specAspec;
|
||||
|
||||
vmCvar_t g_healShove;
|
||||
|
||||
vmCvar_t g_chatAdminPrefix;
|
||||
|
||||
vmCvar_t g_modBuildableHealth;
|
||||
vmCvar_t g_modBuildableSpeed;
|
||||
vmCvar_t g_modHumanStamina;
|
||||
@@ -275,8 +273,6 @@ static cvarTable_t gameCvarTable[ ] =
|
||||
|
||||
{ &g_healShove, "g_healShove", "1", CVAR_ARCHIVE, 0, qtrue },
|
||||
|
||||
{ &g_chatAdminPrefix, "g_chatAdminPrefix", "^3@", 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 },
|
||||
|
||||
Reference in new issue
Block a user