* Disabled CS buttons when at war; CS keep influence when at war with ally
This PR does two things:
- When you are at war with a city state, you can no longer give them
money, demand stuff, etc.
- When at war with the ally of a city state, your influence is frozen,
and after the end of the conflict set back to its original value.
To implement this last thing, I had to split the getter of `influence`
off of the underlying field, as otherwise when copying over the old
value in `.clone()`, we would copy over -60 when at war, instead of the
original value. Most of the changes in that PR are a result of that.
Also resets the `simulateUntilTurns` variable after completing
simulations
* Updated comment
* Refactor: Move classes into their own files
* Handle 404 FileNotFound in UncivServer
* Refactor: Rename method
* Make GameSaver.saveGame throw the exception by default if it is not handled
* Add possibility to work with FileHandles in GameSaver
* Make OnlineMultiplayerGameSaver load the multiplayerServer setting each time it does something
This theoretically makes it unnecessary for the OnlineMultiplayerGameSaver to be re-instantiated each time it is used
* Refactor: Remove duplicated code
* Refactor: Extract NextTurnButton from WorldScreen
* Refactor: Remove WorldScreen-specific code from OptionsPopup
* Use kotlin coroutines everywhere instead of plain threads
This probably also cuts down on our raw thread usage, improving performance, since we now use a cached thread pool (in addition to coroutines being able to reuse threads anyway)
* Improve deep load from notification
* Refactor: Give music download coroutine the proper name
* Make Civilopedia independent of worldScreen or gameInfo
* Make Civilopedia callable from Main Menu
* Era category for Civilopedia
* Era category for Civilopedia - atlas
* Replacements for existing UniqueTypes
* More typed uniques are added
* Migration to the typed uniques
* Minor optimization
* More general approach on UniqueType usage
* Better wording for the UniqueType
* Resolved#6767 - AI will not declare war if it definitely can't take a city
* Not sure what would happen if you try to calculate damage for civilian attacker and don't care to find out
* Added rate limit handling to dropbox
+ some refactor to make the whole file one object
* Added error messages on rate limit reached
+ refactored some popup code to reduce repetition
* Fixed merge error
* Made variables private
* Fixed file upload not working
because of missing override flag for dropbox
* Stop multiplayer refresher if rate limit reached
* Fixed typo
* Various code changes/fixes
- ErrorResponse var name has to be `error` because that's how DropBox's json property is named
- Change FileStorageRateLimitReached exception to store the seconds remaining as its own property instead of in the message
- Use toIntOrNull to avoid setting defaults in two places
* Fixed missed exception message
Co-authored-by: Azzurite <azzurite@gmail.com>
* Ranged units should use ranged strength when defending against ranged attacks.
* Renamed variable plus some minor style cleanup
Co-authored-by: OptimizedForDensity <>
* Create posh
* HexaRealm tile sprites upload (part 1)
* HexaRealm tile sprites upload (part2)
* HexaRealm tile sprites upload (part 3)
* Upload HexaRealm.json
Should have no problem in terms of most of the layering!
* Delete posh
* Delete bana.png
* vpn/proxy issues when creating new mp game
replaced redundant ping with opening a connection to dropbox to fix the proxy issue
* updated error message to include dropbox
* check multiplayerServer url if the user is playing on it
* use `https://content.dropboxapi.com` instead of `https://www.dropbox.com`
* fixed proxy issues on android
if connected to proxy but no internet access it will freeze for a couple seconds (until it finishes the for loop) but it works
* forgot to add the imports
* removed android sdk network check to fix proxy issues
* check for internet now separate from check for multiplayerServer
removed frunctions from PlatformSpecificHelpers__
* added improvements made by touhidurrr
* removed unused imports and replaced setter with property access syntax
Co-authored-by: Md. Touhidur Rahman <46617994+touhidurrr@users.noreply.github.com>
* 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
* Bump version and create initial changelog entry
* Update Filipino.properties (#6714)
* Update Filipino.properties
* Update Filipino.properties
* Update Filipino.properties
* Update Filipino.properties
* Update Filipino.properties
* Update Filipino.properties
* Update Romanian.properties (#6713)
* Fixed issue #6649 by checking for internet connection before starting the game if "online multiplayer" is selected
Many thanks to @SomeTroglodyte for most of the code and for explanations
* Revert "Fixed issue #6649 by checking for internet connection before starting the game if "online multiplayer" is selected"
This reverts commit bae7d7c07f.
* some translations
* merging with 4.0.13
* fixed a little error
* fixed github check error
* Update German translation (#6710)
* Update German translation
* Update German translation
* Update German translation
* Update Italian.properties (#6708)
* Update French.properties (#6697)
* Update French.properties
* Update French.properties to 4.0.13
Co-authored-by: yairm210 <yairm210@users.noreply.github.com>
Co-authored-by: Shann Aurelle Ripalda <shannaurelleg@gmail.com>
Co-authored-by: alexban011 <alexban011@gmail.com>
Co-authored-by: MartinP <77325495+Mape6@users.noreply.github.com>
Co-authored-by: Giuseppe D'Addio <41149920+Smashfanful@users.noreply.github.com>
Co-authored-by: Ouaz <Ouaz@users.noreply.github.com>
* Move UncivServer to own module (and jar)
* UncivServer isalive logged
* Separate UncivServer - some wiki hints
* Separate UncivServer - how to build UncivServer.jar
Co-authored-by: Yair Morgenstern <yairm210@hotmail.com>