* Completely rewrote settler settle logic
* Added back original file to eligible locations
* Improved settling
* Fixed not finding cities in range
* Fixed settle AI not filtering impassible tiles.
* Fixed the possibility that there is no best tile within range.
* Fixed minimum city range being to low and causing an error
* Found the real fix for when there is no path to a tile to settle
* Adjusted tile ranking values
* Inverted sorting order to be from highest to lowest
* Fixed using tile instead of rankTile
* Fixed settle AI only looking at the current tile
* Changed behavior of settle AI at the start of the game
* Reduced the impact of being near a city
* Evaluation now assumes that a lighthouse is build while on a coast
* Settle highlight now sorts correctly
* Changed the weight of being near a city again
* Settle AI now prefers moving to the best tile when no viable tiles were in close distance
* Fixed an annoying bug where the settle does not value a city consistently for ranking
* Fixed a newer version of the unreachable tile error again
* Increased the distance to consider cities by one
* Tiles to settle now do not contain duplicate unique luxury resource values
* Increased coast tile value
* Removed only AI benefiting from ranking unexplored tiles
* Changed nearbyCities.any to a for loop
* Changed filter and sorting order
* Move rankTile to its own function
* Moved valuing tiles by distance to city to its own function
* Filtering tiles now creates a new map
* First settler no longer explores for a better location
* Removed bestTile rank from the return
* Changed BestTilesToFoundCity to return a separate class holding the return data
* Removed some trailing whitespace
* RekMod-inspired: StatPercentFromReligionFollowers does work on FounderBelief target
* RekMod-inspired: Make StatPercentFromReligionFollowers check correct Religion
* RekMod-inspired: Prep: flags on ImprovementBuildingProblem
* RekMod-inspired: Don't offer e.g. Kampong Ayer to non-Brunei Workboats
* Update "filtering Uniques" documentation
Each error has in fact 2 determiners: What the error *severity* is (probably ok, warning, error) and what the *scope* is (error regardless of what ruleset we're in, error because of the specific ruleset)
Having the warning be as part of the scope is...problematic, but that's for phase 2, this is just a rename
* Added AI Unit retreat behaviour
* Reduced highest value to allow for variation
* Fixed distance calculations
* Tiles farther away are now checked first
* Units no longer try to retreat when at a far distance
* Changed unit priority values to account for unit health for retreating
* Units don't retreat while at peace
* canUnitSwapToReachableTile no longer removes the units from their tiles.
* Decreased retreat trigger range
* Renamed tryRetreat to trySwapRetreat to match its current functionality
* Allow typing Y and N in file names in Linux custom save file dialog
* Fix default custom save location suggestion on X11
* Minor linting
* Allow clean reactivation of custom buttons after cancelling the file chooser
* User-Cancel support on Android and non-X11 desktop
* Block custom save for online multiplayer games
* Fix X11 custom save remembering location
* Fix X11 custom save "Save" button enabling, forbid potentially bad names
* Add overwrite confirmation to X11 custom save
* Redefine how local saving of online multiplayer games is blocked
* Verbose exception for the original RekMod's Civilian crash
* Make ConstructImprovementInstantly validation gameInfo-agnostic
* Helpers to encapsulate repetitive Conditional test patterns, eliminating ruleset(), all ruleset access guarded
* Make ConditionalFirstCivToResearch actually work on Policies - ???
* Linting
* Revert params accessor helpers and reduce ConditionalFirstCivToResearch to tech only
* Implement ConditionalFirstCivToAdopt for nicer symmetry
* Fixed cities being sold for at most 1000 gold
* Replaced evaluateBuy/SellCost with evaluateBuy/SellCostWithInflation
* Fixed goldInflation being multiplied instead of divided
* Increased inflation modifier, lowering it's impact
* Changed inflation values to be lower
* Moved return value to be inline again (it was moved for testing)