if eBuilding == gc.getInfoTypeForString('BUILDING_SHRINE_OF_THE_CHAMPION'):
iHero = cf.getHero(pPlayer)
if iHero == -1:
return True
if CyGame().isUnitClassMaxedOut(iHero, 0) == False:
return True
if pPlayer.getUnitClassCount(iHero) > 0:
return True
def getHero(self, pPlayer):
iHero = -1
if pPlayer.getCivilizationType() == gc.getInfoTypeForString('CIVILIZATION_BANNOR'):
iHero = gc.getInfoTypeForString('UNITCLASS_DONAL')
if pPlayer.getCivilizationType() == gc.getInfoTypeForString('CIVILIZATION_MALAKIM'):
iHero = gc.getInfoTypeForString('UNITCLASS_CHALID')
if pPlayer.getCivilizationType() == gc.getInfoTypeForString('CIVILIZATION_ELOHIM'):
iHero = gc.getInfoTypeForString('UNITCLASS_CORLINDALE')
if pPlayer.getCivilizationType() == gc.getInfoTypeForString('CIVILIZATION_MERCURIANS'):
iHero = gc.getInfoTypeForString('UNITCLASS_BASIUM')
if pPlayer.getCivilizationType() == gc.getInfoTypeForString('CIVILIZATION_LANUN'):
iHero = gc.getInfoTypeForString('UNITCLASS_GUYBRUSH')
if pPlayer.getCivilizationType() == gc.getInfoTypeForString('CIVILIZATION_KURIOTATES'):
iHero = gc.getInfoTypeForString('UNITCLASS_EURABATRES')
if pPlayer.getCivilizationType() == gc.getInfoTypeForString('CIVILIZATION_LJOSALFAR'):
iHero = gc.getInfoTypeForString('UNITCLASS_GILDEN')
if pPlayer.getCivilizationType() == gc.getInfoTypeForString('CIVILIZATION_KHAZAD'):
iHero = gc.getInfoTypeForString('UNITCLASS_MAROS')
if pPlayer.getCivilizationType() == gc.getInfoTypeForString('CIVILIZATION_SIDAR'):
iHero = gc.getInfoTypeForString('UNITCLASS_RATHUS')
if pPlayer.getCivilizationType() == gc.getInfoTypeForString('CIVILIZATION_HIPPUS'):
iHero = gc.getInfoTypeForString('UNITCLASS_MAGNADINE')
if pPlayer.getCivilizationType() == gc.getInfoTypeForString('CIVILIZATION_AMURITES'):
iHero = gc.getInfoTypeForString('UNITCLASS_GOVANNON')
if pPlayer.getCivilizationType() == gc.getInfoTypeForString('CIVILIZATION_BALSERAPHS'):
iHero = gc.getInfoTypeForString('UNITCLASS_LOKI')
if pPlayer.getCivilizationType() == gc.getInfoTypeForString('CIVILIZATION_CLAN_OF_EMBERS'):
iHero = gc.getInfoTypeForString('UNITCLASS_RANTINE')
if pPlayer.getCivilizationType() == gc.getInfoTypeForString('CIVILIZATION_SVARTALFAR'):
iHero = gc.getInfoTypeForString('UNITCLASS_KAEL')
if pPlayer.getCivilizationType() == gc.getInfoTypeForString('CIVILIZATION_CALABIM'):
iHero = gc.getInfoTypeForString('UNITCLASS_LOSHA')
if pPlayer.getCivilizationType() == gc.getInfoTypeForString('CIVILIZATION_SHEAIM'):
iHero = gc.getInfoTypeForString('UNITCLASS_ABASHI')
return iHero
That is the code determining what the hero unit of each civ is (I don't feel like fixing the indentation). As you can see, it hasn't been updated for Shadow. The Svartalfar hero is defined as Kael, who no longer exists, and the Malakim Hero is still Chalid, who is now the Empyrean Hero.
Edit: I just reported this in the bug thread