//----------------------------------------------------------------------------- // Purpose: // Input : // Output : //----------------------------------------------------------------------------- void CWeapon_SLAM::StartSatchelDetonate() { // ----------------------------------------- // Play detonate animation // ----------------------------------------- if (m_bNeedReload) { SendWeaponAnim(ACT_SLAM_DETONATOR_DETONATE); } else if (m_tSlamState == SLAM_SATCHEL_ATTACH) { SendWeaponAnim(ACT_SLAM_STICKWALL_DETONATE); } else if (m_tSlamState == SLAM_SATCHEL_THROW) { SendWeaponAnim(ACT_SLAM_THROW_DETONATE); } else { return; } SatchelDetonate(); m_flNextPrimaryAttack = gpGlobals->curtime + SequenceDuration(); m_flNextSecondaryAttack = gpGlobals->curtime + SequenceDuration(); }
//----------------------------------------------------------------------------- // Purpose: // Input : // Output : //----------------------------------------------------------------------------- void CWeapon_SLAM::StartSatchelDetonate() { if ( GetActivity() != ACT_SLAM_DETONATOR_IDLE && GetActivity() != ACT_SLAM_THROW_IDLE ) return; // ----------------------------------------- // Play detonate animation // ----------------------------------------- if (m_bNeedReload) { SendWeaponAnim(ACT_SLAM_DETONATOR_DETONATE); } else if (m_tSlamState == SLAM_SATCHEL_ATTACH) { SendWeaponAnim(ACT_SLAM_STICKWALL_DETONATE); } else if (m_tSlamState == SLAM_SATCHEL_THROW) { SendWeaponAnim(ACT_SLAM_THROW_DETONATE); } else { return; } SatchelDetonate(); // needs a higher delay on all of these, a minimum time really - to elimiate refires. m_flNextPrimaryAttack = m_flNextSecondaryAttack = SLAM_REFIRE_DELAY + gpGlobals->curtime + SequenceDuration(); }