C2C SVN Changelog

8800
  • Introduces two new mission settings, Automated Buildups and Automated Healing Buildups (which works like the heal command but sets automatic buildups in the meantime.)
  • New TXT tags as requested by Calvitix.
  • Adjusts some AIs to work better with the automated buildup function.
  • Master Hunter line units given SPECIALUNIT_PEOPLE types.
 
8801
  • New Goody Info tag iResearch.
  • New Goody Info tag NotEraType.
  • Began initial process of working through the new Goody XML. Will take a bit to complete but I'm on the way.
  • Restructured the Goody code some to help with the many entries that units won't qualify for.

EDIT: I've discovered a small bug in iResearch that won't reveal itself until the goody results are actively using it. I've fixed it for the next commit already.
 
8802

Major French Translation Update, Part #2

  • _Help Tag in French updated for Buildings,,Hydro,...
  • New Tech, buildings Text, in French translated
  • French Translation of new Gametext since v36 release
 
Dear friends. I am impressed by your work. I think caveman to cosmos is very important for school education. But not only. Unfortunately there are some problems given the lack of mods coherent. For example I put custom_civilizations4.0. Obviously to play as Etruscan (I am of Arezzo). But the Etruscan names of cities are mostly wrong. Starting from my city: Arezzo, Arıtım Etruscan, Roman - Arretium. I am extremely happy if you creassere hack historians. If you want I can help. Mainly to introduce the story to young people.
Greetings to all the guys (you do a great job). If you need advice to all ancient civilizations of Mesoamerica and medideterraneus you write to me stefano.porcellotti@ittiofauna.org.
 
8803
- Adjust Mapinguari units

- Remove Kathy's Goody Island python code now that it can be done in XML

- Stop horses and cattle trying to place a resource in a city. Still need to look at the "stack of units issue".

- Store the updated Mormon religion stuff in the unloaded mods area. I lost a whole lot of bug fixes and other stuff when I had to get a new version of the SVN which meant that the SVN dates were newer that my changes dates :(
 
- Remove Kathy's Goody Island python code now that it can be done in XML
I hope this only removes the aftereffects... placement of the goody islands is still to be handled in python. Not that I couldn't work out how to place them based on the 1 in 20 valid plots concept given there but it wasn't my intention to remove that from py.

Note: I've completed the XML. It's just too late to do a commit right now. Will be posting the finalized xml and dll for this project in the morning.

I did NOT create a 'helpful' naval units set of results - if you want that it shouldn't be hard to see how to add it. This is 'nuff from me on this project for now.

Later I plan to do some Traits and Promos designed to improve results in steps (not just no bad results) and the way that will work requires that the order in which results are listed in the Handicap infos is consistent with 'worst results first transitioning to best results last'. If we can keep that in mind as we go forward from here that would be helpful as I've set myself up for that project in taking this step, which is one reason I've done the xml myself to get us started.
 
I hope this only removes the aftereffects... placement of the goody islands is still to be handled in python. Not that I couldn't work out how to place them based on the 1 in 20 valid plots concept given there but it wasn't my intention to remove that from py.

The placement was already removed in v34 or v35. Goody Islands are marked as bGoody=1 so are placed by the dll and have been for quite awhile. The only thing left in the python was the replacement of land units with water units if spawned on water.

Goody Huts/Goody Islands/Crashed Probes are all plot improvements with bGoody=1 and are defined by the terrain and terrain features they are allowed on.

the only downside of this is that the number of Huts+Islands+Probes = the number of Huts in normal BtS.
 
SVN 8804:

Adjusted Colony Hydrophonics, Colony Extraction Facility, Colony Solar Array and Colony Manufactory improvments for my mod.

Added and tweaked all the buildings for the LunarColony module (unloaded, just as backup).
 
8805
  • XML for new goodies.
  • DLL adjustment to debug the iResearch tag on Goodies.
  • Significant coding adjustment to the way goodies are selected for awarding (obsoletes the NUM_GOODY_ATTEMPTS global value.)

@DH: Ok, I just thought I had seen some placement code for Goody Islands in that python as well but I might've misinterpreted.

@All: It's possible that we may want to adjust some of the likelihoods of certain goody results. I tried to make it match the original setup as closely as I could in most cases but adding numerous new results may mean some results we'll want to make more frequent since the new ones may diffuse some result frequencies some.
 
8806

- small tidy up before moving some things (animals) into core. I am taking small steps while I am unwell;)

