C2C SVN Changelog

Lotus Temple does not work as described. Whoever was Furious and Annoyed at me - remained same.
 
Lotus Temple does not work as described. Whoever was Furious and Annoyed at me - remained same.

Anything OTHER than stuff added to the SVN, should not be discussed here, there are other threads for that, thx, just trying to keep stuff centralized is all, no offense to anyone.


Hydro uploaded some new culture resources. Now the last hero units can be given their proper cultures. Uploaded to SVN.

Hausa = Bayajidda, Anima

Kongolese = Lukeni Lua Nimi, Pedro II Nkanga a Mvika
 
Changed the Free Promotions for:

Apache Calvary
- Commando, Formation I, Desert Combat I (Warmth)

Cherokee Riflemen
- Woodsman I, Woodsman II


Galley
Upgrades To: Cog

Cog
Upgrades To: Fluyt

Fluyt
Upgrades To: Galleon

Galleon
Upgrades To: Paddle Steamer

East Indiaman (Dutch Galleon)
Upgrades To: Paddle Steamer
 
@DH - there is some slightly badly behaved Python, which does this kind of thing:

Code:
iBuilding = gc.getInfoTypeForString("BUILDINGCLASS_SOMEBUILDING")
if ( pPlayer.getBuildingClassCount(iBuilding) ==1 )
    ...

The reason this is nasty is that it doesn't check whether ibuilding is -1 (i.e. - undefined in the assets), but just goes ahead and calls getBuildingClassCount(), which then accesses off the end of an array and COULD crash. There are lots of examples of this in the Python, so I don't propose to fix it there - I'm just hardening getBuildingClassCount() to return 0 if given the index -1. I suspect it's the commenting out of the Platyping stuff that has revealed the issue now.

Anyway, just an FYI - I'm handling it in the DLL, but when writing new Python we should really be checking for the -1.
 
Lotus Temple does not work as described. Whoever was Furious and Annoyed at me - remained same.

Were there any error messages?

@DH - there is some slightly badly behaved Python, which does this kind of thing:

Code:
iBuilding = gc.getInfoTypeForString("BUILDINGCLASS_SOMEBUILDING")
if ( pPlayer.getBuildingClassCount(iBuilding) ==1 )
    ...

The reason this is nasty is that it doesn't check whether ibuilding is -1 (i.e. - undefined in the assets), but just goes ahead and calls getBuildingClassCount(), which then accesses off the end of an array and COULD crash. There are lots of examples of this in the Python, so I don't propose to fix it there - I'm just hardening getBuildingClassCount() to return 0 if given the index -1. I suspect it's the commenting out of the Platyping stuff that has revealed the issue now.

Anyway, just an FYI - I'm handling it in the DLL, but when writing new Python we should really be checking for the -1.

No problem. That is mostly in the new stuff I have recycled from Platyping as I did not know that function existed. ;) I do remember to check code for divide by zero, it is amazing how many people don't.:mischief:
 
Just pushed to SVN:
  • Hardened DLL against Python passing some bad building and unit types
  • Improved automated and AI worker pathing regard to safety
 
I will change this back ASAP as it is a religion unit not a Culture units and they have different criteria. Unless you want to change all the other Religion units.

I just wanted it so it only upgrades to the Musketman since the only unit that upgrades to the Grenader now is the Arsonist. Does the Loki Fist throw grenades? I thought it was just a melee type unit.
 
new techs ...

Stained Glass
Req Techs: Glass Blowing AND Architecture
Location: X40 Y3

Astrolabe
Req Techs: Astronomy AND Clockworks AND Compass
Location: X42 Y11

Sextant
Req Techs: Navigation AND Weather Forecasting
Location: X44 Y15

Microbiology
Req Techs: Biology AND Optics
Location: X54 Y17

Antibiotics
Req Techs: Medicine AND Steam Power AND Chemistry
Location: X56 Y17

Hydroelectricity
Req Techs: Electricity AND Civil Engineering
Location: X60 Y15

changed the following ...

Education
Req Techs: Philosophy AND Stained Glass AND (Paper OR Invention)

Navigation
Req Techs: Cartography AND Ship Building AND Astrolabe

Grand War
Req Techs: Tournaments AND Naval Tactics AND Sextant

Medicine
Req Techs: Battlefield Medicine AND Microbiology

Modern Sanitation
Req Techs: Sanitation AND Assembly Line AND Antibiotics

Organic Chemistry
Req Techs: Combustion AND Compulsory Education AND Antibiotics

Solar Power
Req Techs: Modern Physics AND Electronics AND Hydroelectricity

Also for further down the road i have added extra quotes, and alot of Tech MP3's also
 
Updates
- Tales and Subdued can now be traded.
- Biodome now requires 4 Zoos including one in the city it is to be built.
- Changes to platyping python as suggested by Koshling.
 
I am changing the buildings look to help out the performance of C2C, so i am changing this, if you want different, pls do so yourself, sorry. But thx Koshling for this option.


<Define>
<!-- Use the following to determine what building art
is displayed on cities:
0 = none
1 = Wonders only
2 = Wonders and city defences only
3 = all -->
<DefineName>SHOW_BUILDINGS_LEVEL</DefineName>
<iDefineIntVal>2</iDefineIntVal>
</Define>
 
I am changing the buildings look to help out the performance of C2C, so i am changing this, if you want different, pls do so yourself, sorry. But thx Koshling for this option.


<Define>
<!-- Use the following to determine what building art
is displayed on cities:
0 = none
1 = Wonders only
2 = Wonders and city defences only
3 = all -->
<DefineName>SHOW_BUILDINGS_LEVEL</DefineName>
<iDefineIntVal>2</iDefineIntVal>
</Define>

ok. in what file i need to edit.
can you post that in this section http://forums.civfanatics.com/showpost.php?p=7175010&postcount=2
 
Updates
- Tales and Subdued can now be traded.

I think you should probably back this change out for now, until I have time to work on its AI. I have checked the existing code and basically if you have them trade as workers you'll totally screw the AI up because it will trade for them thinking it can use them instead of having to build workers, and thus not have enough workers. On the other hand, if you set them to trade as militrary units, the current AI code will value them ONLY for their combat value (which is low) so you can probably get the AI to give you all its subdued animals for quite a low cost (easy to exploit).

The military unit trade valuation needs to handle them explicitly - not hard to do in principal, but it'll take me 4 or 5 hours to do with basic testing, and then some play testing to tweak the scaling. I'd prefer to leave this for after the v21 release really since we're into the freeze tomorrow and this isn't trivial functionality that will just come immediately right.
 
Some fairly major changes today:
  • Fixed infinite WFoC when stacks get force-split by things like peace declarations or cultural growth, and some units in them are invisible/hidden nationality so behave differently to others in the same stack
  • Fixed AI attack stacks tendency to just 'hang out' in or near its own cities instead of actually attacking!
  • Scaled treaty/trade lengths by game speed (same lengths as before on normal - result is 9 times longer on eternity as an FYI)
  • Halved growth thresholds for barbarian cities
Regarding the last point - barbarian cities ARE growing, but typically a size 1 city has a food surplass of 2 or 3. Since barbarians don't build many buildings (about 70% units) the natural yield excess is pretty much all they have to work with. In the base civics (which barbarians are stuck with), on eternity, a size 1 city requires 1072 food to grow - so typically 500 or so turns. I have halved the growth threshold for the barbarians to help them out a bit.
 
Back
Top Bottom