• In anticipation of the possible announcement of Civilization 7, we have decided to already create the Civ7 forum. For more info please check the forum here .

Platy's Peculiar Pleasant Posh Python

Elaborate :D

Like under what circumstances:
Eg only for capital
2 tile radius
blah blah blah
 
For my modern mod I would want there for borders never to expand

But for most mods is would be based on a tech (and I would just remove the tech aspect). Basically once the first person researches X tech, borders are locked in. Culture can't expand the borders anymore, and they are locked like in real life, there was a modcomp like this before, but I can't findit anywhere, I remember talking to J about it a couple years back

This creates two problems
1)Messed up borders when a city is captured
2)Culture is useless
3)Remaining extra squares
4)New Cities
5)Great Artist
6)Dead Civs
7)Pillaged Cities

Solutions
1)An idea (although numbers can be altered) is when a city is conquered that city takes over all squares next to the city (that belonged to the original owner, not a third party) as well as all empty plots say 3 squares away (since if you took an island city, it would never expand)
2)Depending on how you create the python, there are several solutions. If you remove culture + from the cities (no bulidings give culture, so therefore no more expanding) you can remove the culture and replace it with gold. This would be a good one time solution on tech discovered (and I wouldn't have tow orry about it, I would just never give culture to my building). Or if once a city expands, you stop the expansion, in that situation, you say "and influx of culture has created a boost in the local tourism: +x gold" although that might get boring so you can switch it off if you please "has brought in farmers from the country, +food" etc.

3) you can ignore this one as I don't see it as a big problem, and it wouldn't effect my mod, but in other mods, I believe it would be sort of cool if, once the tech is researched (although not by first person this time, it would be once each player researches it) all empty plots within borders could be added. So this is a situation when a player has his land, but there is a spot, usually in the middle, where it is completely surrounded by his cities, but none of them reach, and placing a settler is inconvenient. If there is an easy way to find these plots, then you can place the cities culture there. But that may be hard to detect. You can ignore other inhabited plots like islands

4)Make them obsolete (as that is realistic) or on city built, if tech X is discovered, or when they place a city after tech X, give it all empty plots around it for X plots

5) No idea :blush: I don't think you can obsolete the great artist placement, so only other option is if there is a python trigger when it is done, change it to gold or something else

6) Unlikely, but a civ is far ahead, and has the tech, and then is destroyed before others discover it, there could be a problem

7)If a city is destroyed (forgot the name of it) there needs to be something to take the placed of the possible empty plots

EDIT: Now looking, it seems as if it is in A New Dawn mod, but probably via SDK
 
Not sure what you mean.
There is only a 20% chance to capture, (which is adjustable) which means 80% are destroyed.
I think Tigranes means that since buildings have a tag giving a chance they are captured. Can such a thing be added to units.

The answer is that it would need dll code.
 
@DH
20% Chance is the chance for all units.
If he wants different chances for different units, can always define a list like this:
Code:
self.lChance = [("UNIT_DESTROYER", 20), ("UNIT_GALLEY", 50)]
using either Unit Type or Unit Class

If the unit is in the list, use the number there, else just use global 20.

Of course, if he wants to use dll to implement the same thing, up to him.
 
@Dacubz

If I am not wrong, the one used in AND and C2C will be Fixed Borders whereby the innermost ring of tiles will not flip via culture, but outer ones still will.

Of course, if you are happy to use SDK for your mod, which you are already using, then nothing much for me to do :D

Fixed Borders, although it may be doable via pure python, will probably take some trials and errors, so most likely you won't see it in the near future.

Because IIRC, only the innermost ring is fixed, culture is still useful as it still boosts defense, affects outer rings, cultural victory etc
 
:shrug: whats the point then? Why would inner borders change if they are guarded by outter ones?

Modcomp is more/less uselss to me in that situation, if you're interested in making it, I am not in any rush, but if you are interested I don't need it that bad, so no worries :D
 
Nope, outer ones still flip due to culture, but the inner ones stay fixed permanently.
If rival has enough culture to flip your inner ring, chances are your outer ring is already flipped so your inner ring is no longer protected by outer rings
 
Easiest way to implement what you want is loop through entire map and add 9999999999 culture to each owned tile when condition reached.

With that amount of culture, it is impossible for your tiles to flip.
Upon city capture, if there is still another city nearby to enforce the 9m culture, tile remains with owner.
Else, the 9m culture is useless and tile goes to new owner just like bts.

Great artist, culture etc are still useful since it affects city defense.
Culture is all removed when a civ is dead, so that is taken care as well.

Only drawback is it does not prevent spreading into unclaimed land
 
At least provide me a screenshot or error message if any :D
 
At least provide me a screenshot or error message if any :D

In Platy UI it´s works well, but when replace our file by yours, the result:

 

Attachments

  • spy.jpg
    spy.jpg
    135.9 KB · Views: 223
Code:
self.iIncreaseButtonTenID = 557
screen.setImageButtonAt("IncreaseButtonTen%d" %(iPlayerID), attach, ArtFileMgr.getInterfaceArtInfo("INTERFACE_BUTTONS_PLUS").getPath(), [COLOR="Red"]85[/COLOR], iY + 1, iSize, iSize, WidgetTypes.WIDGET_GENERAL, self.iIncreaseButtonTenID, iPlayerID );
self.iIncreaseButtonID = 555
screen.setImageButtonAt("IncreaseButton%d" %(iPlayerID), attach, ArtFileMgr.getInterfaceArtInfo("INTERFACE_BUTTONS_PLUS").getPath(), [COLOR="red"]100[/COLOR], iY + 1, iSize, iSize, WidgetTypes.WIDGET_GENERAL, self.iIncreaseButtonID, iPlayerID );
self.iDecreaseButtonID = 556
screen.setImageButtonAt("DecreaseButton%d" %(iPlayerID), attach, ArtFileMgr.getInterfaceArtInfo("INTERFACE_BUTTONS_MINUS").getPath(), [COLOR="red"]115[/COLOR], iY + 1, iSize, iSize, WidgetTypes.WIDGET_GENERAL, self.iDecreaseButtonID, iPlayerID );
self.iDecreaseButtonTenID = 558
screen.setImageButtonAt("DecreaseButtonTen%d" %(iPlayerID), attach, ArtFileMgr.getInterfaceArtInfo("INTERFACE_BUTTONS_MINUS").getPath(), [COLOR="red"]130[/COLOR], iY + 1, iSize, iSize, WidgetTypes.WIDGET_GENERAL, self.iDecreaseButtonTenID, iPlayerID );

Numbers in Red affect X position of those buttons.
 
What do you think about the possibility of a permanent borders mod comp? ITs heavily looked for

Is it possibly via only python?

If you click my sig -- we are playing PBEM which has that modcomp in it.
 
Not sure what you mean.
There is only a 20% chance to capture, (which is adjustable) which means 80% are destroyed.

Ok, thanks. That's what I meant, it was not evident from your original modcomp description.

Another question: say me and 3 more players want to play 1939 WW2 mod with this particular modcomp of yours. How do we go about it? Do we just install your mod comp over that mod? In MP we all have to have identical files in order to play...
 
I am not sure, it simply dumps huge amount of culture to the any tile you end up controlling. You borders do expand though, but only in neutral direction. This is more about permanent borders than non-expanding culture. In 2010 Earth scenario it allows realistic US-Canadian border without New York choking Toronto, for example.

One can also claim a neutral tile with any military unit during peace time in that modcomp.
 
Code:
self.iIncreaseButtonTenID = 557
screen.setImageButtonAt("IncreaseButtonTen%d" %(iPlayerID), attach, ArtFileMgr.getInterfaceArtInfo("INTERFACE_BUTTONS_PLUS").getPath(), [COLOR="Red"]85[/COLOR], iY + 1, iSize, iSize, WidgetTypes.WIDGET_GENERAL, self.iIncreaseButtonTenID, iPlayerID );
self.iIncreaseButtonID = 555
screen.setImageButtonAt("IncreaseButton%d" %(iPlayerID), attach, ArtFileMgr.getInterfaceArtInfo("INTERFACE_BUTTONS_PLUS").getPath(), [COLOR="red"]100[/COLOR], iY + 1, iSize, iSize, WidgetTypes.WIDGET_GENERAL, self.iIncreaseButtonID, iPlayerID );
self.iDecreaseButtonID = 556
screen.setImageButtonAt("DecreaseButton%d" %(iPlayerID), attach, ArtFileMgr.getInterfaceArtInfo("INTERFACE_BUTTONS_MINUS").getPath(), [COLOR="red"]115[/COLOR], iY + 1, iSize, iSize, WidgetTypes.WIDGET_GENERAL, self.iDecreaseButtonID, iPlayerID );
self.iDecreaseButtonTenID = 558
screen.setImageButtonAt("DecreaseButtonTen%d" %(iPlayerID), attach, ArtFileMgr.getInterfaceArtInfo("INTERFACE_BUTTONS_MINUS").getPath(), [COLOR="red"]130[/COLOR], iY + 1, iSize, iSize, WidgetTypes.WIDGET_GENERAL, self.iDecreaseButtonTenID, iPlayerID );

Numbers in Red affect X position of those buttons.

I changed these values ​​by some that I know should work. It did not work. Actually this is not the only problem appeared. Note that it has only one enemy in the list, and I have contact in the game with more 4. :confused:
 
Top Bottom