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.