var() class<Actor> Prototype; // the template classvar() int MaxItems; // max number of items from this factory at any timevar() int Capacity; // max number of items ever buildable (-1 = no limit)var() float Interval; // average time interval between spawningsvar() name ItemTag; // tag given to items produced at this factoryvar() name DepletedEvent; // event to trigger when factory has been depleted

var() bool bOnlyPlayerTouched; // only player can trigger itvar() bool bCovert; // only do hidden spawnsvar() bool bStoppable; // stops producing when untouchedvar() bool bCanRestart; // if true factory will restock itself when empty and can be triggered againvar() bool bCycleSpawnPoints; // if true, tries to use each spawn point in order (instead of randomly)var() int FlipCovertCount; // after this many NPCs are spawned, flips the covertness of the factory (permanently)

var private int NumSpawnPoints; // number of spawnspotsvar private int NumSpawnedItems; // current number of items from this factoryvar private SpawnPoint SpawnSpots[16]; // possible start locationsvar private int NextSpawnPoint; // next spawn point to use if bCycleSpawnPointsvar int InitialCapacity;