* Fix Barbarian Camp Spawned notification not revealing the camp on the map in multiplayer
* Fix lastSeenImprovement not being cloned
* Use HashMapVector2 in BarbarianManager
* Fix value not having its class written out for proper deserializing
* Refactor: various code improvements
* More verbose error handling
* Better handling of the missing mods exceptions
* Place GitHub routines where it is used the most
* Move a shared routine to the shared class
* Download missing mods
* Minor refactoring
* Minor fix: Handling corner cases
* Adds a debug option to simulate up to some amount of turns
Note that the option popup only appears _after_ closing the option menu,
which is very counterintuitive, but a direct result of how opening
popups is implemented.
I'm fine if this PR is rejected as a result of that, but it is quite a
useful option to have nonetheless.
* Reworked it so its just an internal text field + button
* Fixed the weird crashes and made UI interactive during simulation
* Create turn notifier for when the game is running for Windows
If playing on Desktop, you often put the game into background, but still want to know if it's your turn. A standard Windows function for that is `FlashWindow` from winuser.h, which is implemented here
* Fix: Use the window from the listener instead of the static one from libGDL
* Only notify if it's the turn of the player that is playing
* Always notify spectators of the next players' turn
* Refactor: Move notifier into GeneralPlatformSpecificHelpers
* Only load Windows DLL when we're actually on Windows
* Healing parity
Adjusted healing values for parity with CV
* New Demographics system for victory screen rankings
Added a new game setup checkbox option to use a ranking system on the victory screen which is more in line with the Civ V Demographics window. Created the UI element and game parameter but the demographics screen still needs to be implemented.
Also removed unnecessary comments from adjustments to healing values in a previous update.
* Demographics table init
Beginning to build structure of Demographics rankings table.
* Update VictoryScreen.kt
Attempt at getting more of the Demographics table implemented
* Update VictoryScreen.kt
Continued building the structure of the Demographics table
* Demographics first implementation
Finished first pass of Demographics screen.
* Minor text formatting
Improved some text formatting in code and comments.
* Update MapUnit.kt
Minor comment cleanup.
* SomeTroglodyte's Feedback, pt. 1
Implemented feedback given by SomeTroglodyte in PR #6645.
* Organized into functions
Split up Rankings table creation and Demographics table creation into new functions
* Update template.properties
Fixed missing space.
* Implementing more PR #6645 feedback
Added needed translation templates, used enum class instead of array for headers, moved checkbox to Options -> Display instead of new game
* Implemented rest of PR #6645 feedback
Simplified logic for finding player's rank, value, best/worst civ value, and filtered out defeated civs from the display and calculations
* Dead Civs get 0 in all categories
Added simple check if a civ is dead when computing score. If they are dead then they get 0 and go to the bottom of the scoreboard.
* Update VictoryScreen.kt
Further cleaned up code for better reuse and simpler logic with fewer loops.
* Update CivilizationInfo.kt
Simplified implementation of return 0 for stats when civ is defeated.
* Update CivilizationInfo.kt
Removed commented-out line of code.
* Fixed duplicate rank bug
Adjusted method of determining best and worst civs so that duplicates don't occur.
* Update VictoryScreen.kt
One-lined the handling of logic in buildDemographicsTable()
* Update VictoryScreen.kt
Moved static header row to new function.
* Simplified tileFilter predicate
* Use only own harbors
* Allow city connections via open borders only
* Basic unit tests
* Advanced unit tests
* The maps and the legend for the tests
* CR changes: barbarians will not let the trades happen
* CR changes: get rid of question signs, "let" "Elvis" pass away
* Formatting
* Fix minimap actor leak
The minimap update method tried to update borders only on tiles that changed owners, which is fine if that was what it did. But only the "remove old borders" part was in the "changed owners" branch, not "add new borders", so what actually happened was that each update all borders where the tile owner didn't change got added again, which is basically all borders.
This caused a huge slowdown the more actions you do on the world map in a single turn (i.e. move a lot of units). When a new turn starts, the minimap gets completely thrown away and rebuilt, so then it's fine again.
This changes the minimap to properly add/remove borders when something actually changes.
* Refactor: Split classes up into separate files
Also, split up the Minimap.init method into smaller methods to make it a bit more readable
* Finish up comment
* Fixed `provides [amount] [resource]` not accepting conditionals
This was due to it still using `getLocalMatchingUniques` without
providing a `StateForConditionals`, and then manually filtering them if
they didn't provide conditionals. This of course doesn't work anymore,
as `getLocalMatchingUniques` then assumes that all conditionals aren't
satisfied.
Also refactored a loop over `uniqueObjects` with `isOfType()` to just
use `getMatchingUniques()`.
* Only initialize StateForConditionals once
* Actually this is more moddable
* Implemented most easy things from comments on moddable victory PR
Also added religious victory condition
* Fixed tests
* Fixed compile problems & missing string
* Fixed typo
* Use both icon and roundIcon properties
* Studio-generated Android Icon
* Studio-generated Android Icon to fastlane
Co-authored-by: JackRainy <JackRainy@users.noreply.github.com>
* Update Hosting-a-Multiplayer-server.md
Added a section for explaining that Android does not like unencrypted traffic to a self-hosted server and that you need to setup a reverse proxy to do that.
* Added hint for MultiplayerFiles folder
* 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
* check for internet before starting a mp game to avoid freeze
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. A slight modification has been done to the code to catch an error caused by InetAddress
* Revert "Merge remote-tracking branch 'origin/master-noInternet' into master-noInternet"
This reverts commit bd6474b50d, reversing
changes made to f52ad60b51.