C2C SVN Changelog

@alberts2,

I think this one is wrong.

Code:
                   <UnitClassTargetType>UNITCLASS_JUNGLE_TARANTULA</UnitClassTargetType>
                   <bUnitClassTarget>1</bUnitClassTarget>
               </UnitClassTarget>
               <UnitClassTarget>
                   <UnitClassTargetType>UNITCLASS_DESERT_TARANTULA</UnitClassTargetType>
                   <bUnitClassTarget>1</bUnitClassTarget>
               </UnitClassTarget>

It shouldn't be unless I made an error. Both classes should exist now.

Joe is right. There is one UNITCLASS_TARANTULA but two types UNIT_DESERT_TARANTULA and UNIT_JUNGLE_TARANTULA.

That was the problem I tried to fix. I created separate classes for both units and I did the same with a few other units which had the same issue.

btw: I noticed these while looking into removing the Civ4 unique building and unit mechanism to gain some performance and lower memory usage. C2C doesn't need that mechanism anymore because unique stuff is provided as culture units and buildings. So with a few adjustments too how female units and the first culture buildings are provided we don't need building and unit classes anymore. However this would be a huge and save-game breaking change but it would be worth it.



EDIT:

Those unit class changes trigger error messages with existing saves but in this case they can be ignored.
 
Last edited:
9614
  • Fixed two coding errors in CvUnit.h.
  • Excluded buildings with a cost <= 0 from the AI building value calculations.
  • Fixed the unitcombat iPoisonProbabilityModifierChange and bPillageCulture help text display.
 
btw: I noticed these while looking into removing the Civ4 unique building and unit mechanism to gain some performance and lower memory usage. C2C doesn't need that mechanism anymore because unique stuff is provided as culture units and buildings. So with a few adjustments too how female units and the first culture buildings are provided we don't need building and unit classes anymore. However this would be a huge and save-game breaking change but it would be worth it.

Break the eggs sooner rather than later is how I see it.
 
9617

Corrects an unusual error that stopped World Builder showing all the details of a specific tile and the ability to change them.
 
Last edited:
9618
  • Fixed some programming issues in CvUnit which where increasing the memory usage and turn times.
  • Performance improvements in CvUnit::canAcquirePromotion.
  • Increased the AI's tech trading value.
  • Prevent humans from gifting negative value deals to the AI.
  • Modified BUG's WidgetUtil.py to make it compatible with the traditional means of specifying custom Python widgets via WIDGET_PYTHON.

The problem in CvUnit was caused by lots of functions like these.
Code:
void CvUnit::changeDistanceAttackCommunicability(PromotionLineTypes eAfflictionLine, int iChange)
{
    FAssertMsg(eAfflictionLine >= 0, "eAfflictionLine is expected to be non-negative (invalid Index)");
    FAssertMsg(eAfflictionLine < GC.getNumPromotionLineInfos(), "eAfflictionLine is expected to be within maximum bounds (invalid Index)");

    PromotionLineKeyedInfo* info = findOrCreatePromotionLineKeyedInfo(eAfflictionLine);

    info->m_iDistanceAttackCommunicability += iChange;
}

void CvUnit::setDistanceAttackCommunicability(PromotionLineTypes eAfflictionLine, int iValue)
{
    FAssertMsg(eAfflictionLine >= 0, "eAfflictionLine is expected to be non-negative (invalid Index)");
    FAssertMsg(eAfflictionLine < GC.getNumPromotionLineInfos(), "eAfflictionLine is expected to be within maximum bounds (invalid Index)");

    PromotionLineKeyedInfo* info = findOrCreatePromotionLineKeyedInfo(eAfflictionLine);

    info->m_iDistanceAttackCommunicability = iValue;
}

There was no check if the value which should be stored is 0 the default value for all those values. That filled the maps which are used to store data related to UnitCombats, Promotions and a few other things with lots of meaningless data.

I also increased the value the AI gives techs in deals because it was giving them away too cheap and another issue which made it possible to make negative value deals with the AI.

In case anybody want's to merge a newer world builder into C2C i made a change to make it possible to do Python widgets via WIDGET_PYTHON again. Because the newer versions of the platy world builder use lots of them.
 
9619
  • Moved the World Builder related text from Global_CIV4GameText.xml into WorldBuilder_CIV4GameText.xml.

This could help in case anybody tries to update the world builder.
 
9618


In case anybody want's to merge a newer world builder into C2C i made a change to make it possible to do Python widgets via WIDGET_PYTHON again. Because the newer versions of the platy world builder use lots of them.

Er why? BUG abstracts the whole widget stuff so that you don't need to use those methods any more.
 
Er why? BUG abstracts the whole widget stuff so that you don't need to use those methods any more.

In case anyone wants to merge the latest version of platys world builder this will be useful. Simply because it has alot Python Widgets and why should anyone rewrite all of them if adding three lines of code to BUG works as well?
 
I'm trying again to get my material in. This time I will only do a little bit on each SVN update.

9620

- Police Station doesn't go obsolete (needed for other buildings)
- Fantasy Materials a prereq for Transdimensional Commerce
 
9621
  • Calibrates the base costs for all units in the core Heroes_CIV4UnitInfos.xml file.

Heroes should cost some rounds to train now. They are now established at 300% the cost of the standard base for their tech x-grid.
 
9624
  • 1st steps in re-balancing Game Speed Modifiers after the New Math.
  • Minor adjusting( 1 to 2% ) to Crime Property Diffusion and Decay values.
  • Some review and changing of some Individual Crime entry levels

9625 Individual Crimes adjusted
 
Last edited:
9626
  • Fixes 2 infinite loop issues in the AI.
  • Cities won't give additional insidiousness values to units that don't naturally have some to begin with or have some from their unitcombats or promotions.
  • A small tweak to help the AI not lose hope over more reasonable amounts of runaway property control problems.

@alberts2: I know I said I'd stay out of the coding for a bit but these debugs needed to happen. I'll try to stay out as much as I can knowing you're working on stuff.

One thing I couldn't figure out was why SO's save was not showing more dramatic local reactions trying to train LE units. The city AI routine seems to be written so that more cities than just a few should've been training LE units. I did make a slight tweak to what I thought might've been holding them back but if you have a moment to review, maybe you can see some reason I'm not seeing for why they aren't reacting stronger.
 
9627 Crime, Health and Happiness adjustments in SpecialBuildings

9628
  • Adjust Animal and Barb Spawn rates
  • Adjust Multiple Property values especially for late eras (more to be done)
  • Adjust Anarchy Length
  • Adjust Max Dist for AI to build Super fort from borders
 
Last edited:
9629
  • Further Unit Cost Recalibrations, in particular including the heroes and elite cultural units included in the additional cultures module.
 
Top Bottom