This file is indexed.

/usr/share/games/colobot/ai/wasp01.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
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
extern void object::Attack( )
{
	int		list[], i;
	object	p;
	float	dist;
	point	dest;

	errmode(0);  // ne stoppe pas si erreur
	while ( ismovie() != 0 )  wait(1);

	i = 0;
	list[i++] = WingedGrabber;
	list[i++] = TrackedGrabber;
	list[i++] = WheeledGrabber;
	list[i++] = LeggedGrabber;
	list[i++] = WingedShooter;
	list[i++] = TrackedShooter;
	list[i++] = WheeledShooter;
	list[i++] = LeggedShooter;
	list[i++] = WingedOrgaShooter;
	list[i++] = TrackedOrgaShooter;
	list[i++] = WheeledOrgaShooter;
	list[i++] = LeggedOrgaShooter;
	list[i++] = WingedSniffer;
	list[i++] = TrackedSniffer;
	list[i++] = WheeledSniffer;
	list[i++] = LeggedSniffer;
	list[i++] = Thumper;
	list[i++] = PhazerShooter;
	list[i++] = Recycler;
	list[i++] = Shielder;
	list[i++] = Subber;
	list[i++] = Me;
	list[i++] = Derrick;
	list[i++] = BotFactory;
	list[i++] = PowerStation;
	list[i++] = Converter;
	list[i++] = RepairCenter;
	list[i++] = DefenseTower;
	list[i++] = ResearchCenter;
	list[i++] = RadarStation;
	list[i++] = ExchangePost;
	list[i++] = PowerPlant;
	list[i++] = AutoLab;
	list[i++] = NuclearPlant;
	list[i++] = Titanium;
	list[i++] = PowerCell;
	list[i++] = NuclearCell;

	while ( true )
	{
		if ( load == null )  // ne porte rien ?
		{
			p = radar(OrgaMatter);  // cherche matière
			if ( p == null )
			{
				jet(1);  // monte
				dest = position;
				dest.x += (rand()-0.5)*10;
				dest.y += (rand()-0.5)*10;
				goto(dest);  // va n'importe où
				wait(2);
			}
			else
			{
				dest = p.position;
				dest.z = position.z;
				dist = distance(dest, position);
				if ( dist > 1.25 )
				{
					jet(1);  // monte
					goto(p.position);  // va sur le matière
				}
				else
				{
					jet(-1);  // descend
					while ( altitude > 0 );
					grab();  // prend la matière
				}
			}
		}
		else  // porte matière ?
		{
			jet(1);  // monte
			p = radar(list, 0, 360, 0, 1000, 1, FilterOnlyLanding);
			if ( p == null )
			{
				dest = position;
				dest.x += (rand()-0.5)*10;
				dest.y += (rand()-0.5)*10;
				goto(dest);  // va n'importe où
				wait(2);
			}
			else
			{
				dest = p.position;
				dest.z = position.z;
				dist = distance(dest, position);
				if ( dist > 1.25 )
				{
					goto(p.position);  // va sur la cible
				}
				else
				{
					drop();  // lâche la matière
				}
			}
		}
	}
}