* Allow almost any mod zip download source
* Linting
* Add basic "Release page section" link capability, more linting
* Refactor: Move Github to logic
* Refactor: Split Github into files
* Refactor: centralizing all API knowledge
* Try bumping detekt version to fix false complaint
* Attempt to trick detekt to not complain about `it`
* Better overload-ambiguity-solving + detekt-compatible SAM use
Without this, when you get a mid-turn free tech like Oxford University,
the units in city queues are updated but the hammers aren't carried
over from the obsolete unit until the end of turn. This means that to
the player it shows 0 progress for all the new units in queue and
appears like the progress from obsolete units was lost which can be
disconcerting and makes strategizing during that turn difficult.
* Wiki: Remove texture atlas info from the Introduction, minor formatting changes
* Wiki: Add texture atlas info back in under Images-and-Audio, expanded (external tools, settings, encoding warning).
* On second thought...
* Double-check wording for 'game.png is no longer a special boy', ensure game atlas is merged into textureRegions only once
* Add unique to allow for generalized great generals
* Don't add compatibility for rulesets with conditional generals
* Add to rulesets
* add in pre Kotlin 9 parenthesis
* whoops missed a parenthesis
* I guess pre Kotlin 9 parenthesis was unnecessary, whoops
* Add back old variables to clone function
* Move the list of all potential generals to Ruleset
* Move list of unit construction rejections to IConstruction
* flip !any{} to none{}
* Fix imports
* Typo
* 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
* 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
* Update to master code
Remove duplicating Food yield multiply
* Revert Compatibility Version
---------
Co-authored-by: itanasi <44038014+itanasi@users.noreply.github.com>
* AI prioritises gifting gold to city-states with more influence invested
* AI only gives smaller city-state gold gifts if it already has influence
* AI prioritises gifting gold to city-states with the investment quest
* Only UseGoldAutomation includes valuing if the city-state has a quest
* WorkerAutomation now uses UnitAutomations's getDangerous tiles
* getPriority now values the current unit tile
* getPriority now values if the tile is worked instead of if it provides a yield
* getPriority prioritises clearing fallout
* getPriority prioritises new resources
* Fixed error in WorkerAutomationTest
* FindTileToWork now uses tilesToAvoid instead of checking for enemies itself
* Workers prioritise their own tile first
* Began reworking tile priority
* Changed getBasePriority() to account for tile damage
* findTileToWork now groups tiles and finds the best tile from the top group
* Fixed method calling findTileToWork()
* Workers don't build roads if their GPT is below 20
* Workers have multiple stages of wanting to connect cities
* Workers prioritise best tiles based on closeness
* Changed stuff
* Fixed a situation where a worker would be on a tile without improving it
* Reduced city connection priority
* Worker prioritises improving closer tiles more
* Worker prioritises improvements that are closer to being finished
* Reverted changes that broke tryConnectingCities more (it is already a little broken)
* Improved repair priority
* Added cityDistanceWant to tryConnectingCities
* Created a partial Test
* Finished first test
* Fixed a merge issue
* Fixed tileHasWorkToDo not accounting for base improvement values
* Added a failing test
* CityPopulationManager now assigns population to tiles in a predictable way for the Worker BasePriority tileProvidesYield
* Added an extra test with two cities and no roads
* Fixed Test creating new workers which ends up failing the test
* Test no longer research and have unnecessary research
* Test no longer include city center tiles as improvements built
* Added a failing test and removed a tryConnectCity filter
* Workers now improve tiles with unseeable resources on them
* Added a resource test
* Fixed should build roads in turns test
* Added an extra test
* tryConnectingCities takes into account the improvement priority
* Separated the improvement stat bonus from the base priority for tryConnectCities
* getBasePriority() now ranks a tile based on its base stats
* replaced mostUnderdevelopedCity with closestUnderDevelopedCity
* changed build road distances wanted
* getImprovementRanking now accounts for resources
* tilePriority now uses a float instead of an int
* Fixed float to int conversion in SpecificUnitAutomation
* Added a test for pillaging
* AI now does not offer a defensive pact/open border/research agreement if there is a pending counter offer with it
* Moved searching for a pending trade offer to a new function
* 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