Commit Graph

9670 Commits

Author SHA1 Message Date
Will Allen
8363078371
Connect roads automation (#10631)
* 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)
2023-12-07 09:15:12 +02:00
Ouaz
4a570bcd4f
Add "UI tips" civilopedia article (#10625)
* Add an "UI tips" civilopedia article

* Improve UI Tips article

Credits to @SomeTroglodyte and Yairm

* More improvements to UI Tips article

Credits to SomeTroglodyte
2023-12-07 09:14:51 +02:00
dHannasch
be2cbbf133
Pass-through exclude and filterUniques, respectively (#10649)
* Update BuildingDescriptions.kt

* Update BaseUnitDescriptions.kt

* Update DescriptionHelpers.kt

* Update BuildingDescriptions.kt

* Update DescriptionHelpers.kt
2023-12-07 09:14:33 +02:00
dHannasch
47e6b788af
Add TechManager.isObsolete(unit) (#10659)
* Update TechManager.kt

* Update CityStateFunctions.kt
2023-12-04 20:26:39 +02:00
dHannasch
8a03f9df12
Rename BaseUnit.techsAtWhichNoLongerAvailable() (#10663)
* Update BaseUnit.kt

* Update BaseUnit.kt

* Update RulesetValidator.kt

* Update BaseUnit.kt
2023-12-04 20:26:15 +02:00
Yair Morgenstern
ca20a09a99
Update README.md 2023-12-04 20:23:36 +02:00
dHannasch
48ff198401
Fix failing tests (#10660)
* Update Italian.properties

* Update Russian.properties

* Update German.properties

* Update Polish.properties

* Update Lithuanian.properties

* Update Simplified_Chinese.properties

* Update Korean.properties

* Update Vietnamese.properties

* Update Czech.properties

* Update Hungarian.properties

* Update Dutch.properties

* Update Swedish.properties

* Update Ukrainian.properties

* Update Filipino.properties

* Update French.properties

* Update Indonesian.properties

* Update Catalan.properties

* Update Spanish.properties

* Update Traditional_Chinese.properties

* Update Brazilian_Portuguese.properties
2023-12-04 18:19:33 +02:00
Yair Morgenstern
662c4c219b 4.9.5 2023-12-03 22:28:45 +02:00
Yair Morgenstern
7e869a3616
Version rollout (#10658)
* Bump version and create initial changelog entry

* Update Simplified Chinese (#10652)

* Update Latin.properties (#10642)

* Update Latin.properties

* Update Latin.properties

* Update Brazilian_Portuguese.properties (#10641)

* Update Spanish.properties (#10639)

* Update Spanish.properties

* Update Spanish.properties

* Update Spanish.properties

* Update Polish.properties (#10636)

* Update Polish.properties

* Update Polish.properties

* Update French.properties (#10635)

* Update Italian.properties (#10634)

---------

Co-authored-by: yairm210 <yairm210@users.noreply.github.com>
Co-authored-by: chr_56 <30681738+chr56@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: 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-12-03 22:26:28 +02:00
dHannasch
155498dc43
Wrap BaseUnit.obsoleteTech into function (#10648)
* Update BaseUnit.kt

* Update BaseUnit.kt

* Update TechManager.kt

* Update BaseUnit.kt

* Update RulesetValidator.kt

* Update BasicTests.kt
2023-12-03 22:26:16 +02:00
SeventhM
f8315de414
Add trigger from building improvements and trigger conditional for building improvements (#10644)
* 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>
2023-12-03 22:16:31 +02:00
dHannasch
c142d1508c
Add iHasUniques.techColumn() (#10595)
* Update IHasUniques.kt

* Update IHasUniques.kt

* Update IConstruction.kt

* Update IHasUniques.kt

* Update CivInfoTransientCache.kt

* Update UnitUpgradeManager.kt

* Update WonderOverviewTab.kt

* Update IHasUniques.kt

* Update IHasUniques.kt

* Update Ruleset.kt

* Update IHasUniques.kt

* Update IHasUniques.kt

* Update IHasUniques.kt

* Update IHasUniques.kt
2023-12-03 22:14:28 +02:00
Oskar Niesen
b9dd32597d
Fixed trading with city-state through notifications (#10645)
* NotificationActions DiplomacyAction no longer allows trading with city-states

* Added a comment
2023-12-03 22:13:30 +02:00
Caballero Arepa
88333a147e
Mention the Railroad production bonus in the Civilopedia (#10638)
* Mention Railroad production bonus in the Civilopedia

* Railroad production bonus mention in the Civilopedia - Vainilla

* Fix little style error

* Fix another mistake

omg

* Brackets

* Brackets
2023-12-03 22:13:04 +02:00
SomeTroglodyte
96dcd584cf
Dev Console: Lint, crash fix, add Stat (#10656)
* Console: linting

* Console: Commands can control message Color

* Console: `civ add gold -1`

* Console: Typo
2023-12-03 22:12:44 +02:00
SomeTroglodyte
5061b29197
Notification for "Policy branch unlocked" clickable (#10655)
* 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
2023-12-03 22:12:26 +02:00
dHannasch
1f47fff05d
Add iHasUniques.requiredTechs (#10587)
* Update IHasUniques.kt

* Update IHasUniques.kt

* Update IConstruction.kt

* Update IHasUniques.kt
2023-12-02 22:56:00 +02:00
dHannasch
7fae32c595
Add iHasUniques.availableInEra() (#10594)
* Update IHasUniques.kt

* Update IHasUniques.kt

* Update IConstruction.kt

* Update IHasUniques.kt

* Update CivInfoTransientCache.kt

* Update UnitUpgradeManager.kt

* Update WonderOverviewTab.kt

* Update IHasUniques.kt

* Update IHasUniques.kt

* Update CityStateFunctions.kt

* Update CityStateFunctions.kt

* Update IHasUniques.kt

* Update CityStateFunctions.kt

* Update CityStateFunctions.kt

* Update CityStateFunctions.kt

* Update CityStateFunctions.kt
2023-12-02 22:54:52 +02:00
dHannasch
55a068d0a0
Add TechManager.isResearched(construction) (#10646)
* Update TechManager.kt

* Update CityStateFunctions.kt

* Update QuestManager.kt

* Update UnitUpgradeManager.kt

* Update Victory.kt

* Update TechManager.kt

* Update TechManager.kt
2023-12-02 22:53:11 +02:00
Yair Morgenstern
75a4f06d03 Converted create/enhance religion actions to new format 2023-12-02 22:45:18 +02:00
Yair Morgenstern
c48584868d Converted Great Person actions to new format 2023-12-02 22:33:54 +02:00
Yair Morgenstern
4c113a9aba
RFC: Direction for converting unit actions to map (#10632)
* 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
2023-12-01 11:32:04 +02:00
Yair Morgenstern
37586370ea Resolved #10640 - start turn with unit selected 2023-12-01 10:25:59 +02:00
Yair Morgenstern
f36b05f6c0 Revert "Resolved #10630 - "[relativeAmount]% [stat] from every follower, up to [relativeAmount]%" works off of majority religion, not our religion"
This reverts commit 199b3ada93.
2023-12-01 10:23:17 +02:00
Yair Morgenstern
afae9a1e96 4.9.4 2023-11-30 19:51:36 +02:00
Yair Morgenstern
4b8bef5def
Version rollout (#10633)
* Bump version and create initial changelog entry

* Update Spanish.properties (#10627)

* Update Brazilian_Portuguese.properties (#10616)

* Update French.properties (#10615)

* Update French.properties

* Update French.properties

- Improve translation of leader lines

* Update Italian.properties (#10612)

---------

Co-authored-by: yairm210 <yairm210@users.noreply.github.com>
Co-authored-by: Caballero Arepa <78449553+Caballero-Arepa@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>
2023-11-30 19:44:30 +02:00
SomeTroglodyte
30f3a8f712
Fix crash for trade notifications as Spectator or during waiting for player (#10614)
* 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
2023-11-30 19:35:18 +02:00
Will Allen
70bbfe14d6
Mitigate #10619 (#10629)
- Clear all unit movement caches upon a road being pillaged
- Log when this happens
- Minor whitespace fixes
2023-11-30 19:13:39 +02:00
SeventhM
01636c27f0
Add "Unable to pillage tiles" unique (#10623) 2023-11-30 19:13:24 +02:00
SomeTroglodyte
4be14d77f4
Fix Unit rename popup offering up the icon's virtual codepoint (#10620)
* Fix Unit rename popup offering up the icon's virtual codepoint

* Fix City rename popup offering up the icon's virtual codepoint
2023-11-30 19:13:11 +02:00
SeventhM
58e5139f35
Fix objects being purchable with a blocking conditional (#10618) 2023-11-30 19:12:58 +02:00
PLynx
6617504c05
Stats per Stat unique (#10591)
* Added Stats per Stat unique

* Applied the suggestions of @yairm210
2023-11-30 19:12:39 +02:00
Yair Morgenstern
199b3ada93 Resolved #10630 - "[relativeAmount]% [stat] from every follower, up to [relativeAmount]%" works off of majority religion, not our religion 2023-11-30 19:12:18 +02:00
Yair Morgenstern
d840b4fd4d Resolved #10626 - city-state units work with 'get era' function 2023-11-30 18:28:17 +02:00
Yair Morgenstern
34dce70142 Fixed bug - credit to @SomeTroglodyte 2023-11-29 20:09:07 +02:00
Yair Morgenstern
dfd8d5cbc9 Resolved #10621 - Ruleset validation for negative-weight ruin rewards 2023-11-29 19:56:38 +02:00
Yair Morgenstern
5b29a0234b Slight cleanup of translation docs 2023-11-29 19:51:40 +02:00
Yair Morgenstern
915cc45b35 Better order for translation documentation 2023-11-29 19:48:58 +02:00
Yair Morgenstern
d2148d4ea5 Mitigate #10613 - remove a !! by splitting 'getImprovementToImprove' and using it as source of truth for the improvement to start working on, INSTEAD of counting on the fact that chooseImprovement returns that improvement.
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.
2023-11-28 23:55:03 +02:00
Yair Morgenstern
09dd8c61aa 4.9.3 2023-11-28 14:50:33 +02:00
Yair Morgenstern
6a8ce41f4f
Version rollout (#10611)
* Bump version and create initial changelog entry

* Update French.properties (#10604)

* Update Latin.properties + question (#10589)

* Update Latin.properties

* Update Latin.properties

* Update Latin.properties

* Update Latin.properties

* Add a space at the end

* Replaced "passus" with "gressus".

* Added relationship translations

* Update Latin.properties

* Update Latin.properties

* Fixed an error

* Corrected an error

* Corrected an error 2

---------

Co-authored-by: yairm210 <yairm210@users.noreply.github.com>
Co-authored-by: Ouaz <Ouaz@users.noreply.github.com>
Co-authored-by: Lesiakower <125187776+Lesiakower@users.noreply.github.com>
2023-11-28 14:44:37 +02:00
Will Allen
57fd00ad14
Add queuing functionality (#10609) 2023-11-28 14:37:34 +02:00
Oskar Niesen
4b261a9257
Initial AutoPlay implementation (#10315)
* 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>
2023-11-28 14:37:21 +02:00
dHannasch
03698e47ef
Add IHasUniques.era() (#10593)
* Update IHasUniques.kt

* Update IHasUniques.kt

* Update IConstruction.kt

* Update IHasUniques.kt

* Update CivInfoTransientCache.kt

* Update UnitUpgradeManager.kt

* Update WonderOverviewTab.kt

* Update IHasUniques.kt
2023-11-28 14:36:45 +02:00
Yair Morgenstern
7162011d26 Resolves #10599 - Cities you haven't bombarded with will auto-bombard at turn end 2023-11-28 14:31:43 +02:00
Yair Morgenstern
e872f5ade4 Resolves #10601 - Defeated (no units/cities) hotseat multiplayer no longer appears for turns ("player X ready") 2023-11-28 13:51:34 +02:00
Yair Morgenstern
c3216e96eb cleanup 2023-11-28 12:20:18 +02:00
yairm210
9d411a16bc 4.9.2-patch5 2023-11-28 10:15:53 +00:00
Joan Josep
3c24d6d3af
Update Catalan.properties (#10579) 2023-11-28 12:15:39 +02:00
Yair Morgenstern
d0a4111d84 I think I found the conflict - checkout ref! 2023-11-28 12:14:56 +02:00