Orbis - the original thread

Been playing a few games SP and 1 game MP (haven't finished them yet) but one concern I have is with all the XP gaining buildings combined with settled great generals.

It is still relatively early in the game and I can build unis with 13xp out the door (2 great generals, training yard, apprenticeship, and a command post). As the Sidar that is already half-way to waning. I think these buildings should be more expensive and/or great generals should come at half or even a third frequency.
 
Psychic_Llamas, what map scrip do you use?
Wetlands are a common feature in tundra and mushrooms can grow under the ground (caves - that is why mushrooms are hills only bonus, they can also appear in hilly tundra & ice). Both changes are intended and working fine in my opinion. I just forgot to mention tundra swamps in the documentation.
I allowed sugar to appear on the featureless grasslands but not in forests. Probably the forest spread to the tile later. Snowy forest is wrong regardless, so I changed the maximum latitude for sugar to 50. 90 was just plain wrong and I forgot to change it.
Dyes have been changed to appear on swamps & drier forests, too (plains are ok terrain). Tundra is not allowed. So, there is a marginal possibility to get dyes in snowy forest but not on tundra. If you got it different, I do not know what is causing it.

@ MrPopov
The extra xp from buildings & such is meant to be able to slightly specialize units build in the late game, which are way behind in xp to the early ones. I do not want to lower xp or increase the building costs as the problem youn mentioned is influencing only Sidar. I will probably increase wane requirement to 7 level (50 xp).
The great general treshold increase is already 50% higher and base treshold is almost doubled from the default BtS values. I think generals are fun and not so powerful, so I do not want to decrease their appereance further, unless you people think there are too many of them now. I play mostly builder games so I am not sure how does it work for a warmonger.
 
Psychic_Llamas, what map scrip do you use?
Wetlands are a common feature in tundra and mushrooms can grow under the ground (caves - that is why mushrooms are hills only bonus, they can also appear in hilly tundra & ice). Both changes are intended and working fine in my opinion. I just forgot to mention tundra swamps in the documentation.
I allowed sugar to appear on the featureless grasslands but not in forests. Probably the forest spread to the tile later. Snowy forest is wrong regardless, so I changed the maximum latitude for sugar to 50. 90 was just plain wrong and I forgot to change it.
Dyes have been changed to appear on swamps & drier forests, too (plains are ok terrain). Tundra is not allowed. So, there is a marginal possibility to get dyes in snowy forest but not on tundra. If you got it different, I do not know what is causing it.

techtonic is my current map script of choice. and ok, that clears that up a fair bit :) thanks, thought the tundra swamps still bemuse me completely, wouldnt a swamp in tundra just be permafrost???? ice and dirty snow? id much prefer it id swamp latitudes were reduced to say 60 or 70
 
I can't seem to be able to build centaurs. I am Kuriotates (of course) and have researched the wheel but I can't build a centaur. Also in the pedia it shows a centaur as upgrading to a centaur.

Oh and I agree with changing wane to level 7.
 
techtonic is my current map script of choice. and ok, that clears that up a fair bit :) thanks, thought the tundra swamps still bemuse me completely, wouldnt a swamp in tundra just be permafrost???? ice and dirty snow? id much prefer it id swamp latitudes were reduced to say 60 or 70

I'd expect these tundra swamps to be Peat Bogs. Those usually occur in cold environments. I don't think they are usually frozen solid (although perhaps they are in the winter), but they are at temperatures low enough to prevent them from releasing too much methane. One of the major concerns of global warming is that if these warm up then they would serve as a excellent habitat for microbes that release large amounts of greenhouse gasses.
 
Wetlands are a common in all climates. In fact probably the largest one is part of the taiga in the West Siberian Plain in Russia.

Tundra in Civ is not an area of frozen ground - that is ice. Tundra terrain covers areas of severe winters and short vegatation period, but forest can appear on it, so I guess it represents both tundra (devoid of larger trees) and taiga (coniferous forests in cold regions) biomes.
Permafrost is quite common in such areas, but it is below the ground during summer or even the entire year. In fact it keeps the water just below ground as it can't go deeper (and even adds some from permafrost melting). Thus, it even helps wetlands forming.

Typically, swamps are considered different than peat bogs. But judging from my experience from northern Finland, peat bogs are still quite rich compared to the vegetation around. So, maybe the general term wetland suits the feature better, but the swamp sounds better and it works a bit alike.
As for the jungles, there are many different kinds of them and only a few are a really wet. Most are just very rainy.

