Validate PREFACT and PREFACTSET on data load
There have been a number of data error reports for PREFACTs that are referring to facts that are not defined. These are currently only being found when someone tries to use the particualr class, race or ability.
While full validation of prerequisites is not possible, as the fact and factset definitions are loaded before any other data the PREFACT and PREFACTSET can at least ensure that when a fact is referred to it is present somewhere in the loaded data. This will catch the majority of typos at load time rather than at at usage time.
Note, this will have the following limitations:
If a fact is used for the wrong type of object (e.g. defined on race but a prefact uses it on ability) it will not be reported
After initial implementation a number data load tests will fail due to previously hidden typos in the data