Project SYNTHESIS

The UB of the Swedish isn't very Unique. (It's the same as the English Stock Exchange, but stronger.) I suggest giving it 1 free merchant.
The last UHV of the Swedish is too hard. You won't be able to get the amount of culture that France (or every other civ) will get by the time you will spawn.

The UHV of Argentina comes too quick. You have just 20 turns to get it, which can be impossible. You have to be lucky to get this UHV.
The UB only add 1 culture, which isn't very strong IMO.

Argentina´s UU caballo? Horse granadier instead UB dance studio? on what basis? should be something related to their worker´s union like a factory with extra happiness.
UHV: 1- Related to imports/exports
2- Apollo program (Argentina was one of the first countries to reach space and later disolved their space program!!!!!)
3- South America control.

Feel free to ask for help about Argentina
 
Rebirth in ranges of years is now up and running :king:. Having nationalism simply increases the odds.

Leoreth, if you're reading this, it's simple enough to implement into DoC. Replace def resurrection with:

Spoiler :
Code:
        def resurrection(self, iGameTurn):
		print "Check resurrection"
                iMinNumCities = 2
                iBonus = 0

                if (utils.getCivsWithNationalism() > 0):
                        iBonus = 10
##                for iCiv in range(iNumActivePlayers):
##                        pCiv = gc.getPlayer(iCiv)
##                        teamCiv = gc.getTeam(pCiv.getTeam())
##                        if (pCiv.isAlive()):
##                                if (teamCiv.isHasTech(con.iNationalism)):
##                                        bEnabled = True
##                                        break
                                #debug
                                #bEnabled = True
                                #break
                print ("iBonus", iBonus)
                iRndnum = gc.getGame().getSorenRandNum(iNumPlayers, 'starting count')
                cityList = []
                bDeadCivFound = False
                for j in range(iRndnum, iRndnum + iNumPlayers):
                        iDeadCiv = j % iNumPlayers
                        #iDeadCiv = iIndia #DEBUG
                        cityList = []
                        if (not gc.getPlayer(iDeadCiv).isAlive() and iGameTurn > getTurnForYear(con.tBirth[iDeadCiv]) + utils.getTurns(50) and iGameTurn > utils.getLastTurnAlive(iDeadCiv) + utils.getTurns(20) and not con.tRebirthRange[iDeadCiv] == -1 and iGameTurn > getTurnForYear(con.tRebirthRange[iDeadCiv][0]) and iGameTurn < getTurnForYear(con.tRebirthRange[iDeadCiv][1])): # Linkman226- removed conditions that the civ must have a scripted respawn and must not be Byzantium; added last  three conditions
                        #if (not gc.getPlayer(iDeadCiv).isAlive() and iGameTurn > con.tBirth[iDeadCiv] + 50): #DEBUG
                                if (gc.getGame().getSorenRandNum(100, 'roll') >= con.tResurrectionProb[iDeadCiv] + iBonus):
                                        print("skip")
                                        continue
                                print "Check resurrection for player "+str(iDeadCiv)
                                pDeadCiv = gc.getPlayer(iDeadCiv)
                                teamDeadCiv = gc.getTeam(pDeadCiv.getTeam())
                                tTopLeft = tNormalAreasTL[utils.getReborn(iDeadCiv)][iDeadCiv]
                                tBottomRight = tNormalAreasBR[utils.getReborn(iDeadCiv)][iDeadCiv]
                                #if (self.getLatestRebellionTurn(iDeadCiv) > 0):
                                #        tTopLeft = tNormalAreasTL[iDeadCiv]
                                #        tBottomRight = tNormalAreasBR[iDeadCiv]
                                #else:
                                #        tTopLeft = tCoreAreasTL[iDeadCiv]
                                #        tBottomRight = tCoreAreasBR[iDeadCiv]
                                print ("Leoreth rebirth check 1")
                                for x in range(tTopLeft[0], tBottomRight[0]+1):
                                        for y in range(tTopLeft[1], tBottomRight[1]+1):
                                                if ((x,y) not in con.tNormalAreasSubtract[utils.getReborn(iDeadCiv)][iDeadCiv]):
                                                        pCurrent = gc.getMap().plot( x, y )
                                                        #print("plot",x,y)
                                                        if ( pCurrent.isCity()):
                                                                city = pCurrent.getPlotCity()
                                                                iOwner = city.getOwner()
                                                                if (iOwner >= iNumActivePlayers): #if (iOwner == iBarbarian or iOwner == iIndependent or iOwner == iIndependent2): #remove in vanilla
                                                                        cityList.append(pCurrent.getPlotCity())
                                                                        #print (iDeadCiv, pCurrent.getPlotCity().getName(), pCurrent.getPlotCity().getOwner(), "1", cityList)
                                                                else:
                                                                        iMinNumCitiesOwner = 3
                                                                        iOwnerStability = utils.getStability(iOwner)
                                                                        if (not gc.getPlayer(iOwner).isHuman()):
                                                                                iMinNumCitiesOwner = 2
                                                                                iOwnerStability -= 20
                                                                        if (gc.getPlayer(iOwner).getNumCities() >= iMinNumCitiesOwner):
                                                                                if (iOwnerStability < -20):
                                                                                        if (not city.isWeLoveTheKingDay() and not city.isCapital()):
                                                                                                    cityList.append(pCurrent.getPlotCity())
                                                                                                    #print (iDeadCiv, pCurrent.getPlotCity().getName(), pCurrent.getPlotCity().getOwner(), "2", cityList)
                                                                                elif (iOwnerStability < 0):
                                                                                        if (not city.isWeLoveTheKingDay() and not city.isCapital() and (not (city.getX() == tCapitals[utils.getReborn(iOwner)][iOwner][0] and city.getY() == tCapitals[utils.getReborn(iOwner)][iOwner][1]))):
                                                                                                if (gc.getPlayer(iOwner).getNumCities() > 0): #this check is needed, otherwise game crashes
                                                                                                        capital = gc.getPlayer(iOwner).getCapitalCity()
                                                                                                        iDistance = utils.calculateDistance(x, y, capital.getX(), capital.getY())
                                                                                                        if ((iDistance >= 6 and gc.getPlayer(iOwner).getNumCities() >= 4) or \
                                                                                                            city.angryPopulation(0) > 0 or \
                                                                                                            city.healthRate(False, 0) < 0 or \
                                                                                                            city.getReligionBadHappiness() > 0 or \
                                                                                                            city.getLargestCityHappiness() < 0 or \
                                                                                                            city.getHurryAngerModifier() > 0 or \
                                                                                                            city.getNoMilitaryPercentAnger() > 0 or \
                                                                                                            city.getWarWearinessPercentAnger() > 0):
                                                                                                                    cityList.append(pCurrent.getPlotCity())
                                                                                                                    #print (iDeadCiv, pCurrent.getPlotCity().getName(), pCurrent.getPlotCity().getOwner(), "3", cityList)
                                                                                if (iOwnerStability < 20):
                                                                                         if (city.getX() == tCapitals[utils.getReborn(iDeadCiv)][iDeadCiv][0] and city.getY() == tCapitals[utils.getReborn(iDeadCiv)][iDeadCiv][1]):
                                                                                                 #print(pCurrent.getPlotCity(), cityList)
                                                                                                 #if (pCurrent.getPlotCity() not in cityList):  #sadly, this doesn't work
                                                                                                 bAlreadyAdded = False
                                                                                                 for l in range(len(cityList)):
                                                                                                         if (cityList[l].getName() == city.getName()):
                                                                                                                 bAlreadyAdded = True
                                                                                                                 break
                                                                                                 #print("bAlreadyAdded",bAlreadyAdded)
                                                                                                 if (not bAlreadyAdded):
                                                                                                         cityList.append(pCurrent.getPlotCity())
                                                                                                         #print (iDeadCiv, pCurrent.getPlotCity().getName(), pCurrent.getPlotCity().getOwner(), "4", cityList)
                                #print("len(cityList)",len(cityList))
                                print "Leoreth rebirth check 2"
                                if (len(cityList) >= iMinNumCities or (len(cityList) >= 1 and (iDeadCiv == iNetherlands)) or (len(cityList) >= 1 and (iDeadCiv == iEgypt))): #no portugal: they have the azores
                                        bDeadCivFound = True
                                        break
                #print ("iDeadCiv", iDeadCiv)
                if (bDeadCivFound):
                        print ("A civ has been found!")
                        self.setRebelCiv(iDeadCiv) #for popup and CollapseCapitals()
                        if (len(tLeaders[iDeadCiv]) > 1):
                                iLen = len(tLeaders[iDeadCiv])
                                iRnd = gc.getGame().getSorenRandNum(iLen, 'odds')
                                for k in range (iLen):
                                        iLeader = (iRnd + k) % iLen
                                        if (pDeadCiv.getLeader() != tLeaders[iDeadCiv][iLeader]):
                                                print ("leader switch after resurrection", pDeadCiv.getLeader(), tLeaders[iDeadCiv][iLeader])
                                                pDeadCiv.setLeader(tLeaders[iDeadCiv][iLeader])
                                                break
                        if con.tRebirthCiv[iDeadCiv] != -1:
                                pDeadCiv.setCivilizationType(con.tRebirthCiv[iCiv]) #Linkman226
                                        
                        for l in range(iNumPlayers):
                                teamDeadCiv.makePeace(l)
                        self.setNumCities(iDeadCiv, 0) #reset collapse condition

                        print "Leoreth rebirth check 3"
                        #reset vassallage
                        for iOtherCiv in range(iNumPlayers):
                                if (teamDeadCiv.isVassal(iOtherCiv) or gc.getTeam(gc.getPlayer(iOtherCiv).getTeam()).isVassal(iDeadCiv)):
                                        teamDeadCiv.freeVassal(iOtherCiv)
                                        gc.getTeam(gc.getPlayer(iOtherCiv).getTeam()).freeVassal(iDeadCiv)
                                                       
                        iNewUnits = 2
                        if (self.getLatestRebellionTurn(iDeadCiv) > 0):
                                iNewUnits = 4
                        self.setLatestRebellionTurn(iDeadCiv, iGameTurn)
                        bHuman = False
                        iHuman = utils.getHumanID()
                        print ("RESURRECTION", gc.getPlayer(iDeadCiv).getCivilizationAdjective(0))
                        
                        for k0 in range(len(cityList)):
                                iOwner = cityList[k0].getOwner()
                                if (iOwner == iHuman):
                                        bHuman = True

                        for t in range(con.iNumTechs):
                                if (teamBarbarian.isHasTech(t) or teamIndependent.isHasTech(t) or teamIndependent2.isHasTech(t)): #remove indep in vanilla
                                        teamDeadCiv.setHasTech(t, True, iDeadCiv, False, False)

                        ownersList = []        
                        bAlreadyVassal = False
                        for k in range(len(cityList)):
                                if (cityList[k] != None): #once happened that it was = none
                                        #print ("INDEPENDENCE: ", cityList[k].getName()) #may cause a c++ exception                                       
                                        iOwner = cityList[k].getOwner()
                                        teamOwner = gc.getTeam(gc.getPlayer(iOwner).getTeam())
                                        bOwnerVassal = teamOwner.isAVassal()
                                        bOwnerHumanVassal = teamOwner.isVassal(iHuman)

                                        if (iOwner not in ownersList): #assignment of techs must be done before the creation of garrisons
                                                for t in range(con.iNumTechs):
                                                        if (teamOwner.isHasTech(t)): 
                                                                teamDeadCiv.setHasTech(t, True, iDeadCiv, False, False)

                                        if (iOwner == iBarbarian or iOwner == iIndependent or iOwner == iIndependent2 or iOwner == iNative):
                                                utils.cultureManager((cityList[k].getX(),cityList[k].getY()), 100, iDeadCiv, iOwner, False, True, True)
                                                utils.flipUnitsInCityBefore((cityList[k].getX(),cityList[k].getY()), iDeadCiv, iOwner)
                                                self.setTempFlippingCity((cityList[k].getX(),cityList[k].getY()))
                                                utils.flipCity((cityList[k].getX(),cityList[k].getY()), 0, 0, iDeadCiv, [iOwner])
                                                tCoords = self.getTempFlippingCity()
                                                utils.flipUnitsInCityAfter(tCoords, iOwner)
                                                utils.flipUnitsInArea((tCoords[0]-2, tCoords[1]-2), (tCoords[0]+2, tCoords[1]+2), iDeadCiv, iOwner, True, False)
                                        else:
                                                utils.cultureManager((cityList[k].getX(),cityList[k].getY()), 50, iDeadCiv, iOwner, False, True, True)
                                                utils.pushOutGarrisons((cityList[k].getX(),cityList[k].getY()), iOwner)
                                                utils.relocateSeaGarrisons((cityList[k].getX(),cityList[k].getY()), iOwner)                                                                        
                                                self.setTempFlippingCity((cityList[k].getX(),cityList[k].getY()))
                                                utils.flipCity((cityList[k].getX(),cityList[k].getY()), 0, 0, iDeadCiv, [iOwner])   #by trade because by conquest may raze the city
                                                utils.createGarrisons(self.getTempFlippingCity(), iDeadCiv, iNewUnits)
                                                
                                        #cityList[k].setHasRealBuilding(con.iPlague, False)

                                        bAtWar = False #AI won't vassalise if another owner has declared war; on the other hand, it won't declare war if another one has vassalised
                                        if (iOwner != iHuman and iOwner not in ownersList and iOwner != iDeadCiv and iOwner != iBarbarian): #declare war or peace only once - the 3rd condition is obvious but "vassal of themselves" was happening
                                                rndNum = gc.getGame().getSorenRandNum(100, 'odds')
                                                if (rndNum >= tAIStopBirthThreshold[iOwner] and bOwnerHumanVassal == False and bAlreadyVassal == False): #if bOwnerHumanVassal is true, it will skip to the 3rd condition, as bOwnerVassal is true as well
                                                        teamOwner.declareWar(iDeadCiv, False, -1)
                                                        bAtWar = True
                                                elif (rndNum <= (100-tAIStopBirthThreshold[iOwner])/2):
                                                        teamOwner.makePeace(iDeadCiv)
                                                        if (bAlreadyVassal == False and bHuman == False and bOwnerVassal == False and bAtWar == False): #bHuman == False cos otherwise human player can be deceived to declare war without knowing the new master
                                                                if (iOwner < iNumActivePlayers): 
                                                                        gc.getTeam(gc.getPlayer(iDeadCiv).getTeam()).setVassal(iOwner, True, False)  #remove in vanilla
                                                                        bAlreadyVassal = True
                                                else:
                                                        teamOwner.makePeace(iDeadCiv)
                                                        
                                        if (iOwner not in ownersList):
                                                ownersList.append(iOwner) 

                        self.moveBackCapital(iDeadCiv)

                        #add former colonies that are still free
                        colonyList = []
                        for iIndCiv in range(iNumTotalPlayers+1): #barbarians too
                                if (iIndCiv >= iNumActivePlayers):
                                        if (gc.getPlayer(iIndCiv).isAlive()):
                                                apCityList = PyPlayer(iIndCiv).getCityList()
                                                for pCity in apCityList:
                                                        indepCity = pCity.GetCy()                                                                
                                                        if (indepCity.getOriginalOwner() == iDeadCiv):
                                                                print ("colony:", indepCity.getName(), indepCity.getOriginalOwner())
                                                                indX = indepCity.getX()
                                                                indY = indepCity.getY()
                                                                if (gc.getPlayer(iDeadCiv).getSettlersMaps( 67-indY, indX ) >= 90):
                                                                        if (indepCity not in cityList and indepCity not in colonyList):
                                                                                colonyList.append(indepCity)
                        if (len(colonyList) > 0):
                                for k in range(len(colonyList)):
                                        print ("INDEPENDENCE: ", colonyList[k].getName())   
                                        iOwner = colonyList[k].getOwner()
                                        utils.cultureManager((colonyList[k].getX(),colonyList[k].getY()), 100, iDeadCiv, iOwner, False, True, True)
                                        utils.flipUnitsInCityBefore((colonyList[k].getX(),colonyList[k].getY()), iDeadCiv, iOwner)
                                        self.setTempFlippingCity((colonyList[k].getX(),colonyList[k].getY()))
                                        utils.flipCity((colonyList[k].getX(),colonyList[k].getY()), 0, 0, iDeadCiv, [iOwner])
                                        tCoords = self.getTempFlippingCity()
                                        utils.flipUnitsInCityAfter(tCoords, iOwner)
                                        utils.flipUnitsInArea((tCoords[0]-2, tCoords[1]-2), (tCoords[0]+2, tCoords[1]+2), iDeadCiv, iOwner, True, False)
                                        
                        CyInterface().addMessage(iHuman, True, con.iDuration, \
                                                (CyTranslator().getText("TXT_KEY_INDEPENDENCE_TEXT", (pDeadCiv.getCivilizationAdjectiveKey(),))), "", 0, "", ColorTypes(con.iGreen), -1, -1, True, True)
                        if (bHuman == True):                                        
                                self.rebellionPopup(iDeadCiv)
                        utils.setBaseStabilityLastTurn(iDeadCiv, 0)
                        utils.setStability(iDeadCiv, 10) ##the new civs start as slightly stable
                        utils.setPlagueCountdown(iDeadCiv, -10)
                        utils.clearPlague(iDeadCiv)                                
                        self.convertBackCulture(iDeadCiv)
                        return

