Dawn of Civilization - an RFC modmod by Leoreth

Status
Not open for further replies.
A little SVN update today: Byzantine spawn fixed, Roman UP doesn't work for Italy anymore, less starting units and no Feudalism for Byzantium.

The Roman crash still escapes me.

No fix for the broken Byzantine gold collection? :sad: I guess I'll play some RFC:E/M 1.22 until it's fixed.
 
I think I can get a look at it this weekend.
 
Alright then hopefully it's not hard to fix.
 
What can I do to help you fix the roman bug? Also, does anyone else have the same problem because maybe it's something wrong with my system. I would hate for you to be chasing ghosts on my account.....

also what is rfc: e/m?
 
Still have city ruins for byzantines.

unless....... I remember reading somewhere that there is something you have to do to prevent civ from loading cached versions of the mod.

Also Python exception on second start, Byzantines in Antarctica
 

Attachments

  • Justinian I Medieval Age Turn 163.CivBeyondSwordSave
    Justinian I Medieval Age Turn 163.CivBeyondSwordSave
    287.6 KB · Views: 131
  • Civ4ScreenShot0006.JPG
    Civ4ScreenShot0006.JPG
    81.3 KB · Views: 100
  • Civ4ScreenShot0007.JPG
    Civ4ScreenShot0007.JPG
    71.7 KB · Views: 130
Still have city ruins for byzantines.

unless....... I remember reading somewhere that there is something you have to do to prevent civ from loading cached versions of the mod.
Could you elaborate a little? I didn't see the city ruins in a while, but I conciously did nothing to repair that problem, so I guess it's still there for me as well.

Also Python exception on second start, Byzantines in Antarctica
New revision is up, should be fixed there, thanks.
 
On your Babylonia ponderings:
This is exactly what I thought as well - the problem is that the Babylonian UHV is already that well designed. It incorporates every aspect of the game available to you at the time, so your UP is doomed to either trivialize that UHV or be useless for much of the game.

Well, one thing that isn't affected by any of those are specialists. How about "Can turn 1 (or 2) citizen to any specialist" for the Babylonian UP? You could do something more with it if you want but it's not going to make the game easier per se.
 
That's actually quite a good idea.
 
But if you consider that part of the babylonian UHV is to have the most populous city in the world, specialists are going to interfere with that. Their UP should be complimentary to their UHV imo.
 
Which I think is even better ... you can't exploit that UP to further your UHV, but maybe some intelligent use will help (e.g. run a scientist to help with the techs).

I also think I found the negative income bug. The reason is that when calculating gold income, the game takes your raw commerce and subtracts your spendings (science, culture, espionage). The Byzantine UP increases espionage output, but the game thinks this is due to a higher espionage spending and subtracts these extra espionage points from your income. Have applied a fix now, currently only have to test if it works.
 
It works, fix is uploaded to the SVN. When I tested the fix, I also had this OMG moment:
Spoiler :
attachment.php

Don't ask me how that happened.
 
Could you elaborate a little? I didn't see the city ruins in a while, but I conciously did nothing to repair that problem, so I guess it's still there for me as well.


New revision is up, should be fixed there, thanks.

The city ruins still exist even with rev 38. Save and screen shot attached. I even dug through my history, which was a huge deal as those of us who use stumbleupon can attest to, to find the post I was reading earlier that said you have to hold shift while loading a mod to prevent the program from using cached data. But it did nutthing!!!!


Also the pressence of Roman Taracco is pretty common now, but has anyone else seen Rome expand into Iberia any further?



And i can tell you exactly how that happened. While crossing the Alps to attack Rome from the north Hannibal said "F it!" and decided to settle down.
 

Attachments

If Byzantium is created with setCivilizationType, try the merging in the new RFCMarathon - or at least the setCivilizationType part. Can't promise it'll fix it, but it should.
 
Could you attach either a -10% maintenance or a -25% corporation costs to the Feitoria? Feitorias served as power centres and influenced/leased-to corporations
 
The city ruins still exist even with rev 38. Save and screen shot attached. I even dug through my history, which was a huge deal as those of us who use stumbleupon can attest to, to find the post I was reading earlier that said you have to hold shift while loading a mod to prevent the program from using cached data. But it did nutthing!!!!
That's bad :(

Also the pressence of Roman Taracco is pretty common now, but has anyone else seen Rome expand into Iberia any further?
I also see Nova Carthago once in a while ... but it seems the increased settler values can't get them to settle in the center.

And i can tell you exactly how that happened. While crossing the Alps to attack Rome from the north Hannibal said "F it!" and decided to settle down.
:lol:

