85 lines
1.7 KiB
ObjectPascal
85 lines
1.7 KiB
ObjectPascal
unit enemy_packs_m;
|
|
|
|
interface
|
|
|
|
uses creature_m;
|
|
|
|
type
|
|
enemyPackType = (enemyPack1, enemyPack2, enemyPack3, enemyPack4,
|
|
enemyPack5, enemyPack6, enemyPack7, enemyPack8,
|
|
enemyPack9, enemyPack10);
|
|
|
|
procedure AppendEnemies(var lst: creatureList; t: enemyPackType);
|
|
|
|
implementation
|
|
|
|
uses ghost_m, sun_m;
|
|
|
|
const
|
|
{
|
|
LevelGhostN: array[enemyPackType] of integer = (
|
|
4, 4, 2, 4, 4, 2, 4, 2, 4, 4
|
|
);
|
|
}
|
|
|
|
LevelGhostN: array[enemyPackType] of integer = (
|
|
4, 4, 2, 4, 4, 2, 4, 2, 4, 4
|
|
);
|
|
LevelSunN: array[enemyPackType] of integer = (
|
|
0, 1, 4, 2, 0, 2, 2, 2, 2, 0
|
|
);
|
|
|
|
|
|
{
|
|
LevelSnakeN: array[enemyPackType] of integer = (
|
|
0, 0, 0, 1, 2, 2, 2, 4, 2, 2
|
|
);
|
|
LevelDropN: array[enemyPackType] of integer = (
|
|
0, 0, 0, 0, 2, 2, 1, 1, 2, 4
|
|
);
|
|
}
|
|
|
|
procedure AppendRandomGhosts(var lst: creatureList; t: enemyPackType);
|
|
var
|
|
i: integer;
|
|
c: creaturePtr;
|
|
begin
|
|
for i := 1 to LevelGhostN[t] do
|
|
begin
|
|
new(c);
|
|
InitRandomGhost(c^);
|
|
AppendCreature(lst, c)
|
|
end
|
|
end;
|
|
|
|
procedure AppendRandomSuns(var lst: creatureList; t: enemyPackType);
|
|
var
|
|
i: integer;
|
|
c: creaturePtr;
|
|
begin
|
|
for i := 1 to LevelSunN[t] do
|
|
begin
|
|
new(c);
|
|
InitRandomSun(c^);
|
|
AppendCreature(lst, c)
|
|
end
|
|
end;
|
|
|
|
procedure AppendRandomSnakes(var lst: creatureList; t: enemyPackType);
|
|
begin
|
|
end;
|
|
|
|
procedure AppendRandomDrops(var lst: creatureList; t: enemyPackType);
|
|
begin
|
|
end;
|
|
|
|
procedure AppendEnemies(var lst: creatureList; t: enemyPackType);
|
|
begin
|
|
AppendRandomGhosts(lst, t);
|
|
AppendRandomSuns(lst, t);
|
|
AppendRandomSnakes(lst, t);
|
|
AppendRandomDrops(lst, t)
|
|
end;
|
|
|
|
end.
|