void CFlashbang::__MAKE_VHOOK(PrimaryAttack)() { if (m_iWeaponState & WPNSTATE_SHIELD_DRAWN) { return; } if (!m_flStartThrow && m_pPlayer->m_rgAmmo[m_iPrimaryAmmoType] > 0) { m_flReleaseThrow = 0; m_flStartThrow = gpGlobals->time; SendWeaponAnim(FLASHBANG_PULLPIN, UseDecrement() != FALSE); m_flTimeWeaponIdle = UTIL_WeaponTimeBase() + 0.5f; } }
void CP90::Reload( void ) { int iResult; if (m_iClip == 0) iResult = DefaultReload( 30, MP5_RELOAD, 2.4 ); else iResult = DefaultReload( 30, MP5_RELOAD, 2.4 ); if (iResult) { m_flTimeWeaponIdle = UTIL_WeaponTimeBase() + UTIL_SharedRandomFloat( m_pPlayer->random_seed, 10, 15 ); m_pPlayer->SetAnimation( PLAYER_RELOAD ); } //m_pPlayer->SetAnimation( PLAYER_RELOAD ); }
void CGlock::Reload( void ) { if ( m_pPlayer->ammo_9mm <= 0 ) return; int iResult; if (m_iClip == 0) iResult = DefaultReload( 17, GLOCK_RELOAD, 1.5 ); else iResult = DefaultReload( 17, GLOCK_RELOAD_NOT_EMPTY, 1.5 ); if (iResult) { m_flTimeWeaponIdle = UTIL_WeaponTimeBase() + UTIL_SharedRandomFloat( m_pPlayer->random_seed, 10, 15 ); } }
void CSmokeGrenade::PrimaryAttack( void ) { if( FBitSet( m_iWeaponState, WPNSTATE_SHIELD_DRAWN ) ) { return; } if( !m_flStartThrow && m_pPlayer->m_rgAmmo[ m_iPrimaryAmmoType ] > 0 ) { m_flStartThrow = gpGlobals->time; m_flReleaseThrow = 0; SendWeaponAnim( SMOKEGRENADE_PINPULL, UseDecrement() != FALSE ); m_flTimeWeaponIdle = UTIL_WeaponTimeBase() + 0.5; } }
void CDiscWeapon::Holster( int skiplocal /* = 0 */ ) { m_pPlayer->m_flNextAttack = UTIL_WeaponTimeBase() + 0.5; if (m_pPlayer->m_rgAmmo[m_iPrimaryAmmoType]) { SendWeaponAnim( DISC_HOLSTER, 1 ); } else { // no more grenades! m_pPlayer->pev->weapons &= ~(1<<WEAPON_DISC); SetThink( &CDiscWeapon::DestroyItem ); pev->nextthink = gpGlobals->time + 0.1; } EMIT_SOUND(ENT(m_pPlayer->pev), CHAN_WEAPON, "common/null.wav", 1.0, ATTN_NORM); }
void CGlock::Reload( void ) { if ( m_pPlayer->m_rgAmmo[ PrimaryAmmoIndex() ] <= 0 ) return; bool bResult; if (m_iClip == 0) bResult = DefaultReload( GLOCK_RELOAD, 1.5 ); else bResult = DefaultReload( GLOCK_RELOAD_NOT_EMPTY, 1.5 ); if ( bResult ) { m_flTimeWeaponIdle = UTIL_WeaponTimeBase() + UTIL_SharedRandomFloat( m_pPlayer->random_seed, 10, 15 ); } }
void CRpg::Holster( int skiplocal /* = 0 */ ) { m_fInReload = FALSE;// cancel any reload in progress. m_pPlayer->m_flNextAttack = UTIL_WeaponTimeBase() + 0.5; SendWeaponAnim( RPG_HOLSTER1 ); #ifndef CLIENT_DLL if (m_pSpot) { m_pSpot->Killed( NULL, GIB_NEVER ); m_pSpot = NULL; } #endif }
/* <2466fc> ../cstrike/dlls/wpn_shared/wpn_c4.cpp:123 */ void CC4::__MAKE_VHOOK(Holster)(int skiplocal) { m_pPlayer->m_flNextAttack = UTIL_WeaponTimeBase() + 0.5; m_bStartedArming = false; if (!m_pPlayer->m_rgAmmo[m_iPrimaryAmmoType]) { m_pPlayer->pev->weapons &= ~(1 << WEAPON_C4); DestroyItem(); } if (m_bHasShield) { m_pPlayer->pev->gamestate = 0; m_bHasShield = false; } }
void CAWP::SecondaryAttack() { switch( m_pPlayer->m_iFOV ) { case 90 : m_pPlayer->m_iFOV = m_pPlayer->pev->fov = 40; case 40 : m_pPlayer->m_iFOV = m_pPlayer->pev->fov = 10; case 10 : m_pPlayer->m_iFOV = m_pPlayer->pev->fov = 90; } /*! @todo: Implements this : if( TheBots ) TheBots->OnEvent( EVENT_WEAPON_ZOOMED, m_pPlayer->pev, NULL ); */ m_pPlayer->ResetMaxSpeed(); EMIT_SOUND_DYN( ENT( m_pPlayer->pev ), CHAN_ITEM, "weapons/zoom.wav", VOL_NORM, 2.4, 0, ATTN_NORM ); m_flNextSecondaryAttack = UTIL_WeaponTimeBase() + 0.3; }
/* <2cad77> ../cstrike/dlls/wpn_shared/wpn_xm1014.cpp:182 */ void CXM1014::__MAKE_VHOOK(Reload)() { if (m_pPlayer->m_rgAmmo[m_iPrimaryAmmoType] <= 0 || m_iClip == XM1014_MAX_CLIP) return; // don't reload until recoil is done if (m_flNextPrimaryAttack > UTIL_WeaponTimeBase()) return; // check to see if we're ready to reload if (m_fInSpecialReload == 0) { m_pPlayer->SetAnimation(PLAYER_RELOAD); SendWeaponAnim(XM1014_START_RELOAD, UseDecrement() != FALSE); m_fInSpecialReload = 1; m_pPlayer->m_flNextAttack = UTIL_WeaponTimeBase() + 0.55f; m_flTimeWeaponIdle = UTIL_WeaponTimeBase() + 0.55f; m_flNextPrimaryAttack = GetNextAttackDelay(0.55); m_flNextSecondaryAttack = UTIL_WeaponTimeBase() + 0.55f; } else if (m_fInSpecialReload == 1) { if (m_flTimeWeaponIdle > UTIL_WeaponTimeBase()) return; // was waiting for gun to move to side m_fInSpecialReload = 2; if (RANDOM_LONG(0, 1)) EMIT_SOUND_DYN(m_pPlayer->edict(), CHAN_ITEM, "weapons/reload1.wav", VOL_NORM, ATTN_NORM, 0, 85 + RANDOM_LONG(0, 31)); else EMIT_SOUND_DYN(m_pPlayer->edict(), CHAN_ITEM, "weapons/reload3.wav", VOL_NORM, ATTN_NORM, 0, 85 + RANDOM_LONG(0, 31)); SendWeaponAnim(XM1014_RELOAD, UseDecrement()); m_flNextReload = UTIL_WeaponTimeBase() + 0.3f; m_flTimeWeaponIdle = UTIL_WeaponTimeBase() + 0.3f; } else { ++m_iClip; --m_pPlayer->m_rgAmmo[m_iPrimaryAmmoType]; --m_pPlayer->ammo_buckshot; m_fInSpecialReload = 1; } }
void AvHBasePlayerWeapon::SetNextAttack(void) { // this->m_flNextPrimaryAttack += this->mROF; // // if(this->m_flNextPrimaryAttack < 0) // this->m_flNextPrimaryAttack = this->mROF; float theRateOfFire = this->ComputeAttackInterval(); this->m_flNextPrimaryAttack = UTIL_WeaponTimeBase() + theRateOfFire; if(this->m_flNextPrimaryAttack < 0) { this->m_flNextPrimaryAttack = theRateOfFire; } this->SetNextIdle(); }
void CUsas::WeaponIdle( void ) { UpdateSpot( ); MakeLaserSight(); ResetEmptySound( ); // m_iFiring = FALSE; //test /* int flags; #if defined( CLIENT_WEAPONS ) flags = FEV_NOTHOST; #else flags = 0; #endif PLAYBACK_EVENT( flags, m_pPlayer->edict(), m_usSpriteTracer ); ALERT (at_console, "calling spr\n"); */ m_pPlayer->GetAutoaimVector( AUTOAIM_5DEGREES ); if ( m_flTimeWeaponIdle > UTIL_WeaponTimeBase() ) return; int iAnim; switch ( RANDOM_LONG( 0, 1 ) ) { case 0: iAnim = USAS_IDLE1; break; default: case 1: iAnim = USAS_IDLE1; break; } SendWeaponAnim( iAnim ); m_flTimeWeaponIdle = UTIL_SharedRandomFloat( m_pPlayer->random_seed, 10, 15 ); // how long till we do this again. }
void CHEGrenade::Holster( int skiplocal ) { m_pPlayer->m_flNextAttack = UTIL_WeaponTimeBase() + 0.5; if ( m_pPlayer->m_rgAmmo[ m_iPrimaryAmmoType ] ) { //SendWeaponAnim( HANDGRENADE_HOLSTER ); } else { // no more grenades! m_pPlayer->pev->weapons &= ~(1<<WEAPON_HEGRENADE); SetThink( &CBasePlayerItem::DestroyItem ); pev->nextthink = gpGlobals->time + 0.1; } EMIT_SOUND(ENT(m_pPlayer->pev), CHAN_WEAPON, "common/null.wav", 1.0, ATTN_NORM); }
// this function only gets called in multiplayer void CCrossbow::FireSniperBolt() { m_flNextPrimaryAttack = UTIL_WeaponTimeBase() + 0.75; if (m_iClip == 0) { PlayEmptySound( ); return; } TraceResult tr; m_pPlayer->m_iWeaponVolume = QUIET_GUN_VOLUME; m_iClip--; int flags; #if defined( CLIENT_WEAPONS ) flags = FEV_NOTHOST; #else flags = 0; #endif PLAYBACK_EVENT_FULL( flags, m_pPlayer->edict(), m_usCrossbow2, 0.0, (float *)&g_vecZero, (float *)&g_vecZero, 0, 0, m_iClip, m_pPlayer->m_rgAmmo[m_iPrimaryAmmoType], 0, 0 ); // player "shoot" animation m_pPlayer->SetAnimation( PLAYER_ATTACK1 ); Vector anglesAim = m_pPlayer->pev->v_angle + m_pPlayer->pev->punchangle; UTIL_MakeVectors( anglesAim ); Vector vecSrc = m_pPlayer->GetGunPosition( ) - gpGlobals->v_up * 2; Vector vecDir = gpGlobals->v_forward; UTIL_TraceLine(vecSrc, vecSrc + vecDir * 8192, dont_ignore_monsters, m_pPlayer->edict(), &tr); #ifndef CLIENT_DLL if ( tr.pHit->v.takedamage ) { ClearMultiDamage( ); CBaseEntity::Instance(tr.pHit)->TraceAttack(m_pPlayer->pev, 120, vecDir, &tr, DMG_BULLET | DMG_NEVERGIB ); ApplyMultiDamage( pev, m_pPlayer->pev ); } #endif }
void CAWP::__MAKE_VHOOK(SecondaryAttack)() { switch (m_pPlayer->m_iFOV) { case 90: m_pPlayer->m_iFOV = m_pPlayer->pev->fov = 40; break; case 40: m_pPlayer->m_iFOV = m_pPlayer->pev->fov = 10; break; default: m_pPlayer->m_iFOV = m_pPlayer->pev->fov = 90; break; } if (TheBots != NULL) { TheBots->OnEvent(EVENT_WEAPON_ZOOMED, m_pPlayer); } m_pPlayer->ResetMaxSpeed(); EMIT_SOUND(m_pPlayer->edict(), CHAN_ITEM, "weapons/zoom.wav", 0.2, 2.4); m_flNextSecondaryAttack = UTIL_WeaponTimeBase() + 0.3; }
void CRpg::PrimaryAttack() { if ( m_iClip ) { m_pPlayer->m_iWeaponVolume = LOUD_GUN_VOLUME; m_pPlayer->m_iWeaponFlash = BRIGHT_GUN_FLASH; #ifndef CLIENT_DLL // player "shoot" animation m_pPlayer->SetAnimation( PLAYER_ATTACK1 ); UTIL_MakeVectors( m_pPlayer->pev->v_angle ); Vector vecSrc = m_pPlayer->GetGunPosition( ) + gpGlobals->v_forward * 16 + gpGlobals->v_right * 8 + gpGlobals->v_up * -8; CRpgRocket *pRocket = CRpgRocket::CreateRpgRocket( vecSrc, m_pPlayer->pev->v_angle, m_pPlayer, this ); UTIL_MakeVectors( m_pPlayer->pev->v_angle );// RpgRocket::Create stomps on globals, so remake. pRocket->pev->velocity = pRocket->pev->velocity + gpGlobals->v_forward * DotProduct( m_pPlayer->pev->velocity, gpGlobals->v_forward ); #endif // firing RPG no longer turns on the designator. ALT fire is a toggle switch for the LTD. // Ken signed up for this as a global change (sjb) int flags; #if defined( CLIENT_WEAPONS ) flags = FEV_NOTHOST; #else flags = 0; #endif PLAYBACK_EVENT( flags, m_pPlayer->edict(), m_usRpg ); m_iClip--; m_flNextPrimaryAttack = GetNextAttackDelay(1.5); m_flTimeWeaponIdle = UTIL_WeaponTimeBase() + 1.5; } else { PlayEmptySound( ); } UpdateSpot( ); }
void CM3::Reload(void) { if (m_pPlayer->m_rgAmmo[m_iPrimaryAmmoType] <= 0 || m_iClip == M3_MAX_CLIP) return; if (m_flNextPrimaryAttack > UTIL_WeaponTimeBase()) return; if (!m_fInSpecialReload) { #ifndef CLIENT_DLL m_pPlayer->SetAnimation(PLAYER_RELOAD); #endif SendWeaponAnim(M3_START_RELOAD, UseDecrement() != FALSE); m_fInSpecialReload = 1; m_pPlayer->m_flNextAttack = UTIL_WeaponTimeBase() + 0.55; m_flTimeWeaponIdle = UTIL_WeaponTimeBase() + 0.55; m_flNextPrimaryAttack = UTIL_WeaponTimeBase() + 0.55; m_flNextSecondaryAttack = UTIL_WeaponTimeBase() + 0.55; } else if (m_fInSpecialReload == 1) { if (m_flTimeWeaponIdle > UTIL_WeaponTimeBase()) return; m_fInSpecialReload = 2; SendWeaponAnim(M3_RELOAD, UseDecrement() != FALSE); m_flNextReload = UTIL_WeaponTimeBase() + 0.45; m_flTimeWeaponIdle = UTIL_WeaponTimeBase() + 0.45; } else { m_iClip++; m_pPlayer->m_rgAmmo[m_iPrimaryAmmoType]--; m_fInSpecialReload = 1; m_pPlayer->ammo_buckshot--; } }
void CShotgun::Reload( void ) { if (m_pPlayer->m_rgAmmo[m_iPrimaryAmmoType] <= 0 || m_iClip == SHOTGUN_MAX_CLIP) return; // don't reload until recoil is done if (m_flNextPrimaryAttack > UTIL_WeaponTimeBase()) return; // check to see if we're ready to reload if (m_fInSpecialReload == 0) { SendWeaponAnim( SHOTGUN_START_RELOAD ); m_fInSpecialReload = 1; m_pPlayer->m_flNextAttack = UTIL_WeaponTimeBase() + 0.6; m_flTimeWeaponIdle = UTIL_WeaponTimeBase() + 0.6; m_flNextPrimaryAttack = GetNextAttackDelay(1.0); m_flNextSecondaryAttack = UTIL_WeaponTimeBase() + 1.0; return; } else if (m_fInSpecialReload == 1) { if (m_flTimeWeaponIdle > UTIL_WeaponTimeBase()) return; // was waiting for gun to move to side m_fInSpecialReload = 2; if (RANDOM_LONG(0,1)) EMIT_SOUND_DYN(ENT(m_pPlayer->pev), CHAN_ITEM, "weapons/reload1.wav", 1, ATTN_NORM, 0, 85 + RANDOM_LONG(0,0x1f)); else EMIT_SOUND_DYN(ENT(m_pPlayer->pev), CHAN_ITEM, "weapons/reload3.wav", 1, ATTN_NORM, 0, 85 + RANDOM_LONG(0,0x1f)); SendWeaponAnim( SHOTGUN_RELOAD ); m_flNextReload = UTIL_WeaponTimeBase() + 0.5; m_flTimeWeaponIdle = UTIL_WeaponTimeBase() + 0.5; } else { // Add them to the clip m_iClip += 1; m_pPlayer->m_rgAmmo[m_iPrimaryAmmoType] -= 1; m_fInSpecialReload = 1; } }
void CM3::Reload( void ) { if ( m_pPlayer->m_rgAmmo[m_iPrimaryAmmoType] <= 0 || m_iClip == 8 ) return; // don't reload until recoil is done if (m_flNextPrimaryAttack > UTIL_WeaponTimeBase()) return; // check to see if we're ready to reload if (m_fInSpecialReload == 0) { SendWeaponAnim( M3_START_RELOAD ); m_fInSpecialReload = 1; m_pPlayer->m_flNextAttack = UTIL_WeaponTimeBase() + 0.6; m_flTimeWeaponIdle = UTIL_WeaponTimeBase() + 0.6; m_flNextPrimaryAttack = UTIL_WeaponTimeBase() + 1.0; m_flNextSecondaryAttack = UTIL_WeaponTimeBase() + 1.0; return; } else if (m_fInSpecialReload == 1) { if (m_flTimeWeaponIdle > UTIL_WeaponTimeBase()) return; // was waiting for gun to move to side m_fInSpecialReload = 2; SendWeaponAnim( M3_INSERT ); m_flNextReload = UTIL_WeaponTimeBase() + 0.5; m_flTimeWeaponIdle = UTIL_WeaponTimeBase() + 0.5; } else { // Add them to the clip m_iClip += 1; m_pPlayer->m_rgAmmo[m_iPrimaryAmmoType] -= 1; m_fInSpecialReload = 1; } }
void CShotgun::Reload( void ) { if (m_pPlayer->m_rgAmmo[ PrimaryAmmoIndex() ] <= 0 || m_iClip == iMaxClip()) return; // don't reload until recoil is done if (m_flNextPrimaryAttack > UTIL_WeaponTimeBase()) return; // check to see if we're ready to reload if (m_InSpecialReload == ReloadState::NOT_RELOADING ) { SendWeaponAnim( SHOTGUN_START_RELOAD ); m_InSpecialReload = ReloadState::DO_RELOAD_EFFECTS; m_pPlayer->m_flNextAttack = UTIL_WeaponTimeBase() + 0.6; m_flTimeWeaponIdle = UTIL_WeaponTimeBase() + 0.6; m_flNextPrimaryAttack = GetNextAttackDelay(1.0); m_flNextSecondaryAttack = UTIL_WeaponTimeBase() + 1.0; return; } else if ( m_InSpecialReload == ReloadState::DO_RELOAD_EFFECTS ) { if (m_flTimeWeaponIdle > UTIL_WeaponTimeBase()) return; // was waiting for gun to move to side m_InSpecialReload = ReloadState::RELOAD_ONE; if (RANDOM_LONG(0,1)) EMIT_SOUND_DYN( m_pPlayer, CHAN_ITEM, "weapons/reload1.wav", 1, ATTN_NORM, 0, 85 + RANDOM_LONG(0,0x1f)); else EMIT_SOUND_DYN( m_pPlayer, CHAN_ITEM, "weapons/reload3.wav", 1, ATTN_NORM, 0, 85 + RANDOM_LONG(0,0x1f)); SendWeaponAnim( SHOTGUN_RELOAD ); m_flNextReload = UTIL_WeaponTimeBase() + 0.5; m_flTimeWeaponIdle = UTIL_WeaponTimeBase() + 0.5; } else { // Add them to the clip m_iClip += 1; m_pPlayer->m_rgAmmo[ PrimaryAmmoIndex() ] -= 1; m_InSpecialReload = ReloadState::DO_RELOAD_EFFECTS; } }
void CPython::SecondaryAttack() { if (m_fInZoom == FALSE) //false { m_pPlayer->pev->fov = m_pPlayer->m_iFOV = 45; m_fInZoom = TRUE;//**ON** m_pPlayer->b_EstaEnZoom = TRUE; #ifndef CLIENT_DLL m_pPlayer->pev->viewmodel = MAKE_STRING("models/weapons/357/v_357_scope.mdl"); #else LoadVModel ( "models/weapons/357/v_357_scope.mdl", m_pPlayer ); #endif UTIL_ScreenFade( m_pPlayer, Vector(0,0,0), 1, 0.1, 255, FFADE_IN); //fade to red EMIT_SOUND_DYN(ENT(m_pPlayer->pev), CHAN_ITEM, "weapons/zoom.wav", RANDOM_FLOAT(0.95, 1.0), ATTN_NORM, 0, 93 + RANDOM_LONG(0,0xF)); } else { m_pPlayer->b_EstaEnZoom = FALSE; m_pPlayer->pev->fov = m_pPlayer->m_iFOV = 0; m_fInZoom = FALSE;//**OFF** #ifndef CLIENT_DLL if (!FStringNull (v_model) ) m_pPlayer->pev->viewmodel = v_model; else m_pPlayer->pev->viewmodel = MAKE_STRING("models/weapons/357/v_357.mdl");//model default #else if (!FStringNull (v_model) ) m_pPlayer->pev->viewmodel = v_model; else LoadVModel ( "models/weapons/357/v_357.mdl", m_pPlayer ); #endif EMIT_SOUND_DYN(ENT(m_pPlayer->pev), CHAN_ITEM, "weapons/zoom.wav", RANDOM_FLOAT(0.95, 1.0), ATTN_NORM, 0, 93 + RANDOM_LONG(0,0xF)); } // pev->nextthink = UTIL_WeaponTimeBase() + 0.1; m_flNextSecondaryAttack = UTIL_WeaponTimeBase() + 0.5; }
BOOL CBasePlayerWeapon :: DefaultReload( int iClipSize, int iAnim, float fDelay ) { if (m_pPlayer->m_rgAmmo[m_iPrimaryAmmoType] <= 0) return FALSE; int j = min(iClipSize - m_iClip, m_pPlayer->m_rgAmmo[m_iPrimaryAmmoType]); if (j == 0) return FALSE; m_pPlayer->m_flNextAttack = UTIL_WeaponTimeBase() + fDelay; //!!UNDONE -- reload sound goes here !!! SendWeaponAnim( iAnim ); m_fInReload = TRUE; m_flTimeWeaponIdle = gpGlobals->time + 3; return TRUE; }
BOOL CUsas::Deploy( ) { #ifdef CLIENT_DLL if ( bIsMultiplayer() ) #else if ( g_pGameRules->IsMultiplayer() ) #endif { // enable laser sight geometry. pev->body = 3; } else { pev->body = 0; } EMIT_SOUND_DYN(ENT(m_pPlayer->pev), CHAN_ITEM, "weapons/weapon_deploy.wav", RANDOM_FLOAT(0.95, 1.0), ATTN_NORM, 0, 93 + RANDOM_LONG(0,0xF)); m_flNextPrimaryAttack = UTIL_WeaponTimeBase() + 1.1; return DefaultDeploy( "models/weapons/USAS/v_USAS.mdl", "models/weapons/USAS/p_USAS.mdl", USAS_DEPLOY, "xm4", UseDecrement(), pev->body ); }
void CShotgun::WeaponIdle( void ) { if (m_flTimeWeaponIdle < UTIL_WeaponTimeBase() ) { if (m_iClip == 0 && m_fInSpecialReload == 0 && m_pPlayer->m_rgAmmo[m_iPrimaryAmmoType]) { Reload( ); } else if (m_fInSpecialReload != 0) { if (m_iClip != 8 && m_pPlayer->m_rgAmmo[m_iPrimaryAmmoType]) { Reload( ); } else { // reload debounce has timed out SendWeaponAnim( SHOTGUN_PUMP ); m_fInSpecialReload = 0; m_flTimeWeaponIdle = UTIL_WeaponTimeBase() + 1.5; //LLAPb begin m_flNextPrimaryAttack = UTIL_WeaponTimeBase() + 1.1; //LLAPb end } } else { int iAnim; float flRand = UTIL_SharedRandomFloat( m_pPlayer->random_seed, 0, 1 ); if (flRand <= 0.8) { iAnim = SHOTGUN_IDLE1; m_flTimeWeaponIdle = UTIL_WeaponTimeBase() + (60.0/12.0);// * RANDOM_LONG(2, 5); } else if (flRand <= 0.95) { iAnim = SHOTGUN_IDLE2; m_flTimeWeaponIdle = UTIL_WeaponTimeBase() + (20.0/9.0); } else { iAnim = SHOTGUN_IDLE3; m_flTimeWeaponIdle = UTIL_WeaponTimeBase() + (20.0/9.0); } SendWeaponAnim( iAnim ); } } }
void CPython::WeaponIdle( void ) { ResetEmptySound( ); m_pPlayer->GetAutoaimVector( AUTOAIM_10DEGREES ); if (m_flTimeWeaponIdle > UTIL_WeaponTimeBase() ) return; int iAnim; float flRand = UTIL_SharedRandomFloat( m_pPlayer->random_seed, 0, 1 ); if (flRand <= 0.5) { iAnim = PYTHON_IDLE1; m_flTimeWeaponIdle = (70.0/30.0); } else if (flRand <= 0.7) { iAnim = PYTHON_IDLE2; m_flTimeWeaponIdle = (60.0/30.0); } else if (flRand <= 0.9) { iAnim = PYTHON_IDLE3; m_flTimeWeaponIdle = (88.0/30.0); } else { iAnim = PYTHON_FIDGET; m_flTimeWeaponIdle = (170.0/30.0); } int bUseScope = FALSE; #ifdef CLIENT_DLL bUseScope = bIsMultiplayer(); #else bUseScope = g_pGameRules->IsMultiplayer(); #endif SendWeaponAnim( iAnim, UseDecrement() ? 1 : 0, bUseScope ); }
void CSatchel::Holster( int skiplocal /* = 0 */ ) { m_pPlayer->m_flNextAttack = UTIL_WeaponTimeBase() + 0.5; if ( m_chargeReady ) { SendWeaponAnim( SATCHEL_RADIO_HOLSTER ); } else { SendWeaponAnim( SATCHEL_DROP ); } EMIT_SOUND(ENT(m_pPlayer->pev), CHAN_WEAPON, "common/null.wav", 1.0, ATTN_NORM); if ( !m_pPlayer->m_rgAmmo[m_iPrimaryAmmoType] && !m_chargeReady ) { m_pPlayer->pev->weapons &= ~(1<<WEAPON_SATCHEL); SetThink( CBasePlayerItem::DestroyItem ); pev->nextthink = gpGlobals->time + 0.1; } }
void CAWP::SecondaryAttack(void) { switch (m_pPlayer->m_iFOV) { case 90: m_pPlayer->m_iFOV = m_pPlayer->pev->fov = 40; break; case 40: m_pPlayer->m_iFOV = m_pPlayer->pev->fov = 10; break; default: m_pPlayer->m_iFOV = m_pPlayer->pev->fov = 90; break; } // TODO: Implement me. // if( TheBots ) // { // TheBots->OnEvent( EVENT_WEAPON_ZOOMED, m_pPlayer, NULL ); // } m_pPlayer->ResetMaxSpeed(); EMIT_SOUND(m_pPlayer->edict(), CHAN_ITEM, "weapons/zoom.wav", 0.2, 2.4); m_flNextSecondaryAttack = UTIL_WeaponTimeBase() + 0.3; }
void AvHBasePlayerWeapon::PrimeWeapon() { float thePrimeTime = this->GetWeaponPrimeTime(); if(thePrimeTime > 0.0f) { if(!this->GetIsWeaponPriming()) { char* thePrimeSound = this->GetPrimeSound(); if(thePrimeSound) { EMIT_SOUND(ENT(this->pev), CHAN_WEAPON, thePrimeSound, this->GetPrimeSoundVolume(), ATTN_NORM); } this->PlaybackEvent(this->mWeaponAnimationEvent, this->GetPrimeAnimation()); this->mTimeOfLastPrime = UTIL_WeaponTimeBase() + thePrimeTime; this->mWeaponPrimeStarted = true; } } }
BOOL CAK74::Deploy( ) { // CVAR_SET_FLOAT( "in_reload", 1 ); EMIT_SOUND_DYN(ENT(m_pPlayer->pev), CHAN_ITEM, "weapons/weapon_deploy.wav", RANDOM_FLOAT(0.95, 1.0), ATTN_NORM, 0, 93 + RANDOM_LONG(0,0xF)); m_flNextPrimaryAttack = UTIL_WeaponTimeBase() + 1.1; if (!FStringNull (v_model) ) { m_pPlayer->pev->viewmodel = v_model; // m_pPlayer->pev->weaponmodel = p_model; SendWeaponAnim( AK_NMC_DEPLOY, 1, 0 ); return TRUE; } else { return DefaultDeploy( AK74_MODEL_1STPERSON, AK74_MODEL_3RDPERSON, AK_NMC_DEPLOY, "ar25" ); //"mp5" } }
void CPython::WeaponIdle( void ) { ResetEmptySound(); m_pPlayer->GetAutoaimVector( AUTOAIM_10DEGREES ); // ALERT( at_console, "%.2f\n", gpGlobals->time - m_flSoundDelay ); if( m_flSoundDelay != 0 && m_flSoundDelay <= UTIL_WeaponTimeBase() ) { EMIT_SOUND( ENT( m_pPlayer->pev ), CHAN_WEAPON, "weapons/357_reload1.wav", RANDOM_FLOAT( 0.8, 0.9 ), ATTN_NORM ); m_flSoundDelay = 0; } if( m_flTimeWeaponIdle > UTIL_WeaponTimeBase() ) return; int iAnim; float flRand = UTIL_SharedRandomFloat( m_pPlayer->random_seed, 0.0f, 1.0f ); if( flRand <= 0.5 ) { iAnim = PYTHON_IDLE1; m_flTimeWeaponIdle = UTIL_WeaponTimeBase() + ( 70.0 / 30.0 ); } else if( flRand <= 0.7 ) { iAnim = PYTHON_IDLE2; m_flTimeWeaponIdle = UTIL_WeaponTimeBase() + ( 60.0 / 30.0 ); } else if( flRand <= 0.9 ) { iAnim = PYTHON_IDLE3; m_flTimeWeaponIdle = UTIL_WeaponTimeBase() + ( 88.0 / 30.0 ); } else { iAnim = PYTHON_FIDGET; m_flTimeWeaponIdle = UTIL_WeaponTimeBase() + ( 170.0 / 30.0 ); } int bUseScope = FALSE; #ifdef CLIENT_DLL bUseScope = bIsMultiplayer(); #else bUseScope = g_pGameRules->IsMultiplayer(); #endif SendWeaponAnim( iAnim, UseDecrement() ? 1 : 0, bUseScope ); }