def spreadReligion(self, city, iReligion, textKey=False):
if city is None or city.isNone():
return -1
# do not spread the religion if the city already has it, or the owner is using Persecution civic
if city.isHasReligion(iReligion) or gc.getPlayer(city.getOwner()).getCivics(4) == con.iTheocracyCivic:
return -1
if iReligion == con.iChristianity:
if city.isHasReligion(con.iHellenism) and not city.isHolyCityByType(con.iHellenism):
rndNum = gc.getGame().getSorenRandNum(100, 'remove Hellenism')
if rndNum <= 66:
city.setHasReligion(con.iHellenism, False, False, False)
if city.isHasReligion(con.iManichaeism) and not city.isHolyCityByType(con.iManichaeism):
rndNum = gc.getGame().getSorenRandNum(100, 'remove Manichaeism')
if rndNum <= 66:
city.setHasReligion(con.iManichaeism, False, False, False)
if iReligion == con.iIslam:
if city.isHasReligion(con.iZoroastrianism) and not city.isHolyCityByType(con.iZoroastrianism):
rndNum = gc.getGame().getSorenRandNum(100, 'remove Zoroastrianism')
if rndNum <= 66:
city.setHasReligion(con.iZoroastrianism, False, False, False)
if city.isHasReligion(con.iManichaeism) and not city.isHolyCityByType(con.iManichaeism):
rndNum = gc.getGame().getSorenRandNum(100, 'remove Manichaeism')
if rndNum <= 66:
city.setHasReligion(con.iManichaeism, False, False, False)
# show the message about Jewish refugess if the religion is Judaism
if iReligion == con.iJudaism:
city.setHasReligion(iReligion, True, False, False)
if not textKey:
textKey = "TXT_KEY_MINOR_EVENT_JEWS"
szText = localText.getText(textKey, (city.getName(), ))
CyInterface().addMessage(city.getOwner(), False, con.iDuration, szText, "AS2D_BUILD_JEWISH", InterfaceMessageTypes.MESSAGE_TYPE_MAJOR_EVENT, gc.getReligionInfo(iReligion).getButton(), ColorTypes(con.iWhite), city.getX(), city.getY(), True, True)
else:
city.setHasReligion(iReligion, True, True, True)
return True
def removeReligion(self, city, iReligion):
if city is None: return -1
elif city.isNone(): return -1
elif not city.isHasReligion(iReligion): return -1
city.setHasReligion(iReligion, False, True, True)
return True
def onReligionSpread(self, iReligion, iOwner, city):
if iReligion == con.iChristianity:
if city.isHasReligion(con.iHellenism):
rndNum = gc.getGame().getSorenRandNum(100, 'remove Hellenism')
if rndNum <= 66:
city.setHasReligion(con.iHellenism, False, False, False)
if city.isHasReligion(con.iManichaeism):
rndNum = gc.getGame().getSorenRandNum(100, 'remove Manichaeism')
if rndNum <= 66:
city.setHasReligion(con.iManichaeism, False, False, False)
if iReligion == con.iIslam:
if city.isHasReligion(con.iZoroastrianism):
rndNum = gc.getGame().getSorenRandNum(100, 'remove Zoroastrianism')
if rndNum <= 66:
city.setHasReligion(con.iZoroastrianism, False, False, False)
if city.isHasReligion(con.iManichaeism):
rndNum = gc.getGame().getSorenRandNum(100, 'remove Manichaeism')
if rndNum <= 66:
city.setHasReligion(con.iManichaeism, False, False, False)
if city.isHasReligion(con.iBuddhism):
rndNum = gc.getGame().getSorenRandNum(100, 'remove Manichaeism')
if rndNum <= 66:
city.setHasReligion(con.iBuddhism, False, False, False)
if city.isHasReligion(con.iHellenism):
rndNum = gc.getGame().getSorenRandNum(100, 'remove Manichaeism')
if rndNum <= 66:
city.setHasReligion(con.iHellenism, False, False, False)