11891 Commits

Author SHA1 Message Date
Rob Loach
d18b78d5f4
Fix number popup with commas in the number (#13495)
* Fix trade gold popup with locale code

* Be verbose and rename the function to toIntOrNullTranslated()
2025-06-23 23:18:25 +03:00
EmperorPinguin
50de8e65c6
AI: update getStatDifferenceFromBuilding (#13492)
* Update

* Update ConstructionAutomation.kt
2025-06-23 23:18:15 +03:00
Rob Loach
9cce7b21bd
Add Gain control over [positiveAmount] tiles [cityFilter] Triggerable (#13489)
* Add 'Expand the border [cityFilter]' Unique

* Update OneTimeExpandBorder

* Add quantifier

* Clean up the code

* Rename and add a test

* Update docs
2025-06-23 23:18:06 +03:00
SomeTroglodyte
fe10b96837
Improve ruleset validator (#13488)
* Mini-refactor: YearsPerTurn can be immutable, support destructuring

* Fixing pass over RulesetValidator

* Make builtin Ruleset clones keep their name and isBaseRuleset

* Prevent repeated cloning in Ruleset.load (borderline optimization)

* Teach AtlasPreview to load complex Rulesets

* Fix filtering Unique check

* Fix ModRequires on base rulesets check

* Add absolutely minimal ModConstants checking
2025-06-23 23:17:57 +03:00
yairm210
435e5805f9 Optimized getMovementToTilesAtPosition tilesToIgnore to a bitset instead of a hashset, saving 7.4% of next turn calculation time! 2025-06-22 20:10:26 +03:00
Yair Morgenstern
be8935439c
chore: Updated kotlin compiler JVM target (#13490)
* chore: Updated kotlin compiler JVM target

* .
2025-06-22 11:06:03 +03:00
yairm210
895be43d2f 4.16.18 4.16.18 2025-06-22 00:03:04 +03:00
yairm210
6390383b15 Resolved #13472 - Sprites do not change to base color when moving 2025-06-21 23:59:29 +03:00
Yair Morgenstern
b299813214
Version rollout (#13485)
* Bump version and create initial changelog entry

* Update Korean.properties (#13480)

* Update Korean.properties

* Update Korean.properties

* Update Korean.properties

* Update Japanese.properties (#13476)

* Update French.properties (#13474)

* Update German translation (#13471)

* Update Brazilian_Portuguese.properties (#13467)

* Update Italian.properties (#13464)

* update croatian translation (#13463)

* Update Indonesian.properties (#13462)

---------

Co-authored-by: yairm210 <yairm210@users.noreply.github.com>
Co-authored-by: Charmtese <saud2410@naver.com>
Co-authored-by: cknight828 <128895471+cknight828@users.noreply.github.com>
Co-authored-by: Ouaz <Ouaz@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: Giuseppe D'Addio <41149920+Smashfanful@users.noreply.github.com>
Co-authored-by: metablaster <44481081+metablaster@users.noreply.github.com>
Co-authored-by: X2003 <158255876+Xenia2003@users.noreply.github.com>
2025-06-21 23:59:20 +03:00
Rob Loach
37037b3c41
Add [relativeAmount]% [resourceFilter] resource production Unique (#13468)
* Add unique [relativeAmount]% [resourceFilter] resource production

* Add up the percentage modifiers

* Revert "Add up the percentage modifiers"

This reverts commit f8dc3f35a5dfc45526e29b3b98906a05b9fa2ea5.

* Update tests

* Use additive percent

* Switch to additive

* Update documentation around production

* Apply the [relativeAmount] changes first, then double them if needed

* Add deprecation notice on 'Quantity of strategic resources produced'

* Update deprecation version

* Update core/src/com/unciv/logic/civilization/Civilization.kt

* Deprecate the Double quantity of [resource] production
2025-06-21 23:51:47 +03:00
SomeTroglodyte
61182a1b07
Refactor RulesetValidator into two files (#13458)
* Refactor RulesetValidator into three files

* Unit tests need to use the factory too

* Switch refactor RulesetValidator to a 2-class model
2025-06-21 23:51:31 +03:00
metablaster
911c26e5d6
Fix broken chart in victory status (#13454)
* fix broken chart

* update comment and minor optimization

* rename misleading variable
2025-06-21 23:50:00 +03:00
yairm210
1ff10700b9 chore: Generic'd demand alerts 2025-06-21 23:27:02 +03:00
yairm210
a0a6fc670d console: Can set game turn 2025-06-20 17:52:15 +03:00
yairm210
a82906bc5f Resolved #13473 - barbarian workers no longer construct improvements if they land on them 2025-06-19 17:39:44 +03:00
yairm210
bfff0ec23a modding(validation): Catch empty altases.json file 2025-06-18 18:38:40 +03:00
yairm210
3d3fc302c6 Add stacktrace to ruleset validation exceptions 2025-06-18 18:23:03 +03:00
yairm210
5fdaa1a052 4.16.17-patch1 4.16.17-patch1 2025-06-18 06:13:49 +00:00
hackedpassword
bdbce2e297
Edge restructure update (#13470)
* HexaRealm edges restructure

* Resolved missing assets
2025-06-18 09:13:40 +03:00
yairm210
adb7b2eaee chore: research agreements -> Research Agreements, as per #13439 2025-06-17 19:29:15 +03:00
yairm210
aaf4167ad7 Allow autoupdates for uniques with the same parameter appearing twice - e.g. 'from [amount] to [amount]' 2025-06-17 18:51:15 +03:00
yairm210
6952ce04ac Allow autoupdates for uniques with the same parameter appearing twice - e.g. 'from [amount] to [amount]' 2025-06-17 18:50:39 +03:00
yairm210
44e6827728 Allowed stat reserve to get happiness 2025-06-17 18:06:23 +03:00
yairm210
6bb0ddd2ca 4.16.17 4.16.17 2025-06-17 16:50:31 +03:00
yairm210
4c637374a1 Increased font size so it's less blurry on large screens
At 2048x2048 this should be enough for 400 characters
Hope this doesn't cause problems for e.g. chinese -_-
2025-06-17 16:49:52 +03:00
Yair Morgenstern
302004e3aa
Version rollout (#13461)
* Bump version and create initial changelog entry

* Typo error in Italian (#13435) (#13460)

* Update French.properties (#13459)

* Update Brazilian_Portuguese.properties (#13456)

* Update Indonesian.properties (#13449)

* Update Korean.properties (#13448)

* edit Korean.properties

* Update Korean.properties

* Update Croatian translation (#13446)

---------

Co-authored-by: yairm210 <yairm210@users.noreply.github.com>
Co-authored-by: info-david <contact@infodavid.org>
Co-authored-by: Ouaz <Ouaz@users.noreply.github.com>
Co-authored-by: Vitor Gabriel <59321138+Ranbut@users.noreply.github.com>
Co-authored-by: X2003 <158255876+Xenia2003@users.noreply.github.com>
Co-authored-by: Charmtese <saud2410@naver.com>
Co-authored-by: metablaster <44481081+metablaster@users.noreply.github.com>
2025-06-17 16:44:00 +03:00
EmperorPinguin
aefbeae6bc
Autoplay: don't assign citizens according to AI Personality (#13453)
* Update Automation.kt

* Update core/src/com/unciv/logic/automation/Automation.kt

---------

Co-authored-by: Yair Morgenstern <yairm210@hotmail.com>
2025-06-17 16:09:56 +03:00
yairm210
3515445bf8 Resolved #13451 - 'connect road' works when railroads don't exist in the ruleset 2025-06-17 16:09:13 +03:00
yairm210
b01e1df24d Bug 1/2 of #13451 - 'connect road' acknowledges availability uniques on road/railroad 2025-06-17 16:07:04 +03:00
EmperorPinguin
41fd4ff649
Update MapSize.kt (#13455) 2025-06-17 15:44:34 +03:00
EmperorPinguin
ab50d5010c
AI: remove thingsToFocusOnForVictory (#13457)
* Update CityLocationTileRanker.kt

* Update CityLocationTileRanker.kt

* Update ConstructionAutomation.kt

* Update build.gradle.kts

* Update gradle-wrapper.properties

* Update CityLocationTileRanker.kt

* Update CityLocationTileRanker.kt

* Update ConstructionAutomation.kt

* Update CityLocationTileRanker.kt

* AI changes for humans

* Fix puppet focus

* Update Automation.kt

* Puppet focus

* Update Automation.kt

* Update Automation.kt

* Update Automation.kt

* Update Automation.kt

* Update Automation.kt

* Update Automation.kt

* Update Automation.kt

* Update Automation.kt

* Update Automation.kt

* Update Stats.kt

* Update CityTurnManager.kt

* Remove specialist science modifier

* Update ReligionAutomation.kt

* Update ReligionAutomation.kt

* Update ReligionAutomation.kt

* Update CivilianUnitAutomation.kt

* Update ReligionAutomation.kt

* Worker prioritization

Workers are valuable in expand cities.

* Update ConstructionAutomation.kt

Food always important, it's rarely good to skip e.g. granary if we're on 6 pop.

* Update ConstructionAutomation.kt

Should achieve about the same with less lines of code.

* Update Automation.kt

* Update ConstructionAutomation.kt

* Update Policies.json

* Update Policies.json

* Update Policies.json

* Update ConstructionAutomation.kt

* Update Policies.json

* Update ReligionAutomation.kt

* Update ReligionAutomation.kt

* Update ReligionAutomation.kt

* Update ReligionAutomation.kt

* Rename Crop Yield to Growth

* Update worker usage

* Update UnitAutomation.kt

* Tutorials update

* Update Tutorials.json

* Fix spelling error

* Update Tutorials.json

* Update Tutorials.json

* Update Tutorials.json

* Update Tutorials.json

* Update Tutorials.json

* Update Tutorials.json

* Update Tutorials.json

* Update Tutorials.json

* AI tech and policy choices

* Update Techs.json

* Update Policies.json

* Update ConstructionAutomation.kt

* Update UnitPromotions.json

* Update

* Update Policies.json

* Update Tutorials.json

* ReligionAutomation bugfix

* Update ReligionAutomation.kt

* Update ReligionAutomation.kt

* Update ReligionAutomation.kt

* Update ReligionAutomation.kt

* Update ReligionAutomation.kt

* Update ReligionAutomation.kt

* Update ReligionAutomation.kt

* Update AI city settling and science game

* Update ReligionAutomation.kt

* Maybe revert this now the belief picking has improved

* Update ReligionAutomation.kt

* Remove some if-statements

* Update Automation.kt

* Update Automation.kt

* Update ConsoleLauncher.kt

* Update

* Update Automation.kt

* Update TileImprovements.json

* Update AI trading

* Update TradeAutomation.kt

* Update CityLocationTileRanker.kt

* Update Automation.kt

* Update Automation.kt

* Update TradeEvaluation.kt

* Update CityLocationTileRanker.kt

* Update ConstructionAutomation.kt

* Update ConstructionAutomation.kt

* Update ConstructionAutomation.kt

* Update ConstructionAutomation.kt

* Update Automation.kt

* Update Automation.kt

* Update CityLocationTileRanker.kt

* Update CityLocationTileRanker.kt

* Update CityLocationTileRanker.kt

* Update CityLocationTileRanker.kt

* Update CityLocationTileRanker.kt

* Update CivilianUnitAutomation.kt

* Update Automation.kt

* Update

* Update CivilianUnitAutomation.kt

* Revert changes

* Update Automation.kt

* Update Automation.kt

* Update Automation.kt

* Update CivilianUnitAutomation.kt

* Update CivilianUnitAutomation.kt

* Update MotivationToAttackAutomation.kt

* Update MotivationToAttackAutomation.kt

* Update CivilianUnitAutomation.kt

* Update ReligiousUnitAutomation.kt

* Update CivilianUnitAutomation.kt

* Update Automation.kt

* Update ConstructionAutomation.kt

* Update ConstructionAutomation.kt

* Update ConstructionAutomation.kt

* Update ConstructionAutomation.kt

* Update Automation.kt

* Update Automation.kt

* Update Automation.kt

* Update Automation.kt

* Update Automation.kt

* Update CivilianUnitAutomation.kt

* Update ConstructionAutomation.kt

* revert changes

* Update Automation.kt

* revert changes

* revert changes

* Update Automation.kt

* Update Automation.kt

* Update

* Update
2025-06-17 15:44:24 +03:00
yairm210
5ae80700ff chore: docstring what needs to be done to add a new demand 2025-06-17 15:41:22 +03:00
yairm210
2ba8ef12b8 Generic'd promises table 2025-06-17 15:36:48 +03:00
yairm210
f3ecfae9b6 Generic'd demands table for demands 2025-06-17 14:38:03 +03:00
yairm210
259cbdee46 Generic'd "revert to zero" for demands 2025-06-17 13:20:28 +03:00
yairm210
3eac804b18 Generic'd 'fulfilled demand promise' modifier 2025-06-17 13:17:57 +03:00
yairm210
dee883340d More generic-ing for demands 2025-06-17 13:12:29 +03:00
yairm210
daceb87f7f Added Demand enum, with initial use for deduplicating code 2025-06-17 12:59:58 +03:00
yairm210
5754c6c9d5 4.16.16 4.16.16 2025-06-15 12:45:43 +03:00
Yair Morgenstern
8cc9947c8c
Version rollout (#13444)
* Bump version and create initial changelog entry

* Update Ukrainian translation (#13441)

* Update Korean.properties (#13440)

* Update Korean.properties

* Update Korean.properties

* Update Korean.properties

* Update Korean.properties

* Update Italian.properties (#13433)

* Update Brazilian_Portuguese.properties (#13431)

* Update Indonesian.properties (#13430)

* Update French.properties (#13428)

* Update Croatian translation (#13427)

* Update Croatian translation

* corrections

* update instructions

---------

Co-authored-by: yairm210 <yairm210@users.noreply.github.com>
Co-authored-by: Kostiantyn Ko <mormat.iam@gmail.com>
Co-authored-by: Charmtese <saud2410@naver.com>
Co-authored-by: Giuseppe D'Addio <41149920+Smashfanful@users.noreply.github.com>
Co-authored-by: Vitor Gabriel <59321138+Ranbut@users.noreply.github.com>
Co-authored-by: X2003 <158255876+Xenia2003@users.noreply.github.com>
Co-authored-by: Ouaz <Ouaz@users.noreply.github.com>
Co-authored-by: metablaster <44481081+metablaster@users.noreply.github.com>
2025-06-15 12:27:51 +03:00
hackedpassword
c1562912ac
HexaRealm edges restructure (#13445) 2025-06-15 12:27:40 +03:00
metablaster
a17bbd9041
update missing world screen image annotation (#13429) 2025-06-15 11:24:55 +03:00
Rob Loach
5190604466
Allow using [relativeAmount]% Gold from Great Merchant trade missions on units (#13436)
* Apply [relativeAmount]% Gold from Great Merchant trade missions to units

* Use checkCivInfoUniques for trade mission modifier

* Fix typo
2025-06-15 11:24:07 +03:00
metablaster
79fb4b4d59
Table and colors for diplomatic relations between human players in diplomacy screen. (#13437)
* change politics diagram line colors

* defensive pact color only for major civs

* update comment

* remove unneeded line

* color DoF between human players in diagram

* human relationship table and colors

* fix spelling typo

* fix colors consistency in table
2025-06-15 11:23:57 +03:00
metablaster
a35de18455
Fix automated units not auto upgrading when enabled in options (#13434)
* fix automated ranged units not heading to enemy city

* fix distance from city typo

* Address points made in PR

* priotirize tiles without retaliation

* remove dangerous tiles logic

* resolve review with alternative approach

* faster exit if no sight

* automated units auto upgrade if enabled

* simplified condition
2025-06-15 11:23:48 +03:00
metablaster
af377058ba
Fix broken translations (#13432)
* fix broken translation

* apply suggested change

* fix untraslated string in load game screen
2025-06-15 11:23:36 +03:00
Rob Loach
f3511f99f4
Fix Civilopedia requiredBuilding links for Wonders (#13442) 2025-06-15 11:23:25 +03:00
PLynx
686180fe4f
Stacked with unit conditional unique (#13406)
* Added Stacked With Unit unique

* Deprecated the old unique

* Fixed a typo in Deprecated annotation

* Added the exception of relevant unit

* Replaced the old unique in ruleset

* Added the missing + sign

* Update android/assets/jsons/Civ V - Gods & Kings/UnitPromotions.json

* Update core/src/com/unciv/models/ruleset/unique/UniqueType.kt

* Swapped the conditions order

---------

Co-authored-by: Yair Morgenstern <yairm210@hotmail.com>
2025-06-15 11:23:16 +03:00
yairm210
f39f81d704 4.16.15 4.16.15 2025-06-11 17:56:21 +03:00
yairm210
d39061c336 Resolved #13405 - modding: Show status page for civilian units - By SomeTroglodyte 2025-06-11 17:48:49 +03:00