Catalogue stages

Declare a progression level once for a whole catalogue list instead of once per entry.

Two places to declare a level

Every catalogue entry — arsenal item, loadout or vehicle — has a Required Progression Level in its entry data. Setting it on each entry works, and for one or two exceptions it is the right thing to do.

For a whole file it is not. A catalogue list holding forty rifles that all belong to the same stage means forty copies of the same value, and nothing stops one of them drifting away from the other thirty-nine. So a list can declare the level itself:

Where you set itWhat it covers
List Progression Level on the listEvery entry in that list that has not set its own.
Required Progression Level on an entryThat entry alone. Overrides the list.

Both default to Inherit, which means “no opinion”. An entry set to Inherit takes the list’s level. An entry in a list that is also set to Inherit falls back to level 1, which is what an unset entry has always meant — so a catalogue that knows nothing about progression is completely unaffected by either field existing.

Setting the list level

Open the .conf holding the list and set List Progression Level on the list itself, not on any entry beneath it. In a multi-list catalogue, each referenced file is its own list and gets its own level.

The result is a file that reads as one thing:

Stage 3 - Weapons          (List Progression Level: THREE)
  M18 Smoke, Violet
  M18 Smoke, Green
  M249 PIP
  ...

rather than a file that reads as forty things that happen to agree.

Overriding a single entry

Leave the list’s level alone and set Required Progression Level on the one entry. This is for an item that belongs with its neighbours in every respect except when it becomes available — a marksman variant sitting among the stage 3 rifles that should not be bought until stage 5. Its neighbours stay short.

When the level is applied

Levels are resolved once, as the catalogues are built at world load. A list’s level is pushed onto its entries while the per-file grouping still exists; afterwards the catalogue is one flat list and there is nothing left to say which file an entry came from.

Two consequences worth knowing:

  • Changing a .conf needs a world reload, not just a mission restart. This is true of entity catalogues generally, not only of this field.
  • A list that declares nothing costs nothing. The pass walks every catalogue in the session, including those belonging to mods that have never heard of progression, and stamps nothing on any of them.

Vehicles

Vehicle catalogue entries carry the same field, in their spawner data. That is what lets a vehicle pad stand empty until a faction has earned something to put on it.

Note that a vehicle’s supply cost and minimum rank are not set here — those are derived from the vehicle prefab’s own budget cost, and no value you write into a catalogue will change them.