gh/enemy_packs_m.pas
2026-01-10 12:09:22 +05:00

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.