* AI now can offer declaration of friendship
* AI now offers open borders
* Added spectator notifications for DoFs and defensive pacts
* AI now wants friendship less as more Civs die
* Re-added spectator notifications that weren't added in the merge
* Replaced min with coerceAtLeast
* Replaced .filter and .count() with .count
* Removed some minus DoF motivation modifiers being in a military focus.
* Fixed AI offering open borders with City-States
* AI now signs defensive pacts
* Increased motivationToAttack weight when determining value of a declaration of friendship
* Removed double trade processing and notifications from Treaties
* Removed commented code
* Added wantsToSignDefensivePact
* Added defensive pact trade evaluation
* Revert "Removed commented code"
This reverts commit 6476a08d26.
* Revert "Removed double trade processing and notifications from Treaties"
This reverts commit 371e8e8a62.
* Changed wantsToSignDefensivePact to use a for loop
* Changed chance to consider offering a defensive pact back to 30%
* Added DeclinedOpenBordersFlag
* Added DeclinedDeclarationOfFriendshipFlag
* Civ AI now has a positive modifier when friends with under 1/4 of alive Civs
* AI values friendship based also on relative strength
* Changed AI valueing of a defensive pact
* AIs not use DeclinedDeclarationOfFriendship flag
* Fixed otherCivNonOverlappingDefensivePacts causing error with unmet Civs
* Avoid the detekt false positive for typed lambda `it` and its comment
* Fix regression of what-is-a-garrison (8952)
* Initial implementation of "Status" column
* "Status" column gets a header icon
* Improved handling of "Nothing" construction
* Suppress "All" entries when you have only one city
* Global Construction Blacklist
* Reviews
* Reviews - missed renames
* A few yield extensions - use in existing code to do later
* Refactor getFreeBuildings to allow hasFreeBuilding not enumerating all
* Prevent selling free buildings - with a little easter egg
* Test translatability
* Shift "Free Building" methods towards preferring object parameters
* Remove easter egg
* Linting and improving Kdoc precision
* Linting and improving Kdoc precision: CityConstructions
* Convert stack overflow into explicit exception when a mod has recursive unit upgrade/replaces
* RulesetValidator detects recursive unit upgrade/replaces
* Override DoF displayed on Politics table with defensive pact when applicable and added CYAN color to table and diagram.
* City-state alliances now show as CYAN in the politics table
* ♻️ merge together two branches executing same code
* ♻️ swap if-else chain with when to improve readability
* ⚡️ swap conditions to first check the lighter computationally-wise
* ♻️ extract method to increase readability
* 💚 add some tests for TargetHelper
* 💡 add comment explaining how Unciv grid system works using a graphical example
* 💚 add other tests
* ♻️ change method name to better reflect what it does
* 🐛 fix import after rebase
* 🔥 remove parameter when value is the default and use static field for Vector2(0f, 0f)
* ♻️ split setTileTerrainAndFeatures in two different methods
* ♻️ update older tests to use the new functions
* Fixed Civ getting two notifications of canceling their defensive pact when attacking.
* Added Defensive Pact related warnings to the Declare War popup
* Improved the warning to not include Civs that are already at war with the aggressor
* Improved the warning to not include Civs that are already at war with the aggressor
* Added defensive pact related warning translations
* Refactored removeDefensivePacts
* DeclareWarButton text now uses arrayListOf<String> and changed the for loop to a while loop
* Extracted the DeclareWarButton text to a new method.
* Fix UniqueType.ChangesTerrain not working for base terrain parameter
* Fix spawnRiver resultingTiles to include all affected tiles on both sides of the River
* Fix terrain conversion for rivers from Map Editor partial generation / paint from-to
* forEach linting
* Instrumentation for generateSingleStep
* forEach linting
* Remove lazies
* Some preparation refactoring
* Some preparation API extension
* Initial constructions context menu
* More CityConstructions API clarification
* Templates and KeyBindings
* Fix quirks and prettify highlighting issues
Big DUH moment, we've been applying this same trick everywhere but haven't generalized it yet...
This will both make performance improvements easier, AND improve readability!
- Cache civ uniques ignoring conditionals, for better reuse
- Cache civ uniques *when querying city uniques*, same
This allows us to use the same UniqueCache between cities, and we still get the performance boost of "search once filter always", since the searching is the heavier part, and in any case we'll always have to do the filtering by conditionals either way
* Added "Jump To Destination" UnitActionButton for moving unit
This commit also fixes the situation where the player is unable to open the Show More unit actions list while the unit is moving and out of moves for the turn. Previously, clicking Show More in this scenario would jump to the next active unit.
* Added Jump To Destination to translation file
* Changed Jump to Destination to Show Unit Destination, updated icon, credits