If Byzantium is created with setCivilizationType, try the merging in the new RFCMarathon - or at least the setCivilizationType part. Can't promise it'll fix it, but it should.
Thanks, but it isn't. It's a normal civilization that's always Byzantium from the start. But maybe you can still help me - I used your birthConditional method from SoI as base for Byzantium's spawn (so that they flip a prebuilt Constantinople on spawn). I think there's my problem somewhere, as I remember from my problems with Italy that cities shouldn't be flipped before a player has been revived. If you want to have a look at it:
Spoiler :
Code:
	def birthInCapital(self, iCiv, tCapital, tTopLeft, tBottomRight):

		startingPlot = (tCapital[0], tCapital[1])
		iOwner = gc.getMap().plot(tCapital[0], tCapital[1]).getOwner()

		if self.getFlipsDelay(iCiv) == 0:
			iFlipsDelay = self.getFlipsDelay(iCiv)+2

			if iFlipsDelay > 0:

				# flip capital instead of spawning starting units
				utils.cultureManager(startingPlot, 100, iCiv, iOwner, True, False, False) # done


				#utils.flipUnitsInCityBefore(startingPlot, iCiv, iOwner)		# done
				plotCity = gc.getMap().plot(startingPlot[0], startingPlot[1])
				city = plotCity.getPlotCity()
				iNumUnitsInAPlot = plotCity.getNumUnits()
				j = 0
				for i in range(iNumUnitsInAPlot):
					unit = plotCity.getUnit(j)
					unitType = unit.getUnitType()
					if (unit.getOwner() == iOwner):
						unit.kill(False, con.iBarbarian)
						if (iCiv < con.iNumPlayers or unitType > con.iSettler):
							utils.makeUnit(self.getBaseUnit(unitType, iNewOwner), iCiv, (0, 0), 1) # edead
					else:
						j += 1

				self.setTempFlippingCity(startingPlot) 			#necessary for the (688379128, 0) bug # done


				utils.flipCity(startingPlot, 0, 0, iCiv, [iOwner])	# done


				#utils.flipUnitsInCityAfter(self.getTempFlippingCity(), iCiv)
				#moves new units back in their place
				tCityPlot = self.getTempFlippingCity()
				print ("tCityPlot After", tCityPlot)
				tempPlot = gc.getMap().plot(0, 0)
				if (tempPlot.getNumUnits() != 0):
					iNumUnitsInAPlot = tempPlot.getNumUnits()
					#print ("iNumUnitsInAPlot", iNumUnitsInAPlot)
					for i in range(iNumUnitsInAPlot):
						unit = tempPlot.getUnit(0)
						unit.setXY(tCityPlot[0], tCityPlot[1], False, False, False)

				#cover plots revealed
				#self.coverPlots(con.iFlipX, con.iFlipY, iCiv)
				gc.getMap().plot(0, 0).setRevealed(iCiv, False, True, -1)
                        	gc.getMap().plot(0, 1).setRevealed(iCiv, False, True, -1)
                        	gc.getMap().plot(1, 1).setRevealed(iCiv, False, True, -1)
                        	gc.getMap().plot(1, 0).setRevealed(iCiv, False, True, -1)
                        	gc.getMap().plot(123, 0).setRevealed(iCiv, False, True, -1)
                        	gc.getMap().plot(123, 1).setRevealed(iCiv, False, True, -1)
                        	gc.getMap().plot(2, 0).setRevealed(iCiv, False, True, -1)
                        	gc.getMap().plot(2, 1).setRevealed(iCiv, False, True, -1)
                        	gc.getMap().plot(2, 2).setRevealed(iCiv, False, True, -1)
                        	gc.getMap().plot(1, 2).setRevealed(iCiv, False, True, -1)
                        	gc.getMap().plot(0, 2).setRevealed(iCiv, False, True, -1)
                        	gc.getMap().plot(122, 0).setRevealed(iCiv, False, True, -1)
                        	gc.getMap().plot(122, 1).setRevealed(iCiv, False, True, -1)
                        	gc.getMap().plot(122, 2).setRevealed(iCiv, False, True, -1)
                        	gc.getMap().plot(123, 2).setRevealed(iCiv, False, True, -1)


				#print ("starting units in", tCapital[0], tCapital[1])
				print ("birthConditional: starting units in", tCapital[0], tCapital[1])
				self.createStartingUnits(iCiv, (tCapital[0], tCapital[1]))

				utils.setPlagueCountdown(iCiv, -con.iImmunity)
				utils.clearPlague(iCiv)

				print ("flipping remaining units")
				utils.flipUnitsInArea(tTopLeft, tBottomRight, iCiv, iBarbarian, True, True) #remaining barbs in the region now belong to the new civ 
                        	utils.flipUnitsInArea(tTopLeft, tBottomRight, iCiv, iIndependent, True, False) #remaining barbs in the region now belong to the new civ 
                        	utils.flipUnitsInArea(tTopLeft, tBottomRight, iCiv, iIndependent2, True, False) #remaining barbs in the region now belong to the new civ 
				
				self.setFlipsDelay(iCiv, iFlipsDelay) #save

				# kill the catapult and cover the plots
				plotZero = gc.getMap().plot(0, 0)
				if (plotZero.getNumUnits()):
					catapult = plotZero.getUnit(0)
					catapult.kill(False, iCiv)
				gc.getMap().plot(0, 0).setRevealed(iCiv, False, True, -1)
                        	gc.getMap().plot(0, 1).setRevealed(iCiv, False, True, -1)
                        	gc.getMap().plot(1, 1).setRevealed(iCiv, False, True, -1)
                        	gc.getMap().plot(1, 0).setRevealed(iCiv, False, True, -1)
                        	gc.getMap().plot(123, 0).setRevealed(iCiv, False, True, -1)
                        	gc.getMap().plot(123, 1).setRevealed(iCiv, False, True, -1)
                        	gc.getMap().plot(2, 0).setRevealed(iCiv, False, True, -1)
                        	gc.getMap().plot(2, 1).setRevealed(iCiv, False, True, -1)
                        	gc.getMap().plot(2, 2).setRevealed(iCiv, False, True, -1)
                        	gc.getMap().plot(1, 2).setRevealed(iCiv, False, True, -1)
                        	gc.getMap().plot(0, 2).setRevealed(iCiv, False, True, -1)
                        	gc.getMap().plot(122, 0).setRevealed(iCiv, False, True, -1)
                        	gc.getMap().plot(122, 1).setRevealed(iCiv, False, True, -1)
                        	gc.getMap().plot(122, 2).setRevealed(iCiv, False, True, -1)
                        	gc.getMap().plot(123, 2).setRevealed(iCiv, False, True, -1)
				print ("Plots covered")

			else:		# starting units have already been placed, now to the second part

				iNumAICitiesConverted, iNumHumanCitiesToConvert = self.convertSurroundingCities(iCiv, plotList)
				self.convertSurroundingPlotCulture(iCiv, tTopLeft, tBottomRight)
				
				for i in range(iIndependent, iBarbarian+1):
					utils.flipUnitsInArea(tTopLeft, tBottomRight, iCiv, i, False, True) #remaining barbs/indeps in the region now belong to the new civ   
				#print ("utils.flipUnitsInArea()")
				
				# kill the catapult and cover the plots
				plotZero = gc.getMap().plot(0, 0)
				if (plotZero.getNumUnits()):
					catapult = plotZero.getUnit(0)
					catapult.kill(False, iCiv)
				gc.getMap().plot(0, 0).setRevealed(iCiv, False, True, -1)
                        	gc.getMap().plot(0, 1).setRevealed(iCiv, False, True, -1)
                        	gc.getMap().plot(1, 1).setRevealed(iCiv, False, True, -1)
                        	gc.getMap().plot(1, 0).setRevealed(iCiv, False, True, -1)
                        	gc.getMap().plot(123, 0).setRevealed(iCiv, False, True, -1)
                        	gc.getMap().plot(123, 1).setRevealed(iCiv, False, True, -1)
                        	gc.getMap().plot(2, 0).setRevealed(iCiv, False, True, -1)
                        	gc.getMap().plot(2, 1).setRevealed(iCiv, False, True, -1)
                        	gc.getMap().plot(2, 2).setRevealed(iCiv, False, True, -1)
                        	gc.getMap().plot(1, 2).setRevealed(iCiv, False, True, -1)
                        	gc.getMap().plot(0, 2).setRevealed(iCiv, False, True, -1)
                        	gc.getMap().plot(122, 0).setRevealed(iCiv, False, True, -1)
                        	gc.getMap().plot(122, 1).setRevealed(iCiv, False, True, -1)
                        	gc.getMap().plot(122, 2).setRevealed(iCiv, False, True, -1)
                        	gc.getMap().plot(123, 2).setRevealed(iCiv, False, True, -1)
				print ("Plots covered")
				
				# create workers
				if gc.getPlayer(iCiv).getNumCities() > 0:
					capital = gc.getPlayer(iCiv).getCapitalCity()
					self.createStartingWorkers(iCiv, (capital.getX(), capital.getY()))
				
				# convert human cities
				if iNumHumanCitiesToConvert > 0:
					self.flipPopup(iCiv, plotList)

