The game will again now cycle to the next group after attacking.
Fixed the mouseover text on the scoreboard so that it shows "at war" for the current civ. (last time I said I fixed it, I was wrong.)
Strengthened the conditions for sending the automoves message when wrapping selection groups - hopefully this will reduce the chance of getting an unintended automoves trigger at the start of the turn.
Corrected some non standard compliant code.
The scoreboard mouseover text will no longer announce the "worse enemy" of human players.
Moved all of the debug text generation out of parseContactCivHelp, into a new function called parseScoreboardCheatText.
(There was just too much junk in there. It was hard to see what was going on.)
Rewrote some sections related to the loading of game text xml.
The format of the xml is now more intuitive and less rigid. In particular, the language names used to tag the xml values are now what determines the text for any given language. The order of the languages is no longer important (except in CIV4GameText_Misc1.xml, which is used to determine the correct tag names). If there is a missing language, the first text will be used (usually english). The mod can include languages from all localizations of Civ4, not just the version I happen to be using.
CvTeam::announceTechToPlayers now uses the single player sound rather than the MP sound. (ie. the quote rather than "you have discovered X")
Deleted CIV4TechInfos.xml, because the only changes in that xml file were set all of the MP sounds to be the same as the single player sounds!
(also, this fixes the quote for aethetics, which was previously broken in multiplayer games because it has an unusual key name which wasn't copied correctly.)
Duplicate text files are now removed without sorting the list. (Sorting the list may cause old text to override new text when using a different file-name.)
Added a 1 point penalty for the start and for the end of the list in updateGroupCycle.
Removed an inaccurate assert.
Updated the changelog.
This is version 1.29b
Made some adjustments to help the AI better prioritize spaceship research and building when close to a space victory.
Increased the AI's colony cost estimates when aiming for a diplomatic victory, so as to encourage more empire splits for diplomatic civs.
Tweaked CvUnitAI::AI_stackOfDoomExtra so that it produces slightly larger stacks in the late game.
Made some adjustments to the orchestration of battle animations.
The base number of battle rounds is now an xml parameter. ("STANDARD_BATTLE_ANIMATIONS_ROUNDS")
Made some minor efficiency improvements to CvUnitAI::AI_promote.
Added a new promotion: "Disorganized"; including text, icon, and definition.
Spontaneously spawned Barbarian ships will now start with the disorganized promotion.
Added a temporary compatibility bridge for the new "disorganized" promotion.
When a worker finishes a build, all similar missions in progress on the plot are immediately canceled. (This will help give better unit cycling, because it means the workers won't have to wait a cycle just to cancel the build.)
CvSelectionGroup::deleteMissionQueueNode will no longer automatically start the next head mission.
Espionage spending weights now default to 1 rather than 0.
Changed the behaviour of barbarian galleys. (They are now a bit more interested in pillaging rather than chasing workboats.)
Updated parts of the readme.
Corrected a mistake in determination of the Volcano event message recipient. (stackoverflow misled me about a Python technique.)
Changed many parts of the back-end code and UI the handling of commerce to enable the posibility of an inflexible gold rate.
Rewrote CvPlayer::setCommercePercent so that it will only allow changes to flexible commerce types, unless bForce is set true.
Rewrote parts of the game mechanics and AI so that they can handle the new commerce rules without getting into an infinite loop.
Reimplemented the effective minimum of 1 research per turn. (But it is now outside of calculateResearchRate.)
Foreign city screens no longer display the change commerce buttons in debug mode. (The buttons didn't work correctly anyway.)
Relaxed the conditions in CvPlayer::isCommerceFlexible, and instead imposed those conditions in other places. (This make the code more natural / flexible / understandable / manageable.)
Made some minor changes to the AI's gold target.
Changed a few dynamic arrays into std::vectors. (so that I don't have to worry about memory leaks with 'new' and 'delete'.)
Rewrote CvPlayer::unitsGoldenAgeReady to be more efficient. (The functionality is unchanged.)
CvTeamAI::AI_updateStrengthMemory is now called in CvTeamAI::AI_doTurnPost. (Previously it was unused.)
Made some effiency improvements to CvTeamAI::AI_updateStrengthMemory.
Fixed a bug which essentially prevented the AI from spreading corporations to more than half of their cities!
Made some slightly adjustments to the AI's probability of building execs.