Commit Graph

6498 Commits

Author SHA1 Message Date
6585cc0eb0 Version rollout (#10143)
* Bump version and create initial changelog entry

* Update Catalan.properties (#10138)

* Update Russian.properties (#10136)

* Update Russian.properties

* Update Russian.properties

Corrections of aztecs cities

* Update Polish.properties (#10134)

* Update Dutch.properties (#10133)

* Update Brazilian_Portuguese.properties (#10132)

* Update Bulgarian.properties (#10131)

* Update Spanish.properties (#10129)

* Update Polish.properties (#10128)

* Update Italian.properties (#10123)

* Update French.properties (#10122)

* Update Russian.properties (#10120)

* Update German translation (#10118)

---------

Co-authored-by: yairm210 <yairm210@users.noreply.github.com>
Co-authored-by: Joan Josep <juanjo.ng.83@gmail.com>
Co-authored-by: Anoant <143289571+Anoant@users.noreply.github.com>
Co-authored-by: Lesiakower <125187776+Lesiakower@users.noreply.github.com>
Co-authored-by: Lena Bullens <95299589+LenaBullens@users.noreply.github.com>
Co-authored-by: Vitor Gabriel <59321138+Ranbut@users.noreply.github.com>
Co-authored-by: Dob <100198047+dobval@users.noreply.github.com>
Co-authored-by: Caballero Arepa <78449553+Caballero-Arepa@users.noreply.github.com>
Co-authored-by: Giuseppe D'Addio <41149920+Smashfanful@users.noreply.github.com>
Co-authored-by: Ouaz <Ouaz@users.noreply.github.com>
Co-authored-by: hotorcelexo <IgorPolyakov@users.noreply.github.com>
Co-authored-by: mape6 <mape6@posteo.de>
2023-09-18 10:00:09 +03:00
cc1624604e AI diplomatic actions rework (#10071)
* 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
2023-09-18 09:48:22 +03:00
ae19a7bd0a Readability helpers for Map of Sets: add, contains (#10116) 2023-09-18 09:46:55 +03:00
a3d431155d A "Status" column for City Overview (#10126)
* 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
2023-09-18 09:46:29 +03:00
e59426fb03 Generic Widget/Provider framework for sortable grids (#8962)
* City Overview reorg - adding a Column should get easier

* City Overview reorg - patch

* City Overview reorg - SortableGrid Widget

* SortableGrid Widget - cleanup

* Generalize equalizeColumns

* SortableGrid framework - cleaner v2

* Revert file rename to facilitate merge

* Post-merge missed change

* SortableGrid merge fix

* Resolve wildcard import

* Post-merge fix: showOneTimeNotification

* Post-merge fixes

* Post-merge cleanup

* More Post-merge cleanup

* Fix sort (bug symptom: dependence on column click order)

* Tooltip update to "fix" icons if hideIcons=false

* Allow hideIcons control for grid header Tooltip

* Lint String.tr() Kdoc

* Move getComparator() default implementation to interface

* Nicer getComparator() implementations, better sorting for WLTK column

* Fix "Tooltip update to "fix" icons" reverting tooltip color

* Suppress detekt false positives

* Fix merge error
2023-09-13 19:42:22 +03:00
0be6cd062f 4.8.5 2023-09-13 11:17:57 +03:00
55809c9b22 Unique deprecation - "Receive free [unit] when you discover [tech]" replaced with trigger + condition, tested 2023-09-13 11:11:37 +03:00
550e18689a Version rollout (#10115)
* Bump version and create initial changelog entry

* Update Korean.properties (#10112)

* Update Polish.properties (#10110)

* Update Brazilian_Portuguese.properties (#10109)

* Update Simplified_Chinese (#10108)

* russian (#10106)

* Update Russian.properties

Corrections some cities

* Update Russian.properties

def. pact with..

* Update Spanish.properties (#10105)

* Japanese translation (#10104)

* Randomly chose not translated strings.

* Some more translation

* Some more translation

* Added more translation

* Chinese names

* Update Japanese.properties

Fixed 2 typos

* Update Catalan.properties (#10103)

* Update French.properties (#10102)

* Update German translation (#10099)

* Update Italian.properties (#10098)

* Update Italian.properties (#10097)

Co-authored-by: Tommaso Petrolito <tpetrolito@deloitte.it>

---------

Co-authored-by: yairm210 <yairm210@users.noreply.github.com>
Co-authored-by: Yattong the Mackerel <saud2410@naver.com>
Co-authored-by: Lesiakower <125187776+Lesiakower@users.noreply.github.com>
Co-authored-by: Vitor Gabriel <59321138+Ranbut@users.noreply.github.com>
Co-authored-by: chr_56 <30681738+chr56@users.noreply.github.com>
Co-authored-by: Anoant <143289571+Anoant@users.noreply.github.com>
Co-authored-by: Caballero Arepa <78449553+Caballero-Arepa@users.noreply.github.com>
Co-authored-by: 有賀 清一 Seiichi Ariga <seiichi.ariga@gmail.com>
Co-authored-by: Joan Josep <juanjo.ng.83@gmail.com>
Co-authored-by: Ouaz <Ouaz@users.noreply.github.com>
Co-authored-by: mape6 <mape6@posteo.de>
Co-authored-by: Giuseppe D'Addio <41149920+Smashfanful@users.noreply.github.com>
Co-authored-by: TommasoPetrolito <tommasouni@gmail.com>
Co-authored-by: Tommaso Petrolito <tpetrolito@deloitte.it>
2023-09-13 10:33:59 +03:00
16d716d794 Removed double notifications and processing of treaties when traded (#10101)
* Removed double notifications and processing of treaties when traded

* Added comment to only processing one side of the trade
2023-09-13 10:28:07 +03:00
8e3ebc7724 Global Constructions Blacklist (#10061)
* Improved handling of "Nothing" construction

* Suppress "All" entries when you have only one city

* Global Construction Blacklist

* Reviews

* Reviews - missed renames
2023-09-13 10:27:43 +03:00
8aeae30050 Prevent selling free buildings (#10094)
* 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
2023-09-13 10:27:32 +03:00
6016754a18 Defense against Circular upgrade paths in mods (#10114)
* Convert stack overflow into explicit exception when a mod has recursive unit upgrade/replaces

* RulesetValidator detects recursive unit upgrade/replaces
2023-09-13 10:26:47 +03:00
824b0d2af9 Version rollout (#10096)
* Bump version and create initial changelog entry

* Update Korean.properties (#10093)

* Update Spanish.properties (#10084)

* Update Italian.properties (#10082)

---------

Co-authored-by: yairm210 <yairm210@users.noreply.github.com>
Co-authored-by: Yattong the Mackerel <saud2410@naver.com>
Co-authored-by: Caballero Arepa <78449553+Caballero-Arepa@users.noreply.github.com>
Co-authored-by: Giuseppe D'Addio <41149920+Smashfanful@users.noreply.github.com>
2023-09-11 09:47:55 +03:00
c2acdadc50 Fix unique Great Prophets not having the correct cost when buying at an increasing cost (#10095) 2023-09-11 09:29:25 +03:00
2061b2cc03 Fix free units with a build limit not spawning (#10091)
* Fix free units with a build limit not spawning

* Flip the amount when at the limit

* Unrelated linting
2023-09-11 09:29:18 +03:00
fbb516f90f Fix AI getting stuck when it can't promote with enough xp (#10089)
* Fix AI getting stuck when it can't promote with enough xp

* Reverse the check for promotions

* Forgot to remove extra break
2023-09-11 09:29:06 +03:00
19f9cba058 Allow the Space key to close Alert popups with no actual choice (#10085) 2023-09-11 09:28:59 +03:00
c3484381c3 Fixed politics tab not showing defensive pacts (#10079)
* 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
2023-09-11 09:28:52 +03:00
a68f7db463 Version rollout (#10080)
* Bump version and create initial changelog entry

* Update Polish.properties (#10075)

* Update Brazilian_Portuguese.properties (#10074)

* Update Russian.properties (#10073)

* Update Russian.properties

* Update Russian.properties

New string and corrects

* Update Russian.properties

#2

* Update Russian.properties

*3

* Update German translation (#10069)

* Update Dutch.properties (#10067)

* Update French.properties (#10066)

---------

Co-authored-by: yairm210 <yairm210@users.noreply.github.com>
Co-authored-by: Lesiakower <125187776+Lesiakower@users.noreply.github.com>
Co-authored-by: Vitor Gabriel <59321138+Ranbut@users.noreply.github.com>
Co-authored-by: Anoant <143289571+Anoant@users.noreply.github.com>
Co-authored-by: mape6 <mape6@posteo.de>
Co-authored-by: Lena Bullens <95299589+LenaBullens@users.noreply.github.com>
Co-authored-by: Ouaz <Ouaz@users.noreply.github.com>
2023-09-07 10:13:19 +03:00
30570747a8 Unify placeholder parsing for unique parameters (#10072)
* Unify placeholder parsing for unique parameters

* Remove double "remove conditional" call - kudos @SomeTroglodyte
2023-09-07 09:57:40 +03:00
55a3fa2a75 cleanup: Copy Zero vectors before passing to localToStageCoordinates (#10048) 2023-09-06 12:38:14 +03:00
538330db87 Test/refactor target helper and test it (#10048)
* ♻️ 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
2023-09-05 22:25:28 +03:00
4f9dc953cb Version rollout (#10065)
* Bump version and create initial changelog entry

* Update Polish.properties (#10057)

* Update German translation (#10056)

* Update Spanish.properties (#10051)

* Update French.properties (#10049)

* Update Italian.properties (#10046)

---------

Co-authored-by: yairm210 <yairm210@users.noreply.github.com>
Co-authored-by: Lesiakower <125187776+Lesiakower@users.noreply.github.com>
Co-authored-by: mape6 <mape6@posteo.de>
Co-authored-by: Caballero Arepa <78449553+Caballero-Arepa@users.noreply.github.com>
Co-authored-by: Ouaz <Ouaz@users.noreply.github.com>
Co-authored-by: Giuseppe D'Addio <41149920+Smashfanful@users.noreply.github.com>
2023-09-05 19:10:29 +03:00
855b2959a1 Fix Map Editor double map holders after ruleset change (#10047)
* Fix Map Editor double map holders after ruleset change

* Fix buttons are vertical in AskFitMapToRulesetPopup

* Sort imports over mapeditor package
2023-09-05 19:02:36 +03:00
5bccc4abf3 Fix longpress triggering when an onClick discards its actor (#10052) 2023-09-05 19:02:27 +03:00
eec3732c96 Defensive pact notification fix (#10025)
* 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.
2023-09-05 19:01:45 +03:00
5cc57f9293 performance: Don't calc checksum for non-multiplayer games, no one cares if you hack your own game 2023-09-05 18:52:42 +03:00
a2fa4cebf4 Improve BaseUnit hasUnique(FoundCity) handling (#10063) 2023-09-05 15:40:55 +03:00
f7069851c7 Fix Gdx not forced to UTF-8 when saving a game (#10062) 2023-09-05 14:35:54 +03:00
e58dd7c1f6 Buildings missing from ruleset are removed from loaded games *properly* 2023-09-04 16:42:21 +03:00
9fd7ddf050 Version rollout (#10044)
* Bump version and create initial changelog entry

* Update German translation (#10042)

* Update Brazilian_Portuguese.properties (#10039)

* Update Brazilian_Portuguese.properties

* Update Brazilian_Portuguese.properties

* Update French.properties (#10037)

* Update Swedish.properties (#10035)

* Update Swedish.properties

* bracket fix

* Update Spanish.properties (#10034)

* Update Russian.properties (#10033)

* Update Bulgarian.properties (#10032)

* Update Bulgarian.properties

* Update Bulgarian.properties

* Update Bulgarian.properties

* Update Bulgarian.properties

* Update Polish.properties (#10030)

* Update Polish.properties

* Update Polish.properties

* Update Polish.properties

* Update Polish.properties

* Update Polish.properties

---------

Co-authored-by: yairm210 <yairm210@users.noreply.github.com>
Co-authored-by: mape6 <mape6@posteo.de>
Co-authored-by: Vitor Gabriel <59321138+Ranbut@users.noreply.github.com>
Co-authored-by: Ouaz <Ouaz@users.noreply.github.com>
Co-authored-by: Mr-Bajs <93934125+Mr-Bajs@users.noreply.github.com>
Co-authored-by: Caballero Arepa <78449553+Caballero-Arepa@users.noreply.github.com>
Co-authored-by: Anoant <143289571+Anoant@users.noreply.github.com>
Co-authored-by: Instrumentarium <143902440+Instrumentarium@users.noreply.github.com>
Co-authored-by: Lesiakower <125187776+Lesiakower@users.noreply.github.com>
2023-09-04 15:02:51 +03:00
06691d429e Resolved #10011 - Teleport units away from city center when liberating 2023-09-04 14:58:48 +03:00
1037b3d240 Resolved #10031 - don't add icons to selection boxes 2023-09-04 14:41:47 +03:00
743c90d454 chore: Moved TranslatedSelectBox to its own file in ui.components - see #10031 2023-09-04 14:41:05 +03:00
d19281e0e6 Add unique for a promotion to be free (#10015)
* Add unique for a promotion to be free

* Have Ai prefer free promotions

* Allow AI to get multiple promotions each step
2023-09-04 14:37:59 +03:00
087c2a0946 Fixed AI unit attack decision making (#10036)
* Limited the impact of a high attacksToKill value

* Fixed chooseAttackTarget returning nothing when attackableEnemies only has one element
2023-09-04 14:37:44 +03:00
ac5e51dbea Fix cities getting the resource list of other cities (#10041) 2023-09-04 14:37:06 +03:00
d758da4d11 Fix ChangesTerrain unique for base terrains (#10043)
* 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
2023-09-04 14:36:52 +03:00
8b9d0af4bf 4.8.0 2023-09-03 09:55:02 +03:00
057a7ce9b5 Version rollout (#10029)
* Bump version and create initial changelog entry

* Update Dutch.properties (#10023)

* Update Simplified_Chinese.properties (#10020)

* Update Italian.properties (#10019)

* Update Russian.properties (#10017)

* Update Russian.properties

Defensive pacts

* Update Russian.properties

Some lines

* Update Spanish.properties (#10016)

* Update Spanish.properties

* Correct Kongo name

* Update French.properties (#10013)

* Update German translation (#10008)

* Update German translation

* Update German translation

---------

Co-authored-by: yairm210 <yairm210@users.noreply.github.com>
Co-authored-by: Lena Bullens <95299589+LenaBullens@users.noreply.github.com>
Co-authored-by: qw142536 <123065131+qw142536@users.noreply.github.com>
Co-authored-by: TommasoPetrolito <tommasouni@gmail.com>
Co-authored-by: Anoant <143289571+Anoant@users.noreply.github.com>
Co-authored-by: Caballero Arepa <78449553+Caballero-Arepa@users.noreply.github.com>
Co-authored-by: Ouaz <Ouaz@users.noreply.github.com>
Co-authored-by: mape6 <mape6@posteo.de>
2023-09-03 09:42:57 +03:00
ca160b56fa City construct menu (#9961)
* Some preparation refactoring

* Some preparation API extension

* Initial constructions context menu

* More CityConstructions API clarification

* Templates and KeyBindings

* Fix quirks and prettify highlighting issues
2023-09-03 09:36:11 +03:00
dcb50bbbf5 Fix: "Only available" not working properly for religions or transforming/upgrading units (#10012) 2023-09-03 09:32:40 +03:00
bb3335aaa8 Pedia Search (#9997)
* Minor Civilopedia linting

* Civilopedia Search Popup

* Add missing "entire current complex ruleset" scope

* Address comments

* Wording change

* Remove comment
2023-09-03 09:32:28 +03:00
6f9d2ea6d5 There's no need to save the civ uniques in *every* city unique usage differently, waste of RAM and CPU 2023-08-31 15:26:29 +03:00
ad7397ecc9 Performance: Cache uniques when choosing best tiles to settle/create improvements on
Resuse cache between cities for choosing best improvement for worker to pick (but not between workers...YET)

Alternate title: MOAR CACHES EVERYWHERE
2023-08-31 14:42:10 +03:00
f8ccefd10c performance: Use the same trick of 'save unfiltered, return filtered' for cached city uniques, so devs don't need to worry about cache state when improving performance!
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!
2023-08-31 14:27:57 +03:00
97b16d2b5f performance: Unique caching revamp!
- 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
2023-08-31 14:15:32 +03:00
e2faba879b Version rollout (#10006)
* Bump version and create initial changelog entry

* Update Catalan.properties (#10003)

* Update Brazilian_Portuguese.properties (#10000)

* Update French.properties (#9999)

* Update Simplified_Chinese (#9995)

* Update Italian.properties (#9993)

* Update German.properties - missing and changed translations added… (#9991)

* Update German.properties - missing and changed translations added + making one previous string translation consistent with similar ones

* Update German.properties unified translation of "defensive" in my changes

---------

Co-authored-by: yairm210 <yairm210@users.noreply.github.com>
Co-authored-by: Joan Josep <juanjo.ng.83@gmail.com>
Co-authored-by: Vitor Gabriel <59321138+Ranbut@users.noreply.github.com>
Co-authored-by: Ouaz <Ouaz@users.noreply.github.com>
Co-authored-by: chr_56 <30681738+chr56@users.noreply.github.com>
Co-authored-by: Giuseppe D'Addio <41149920+Smashfanful@users.noreply.github.com>
Co-authored-by: qubodup <qubodup@gmail.com>
2023-08-30 23:54:28 +03:00
cb7bb51e18 Removed "in other cities" conditional and cityfilter, allowing civ.getMatchingUniques to NOT be city-based, thus cacheable - makes future performance optimization possible :D 2023-08-30 23:53:47 +03:00
a6142ec482 "Jump To Destination" Unit Action Button for units that are moving (#9955)
* 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
2023-08-30 23:39:16 +03:00