colobot-data/ai/worm01.txt

32 lines
677 B
Plaintext

extern void object::Attack( )
{
int enemy;
object p;
float dist, prox;
point dest;
errmode(0); // ne stoppe pas si erreur
while ( ismovie() != 0 ) wait(1);
enemy = WheeledGrabber;
while ( true )
{
p = radar(enemy); // cherche cible
if ( p == null )
{
wait(2);
}
else
{
dist = distance(p.position, position);
prox = dist/2; // on se rapproche
if ( prox < 2.5 ) prox = 2.5; // pas trop tout de même
dest.x = (position.x-p.position.x)*prox/dist + p.position.x;
dest.y = (position.y-p.position.y)*prox/dist + p.position.y;
dest.z = (position.z-p.position.z)*prox/dist + p.position.z;
goto(dest); // va sur la cible
}
}
}