Commit graph

1911 commits

Author SHA1 Message Date
Federico Luongo
ea29f91519 Fix buy current construction (#1794) 2020-01-27 23:59:40 +02:00
Teague Lander
ac8a1f144b Add specialist slot tooltip for buildings that provide them (#1776)
* Add specialist slot tooltip for buildings that provide them
 - #1762

* Remove duplicate translations
2020-01-27 08:33:10 +02:00
Timo T
d3d8933bbf Fix popups (#1784)
* Fix community popup not opening

Fixes a regression in b95844d2f4. This commit refactored popups and it was thought that the "screen has popup -> don't show popup" was correct for all popups. That assumption was incorrect, the community popup was not opening anymore as well as the game menu popups (editor and normal game) could not be opened over other popups anymore.

This commit fixes that by introducing a queue for popups. When you try to open a popup and one is already open, the popup you tried to open only gets shown when the popup that was already open is closed. This can be manually overridden with a calling the `open` method with a `(force = true)` argument.

Also, all popups are now and should be opened and closed only with their `open()` and `close()` methods to ensure this behavior works.

* Refactor: Remove all open() methods from popup constructors

While it may be a little less to type, it should be up to the caller to decide to open a popup over other popups (via the `force = true` parameter) or not. This is not possible if a popup is opened automatically within its constructor, which is why that is the wrong place to open the popup-
2020-01-27 08:32:16 +02:00
Yair Morgenstern
de1be0f6ee Forgot to test run =/ welp 2020-01-27 00:19:52 +02:00
Yair Morgenstern
cc764426e5 Added Marathon speed per user request 2020-01-27 00:11:28 +02:00
Yair Morgenstern
f1fb8aea18 Added Marathon speed per user request 2020-01-27 00:11:01 +02:00
Yair Morgenstern
daa3c8fcec Resolved #1782 - air units are no longer sent to join non-transporting units exiting the city
Transportation logic cleanup
2020-01-27 00:04:45 +02:00
ltrcao
563e1f2527 Added quick access to diplomacy screen with other civilizations by tapping on their city buttons. (#1774)
Implemented with @Azzurite's suggestions to match the button's behavior with the player's own city buttons:
* First tap slides the city button down so that the underlying tile is visible.
* Second tap on the button presents the diplomacy screen focused on the city's owner civ.
2020-01-26 21:40:38 +02:00
Yair Morgenstern
7339c43c0d CivilizationInfo.getUnits is now a sequence, for better performance throughout 2020-01-26 21:22:58 +02:00
Federico Luongo
66b5263509 Fix Latitude (#1781)
* Fix Latitude

* Code de-duplication
2020-01-26 21:00:39 +02:00
Yair Morgenstern
67bc2231b9 Fixed anti air units intercept range 2020-01-26 20:59:16 +02:00
Teague Lander
30a50a8c6b Add missing Forge and Seaport production bonus uniques (#1773)
* Add missing Forge and Seaport production bonus uniques
 Parital fix for #1762
 - Forge gets "+15% production of land units"
 - Seaport gets "+15% production of naval units"

* Adds missing translation "+15% production of land units"
2020-01-26 20:17:26 +02:00
Yair Morgenstern
5a6b5e5db3 Simplified research agreement logic 2020-01-25 21:21:06 +02:00
Federico Luongo
925f3267ad Discrete rendering (#1768)
* Re-introduced Discrete Rendering as an opt-in feature

* Persistent settings change
2020-01-25 20:56:48 +02:00
Federico Luongo
59e815c30e Fix turns to construction (#1767)
Fix #1759: the stored production is used only for the first construction of its kind in the construction queue
2020-01-25 19:50:43 +02:00
Marerjh
8469956f91 Update Ukrainian.properties (#1761)
* Update Ukrainian.properties

* Update template.properties

* Update Ukrainian.properties

* Update ConstructionsTable.kt

* Update CityInfoTable.kt

* Update Ukrainian.properties

* Update Ukrainian.properties

Co-authored-by: Yair Morgenstern <yairm210@hotmail.com>
2020-01-25 19:47:38 +02:00
JackRainy
e0a00eb9a5 Implemented aircraft carrier "Flight Deck" and "Armor Plating" promotions (#1754)
* Implemented aircraft carrier "Flight Deck" and "Armor Plating" promotions

* Template for the translation strings

* New icons are added

Co-authored-by: ltrcao <ltrcao@users.noreply.github.com>
2020-01-25 19:43:53 +02:00
lyrjie
b21fdc6c37 Fix: being able to acquire another player's tiles in multiplayer (#1766) 2020-01-25 19:40:47 +02:00
Yair Morgenstern
e9a6fd86f9 Added 'mountain within 2 tiles' restriction to Machu Picchu as per #1762 2020-01-23 23:44:25 +02:00
rayray61
5889cfd182 sorry for not informing you enough (#1764)
I didn't think you would add them from discord they were just example (I forgot letter Ğ ğ )
2020-01-23 22:15:32 +02:00
Yair Morgenstern
c29ccadc60 Exploring units no longer auto-enter city states 2020-01-23 20:50:53 +02:00
Yair Morgenstern
e419443eb6 Added missing Turkish letters 2020-01-23 20:36:56 +02:00
lishaoxia1985
42e16ec80a Now we and AI can sign research agreement. (#1671) 2020-01-23 20:12:24 +02:00
Yair Morgenstern
ce50828cdb 3.5.5-patch1 2020-01-22 19:09:16 +02:00
Federico Luongo
32e3cb2112 Hotfix Legalism on foundation (#1747) 2020-01-22 19:06:45 +02:00
lyrjie
9e0ed36bba Map editor menu (#1739)
* Refactor: map size is enum

* Feature: map editor menu

* Cleanup

* Added "Empty" map generation type for the map editor
2020-01-22 13:10:39 +02:00
JackRainy
617eea92cf Refactoring of isTransported flag for air units (#1742)
* Refactoring of `isTransported` flag for air units

* Minor refactoring: canAirUnitMoveTo as a separate function

* Redundant check is removed
2020-01-22 13:09:36 +02:00
Yair Morgenstern
4accfb594f Better specialist allocation table placement 2020-01-21 23:27:56 +02:00
Yair Morgenstern
1633394164 Resolved #1696
Specialist allocation
- Is now in a separate class
- Is immediately viewable on the City screen
2020-01-21 23:16:44 +02:00
Yair Morgenstern
7ea6fc2551 Added 4-way tile images (base,feature,improvement,resource) by The Bucketeer
Fixed some issues with existing tile images
2020-01-21 21:02:11 +02:00
lyrjie
73fc55eb0c Fix: Oligarchy (#1740)
* Fix: Oligarchy applying to civilian, water and air units

* Fix: moving unit into/out of city doesn't trigger income refresh
2020-01-21 19:48:52 +02:00
JackRainy
1441dd49f5 Aircraft carrier is added (#1731)
* Implemented aircraft carrier by @ltrcao in PR #1723

* New icon for the Carrier unit
2020-01-20 22:53:59 +02:00
Timo T
b95844d2f4 Refactor: Streamline popups (#1735)
First, `PopupTable` and all extending classes had the `Table` at the end removed. Second, the popup base classes `Popup(Table)` and `YesNoPopup(Table)` were moved from the worldscreen to the util package.

Third: The popups were inconsistent. In CameraStageBaseScreen, there was a check with 3 parts, one if any tutorial was showing, second if any child is a TradePopup, and third if the boolean field "hasPopupOpen" is true.

However, all of these checks were, in the end, `Popup(Table)`s on the screen. So, this check has simply been changed to check if any child is a `Popup(Table)`. All the other checks and their relating code could simply be removed.
2020-01-20 19:13:21 +02:00
Federico Luongo
0a5aefcdd9 Fix Legalism Policy (#1724)
Closes #1712
2020-01-19 18:43:52 +02:00
Federico Luongo
fd765fc442 Hotfix empty entry in construction queue (#1725) 2020-01-19 18:41:25 +02:00
lyrjie
762af74b61 Barbarians don't move/attack on the turn of their spawning (#1719)
* Barbarians don't move/attack on the turn of their spawning

* Revert "Barbarians don't move/attack on the turn of their spawning"

This reverts commit b088fb8c

* Better implementation

Co-authored-by: dumichno <57294813+dumichno@users.noreply.github.com>
2020-01-19 18:40:44 +02:00
lyrjie
7805f90dab Fix: ships being teleported into landlocked cities (#1718)
* Fix: ships being teleported into landlocked cities

* Proposal: extend the city teleport to all owned tiles

* Utilizing the existing method

Co-authored-by: dumichno <57294813+dumichno@users.noreply.github.com>
2020-01-18 22:14:29 +02:00
Yair Morgenstern
014220c480 Merge tag '3.5.3-patch1' 2020-01-18 21:58:09 +02:00
lyrjie
8efe21ea57 Fix: barbarians pillaging ancient ruins (#1720)
Co-authored-by: dumichno <57294813+dumichno@users.noreply.github.com>
2020-01-18 21:56:22 +02:00
Yair Morgenstern
66637637f4 findFurthestTile no longer crashes when the unit has no tiles it can move to 2020-01-18 21:20:28 +02:00
Yair Morgenstern
02def2ffa9 Resource+Improvement is go!
Added resource-specific plantations by The Bucketeer
2020-01-17 15:07:47 +02:00
lyrjie
d3e88906d6 Fix: starting units being able to spawn on Ancient Ruins/Barbarian encampments (#1691)
* Fix: starting units being able to spawn on Ancient Ruins/Barbarian encampments

* Added doc and commentary
2020-01-16 12:06:43 +02:00
Yair Morgenstern
c1c6f93f6d Ancient ruins are no longer save-scummable 2020-01-15 22:21:00 +02:00
Yair Morgenstern
b73e7100c0 Resolved #1700 - As per original civ, you no longer start with a scout. 2020-01-15 22:11:05 +02:00
lyrjie
ad1a57dd02 Map reveal after singleplayer defeat (#1681)
* Added map reveal when the player is defeated in singleplayer

* Added victory (actually defeat) screen when the player is defeated

* Moved the victory screen navigation to an appropriate place

* Moved the map reveal logic to WorldMapHolder

* Tutorials and Diplomacy button are hidden after the defeat
2020-01-15 19:56:01 +02:00
lyrjie
0a12062c70 Fix: "Pick construction" tutorial never completes (#1693) 2020-01-14 15:28:18 +02:00
lyrjie
81258297d5 Fix: ability to buy the same building multiple times (#1692) 2020-01-14 15:21:12 +02:00
lyrjie
2d0aec5a26 Fix: idle units not being properly selected after settling a city (#1685)
Closes #1682
2020-01-13 13:29:38 +02:00
Duan Tao
72df6869a3 Make sure all building be built before producting science. (#1678) 2020-01-13 12:06:19 +02:00
Yair Morgenstern
9a426318ba Proper destruction notification for city states
Added Fur resource image
2020-01-13 00:09:09 +02:00
Federico Luongo
5e003cfd64 Fix Map Editor Lag (#1670)
In painting mode, only the last drawn tiles are updated.
2020-01-12 23:29:26 +02:00
JackRainy
de7a369131 Fix of the Regex expression to heal after the battle (#1676) 2020-01-12 23:24:00 +02:00
Yair Morgenstern
08218b954e healUnit and tryPillageImprovement in BarbarianAutomation use their counterparts from UnitAutomation, because they're basically exactly the same 2020-01-12 23:21:34 +02:00
JackRainy
8a327fa7be Fix for the "Back button can't end Unciv (#1513)" (#1661)
* Callback to exit the game by 'Back' button

* Prompt dialog for the game exit

* Additional strings for translations are generated

* Do not show exit prompt dialog twice
2020-01-12 23:05:49 +02:00
Yair Morgenstern
ca59dc4e1f Removed redundant "else"s for less indentation and 'happy pathing' 2020-01-12 20:52:23 +02:00
Vladimir Tanakov
725edc2a31 Better barbarian automation (#1560) 2020-01-12 20:48:34 +02:00
JackRainy
109b60db2c Disable France culture boost after Steam Power research (#1663) 2020-01-11 22:59:45 +02:00
r3versi
51ecb0e99d Legalism grants Culture Buildings asap (#1658)
* Legalism grants Culture Buildings asap

* Buildings granted by Legalism cost no maintenance
2020-01-11 22:52:58 +02:00
r3versi
a1b03849ec Fix city screen (#1657)
* Last CityScreen fix

* Atlas & Translations
2020-01-11 22:46:17 +02:00
lyrjie
c37ea14df5 Defeat improvements (#1654)
* Fix: civilization not being destroyed when disbanding the initial settler

* Fix: destroyed unit providing visibility until the end of the turn
2020-01-11 22:33:27 +02:00
Vladimir Tanakov
fd5d38fb01 Fix issue when city can not bombard enemy (#1644) 2020-01-11 22:11:20 +02:00
r3versi
2daf27278d WIP Construction Queue (#1648)
* Construction Queue

* Added constructionQueue in addition to currentConstruction: if currentConstruction is done, next construction from Queue is started; if Queue is empty invoke ConstructionAutomation
* Queue utility methods: add, remove, higher prio, lower prio
* Icons to move constructions in queue
* Top left city stats moved to top right panel
* Added current construction and queue construction to top left
* Extended selected construction (containing description) moved to bottom right, it is now displayed alternatively to selected tile
* Max queue size, cannot change queue in puppet city or in other player turn
* Queue and current construction reset on puppeting city

* Cleanup again

* CityStatsTable is a separate class so we can play around with where it's located with minimal code changes

* Rejection reason wrap & removing nothing on enqueue a construction

* Crude UI proposal

* Tutorial updates for queues

Co-authored-by: Yair Morgenstern <yairm210@hotmail.com>
2020-01-10 11:41:43 +02:00
r3versi
12a98aa4bb City construction queue (#1479)
* Construction Queue

* Added constructionQueue in addition to currentConstruction: if currentConstruction is done, next construction from Queue is started; if Queue is empty invoke ConstructionAutomation
* Queue utility methods: add, remove, higher prio, lower prio
* Icons to move constructions in queue
* Top left city stats moved to top right panel
* Added current construction and queue construction to top left
* Extended selected construction (containing description) moved to bottom right, it is now displayed alternatively to selected tile

Rework

* Max queue size, cannot change queue in puppet city or in other player turn

* Queue and current construction reset on puppeting city

Co-authored-by: Yair Morgenstern <yairm210@hotmail.com>
2020-01-09 20:58:15 +02:00
Yair Morgenstern
977fcfb97e Code cleanup - when{} instead of if-else chains, toLabel() instead of Label(...) 2020-01-09 20:54:33 +02:00
lyrjie
ba324c9fad Added the "crudely-drawn map" to ancient ruins outcomes (#1645)
* Added the "crudely-drawn map" to ancient ruins outcomes

Closes #1640

* Extracted the constants for readability

Co-authored-by: Yair Morgenstern <yairm210@hotmail.com>
2020-01-09 20:40:59 +02:00
drwhut
b1b82c6a67 Fixed a bug where the growth bar's height exceeded the group. (#1646)
This happened on the turn that a city was taken.
2020-01-09 20:18:37 +02:00
lyrjie
fe837d78ee Fix: player being able to buy tiles outside the 3-tile radius (#1643) 2020-01-09 20:18:03 +02:00
philippeitis
bc83be1441 Fix Altas type (should be Atlas). Fix srawable -> drawable (#1639) 2020-01-09 20:17:33 +02:00
Vladimir Tanakov
9776029376 introduce UnitActionsType (#1633) 2020-01-09 20:17:13 +02:00
r3versi
036d4058f1 Cities referenced by UUID (#1638)
* Cities referenced by UUID

* UUID defaulted in CityInfo

Co-authored-by: Yair Morgenstern <yairm210@hotmail.com>
2020-01-09 19:41:55 +02:00
r3versi
065e944896 Songhai (#1636)
* Songhai, Burial Tomb, Gold for capturing city

* Burial Tomb unique: double gold gained when city is captured

* Rebuilt Atlas and Translations

* Italian translation + fix missing translations

* Barbarian Camp Reward

Is now modified by Speed and Difficulty
2020-01-09 19:23:00 +02:00
Yair Morgenstern
f554d8c2c4 Multiple mods work OK! 2020-01-07 19:50:36 +02:00
drwhut
a13570f109 Added a growth progress bar to CityButton. (#1626)
* Added temporary growth number to CityButton.

* Added a growth bar to CityButton.

* Made relevant changes based on comments in pull request #1626

* Added the unicode infinity symbol to reflect no growth.

* New growth functions now return null instead of -1.

* Adjusted the population group width to account for large numbers.

* Changed the colour of the growth number.
2020-01-07 18:55:38 +02:00
Yair Morgenstern
365dced442 Non-continuous rendering isn't quite ready yet 2020-01-06 09:47:18 +02:00
Yair Morgenstern
285c92150c Incan mod is successful! We can haz mods! =D 2020-01-05 22:55:48 +02:00
Yair Morgenstern
7462aae94c Big changes to mods and rulesets - almost production ready!
Rulesets are heavy to load so we now have a RulesetCache, which can construct "custom" rulesets with a list of mods!
We now pack mod images on Desktop run, and load the atlases for the loaded mods on load game!
2020-01-05 22:11:10 +02:00
Yair Morgenstern
6a9de727ad misc. so they don't get in the way of the main work 2020-01-05 21:45:09 +02:00
Yair Morgenstern
47e998269a Allocation and runtime optimization with sequences 2020-01-04 23:02:57 +02:00
Yair Morgenstern
8f231cd6e1 Can now only start game in NewGamScreen with 2 or more players 2020-01-04 22:09:49 +02:00
Yair Morgenstern
7eb4b0db2d 3.4.8 2020-01-04 21:26:33 +02:00
Yair Morgenstern
c6b96f4f5b Resolved #1608 - added û character 2020-01-04 21:17:15 +02:00
r3versi
e61c4f5f1c Discrete rendering (#1612)
* Named threads for debugging/profiling

* Proposal: Discrete rendering, remove black spinning circle
2020-01-04 21:13:41 +02:00
r3versi
23cfab6001 Stop Exploration sets unit.action to null (#1613)
* Stop Exploration sets unit.action to null

* UnitActions callback Fix #1614
2020-01-04 21:08:23 +02:00
lyrjie
2af847b3a6 Fix: "Sell the building" button being randomly disabled (#1611)
* Fix: "Sell the building" button being randomly disabled based on the sell price

* Fix: `sellBuildingButton` being enabled in puppet cities

Co-authored-by: dumichno <57294813+dumichno@users.noreply.github.com>
2020-01-04 21:01:06 +02:00
r3versi
40c6934ae4 Clear current map removes natural wonders (#1607) 2020-01-04 21:00:18 +02:00
Yair Morgenstern
19c21b64f7 All GetTilesInDistance and GetTilesAtDistance are now without new vector allocation, so much faster and with much less memory! 2020-01-04 20:47:09 +02:00
Yair Morgenstern
9907e4429c Removed game settings from crash report, not very helpful 2020-01-03 15:20:38 +02:00
r3versi
f7b5a506fd HexMath is a singleton (#1603) 2020-01-03 10:33:01 +02:00
r3versi
a1b0c1dcd4 TileMapHolder refactor & Map Editor update (#1584)
* TileMapHolder renamed to MapHolder
* EditorMapHolder and WorldMapHolder inherits from ZoomableScrollPane
* MapEditor Brush Size (from 1 to 5)
* MapEditor painting mode (dragging the pointer on screen paints continuously)
2020-01-02 20:02:38 +02:00
Yair Morgenstern
73816dd470 Resolved #1598 - we now save map options for new games started 2020-01-02 19:37:40 +02:00
Yair Morgenstern
52165e692f Specific automation for Missile units means they won't try to move to tiles that they can't move to 2020-01-02 19:36:19 +02:00
Vladimir Tanakov
03aee45fe3 Refactor sounds and unitactions data class (#1596) 2020-01-02 19:01:51 +02:00
Yair Morgenstern
4c51e70283 Managed to load first mini mod, needs some work before this can work for users
(what happens if we started a game with mod A and then we want to start a game with only mod B?)
2019-12-31 17:49:07 +02:00
Yair Morgenstern
61050feca1 3.4.6 2019-12-30 18:36:05 +02:00
lyrjie
cedb6ff5e3 Added the notification for the third-party civilizations (#1558)
* Added the notification for the third-party civilizations

If a civilizations knows about some two civilizations, it will be notified when:
* They declare the war
* They make a peace
* They sign the declaration of peace
* One denounce the other

Additionally, when civ enters a new era, all civs that know about it get a notification

* Fixed the translation `.properties`

* Cleanup

* Fix: 2 notifications for each peace treaty

Russia and America...
America and Russia...

* Typo

* Code style changes

* Resolved conflicts

* Simple getCommonKnownCivs() tests
2019-12-30 18:12:14 +02:00
Yair Morgenstern
2132c49d55 jsonParser no longer serialized in CivilizationInfo 2019-12-30 18:07:00 +02:00
Vladimir Tanakov
1cc8227025 Fix civilopedia parsing, fix dialog does not call update to enable next turn button (#1553) 2019-12-30 18:04:12 +02:00
Yair Morgenstern
d3311b3f24 Map editor works again 2019-12-30 18:00:11 +02:00
Yair Morgenstern
d750e369a0 Resolved #1569 - "Patreon" button actually opens Patreon now 2019-12-29 18:03:59 +02:00
Yair Morgenstern
006b2d7690 External merge resolve of #1566
Merge branch 'spain' of https://github.com/r3versi/Unciv into r3versi-spain
2019-12-29 17:56:05 +02:00