Rome game: for some reason the roman UP did not trigger when I declared against Carthage. I immediately declared against Greece, and it worked properly, I even got a message saying an army was fielded to attack %, which was kinda cool.
Yeah, those percent symbols get attacked a lot lately :mischief:

Was your declaration against Phoenicia in the same turn as that against Greece? Because otherwise, the problem might be that you declared too early ... I have disabled it for the first two turns to avoid exploits and problems with wars on spawn.

Could you attach either a -10% maintenance or a -25% corporation costs to the Feitoria? Feitorias served as power centres and influenced/leased-to corporations
I think the feitoria is quite powerful already.
 
Thanks, but it isn't. It's a normal civilization that's always Byzantium from the start. But maybe you can still help me - I used your birthConditional method from SoI as base for Byzantium's spawn (so that they flip a prebuilt Constantinople on spawn). I think there's my problem somewhere, as I remember from my problems with Italy that cities shouldn't be flipped before a player has been revived. If you want to have a look at it:

Oh, yeah, it's the same deal here. Pre-spawn a catapult before flipping the city (before first cultureManager call) then remove it afterwards, just before covering the plots. It's also in the current birthConditional code.
 
Leoreth,
Have you put in any thought on Civics on spawns?
If you tell me what civs and appropriate civics (if it were me, most civs would just spawn with Monarchy, Aristocracy, serfdom and Patriarchate except the Arabs who would get Theocracy and the ancient civs who wouldn't get a change)
 
Status
Not open for further replies.
Back
Top Bottom