/usr/share/games/colobot/ai/spider01.txt is in colobot-common 0.1.6-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | extern void object::Attack( )
{
int enemy;
object p;
float dist;
point nav1, nav2, nav3, nav4, dest;
errmode(0); // ne stoppe pas si erreur
while ( ismovie() != 0 ) wait(1);
// enemy = WheeledGrabber;
enemy = WingedOrgaShooter;
while ( true )
{
p = radar(enemy, 0, 360, 0, 50);
if ( p == null )
{
nav1.x = position.x+2.5;
nav1.y = position.y+2.5;
nav2.x = position.x+2.5;
nav2.y = position.y-2.5;
nav3.x = position.x-2.5;
nav3.y = position.y-2.5;
nav4.x = position.x-2.5;
nav4.y = position.y+2.5;
while ( true )
{
goto(nav1);
p = radar(enemy, 0, 360, 0, 50);
if ( p != null ) break;
goto(nav2);
p = radar(enemy, 0, 360, 0, 50);
if ( p != null ) break;
goto(nav3);
p = radar(enemy, 0, 360, 0, 50);
if ( p != null ) break;
goto(nav4);
p = radar(enemy, 0, 360, 0, 50);
if ( p != null ) break;
}
}
else
{
dist = distance(p.position, position);
if ( dist <= 7.5 )
{
fire();
}
else
{
dest.x = (position.x+p.position.x)/2;
dest.y = (position.y+p.position.y)/2;
dest.z = (position.z+p.position.z)/2;
goto(dest);
}
}
}
}
|