Commit Graph

7269 Commits

Author SHA1 Message Date
b0c70e6ec8 Console: city addtile <cityName> takes an optional [radius] parameter 2024-06-09 19:34:38 +03:00
d61df7fe51 Console: civ addtech / civ removetech commands 2024-06-09 19:25:44 +03:00
78ac58fe39 4.11.18-patch1 2024-06-09 08:20:18 +00:00
2233d3df99 Fix "ask for help" crash (#11712)
* Solved combat resource conditionals vs cities being checked against the target's resources

* Crash fix - Don't attempt to ask civs you don't know for help
2024-06-09 11:20:10 +03:00
fe72b8f012 Version rollout (#11711)
* Bump version and create initial changelog entry

* Provide missing Ukrainian translations (#11710)

Co-authored-by: Kostiantyn Ko <mormat.iam@gmail.com>

* Update Indonesian.properties (#11697)

* Update Indonesian.properties

Translated the new words and fixed some grammar mistakes.

* Update Indonesian.properties

* Update French.properties (#11695)

* Update Brazilian_Portuguese.properties (#11694)

* Update Italian.properties (#11693)

* Update Italian.properties

* Update Italian.properties

---------

Co-authored-by: yairm210 <yairm210@users.noreply.github.com>
Co-authored-by: Kostiantyn Ko <test9@mormat.name>
Co-authored-by: Kostiantyn Ko <mormat.iam@gmail.com>
Co-authored-by: X2003 <158255876+Xenia2003@users.noreply.github.com>
Co-authored-by: Ouaz <Ouaz@users.noreply.github.com>
Co-authored-by: Vitor Gabriel <59321138+Ranbut@users.noreply.github.com>
Co-authored-by: Giuseppe D'Addio <41149920+Smashfanful@users.noreply.github.com>
2024-06-08 22:21:23 +03:00
aa74c557d2 UX: Dev Console easier to use without installing keyboard apps (#11706)
* UI replacements for Tab, Up, Down in DevConsolePopup

* DevConsole history display via command or longpress on the Android UI
2024-06-08 21:59:33 +03:00
68e29e9c53 "(modified by game speed)" modifier (#11696)
* "(modified by game speed)" modifier

* Added missing flags

* Fixed G&K ruleset
2024-06-08 21:58:52 +03:00
e276a08d61 UniqueParameterType getErrorSeverity/isKnownValue architecture simplification (#11701)
* UniqueParameterType getErrorSeverity/isKnownValue simplification

* Minor changes to a few UniqueType documentations

* Allow UnitsGainPromotion e.g. "[Melee] units gain the [Morale] promotion"
2024-06-08 21:58:38 +03:00
cf7f5a1c52 Remove 'Strategic Balance' and 'Legendary Start' from resource abundance select (#11699)
* Convert MapResources into an Enum

* Fix IsPartOfGameInfoSerialization where actually only the String is part of serialization

* Refactor MapResources to own file, package mapgenerator

* Refactor MapSize/MapSizeNew to own file and rename
2024-06-08 21:58:19 +03:00
9cd531c8cf Reworked AI war evaluation and plans (#11688)
* hasAtLeastMotivationToAttack now takes uses City.neighboringCities

* Changed attack pathing to use Astar

* Made the base force higher

* Declare war checks for total population instead of number of cities

* MotivationToAttackAutomation takes into account denunciation

* Set up DeclareWarTargetAutomation.kt

* Added logic for Civs to try and gang up on other Civs

* Added logic for civs to try and join an ally civ in their war and to declare war directly

* Added declineJoinWarOffer flag

* Reduced the likelyhood of declaring war a little

* Civs don't try to join wars against city-states

* Removed calculating targets with 0 motivation

* Relative production is not calculated against city-states

* Improved getAttackPathsModifier to only calculate the best path per city

* Refactored filter statements

* AI now tries to execute planned wars by default

* Culture Civs can now declare war, AI can declare multiple wars

* AI won't gift gold to city-states that it wants to attack

* Changed motivation from combat

* Changed AI aggression towards city-states

* Civs don't want to sign a DOF with the only nearby major civ as much

* City.neighboringCities filters out cities that are not visible

* Fixed some conditionals in tryJoinWar

* Fixed some war plan types breaking instead of continuing

* Civs are more likely to sign open borders if they haven't seen their cities

* Changed far away cities to have less of a value

* Fixed neighboringCities and getNeighboringCivilizations

* Other fixes

* Reduced motivation to attack from relative strength

* Added more to motivation to attack

* Added extra friendship modifiers

* Moved war evaluation to WarPlanEvaluator

* Added comments and re-named preparingWarPlan

* AI Team wars require neutral relations to send

* Added a team war notification

* Added evaluation of join war trades

* Tweaked MotivationToAttackAutomation

* Improved peace deal offers

* AI peace deals wait until 10 turns after declaring war

* Made the AI declare war a little less

* AI builds more military units

* AI keeps at least 2 great generals to not build citadels with

* AI TeamWar is more specialized for fighting stronger Civs

* Removed extra line

* Added more comments

* Improved unit tryPrepare logic

* Minor respelling and style improvements

* Changed MotivationToAttackAutomation HashMap to be a list

* Added a heuristic for the Astar search

* TeamWarPlan focuses more on relative force and fighting stronger civs

* MotivationToAttackAutomation takes into account planned wars and can target stronger civs

* Added logic for AI's to request other civs to join their war

* Fixed some WarDeclaration TradeEvaluation logic and reduced costs

* Added some extra safety against extreme force values in DeclareWarPlanEvaluator
2024-06-08 21:56:51 +03:00
6979ea8e85 Improve update of "Last seen improvement" (#11673)
* Restrict access to lastSeenImprovement

* Move TileInfoNormalizer to logic

* Remove all uses of gamestate- and transient-dependent changeImprovement from MapGenerator

* Update lastSeenImprovement from changeImprovement where appropriate

* Another rename removing an `Info`

* Remove redundant spectator test

Co-authored-by: Yair Morgenstern <yairm210@hotmail.com>

---------

Co-authored-by: Yair Morgenstern <yairm210@hotmail.com>
2024-06-08 21:56:04 +03:00
3d111465ec Resolved #11700 - "Promotes all spies [amount] time(s)" crash 2024-06-05 16:15:20 +03:00
1296b16f90 4.11.17 2024-06-04 18:18:49 +03:00
533e6b7832 Version rollout (#11692)
* Bump version and create initial changelog entry

* Update Spanish.properties (#11685)

* Update German translation (#11672)

* Update Brazilian_Portuguese.properties (#11671)

* Update French.properties (#11670)

* Update Indonesian.properties (#11669)

Translated the new words and corrected the mistranslated words.

* Update Italian.properties (#11606)

* Update Italian.properties

* Update Italian.properties

* Add translations to Ukrainian (#11684)

Co-authored-by: Kostiantyn Ko <mormat.iam@gmail.com>

* Update Polish.properties (#11679)

* Update Polish.properties

* Update Polish.properties

---------

Co-authored-by: yairm210 <yairm210@users.noreply.github.com>
Co-authored-by: Caballero Arepa <78449553+Caballero-Arepa@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: X2003 <158255876+Xenia2003@users.noreply.github.com>
Co-authored-by: Giuseppe D'Addio <41149920+Smashfanful@users.noreply.github.com>
Co-authored-by: Kostiantyn Ko <test9@mormat.name>
Co-authored-by: Kostiantyn Ko <mormat.iam@gmail.com>
Co-authored-by: Lesiakower <125187776+Lesiakower@users.noreply.github.com>
2024-06-04 18:13:26 +03:00
ba0c5cfbae Spy max rank can be modded (#11650)
* Changed the spy level cap to be a mod constant

* Spy rank shows with more stars

* Reverted some temporary debug changes

* Changed Promotes all spies to accept an amount

* Change Promotes all spies [amount] time(s) to have parenthesis around the s

* Fixed problem with merging
2024-06-04 18:03:48 +03:00
9e6e157835 Added an option to disable move by long press (#11681)
* Added an option to disable move by long press

* Moved setting check to tileGroup.onActivation and changed it to check for longTapMove

* Added translation
2024-06-04 18:02:01 +03:00
4e28b9e75c Console: Improve civ activatetrigger command (#11676)
* Limit visibility inside devconsole package

* Make City an INamed to allow use of INamed-bounded generics on it

* CliInput class treats all DocConsole command line tokens, allows autocompleting quoted input to quoted full names

* Alternate, more flexible but also validating `civ activatetrigger` implementation

* Allow undisturbed display of square brackets in UncivTextField's

* Fix minor bug with OneTimeRevealSpecificMapTiles and move OneTimeReveal* implementations together
2024-06-04 18:01:00 +03:00
a046e43dbf UI candy: WLTK fireworks (#11616)
* Particle effect fireworks for WLTK

* Refactor fireworks, try another location calculation

* Save todo list

* Fireworks assets

* ParticleEffectAnimation framework refactor and FasterUIDevelopment

* ParticleEffectAnimation rework - works correctly now

* ParticleEffectAnimation - credits and fine-tune

* ParticleEffectAnimation - atlas

* ParticleEffectAnimation - clean up testing code

* ParticleEffectAnimation - fix bungled texture move
2024-06-04 18:00:44 +03:00
7e3bbb6053 A ModOptions unique allowing a mod to control which map gets preselected (#11468)
* Minor linting

* UniqueType.ModMapPreselection
2024-06-04 18:00:29 +03:00
4b2f5e468d Sortable unit overview (#11521)
* SortableGrid architecture changes: defaultSort instead of defaultDescending

* SortableGrid architecture changes: Header cell actor management

* SortableGrid architecture changes: General Services and reusable defaults

* Fix EmpireOverviewScreen sometimes forgetting the last active tab

* Reimplement Unit Overview using SortableGrid (but dropping unit supply)

* Get UnitSupplyTable back into Unit Overview

* Fix unit overview does not know PromotionPickerScreen changed the name

* Simplify update after rename

* Fix "Ooops" wrong value in ranged strength column
2024-06-04 18:00:04 +03:00
9d8484cf75 Fixed spy steal tech timer (#11680)
* Fixed the time to steal a tech being infinity when the science produced by a city is negative

* Removed duplicate stealing tech checking behaviour
2024-06-04 17:58:46 +03:00
8eda342613 Deprecated old uniques 2024-05-31 19:13:01 +03:00
bdb0dcef65 Resolved #11675 - Unavailable techs work well with tech picker screen 2024-05-31 19:06:12 +03:00
834567170e Added ruleset check for resource uniques with resource conditionals 2024-05-31 18:41:29 +03:00
bed8d3b176 minor docs and city resource conditional test 2024-05-31 13:55:38 +03:00
6da9fe23f2 Unify "get stat for conditional state" logic 2024-05-31 13:42:41 +03:00
371f9639c1 Version rollout (#11667)
* Bump version and create initial changelog entry

* Update Indonesian.properties (#11662)

* Update Indonesian.properties

Translated the new words and fixed some mistranslated words.

* Update Indonesian.properties

* Update Spanish.properties (#11661)

* Update French.properties (#11660)

* Update Brazilian_Portuguese.properties (#11656)

* Update Brazilian_Portuguese.properties

* Update Brazilian_Portuguese.properties

* Update Italian.properties (#11655)

* Update Italian.properties

* Update Italian.properties

Oops

* Update German translation (#11654)

* Update German translation

* Update German translation

* Update German translation

* Update German translation

* Update German translation

* Update Ukrainian.properties (#11653)

Co-authored-by: Viktoriia <158747182+moonytori@users.noreply.github.com>

---------

Co-authored-by: yairm210 <yairm210@users.noreply.github.com>
Co-authored-by: X2003 <158255876+Xenia2003@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: Vitor Gabriel <59321138+Ranbut@users.noreply.github.com>
Co-authored-by: Giuseppe D'Addio <41149920+Smashfanful@users.noreply.github.com>
Co-authored-by: mape6 <mape6@posteo.de>
Co-authored-by: Viktoriia <158747182+execsuvikky@users.noreply.github.com>
Co-authored-by: Viktoriia <158747182+moonytori@users.noreply.github.com>
2024-05-30 00:00:11 +03:00
9e5c113ee8 UI: Allow any mod sound to be selected as a multiplayer turn notification sound (#11623)
* Linting

* Fix potential crash when having a multiplayer notification sound configured that is no longer available

* New media finder architecture

* Unit tests for new media finder architecture

* Apply new media finder architecture to solve "allow all mod sounds as multiplayer notifications" request
2024-05-29 23:59:57 +03:00
655c98a7e5 Allow access to the Dev Console on mobile devices (#11588)
* Make DeveloperConsole callable from WorldScreenMenuPopup

* Better WorldScreenMenuPopup single/dual-column logic

* Allow developer console to stay open and persist history

* Fix console tab key closing onscreen keyboard

* Give the now persisted console history an upper size limit

* Ensure "up" always gives the new entry

* Fix merge leftovers

* Reviews
2024-05-29 23:59:35 +03:00
c6e3ff5d1b Linting and re-sort Tile class so the regions are no longer lying (#11649)
* Rename TileInfoImprovementFunctions

* Linting and re-sort Tile class so the regions are no longer lying
2024-05-29 23:59:16 +03:00
9757cae098 Removed espionage debug setting (#11658) 2024-05-29 23:59:04 +03:00
498a64fa16 Added spy steal tech timer (#11657) 2024-05-29 23:58:50 +03:00
d82669d26c Tune "work has started" notification (#11663)
* Make UncivGame.screenStack private

* Tune "work has started" notification

* Remove obsolete template (since commit [25b1259](25b1259ab6))

* Linting

* General suppression of duplicate notifications

* Little cheap optimization
2024-05-29 23:58:36 +03:00
bc52704614 Console create natural wonder and tile find (#11664) 2024-05-29 23:58:26 +03:00
cee2346c42 doc: getTriggerFunction 2024-05-28 23:38:19 +03:00
0351c4fe94 Don't crash if starting units contain OneTimeGainPopulation uniques 2024-05-28 23:27:15 +03:00
a69aae1c87 Better naming - constructionComplete -> completeConstruction 2024-05-28 23:25:04 +03:00
07d1f1ead4 Fix tests 2024-05-27 21:21:08 +03:00
b9fd1c501a AI no longer trusts you on resource trades if you cut deals short 2024-05-27 17:55:09 +03:00
d7018de5c5 Add unit name and building name countables 2024-05-27 16:15:08 +03:00
7474dcaddc Added "per every X countables" modifier 2024-05-27 15:41:12 +03:00
64ef738fd7 Version rollout (#11652)
* Bump version and create initial changelog entry

* Create Zulu.properties (#11634)

zulu language translation for unciv, very early, will continue transcribing.

* Updates + Fixes to Belarusian, Russian, Italian (#11633)

* Updates + Fixes to Belarusian

Even more content

* Russian Update

* Revert "Russian Update"

This reverts commit 0b44358510.

* Italian + Russian + BelarusianUpdate

Update for Belarusian

* Update Indonesian.properties (#11632)

Corrected the mistranslation.

* Add a few translations to Ukrainian (#11629)

Co-authored-by: Kostiantyn Ko <mormat.iam@gmail.com>

---------

Co-authored-by: yairm210 <yairm210@users.noreply.github.com>
Co-authored-by: graycloud0 <151023736+graycloud0@users.noreply.github.com>
Co-authored-by: GameBoyNoob <94763659+GameBoyNoob@users.noreply.github.com>
Co-authored-by: X2003 <158255876+Xenia2003@users.noreply.github.com>
Co-authored-by: Kostiantyn Ko <test9@mormat.name>
Co-authored-by: Kostiantyn Ko <mormat.iam@gmail.com>
2024-05-27 12:41:12 +03:00
e1ec448f81 Cleaner Json custom serialization and unit tests (#11624)
* Barbarian encampments are no longer a HashMap since #9374 so that old compat code is unreachable

* Rename SerializationTests to GameSerializationTests and add a barb camp to the game

* Add SerializationTests (roundtrip tests for classes with custom serialization)

* Convert setSerializer to implement Json.Serializable where possible
2024-05-27 12:37:49 +03:00
286005188f Clicking the spy button no longer allows the spy to be moved when it isn't their turn (#11609) 2024-05-27 12:32:44 +03:00
11cee77fb9 "for every [countable]" unique modifier (#11641)
* "for every [countable]" unique modifier

* detekt fix

* Test city-unique edge cases
2024-05-27 12:32:12 +03:00
dd8072c3d3 Construction automation rework (#11601)
* Changed building construction priority to consider more possibilities

* Fixed addBuildingChoices taking into account non-buildable buildings

* Reduced first worker priority

* Fixed negative value buildings and changed the values of some buildings

* Aggressive personality wants to build experience buildings more

* Removed the unnecessary parameter in each of the apply.* methods
2024-05-27 12:31:42 +03:00
3d222ecd81 Espionage button cancels moving spy (#11631)
* Pressing the espionage button while moving a spy on the map now deselects the spy

* Minor UnitTable whitespace removeal
2024-05-27 12:31:15 +03:00
c5df845611 Fix bug in ModConstants handling (#11645)
* Fix a few unhelpful mod checker warnings

* Fix a problems with ModConstants and unit tests for them

* Minor linting
2024-05-27 12:30:51 +03:00
b78f887124 Some minor behind-the-scenes UI architecture changes (#11639)
* Some UI architecture changes

* Some UI architecture changes - merge Kdoc update from another PR

* Remove experimental status of the key bindings UI

* Minor update to keyboard tutorials

* Minor readability linting: A few color names instead of hex codes

* Fix links from Options not working when called from MainMenuScreen
2024-05-27 12:30:34 +03:00
199a684409 Support for Zulu language (#11644) 2024-05-27 12:30:21 +03:00