8807

- moved into core lizards, all crocodiles and all tapirs

- moved some work folders into my area and out of alt_timeline
 
8809
  • fix infinite loop in Lotus Temple wonder

  • fix spawning for wild boar

  • add new bonus type for Religion

  • change a few of the bonuses from type=general to manufactured
 
8810

French language update

  • added french translation for lunar Buildings
  • 15% of great pers. pedia translated
  • several fixes in french texts
 
8811

MAJOR CAPTIVE UNIT INTERACTION UPDATE (needs some additional python work to finalize the project! Therefore, @DH: please read on!)
  • Added SPECIALUNIT_CAPTIVES definition

  • Gave new Special Unit definition to Captive units

  • Added promotion tag: SetSpecialUnit (will override the usual special unit definition on any unit that has this promotion with the designated SPECIALUNIT Type. Will revert to original definition if promo is removed.)

  • Added promotion tag: bHiddenNationality, to give Hidden Nationality (will give Hidden Nationality only and if removed, will revert to the original unit definition as to whether HN is possessed or not.)

  • Added promotion tag: bSetOnHNCapture. Whenever a unit is captured by a Hidden Nationality unit it will check for any applicable promotions that have this designation and autoassign that promotion if it qualifies (primarily by combat class) to receive it. When the unit returns to its owners territory, the promotion will disappear.

  • Generated processing for bSetOnHNCapture mechanism.

    This only extends as far as the dll can touch at the moment. Therefore, to insert this processing into the proper python that also controls capturing, any event that captures a unit of any kind (including naval war prizes) should add processing to check if the capturing unit has Hidden Nationality, and if it does (all HN checks should now use the new CyUnit function: isHiddenNationality() rather than the original method of checking the underlying unit type information), simply run the new CyUnit function: doSetOnHNCapture(). (@DH: is this explanation enough to ask for some help implementing this in python?)

  • Made 2 new promotions for the above doSetOnHNCapture() mechanism. The first promo (PROMOTION_HN_WAR_PRIZE) is for any units that would have a combat effect. They get HN but don't get the Captive SpecialUnitType. The other (PROMOTION_HN_CAPTIVE) is for helpless captives such as actual 'captives' and workers - it gives both HN and the SpecialUnitType 'captive'.

  • Added 3 new tags to SpecialUnitInfos:
    • iCombatPercent
    • iWithdrawalChange
    • iPursuitChange
    These work exactly like promotions except apply to the transporting unit when the SpecialUnitType is loaded (and is applied for EACH unit of that special unit type - so it IS cumulative, therefore if you have 3 SPECIALUNIT_CAPTIVE type units loaded, the transport would get -15% combat modifier total (-5 per unit.)) The modifier is equally removed when the responsible units are UNloaded.

  • Generated Promotionline (Bounty Hunter) that gives the unit carrying capacity for SpecialUnit - Captive. It's currently set to have a pretty wide selection of units that can take these promotions including naval units since most naval units won't be able to load captives without this promotion. I made it interesting though for the Naval units in that only Naval Combat units can actually get this promo.

  • Added new UnitCombat to support the Bounty Hunter transport promotions and keep it in sync with the rest of the transport enhancing promotionlines.

  • Repaired all known bugs from the goody commits.

  • Removes the ability to split to get free promotions on all 3 ensuing units - it will only go to the first one (though equipments will go to all 3)

