- Autosaves now occur after player 0's turn ends, but before the AI turns begin
Since many CTDs, questionable AI decisions, and other problems occur on other players' turns, this makes the process of uploading them easier for players (provided they have autosaves turned on)
It also makes debugging easier for devs since they don't have to make decisions for 40 units before hitting End Turn - which could also harm reproducability of an issue
Thanks for this, ilteroi!
- Numerous improvements to Tactical AI by ilteroi, aimed in part at fixing its passivity issues
Unified and simplified a large chunk of the combat simulator code
Fixed a bad bug in naval unit withdrawal code
AI less likely to be distracted by embarked units when there are bigger threats around
Improved handling of combo moves
Improved handling of situations with large numbers of units
Improved handling of civilian units
AI less likely to travel an unnecessarily large distance to heal wounded units
Increased AI willingness to make attacking moves
AI now trained to sacrifice some units to make a push forward in specific circumstances, favoring lower-XP ones
Various other improvements to corner cases
Fixed a merge issue that blocked AI from occasionally using air sweeps for recon
- Fixed a crash when a building class doesn't have a default building
- Fixed a crash when cancelling a trade route
- Fixed a crash when loading a game with the More Wonders modmod
- Removed a lot of unnecessary null checks
- Added some missing NO_* checks, asserts, or preconditions
- Simplified invested building cost so it bottoms at (production completed) + 1
Currently the lower bound is (production completed) + (1 turn of production)
- Changed ReplacementBuildingClass and unit upgrades to only update production queue when the building/unit is first in queue
Previously it updates the first building/unit in the queue regardless of position
This saves a tiny bit of turn processing time, and a lot of lines of code
- Allowed a player to be beaten to a World Wonder by multiple players, in case limit > 1
This affects the Diplomacy AI
Also removed the diplomatic impact of beating yourself to a wonder (with IGE), which hits an assert
- Removed arbitrary yield increase (worth 25 production) from being beaten to a World Wonder after investment
- Removed era scaling for wonder consolation (it's already scaling with cost)
- Fixed Gold still being given for wonder consolation when BALANCE_WONDER_BEATEN_CONSOLATION_PRIZE is 0
- Fixed Science consolation being turns of science instead of science points (seems immensely OP)
- Fixed Belief_BuildingClassHappiness not being scored for pantheons
- Fixed assert hit when Austria marries a City-State
- Also fixed AI not willing to improve tiles of CS that it plans to marry (gold isn't a factor for this consideration)
- Fixed an assert hit from adding an improvement that claims an unowned plot (e.g. Eki) to an unowned plot, without a builder specified.
- Also fixed assert hit from adding an improvement that may spawn a resource to an unowned plot
- Also fixed assert hit from adding an improvement that spawns an adjacent resource without a builder set (e.g. via IGE+)
It now does nothing if builder is NO_PLAYER, so IGE+ needs to be changed to accommodate
- Fixed false positive assert hit "City is NULL when checking if it is adjacent to a unit"
- Fixed an issue in CvCity::calculateInfluenceDistance()
- Fixed Lua warning
- Minor text fixes
- Added UI_DISPLAY_PRECISE_MOVEMENT_POINTS CustomModOption, which can be used to show the precise # of movement points a selected unit has left (not useful for the average player)