Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void CBaseEntity::ComputeTracerStartPosition( const Vector &vecShotSrc, Vector *pVecTracerStart )
- {
- #ifndef HL2MP
- if ( g_pGameRules->IsMultiplayer() )
- {
- // NOTE: we do this because in MakeTracer, we force it to use the attachment position
- // in multiplayer, so the results from this function should never actually get used.
- pVecTracerStart->Init( 999, 999, 999 );
- return;
- }
- #endif
- if ( IsPlayer() )
- {
- // adjust tracer position for player
- Vector forward, right;
- CBasePlayer *pPlayer = ToBasePlayer( this );
- pPlayer->EyeVectors( &forward, &right, NULL );
- *pVecTracerStart = vecShotSrc + Vector ( 0 , 0 , -4 ) + right * 2 + forward * 16;
- }
- else
- {
- *pVecTracerStart = vecShotSrc;
- CBaseCombatCharacter *pBCC = MyCombatCharacterPointer();
- if ( pBCC != NULL )
- {
- CBaseCombatWeapon *pWeapon = pBCC->GetActiveWeapon();
- if ( pWeapon != NULL )
- {
- Vector vecMuzzle;
- QAngle vecMuzzleAngles;
- if ( pWeapon->GetAttachment( 1, vecMuzzle, vecMuzzleAngles ) )
- {
- *pVecTracerStart = vecMuzzle;
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement