summaryrefslogtreecommitdiff
path: root/src/game/g_active.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/g_active.c')
-rw-r--r--src/game/g_active.c18
1 files changed, 14 insertions, 4 deletions
diff --git a/src/game/g_active.c b/src/game/g_active.c
index f1d77c97..2276962a 100644
--- a/src/game/g_active.c
+++ b/src/game/g_active.c
@@ -472,7 +472,7 @@ void ClientTimerActions( gentity_t *ent, int msec )
}
//client is charging up for a pounce
- if( client->ps.weapon == WP_POUNCE )
+ if( client->ps.weapon == WP_POUNCE || client->ps.weapon == WP_POUNCE_UPG )
{
if( client->ps.stats[ STAT_MISC ] < MAX_POUNCE_SPEED && ucmd->buttons & BUTTON_ATTACK2 )
{
@@ -632,6 +632,10 @@ void ClientEvents( gentity_t *ent, int oldEventSequence ) {
FireWeapon2( ent );
break;
+ case EV_FIRE_WEAPON3:
+ FireWeapon3( ent );
+ break;
+
case EV_FIRE_WEAPONBOTH:
FireWeapon( ent );
FireWeapon2( ent );
@@ -896,9 +900,14 @@ void ClientThink_real( gentity_t *ent ) {
client->ps.speed = g_speed.value * BG_FindSpeedForClass( client->ps.stats[ STAT_PCLASS ] );
//TA: slow player if charging up for a pounce
- if( client->ps.weapon == WP_POUNCE && ucmd->buttons & BUTTON_ATTACK2 )
+ if( ( client->ps.weapon == WP_POUNCE || client->ps.weapon == WP_POUNCE_UPG ) &&
+ ucmd->buttons & BUTTON_ATTACK2 )
client->ps.speed *= 0.75;
+ //TA: slow the player if slow locked
+ if( client->ps.stats[ STAT_STATE ] & SS_SLOWLOCKED )
+ client->ps.speed *= 0.5;
+
//TA: slow player if standing in creep
for ( i = 1, creepNode = g_entities + i; i < level.num_entities; i++, creepNode++ )
{
@@ -976,12 +985,13 @@ void ClientThink_real( gentity_t *ent ) {
{
case WP_VENOM:
if( client->ps.weaponTime <= 0 )
- pm.autoWeaponHit[ WP_VENOM ] = CheckVenomAttack( ent );
+ pm.autoWeaponHit[ client->ps.weapon ] = CheckVenomAttack( ent );
break;
case WP_POUNCE:
+ case WP_POUNCE_UPG:
if( client->ps.weaponTime <= 0 )
- pm.autoWeaponHit[ WP_POUNCE ] = CheckPounceAttack( ent );
+ pm.autoWeaponHit[ client->ps.weapon ] = CheckPounceAttack( ent );
break;
default: