* Slight cleanup of TileStatFunctions
* Make City center minimum tile yields moddable
* Make City center minimum tile yields moddable - patch1
* Make City center minimum tile yields moddable - patch1
Normally this is auto-fixed but a `/` at the end of the URL does not work. Because in API you do requests like `GET /file/:filename` and if you also put a `/` at the end of the server URL, it becomes something like this `https://example.com//files/filename`. Since the auto-fix happens only when typing a new URL from `Options` > `Multiplayer`, the default value doesn't get auto-fixed and shows errors.
I tested on a new installation and as expected it shows the `Couldn't upload game` error.
This pr fixes this.
* Reapply Changes
* Logic clean up
* Adding getImprovementToPillage() and getRepairableImprovement()
* Cleaning up Unit Actions
* getImprovementToPillage() needs to check for Unpillagable
* Remove redundant logic since canBuildImprovement() returns true if currently repairing
* More redundant logic
* Prevent City Center from being Pillage status
addRepairAction will not show a Repair Action
Adding the improvement to be repaired/pillaged in button text
Utilizing getImprovementToPillage() more
* Some import cleanup
Add Irremovable to blockers
More consolidation of code
* More translation files
* When improvements/roads are built/removed, pillaged flag set to False
* Better and more consistent logic
* Fix dumb logic bug
* Added unitset selection to options menu
* Added None type to unitset selection
+ added logic to switch unitset when changing tileset as long as one with the same name exists and both are selected
* Updated default unitset to be HexaRealm
* Made UI skins selectable
This allows mods to provide alternative skin pngs without overriding the default skin purely by being downloaded
* Added UI Skin loading from NinePatches
This allows mod creators to define the stretch region and padding directly in the png
* Update baseScreen skin on skin reload
* Merged displayTab onChange functions
As all of them are equal anyway
* Removed legacy tileset code
which was only used for the "Default" tileset
* Updated "Default" tileset to support new rendering
* Updated docs
* Fixed fogOfWar coloring bug
* Removed cityImage variable completely
* Renamed variable out to baseHexagon
* Moved color lerp out of for loop
* Renamed "Default" tileset to "Minimal"
* Made "HexaRealm" the games fallback tileset
* Implemented requested changes
* Readded accidentally removed variable
* Reverted updateTileImage back to foreach loop
Since indices are not needed anymore
* Regenerated game.atlas and game.png
* Update AI for buying with Faith, allowing it to buy Faith buildings
* Minor bug fixes
* Revamped inquisitor AI, minor changes to missionary AI
* Reviews
* Reviews
* Reviews
* Removed magic number
* Load and Save Game Screens rework - Linting
* Load and Save Game Screens rework - Modularize and Keyboard
* Load and Save Game Screens rework - error handling
* Load and Save Game Screens rework - Move other save/load code
* Load and Save Game Screens rework - More Keyboard
* Load and Save Game Screens rework - Increase clipboard limit
* Load and Save Game Screens rework - Post-merge patch
* Load and Save Game Screens rework - Home, End, harden
* Load and Save Game Screens rework - Post-merge patch again
* Load and Save Game Screens rework - reviews
* Hide the names of unmet yet alive civs in the victory screen.
Mainly affects the DestroyAllPlayers victory but the CaptureAllCapitals (as capital name) and WorldReligion victory code is updated accordingly.
* Redundant condition since dead civs can't hold cities.
* Formatting + undid CaptureAllCapitals name obscuring since there could be some cases where the known capital name suddenly becomes unknown.
* Parameterized if statement
* Hide other capital names until the tile is explored.
* New constant for an unknown city name.
Co-authored-by: OptimizedForDensity <>
* Renamed tile.hasUnique, deprecated `Indestructable`, unique for citadels
Also refactored the consumption of (great) people out of UnitActions.
* Reworked when improvements can be build somewhere for more clarity
* Made resources improvable by multiple improvements; Offshore Platform
* Fix compatability
* WIP
* Fixed the tests, but better
* I suppose I might as well update this now that we're a version later
* Added a moddable (but not yet functional) file for victories
* Spaceship parts are units now
* Fixed tests
* Added milestone objects
* Made 'our status' table in VictoryScreen dependend on file
* Updated VictoryManager to use the new Milestone system
* Fixed bug where in vanilla too many spaceship parts could beb uild
* Whoops
* Updated global victory table to use the jsons
* Updated the new game screen to show the new victory types
Also started with the deprecation of VictorType
* Did some translation stuff, also finally fixed the tests
* Removed VictoryType and reworked AI to use Milestones instead
* Add some checks for the victory file; tested that custom victories work
Also moves some code to a better spot and fixes compilation errors
* Fixed some things I thought about while falling asleep
Most notably: built -> build; fixed spaceship part construction
priority; removed more code for the old system
* Fixed translation issues on the victory screen
* 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
* 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
* Remove unused Constants.
* Remove outdated comments.
* Typified "Will not be displayed in Civilopedia" Unique.
* Fix pre-existing inconsistency that would display religious UBs with broken links in the Civilopedia when religion was disabled.
* Use Sequences, and fewer function params, in Nations' Civilopedia texts.
* Accidentally hid a Unique that should be visible.
* Oops… Missed a negation.
* Unhide limitations on Religious Ruin rewards— But I'm not sure they'll be displayed anywhere even so.
* Make unknown nation placeholder translatable.
* Make MultiplayerScreen help button clearer and translatable.
* Use `Constants.spectator` more.
* Make random/unknown nation icon translatable.
* Worker AI for mods, step 2
Support for removing terrain features, both when we need to get rid of them for a resource, and when they plain reduce the yield of a tile
Note that the "Remove <improvement>" was implemented WAY before templating and uniques were a thing - the correct solution in these enlightened times would be to separate the improvement *name* from the *effect*, so we could have e.g. a "Deforestation" improvement which would contain botth ["Removes [Jungle]", "Removes [Forest]"] or whatnot.
For now I Constant'D the "Remove " so we can at least follow where it's used.
* Reverted some of the auto-formatting so the PR is cleaner
* Caught 'nullify yields' unique for terrain removal
* Ancient Ruins, Civilopedia and Translations
- TranslationFileWriter can process Ruins.json
- Hide Religion / Civilopedia uniques hardcoded String moved to Constants
- Civilopedia display of Ruins pulls actual json rewards in code
- Manually curated rewards description removed
* Ancient Ruins, Civilopedia and Translations
- Old rewards descriptions moved to names, color
- Code now recreates old output closely
- civilopediaText allowed additionally
- TranslationFileWriter tweaked accordingly
* Ancient Ruins, Civilopedia and Translations - fix stargazers
* Unit action constants and worker unique cleanup
* Replace unit action constants with enum properties - patch1
* Replace unit action constants with enum properties - patch2
* Implemented religious pressure: cities now can have more than one religion in them and religions spread between nearby cities over time.
* Implemented proposed changes
* Implemented requested changes & minor changes I forgot to include last time
* All pantheons not founded by you are now removed when you gain a new city (found this somewhere in the source code of the original, don't know if it's documented anywhere online)
* Ruins now have their own file
* Added religious rewards
* Added an option for only enabling rewards after a certain amount of turns
* You can now weigh rewards making some more likely than others
* Cleaned up some code
* Make new changes compatible with old mods
* Implemented proposed changes
* Implemented requested changes
* Implemented requested changes
* cellular automata for mountains and hills
* cellular automata for mountains and hills
* tweaks
* spawn location algorithm
* consolation prizes
* improve city state spawns
* AI settle in place if possible
* make heightmap generation mod agnostic
* Added Era.json and imported the data to the ruleset
* Units at start are now also determined by eras.json
* Research agreement costs now determined by json file
* Gold and Culture provided at the start are now awarded
* Can no longer build wonders that are more than two eras older than the starting era
* Default population and buildings for settlers can now be added
* Added checks for validity of eras.json file in mods
* Colors for the icons of technologies are no also saved in eras.json
* Removed constants for all era's as they have been generalized away by this PR
* Removed spurios println's
* Added compatibility for mods
* Updated the military unit you get from ruines to be the military unit you received at the start of the game
* Generalized building of improvements
* Readded support for the deprecated unique "Can build improvements on tiles"
* Small code quality changes
* Implemented requested chagnes
* Added the paratrooper unit
* Reverted accidental reordering of action table
* Fixed Github build errors
* Hopefully actually fixed the build errors
* Added a Dutch translation, finally fixing the error
* Paratroopers can no longer actually paradrop on a tile they shouldn't be able to paradrop onto
* Removed double update action