rendered paste bodyvec3_t aimSpot;
float GetVarFactor( float angval )
{
if( 0 > angval )
{
angval = -angval;
}
if ( angval > 30 )
{
return 2.5;
}
if( angval > 15 )
{
return 1.5;
}
if( angval > 10 )
{
return 0.75;
}
return (float)0.4;
}
INT NearestTeamCHTarget( )
{
FLOAT CHDist = 0;
FLOAT lastCHDist = 9999;
FLOAT AngleX, AngleY;
INT iBestTargetCH = -1;
for ( INT i = 0; i < 64; i++ )
{
if( Game->cg_entities[i].currentValid == 1 &&
Game->clientInfo[ Game->cg_entities[i].currentState.clientNum ].infoValid &&
Game->clientInfo[ Game->cg_entities[i].currentState.clientNum ].clientNum != Game->cg->clientNum &&
Game->clientInfo[ Game->cg_entities[i].currentState.clientNum ].team != TEAM_SPECTATOR )
{
if( Game->clientInfo[ Game->cg_entities[i].currentState.clientNum ].team != Game->clientInfo[ Game->cg->clientNum ].team )
{
if( strstr( Game->name, "1.0" ) )
{
GetTag_10( &Game->cg_entities[i], aimSpot );
}
else if( strstr( Game->name, "1.1" ) )
{
GetTag_11( &Game->cg_entities[i], aimSpot );
}
else if( strstr( Game->name, "1.2" ) )
{
GetTag_12( &Game->cg_entities[i], aimSpot );
}
else if( strstr( Game->name, "1.3" ) )
{
GetTag_13( &Game->cg_entities[i], aimSpot );
}
else if( strstr( Game->name, "1.4" ) )
{
GetTag_14( &Game->cg_entities[i], aimSpot );
}
else if( strstr( Game->name, "1.5" ) )
{
GetTag_15( &Game->cg_entities[i], aimSpot );
}
if( IsVisible( aimSpot ) )
{
GetAngleToOrigin( aimSpot, AngleX, AngleY );
CHDist = sqrt( AngleX*AngleX + AngleY*AngleY );
if ( (CHDist < lastCHDist) )
{
lastCHDist = CHDist;
iBestTargetCH = i;
}
}
}
}
}
return iBestTargetCH;
}
VOID DoTeamAim( INT i )
{
FLOAT AngleX, AngleY;
if( strstr( Game->name, "1.0" ) )
{
GetTag_10( &Game->cg_entities[i], aimSpot );
}
else if( strstr( Game->name, "1.1" ) )
{
GetTag_11( &Game->cg_entities[i], aimSpot );
}
else if( strstr( Game->name, "1.2" ) )
{
GetTag_12( &Game->cg_entities[i], aimSpot );
}
else if( strstr( Game->name, "1.3" ) )
{
GetTag_13( &Game->cg_entities[i], aimSpot );
}
else if( strstr( Game->name, "1.4" ) )
{
GetTag_14( &Game->cg_entities[i], aimSpot );
}
else if( strstr( Game->name, "1.5" ) )
{
GetTag_15( &Game->cg_entities[i], aimSpot );
}
if( i < 0 )
{
return;
}
GetAngleToOrigin( aimSpot, AngleX, AngleY );
*Game->ViewAngleX += AngleX;
*Game->ViewAngleY += AngleY;
}
VOID DoHumanTeamAim( INT i )
{
FLOAT AngleX, AngleY;
if( strstr( Game->name, "1.0" ) )
{
GetTag_10( &Game->cg_entities[i], aimSpot );
}
else if( strstr( Game->name, "1.1" ) )
{
GetTag_11( &Game->cg_entities[i], aimSpot );
}
else if( strstr( Game->name, "1.2" ) )
{
GetTag_12( &Game->cg_entities[i], aimSpot );
}
else if( strstr( Game->name, "1.3" ) )
{
GetTag_13( &Game->cg_entities[i], aimSpot );
}
else if( strstr( Game->name, "1.4" ) )
{
GetTag_14( &Game->cg_entities[i], aimSpot );
}
else if( strstr( Game->name, "1.5" ) )
{
GetTag_15( &Game->cg_entities[i], aimSpot );
}
if( i < 0 )
{
return;
}
GetAngleToOrigin( aimSpot, AngleX, AngleY );
if( AngleX != 0 )
{
if( AngleX > 0 )
{
*Game->ViewAngleX += GetVarFactor( AngleX );
}
else
{
*Game->ViewAngleX -= GetVarFactor( AngleX );
}
}
if( AngleY != 0 )
{
if( AngleY > 0 )
{
*Game->ViewAngleY += GetVarFactor( AngleY );
}
else
{
*Game->ViewAngleY -= GetVarFactor( AngleY );
}
}
}
INT NearestAllCHTarget( )
{
FLOAT CHDist = 0;
FLOAT lastCHDist = 9999;
FLOAT AngleX, AngleY;
INT iBestTargetCH = -1;
for ( INT i = 0; i < 64; i++ )
{
if( Game->cg_entities[i].currentValid == 1 &&
Game->clientInfo[ Game->cg_entities[i].currentState.clientNum ].infoValid &&
Game->clientInfo[ Game->cg_entities[i].currentState.clientNum ].clientNum != Game->cg->clientNum &&
Game->clientInfo[ Game->cg_entities[i].currentState.clientNum ].team != TEAM_SPECTATOR )
{
if( strstr( Game->name, "1.0" ) )
{
GetTag_10( &Game->cg_entities[i], aimSpot );
}
else if( strstr( Game->name, "1.1" ) )
{
GetTag_11( &Game->cg_entities[i], aimSpot );
}
else if( strstr( Game->name, "1.2" ) )
{
GetTag_12( &Game->cg_entities[i], aimSpot );
}
else if( strstr( Game->name, "1.3" ) )
{
GetTag_13( &Game->cg_entities[i], aimSpot );
}
else if( strstr( Game->name, "1.4" ) )
{
GetTag_14( &Game->cg_entities[i], aimSpot );
}
else if( strstr( Game->name, "1.5" ) )
{
GetTag_15( &Game->cg_entities[i], aimSpot );
}
if( IsVisible( aimSpot ) )
{
GetAngleToOrigin( aimSpot, AngleX, AngleY );
CHDist = sqrt( AngleX*AngleX + AngleY*AngleY );
if ( (CHDist < lastCHDist) )
{
lastCHDist = CHDist;
iBestTargetCH = i;
}
}
}
}
return iBestTargetCH;
}
VOID DoAllAim( INT i )
{
FLOAT AngleX, AngleY;
if( strstr( Game->name, "1.0" ) )
{
GetTag_10( &Game->cg_entities[i], aimSpot );
}
else if( strstr( Game->name, "1.1" ) )
{
GetTag_11( &Game->cg_entities[i], aimSpot );
}
else if( strstr( Game->name, "1.2" ) )
{
GetTag_12( &Game->cg_entities[i], aimSpot );
}
else if( strstr( Game->name, "1.3" ) )
{
GetTag_13( &Game->cg_entities[i], aimSpot );
}
else if( strstr( Game->name, "1.4" ) )
{
GetTag_14( &Game->cg_entities[i], aimSpot );
}
else if( strstr( Game->name, "1.5" ) )
{
GetTag_15( &Game->cg_entities[i], aimSpot );
}
if( i < 0 )
{
return;
}
GetAngleToOrigin( aimSpot, AngleX, AngleY );
*Game->ViewAngleX += AngleX;
*Game->ViewAngleY += AngleY;
}
VOID DoHumanAllAim( INT i )
{
FLOAT AngleX, AngleY;
if( strstr( Game->name, "1.0" ) )
{
GetTag_10( &Game->cg_entities[i], aimSpot );
}
else if( strstr( Game->name, "1.1" ) )
{
GetTag_11( &Game->cg_entities[i], aimSpot );
}
else if( strstr( Game->name, "1.2" ) )
{
GetTag_12( &Game->cg_entities[i], aimSpot );
}
else if( strstr( Game->name, "1.3" ) )
{
GetTag_13( &Game->cg_entities[i], aimSpot );
}
else if( strstr( Game->name, "1.4" ) )
{
GetTag_14( &Game->cg_entities[i], aimSpot );
}
else if( strstr( Game->name, "1.5" ) )
{
GetTag_15( &Game->cg_entities[i], aimSpot );
}
if( i < 0 )
{
return;
}
GetAngleToOrigin( aimSpot, AngleX, AngleY );
if( AngleX != 0 )
{
if( AngleX > 0 )
{
*Game->ViewAngleX += GetVarFactor( AngleX );
}
else
{
*Game->ViewAngleX -= GetVarFactor( AngleX );
}
}
if( AngleY != 0 )
{
if( AngleY > 0 )
{
*Game->ViewAngleY += GetVarFactor( AngleY );
}
else
{
*Game->ViewAngleY -= GetVarFactor( AngleY );
}
}
}