And in Consts add (somewhere):

Spoiler :
Code:
# Linkman226: respawns within ranges of turns, see RiseAndFall.resurrection
# [iCiv][MinDate,MaxDate]
tRebirthRange = (
(-3000, 2020),     # Test- Egypt
(-3000, 2020),	         # Maratha Empire
(1400, 1750),    # Ming China
(-3000, 2020),
-1,	         # Byzantium
(-3000, 2020),	         # Safavid Persia/ Iran
(-3000, 2020),
(-3000, 2020),	         # Rome/ Italy
(-3000, 2020),
(-3000, 2020),
(1400, 1750),   # Korea
(-3000, 2020),
(-3000, 2020),
(-3000, 2020),
(-3000, 2020),
(-3000, 2020),
(-3000, 2020),
(-3000, 2020),
(-3000, 2020),
(-3000, 2020),
(-3000, 2020),
(-3000, 2020),
(-3000, 2020),
(-3000, 2020),
(-3000, 2020),
(-3000, 2020),
(-3000, 2020),
(-3000, 2020),
(-3000, 2020),
(-3000, 2020))

Adjust values in tuple accordingly. Right now there's dummy values of (-3000, 2020) until I finetune them, except for the Byzzies so that they don't respawn.

The rest of you guys:

What respawn year ranges would you recommend?

