if unit.getUnitCombatType() == gc.getInfoTypeForString('UNITCOMBAT_ADEPT'):
lCheckThis = ['AIR', 'BODY', 'CHAOS', 'EARTH', 'ENCHANTMENT', 'ENTROPY', 'FIRE', 'ICE', 'LAW', 'LIFE', 'METAMAGIC', 'MIND', 'NATURE', 'SHADOW', 'SPIRIT', 'SUN', 'WATER']
for item in lCheckThis:
iNum = pPlayer.getNumAvailableBonuses(gc.getInfoTypeForString('BONUS_MANA_' + item))
if iNum > 1:
unit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_' + item + '1'), True)
if (iNum > 2 and unit.isHasPromotion(iChanneling2)):
unit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_' + item + '2'), True)
if (iNum > 3 and unit.isHasPromotion(iChanneling3)):
unit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_' + item + '3'), True)