* Bump version and create initial changelog entry
* Update Spanish.properties (#10780)
* Even more translations of Malay.properties (#10778)
I plan to finish the UI section this week. Honestly, going through and skimming a bit I've seen things I've never seen in game.
* Update Brazilian_Portuguese.properties (#10775)
* Some German translations (#10772)
* Update French.properties (#10768)
* Update Italian.properties (#10767)
---------
Co-authored-by: yairm210 <yairm210@users.noreply.github.com>
Co-authored-by: Caballero Arepa <78449553+Caballero-Arepa@users.noreply.github.com>
Co-authored-by: Mikhail <151419244+MetaFBMI@users.noreply.github.com>
Co-authored-by: Vitor Gabriel <59321138+Ranbut@users.noreply.github.com>
Co-authored-by: SomeTroglodyte <63000004+SomeTroglodyte@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>
* Added a new AutoPlay until end button
* Added the new AutoPlay until victory setting to translation
* Reverted some comment fixes to hopefully not have a merge conflict
* Mod compatibility - update declarations
* Mod compatibility - logic and UI changes
* Mod compatibility - flag some invalid use patterns
* RulesetValidator - lint until Studio shuts up
* Fix isBaseRuleset test in ModRequires validation
---------
Co-authored-by: Yair Morgenstern <yairm210@hotmail.com>
* Add Gold Growth and Production Growth Focus
New Manual Focus doesn't reallocate population
* Use Stat Names (and symbols) for focus
* Missing reassign code
* Clean up table for efficiency
* Table v2
* minor translation changes
* COMPATIBILITY
* v3 table
* Minor fixups
* Refactor Battle damage shadowed Label into reusable WidgetGroup
* Make Politics Overview "Grid header" fixed and some linting
* Add a Legend popup explaining line colors in the Politics Overview Diagram: Click inside
* Missing translation template
* Final decision on background didn't make it in properly
* Remove unused png - those are now in the Construction atlas
* Smaller background image
* Color and shadow choices
* Redo atlas to include both 10505 and this
* Reorganize - restore meaning to existing regions, sort fields into regions, treat warnings
* Reorganize - double-check pure/side-effect regions and move inappropriate placements
* new algo for coast placement
* optimization?
* change default max coast extension
* put spreadcoast in a function
* default change back, nextBoolean() and for loop
Change BattleTable to calulate average damage and show alongside the min
and max for easier calculations when planning to attack with multiple
units such as when sieging a city
Unfortunately for min-maxers the randomness is still turn dependent
for a given defending unit, so the damage randomness will not average
out across multiple attacks on a given turn but they will all be more or
all be less depending on the luck that turn.
* Add another confirmation when buying a religious unit in a city that doesn't follow a religion founded by the city's civ.
* There's other stuff that can be purchased with Faith. Better to use UniqueType.Religious unit I guess.
* Add string to template.properties
* One more space to make unit tests happy
* Better template.properties
* Reinsert trailing space
* Introduce Constants entry for "Cancel"
* Redo ConfirmBuyPopup
* Dev console command to tweak religion pressures
* Translation templates and one test
---------
Co-authored-by: SomeTroglodyte <63000004+SomeTroglodyte@users.noreply.github.com>
* fractal map type
* repeat create fractal until enough land
* small changes and add map types Lakes and Small Continents
* fix for removing land at edges of hexagonal maps
* readability
* Change per-City GPP points math and separate breakdown (producer w/ source doc) from aggregates (consumer ignoring source)
* Change CityScreen GPP list to not do aggregation itself, but show a breakdown on click
* Change "birth" city for GPP to a ***weighted*** random - no Great Mufties from cities not generating any Mufty points!
* Nicer signature for getGreatPersonPointsBreakdown
* Minor warnings linting and template for Sweden's bonus in the breakdown Popup
* Added check for belief.type
* Removed check for BeliefType.None
Not needed if check beforehand checks for it
* Update RulesetValidator.kt
* Update Belief.kt
* Update Belief.kt
* Tweaked the stat gamespeed conditional
Tweaked the stat gamespeed conditional to accept the resources
* Changed some names
* Fixed a double limit bug
* Start on road connect feature.
* Rough UI and tile highlighting
- Highlight visible tiles for selected unit red
-- Maybe change this to all explored tiles
- Move action firing inside WorldMapHolder
- Set begin and end tiles
* Serialize Vector2 instead of Tile
* Add road icon
* Much better UI handling
- Tile highlights go away after choosing a tile
- Added restrictions to allowed tile destination choices.
- Explored
- Land
- Passable
- Added two-tap button
* Refactor part of `onTileClicked` for readability
* Band-aid fix null pointer error
* Add RoadConnection icon
* Tentatively working connect road feature
* AStar search implementation
* AStar connect road automation
* Fix worker getting stuck in city tiles
* Heuristic should be between tiles
* Add heuristic to road connect, remove maxSize limit
* Fix predicates
* Cancel automation when worker is force moved off path
* Change valid/highlighted tiles to be friendly or neutral
* Put log back the way it was
* Fix behavior when kicked off path
* Worker no longer wastes movement points
* Workers will progress multiple tiles at a time towards the next build destination.
* Respect civs with certain tiles as roads
* Refractor ForceAutomateRoadConnection -> AutomateRoadConnection
* Connect road UI button only shows for units with UniqueType.BuildImprovements
* Connect road UI button only show when road tech is unlocked
* Add wagon sound
* Fix destination icon, add KeyboardBinding to 'c'
* UI highlight connect road path tiles orange
* Downsample wagon.mp3
* Apply migration patch, idiomatic sequence processing
* Add notifications on success and failure
* Extract movement cost function to be reusable
* Refactor road pathfinding into MapPathing.kt
* Make pathing calls more general for future extendability
* Add UI road connection tile path preview
* Keep road path highlighting when routing to a city tile
* Adjust road pathing cost function
* Path includes pillaged roads
* Repair pillaged roads along path
* Valid road path tiles now include all passable tiles (open borders)
* Add trigger from building improvements and trigger conditional for building improvements
* Classic case of the forgotten import
* Fix improvement triggerables saying they aren't allowed and move the trigger to its own function
* include the tile in the civ trigger
* Update core/src/com/unciv/models/ruleset/unique/UniqueType.kt
---------
Co-authored-by: Yair Morgenstern <yairm210@hotmail.com>
* Ruleset-validate some Unique amounts to be positive
* Add TechAction for tech gained from Ruins
* Allow PolicyPickerScreen to highlight a Policy
* Add the 'PolicyAction' NotificationAction
* Use the new PolicyAction
* Direction for converting unit actions, so that invokeUnitAction() doesn't try to generate *all* possible unit actions just to choose one
* Mapped many unit actions
* Fix crash when tapping a Diplomacy notification for trades as Spectator or during waiting for player
* Fix no tech showing as researched when tapping a Tech researched notification as Spectator
Which it looks like it won't, if somehow the improvementInProgress is NOT in the list of potentialTileImprovements.
Only case I can think of is: You captured an enemy city with a civ--unique improvement in the middle of construction. So fixed that as well.
* AutoPlay initial hack
* Removed extra changes
* Added canceling AutoPlay and its own button
* Victory screen showing up stops AutoPlay
* Removed AutomateTurn for the spectator
* Right Clicking AutoPlay Button starts AutoPlay immediately
* Renamed NextTurnMenu to AutoPlayMenu
* AutoPlay can now only begin on the players turn
* Added specific unit actions AutoPlay
* AutoPlay stops on VictoryScreen and GreatPersonPickerScreen
* AutoPlay now stops when loading a new game
* Hovering the mouse over the AutoPlayStatusButton now stops AutoPlay
* Removed temporary right click NextTurnButton functionality
* Removed multi-turn AutoPlay from multiplayer games
* Loading a multiplayer game now stops AutoPlay
* AutoPlayStatusButton persists over reloading WorldScreen
* Victory popup now stops autoplay
* AutoPlay now automatically picks great person
* Full AutoPlay now captures cities
* Added settings.isAutoPlaying and fixed bug with closing game in the middle of AutoPlaying a turn
* AutoPlay now correctly stops when a victory screen is shown
* AutoPlay now automates city constructions without autoAssignCityProduction being on
* Reordered NextTurnAction
* Removed extra condition for displaying AutoPlay text on next turn button
* Moved AutoPlay settings to new tab
* Changed AutoPlay slider
* Refactored Settings to have AutoPlay to be in a new subclass
* Added an show AutoPlay button setting, commented out unimplemented settings
* Opening the exit game window stops autoPlay
* Made cyclopedia entry
* Added translations
* AutoPlayStatusButton now ends with a new line
* Commented out extra code and removed extra import statements
* Fixed UncivSlider Change
* Fixed merge conflicts
* Settlers no longer stuck in endless loops wanting to found cities on tiles they can't reach @tuvus
* Support for Leader voices (#10395)
* Prepare Leader Voices: Framework
* Leader Voices: Hooks and corresponding text field comments
* Leader Voices: wiki
* Leader Voices: oops, comments
* Decouple voice play calls to make global modification easier
* Move voices to own folder and give them a separate volume setting
* Oops, template needed too
* Oops, wiki needed too
* Resolved#10366 - City centers don't provide resources you don't have tech to extract
* Add a TriggerUponDiscoveringTile unique type (#10523)
* Add a TriggerUponDiscoveringTile unique type
* Add a check for trigger presence
* Add gain stat modified by speed and improvement speed by filter uniques (#10443)
* Add gain stat modified by speed and improvement speed by filter uniques
* Fix rulesets
* Remove nonfunctional leftover resource text
* Reword improvement unqiue as suggested
* Add the SellBuilding Unique (#10514)
* Restored the SellBuilding Unique
* Rephrased SellBuilding unique
* Version rollout (#10530)
* Bump version and create initial changelog entry
* Update Brazilian_Portuguese.properties (#10528)
* Update French.properties (#10524)
* Update Italian.properties (#10522)
* Update Polish.properties (#10521)
* Update Polish.properties
* Added Fastlane_short_description
* Update Malay.properties (#10520)
Translated line 33 to line 325.
Not at all finished.
This time though I didn't mess up.
---------
Co-authored-by: yairm210 <yairm210@users.noreply.github.com>
Co-authored-by: Vitor Gabriel <59321138+Ranbut@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>
Co-authored-by: Lesiakower <125187776+Lesiakower@users.noreply.github.com>
Co-authored-by: Mikhail <151419244+MetaFBMI@users.noreply.github.com>
* Better performance for 'best tile to found city' (minimized canReach calls) @tuvus
* 4.9.0
* [Translation] Add back "general" unit types (#10526)
* Add back "general" unit types
These entries have been removed from translation files, making them untranslated in-game (in Civilopedia articles)
* Revert changes in template.properties
* Fix missing unit type translations
Fix by @SomeTroglodyte
* Changed some parts of GameSettings back to master.
* Changed right clicking to call startAutoPlay instead of setting it itself
* Fixed some !isHuman() conditions to also include full AutoPlay and refactored some other AutoPlay code
---------
Co-authored-by: Yair Morgenstern <yairm210@hotmail.com>
Co-authored-by: SomeTroglodyte <63000004+SomeTroglodyte@users.noreply.github.com>
Co-authored-by: Sergey <serdav74@inbox.ru>
Co-authored-by: SeventhM <127357473+SeventhM@users.noreply.github.com>
Co-authored-by: PLynx <pawelrys2011@gmail.com>
Co-authored-by: yairm210 <yairm210@users.noreply.github.com>
Co-authored-by: Vitor Gabriel <59321138+Ranbut@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>
Co-authored-by: Lesiakower <125187776+Lesiakower@users.noreply.github.com>
Co-authored-by: Mikhail <151419244+MetaFBMI@users.noreply.github.com>
* Initial refactor
* Moved checking if a tile has an enemy to a new method
* Rewrote getDistanceToEnemyUnit
* changed the position of the logic of checking if the enemy is still there
* Changed some of the other methods to use the ThreatManager getClosestEnemy()
* Added a new getTilesWithEnemyUnitsInDistance method
* Added a new getEnemyMilitaryUnitsInDistance method
* Converted a few lines to use ThreatManager
* Changed Air units to use threat manager
* Fixed tileWithEnemy error
* distanceToClosestEnemyTiles now clears at the start of every turn
* Added blank lines to end of ThreatManager.kt
* Renamed tilesInRange to tilesWithEnemyUnitsInRange
* Changed ArrayList return to a MutableList
* Removed ClosestEnemyTileData being a data class
* Improved commenting
* Improved commenting2
* getEnemyMilitaryUnitsInDistance now uses a flatMap and moved getDangerousTiles to threat manager
* Created a new helper method getEnemyUnitsOnTiles
* Renamed clearThreatData to clear
* Added shortcut if maxDist is less than or equal to distanceSearched
* Fixed distanceWithNoEnemies in getTilesWithEnemyUnitsInDistance
* Fixed notFoundDistance being higher than maxDistance when takeLargerValues is false
* Added some ThreatManager tests
* Added some more ThreatManager tests
* Removed visible map after use
* getTilesWithEnemyUnitsInDistance doesn't search distances <= tileData.distanceSearched (previously was <)
* Added 3 more tests
---------
Co-authored-by: Yair Morgenstern <yairm210@hotmail.com>
* Rescue Bosnian.properties
* Rename and revert
* Let's minimize diff size for completionPercentages.properties from now on
* One generate translations run on Bosnian
* Add the Flag
* Add the LocaleCode
* Fix illegally tranzlahtedd placeholders
* Simplify MapOverlayToggleButton signature and let the instances use individually moddable images
* Gimp sources of new images (all from existing attributions)
* New images and atlas
* ignore trigger condtional uniques
* Have UniqueTriggerActivation only add the buildings of its unique
* (minor optimization) move where we find the free building
* Once again I forget about imports
* Centralize shift and control key detection (Unit multiselect now with right-shift too)
* Lint of an ugly curly brace placement - otherwise the original was fine
* Answer open question in comment
* Follow a Gdx 1.12 deprecation
* Another clarifying comment - on ScrollPane's built-in potential surprise that the constructor calls its own overridable public methods
* Initial console, with 1 command :D
* add/remove city tiles
* add/remove units!
* Added command history, accessible with up and down keys
* 'add promotion' cli command
* 'remove promotion' cli command
* Enumified
* Converted enums into classes - enums are weirdly restricted in all kinds of uncomfortable ways
* Added autocomplete!
* Add back "general" unit types
These entries have been removed from translation files, making them untranslated in-game (in Civilopedia articles)
* Revert changes in template.properties
* Fix missing unit type translations
Fix by @SomeTroglodyte
* Add gain stat modified by speed and improvement speed by filter uniques
* Fix rulesets
* Remove nonfunctional leftover resource text
* Reword improvement unqiue as suggested
* Prepare Leader Voices: Framework
* Leader Voices: Hooks and corresponding text field comments
* Leader Voices: wiki
* Leader Voices: oops, comments
* Decouple voice play calls to make global modification easier
* Move voices to own folder and give them a separate volume setting
* Oops, template needed too
* Oops, wiki needed too
* UncivGame is a pure class file again, GUI split off
* Purify GameSettings step 1 - non-multiplayer nested classes
* Purify GameSettings step 2 - multiplayer nested classes
* Purify GameParameters - BaseRuleset to own file
* Rework WindowState to centralize minimum/maximum treatment
* Rename MultiplayerTurnNotifierDesktop to UncivWindowListener
* Clarifications on what the WindowListener actually does (and now the attention-getting does something on non-Windows too)
* Change "took tile damage" notification to select the poor victim
* Convenience constructor for NotificationAction:MapUnitAction
* More verbose Kdoc for MapUnitAction
* Merged Original AIDiplomacyBalancing changes to this branch
* Fixed being over supply resulting in the civ not attacking
* Fixed "War with allies" motivation not being added
* Drop AndroidTvLauncher - unused
* Additional memory info on Android CrashScreen
* Refactor getModsAndBaseRuleset - reduce clones and put base first
* Add Permanent audiovisual Mods to CrashScreen report
* Add a secret Debug option to intentionally crash Unciv
* Make "Secret" debug OptionsPopup page available on Android w/o physical keyboard
* Add AndroidTvLauncher back in
---------
Co-authored-by: Yair Morgenstern <yairm210@hotmail.com>
* Refactor: move UI functions from Building to BuildingDescriptions
* Move Nation "unique building" diff code to BuildingDescriptions, fix hidden ignore, equalize to how BaseUnitDescriptions.getDifferences works
* Fix translation errors for difference description "Lost ability"
* River yields moddable and Civilopedia entry
* Improve text and better fresh water explanations
* Map editor exclusion as Unique, for River and previously hardcoded Improvements
* Map editor brush to Civilopedia link, starting locations cleaned
* Some SeventhM input applied
* Reword River/Lakes/Oasis civilopediaText and comments again
* Let WorldScreenTopBarStats scale itself down when content exceeds available width
* Refactor scale mapper functionality into reusable ScalingTableWrapper
* Use ScalingTableWrapper on WorldScreenTopBarResources too
* Oops, they're now equal, but technically it should be prefWidth now, and the comment is moot