The ones right now are 1400-1750 for Ming China and Joseon Korea.

I was thinking 900-1300 for Ayyubids in Egypt too. Not currently implemented.

A screenie below. This was just a test I did to see whether the mechanics were working by allowing the Egyptians to respawn whenever (it won't work like this ingame):

Spoiler :
attachment.php


Civ4ScreenShot0058.JPG

For anyone interested, the bug was fixed by redoing the system altogether.
 
I was thinking 900-1300 for Ayyubids in Egypt too.
Do not implement it now; I have some ideas for the Ayyubid which I will present to you after your done with the Seljuks and the Mughals.

If you are working on the Middle East; ( i reccomend you work in this order)
-Seljuks, Central Asia, Mughals, India
-Egypt, Morocco North Africa
-Lastly, balance the Arabs at the end. (If you balance the Arabs first, u are just anticipating how the Arabs will react to all these new spawns; but if u do it at the end u know exactly what needs to be done)

The ones right now are 1400-1750 for Ming China and Joseon Korea.
Thats way too late; by 1750 the Mongols would be way ahistorical. It should be from 1390-1500 and the respawn should be mandatory. While one may find the Ming not suitable for human respawn but they should definitley be added; they had the largest population and gdp in the world for a long time (maybe Mughal India might have surpassed them but that was it)
 
Do not implement it now; I have some ideas for the Ayyubid which I will present to you after your done with the Seljuks and the Mughals.

Oh I wasn't going to yet, don't worry.

If you are working on the Middle East; ( i reccomend you work in this order)
-Seljuks, Central Asia, Mughals, India
-Egypt, Morocco North Africa
-Lastly, balance the Arabs at the end. (If you balance the Arabs first, u are just anticipating how the Arabs will react to all these new spawns; but if u do it at the end u know exactly what needs to be done)

I'm gonna start on the Seljuks now, then

Thats way too late; by 1750 the Mongols would be way ahistorical. It should be from 1390-1500 and the respawn should be mandatory. While one may find the Ming not suitable for human respawn but they should definitley be added; they had the largest population and gdp in the world for a long time (maybe Mughal India might have surpassed them but that was it)

In the current revisions, which I finished uploading seconds ago, China can be reborn anytime between 1400 and 2020. Later I'll make a conditional scripted respawn specifically for Ming China.
 
Whoa..
I thought Irene already dead since newspaper here didn't mention about them anymore..
Be careful :)

Btw,
did I miss anything about adding the Sweden and Argentina ?
 
Irene's gone, not much happened at my house, but some other places near where I live lost power. The worst I got was a few minute-long outages.

No, I didn't add them. He's just making suggestions above.
 
Following version is all I say :mischief:
 
Tried redownloading today, still the same results in Synthesis and DoC.

Got an error.
Spoiler :
UUID Mismatch: existing repository 'C:/Program Files (x68)/2k Games/Firaxis Games/Sid Meier's Civilization 4 Complete/Beyond the Sword/Mods/RFC Synthesis/Assets/Art/leaderheads/Khomeini' was checked out from a different repository


After extensive googling, nothing came up that I could understand. Could someone please spell it out for stupid? -.-"
 
Linkman, I was playing as the Safavids and I would just like to point out that Turkey most of the time converts to Orthodoxy. I feared this would happen; it was one of the reasons I suggested moving Orthodoxy (holy city) to Moscow along with the fact that more than half of the followers of Orthodoxy reside in the country itself and follow the Patriarchate of Moscow.

On another note, How's ur progress on the Seljuks going

Also I was curious to what extent can we influence the growth rate of a civilzation? Is it possible to lower or higher the growth rate say after a certain turn or era?
 
Ya, I noticed this too... I had programmed Orthodoxy and Catholicism (adapted from DoC's system just for Catholicism) to be removed from Turkey's core in the event of Byzantine collapse, but clearly this isn't sufficient. I'm thinking inquisitors but right now the AI basically has no clue how to use it (Orion;s mod at best imitates AI unit choosing; as a result the AI system is pretty shoddy). At some point I'll work on adding Edead's SoI AI system, which should fix things up quite nicely.

Concerning the Seljuks:

Civ4ScreenShot0059.JPG

(Ignore the little windows at the bottom, those are just my python files)

Unfortunately they invade India and shun everything from Baghdad westwards all too often. So I;m working on rectifying that issue. Also there's the fact that the cities end up depopulated after the Seljuk invasions. Another issue to work on.

And yes, we can modify growth rate. The magic of the SDK is that almost anything is possible. In this case, it's simple enough to do by just giving extra free population points (the pop when a city is founded)

Attached you can also find a picture of a giga-Mongol Empire shortly after a Ming rebirth, for your viewing pleasure :)
 

Attachments

  • Civ4ScreenShot0056.JPG
    Civ4ScreenShot0056.JPG
    203 KB · Views: 84
I would take out Kandahar and add instead Neyashabur, so that when the Seljuks spawn in 1037, they can attack Neyahsabur making it their capital, before continuing West. An easy solution to them attacking India, would be to add an active Indian civilization in the sub-continent, rather than allowing it to be broken up like that.

Also it would be nice if the Mongols captured some Russian cities from time to time. :p
 
Unfortunately they invade India and shun everything from Baghdad westwards all too often. So I;m working on rectifying that issue. Also there's the fact that the cities end up depopulated after the Seljuk invasions. Another issue to work on.

Wow that was fast :thumbsup:

Couple of points:
1) Give India more defensive buildings and better defensive units; I always though India was too easy to conquer.
2) I anticipated and that is why i reccomended the below in my older posts. Actually, historically speaking it was under the Turkic dynasties that Persia experienced its cultural, scientific and population wise renaissance. Too bad the Mongols destroyed it. Also are u allowing research and building for the Seljuks.

-Can you make it so that the Seljuk conquest does not cause city/building damage or population damage. I say this because historically unlike the Mongol Conquests the Seljuk conquests were pretty peaceful and if we have three back to back invasion each causing damage the cities will become useless by the time the Persians filp them
3) Are the Seljuks getting a conquerers event for Anatolia.

