bool CWeaponM4A1::Reload() { CMomentumPlayer *pPlayer = GetPlayerOwner(); if (!pPlayer) return false; if (pPlayer->GetAmmoCount(GetPrimaryAmmoType()) <= 0) return false; int iResult = 0; if (m_bSilencerOn) iResult = DefaultReload(GetMaxClip1(), GetMaxClip2(), ACT_VM_RELOAD_SILENCED); else iResult = DefaultReload(GetMaxClip1(), GetMaxClip2(), ACT_VM_RELOAD); if (!iResult) return false; pPlayer->SetAnimation(PLAYER_RELOAD); #ifndef CLIENT_DLL if ((iResult) && (pPlayer->GetFOV() != pPlayer->GetDefaultFOV())) { pPlayer->SetFOV(pPlayer, pPlayer->GetDefaultFOV()); } #endif m_flAccuracy = 0.2; pPlayer->m_iShotsFired = 0; m_bDelayFire = false; return true; }
//----------------------------------------------------------------------------- //----------------------------------------------------------------------------- bool CWeaponG43::Reload( void ) { bool fRet; float fCacheTime = m_flNextSecondaryAttack; fRet = DefaultReload( GetMaxClip1(), GetMaxClip2(), ACT_VM_RELOAD ); if ( fRet ) { // Undo whatever the reload process has done to our secondary // attack timer. We allow you to interrupt reloading to fire // a grenade. m_flNextSecondaryAttack = GetOwner()->m_flNextAttack = fCacheTime; WeaponSound( RELOAD ); CBasePlayer *pOwner = ToBasePlayer( GetOwner() ); CEffectData data; data.m_vOrigin = pOwner->WorldSpaceCenter() + RandomVector( 0, 0 ); data.m_vAngles = QAngle( 90, random->RandomInt( 0, 360 ), 0 ); data.m_nEntIndex = entindex(); DispatchEffect( "ClipEject", data ); } return fRet; }
bool CDODBaseRocketWeapon::Reload( void ) { CDODPlayer *pPlayer = GetDODPlayerOwner(); if (pPlayer->GetAmmoCount( GetPrimaryAmmoType() ) <= 0) { CDODPlayer *pDODPlayer = ToDODPlayer( pPlayer ); pDODPlayer->HintMessage( HINT_AMMO_EXHAUSTED ); return false; } Activity actReload; if( IsDeployed() ) actReload = ACT_VM_RELOAD_DEPLOYED; else actReload = ACT_VM_RELOAD; int iResult = DefaultReload( GetMaxClip1(), GetMaxClip2(), actReload ); if ( !iResult ) return false; pPlayer->SetAnimation( PLAYER_RELOAD ); // if we don't want the auto-rezoom, undeploy here if ( !pPlayer->ShouldAutoRezoom() ) { m_bDeployed = false; pPlayer->SetBazookaDeployed( m_bDeployed ); } return true; }
//----------------------------------------------------------------------------- // Purpose: Same as base reload but doesn't change the owner's next attack time. This // lets us zoom out while reloading. This hack is necessary because our // ItemPostFrame is only called when the owner's next attack time has // expired. // Output : Returns true if the weapon was reloaded, false if no more ammo. //----------------------------------------------------------------------------- bool CWeaponSniperRifle::Reload( void ) { CBaseCombatCharacter *pOwner = GetOwner(); if (!pOwner) { return false; } if (pOwner->GetAmmoCount(m_iPrimaryAmmoType) > 0) { int primary = MIN(GetMaxClip1() - m_iClip1, pOwner->GetAmmoCount(m_iPrimaryAmmoType)); int secondary = MIN(GetMaxClip2() - m_iClip2, pOwner->GetAmmoCount(m_iSecondaryAmmoType)); if (primary > 0 || secondary > 0) { // Play reload on different channel as it happens after every fire // and otherwise steals channel away from fire sound WeaponSound(RELOAD); SendWeaponAnim( ACT_VM_RELOAD ); m_flNextPrimaryAttack = gpGlobals->curtime + SequenceDuration(); m_bInReload = true; } return true; } return false; }
bool CWeaponCSBaseGun::Reload() { CCSPlayer *pPlayer = GetPlayerOwner(); if ( !pPlayer ) return false; if (pPlayer->GetAmmoCount( GetPrimaryAmmoType() ) <= 0) return false; int iResult = DefaultReload( GetMaxClip1(), GetMaxClip2(), ACT_VM_RELOAD ); if ( !iResult ) return false; pPlayer->SetAnimation( PLAYER_RELOAD ); #ifndef CLIENT_DLL if ((iResult) && (pPlayer->GetFOV() != pPlayer->GetDefaultFOV())) { pPlayer->SetFOV( pPlayer, pPlayer->GetDefaultFOV() ); } #endif m_flAccuracy = 0.2; pPlayer->m_iShotsFired = 0; m_bDelayFire = false; pPlayer->SetShieldDrawnState( false ); return true; }
bool CWeaponSAA::Reload( void ) { bool fRet = DefaultReload( GetMaxClip1(), GetMaxClip2(), ACT_VM_RELOAD ); if ( fRet ) WeaponSound( RELOAD ); return fRet; }
//Tony; override for animation purposes. bool CWeaponHL2MPBase::Reload( void ) { bool fRet = DefaultReload( GetMaxClip1(), GetMaxClip2(), ACT_VM_RELOAD ); if ( fRet ) { // WeaponSound( RELOAD ); ToHL2MPPlayer(GetOwner())->DoAnimationEvent( PLAYERANIMEVENT_RELOAD ); } return fRet; }
//----------------------------------------------------------------------------- //----------------------------------------------------------------------------- bool CWeaponPistol::Reload( void ) { bool fRet = DefaultReload( GetMaxClip1(), GetMaxClip2(), ACT_VM_RELOAD ); if ( fRet ) { WeaponSound( RELOAD ); m_flAccuracyPenalty = 0.0f; } return fRet; }
//----------------------------------------------------------------------------- //----------------------------------------------------------------------------- bool CWeaponGlock18::Reload( void ) { bool fRet = DefaultReload( GetMaxClip1(), GetMaxClip2(), ACT_VM_RELOAD ); if ( fRet ) { WeaponSound( RELOAD ); ToHL2MPPlayer(GetOwner())->DoAnimationEvent( PLAYERANIMEVENT_RELOAD ); m_flAccuracyPenalty = 0.0f; } return fRet; }
//----------------------------------------------------------------------------- // Purpose: The gun is being reloaded //----------------------------------------------------------------------------- bool CWeaponAK47::Reload( void ) { bool fRet = DefaultReload( GetMaxClip1(), GetMaxClip2(), ACT_VM_RELOAD ); if ( fRet ) { WeaponSound( RELOAD ); ToHL2MPPlayer(GetOwner())->DoAnimationEvent( PLAYERANIMEVENT_RELOAD ); //reset the burst counter to the default m_iBurst=BURST; } return fRet; }
//----------------------------------------------------------------------------- // Purpose: The gun is being reloaded //----------------------------------------------------------------------------- bool CWeaponMomentumGun::Reload(void) { bool fRet = DefaultReload(GetMaxClip1(), GetMaxClip2(), ACT_VM_RELOAD); if (fRet) { WeaponSound(RELOAD); //ToBaseCombatCharacter(GetOwner())->DoAnimationEvent(PLAYERANIMEVENT_RELOAD); //reset the burst counter to the default m_iBurst = BURST; } return fRet; }
bool CWeaponMosinNagant::Reload( void ) { bool fRet = DefaultReload( GetMaxClip1(), GetMaxClip2(), ACT_VM_RELOAD ); if ( fRet ) { WeaponSound( RELOAD ); if ( m_bInZoom ) { ToggleZoom(); //DHL: Leave zoom at reload } } return fRet; }
//----------------------------------------------------------------------------- //----------------------------------------------------------------------------- bool CWeaponPistol::Reload( void ) { bool fRet = DefaultReload( GetMaxClip1(), GetMaxClip2(), ACT_VM_RELOAD ); if ( fRet ) { WeaponSound( RELOAD ); #ifdef HL2MP_DEV_DLL ToHL2MPPlayer(GetOwner())->DoAnimationEvent( PLAYERANIMEVENT_RELOAD ); #endif // HL2MP_DEV_DLL m_flAccuracyPenalty = 0.0f; } return fRet; }
//----------------------------------------------------------------------------- //----------------------------------------------------------------------------- bool CWeapon_HL2_SMG1::Reload( void ) { bool fRet; fRet = DefaultReload( GetMaxClip1(), GetMaxClip2(), ACT_VM_RELOAD ); if ( fRet ) { WeaponSound( RELOAD ); ToRainbowPlayer(GetOwner())->DoAnimationEvent( PLAYERANIMEVENT_RELOAD ); } return fRet; }
//----------------------------------------------------------------------------- //----------------------------------------------------------------------------- bool CWeaponSMG1::Reload( void ) { bool fRet; float fCacheTime = m_flNextSecondaryAttack; fRet = DefaultReload( GetMaxClip1(), GetMaxClip2(), ACT_VM_RELOAD ); if ( fRet ) { // Undo whatever the reload process has done to our secondary // attack timer. We allow you to interrupt reloading to fire // a grenade. m_flNextSecondaryAttack = GetOwner()->m_flNextAttack = fCacheTime; WeaponSound( RELOAD ); } return fRet; }
bool CWeaponUzi::Reload( void ) { bool fRet; float fCacheTime = m_flNextSecondaryAttack; fRet = DefaultReload( GetMaxClip1(), GetMaxClip2(), ACT_VM_RELOAD ); if ( fRet ) { // Undo whatever the reload process has done to our secondary // attack timer. We allow you to interrupt reloading to fire // a grenade. m_flNextSecondaryAttack = GetOwner()->m_flNextAttack = fCacheTime; WeaponSound( RELOAD ); ToHL2MPPlayer(GetOwner())->DoAnimationEvent( PLAYERANIMEVENT_RELOAD ); } m_flNextPrimaryAttack = gpGlobals->curtime + 1,466666666666667; return fRet; }
//----------------------------------------------------------------------------- //----------------------------------------------------------------------------- bool CWeaponTranquilizer::Reload( void ) { bool fRet; float fCacheTime = m_flNextSecondaryAttack; bool ResetPrimaryFire = m_flNextPrimaryAttack < gpGlobals->curtime; fRet = DefaultReload( GetMaxClip1(), GetMaxClip2(), ACT_VM_RELOAD ); if ( fRet ) { // Undo whatever the reload process has done to our secondary // attack timer. We allow you to interrupt reloading to fire // a grenade. m_flNextSecondaryAttack = GetOwner()->m_flNextAttack = fCacheTime; WeaponSound( RELOAD ); if(ResetPrimaryFire) m_flNextPrimaryAttack = gpGlobals->curtime; } return fRet; }
void CASW_Weapon::FinishReload( void ) { CASW_Marine *pOwner = GetMarine(); if (pOwner) { // If I use primary clips, reload primary if ( UsesClipsForAmmo1() ) { // asw: throw away what's in the clip currently m_iClip1 = 0; int primary = MIN( GetMaxClip1() - m_iClip1, pOwner->GetAmmoCount(m_iPrimaryAmmoType)); m_iClip1 += primary; pOwner->RemoveAmmo( primary, m_iPrimaryAmmoType); } // If I use secondary clips, reload secondary if ( UsesClipsForAmmo2() ) { int secondary = MIN( GetMaxClip2() - m_iClip2, pOwner->GetAmmoCount(m_iSecondaryAmmoType)); m_iClip2 += secondary; pOwner->RemoveAmmo( secondary, m_iSecondaryAmmoType ); } if ( m_bReloadsSingly ) { m_bInReload = false; } #ifdef GAME_DLL if ( !m_bFastReloadSuccess ) { pOwner->m_nFastReloadsInARow = 0; } #endif m_bFastReloadSuccess = false; m_bFastReloadFailure = false; } }
bool CASW_Weapon::Reload( void ) { bool bReloaded = ASWReload( GetMaxClip1(), GetMaxClip2(), ACT_VM_RELOAD ); if ( bReloaded ) { #ifdef GAME_DLL CASW_Marine *pMarine = GetMarine(); if ( pMarine ) { if ( pMarine->IsAlienNear() ) { pMarine->GetMarineSpeech()->Chatter(CHATTER_RELOADING); } CASW_Marine_Resource *pMR = pMarine->GetMarineResource(); if ( pMR ) { pMR->m_TimelineAmmo.RecordValue( pMarine->GetAllAmmoCount() ); } } // riflemod: infinite ammo for rifle, protorifle and flamer /*if ( !stricmp(this->GetPickupClass(), "asw_pickup_rifle") || !stricmp(this->GetPickupClass(), "asw_pickup_prifle") || !stricmp(this->GetPickupClass(), "asw_pickup_flamer") ) { CASW_Marine *m = this->GetMarine(); if (m) { m->GiveAmmo( 1000, this->GetPrimaryAmmoType() ); } }//*/ #endif } return bReloaded; }
bool CWeaponMP5::Reload( ) { CSDKPlayer *pPlayer = GetPlayerOwner(); if (pPlayer->GetAmmoCount( GetPrimaryAmmoType() ) <= 0) return false; int iResult = DefaultReload( GetMaxClip1(), GetMaxClip2(), ACT_VM_RELOAD ); if ( !iResult ) return false; pPlayer->SetAnimation( PLAYER_RELOAD ); #ifndef CLIENT_DLL if ((iResult) && (pPlayer->GetFOV() != pPlayer->GetDefaultFOV())) { pPlayer->SetFOV( pPlayer, pPlayer->GetDefaultFOV() ); } #endif pPlayer->m_iShotsFired = 0; return true; }