object *skaveny = ({});
string rodzaj();

void
skaveny(int ilu)
{
    int x;
    
    if ((x = sizeof(skaveny)) != ilu)
    {
        if (x > ilu)
        {
            skaveny = exclude_array(skaveny, x - ilu, x - 1);
        }
        else
            skaveny += allocate(ilu - x);
    }
    
    for (x = 0; x < ilu; x++)
    {
        if (!objectp(skaveny[x]))
        {
            skaveny[x] = clone_object(rodzaj());
            skaveny[x]->szykuj();
            skaveny[x]->move(this_object());
        }
    }

    return;
}    

string
rodzaj()
{
    switch(random(100))
    {
    case 0..20:
        return "/d/Imperium/Nuln/npc/stormvrm.c";
        return "/d/Imperium/Nuln/npc/szczur.c";
        return "/d/Imperium/Nuln/npc/szczur.c";
        return "/d/Imperium/Nuln/npc/szczur.c";
        return "/d/Imperium/Nuln/npc/szczur.c";
        return "/d/Imperium/Nuln/npc/mszczur.c";
        break;
    case 21..40:
        return "/d/Imperium/Nuln/npc/storm.c";
        return "/d/Imperium/Nuln/npc/szczur.c";
        return "/d/Imperium/Nuln/npc/szczur.c";
        return "/d/Imperium/Nuln/npc/szczur.c";
        return "/d/Imperium/Nuln/npc/szczur.c";
        return "/d/Imperium/Nuln/npc/szczur.c";
        return "/d/Imperium/Nuln/npc/szczur.c";
        return "/d/Imperium/Nuln/npc/mszczur.c";
        return "/d/Imperium/Nuln/npc/skaven.c";
        break;
    case 41..60:
        return "/d/Imperium/Nuln/npc/storm.c";
        return "/d/Imperium/Nuln/npc/skaven.c";
        return "/d/Imperium/Nuln/npc/skavenr.c";
        return "/d/Imperium/Nuln/npc/mszczur.c";
        return "/d/Imperium/Nuln/npc/mszczur.c";
        return "/d/Imperium/Nuln/npc/mszczur.c";
        return "/d/Imperium/Nuln/npc/szczur.c";
        return "/d/Imperium/Nuln/npc/szczur.c";
        break;
    case 61..80:
        return "/d/Imperium/Nuln/npc/storm.c";
        return "/d/Imperium/Nuln/npc/skaven.c";
        return "/d/Imperium/Nuln/npc/skavenr.c";
        return "/d/Imperium/Nuln/npc/skav.c";
        return "/d/Imperium/Nuln/npc/szczur.c";
        return "/d/Imperium/Nuln/npc/szczur.c";
        return "/d/Imperium/Nuln/npc/szczur.c";
        return "/d/Imperium/Nuln/npc/szczur.c";
        break;
    default:
        return "/d/Imperium/Nuln/npc/stormvrm.c";
        return "/d/Imperium/Nuln/npc/stormvrm.c";
        return "/d/Imperium/Nuln/npc/stormvrm.c";
        return "/d/Imperium/Nuln/npc/szczur.c";
        return "/d/Imperium/Nuln/npc/szczur.c";
        return "/d/Imperium/Nuln/npc/szczur.c";
        return "/d/Imperium/Nuln/npc/szczur.c";
        return "/d/Imperium/Nuln/npc/szczur.c";
        return "/d/Imperium/Nuln/npc/szczur.c";
        return "/d/Imperium/Nuln/npc/szczur.c";
        return "/d/Imperium/Nuln/npc/szczur.c";
        return "/d/Imperium/Nuln/npc/szczur.c";
        return "/d/Imperium/Nuln/npc/szczur.c";
        break;
    }       
} 