4) You should make Seljuks spread Islam on conquest if it is not already there and remove Buddhism or hinduism.
 
An Indian minor civ would fix the problem just as well, it doesn't need to be a major civ. Say Rajputana. However I'm wondering if I should bother going through adding another minor civ, when there might be an easier solution at hand.
 
Wow that was fast :thumbsup:

Couple of points:
1) Give India more defensive buildings and better defensive units; I always though India was too easy to conquer.
2) I anticipated and that is why i reccomended the below in my older posts. Actually, historically speaking it was under the Turkic dynasties that Persia experienced its cultural, scientific and population wise renaissance. Too bad the Mongols destroyed it. Also are u allowing research and building for the Seljuks.

.
3) Are the Seljuks getting a conquerers event for Anatolia.
4) You should make Seljuks spread Islam on conquest if it is not already there and remove Buddhism or hinduism.

1) A good idea

2) Yes, research and buildings. I suppose I could just up growth, then, for the Seljuks.

3) Yes

4) Already done (since I posted the last screenie)
 
5) Ive noticed that you havent added Damascus yet; I reccomend that u add it before u make further changes because the city will alter gameplay a bit (and perhaps Seljuk Expansion). It will take you less than 2 minutes to add the city and change the resources around. If you want i can do it for u?

6) I mentioned before but u should really make Kuwait unbuildable. Not only is it ahistorical but also hogs Baghdad resources thus damaging gameplay.

