Ejemplo n.º 1
0
/*-------------------------------------------------------------------
    Procedure   :   Exogenon Move Up
    Input       :   ENEMY * Enemy
    Output      :   Nothing
-------------------------------------------------------------------*/
void AI_EXOGENON_MOVEUP( register ENEMY * Enemy )
{
    Enemy->Object.AnimSpeed = 2.0F;
    if( Enemy->Object.Animating )
    {
        return;
    }
    
    Enemy->Object.AI_Mode = AIMODE_EXOGENON_IDLE;
    Enemy->Timer = 60.0F * ( 0.5F + Random_Range_Float( 0.5F ) );
}
Ejemplo n.º 2
0
void BOTAI_AimAtTargetShip()
{
	VECTOR NewPos;

	if(TargetShipID > -1)
	{
		// make a linear prediction
		BOTAI_LookAhead( accuracy, &Ships[WhoIAm].Object.Pos, TargetShipID, &NewPos, PrimaryWeaponAttribs[ Ships[ WhoIAm ].Primary ].Speed[ Ships[ WhoIAm ].Object.PowerLevel ]);

		// aim at the target
		if(BOTAI_AimAtTarget( &Ships[WhoIAm].Object.FinalInvMat, &Ships[WhoIAm].Object.Pos, &NewPos ))
			accuracy = Random_Range_Float(2.0F) - 1.0F;
	}
}