Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- float CSpread::GetSpread( )
- {
- float flSpread = 0.0f;
- int iFlags = gGame.m_pLocalPlayer.m_iFlags;
- int iFov = hl2->read< int >( gGame.m_pLocalPlayer.m_dwBasePointer + 0xD1C );
- float flAccuracy = hl2->read< float >( gGame.m_pLocalPlayer.m_dwBaseWeapon + 0x760 );
- bool bWeaponBit = hl2->read< bool >( gGame.m_pLocalPlayer.m_dwBaseWeapon + 0x780 );
- bool bWeaponBitPistol = hl2->read< bool >( gGame.m_pLocalPlayer.m_dwBaseWeapon + 0x778 );
- float iSpeed = gGame.m_pLocalPlayer.m_vecVelocity.Length2D( );
- int iWeaponId = gEngine.GetWeaponId( gGame.m_pLocalPlayer.m_dwBaseWeapon );
- if( iFov == 0 )
- iFov = 90;
- switch( iWeaponId )
- {
- case WEAPON_CSBASE:
- flSpread = 0.0f;
- break;
- case WEAPON_KNIFE:
- flSpread = 0.0f;
- break;
- case WEAPON_HEGRENADE:
- flSpread = 0.0f;
- break;
- case WEAPON_FLASHBANG:
- flSpread = 0.0f;
- break;
- case WEAPON_DEAGLE:
- if( !( iFlags & FL_ONGROUND ) )
- flSpread = 1.5f * ( 1 - flAccuracy );
- else if( iSpeed > 5 )
- flSpread = 0.25f * ( 1 - flAccuracy );
- else if( iFlags & FL_DUCKING )
- flSpread = 0.115f * ( 1 - flAccuracy );
- else
- flSpread = 0.13f * ( 1 - flAccuracy );
- break;
- case WEAPON_ELITE:
- if( !( iFlags & FL_ONGROUND ) )
- flSpread = 1.3f * ( 1 - flAccuracy );
- else if( iSpeed > 5 )
- flSpread = 0.175f * ( 1 - flAccuracy );
- else if( iFlags & FL_DUCKING )
- flSpread = 0.08f * ( 1 - flAccuracy );
- else
- flSpread = 0.1f * ( 1 - flAccuracy );
- break;
- case WEAPON_FAMAS:
- if( !( iFlags & FL_ONGROUND ) )
- flSpread = 0.03f + 0.3f * flAccuracy;
- else if( iSpeed > 140 )
- flSpread = 0.03f + 0.07f * flAccuracy;
- else
- flSpread = 0.02f * flAccuracy;
- break;
- case WEAPON_FIVESEVEN:
- if( !( iFlags & FL_ONGROUND ) )
- flSpread = 1.5f * ( 1 - flAccuracy );
- else if( iSpeed > 5 )
- flSpread = 0.255f * ( 1 - flAccuracy );
- else if( iFlags & FL_DUCKING )
- flSpread = 0.075f * ( 1 - flAccuracy );
- else
- flSpread = 0.15f * ( 1 - flAccuracy );
- break;
- case WEAPON_G3SG1:
- if( !( iFlags & FL_ONGROUND ) )
- flSpread = 0.45f * ( 1 - flAccuracy );
- else if( iSpeed > 5 )
- flSpread = 0.15f;
- else if( iFlags & FL_DUCKING )
- flSpread = 0.035f * ( 1 - flAccuracy );
- else
- flSpread = 0.055f * ( 1 - flAccuracy );
- break;
- case WEAPON_GALIL:
- if( !( iFlags & FL_ONGROUND ) )
- flSpread = 0.04f + 0.3f * flAccuracy;
- else if( iSpeed > 140 )
- flSpread = 0.04f + 0.07f * flAccuracy;
- else
- flSpread = 0.0375f * flAccuracy;
- break;
- case WEAPON_GLOCK:
- if( bWeaponBitPistol )
- {
- if( !( iFlags & FL_ONGROUND ) )
- flSpread = 1.2f * ( 1 - flAccuracy );
- else if( iSpeed > 5 )
- flSpread = 0.185f * ( 1 - flAccuracy );
- else if( iFlags & FL_DUCKING )
- flSpread = 0.095f * ( 1 - flAccuracy );
- else
- flSpread = 0.3f * ( 1 - flAccuracy );
- }
- else
- {
- if( !( iFlags & FL_ONGROUND ) )
- flSpread = 1.0f * ( 1 - flAccuracy );
- else if( iSpeed > 5 )
- flSpread = 0.165f * ( 1 - flAccuracy );
- else if( iFlags & FL_DUCKING )
- flSpread = 0.075f * ( 1 - flAccuracy );
- else
- flSpread = 0.1f * ( 1 - flAccuracy );
- }
- break;
- case WEAPON_M249:
- if( !( iFlags & FL_ONGROUND ) )
- flSpread = 0.045f + 0.5f * flAccuracy;
- else if( iSpeed > 140 )
- flSpread = 0.045f + 0.095f * flAccuracy;
- else
- flSpread = 0.03f * flAccuracy;
- break;
- case WEAPON_M3:
- flSpread = 0.0675f;
- break;
- case WEAPON_M4A1:
- if( !( iFlags & FL_ONGROUND ) )
- flSpread = 0.035f + 0.4f * flAccuracy;
- else if( iSpeed > 140 )
- flSpread = 0.035f + 0.07f * flAccuracy;
- else
- {
- if( bWeaponBit )
- flSpread = 0.025f * flAccuracy;
- else
- flSpread = 0.02f * flAccuracy;
- }
- break;
- case WEAPON_MAC10:
- if( !( iFlags & FL_ONGROUND ) )
- flSpread = 0.375f * flAccuracy;
- else
- flSpread = 0.03f * flAccuracy;
- break;
- case WEAPON_MP5:
- if( !( iFlags & FL_ONGROUND ) )
- flSpread = 0.2f * flAccuracy;
- else
- flSpread = 0.04f * flAccuracy;
- break;
- case WEAPON_P228:
- if( !( iFlags & FL_ONGROUND ) )
- flSpread = 1.5f * ( 1 - flAccuracy );
- else if( iSpeed > 5 )
- flSpread = 0.255f * ( 1 - flAccuracy );
- else if( iFlags & FL_DUCKING )
- flSpread = 0.075f * ( 1 - flAccuracy );
- else
- flSpread = 0.15f * ( 1 - flAccuracy );
- break;
- case WEAPON_P90:
- if( !( iFlags & FL_ONGROUND ) )
- flSpread = 0.3f * flAccuracy;
- else if( iSpeed > 170 )
- flSpread = 0.115f * flAccuracy;
- else
- flSpread = 0.045f * flAccuracy;
- break;
- case WEAPON_SCOUT:
- if( !( iFlags & FL_ONGROUND ) )
- flSpread = 0.2f;
- else if( iSpeed > 170 )
- flSpread = 0.075f;
- else if( iFlags & FL_DUCKING )
- flSpread = 0.0f;
- else
- flSpread = 0.007f;
- break;
- case WEAPON_SG550:
- if( !( iFlags & FL_ONGROUND ) )
- flSpread = 0.45f * ( 1 - flAccuracy );
- else if( iSpeed > 5 )
- flSpread = 0.15f;
- else if( iFlags & FL_DUCKING )
- flSpread = 0.04f * ( 1 - flAccuracy );
- else
- flSpread = 0.05f * ( 1 - flAccuracy );
- break;
- case WEAPON_SG552:
- if( !( iFlags & FL_ONGROUND ) )
- flSpread = 0.035f + 0.45f * flAccuracy;
- else if( iSpeed > 140 )
- flSpread = 0.035f + 0.075f * flAccuracy;
- else
- flSpread = 0.02f * flAccuracy;
- break;
- case WEAPON_TMP:
- if( !( iFlags & FL_ONGROUND ) )
- flSpread = 0.25f * flAccuracy;
- else
- flSpread = 0.03f * flAccuracy;
- break;
- case WEAPON_UMP45:
- if( !( iFlags & FL_ONGROUND ) )
- flSpread = 0.24f * flAccuracy;
- else
- flSpread = 0.04f * flAccuracy;
- break;
- case WEAPON_USP:
- if( bWeaponBitPistol )
- {
- if( !( iFlags & FL_ONGROUND ) )
- flSpread = 1.3f * ( 1 - flAccuracy );
- else if( iSpeed > 5 )
- flSpread = 0.25f * ( 1 - flAccuracy );
- else if( iFlags & FL_DUCKING )
- flSpread = 0.125f * ( 1 - flAccuracy );
- else
- flSpread = 0.15f * ( 1 - flAccuracy );
- }
- else
- {
- if( !( iFlags & FL_ONGROUND ) )
- flSpread = 1.2f * ( 1 - flAccuracy );
- else if( iSpeed > 5 )
- flSpread = 0.225f * ( 1 - flAccuracy );
- else if( iFlags & FL_DUCKING )
- flSpread = 0.08f * ( 1 - flAccuracy );
- else
- flSpread = 0.1f * ( 1 - flAccuracy );
- }
- break;
- case WEAPON_XM1014:
- flSpread = 0.0725f;
- break;
- case WEAPON_AK47:
- if( !( iFlags & FL_ONGROUND ) )
- flSpread = 0.04f + 0.4f * flAccuracy;
- else if( iSpeed > 140 )
- flSpread = 0.04f + 0.07f * flAccuracy;
- else
- flSpread = 0.0275f * flAccuracy;
- break;
- case WEAPON_AUG:
- if( !( iFlags & FL_ONGROUND ) )
- flSpread = 0.035f + 0.4f * flAccuracy;
- else if( iSpeed > 140 )
- flSpread = 0.035f + 0.07f * flAccuracy;
- else
- flSpread = 0.02f * flAccuracy;
- break;
- case WEAPON_AWP:
- if( !( iFlags & FL_ONGROUND ) )
- flSpread = 0.85f;
- else if( iSpeed > 140 )
- flSpread = 0.25f;
- else if( iSpeed > 10 )
- flSpread = 0.10f;
- else if( iFlags & FL_DUCKING )
- flSpread = 0.0f;
- else
- flSpread = 0.001f;
- if( iFov == 90 )
- flSpread += 0.08f;
- break;
- }
- return flSpread;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement