Natural wonders development thread

As I mentioned, the easiest way to solve #2 is...
Just grant both benefits rather than either one
Then you don't have to store unnecessary data (waste of memory) and doesn't work anyway

#4 is easy to fix with extra loops, but I also lazy to fix in my own one :D

I am fussy when it comes to details:D

P.S
1 hour has passed
 
I know :p and I am nearly done. I just gotta test the new C++ methods (replacing script data). It took a bit longer that I thought as I had breakfast and making the C++ methods (compiling takes 10 mins :lol:)

Also if I did both effects and didn't store data then I would have to do a bunch more plot loops to see if the city has a natural wonder.

edit: Adding another method to keep track of number of wonders a city is adjecent to... my culture expansion method doesn't quite work untill the culture expands as apparently coming out of disorder doesn't count as a cultural expansion. But it will update after culture expanding. Stick with this method for release then we can release a patch that fixes this!!!
 
Also if I did both effects and didn't store data then I would have to do a bunch more plot loops to see if the city has a natural wonder.

That was what you did anyway when you posted the codes :D
Anyway, if you don't wanna do this, then just be lazy like me.
Choose benefits that are permanent, so no codes at all on City Acquired.

Codes like extra Happiness, extra Health, added Bonus will be gone on CA, tested.
Codes like specialists, Buildings, plot yield, Trade Routes, Building Commerce/Yield/Happy/Health changes etc will stay even after CA.
You can even use 1 time benefits like Golden Age, spawn units etc.

If you insist on Happiness, then just make a new building, tourist whatever then make it unbuildable, nuke immune, and add it to the city itself to provide the Happiness.
It can even give benefits like extra culture, which was what you all wanted initially.
Although a new building may not seem like a elegant solution, it opens up more choices in this case.
Others like Great People points, Trade Route Yield, % Commerce etc, all of which sound better than adding an improvement on the Natural Wonder itself

Why mess with the SDK when there are simpler solutions
 
authough I agree and I would keep it as just specialists personally dacubz wants the happiness.

Also I don't think using buildings is a very... clean implementation but if I can't solve this then fine, I will change it to add a building (that is unbuildable, nuke immune make sure of that dacubz). but don't give up on me just yet :p
 
No problem help with model. Send me link and write what you need change :) I think you have models from Collada . After conversion to NIF are large and dark and have too complex structure. There is no problem to simplify the model structure, if are all right texture / UV layer
 
I will post my code later. I'm afraid due to some weird bug (which I will debug and see if I can't work out whats wrong) the isCityHappy() method returns the wrong value if called in onCityAcquired or onCityAcquiredAndKept (I think it could be that the CvCity passed into it is somehow null which returns false by default). You will have to use the building. I will set up some dummy code under my commented out code for you to use. I will fix this and remove the need for buildings in the future!
 
I was thinking about the Grand Canyon graphics and I have a question; is there a way to make a second type of water/ocean/sea and make that the Grand Canyon? Not sure if that makes sense.

Not without actually making it water.
But would still work, due to bugs in Firaxis code. If a feature is present, the ability to move on that feature will override the inability to move on that plot.
Means if you put a normal feature on water (e.g. via WB, a forest on water), normal land units should be able to move on that plot.
So a canyon feature might require a 2 tiles long lake, or something like that (or would have to be created when it's placed).
Would not make a difference for normal units, besides that combat stats would not display properly if you attack a unit on that tile. And since ships cannot be build on lakes, it would also not mess up a cities buildings menu. The tiles would provide fresh water, but well...there's a river in it. Makes sense, somehow.
 
I dont need happiness, the specialists are fine but just in my mind if you get hapiness to work on it similar to the forest preserve then it just will work smoother. Just like the forest preserve, if you own it your city gets happiness, if it changes hands the other city automatically gets happiness. It gives the happiness strait to the plot, so there is no worrying about anything because cIV already checks who owns the plot. Other than that if its via python wethers its happiness or specialist is up to you

As for being right next to eachother, i dont care i mean obvoiusly we would rather not but lets get all the more important things done, so i can release the mod then we can work on things like that.

@canyon its going to get to messy. We already went trhough the whole two plots thing and that aint gonna happen, as well as we do not want to add a terrain type. Easiest way is simple just make the art on land. It wont look completely realistic, but just have the art have raised rocks and place a canyon in it. I mean yes not "realistic" art but everyone will get the point
 
Personally, I believe the main essense of the Natural Wonders is the special artwork.
Planting an improvement on it is just going to spoil the artwork.
And if it is possible to build that special improvement on the NW, then it is also likely going to be possible to build any other improvements on the NW right?
Then how ugly is it to have cottages or farms on Uluru?
 
Im not talking about an improvement - im talking about a new xml tag in the feature info that gives happiness. So you set it so natural wonders give happiness. It would parellel to the forest preserve. If you build it, it gives your city happiness, and if it is taken via cultural expansion, or by taking the city or whatnot, civ will automatically update it because it is conneted to the plot
 
Personally, I believe the main essense of the Natural Wonders is the special artwork.
Planting an improvement on it is just going to spoil the artwork.
And if it is possible to build that special improvement on the NW, then it is also likely going to be possible to build any other improvements on the NW right?
Then how ugly is it to have cottages or farms on Uluru?

I have plan for future make special improvements for NW.
Guys, what are not already there , they made for me code, which can be well used. Of course it is hard make improvement to not disturb NW , but complementary .
 
that sort of tag is possible but I certainly couldn't implement it. Ok then, so I will remove the happiness code and leave specialists and hand over the code soon.
 
@hrochland
It is possible that you may be able to make an artwork for this special improvement to look nice on Natural Wonders, although it sounds hard for it to look nice on each and every one of them, since each one has a different look.

However, the main thing is, if you allow ONE improvement to be buildable on these NW features, you are also opening up the opportunities for ALL other improvements to be buildable on these features, given the right terrain conditions.
Eg Mines so long as it is a hill plot.
Unless you mess with the SDK, or use the canBuild python function with callback, I doubt it is possible via simple XML to say NO, can ONLY build this improvement on Natural Wonders, and no other improvements can be built
 
code attached, random specialist when built and 5 turns golden age on discovery!
 

Attachments

should be :D though don't what ever you do uncomment the lines which have .setNumNaturalWonders() or .isHappyCity() or .isNeedingExtraHappy() as you don't have the DLL source code that defines them :p they are not working with the onCityAquired codes anyway :rolleyes:
 
First version released. I know I did not put all the wonders in but I wanted to finally get it up. @ Voyhkah could you post all the art that you got? Since i do not know where to find it all

@ Hrochland, you can check out the mod for teh art, Uluru could use a bit of help
 
1) White messages look dull :D
2) Should add a button to the messages which will pinpoint where the NW is that you discovered. I set my scout to auto explore and I have a hard time finding where...
3) if pTeam.canContact(iPlayerX) or iTeam == iPlayerX:
I seriously don't understand this line, why are you comparing team ID to player ID
4) If I discover XXX now, 1000 years later, England discover the same XXX and I got a message about that. Is that necessary?
5) Why does your sugarloaf look better than mine :D

P.S.
It seems that there are no longer any benefits for being the first to discover :gripe:
 
the 3) I believe makes perfect sense... I will look into it on friday.
2)how would you do the button? I couldn't work it out
1) easily changed, just change the colour :lol:
4) yes :p
5)hrochland fixed it

p.s. I know, I said there wouldn't be to remove some loops :p
 
3) if pTeam.isHasMet(iTeamX):
I believe this makes more sense :D

2)Example 1:
Code:
CyInterface().addMessage(iPlayer,true,15,CyTranslator().getText("TXT_SPAWN_UU",(pNewUnit.getName(), unit.getName(),)),'',0, pNewUnit.getButton(),ColorTypes(11),unit.getX(),unit.getY(),True,True)
Displays the button of the new unit spawn.
Colour determines the border colour of the round button you know what I mean? :D
The getX and getY basically determines where the button will pop up.

Example 2:
Code:
CyInterface().addMessage(iPlayerX,true,15,CyTranslator().getText("TXT_FORBIDDEN",(Forbidden[lucky].getName(),)),'',0,'Art/Interface/Buttons/Buildings/ForbiddenPalace.dds',ColorTypes(11),Forbidden[lucky].getX(),Forbidden[lucky].getY(),true,true)

Nothing much to explain, except that you can even use the location of the button directly instead of using getButton()

P.S.
There are so many commented unused codes, you might as well remove them to be cleaner.
Also, there are some unused global variables that are not commented away :D
 
Back
Top Bottom