Advanced Settlers

Joined
Jul 5, 2004
Messages
23,562
Location
Canberra, Australia
As you know the Colonist and Pioneer were removed awhile back because they were only working for the human players and not the ai players. The intention for these units was for them to give some basic buildings when a city was settled but when the ai settled a city it lost what unit had founded it so the code based on this knowledge failed.

The intent of these units, which we inherited from RoM was
Colonist cities would start with +1 population ie usually a population of 2 and they would get a free
  • Barracks
  • Granary
  • Forge
  • Market
If they were a coastal city they would also get a
  • Harbour
  • Lighthouse
  • Fisherman's Hut

Pioneer cities would start with +2 population and free
  • Garrison
  • Granary
  • Forge
  • Market
  • Courthouse
  • Stable
  • Grocer
  • Doctor
  • Bank
  • Library
With coastal cities also getting
  • Port
  • Lighthouse
  • Fisherman's Hut

I am not sure a Stable is correct now as C2C has introduced some upgrades to this building.

The fix for the problem is to have the buildings become free to new cities at the technology no matter which settler unit builds.

This means there is no need for the Colonist or Pioneer units. I turned them off by giving them a cost of -1. However there are a couple of things we could do with those units to make them worthwhile again
  • increase their movement
  • change where they can move
  • reduce the terrain costs for movement.

For example setting bCanMoveAllTerrain would allow them to cross oceans. There would be a problem with this as it would also mean that they could cross space on maps that have it. If we had multimaps it would not be a problem as they would not be able to get off Earth.

I have most of this working including changes to the Tech pedia and tree screens. The only things still to do is to do the coastal buildings and decide what to do with the Colonist and Pioneer.

Questions
  1. Should Colonist and Pioneer be removed completely? Or can we save them somehow?

  2. Is the building list correct?

  3. How to keep this working with the Space Colonisation mod? I think it just needs a bit more detail in the NewCityFree tag, ie adding in the Earth map category as part of the requirement.
 
I always advocated keeping them because I want to give them strength someday.

So whatever you feel we need to do to justify keeping them for now would be good imo. I would take some care with bCanMoveAllTerrain as the Naval Review is going to demand some new rules for hovering units crossing oceans - such as not being able to end on them unless they are loaded.
 
There is a mod where a land unit turns into a boat when it gets to water and back to a land unit when it gets to land again. I see if I can find it again.

Pioneers don't hover:D.
 
There is a mod where a land unit turns into a boat when it gets to water and back to a land unit when it gets to land again. I see if I can find it again.

I think it is called Civ5. :D:rolleyes::lol:
 
Some of you saw the bits of custom python code I put into the next settlers that I am planning for the next version of space colonization. That means that they won't found cities like normal settlers, but will do it through the a custom mission mechanism. The only reason I do that is that normal settlers can't be restricted by terrain where they can found.

As far as extending that code to give the new cities a bonus, I suppose it is theoretically possible to look up the last city that the player built (assume that the last city is the new one; correct me if that assumption is wrong) and adding buildings to it and editing the population. I haven't actually tried that, so maybe there's a reason it wouldn't work. And it would really be better to use the normal founding mission if possible.

Just as we do with the free buildings that come from some wonders, we would also want to check map category with the NewCityFree tag to make sure that the building is compatible with the city's map category.
 
Some of you saw the bits of custom python code I put into the next settlers that I am planning for the next version of space colonization. That means that they won't found cities like normal settlers, but will do it through the a custom mission mechanism. The only reason I do that is that normal settlers can't be restricted by terrain where they can found.

As far as extending that code to give the new cities a bonus, I suppose it is theoretically possible to look up the last city that the player built (assume that the last city is the new one; correct me if that assumption is wrong) and adding buildings to it and editing the population. I haven't actually tried that, so maybe there's a reason it wouldn't work. And it would really be better to use the normal founding mission if possible.

Just as we do with the free buildings that come from some wonders, we would also want to check map category with the NewCityFree tag to make sure that the building is compatible with the city's map category.

As far as I know NewCityFree does check all the requirements are met before it adds the building. We tried putting in a building that required bark for example and it was not built because the bark gatherer had not been built.

The only bit of python used in this:-
  • adds population
  • tech pedia screen has the information in it
  • tech tree/chooser also has the information in it. Although we have so much happening on many techs you wont see it due to the limit on what can be displayed in the box.

Currently all that is hard coded but it would be nice if I can get it moved out into some XML so it can be tweaked without having to resort to python code. Platyping has already done it for his extras on Buildings and I think I can clone it fairly easily to work with this sort of addition to techs.

BtW Platyping's tech tree is not quite what we need, it is not dynamic enough in that it assumes that if you can't research a tech at the start of the game then you will never be able to research a tech. Since we have some based on buildings this is not the case in C2C. I need to add some code to check that the techs that were not able to be researched can not now be researched. This will be especially needed if we are going to add lines of tech that may require special conditions, mostly as an aid to the AI I expect.
 
Back
Top Bottom