Sorry for the long explanation. Such things are part of my real life occupation and I wanted to explain my reasoning clearly... :crazyeye:

There is no easy way to limit feature to certain latitudes. And 70 is on standard settings close to ice/tundra border I think.

As for the centaurs, I found the bug. It was in the CIV4CivilizationInfos.xml The right file is below, but I am not 100% if it will not break the save games.

I rearranged the religions from AV to Order and all is working fine. By the way I tracked the bug that made air mana display in three-field order civpedia. It was from unmodded FfH I think.
I added some new things too. I hope I will release next version tomorrow or on Sunday.
 

Attachments

  • CIV4CivilizationInfos.zip
    12.1 KB · Views: 113
Wetlands are a common in all climates. In fact probably the largest one is part of the taiga in the West Siberian Plain in Russia.

Tundra in Civ is not an area of frozen ground - that is ice. Tundra terrain covers areas of severe winters and short vegatation period, but forest can appear on it, so I guess it represents both tundra (devoid of larger trees) and taiga (coniferous forests in cold regions) biomes.
Permafrost is quite common in such areas, but it is below the ground during summer or even the entire year. In fact it keeps the water just below ground as it can't go deeper (and even adds some from permafrost melting). Thus, it even helps wetlands forming.

Typically, swamps are considered different than peat bogs. But judging from my experience from northern Finland, they are still quite rich compared to the vegetation around. So, maybe the general term wetland suits the feature better, but the swamp sounds better and it works a bit alike.
As for the jungles, there are many different kinds of them and only a few are a really wet. Most are just very rainy.

Sorry for the long explanation. Such things are part of my real life occupation and I wanted to explain my reasoning clearly...

no worries, im studying biology at uni so i found it interesting, i never would have thought of swamps in the tundra :crazyeye:
 
Hi, this looks interesting, just downloaded for a look.

First thing - the function marnokSpawnMonster is missing. It's one of the supporting functions and means lairs can't spawn monsters properly!
 
Thanks for the info, I will fix it in the next version. And sorry for butchering your code like that... :mischief:

As you can easily learn from the above, I know next to nothing of the python coding. Unfortunatelly, I am too short of time now to learn it... :(
And I have a problem right now I can't seem to solve on my own.

I try to make Bazaar of mammon to incorporate stewards of inequity to the city it was build, but keep it as a national wonder. I think it is possible and I have already tried it using mage guild code for circle of gaelan in "def onBuildingBuilt" section of theCvEventManager.py
It works if I keep it dependant on the circle of gaelan headquaters (which I put in another city via worldbuilder):
Spoiler :
if iBuildingType == gc.getInfoTypeForString('BUILDING_BAZAAR_OF_MAMMON'):
if CyGame().isCorporationFounded(gc.getInfoTypeForString('CORPORATION_CIRCLE_OF_GAELAN')):
if CyGame().getHeadquarters(gc.getInfoTypeForString('CORPORATION_CIRCLE_OF_GAELAN')).getOwner() == pCity.getOwner():
pCity.setHasCorporation(gc.getInfoTypeForString('CORPORATION_STEWARDS_OF_INEQUITY'), True True, True)

but fails if I remove it:
Spoiler :
if iBuildingType == gc.getInfoTypeForString('BUILDING_BAZAAR_OF_MAMMON'):
pCity.setHasCorporation(gc.getInfoTypeForString('CORPORATION_STEWARDS_OF_INEQUITY'), True True, True)


So the question is, what am I doing wrong?

I also want expanding stewards guild to a city to grant a free building in this city, as I can't do the things I want with CIV4CorporationInfo.xml alone. Any ideas (or preferably a piece of code with instructions where to put it ;) )

And while we are at hat, any ideas what should be done in CvMainInterface.py to make guild icons in the city interface to appear in two rows instead of one. There are 16 guilds in this mod already and I think it need this fix badly...

Any piece of advice helps.I really need the above fixes or at least part of them for the next version...
Thanks!
 
I found it :)

All works as supposed. In fact guild of the nine is spread without founding headquaters, too. The above code is correct, just missing one comma at the last section ;)

Spoiler :
pCity.setHasCorporation(gc.getInfoTypeForString('CORPORATION_STEWARDS_OF_INEQUITY'), True, True, True)


But if soemone can help me with the free buildings on corporation spread, it would be appreciated
 
I found it :)

All works as supposed. In fact guild of the nine is spread without founding headquaters, too. The above code is correct, just missing one comma at the last section ;)

Spoiler :
pCity.setHasCorporation(gc.getInfoTypeForString('CORPORATION_STEWARDS_OF_INEQUITY'), True, True, True)


But if soemone can help me with the free buildings on corporation spread, it would be appreciated

There's onCorporationSpread in CVEventManager.py
pSpreadCity is taken in that function as the city spread to;
should be a doddle to pop a building up in that city.
 
If you want it to found the Headquarters the first time someone builds the Bazaar, you might want to borrow soem code from the Spread Aerons Bounty spell:
Code:
def spellAeronsBounty(caster):
	iAeronsBounty = gc.getInfoTypeForString('CORPORATION_AERONS_BOUNTY')
	pCity = caster.plot().getPlotCity()
	if CyGame().isCorporationFounded(iAeronsBounty) == False:
		pCity.setHeadquarters(iAeronsBounty)
	pCity.setHasCorporation(iAeronsBounty, True, False, False)

I'm of the opinion that the Stewards really need a Headquarters, since think that is important in letting a guild's headquarters boost one city's economy at the expense of others.
 
Hi...
Can you make next patch more Linux-user-friendly?? (Meaning CaSeSeNsItIvE) - When I extract ORBI mod and then patch I've got two XML folders ("XML" and "Xml") and some other files has also two names with another case letters ... ):
 
Thanks for pointing to the right direction Marnok. I found it it made the following:
Spoiler :

Code:
	def onCorporationSpread(self, argsList):
		'Corporation Has Spread to a City'
		iCorporation, iOwner, pSpreadCity = argsList
		player = PyPlayer(iOwner)
		iSteward = gc.getInfoTypeForString('CORPORATION_STEWARDS_OF_INEQUITY')
		pPlayer = gc.getPlayer(iOwner)

		if iCorporation == iSteward:
			city.setNumRealBuilding(gc.getInfoTypeForString('BUILDING_STEWARDS'), 1)

		if (not self.__LOG_RELIGIONSPREAD):
			return
		CvUtil.pyPrint('%s has spread to Player %d Civilization %s city of %s'
			%(gc.getCorporationInfo(iCorporation).getDescription(), iOwner, player.getCivilizationName(), pSpreadCity.getName()))

Unfortunatelly, it does not work :( (the extra spaces in words INEQUITY & BUILDING are here only, in python file it is ok).
This is anything but easy for me... And I did not even added the condition that Bazaar can't be in the city..
Can someone check this short code and tell me what am I doing wrong?

@Magister
I do not need a code for establishing a headquaters when a building (in fact world wonder) is build as it is the default method of corporation founding, easy to use via Xml. The problem I had (and fortunatelly already solved) was to make a national wonder spread corporation to a city it is built.
Stewards in my mod do not have a real headquaters, but all bazaars benefit form all the cities that have this guild - so it is exactly what you wanted, but instead of one per world it is one per civ.
The problem I have now is to make other cities suffer or get mixed blessing from Stewards spreading to them. And for that I need the above code, as I need buildings spawned when the guild spreads...

Edit: added tags for the code above
 
Oh. Does that work? Is it ok to have multiple headquarters-founding buildings, and multiple headquarters? That wouldn't cause a problem like when you get a religion founding tech first after spreading the religion in worldbuilder?


you should probably start using [code][/code] tags, possible within [spoiler][/spoiler]. That way it is easier to read and we can tell how things are indented, which is important in finding python bugs. ([plain][/plain] tags were used to make [code][/code] show up.)
 
It works, and this way Stewards can spread to every player that builds the Bazaar.
I checked it and seems to be fine, but you never can be too sure. As for the techs, corporations/guilds are not really tied to them, but to buildings founding them. My method does not allow to create a real headquaters as only unique world wonder can do that, but it is not really needed. Buildings do all the job in fact. Some of Keal's guilds do not have headquaters either, i.e. Guild of the nine I think.

As for the tags, I am not sure what do you mean.
My only experience ever with the python is this mod and I do not really understand it. It is all blind guesses.
So, can you help me with the above code? I can really use some help with making it work and adding a block for spawning BUILDING_STEWARDS in the cities with bazaar.

Edit: OK, I see now :) I tried to do it in the previous post... Hope that helps.
 