7) Also Tabriz should be autofounded as a Seljuk city in this timeperiod because it really pisses me off when the Arabs build the city on top of the deer which is a crappy location. You should also include Tabriz in the Safavid spawn and remove one of the mountains around it like Leoreth suggested. You mentioned something about giving Tabriz would remove Safavid incentive to wage war on the Ottomans. That should not be ture since the Safavids wanted Mesopotamia and the Ottomans wanted Azerbaijan. An easy solution to this would be to just increase Safavid Ai war map for Mesopotamia and Ottoman one for Azerbaijan. With giving Tabriz ur logic only considered Safavid declaring war on the Ottomans and not the other way around. Right now Ottomans dont have incentive to declare war on Persia but when u give Azerbaijan to Persia both civs will have reason to declare war on the other. Anyways Tabriz was the first capital of the Safavid empire and Azerbaijan was the birthplace of the Safavids.

8) Now would be good time to change the Byzantine UP to something like this: When the empire collapses it retains Constantinople and cities in the core (Greece and Trapezues before Ottoman spawn).

Also I suggest that u change the Arab collapse mechanics so that when it collapses it retains the city of Baghdad if the collapse iz before 1300 ad. This is to represent the fact that the Abbasid still controlled Baghdad even after all their other territories declared independence; they were only destroyed by the Mongols in 1300 ad. This mechanic might sound stupid to you right now but after u add the Seljuks, Fatimids and the Moors u will see that the Arabs will collapse alot more often and rightfully so but they should still be have Baghdad like they historically did.
 
5) Yes, that'd be fantastic

6) On it

7) Excellent ideas

8) They're already collapsing like there's no tomorrow. I'll think about it

Some tweaking and:

Civ4ScreenShot0060.JPG

They also have a massive stack sieging Constantinople. Perhaps I gave them too many conquerors :rolleyes:
 
Back
Top Bottom