* 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)
* 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)
* 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
* 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
* 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
* Destroy Arsenal when city is captured
* Update vanilla Songhai
* Add Amphibious promotion to all Songhai units
In Gods and Kings, all Songhai Land units have the Amphibious promotion. This brings our Gods and Kings up to speed with the original.
* Destroy Arsenal when city is captured
* Fix Petra culture wiht city filter
Change Petra's culture bonus to city-specific bonus instead of empire-wide bonus
* Some Ruleset linting
* Mod-check display remove unnecessary FormattedLine
* Mod-check can run on selectable base ruleset instead of Vanilla only
* Mod-check show final severity on Expander
* Mod-check base selectbox translatable
* Translation: Update Spanish.Properties (#6243)
* Translation: Update Spanish.Properties
Mosaicos? Pero si yá está el estandar de "Casilla"?...
* Update Spanish.properties
* Update Spanish.properties
* Create Spanish.properties
* Update Spanish.properties
* Update German translation (#6242)
* Update Indonesian.properties (#6241)
* Update French.properties (#6236)
* Update Simplified_Chinese.properties (#6233)
* Update Simplified_Chinese.properties
I have translated all I can, but there're still some of them out of my ability. Note: How to translate ID?
* Update Simplified_Chinese.properties
* Update Italian.properties (#6228)
Co-authored-by: ArchDuque-Pancake <78449553+ArchDuque-Pancake@users.noreply.github.com>
Co-authored-by: MartinP <77325495+Mape6@users.noreply.github.com>
Co-authored-by: kensvin <63847755+Kensvin28@users.noreply.github.com>
Co-authored-by: Ouaz <Ouaz@users.noreply.github.com>
Co-authored-by: heipizhu4 <100454479+heipizhu4@users.noreply.github.com>
Co-authored-by: Giuseppe D'Addio <41149920+Smashfanful@users.noreply.github.com>
* Change Embarked Defending Strength per era. Update Tutorial a little
* Use JSON implementation of EmbarkDefense
Co-authored-by: itanasi <spellman23@gmail.com>
* 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
* Fox naval unit Landind penalty is for attacking on to land
* Only Land unit should have Boarding penalty
* Unbreak logic
* Adding more information to the Embarking Tutorial
* More info
Co-authored-by: itanasi <spellman23@gmail.com>
* Triggered uniques currently come from researching techs, adopting policies, and building buildings.
This adds a third way of triggering uniques, by attaching them to units with a "by consuming this unit" conditional, which will be added as a possible unit action.
So for example, "[amount] Free Technologies <by consuming this unit>", "Reveals the entire map <by consuming this unit>" etc.
* Added a new uniquetype for triggerable uniques, to make them separate from regular global uniques, so that triggerable uniques can become unit uniques when necessary
* And added translations so the tests will pass
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
* 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>
- "Resources" in city-state diplomacy screen
- "When Friends"/"When Allies" in same
- "Enhance religion"
- "Choose a Religion" in religion screen
- Religion name in religion screen
- Translated drilldown items in city screen
- "null for wheat" in improvement Civilopedia entry
- "Type" and others in city-state civilopedia entry
- Requires more population
- Religious
- "Requires" in Policy civilopedia text
- "for" in improvement civilopedia text
- Untranslated conditionals in battle table (listed as "when fighting in [tileFilter] tiles")
* 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
* 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
* Big update for French.properties (#6112)
* Big update for French.properties
- Try as much as possible to match Civ 5 french translation
- Modify some translations to better fit the UI
- Modify some translations to improve some original Civ 5 french entries which were poorly translated
- Make translations consistent through all the file
- Fix all broken translations due to bad word/key ordering
- Some quotes are now real quotes from french books (when available) rather than translated from english quotes
- Fix many typos
* Fix translation error
* Translatión: Actualización del Español (#6109)
Also deleted the extra resource icons I originally put 'xD
* Update Korean.properties (#6108)
* Update Korean.properties
* Update Korean.properties
* Update Korean.properties
* Update Korean.properties
* Update Korean.properties
* Update Korean.properties
* Update Korean.properties
* Update Korean.properties
* Update Japanese.properties (#6107)
* Update Indonesian.properties (#6103)
* Update Indonesian.properties
* Update Indonesian.properties
Co-authored-by: Ouaz <Ouaz@users.noreply.github.com>
Co-authored-by: ArchDuque-Pancake <78449553+ArchDuque-Pancake@users.noreply.github.com>
Co-authored-by: Samsaek the Calico <saud2410@naver.com>
Co-authored-by: yuracla <89312848+yuracla@users.noreply.github.com>
Co-authored-by: kensvin <63847755+Kensvin28@users.noreply.github.com>
* Find all replaceable uniques, generate replacement text, check for compatibility, and replace!
All of the work up until now has lead up to this point - since we already know what's out and what to replace it with, we can do 90%+ of the work ourselves and spare the sanity of our modders
For an example run:
- Download your favorite mod
- Check its deprecated uniques in the options menu
- Run the autoupdater from the same menu
- See how they disappear
- Bask in the glory
* A few unreplaced uniques raised problems in some of the replacement texts
* Old unusable deprecated uniques are suddenly important again, because they can help autoupdate mods!
I'm wondering if to remove outdated mods entirely from the uniques.md, since they're going to keep accumulating
* Padding for the 'autoupdate' button
* Only display autoupdate button if there are unique to update
Also, fixed some of the revived deprecated unique's replacement text thanks to fancy new tests :)
Tech uniques autoupdate!
* Toast now pops correctly, added translation entries
* Added unique to convert terrain to other terrain if adjacent to something
Terrain converting to other terrain when adjacent to rivers was using hardcoded stuff, so I un-hardcoded it
I thought I could use this to replace the 'coast' hardcoding, and if it wasn't for the maxCoastExtension then I could.
Modders CAN therefore add their own coast (Lava tiles and Ash tiles I dunno) but it will only be for directly close terrains.
This enables Deciv Redux to spawn huge maps.
* Also for Vanilla, which apparently had a different number of tabs than G&K for no apparent reason.
* Apparently terrain name wasn't a uniquetype yet
(cherry picked from commit 593fc257b5)
* Update Spanish.properties (#6082)
* Update Spanish.properties
the only thing i didn't translate were the names of the cities if you have any problem contact me on discord like: lostxxxxx
* Update Spanish.properties
problem solved
* Update Japanese translation (#6075)
* Update Japanese.properties
* Update Japanese.properties
* Update Italian.properties (#6074)
Co-authored-by: Hello200000 <98656089+Hello200000@users.noreply.github.com>
Co-authored-by: yuracla <89312848+yuracla@users.noreply.github.com>
Co-authored-by: Giuseppe D'Addio <41149920+Smashfanful@users.noreply.github.com>
* Added a json file for unhappiness effects
* Change existing code to handle these effects
* Made a weird and unexpendable way to add unhappiness effects to the civilopedia
* Add the default unhappinesseffects to mods without the json
* Added revolts when at very low happiness
* Renamed a few often-used functions
* Added a file for uniques that are always active
* Fixed tests
* Nullifies [Food] -> Nullifies Growth
* Update Italian.properties (#6029)
* more word change (#6010)
* more word change
* Added that space
Co-authored-by: Xander Lenstra <71121390+xlenstra@users.noreply.github.com>
Co-authored-by: Giuseppe D'Addio <41149920+Smashfanful@users.noreply.github.com>
Co-authored-by: fab144 <58261459+fab144@users.noreply.github.com>
Co-authored-by: Xander Lenstra <71121390+xlenstra@users.noreply.github.com>
* Typed some uniques, etc.
* Missed a few square braces
* Missed a parameter
* Missed another parameter
* Made a conditional, spelling, added check to `isStatRelated`
Co-authored-by: Yair Morgenstern <yairm210@hotmail.com>
* Typified some building uniques
I noticed that the code allows "[stats] from every [buildingFilter]" but the UniqueType was limited to "[stats] from every [buildingName]", so now that that's available we don't actually need the "[stats] from every Wonder" unique :)
* buildings-only unique moved to buildings section
* Make unknown nation placeholder translatable.
* Make MultiplayerScreen help button clearer and translatable.
* Use `Constants.spectator` more.
* Make random/unknown nation icon translatable.
* Update English.properties. (Remove no-op translations.) (#5977)
* Update Spanish.properties (#5970)
* Update Italian.properties (#5966)
* I made some changes to the simplified Chinese translation file. (#5987)
* Minor polishing up for accuracy and some translation
* Additional translation
* Update Simplified_Chinese.properties
Co-authored-by: will-ca <willchencontact@gmail.com>
Co-authored-by: ArchDuque-Pancake <78449553+ArchDuque-Pancake@users.noreply.github.com>
Co-authored-by: Giuseppe D'Addio <41149920+Smashfanful@users.noreply.github.com>
Co-authored-by: unciv-translation <97832928+unciv-translation@users.noreply.github.com>
The NewGameScreen was written by a past version of myself that had no idea how to handle threading, and thus was extremely strange. Checking an object _on render_ and if it's set then activate? Totally clueless.
* 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.
* Update Portuguese.properties
# Language settings
# Equivalent of a space in your language
# If your language doesn't use spaces, just add "" as a translation, otherwise " "
# Requires translation!
" " =
# If the first word in a sentence starts with a capital in your language,
# put the english word 'true' behind the '=', otherwise 'false'.
# Don't translate these words to your language, only put 'true' or 'false'.
# Requires translation!
StartWithCapitalLetter =
# Starting from here normal translations start, as written on
# https://github.com/yairm210/Unciv/wiki/Translating
# Tutorial tasks
* Update Simplified_Chinese.properties (#5890)
* 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
* Allowed follower beliefs to have more uniques, merged a unique and globalized some uniques (#5882)
* Regenerate atlas. #5884. (#5885)
* Update Simplified_Chinese.properties
* Fixed translation tests failing
Co-authored-by: Xander Lenstra <71121390+xlenstra@users.noreply.github.com>
Co-authored-by: will-ca <willchencontact@gmail.com>
* Update Simplified_Chinese.properties (#5889)
* 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
* Allowed follower beliefs to have more uniques, merged a unique and globalized some uniques (#5882)
* Regenerate atlas. #5884. (#5885)
* Update Simplified_Chinese.properties
Co-authored-by: Xander Lenstra <71121390+xlenstra@users.noreply.github.com>
Co-authored-by: will-ca <willchencontact@gmail.com>
* Update Brazillian_portuguese.properties (#5887)
* 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
* Allowed follower beliefs to have more uniques, merged a unique and globalized some uniques (#5882)
* Regenerate atlas. #5884. (#5885)
* Update Brazillian_portuguese.properties
I translated some sentences.
Co-authored-by: Xander Lenstra <71121390+xlenstra@users.noreply.github.com>
Co-authored-by: will-ca <willchencontact@gmail.com>
* Update Czech.properties (#5875)
- translated lot of new strings
* Some French translations (#5871)
* Some French translations
* Update French.properties
* Update Italian.properties (#5869)
* Update Dutch.properties (#5858)
* Update Dutch.properties
* Voorgestelde verbeteringen toegevoegd
Co-authored-by: Xander Lenstra <71121390+xlenstra@users.noreply.github.com>
* Actually fixed the atlas generation
* Update Turkish.properties (#5903)
* Delete Ship Of The Line.png
* GH Actions: Check user privileges before running bots. (#5895)
* Revamped nukes again to closer match the original (#5892)
* Update Turkish.properties
I translated again.This time i translated somra error scripts
Co-authored-by: hundun <wwj.hddjj@gmail.com>
Co-authored-by: Xander Lenstra <71121390+xlenstra@users.noreply.github.com>
Co-authored-by: will-ca <willchencontact@gmail.com>
Co-authored-by: sidneybr <95696905+sidneybr@users.noreply.github.com>
Co-authored-by: ZGMZY <69511837+ZGMZY@users.noreply.github.com>
Co-authored-by: will-ca <willchencontact@gmail.com>
Co-authored-by: Ustklm <58632848+Ustklm@users.noreply.github.com>
Co-authored-by: stoupa007 <60326342+stoupa007@users.noreply.github.com>
Co-authored-by: Newexae <96820363+Newexae@users.noreply.github.com>
Co-authored-by: Giuseppe D'Addio <41149920+Smashfanful@users.noreply.github.com>
Co-authored-by: Peter Bos <55184696+Peter1306@users.noreply.github.com>
Co-authored-by: HariboSever <96971269+HariboSever@users.noreply.github.com>
Co-authored-by: hundun <wwj.hddjj@gmail.com>
* 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
* Update German.properties (#5863)
* Update Italian.properties (#5851)
* Update Romanian.properties (#5806)
* Update Romanian.properties
I made a contribution to Romanian translation. Up to rougly line 800 should be translated until now. I'd be happy you introduced these translation to the game!
* Update Romanian.properties
Mostly typos, that hopefully have been fixed.
Co-authored-by: Xander Lenstra <71121390+xlenstra@users.noreply.github.com>
Co-authored-by: jacer2010 <96766494+jacer2010@users.noreply.github.com>
Co-authored-by: Giuseppe D'Addio <41149920+Smashfanful@users.noreply.github.com>
Co-authored-by: Cosmin Burada <77898829+cosylynx@users.noreply.github.com>
Co-authored-by: Xander Lenstra <71121390+xlenstra@users.noreply.github.com>
* 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
* 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>
* 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