Commit Graph

4238 Commits

Author SHA1 Message Date
yairm210
e7042d24ea City state permutations normalized to "City-State"
#5963
2022-01-14 12:16:16 +02:00
yairm210
4dcb45408d Unique deprecation 2022-01-14 11:00:38 +02:00
Yair Morgenstern
6e95a07572
More unit unique typing (#5952)
* There are so many of these my gosh

* Fixed, good thing we have tests :)

* Fixed
2022-01-14 10:43:13 +02:00
Yair Morgenstern
398e7903ef
Resolved #5930 - removed extraneous stat icons + resolved sorting problem they caused in Civilopedia tutorials. (#5959) 2022-01-14 10:11:45 +02:00
Xander Lenstra
7cb58eb82d
Typed all policy uniques (#5955)
* Typed all policy uniques

* Reworded golden age length
2022-01-14 10:11:30 +02:00
Yair Morgenstern
826b8f4826
Handling for multiplayer download errors (#5958) 2022-01-14 10:09:10 +02:00
Yair Morgenstern
4cce74253d
Abstracted file storage from the multiplayer data retrieval - this should allow implementations of both #5866 and #2679 for other implementations of IFileStorage (#5960) 2022-01-13 16:33:21 +00:00
Xander Lenstra
74d3854e45
Very likely fixed a bug that occasionally placed hills on top of mountains (#5946) 2022-01-11 23:30:25 +00:00
Xander Lenstra
8b846f8087
Typed a few unit uniques (#5951)
* Typed a few unit uniques

* Fixed tests

* Actually implemented a unique type :)
2022-01-11 23:24:58 +00:00
Yair Morgenstern
4308ad44ed
Removed silly crash for unteneble mods, and a try/catch that due to changes no longer caught hat it should have. (#5950) 2022-01-11 23:17:41 +00:00
Xander Lenstra
d809f3a132
Made all the other constants determining the strength of cities moddable (#5940) 2022-01-10 13:55:22 -08:00
Xander Lenstra
93a109b082
Fixed a bug where citadels did not damage nearby units (#5941)
* Fixed a bug where citadels did not damage nearby units

* Fixed tests
2022-01-10 13:32:48 -08:00
Xander Lenstra
3e6a190ab4
Unit tests for uniques (#5945)
* Added a unit test file for uniques

* Added a few tests
2022-01-10 22:01:14 +02:00
yairm210
1999364b9e Chore - more typified unit uniques 2022-01-10 21:53:13 +02:00
yairm210
c6a9f6a857 Chore - typified unit uniques 2022-01-10 21:13:59 +02:00
Xander Lenstra
86f8dff39b
Fixed a crash when using conditionals in transient unit uniques (#5939) 2022-01-10 11:53:00 +02:00
Yair Morgenstern
598f39e567
Deprecation of requiredBuildingInAllCities (#5922)
* Deprecation of requiredBuildingInAllCities

* Should be a warning not an error
2022-01-09 21:40:47 +02:00
Xander Lenstra
fc287bd9f3
Added a way to add moddable constants (#5921)
* Added a way to add moddable constants to unciv

* Fixed xp from barbarians problem

* Maybe I should test my code before pushing
2022-01-09 21:40:41 +02:00
Yair Morgenstern
44b262ec52
Remove support for stat-named specialists (#5923) 2022-01-09 21:39:32 +02:00
Yair Morgenstern
513b37583f
Converted "Can construct [improvementName]" to a uniqueType (#5924) 2022-01-09 21:39:27 +02:00
Yair Morgenstern
5f5aca6780
Simplified conditional checks - where I felt it would make it more readable (#5927)
* Simplified conditional checks - where I felt it would make it more readable.

Also added checks to ensure that era exists when checking era.

* Now passes tests

* Simplified unit tile checks
2022-01-09 21:39:20 +02:00
Xander Lenstra
9639365fd8
Fixed 'cannot built on [strategic resource]' not working (#5933) 2022-01-09 21:39:07 +02:00
will-ca
24dfad696c
New crash handler screen Part 2: Threads, runnables, more informative reports. (#5810)
* Add crashHandlingThread.

* Replace all uses of `thread` with `crashHandlingThread`.

* Add `postCrashHandlingRunnable`.

* Replace all uses of `Gdx.app.postRunnable` with `postCrashHandlingRunnable`.

* Remove CrashController and CrashReport; Strip down CrashReportSender to CrashReportSysInfo; Fold their functionality into CrashScreen.

* Typo in comments, rename `SafeCrashStage` to `CrashHandlingStage`.

* Tweak docs.

* Tweak docs, comments, text. Undo an accidentally recursive Replace All change.

* Remove replaced translations.

* More readable indentation handling in report template.
2022-01-09 11:33:45 +02:00
Yair Morgenstern
5931853c37
Check parameter types of conditionals as well as the main unique (#5928) 2022-01-07 16:49:33 +00:00
Xander Lenstra
7f38118dd9
Expanded the buildingFilter to include options for national wonders (#5900)
* Expanded the buildingFilter to include options national wonders

* Also instruct the translation file writer on the changes

* Typo

* Non-national -> World
2022-01-07 13:41:53 +02:00
Xander Lenstra
c1a6e05da6
Disables '[cityState] is afraid of your military power' for spectators & other non-major civs (#5918)
* Disables '[cityState] is afraid of your military power' for spectators

* Do the same for a few other similar notifications

* And more, for patronage complete policy
2022-01-06 14:19:29 -08:00
Yair Morgenstern
45ee382fba
Resolved #5801 - detailed sources of battle modifiers (#5916) 2022-01-06 13:46:45 -08:00
Xander Lenstra
d6a99a7848
Fixed a bug where great improvements could not be repaired after being pillaged (#5913)
* Fixed a bug where great improvements could not be repaired

* Formatting
2022-01-06 13:29:59 -08:00
will-ca
a5bba8dfb0
Refactor pixel unit image resolving. (Includes ImageAttempter) (#5897)
* Add ImageAttempter for finding available from candidate images.

* Remove zero-arg ImageAttempter constructor.

* Refactor pixel unit image resolving.
2022-01-04 21:02:32 +01:00
will-ca
96beed4b3e
Add tileScale in TileSetConfig. (#5874)
* Add `tileScale` in `TileSetConfig`.

* Right, KDoc.
2022-01-04 10:18:13 -08:00
Yair Morgenstern
0e64ff5592
Performance improvements - inspired by ANR errors for this callstack (#5896) 2022-01-03 16:51:21 +00:00
Xander Lenstra
89d4c046d4
Added more yield icons to the city stats table (#5894)
* Added more yield icons to the city stats table

* Replaced icons with Font.icon
2022-01-02 17:50:27 +00:00
Xander Lenstra
cdbdda366b
Revamped nukes again to closer match the original (#5892) 2022-01-02 04:04:43 -08:00
Xander Lenstra
f06242ebe1
Allowed follower beliefs to have more uniques, merged a unique and globalized some uniques (#5882) 2021-12-31 13:47:52 +02:00
Xander Lenstra
687ecb83f1
Merged some uniques and added a new one for not allowing to build units (#5731)
* Print stacktraces in more cases when crashing, useful for debugging

* Conditionalized no oceans before astronomy unique

* Cannot be built on tile before tech conditionalized

* Added "Cannot build unitFilter units" unique

* Fixed tests failing

* Merge branch master into some-uniques

* Fixed typo

* Apparently I made the same mistake twice

* Globalized unique
2021-12-31 12:13:09 +02:00
Xander Lenstra
ee65adb5e4
Fixed a bug where all global unit discounts would always apply, despite only being for certain units (#5879) 2021-12-31 11:07:59 +02:00
Xander Lenstra
dcbb0df4f9
Typefied spaceship part unique (#5878)
* Typefied spaceship part unique

* Removed unused imports

* Ah right, spaceship parts are still buildings
2021-12-30 18:33:01 +02:00
will-ca
1a8a86cb2c
Unify and improve moddability of more tile-based images. (#5873) 2021-12-29 18:21:34 +02:00
yairm210
6b2778fd0a Merge remote-tracking branch 'origin/master' 2021-12-29 00:14:36 +02:00
yairm210
7a00ebe2ec Can no longer promote units with 0 movement by sneaking into the promotion screen from elsewhere 2021-12-29 00:13:09 +02:00
will-ca
0056eba408
Move BorderImages to tileset. Set origin in setHexagonImageSize(). (#5868) 2021-12-29 00:05:56 +02:00
yairm210
af22ede437 Better map-to-ruleset incompatibility checks 2021-12-28 23:42:06 +02:00
yairm210
2ea97edb92 Can now load maps with extra lines at the end, as found in some mods in the wild 2021-12-28 23:33:52 +02:00
yairm210
9266ddc5d0 Fixed rare bug where captured civilian disappears before you can return it 2021-12-28 23:16:54 +02:00
yairm210
bd70500685 Fixed bug in inquisitor automation 2021-12-28 23:10:44 +02:00
yairm210
f90b22ad60 Resolved #5188 - stat names also include the stat icon :) 2021-12-28 23:03:17 +02:00
yairm210
d418e572f8 Resolved #4354 - can no longer 'cheat' the unit overlay by e.g. automating a unit and then try and swap it with another unit 2021-12-28 22:49:46 +02:00
yairm210
f3b4c2fa6f AI peace evaluation no longer hardocded - resolves first point of #5490 2021-12-28 22:43:23 +02:00
yairm210
66fa8db51c Resolved #5469 - 'tile to expand to' choice incorporates city-specific bonuses 2021-12-28 22:36:30 +02:00
yairm210
e3fb00d939 Resolved #5867 - fixed rare 'uninitialized continent sizes' bug 2021-12-28 21:28:31 +02:00
will-ca
f6d186445c
Try to fix #5729 as concurrency issue. (#5862)
* Try to fix #5729 as concurrency issue.

* Oh, remove comment about crash, I guess.
2021-12-28 09:15:34 +02:00
will-ca
005c465ee4
Use tileset fallbacks for missing images. (#5852)
* Use tileset fallbacks for missing images.

* Disable tileset fallback for FantasyHex.

* Tweak docs, remove debug signature.
2021-12-27 21:05:33 +02:00
will-ca
a1dfa53664
Save attacks per civ for arrows for cities, missiles, dead units. (#5855)
* Save attacks per civ for arrows for cities, missiles, dead units.

* Tweak docs.
2021-12-27 20:57:30 +02:00
Xander Lenstra
f14ec29468
Fixed a rare diplomacy voting bug in one-more-turn mode (#5845)
* Fixed a rare bug where in one-more-turn mode after conquering all other civs, players could be asked to vote, despite having no one to vote for

* Removed code duplication
2021-12-27 09:01:04 +02:00
Xander Lenstra
f03918f610
Fixed a few combat bugs and changed the religions founded label (#5846)
* Fixed a bug where bonusses applying 'in friendly tiles' would not apply

* Reworded something so it actually makes sense

* Fixed capitalization error leading to autocracy complete bonus no longer working

* Fixed save serialization errors and finally correctly implemented the time limit for autocracy bonus

* Made value const and static
2021-12-26 07:31:07 +02:00
will-ca
af941754cd
Show arrows on map for unit actions: Asset files. (#5825)
* Show arrows on map for unit actions.

* Don't wrap arrows unless world wrap is actually enabled.

* Fix transported air units always being treated like teleports.

* Simple reviews.

* Separate movement arrow visibility checks from WorldScreen.

* Assets for map arrows overlay.

Co-authored-by: Yair Morgenstern <yairm210@hotmail.com>
2021-12-25 22:29:19 +02:00
yairm210
b744acdc55 Exit CrashScreen normally, without exceptions 2021-12-25 22:28:43 +02:00
yairm210
d1b4fe6d1a Crash screen throws exception on a separate thread so the GCP logs record it 2021-12-25 22:24:37 +02:00
will-ca
e672bfb6d3
Show arrows on map for unit actions. (#5824)
* Show arrows on map for unit actions.

* Don't wrap arrows unless world wrap is actually enabled.

* Fix transported air units always being treated like teleports.

* Simple reviews.

* Separate movement arrow visibility checks from WorldScreen.

Co-authored-by: Yair Morgenstern <yairm210@hotmail.com>
2021-12-25 22:20:29 +02:00
Xander Lenstra
f3a2edf390
Converted the max turns drop down to a slider, idea courtesy of SomeTroglodyte (#5843)
* Converted the time victory drop down to a slider, idea courtesy of SomeTroglodyte

* Added a score breakdown to stat overview screen

* Removed score factors with value 0 & applied SomeTroglodyte's patch

* Removed 2000 max turns, should never be reached anyways
2021-12-25 17:57:02 +02:00
Xander Lenstra
ecadfb53fa
Typed some uniques and fixed a policy not working (#5848)
* Typed some uniques, fixing a policy not working

* Repurposed an unused function to remove .unit in some places

* Fixed compilation errors
2021-12-25 17:55:14 +02:00
Xander Lenstra
ea51c7155b
Fixed a bug where an empty improvement picker screen could open (#5815)
* Fixed a bug where an empty improvement picker screen could open

* Moved the check for constructing instead of building to the unit
2021-12-25 17:53:10 +02:00
Xander Lenstra
759366c912
Added score and time victory (#5842)
* Added a score calculation

* Added the score in multiple places of the UI

* Added time victory and a max turns

* Made time victory functional

* Added translation files
2021-12-24 14:31:36 +02:00
yairm210
730a3d8482 Merge remote-tracking branch 'origin/master' 2021-12-24 12:51:13 +02:00
yairm210
4c41536ed8 Resolved #4202 - AI cities now build workboats for use in other cities
Solves the 'landlocked but with water improvement' deadlock
2021-12-24 12:50:58 +02:00
will-ca
69450c5f4b
Added debug menu button that spawns and improves all strategic resources into your territory. (#5838)
* Added debug menu button that spawns and improves all strategic resources into your territory.

* Reviews.
2021-12-24 11:57:59 +02:00
yairm210
93268f53ee Another stab at #5729 after the toInt didn't help. 2021-12-23 21:22:40 +02:00
yairm210
eb4a76dcd0 Resolved #5823 2021-12-23 21:15:20 +02:00
yairm210
f4f673dc8a 3.18.11-patch1 2021-12-21 21:58:01 +02:00
will-ca
723aaf779c
Add new universal crash handlers and error reporting screen. (#5804)
* Add new crash handler and error reporting screen.

* Minor cleanup.

* Word choice.

* Rename `SafeCrashStage` to `CrashHandlingStage`.

* Reviews.

* Reference stack traces in comments for thread and postRunnable exceptions.

* Remove excessive line breaks, superfluous .apply{}.
2021-12-20 20:55:58 +02:00
Xander Lenstra
c9628c7fa7
Extended use for "in [tileFilter] tiles" conditionals (#5827)
* Changed 'in [tileFilter] tiles' to also apply outside of combat

* Changed unique docs writer to also sort applicables, so these are also not regenerated constantly
2021-12-20 13:53:03 +02:00
Xander Lenstra
b30576d115
Added an option to unlock all techs to the debug menu (#5820) 2021-12-18 20:05:34 +02:00
will-ca
1ab3041536
Refactor MiniMapHolder's little green map overlay toggle icons. (#5814)
* Refactor MiniMapHolder's little green map overlay toggle icons.

* Remove comment.

* Actually, don't hide those properties.
2021-12-18 17:56:50 +02:00
Yair Morgenstern
7aa7b8a4b2
Resolved #5790 - kudos to @xlenstra for finding the problem and providing reproduction! (#5812) 2021-12-17 08:47:07 +02:00
yairm210
8a93511a6a Merge remote-tracking branch 'origin/master' 2021-12-16 22:54:56 +02:00
yairm210
9d38ce75c4 @Interdice even after all that there was still a bug - we didn't check if the tiles we were sending the missionary/inquisitor to was actually reachable :) 2021-12-16 22:54:46 +02:00
Xander Lenstra
58cc3b517e
Fixed an infinite loop where foreign legion upgraded to the unit it replaced (#5808)
* Fixed an infinite loop where foreign legion upgraded to the unit it replaced

* Changed the wrong variable

* Maybe it is useful to also change its unlock tech

* Whoops, should only be for non-null values
2021-12-16 17:50:10 +02:00
itanasi
4fe7315478
Sort Maintenace Using Fixed Point (#5764)
* Add new UniqueType.NoMaintenance to support Guided Missile

* revert gradle
Add UnitMaintenanceDiscount
Rename UnitMaintenanceDiscount->UnitMaintenanceDiscountGlobal
Rework maintenance equation to account for overlapping reductions
Add maintenance variable to MapUnit

* Add square brackets in string (apparently didn't check in?)
More robust uniques check code so not assuming only one matching unique
Use toPercent()

* Proper toPercent() math

* Use fixed point Long to help in sorting to avoid float bug?

* Use fixed point Long to help in sorting to avoid float bug?

Co-authored-by: temurakami <spellman23@gmail.com>
2021-12-15 22:59:10 +02:00
yairm210
c655d69c78 Order unique docs by target type so we don't get reorderings all the time 2021-12-14 19:02:58 +02:00
GGGuenni
28d3c12142
Improvements to TurnChecker data usage (#5789)
* Added necessary utils

Added the FileNotFoundException which is also part of #5593

* Added preview download to MultiplayerScreen

* Added preview download to TurnChecker

* Fixed uncomplete commit

* Removed debug print in MultiplayerScreen
2021-12-13 21:14:30 +02:00
Interdice
3f6fe234b3
AI for Inquisitor and Missionary (#5590)
* First pull request to add missionaries and inquisitors

* First pull request to add missionaries and inquisitors

* First pull request to add missionaries and inquisitors

* First pull request to add missionaries and inquisitors

* Ai choice

* some fixes

* some fixes

* adding a system for the ai to buy with faith

* adding a system for the ai to buy with faith

* adding a system for the ai to buy with faith

* adding a system for the ai to buy with faith

* adding a system for the ai to buy with faith

* adding a system for the ai to buy with faith

* adding a system for the ai to buy with faith

* adding a system for the ai to buy with faith

* adding a system for the ai to buy with faith

* adding a system for the ai to buy with faith

* adding a system for the ai to buy with faith

* finally done

* finally done

* some fixes

* some fixes

* some fixes

* some fixes

* some fixes

* some fixes

* some fixes
2021-12-12 12:27:09 +02:00
yairm210
0c1509bfe8 Resolved problem in new uniques with multiple parameters of the same name
Relevant to #5783 and #5781
2021-12-11 20:23:31 +02:00
yairm210
b537f9e386 Resolved #5779 - uniques and conditionals for translating are taken directly from the uniquetypes 2021-12-10 15:34:17 +02:00
yairm210
23bad8d961 Resolved #4921 - can gift improvements to city states also on water tiles and when other improvements have been built on top of the resource 2021-12-09 21:58:57 +02:00
yairm210
ed3a4accdd Resolved #5775 - don't try and set resource amounts for "image" tiles, like in map editor or civilopedia 2021-12-09 20:43:19 +02:00
yairm210
f3378f4ced 3.18.8-patch1
Resolved #5774 - removed demanded resource from city when resource is not in ruleset
2021-12-09 20:37:37 +02:00
Xander Lenstra
22b3997c28
Band-aided a bug where players in multiplayer games were waiting for themselves. (#5768) 2021-12-07 21:38:45 +02:00
SimonCeder
24bd2b66b0
Regions part 3 - resource placement, resource settings (#5690)
* placeLuxuries

* map resource settings

* strategic and bonus resources

* terrain fixes

* slight optimizations

* vanilla jsons

* fix luxury terrain distribution

* also for vanilla

* fix ruleset bug

* terrainfilter
2021-12-07 07:25:16 +02:00
yairm210
4bc8c83555 Merge remote-tracking branch 'origin/master' 2021-12-06 19:20:28 +02:00
yairm210
0088ddd18b Solved bug that made civilian units uncapturable 2021-12-06 19:19:37 +02:00
Xander Lenstra
2fa3228148
Fixed a crash that occasionally happened when liberating a city to a dead civ (#5762)
* Fixed a crash that occasionally happened when liberating a city to a dead civ

* Added descriptive comment
2021-12-06 11:54:10 +02:00
Xander Lenstra
40cb651433
Fixed the unique for giving sight to units no longer working (#5760) 2021-12-06 07:10:52 +02:00
Xander Lenstra
a46f638ef1
Fixed a bug where protected city states would have a red line to their protector in the diplomacy overview screen (#5761) 2021-12-06 07:10:05 +02:00
yairm210
31639aac9f Resolved #5752 - don't show 'fortify until healed' if the unit won't actually heal in this tile 2021-12-05 21:38:27 +02:00
yairm210
144d2738a4 Trying to find the cause of #5729 2021-12-05 21:33:04 +02:00
Xander Lenstra
ba36956990
Replaced a != sign by a == sign (#5753) 2021-12-05 12:58:32 +02:00
Xander Lenstra
b6ce8b2aac
Fixed a bug where 'requires a [buildingName] in this city' would not work (#5754) 2021-12-05 12:55:46 +02:00
SimonCeder
936a32300b
counteroffer fixes (#5749) 2021-12-04 23:25:43 +02:00
yairm210
623420039b Resolved #5727 - on multiplayer, game info is updated as each intermediate player finishes their turn 2021-12-04 23:24:34 +02:00
yairm210
9950e963bc Resolved #5742 - removed extraneous empty lines from translation files 2021-12-04 23:13:43 +02:00