AI work to get the AI to work with these changes effectively is pending. I'll be doing a lot of AI work at the end of this v37 cycle to catch up with all the new mechanisms being implemented. Primarily, this mechanism for bounty hunting will be a class specialty of Ruffians though will be quite useful for Criminals as well. Some of this should also play right into the hands of Pirates who should soon be able to capture and command a whole pirate fleet of HN ships (so long as they never enter your own territory!) Then again that last bit requires python in the ship capturing side of things to complete.

EDIT: Thanks DH! If you need any assistance or guidance, let me know. I've exposed the python you should need for it all. Let me know if you run into any obstacles.
 
  • Generated processing for bSetOnHNCapture mechanism.

    This only extends as far as the dll can touch at the moment. Therefore, to insert this processing into the proper python that also controls capturing, any event that captures a unit of any kind (including naval war prizes) should add processing to check if the capturing unit has Hidden Nationality, and if it does (all HN checks should now use the new CyUnit function: isHiddenNationality() rather than the original method of checking the underlying unit type information), simply run the new CyUnit function: doSetOnHNCapture(). (@DH: is this explanation enough to ask for some help implementing this in python?)

Looks about right but I wont be able to get to it for a couple of days.
 
@Thunderbrd: will it be possible to trade captives via the trade screen, when you have established an embassy? To simulate the various slave trade routes in history?
 
@Thunderbrd: will it be possible to trade captives via the trade screen, when you have established an embassy? To simulate the various slave trade routes in history?

I have never done much work to interact with trade screen mechanics. Makes sense... I really don't know how all that works which is why I'm always reluctant to even use that mechanism on the trade screen.

Maybe it should be a matter of having a 'sell' button on the unit rather than just a gift button. The sell price could be influenced by a number of national and local factors where the unit is 'sold'. One should also then be able to 'build' captive units from their existing slaves in a city so they could be sold to other nations. Hard to see gold being THAT valuable to any civ given the value of a slave is pretty high but maybe we can think of some reason to really inspire such trading. I suppose it could be a useful way of offloading some troubles one city has to share some of the benefits with another city or to pack lots of crime and disease issues into an opponent city.

I'd also like to eventually implement a mechanic where perhaps captives can't even move on their own volition and REQUIRE this kind of slave transportation. And yet another that makes it possible for them to actually escape. I know I'd like to also make it so that the game remembers the units they were and the data they had so they can be converted back if they do escape.

But at the moment, my focus actually isn't on the captives as much as it is on setting up for implementing the planned improvements to the law enforcement/disease control/criminal/strike team/ruffian/canine and feline units. Therefore the above discussion is something to form another full project around at some point.
 
@Thunderbrd: will it be possible to trade captives via the trade screen, when you have established an embassy? To simulate the various slave trade routes in history?

All that is needed is to set one or other of the boolean tags to indicate if it is a civilian or military unit for trade purposes.
 
All that is needed is to set one or other of the boolean tags to indicate if it is a civilian or military unit for trade purposes.

Would require setting a market price too, I think.

Many African tribes, like the Ashanti, deliberately fought wars against their neighbours just to capture slaves for the transatlantic and trans-Sahara slave trade (google "triangle trade") and exchange them for goods, alcohol and firearms. But it is not only the African kingdoms who captured slaves for profit. An important purpose of many Roman, Tatar and Ottoman military expeditions was to capture slaves for commercial purposes. I read that Tatars captured a total of 3 million Russians, 3 million Ukrainians and 1 million Poles in what they called "the harvesting of the steppe", a routine they did every year.

Captured slaves were often traded over large distances, across borders of civilizations. So it makes sense to make captives tradeable.
 
8812

-Fixed Tamed horse/Donkey being starting unit on new game.

8813

-Quick cleanup of unused/default tags in main units and tech xml; (2MB saved) hope this is okay with everyone.

↓↓ @Sparth: ↓↓ It took me under 5 minutes to do, so definitely worth it :).
 
Last edited:
Back
Top Bottom