C2C SVN Changelog

Updates

- Subdued Animals no longer any good at city defense.

- Better buttons for Captive buildings, World Views and missions.
- Tweaked slave compound buildings to spread them a bit over the tech tree

Edit update

- Change the spelling of name of the folder Cultural_Heratage to Cultural_Heritage and update the schema.
 
Updates

- Subdued Animals no longer any good at city defense.

- Better buttons for Captive buildings, World Views and missions.
- Tweaked slave compound buildings to spread them a bit over the tech tree

Edit update

- Change the spelling of name of the folder Cultural_Heratage to Cultural_Heritage and update the schema.

Name is still spelled wrong: you have

Curlural_Heritage

should be:

Cultural_Heritage
 
Updates
  • Added the Wheeled Combat Class (as a subcombat) to:
    • War Wheel
    • Motorcycle
    • All Chariot and Wagon units

  • 6 new building defense tags
    • <iLocalRepel>: Generic amount of repel to all defenders - intended for traps.

    • <iMinDefense>: The total of the value of this tags on all buildings in the city is the lowest Defense % the city can be reduced to. (If iMinimumDefenseLevel, which is the tag that defines how low you must reduce a city's defenses to before your units may attack, is less than the iMinDefense total in the city, this value defaults instead to the iMinDefense total. - In otherwords, you can't be put into a position where you can't attack because the lowest city defense value is higher than what you must reduce it down to.)

    • <iBuildingDefenseRecoverySpeedModifier>Any building with this tag will add its defense value into a pool of defense amount that will be affected by the total of this tag's value from all buildings with this tag in the city. While the defense value in the city is standing at less than the defensive total of the buildings with this tag, the total of iBuildingDefenseRecoverySpeedModifier will be a % modifier to the speed of Defense% recovery in the city.

      Thus, if I have a self repairing wall such as a nano-wall, with +100% Defense, and it has 100 in this tag, and my city has been reduced to less than 100 defense, then my city will be recovering that lost defense 100% faster until it has recovered itself to 100 or more defense. If I add another building that self-repairs that adds +50% Defense but repairs at the same rate of speed (100 in this tag) then my city will recover up to 150 defense level at a rate of 200% until past the 150 defense.

      Let's simplify if all that lost you: This tag represents a building that repairs itself. The rate it repairs itself is a +% modifier to the usual recovery rate.

    • <iCityDefenseRecoverySpeedModifier>: This tag, however, represents an improvement in the city's ability to repair its defenses - such as perhaps a stonemason's guild or something that enhances local moral or determination to hold. It is a +% modifier to the usual recovery rate but applies to the whole Defense value and has no point at which it stops being helpful until the defenses are fully recovered.

    • <UnitCombatRepelAgainstModifiers>: Specify a Unit Combat and an amount of repel that your defenders will gain when that sort of unit attacks the city.

    • <UnitCombatDefenseAgainstModifiers>: Specify a Unit Combat and an amount of Combat Modifier that your defenders will gain when that sort of unit attacks the city.

  • Updated the City Defense Hover with a number of existing defense pertinent values and statuses that have never been compiled and displayed previously.


Coding examples:
Spoiler :
Code:
			<iLocalRepel>25</iLocalRepel>
			<iMinDefense>10</iMinDefense>
			<iBuildingDefenseRecoverySpeedModifier>100</iBuildingDefenseRecoverySpeedModifier>
			<iCityDefenseRecoverySpeedModifier>100</iCityDefenseRecoverySpeedModifier>
			<UnitCombatRepelAgainstModifiers>
				<UnitCombatRepelAgainstModifier>
					<UnitCombatType>UNITCOMBAT_MELEE</UnitCombatType>
					<iUnitCombatRepelAgainstModifier>20</iUnitCombatRepelAgainstModifier>
				</UnitCombatRepelAgainstModifier>
			</UnitCombatRepelAgainstModifiers>
			<UnitCombatDefenseAgainstModifiers>
				<UnitCombatDefenseAgainstModifier>
					<UnitCombatType>UNITCOMBAT_WHEELED</UnitCombatType>
					<iUnitCombatDefenseAgainstModifier>20</iUnitCombatDefenseAgainstModifier>
				</UnitCombatDefenseAgainstModifier>
			</UnitCombatDefenseAgainstModifiers>
Edit: Now successfully added to the SVN.
 
Updates
  • Added the Wheeled Combat Class (as a subcombat) to:
    • War Wheel
    • Motorcycle
    • All Chariot and Wagon units

  • 6 new building defense tags
    • <iLocalRepel>: Generic amount of repel to all defenders - intended for traps.

    • <iMinDefense>: The total of the value of this tags on all buildings in the city is the lowest Defense % the city can be reduced to. (If iMinimumDefenseLevel, which is the tag that defines how low you must reduce a city's defenses to before your units may attack, is less than the iMinDefense total in the city, this value defaults instead to the iMinDefense total. - In otherwords, you can't be put into a position where you can't attack because the lowest city defense value is higher than what you must reduce it down to.)

    • <iBuildingDefenseRecoverySpeedModifier>Any building with this tag will add its defense value into a pool of defense amount that will be affected by the total of this tag's value from all buildings with this tag in the city. While the defense value in the city is standing at less than the defensive total of the buildings with this tag, the total of iBuildingDefenseRecoverySpeedModifier will be a % modifier to the speed of Defense% recovery in the city.

      Thus, if I have a self repairing wall such as a nano-wall, with +100% Defense, and it has 100 in this tag, and my city has been reduced to less than 100 defense, then my city will be recovering that lost defense 100% faster until it has recovered itself to 100 or more defense. If I add another building that self-repairs that adds +50% Defense but repairs at the same rate of speed (100 in this tag) then my city will recover up to 150 defense level at a rate of 200% until past the 150 defense.

      Let's simplify if all that lost you: This tag represents a building that repairs itself. The rate it repairs itself is a +% modifier to the usual recovery rate.

    • <iCityDefenseRecoverySpeedModifier>: This tag, however, represents an improvement in the city's ability to repair its defenses - such as perhaps a stonemason's guild or something that enhances local moral or determination to hold. It is a +% modifier to the usual recovery rate but applies to the whole Defense value and has no point at which it stops being helpful until the defenses are fully recovered.

    • <UnitCombatRepelAgainstModifiers>: Specify a Unit Combat and an amount of repel that your defenders will gain when that sort of unit attacks the city.

    • <UnitCombatDefenseAgainstModifiers>: Specify a Unit Combat and an amount of Combat Modifier that your defenders will gain when that sort of unit attacks the city.

  • Updated the City Defense Hover with a number of existing defense pertinent values and statuses that have never been compiled and displayed previously.


Coding examples:
Spoiler :
Code:
			<iLocalRepel>25</iLocalRepel>
			<iMinDefense>10</iMinDefense>
			<iBuildingDefenseRecoverySpeedModifier>100</iBuildingDefenseRecoverySpeedModifier>
			<iCityDefenseRecoverySpeedModifier>100</iCityDefenseRecoverySpeedModifier>
			<UnitCombatRepelAgainstModifiers>
				<UnitCombatRepelAgainstModifier>
					<UnitCombatType>UNITCOMBAT_MELEE</UnitCombatType>
					<iUnitCombatRepelAgainstModifier>20</iUnitCombatRepelAgainstModifier>
				</UnitCombatRepelAgainstModifier>
			</UnitCombatRepelAgainstModifiers>
			<UnitCombatDefenseAgainstModifiers>
				<UnitCombatDefenseAgainstModifier>
					<UnitCombatType>UNITCOMBAT_WHEELED</UnitCombatType>
					<iUnitCombatDefenseAgainstModifier>20</iUnitCombatDefenseAgainstModifier>
				</UnitCombatDefenseAgainstModifier>
			</UnitCombatDefenseAgainstModifiers>
Edit: Now successfully added to the SVN.

Have you made the AI building evaluation aware of them also?
 
Have you made the AI building evaluation aware of them also?

Yes... but you may want to do a logic check on the values. A few commits ago I caught up on the AI for all building tags I've done and I don't feel like falling behind on that again. They've also been updated to the building filters.
 
@strategyonly

CIV4UnitInfos.xml still contains information of removed promotions(SNEAK1, MARAUDER1, INDUSTRYESPIONAGE1). So xml errors pop up during loading.

Thx alot, i really appreciate that, i did MY copy but forgot to merge:blush::crazyeye: (fixed)
 
@TB (mainly):

I was getting an assertion failure about out of range unitCombat indexes. It turns out to be this piece of code you modified in rev 5600:

Code:
		for (int iI = 0; iI < GC.getNumUnitCombatInfos(); iI++);
		{
			iMultiplier += getUnitCombatProductionModifier((UnitCombatTypes)iI) / 4;
		}

The compiler REALLY should warn about this sort of thing (but it's technically valid C++ and the compiler isn't picky enough to warn). Anyway, I'll edit this post with exactly what was wrong in 24 hours - until then it's left as an exercise for the reader (though I'll fix it in my SVN push later today).

Edit - PS - I suspect this explains the hang and also why some people get it and some don't (think uninitialized memory)
 
Just pushed to SVN (5656):
  • Fixed CTD when new cities are founded (happened often but not always)
  • Fixed out-of-bounds array access that may have caused CTDs or invalid modifiers
  • Fixed end-of-turn hang where a barbarian city could not decide what to build

I have not changed the default number of threads back from 1 (where SO I think set it last week to reduce issues, though as it turns out it wasn't implicated in any of the above directly), but I will be doing so after 24 hours or so (to give chance for the people that were having reproducible issues that the above should fix to confirm). This will be in order to get more testing in the week or so before V31 is released. Although I have substantially more use I want to make of the multi-threaded pipelines, I'll hold off until V31 is out now, and just concentrate on stabilizing the current usage.
 
Just pushed to SVN (5658):
  • Fixed CTD associated with river crossing defense changes
  • Fixed concurrency issue that could lead to CTD
  • Optimized assessment of buildable improvements

...and additionally in second update (rev 5659):
  • Fixed potential CTD
  • Fixed specialists in captured cities disappearing on recalc
 
Back
Top Bottom