/*------------------------------------------------------------------- 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 ) ); }
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; } }