Seems to be a bug prevent cave of ancestors from granting spells level 2 spells to a unit if also have wizards hall. (with latest flavour patch)
cvEventManager.py
def onUnitBuilt(self, argsList):
cvEventManager.py
def onUnitBuilt(self, argsList):
Code:
if city.getNumBuilding(gc.getInfoTypeForString('BUILDING_WIZARDS_HALL')) > 0:
// 20 + 5*manaCount % chance of getting one level 1 spell from the available mana types
elif city.getNumBuilding(gc.getInfoTypeForString('BUILDING_WIZARDS_HALL')) > 0 and city.getNumBuilding(gc.getInfoTypeForString('BUILDING_CAVE_OF_ANCESTORS')) > 0:
// 10 + 5*manaCount % chance of getting one level 1 or 2 spell from the available mana types
if city.getNumBuilding(gc.getInfoTypeForString('BUILDING_SCHOOL_OF_GOVANNON')) > 0:
// 3*manaCount % chance of getting one level 3 spell from the available mana types
either the if/elif parts want swapping to the having both building is considered first (otherwise if have wizards hall cave is never considered). If even better reworking the logic slightly to that you get
if wizards hall
20 + 5*mana for one level 1 spell
if cave
10 + 5*mana for level 2 spell (should probably reduce the multiplier to 4 here)
// need to also remove all the refences to level 1 spells in the code block.
if school
3*mana for level 3 spell