Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // -----------------------
- // Reload pressed / Clip Empty
- // -----------------------
- if ( ( pOwner->m_nButtons & IN_RELOAD ) && UsesClipsForAmmo1() && !m_bInReload )
- {
- if (CheckReloadButton())
- {
- // Update reload hold time only once
- if (m_bReloadHolding >= 2.0f)
- {
- CheckAmmo();
- }
- }
- else
- {
- // reload when reload is pressed, or if no buttons are down and weapon is empty.
- Reload();
- m_fFireDuration = 0.0f;
- }
- }
- //-----------------------------------------------------------------------------
- // Purpose:
- //-----------------------------------------------------------------------------
- bool CBaseCombatWeapon::CheckReloadButton(void)
- {
- CBasePlayer *pOwner = ToBasePlayer(GetOwner());
- if (!pOwner)
- return;
- pOwner->m_nButtons & IN_RELOAD; // don't reload again until released
- return true;
- //Don't reload again if it's been too soon
- if (m_flReloadTime > gpGlobals->curtime)
- return;
- //See if we're starting a hold button
- if (m_bReloadHolding == false)
- {
- m_flReloadHoldStartTime = gpGlobals->curtime;
- m_bReloadHolding = true;
- return;
- }
- else
- {
- float flReloadAmount = (gpGlobals->curtime - m_flReloadHoldStartTime) / WEAPON_RELOAD_CHECK_TIME;
- if (flReloadAmount > 1.0f)
- {
- flReloadAmount = 1.0f;
- }
- }
- }
- bool CBaseCombatWeapon::CheckAmmo(void)
- {
- CBasePlayer *pOwner = ToBasePlayer(GetOwner());
- if (!pOwner)
- return;
- m_bReloadHolding = false;
- m_flReloadTime = gpGlobals->curtime + 0.5f;
- // Play the player's check ammo animation
- if (pOwner->IsPlayer())
- {
- SendWeaponAnim(ACT_VM_FIDGET);;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment