Skip to content

Commit

Permalink
Remove Advanced Dretch.
Browse files Browse the repository at this point in the history
  • Loading branch information
enneract committed Jun 21, 2015
1 parent 88e570b commit dc87cba
Show file tree
Hide file tree
Showing 17 changed files with 6 additions and 290 deletions.
17 changes: 0 additions & 17 deletions assets/configs/classes/level0upg.cfg

This file was deleted.

Binary file removed assets/models/players/level0/adv.jpg
Binary file not shown.
1 change: 0 additions & 1 deletion assets/models/players/level0/nonseg_adv.skin

This file was deleted.

9 changes: 0 additions & 9 deletions assets/models/weapons/level0upg/weapon.cfg

This file was deleted.

7 changes: 0 additions & 7 deletions src/cgame/cg_draw.c
Expand Up @@ -1118,8 +1118,6 @@ static void CG_DrawPlayerHealthCross( rectDef_t *rect, vec4_t ref_color )
}
else if( cg.snap->ps.stats[ STAT_STATE ] & SS_POISONED )
shader = cgs.media.healthCrossPoisoned;
else if( cg.snap->ps.stats[ STAT_STATE ] & SS_INFECTED )
shader = cgs.media.healthCrossPoisoned;

// Pick the alpha value
Vector4Copy( ref_color, color );
Expand Down Expand Up @@ -1177,11 +1175,6 @@ static float CG_ChargeProgress( void )
min = LEVEL5_POUNCE_TIME_MIN;
max = LEVEL5_POUNCE_TIME;
}
if( cg.snap->ps.weapon == WP_ALEVEL0_UPG )
{
min = LEVEL0_DRILL_TIME_MIN;
max = LEVEL0_DRILL_TIME;
}
else if( cg.snap->ps.weapon == WP_ALEVEL3 )
{
min = LEVEL3_POUNCE_TIME_MIN;
Expand Down
3 changes: 0 additions & 3 deletions src/cgame/cg_event.c
Expand Up @@ -462,9 +462,6 @@ static void CG_Obituary( entityState_t *ent )
message = "^5should have used a medkit against^7";
message2 = "^5's poison";
break;
case MOD_INFECTION:
message = "^5got infected by^7";
break;
case MOD_LEVEL1_PCLOUD:
message = "^5was gassed by^7";
Com_sprintf( className, 64, "^5's %s",
Expand Down
1 change: 0 additions & 1 deletion src/cgame/cg_main.c
Expand Up @@ -1614,7 +1614,6 @@ static const char *CG_FeederItemText( int feederID, int index, int column, qhand
{
switch( sp->weapon )
{
case WP_ALEVEL0_UPG:
case WP_ALEVEL1_UPG:
case WP_ALEVEL2_UPG:
case WP_ALEVEL3_UPG:
Expand Down
55 changes: 1 addition & 54 deletions src/game/bg_misc.c
Expand Up @@ -2288,38 +2288,10 @@ static const classAttributes_t bg_classList[ ] =
400.0f, //float stopSpeed;
250.0f, //float jumpMagnitude;
2.0f, //float knockbackScale;
{ PCL_ALIEN_LEVEL1, PCL_ALIEN_LEVEL0_UPG, PCL_NONE }, //int children[ 3 ];
{ PCL_ALIEN_LEVEL1, PCL_NONE }, //int children[ 3 ];
LEVEL0_COST, //int cost;
LEVEL0_VALUE, //int value;
},
{
PCL_ALIEN_LEVEL0_UPG, //int classnum;
"level0upg", //char *classname;
"In addition to the basic Dretch abilities, the Advanced "
"Dretch has the ability to pounce and spread infections. "
"Advanced Dretch can also damage defensive structures.",
STAGE_GE_2, //int stages
LEVEL0_UPG_HEALTH, //int health;
0.0f, //float fallDamage;
LEVEL0_UPG_REGEN, //float regenRate;
SCA_WALLCLIMBER|SCA_FOVWARPS|SCA_ALIENSENSE, //int abilities;
WP_ALEVEL0_UPG, //weapon_t startWeapon
0.0f, //float buildDist;
140, //int fov;
0.0f, //float bob;
2.5f, //float bobCycle;
25, //int steptime;
LEVEL0_UPG_SPEED, //float speed;
10.0f, //float acceleration;
1.0f, //float airAcceleration;
6.0f, //float friction;
400.0f, //float stopSpeed;
250.0f, //float jumpMagnitude;
2.0f, //float knockbackScale;
{ PCL_ALIEN_LEVEL1, PCL_NONE, PCL_NONE }, //int children[ 3 ];
LEVEL0_UPG_COST, //int cost;
LEVEL0_UPG_VALUE //int value;
},
{
PCL_ALIEN_LEVEL1, //int classnum;
"level1", //char *classname;
Expand Down Expand Up @@ -3111,31 +3083,6 @@ static const weaponAttributes_t bg_weapons[ ] =
qfalse, //qboolean longRanged;
TEAM_ALIENS //team_t team;
},
{
WP_ALEVEL0_UPG, //int weaponNum;
0, //int price;
STAGE_GE_2, //int stages
SLOT_WEAPON, //int slots;
"level0upg", //char *weaponName;
"Bite Upgrade", //char *humanName;
"",
0, //int maxAmmo;
0, //int maxClips;
qtrue, //int infiniteAmmo;
qfalse, //int usesEnergy;
LEVEL0_BITE_REPEAT, //int repeatRate1;
0, //int repeatRate2;
0, //int repeatRate3;
0, //int reloadTime;
LEVEL0_BITE_K_SCALE, //float knockbackScale;
qfalse, //qboolean hasAltMode;
qfalse, //qboolean hasThirdMode;
qfalse, //qboolean canZoom;
90.0f, //float zoomFov;
qfalse, //qboolean purchasable;
qfalse, //qboolean longRanged;
TEAM_ALIENS //team_t team;
},
{
WP_ALEVEL1, //int weaponNum;
0, //int price;
Expand Down
1 change: 0 additions & 1 deletion src/game/bg_mod.h
Expand Up @@ -51,7 +51,6 @@ MOD( MOD_LEVEL4_CRUSH, CSW_UNKNOWN ),
MOD( MOD_LEVEL4_FLAMES, CSW_LEVEL4_ALT ),
MOD( MOD_SLOWBLOB, CSW_UNKNOWN ),
MOD( MOD_POISON, CSW_UNKNOWN ),
MOD( MOD_INFECTION, CSW_UNKNOWN ),
MOD( MOD_SWARM, CSW_UNKNOWN ),
MOD( MOD_MD2, CSW_UNKNOWN ),
MOD( MOD_HSPAWN, CSW_UNKNOWN ),
Expand Down
34 changes: 3 additions & 31 deletions src/game/bg_pmove.c
Expand Up @@ -495,10 +495,6 @@ static float PM_CmdScale( usercmd_t *cmd )
//slow player if using 2nd rifle mode
else if( pm->ps->weapon == WP_MACHINEGUN && pm->ps->weaponstate != WEAPON_RELOADING )
modifier *= RIFLE_2NDMOD;

//slow player if charging up for a drill
else if( pm->ps->weapon == WP_ALEVEL0_UPG )
modifier *= LEVEL0_DRILL_SPEED_MOD;
}
//slow the player if slow locked
if( pm->ps->stats[ STAT_STATE ] & SS_SLOWLOCKED )
Expand Down Expand Up @@ -638,8 +634,7 @@ static qboolean PM_CheckPounce( void )
{
int jumpMagnitude;

if( pm->ps->weapon != WP_ALEVEL0_UPG &&
pm->ps->weapon != WP_ALEVEL3 &&
if( pm->ps->weapon != WP_ALEVEL3 &&
pm->ps->weapon != WP_ALEVEL3_UPG)
return qfalse;

Expand All @@ -648,10 +643,7 @@ static qboolean PM_CheckPounce( void )
( pm->ps->pm_flags & PMF_CHARGE ) )
{
pm->ps->pm_flags &= ~PMF_CHARGE;
if( pm->ps->weapon != WP_ALEVEL0_UPG )
pm->ps->weaponTime += LEVEL3_POUNCE_REPEAT;
else
pm->ps->weaponTime += LEVEL0_DRILL_REPEAT;
return qfalse;
}

Expand All @@ -663,28 +655,17 @@ static qboolean PM_CheckPounce( void )
}

// Can't start a pounce
if( pm->ps->weapon != WP_ALEVEL0_UPG )
{
if( ( pm->ps->pm_flags & PMF_CHARGE ) ||
pm->ps->stats[ STAT_MISC ] < LEVEL3_POUNCE_TIME_MIN ||
pm->ps->groundEntityNum == ENTITYNUM_NONE )
return qfalse;
}
else
{
if( ( pm->ps->pm_flags & PMF_CHARGE ) || pm->ps->stats[ STAT_MISC ] < LEVEL0_DRILL_TIME_MIN || pm->ps->groundEntityNum == ENTITYNUM_NONE )
return qfalse;
}

// Give the player forward velocity and simulate a jump
pml.groundPlane = qfalse;
pml.walking = qfalse;
pm->ps->pm_flags |= PMF_CHARGE;
pm->ps->groundEntityNum = ENTITYNUM_NONE;
if( pm->ps->weapon == WP_ALEVEL0_UPG )
jumpMagnitude = pm->ps->stats[ STAT_MISC ] *
LEVEL0_DRILL_JUMP_MAG / LEVEL0_DRILL_TIME;
else if( pm->ps->weapon == WP_ALEVEL3 )
if( pm->ps->weapon == WP_ALEVEL3 )
jumpMagnitude = pm->ps->stats[ STAT_MISC ] *
LEVEL3_POUNCE_JUMP_MAG / LEVEL3_POUNCE_TIME;
else
Expand Down Expand Up @@ -943,10 +924,6 @@ static qboolean PM_CheckJump( void )
return qfalse;

//can't jump and pounce at the same time
if( pm->ps->weapon == WP_ALEVEL0_UPG &&
pm->ps->stats[ STAT_MISC ] > 0 )
return qfalse;

if( ( pm->ps->weapon == WP_ALEVEL3 ||
pm->ps->weapon == WP_ALEVEL3_UPG ) &&
pm->ps->stats[ STAT_MISC ] > 0 )
Expand Down Expand Up @@ -3001,7 +2978,7 @@ static void PM_Weapon( void )

// Charging for or canceling a pounce/drill attack
if( pm->ps->weapon == WP_ALEVEL3 || pm->ps->weapon == WP_ALEVEL3_UPG ||
pm->ps->weapon == WP_ALEVEL5 || pm->ps->weapon == WP_ALEVEL0_UPG )
pm->ps->weapon == WP_ALEVEL5 )
{
int max;

Expand All @@ -3015,9 +2992,6 @@ static void PM_Weapon( void )
case WP_ALEVEL5:
max = LEVEL5_POUNCE_TIME;
break;
default:
max = LEVEL0_DRILL_TIME;
break;
}

if( attack2 )
Expand Down Expand Up @@ -3309,7 +3283,6 @@ static void PM_Weapon( void )
switch( pm->ps->weapon )
{
case WP_ALEVEL0:
case WP_ALEVEL0_UPG:
//venom is only autohit
return;

Expand Down Expand Up @@ -3554,7 +3527,6 @@ static void PM_Weapon( void )
switch( pm->ps->weapon )
{
case WP_ALEVEL0:
case WP_ALEVEL0_UPG:
pm->ps->generic1 = WPM_PRIMARY;
PM_AddEvent( EV_FIRE_WEAPON );
addTime = BG_Weapon( pm->ps->weapon )->repeatRate1;
Expand Down
3 changes: 0 additions & 3 deletions src/game/bg_public.h
Expand Up @@ -260,7 +260,6 @@ typedef enum
#define SS_GRABBED 0x00000008
#define SS_BLOBLOCKED 0x00000010
#define SS_POISONED 0x00000020
#define SS_INFECTED 0x00000040
#define SS_BOOSTED 0x00000080

#define SS_INVI 0x00008000
Expand Down Expand Up @@ -351,7 +350,6 @@ typedef enum
{
WP_NONE,
WP_ALEVEL0,
WP_ALEVEL0_UPG,
WP_ALEVEL1,
WP_ALEVEL1_UPG,
WP_ALEVEL2,
Expand Down Expand Up @@ -805,7 +803,6 @@ typedef enum
PCL_ALIEN_BUILDER0_UPG,
//offensive classes
PCL_ALIEN_LEVEL0,
PCL_ALIEN_LEVEL0_UPG,
PCL_ALIEN_LEVEL1,
PCL_ALIEN_LEVEL1_UPG,
PCL_ALIEN_LEVEL2,
Expand Down
68 changes: 1 addition & 67 deletions src/game/g_active.c
Expand Up @@ -521,7 +521,7 @@ void G_UseMedkit( gentity_t *ent )
BG_RemoveUpgradeFromInventory( UP_MEDKIT, client->ps.stats );

// don't poison and/or infect the client anymore
tclient->ps.stats[ STAT_STATE ] &= ~( SS_POISONED | SS_INFECTED );
tclient->ps.stats[ STAT_STATE ] &= ~SS_POISONED;
tclient->poisonImmunityTime = level.time + MEDKIT_POISON_IMMUNITY_TIME;

tclient->ps.stats[ STAT_STATE ] |= SS_HEALING_2X;
Expand Down Expand Up @@ -966,60 +966,6 @@ void ClientTimerActions( gentity_t *ent, int msec )
0, damage, 0, MOD_POISON );
}

//client is infected
if( client->ps.stats[ STAT_STATE ] & SS_INFECTED )
{
int time = ALIEN_INFECTION_TIME;
int damage = ALIEN_INFECTION_DMG;

if( BG_InventoryContainsUpgrade( UP_BIOKIT, client->ps.stats ) )
{
time = ALIEN_INFECTION_TIME/2;
damage -= BIOKIT_INFECTION_PROTECTION;
}

if( BG_InventoryContainsUpgrade( UP_BATTLESUIT, client->ps.stats ) )
damage -= BSUIT_INFECTION_PROTECTION;

if( BG_InventoryContainsUpgrade( UP_HELMET, client->ps.stats ) )
damage -= HELMET_INFECTION_PROTECTION;

if( BG_InventoryContainsUpgrade( UP_LIGHTARMOUR, client->ps.stats ) )
damage -= LIGHTARMOUR_INFECTION_PROTECTION;

//infect others who comes into contact with you
if( client->lastInfectionTime + time > level.time )
{
int i, num, entityList[ MAX_GENTITIES ];
vec3_t range = { 150, 150, 150 }, mins, maxs;
gentity_t *target;

VectorAdd( ent->s.origin, range, maxs );
VectorSubtract( ent->s.origin, range, mins );
num = trap_EntitiesInBox( mins, maxs, entityList, MAX_GENTITIES );
for( i = 0; i < num; i++ )
{
target = &g_entities[ entityList[ i ] ];

// client + not infected + human + visible + not the same + has health
if( target->client && !( target->client->ps.stats[ STAT_STATE ] & SS_INFECTED ) &&
target->client->ps.stats[ STAT_TEAM ] == TEAM_HUMANS &&
G_Visible( ent, target, CONTENTS_SOLID || CONTENTS_FOG ) &&
ent != target && target->health > 0 )
{
target->client->ps.stats[ STAT_STATE ] |= SS_INFECTED;
target->client->lastInfectionTime = level.time;
target->client->lastInfectionClient = client->lastInfectionClient;
}
}
G_Damage( ent, client->lastInfectionClient, client->lastInfectionClient, NULL,
0, damage, 0, MOD_INFECTION );
}
// it's over until the next one
else
client->ps.stats[ STAT_STATE ] &= ~SS_INFECTED;
}

// turn off life support when a team admits defeat
if( client->ps.stats[ STAT_TEAM ] == TEAM_ALIENS &&
level.surrenderTeam == TEAM_ALIENS )
Expand Down Expand Up @@ -2042,18 +1988,6 @@ void ClientThink_real( gentity_t *ent )
}
break;

case WP_ALEVEL0_UPG:
if( !CheckVenomAttack2( ent ) )
{
client->ps.weaponstate = WEAPON_READY;
}
else
{
client->ps.generic1 = WPM_PRIMARY;
G_AddEvent( ent, EV_FIRE_WEAPON, 0 );
}
break;

case WP_ALEVEL1:
case WP_ALEVEL1_UPG:
CheckGrabAttack( ent );
Expand Down
3 changes: 0 additions & 3 deletions src/game/g_buildable.c
Expand Up @@ -2762,9 +2762,6 @@ void HMedistat_Think( gentity_t *self )
if( player->client && player->client->ps.stats[ STAT_STATE ] & SS_POISONED )
player->client->ps.stats[ STAT_STATE ] &= ~SS_POISONED;

if( player->client && player->client->ps.stats[ STAT_STATE ] & SS_INFECTED )
player->client->ps.stats[ STAT_STATE ] &= ~SS_INFECTED;

if( self->enemy == player && player->client &&
player->client->ps.stats[ STAT_TEAM ] == TEAM_HUMANS &&
player->health < player->client->ps.stats[ STAT_MAX_HEALTH ] &&
Expand Down
4 changes: 1 addition & 3 deletions src/game/g_combat.c
Expand Up @@ -1159,7 +1159,6 @@ void G_SpawnDamageIndicator( gentity_t *ent, gentity_t *inflictor,
switch( mod )
{
case MOD_POISON:
case MOD_INFECTION:
di->flags |= DIF_INDIRECT | DIF_PERSISTENT;
break;

Expand Down Expand Up @@ -1332,8 +1331,7 @@ void G_Damage( gentity_t *targ, gentity_t *inflictor, gentity_t *attacker,

// if dretchpunt is enabled and this is a dretch, do dretchpunt instead of damage
if( g_dretchPunt.integer &&
( targ->client->ps.stats[ STAT_CLASS ] == PCL_ALIEN_LEVEL0 ||
targ->client->ps.stats[ STAT_CLASS ] == PCL_ALIEN_LEVEL0_UPG ) )
targ->client->ps.stats[ STAT_CLASS ] == PCL_ALIEN_LEVEL0 )
{
vec3_t dir, push;

Expand Down

0 comments on commit dc87cba

Please sign in to comment.