| 909 | |
| 910 | extern void BG_VehicleTurnRateForSpeed( Vehicle_t *pVeh, float speed, float *mPitchOverride, float *mYawOverride ); |
| 911 | static void FighterWingMalfunctionCheck( Vehicle_t *pVeh, playerState_t *parentPS ) |
| 912 | { |
| 913 | float mPitchOverride = 1.0f; |
| 914 | float mYawOverride = 1.0f; |
| 915 | BG_VehicleTurnRateForSpeed( pVeh, parentPS->speed, &mPitchOverride, &mYawOverride ); |
| 916 | //check right wing damage |
| 917 | if ( (parentPS->brokenLimbs&(1<<SHIPSURF_DAMAGE_RIGHT_HEAVY)) ) |
| 918 | {//right wing has taken heavy damage |
| 919 | pVeh->m_vOrientation[ROLL] += (sin( pVeh->m_ucmd.serverTime*0.001 )+1.0f)*pVeh->m_fTimeModifier*mYawOverride*50.0f; |
| 920 | } |
| 921 | else if ( (parentPS->brokenLimbs&(1<<SHIPSURF_DAMAGE_RIGHT_LIGHT)) ) |
| 922 | {//right wing has taken light damage |
| 923 | pVeh->m_vOrientation[ROLL] += (sin( pVeh->m_ucmd.serverTime*0.001 )+1.0f)*pVeh->m_fTimeModifier*mYawOverride*12.5f; |
| 924 | } |
| 925 | |
| 926 | //check left wing damage |
| 927 | if ( (parentPS->brokenLimbs&(1<<SHIPSURF_DAMAGE_LEFT_HEAVY)) ) |
| 928 | {//left wing has taken heavy damage |
| 929 | pVeh->m_vOrientation[ROLL] -= (sin( pVeh->m_ucmd.serverTime*0.001 )+1.0f)*pVeh->m_fTimeModifier*mYawOverride*50.0f; |
| 930 | } |
| 931 | else if ( (parentPS->brokenLimbs&(1<<SHIPSURF_DAMAGE_LEFT_LIGHT)) ) |
| 932 | {//left wing has taken light damage |
| 933 | pVeh->m_vOrientation[ROLL] -= (sin( pVeh->m_ucmd.serverTime*0.001 )+1.0f)*pVeh->m_fTimeModifier*mYawOverride*12.5f; |
| 934 | } |
| 935 | |
| 936 | } |
| 937 | |
| 938 | static void FighterNoseMalfunctionCheck( Vehicle_t *pVeh, playerState_t *parentPS ) |
| 939 | { |
no test coverage detected