Help Wanted Ads

Hmm. Perhaps it may be better to have either a victory condition for each or have one victory and any one of them can achieve it but will have to get it before the wonder goes obsolete.

And no i don't know of any other mods with a diplomatic wonder. Sorry. :(

What we can do is add United Nations going obsolete at Galactic Federation. Then if you haven't gotten Diplomatic Victory by then, you will have to build Federation of Planets. I think that's the name you had in the strategy section.

I was just checking to see if you knew of any other mods that had UN resolutions. I see Thunderbrd may be working on this.
 
What we can do is add United Nations going obsolete at Galactic Federation. Then if you haven't gotten Diplomatic Victory by then, you will have to build Federation of Planets. I think that's the name you had in the strategy section.

I was just checking to see if you knew of any other mods that had UN resolutions. I see Thunderbrd may be working on this.

Actually i was thinking ofthis, but this wont be an option for weeks since i need to add the techs..

Apostolic Palace -------->UN------------->Solar Collective------->Galactic Federation
 
It would be good if the voting screens could be updated a bit. Showing information you need to make a decision. Also with the Apostolic Palace, if you own it then don't trade with your vassal(s) should not show up.
 
Currently they are a list of buttons having a screen per button showing the effect on your empire from this vote plus all the others attitude would be nice. It would also be nice if you could bribe from that screen also.
 
hmm... bribing results huh? cool ;) When I do I'll ask for some more specifics from you. When you mentioned showing the effect on your empire, I'm wondering what information is lacking in the quick explain. Are you suggesting to give some kind of tally numbers like a combat help? (I've been beating my head against a wall trying to understand THAT section this week... eugh!) When you say all the other's attitudes... do you mean how their attitudes towards you would differ post vote or do you mean we should show their attitudes towards particular selections when we are deciding what to vote on?

In general, that kind of interface stuff is a far bit beyond me at the moment but I'll keep the idea in mind and may come back to it eventually. Some of those elements sound quite useful. Keep in mind, when we're talking about tally numbers, its really tough to do... we already have building tally numbers in the select help that are coming up all out of whack since day one and I'm not quite certain any of us are familiar enough with that portion (at least currently) to resolve the bugs there (or I figure we'd have worked them all out already)... and setting something like that up here would certainly take the same skills.
 
Actually i was thinking ofthis, but this wont be an option for weeks since i need to add the techs..

Apostolic Palace -------->UN------------->Solar Collective------->Galactic Federation

After thinking about this, I think the UN can survive until the point where humanity leaves the solar system. Then the Federation of Planets would need to be created. I think three Diplomatic Victory wonders (AP, UN, Federation) is enough.
 
I have been trying to re-work the Python code associated with my Golden Spike wonder to have it create a true transcontinental railroad (west to east across the building continent) instead of its current ability, which is upgrading all roads and paved roads to railroads. For now, I am doing it in four steps:
  1. Lay down railroads in every square directly west or east of the building city, skipping over water, volcanoes and tar pits.
  2. Lay railroads in the nearest square directly north or south of the impassable squares.
  3. Link the displaced railroads to the main railroad line.
  4. Add code to prevent the linking routine from getting stuck in a loop if it needs to go backwards to eventually go forwards.

Step 1 works fine. I am getting stuck on step 2 because I am trying to use CyMap().plot to locate the plots where the displaced railroads will go. I am getting an "Argument Error" when I actually try this code. I have attached a screenshot of the current error, my current version of the GoldenSpike.py file, and a save game that will build the Golden Spike as soon as you end the current turn. Can someone tell me what I am doing wrong? I think I am using the syntax the way it is used in other mods, and I have the feeling that something has been done to the plot function, but I don't know, so I'm asking.
 
I have been trying to re-work the Python code associated with my Golden Spike wonder to have it create a true transcontinental railroad (west to east across the building continent) instead of its current ability, which is upgrading all roads and paved roads to railroads. For now, I am doing it in four steps:
  1. Lay down railroads in every square directly west or east of the building city, skipping over water, volcanoes and tar pits.
  2. Lay railroads in the nearest square directly north or south of the impassable squares.
  3. Link the displaced railroads to the main railroad line.
  4. Add code to prevent the linking routine from getting stuck in a loop if it needs to go backwards to eventually go forwards.

