Commit Graph

469 Commits

Author SHA1 Message Date
84561e7ad4 Add Moddable Policy Priorities (#6390)
* Fixed G&K policy eras

Patronage should be Medieval and Freedom should be Industrial in G&K

* Added 'priorities' object to policy branch entries

* Fixed Vanilla policy eras

Also set testing priorities in advance

* Partial code formatting

* Reworked how the AI chooses a policy to newly adopt

* Removed debugging codes

* Update Civilization-related-JSON-files.md

Added Branch priorities

* Assigned actual priorities to each branch

Also fixed a debugging value in Ruleset.kt (-1 -> 0)
2022-03-25 17:33:42 +03:00
0b50715fb3 Improve TranslationFileWriter (less hardcoding, fixes PolicyBranch) (#6421)
* Allow TranslationFileWriter to follow several superclass levels (fixes PolicyBranch names)

* Bring German and template up to par as baseline

* Framework to feed TranslationFileWriter from UniqueParameterType, also fixes Fountain of Youth

* TranslationFileWriter legacy guessing now _much_ simpler

* Fix "chance to be destroyed by nukes" case

* Fix tests (allTranslationsHaveCorrectPlaceholders goes cross-language)
2022-03-25 17:27:25 +03:00
9721b38f6b Update Installing-on-macOS.md 2022-03-23 09:16:44 +02:00
cf21ade76e Moddable Ice generation (any impassable feature on Water possible) (#6329)
Co-authored-by: Yair Morgenstern <yairm210@hotmail.com>
2022-03-21 21:08:25 +02:00
367a427436 Unified two uniques into one more descriptive unique (#6380)
* Unified two uniques into one more descriptive unique

* Fixed fallout generation & typo
2022-03-21 21:05:54 +02:00
984c4d9b2d Unified & generalized a few uniques (#6379)
* Generalized trade route percent bonuses

* Unified two uniques using populationFilter; deprecated a deprecated uniq

* Made some renamings to improve clarity & fixed tests

* Fixed tests again

* Fixed typo
2022-03-21 21:05:20 +02:00
2b1251258c Unciv server (#6384)
* Background implementation for Unciv server with ktor.

Server ip in settings, able to copy your own ip and copy ip from clipboard for easy sharing, created stub for the client-server data transfer. No actual data storage or server implementation.

* Unciv server round 2 - implementing crud for files and it works!
metadata seems to only be in use for mutex, which is currently unused
That's all for today

* When starting a new multiplayer game the files are correctly saved in the server, and the server can return the files, but the function in the game to retrieve the game info is non-blocking so it doesn't work. Still, progress!

* Changed the Gdx http to basic Java http, as used for Dropbox, and now everything works!!!!

* Documentation for running and using the server

* Better texts, translations, etc

* Trog is right this should be a PUT not POST
2022-03-21 21:05:02 +02:00
1df49749f2 Split 6 tiles visible unique into its parts, making it more moddable (#6389)
* Split sight unique into its parts, making it more moddable

* Standardized unique ordering
2022-03-21 21:03:33 +02:00
f66930ed68 3.19.17 2022-03-13 22:57:55 +02:00
e4b0afb7e3 Update ModConstants and start its documentation (#6309)
* Update ModConstants

* Update ModConstants - revert Ice, tweak formula

* Update ModConstants - comment on predefined MapSizes
2022-03-13 22:43:23 +02:00
e5b36f5b9f Unique units abilities that should be inherited by upgrades (#6304)
* Unique units abilities that should be inherited by upgrades

* Unique units abilities that should be inherited by upgrades - xlt

* Unique units abilities that should be inherited by upgrades - wiki
2022-03-10 19:45:32 +02:00
cb757da900 Wiki improvements 2022-03-09 18:55:46 +02:00
7f9c6e01f7 Maybe this will add table of contents correctly? 2022-03-09 18:41:26 +02:00
9b7d5049b3 Readable deployment documentation 2022-03-09 18:37:15 +02:00
09ee742833 Documentation for the rollout changes, and replacing the old translation method with the new one 2022-03-09 15:03:40 +02:00
eaf5e453ba 3.19.15 2022-03-08 14:32:01 +02:00
fb7cb707e0 WLTK decorations (#6253)
* WLTK decoration png's and atlas

* UncivTooltip anchor to stage so tips won't get clipped by some ScrollPane

* Empire Overview Cities add WLTK column

* Make WLTK line on CityScreen stats box link to Civilopedia

* Make Civilopedia return to previous screen for _both_ ESC/Back and the Close Button

* Revive Civilopedia links in WorldScreen.TileInfoTable

* Festive decoration for WLTK day on CityScreen
2022-03-05 20:10:03 +02:00
c9dfd4062d 3.19.13 2022-02-28 19:49:50 +02:00
651dcff581 Fix Polynesia's Wayfinding (#6238)
* Fix Polynesia's Wayfinding

* Fix mod option to use other unit filters with UnitsMayEnterOcean
2022-02-28 19:41:22 +02:00
db1304ee35 3.19.12 2022-02-25 13:48:47 +02:00
6babefd3ae Removed documentation of deprecated uniques, with the autoreplace it's no longer important information 2022-02-24 10:55:16 +02:00
4b921b6006 Mouseover descriptions for simple unique parameters 2022-02-24 10:52:23 +02:00
40918db1b0 Unique documentation is collapsable 2022-02-24 10:22:47 +02:00
6170322a9f Fixed tables in new wiki 2022-02-23 21:14:29 +02:00
e99ba8cee7 Reorganized wiki 2022-02-23 21:06:32 +02:00
4d710bcda7 mkdocs test 2022-02-23 19:28:06 +02:00
1fcc59adb3 More readable unique docs - this is the easiest way I've found to have the uniques themselves stand out 2022-02-23 16:26:07 +02:00
09089cb60d Added uniques and deprecations for "Requires" and "Unlocked by" uniques - #6165 2022-02-22 16:55:37 +02:00
1f9c6f39b5 Uniques list is now officially the autogenerated doc 2022-02-22 12:25:07 +02:00
162ed35255 3.19.11 2022-02-22 11:41:06 +02:00
13af71e427 Autoupdates to uniques will multiple solutions now replace to the correct one (#6208)
* Autoupdates to uniques will multiple solutions now replace to the correct one

Problem - some deprecated uniques can lead to multiple possibilities of replacements, depending on the parameter type
This lead to replacements in the jsons that were either unparseable entirely or were causing errors, both of which needed to be corrected by hand
We now separate such deprecations into their constituent potential replacement uniques, and try and take only the unique that doesn't cause any errors
Works like a charmander :)

* Conditional name change

* Resolved #6179 - when changing units production due to deprecation, notification no longer counts the same city multiple times if it appears multiple times in its queue
2022-02-22 11:33:07 +02:00
90386bd4e7 Made spaceship parts units instead of buildings (#6203)
* Spaceship parts are units now

* Fixed tests

* Removed commented out lines

* `Spaceship Part` unique can also go on buildings in ods
2022-02-22 11:30:20 +02:00
5bac71709b Wiki chapters for context-sensitive music (#6197)
* Wiki chapters for context-sensitive music

* Wiki chapters for context-sensitive music - matched to code
2022-02-21 10:18:46 +02:00
cd92f66c3a Resolved ANR when copying game data to clipboard 2022-02-20 19:53:19 +02:00
970e535e62 3.19.10 2022-02-19 19:57:23 +02:00
82236fe2c8 More uniquetyping 2022-02-18 13:42:23 +02:00
9d0db40bbf 3.19.9 2022-02-15 11:52:56 +02:00
86cbe895be In Civ VI there are certain units available only if a specific building is built, and this was raised as a request by modders as well. (#6160)
Instead of expanding the existing 'requires building' unique to units and adding limiters, it's both easier and more generalizable to add conditionals for cities with and without certain buildings to replace the uniques entirely
2022-02-15 11:40:47 +02:00
97d74a3aef Enabled type check checking for uniques whose deprecation leads to multiple uniques!
This also enables auto-deprecating the Embark+Ocean unique
2022-02-15 11:29:32 +02:00
9d1f463310 Add Amphibious penalty to Land attacking into Water and vice versa (#6127)
* Add Amphibious penalty to Land attacking into Water and vice versa

* Replace Landing with Amphibious in all translation files

* Fix trailing whitespace

* Revert translation files

* Change working of Amphibious
Set penalty to Landing and Boarding

* Type-ify Unique and add Depreciated
Add Promotion to Melee Naval
Add exception that Landing penalty is NOT against cities

* Fix Vanilla

* Rename to Landing Party
Icon doesn't work

* Properly regenerated game.atlas/game.png

Co-authored-by: itanasi <spellman23@gmail.com>
2022-02-14 19:21:53 +01:00
bce65a96f6 More unique typing 2022-02-14 19:05:54 +02:00
c498426715 3.19.8 2022-02-12 19:25:12 +02:00
f5e9952caf Add uniques and constants for unit supply (#6146)
* Code readability

* Uniques & constants for unit supply

* Fixed tests

* Added a cityFilter to the 'supply per pop' unique
2022-02-12 19:22:17 +02:00
e72dcc8b0d Unified "X is only available under Y conditions" into a single unique (#6133)
* Unified "X is only available under Y conditions" into a single unique

There were a few problems with existing uniques - they weren't really composable, the offered things they didn't keep, etc

For example, "Incompatible with [policy/tech/promotion]", UniqueTarget.Policy, UniqueTarget.Tech, UniqueTarget.Promotion. In fact, promotions only checked promotion incompatibility, promotions - promotion incompat, etc

Additionally, with a few more changes, this could cover several other uniques - "Hidden until [amount] social policy branches have been completed", "Requires at least [amount] population", perhaps others

I have to say I think conditionals are the best thing ever and they make amazing composability possible :)

* Autoupdate correctly recognizes parameters
Updated ruleset jsons

* Deprecation texts should be allowed to forward to other deprecated uniques so we only need to change the leaves when introducing new uniques, not go through the whole tree
2022-02-12 19:03:30 +02:00
4fb4722e3a Arbitrary conditionals can become timed conditionals! (#6134)
* Arbitrary conditionals can become timed conditionals!
triggerCivwideUniques is activated in 3 situations:
- Tech complete
- Policy adopted
- Building complete

So for each of the unique containers for these I added a catch saying 'if this unique is a temporary unique then don't save it yourself

This has been lying around in todos for a while and generalizes one of the nasty hardcoded messes that I hate about Civ V. Why would you introduce ONE timed effect in the whole game?! You can use them all the time like Humankind or never use them like Civ IV, but why have just one whyyy

One more thing in this PR, that needed to be solved by the by, is allowing parameters to have a '2' on the end so we can autoreplace multiple parameters of the same type.
Using a regex is slightly more inefficient, but since this is A. only used once per UniqueType.kt, and B. allows us to have as many 'amount's as we want which is important if we have a lot of conditionals, I feel this is justified.

* Fixed comments from PR
2022-02-12 19:03:11 +02:00
09ea1a869d 3.19.7 2022-02-09 12:31:08 +02:00
90d459a9f4 Added conditional for 'first civilization to research a tech' (#6120)
* Techs with these kinds of conditional bonuses exist in Civ IV and VI

* Phrasing can now include long-term benefits :)

* Capitalization

* Triggered uniques now subject to conditionals

* Removed extraneous parameter

* Conditional placement

* Updated uniques.md to better phrasing
2022-02-09 12:21:20 +02:00
03f7af4360 Typified Obsolete unique, made luxury resources obsoletable (#6129)
* Typified Obsolete unique, made luxury resources obsoletable
Things that were luxuries in the past become uninteresting as time goes on

* Unified obsolescence handling for buildings, improvements and resources

* Obsolete icons have their x's in the right place

* All images &c are done - we have the skeleton of the mod in place!

* Revert "All images &c are done - we have the skeleton of the mod in place!"

This reverts commit 61553c17
2022-02-09 12:18:14 +02:00
92f0be995d More -/+ unique deprecation fixes 2022-02-07 18:26:20 +02:00
aa11602c9a Delete unused var in the method getDescription/getShortDescription of the Class Building (#6117) 2022-02-07 10:11:53 +02:00