The tags I was reffing to aren't in python (xml uses tags, python does not), but in the manner in which you post things in this forum. When you use [quote][/quote] or [spoiler] tags around you code it messes up how you code is displayed, ignoring indentations. Using [code][/code] instead preserves the formatting of whatever you pasted there, which would help us help you.



Presumably, you would probably have to edit the onCorperationSpread and onCorperationRemove defines in CvEventManager.py
Code:
	def onCorporationSpread(self, argsList):
		'Corporation Has Spread to a City'
		iCorporation, iOwner, pSpreadCity = argsList
		player = PyPlayer(iOwner)
		if (not self.__LOG_RELIGIONSPREAD):
			return
		CvUtil.pyPrint('%s has spread to Player %d Civilization %s city of %s'
			%(gc.getCorporationInfo(iCorporation).getDescription(), iOwner, player.getCivilizationName(), pSpreadCity.getName()))

	def onCorporationRemove(self, argsList):
		'Corporation Has been removed from a City'
		iCorporation, iOwner, pRemoveCity = argsList
		player = PyPlayer(iOwner)
		if (not self.__LOG_RELIGIONSPREAD):
			return
		CvUtil.pyPrint('%s has been removed from Player %d Civilization %s city of %s'
			%(gc.getReligionInfo(iReligion).getDescription(), iOwner, player.getCivilizationName(), pRemoveCity.getName()))

to something like this
Code:
	def onCorporationSpread(self, argsList):
		'Corporation Has Spread to a City'
		iCorporation, iOwner, pSpreadCity = argsList
		player = PyPlayer(iOwner)
		
		[B]pSpreadCity.setNumRealBuilding(gc.getInfoTypeForString('BUILDING_STEWARDS'), 1)[/B]
		
		if (not self.__LOG_RELIGIONSPREAD):
			return
		CvUtil.pyPrint('%s has spread to Player %d Civilization %s city of %s'
			%(gc.getCorporationInfo(iCorporation).getDescription(), iOwner, player.getCivilizationName(), pSpreadCity.getName()))

	def onCorporationRemove(self, argsList):
		'Corporation Has been removed from a City'
		iCorporation, iOwner, pRemoveCity = argsList
		player = PyPlayer(iOwner)
		
		
		[B]pSpreadCity.setNumRealBuilding(gc.getInfoTypeForString('BUILDING_STEWARDS'), 0)[/B]
		
		if (not self.__LOG_RELIGIONSPREAD):
			return
		CvUtil.pyPrint('%s has been removed from Player %d Civilization %s city of %s'
			%(gc.getReligionInfo(iReligion).getDescription(), iOwner, player.getCivilizationName(), pRemoveCity.getName()))


That is assuming that this define is actually exposed to python. I believe I've run into situations before when what I wanted to do wouldn't work because somehting still found in this file was no longer checked in the SDK, because Kael thought it slowed things down too much and he didn't intend to use it himself.
 
200 turns into my first game and I'm having a great time. Many, many good new features. Love the new units, buildings, and resources.

I was lucky to pop a Great Engineer early on, and since then I've been spamming Prospectors. I have some ridiculously rich cities -- e.g. one has five gold mines and another has four iron mines and three copper mines. Most of the Prospectors eventually get trapped and killed, but they are easily replaced. I happen to be playing the Balseraphs and so I have a stack of Taskmasters who are able to enslave the Orcs, capture the Spiders, and kill everything else. After I lost a city to 7 Lizards, I learned to do my prospecting before founding the city. (I was a little concerned about building the Guild when it said it would 'consume' resources, but so far I don't seem to be running out. Another bit of miswording comes when you get Marble, which it says can be 'mined' instead of 'quarried'.)

There does seem to be a graphics glitch that makes some units have a red or black 'puddle' at their feet. I've also noted that after a successful dungeon exploration, the unit's turn does not end normally and you have to click on another one to move on.
 
I'm sad to say that I've encountered a fairly big bug. Late game (370-450 turns) I get a crash to desktop due to graphical error. First time I thought it was just a wierd fluke, since noone else had reported such a bug, but after three more games ended the same way I think it's safe to say that somethings up with OrbiMod. I assume there's something wonky about a lategame unit (since the crash comes so late and irregularly) but is there any way I could narrow it down? Sort of a crappy bug report as it is. :(
 
Top Bottom