Natural wonders development thread

well the peak/hill requirement is very useful (devil's table for example is set to hill) especially when you have wonders that would fit ontop of a mountain tile (like a spring or something)

of course Terrain_Snow is perfectly useable as a requirement

I think that unless VERY specific conditions are chosen a Wonder will always have a place to spawn in the world...

I think I will add a new variable of bPeakFlatten which can be used to flatten peaks for mountain wonders to go on...
 
What I mean is adjust the plot to suit the wonder, instead of check the plot to see if the wonder is suitable.

If you think devil's table has to be set on a hill, then instead of checking if the plot is a hill to decide whether to place the wonder there, just place it there and change the plot to a hill plot regardless whether it was a peak, hill or flatland.

So long as the base terrain is correct, that is all, so it does not end up in the middle of ocean like I said. Thus, the only check you need is the terrain type, the rest, adjust the plot to suit the wonder instead.
 
I guess but why not make use of what's given to you :p
 
hmm plat you don't have any idea why the code isn't deleting the plot's culture do you?

should I add code to onCityRazed aswell? because when city is lost this runs:

Code:
                #Natural Wonders - Start 
		for iIndex in xrange(19):
                        pPlot = city.getCityIndexPlot(iIndex)
                        if pPlot.isCity() or pPlot.getFeatureType() == -1: continue
                        if gc.getFeatureInfo(pPlot.getFeatureType()).isNaturalWonder():
                                city.changeCulture(city.getOwner(), -iCulture, True)
                #Natural Wonders - End

(btw the variables are declared on loading/gamestart with
Code:
def doNaturalWondersConstantsInit():
        global Game
        Game = CyGame()
        iCulturePercentageBoost = 20 #percentage increase, cities culture/100 * this = the amount of culture
                                     #added to the city  
        iBaseCulture = 4000
        iModifier = gc.getGameSpeedInfo(Game.getGameSpeedType()).getGrowthPercent()
        global iCulture
        global iGold
        iCulture = int(round(iBaseCulture * (float(iModifier)/100)))
        iGold = 400
so that I don't have to assign on each function :p)
 
For mountain natural wonders like Mt Fuji, why not just make a feature with a mountain look and place it on flatland on snow terrain, rather than make a feature and place it on a peak?
Then you can have a totally snow white Mt Fuji :D

That is what I was thinking.
 
Well, I always use CityAcquired + CityRazed combination rather than CAAK + CityLost combination, so I not sure under what circumstances CityLost is activated.

But if CL is activated during CityRazed, and you are going to add codes to CR as well, then it will be double counting.

Also, since you have SDK stuff as well, it may be SDK problem rather than python problem.
Because AFAIK, I can use python to add 100000 culture to every single plot, but it will still not be my plot if I don't have a city nearby to control the plots.

Btw, I chose to take getUnitGreatWorkPercent() rather than growth, since at least that is somehow related to culture, although for BTS, most values are the same
 
The SDK stuff doesn't involve the culture unfortunately :confused: (in my work anyway)

I used GrowthPercent because I checked in the XML and all the values matched up perfectly. Of course I could add a method to the SDK to collect the culture's "true" value instead (can't think why that isn't there by default) but the less SDK changes the better IMO

I am thinking about swapping to your combination however if the person that aquires the city razes it surely they have gained culture on the plot which isn't lost. But also if the code for onCityLost isn't working I will do some more testing then I might add some to onCityRazed aswell (if it doesn't work when a city is razed what's the harm? :p)
 
1) Like I said, I know in BTS, growth, culture, greatwork etc all give the same value for all speeds, so actually it does not matter. I chose greatwork over growth because there may be mods out there with modified gamespeed data. Since there isn't a python for culture directly, greatwork sounds closer to culture than growth.

2) For my combination, if he acquires and razes directly, CA is activated first, which removes culture from previous owner and adds culture to new owner. Then CR is activated which removes the culture just added to new owner. So both players will lose the culture.

But whether it is my combination or yours the real question is why the heck is the culture terriority still visible when the city itself is gone. By right, the culture gathered over time will still be there but you won't see the borders because there isn't a city to control it
 
Arian: Dacbuzs will fill you in ;)

Plat: there is a way to make the culture leave but it is dirty and unreliable, forcibly removing the plot ownership for each plot in the city, however I don't really know how it will work. maybe if someone who understands the culture system in python more pops round here we would have more of an idea
 
I know about removing ownership, to make it a blank ownership plot, even though there is a city nearby with culture on the plot.

But that isn't the problem here is it?

The problem here is why is there cultural borders when there isn't a city.

Anyway, did you test it out yourself about this, because dacubz seems to have problems with his civ4 previously, so I not sure whether this exists for you or his civ4 is still problematic :D
 
Sad to hear that then lol.
Maybe you can upload the latest version then I see what I can do when bored :D
 
Natural wonder movie for the Devil's Table is ready. Get it here.

devilstable02_lQT.jpg
 
i am working art for giant's causeway, a formation in Ireland. Is anyone interested, or will you continue to ignore me?
 
oh that is freaky! just before I read that comment there was an advert on tv for the giants causeway and I thought: that could go in natural wonders...
 
Back
Top Bottom