Step 1 works fine. I am getting stuck on step 2 because I am trying to use CyMap().plot to locate the plots where the displaced railroads will go. I am getting an "Argument Error" when I actually try this code. I have attached a screenshot of the current error, my current version of the GoldenSpike.py file, and a save game that will build the Golden Spike as soon as you end the current turn. Can someone tell me what I am doing wrong? I think I am using the syntax the way it is used in other mods, and I have the feeling that something has been done to the plot function, but I don't know, so I'm asking.

The following code (and it's X coord analog) are the issue:

Code:
iYMotion = (iYBlock + (-1**i)*(round(i/2)))
pPlotBlock = CyMap().plot(iXBlock, iYMotion)

iYMotion is a floating point variable not an integer, due to implicit typing from the math on its assignment. Try:

Code:
iYMotion = (iYBlock + (-1**i)*(round(i/2)))
pPlotBlock = CyMap().plot(iXBlock, [B]int(iYMotion))[/B]
 
The following code (and it's X coord analog) are the issue:

Code:
iYMotion = (iYBlock + (-1**i)*(round(i/2)))
pPlotBlock = CyMap().plot(iXBlock, iYMotion)

iYMotion is a floating point variable not an integer, due to implicit typing from the math on its assignment. Try:

Code:
iYMotion = (iYBlock + (-1**i)*(round(i/2)))
pPlotBlock = CyMap().plot(iXBlock, [B]int(iYMotion))[/B]

Thank you. That solved the error message.
 
I'm still thinking about the Federation of Planets, and I think the best thing for it to do at the moment is to be simply an upgraded UN until we can come up with more resolution options. So I would like it to have the following options:
  • Diplomatic Victory
  • Free trades
  • Nuclear ban
  • Force peace
  • City Mandate
  • Force civics

I don't know if we should include Trade Embargo or War Mandate. We probably could.

These are the civics that I definitely want to include:
  • Government: Federal
  • Society: Liberal
  • Economy: Post-Scarcity
  • Religion: Secular
  • Welfare: Paradise
  • Language: Universal Translator

These are the civics that I am considering:
  • Military: Pacifism? Unmanned Warfare?
  • Garbage: Off-Planet Dumping
  • Immigration: Open Borders
  • Education: E-Education
  • Agriculture: Green Agriculture

If some of the Civics 2.0 choices were moved into the core, those would be options that I would look at. There is definitely room for a garbage civic beyond "Off-Planet Dumping". I can't even seem to find in the code where the actual votes are called, but I am certain that we would need separate files in the Sources folder for Federation with/without Civics 2.0 additions.
 
If some of the Civics 2.0 choices were moved into the core, those would be options that I would look at. There is definitely room for a garbage civic beyond "Off-Planet Dumping". I can't even seem to find in the code where the actual votes are called, but I am certain that we would need separate files in the Sources folder for Federation with/without Civics 2.0 additions.

Trouble with this is that it hasn't been proven yet to work properly. I got so far then a CTD, so i had to stop, and didnt have time to figure out what was going on.:blush:
 
Well I think there are 3 groups of unknown Civics ...

1. Civics 2.0
2. New Civics like Plutocracy and Theocracy
3. New Trans-Human and Galactic Era civics.

Which get in is still unknown at the moment.

I like some of the ones from 2.0, but Cavalry etc just for a civic along:hmm: I just dont know:confused: Stuff like that confuse me.
 
Well I think there are 3 groups of unknown Civics ...

1. Civics 2.0
2. New Civics like Plutocracy and Theocracy
3. New Trans-Human and Galactic Era civics.

Which get in is still unknown at the moment.

Ideally, I'd like to wait for group 3 before the Federation of Planets would be complete. It can run with just the base civics for now, but it would need more modding than I can do to update it.
 
I am still working on the Golden Spike and getting it to build a Transcontinental Railroad. I have run into a snag regarding if the railroad hits a bay (any water square connected to the ocean). I want to have the railroad wrap around the bay, but my usual test with getArea() does not work, and I am fairly sure it is because the ocean squares do not have an area. This is a test I am trying to use, but when I use it, the game actually freezes solid.

The point of the test is to determine if the square would be legal for workers to build a railroad if it was a different terrain type. From there, the code will start stepping north or south to find the nearest legal square. Apparently, peaks count as impassable terrain for the isImpassable() test, so I included the isPeak() test to say that, yes, the Transcontinental Railroad will go over peaks. Is there a different way to code this test so that if the plot is ocean, don't even bother testing the area?

This is the relevant part of the code. First it tests if the spot is legal (and it will put a railroad there if it is) and then check to see if it is legal but impassable/water terrain, where it will execute the rest of the code. This version of the code (using the isWater test at the elif line) freezes Civ4 solid before laying down any rails. If I remove the isWater test, I get something that works (there are still other issues involved, but I want to fix this first).
Code:
		for i in range(CyMap().getGridWidth()):
			pPlot = CyMap().plot(i, pCity.getY())
			if pPlot.getArea() == pCity.getArea() and (pPlot.getOwner() == iPlayer or pPlot.isOwned() == 0) and not (pPlot.isWater() == 1 or (pPlot.isImpassable() == 1 and pPlot.isPeak() == 0)):
			elif (pPlot.getOwner() == iPlayer or pPlot.isOwned() == 0) and (pPlot.isWater() == 1 or (pPlot.getArea() == pCity.getArea() and pPlot.isImpassable() == 1 and pPlot.isPeak() == 0)):

I reconfigured my testing save game for a bay that illustrates what I am trying to do. If you load up the save game and hit Enter, it should build the Golden Spike immediately and start laying rails. I can put a Volcano due east of Carthage to close off the bay and that causes it (using the good Python file) to work semi-successfully. There is some stuff with the last part of the code that I still need to work on. There, I am trying to link up the displaced rails with the main line (and prevent it from looping on itself).
 
I like some of the ones from 2.0, but Cavalry etc just for a civic along:hmm: I just dont know:confused: Stuff like that confuse me.

I agree we should pick and choose the best concepts from Civics 2.0 that we want to use. Just because its made doesn't mean we have to use it. I mean its our mod we can choose what we want and don't want.
 
I've been trying to get the Golden Spike to work with the new pathing function. I think it is close to correct, but I am not sure why the railway is behaving the way it does. I have attached a save game that is ready to build the Golden Spike and a zip of my current GoldenSpike.py file.

The Python file is just the western half of the rails right now. I don't think adding the eastern half should be that difficult. There is a lot of CyInterface code in there to help me track what is going on - I will remove that before I upload to the SVN.

What should happen if you replace the GoldenSpike.py file and run the save game is that it should build a railway from the city (at 7,3) to the space (3,12), which is the west-most point on the continent. What is actually happening is that the closest space it can find a path to is (4,4) and it builds the railway to there. So the rail building part is fine, but the path-making seems to be buggy. I am still really learning Python as I go, so it may be something that I did wrong.

Can someone tell me what I should tweak to change this?
 
I've been trying to get the Golden Spike to work with the new pathing function. I think it is close to correct, but I am not sure why the railway is behaving the way it does. I have attached a save game that is ready to build the Golden Spike and a zip of my current GoldenSpike.py file.

The Python file is just the western half of the rails right now. I don't think adding the eastern half should be that difficult. There is a lot of CyInterface code in there to help me track what is going on - I will remove that before I upload to the SVN.

What should happen if you replace the GoldenSpike.py file and run the save game is that it should build a railway from the city (at 7,3) to the space (3,12), which is the west-most point on the continent. What is actually happening is that the closest space it can find a path to is (4,4) and it builds the railway to there. So the rail building part is fine, but the path-making seems to be buggy. I am still really learning Python as I go, so it may be something that I did wrong.

Can someone tell me what I should tweak to change this?
I have no time to run it but some fast comments about the code:
- The first loop does not seem to consider wrapping (a continent which is on both sides of the X coordinate 0)
- The second loop should not use CyMap().numPlots() but instead CyMap.getLastPathStepNum()

Neither of those accounts for your problem though. Have you tried with different pathing flag combinations?
 
I have no time to run it but some fast comments about the code:
- The first loop does not seem to consider wrapping (a continent which is on both sides of the X coordinate 0)
- The second loop should not use CyMap().numPlots() but instead CyMap.getLastPathStepNum()

Neither of those accounts for your problem though. Have you tried with different pathing flag combinations?

I'm also rather tight on time with the multimap work. Could you post a screenshot? [edit - and also the debugging output from your python tracing]

Edit 2 - does the 'range' construct in Pythin go from 1 to N, or from 0 to N-1 ? If it goes from 1 to N then that'll be your problem, since one end of the path will be at index 0.
 
Top Bottom