//----------------------------------------------------------------------------- // Purpose: //----------------------------------------------------------------------------- void CWeaponHopwire::PrimaryAttack( void ) { if ( m_bRedraw ) return; CBaseCombatCharacter *pOwner = GetOwner(); if ( pOwner == NULL ) return; CBasePlayer *pPlayer = ToBasePlayer( GetOwner() );; if ( !pPlayer ) return; // See if we're in trap mode if ( hopwire_trap.GetBool() && ( m_hActiveHopWire != NULL ) ) { // Spring the trap m_hActiveHopWire->Detonate(); m_hActiveHopWire = NULL; // Don't allow another throw for awhile m_flTimeWeaponIdle = m_flNextPrimaryAttack = gpGlobals->curtime + 2.0f; return; } // Note that this is a primary attack and prepare the grenade attack to pause. /* m_AttackPaused = GRENADE_PAUSED_PRIMARY; SendWeaponAnim( ACT_VM_PULLBACK_HIGH ); */ m_AttackPaused = GRENADE_PAUSED_SECONDARY; SendWeaponAnim( ACT_VM_PULLBACK_LOW ); // Put both of these off indefinitely. We do not know how long // the player will hold the grenade. m_flTimeWeaponIdle = FLT_MAX; m_flNextPrimaryAttack = FLT_MAX; // If I'm now out of ammo, switch away /* if ( !HasPrimaryAmmo() ) { pPlayer->SwitchToNextBestWeapon( this ); } */ }