This however leads to a number of issues
- buildings (eg Prora) that give "happiness per X policies" include the orphaned policies in the count X
- the player's overall score includes a (small) amount per policy adopted, this also includes orphaned policies
- orphaned policies are included in the replay data, which can lead to weird roller-coaster looking graphs
- the player's count of remaining polices that can be adopted gets skewed, resulting in the loss of the Adopt Policy notification
We could write a method that calculates if a policy is an orphan (doesn't reference the PolicyBranchType
table either directly or indirectly) but that would then break every existing mod that uses dummy policies and
the free policy exploit.
So the adopted solution is to add a "Dummy" column to the Policies table to explicitly flag a policy as a dummy.
This way, existing mods are unaffected and new mods can use the new database column (along with the new Grant/Revoke/Swap API)
and not have to bother with the free policy exploit. Happiness all round