* Make DeveloperConsole callable from WorldScreenMenuPopup
* Better WorldScreenMenuPopup single/dual-column logic
* Allow developer console to stay open and persist history
* Fix console tab key closing onscreen keyboard
* Give the now persisted console history an upper size limit
* Ensure "up" always gives the new entry
* Fix merge leftovers
* Reviews
* Barbarian encampments are no longer a HashMap since #9374 so that old compat code is unreachable
* Rename SerializationTests to GameSerializationTests and add a barb camp to the game
* Add SerializationTests (roundtrip tests for classes with custom serialization)
* Convert setSerializer to implement Json.Serializable where possible
* Changed building construction priority to consider more possibilities
* Fixed addBuildingChoices taking into account non-buildable buildings
* Reduced first worker priority
* Fixed negative value buildings and changed the values of some buildings
* Aggressive personality wants to build experience buildings more
* Removed the unnecessary parameter in each of the apply.* methods
* Some UI architecture changes
* Some UI architecture changes - merge Kdoc update from another PR
* Remove experimental status of the key bindings UI
* Minor update to keyboard tutorials
* Minor readability linting: A few color names instead of hex codes
* Fix links from Options not working when called from MainMenuScreen
* Added behaviours
* Added the behaviours to the docs
* Fixed spelling
* Fixed references to PersonalityValue.Military
* Commented out Personality Behaviours docs and added a message
* Changed the names of some of the new personality behaviours
getCapital() already allows null values so all in all a pretty minor change
What this means is from a practical perspective is that
- getCapital() returns first city
- isCapital() returns false for all (for conditionals, UI indicators, etc)
This was a result of going through all the getCapital() references and adding 'false' to them until I saw the folly of my ways
* Reworked how city connection is calculated
* Fixed neighboringCities being saved
* Improved the A* road finding to work!
* Fixed railroad upgrading incorrectly
* Workers will now try to swap with lazy units blocking them
* Improved support for military worker units
* Worker checks if they can swap with the unit before trying to swap
* Added right click city selection to spy move button
* Fixed random indenting again
* Fixed city buttons moving back up
* Added esc binding to close move spy action
* Added spy selected panel
* Fixed not clicking on a city crash
* Fixed spy selection and deselection
* Made viable cities more visible
* Fixed accidental change
* Spy icons can now be right clicked to enter the map moving view
* Added an X button to close out of the moving spy screen easier.
* Removed extra white space
* Added coup success calculation
* Added a coup button
* Added a coup button functionality
* Improved coup chance calculation
* Added coup effects
* Fixed random value being too high
* Fixed percent chance roll
* Hid enemy spy factor from the chance text
* Added coup notifications
* Added translations
* Updated a notification
* Style changes
* Put some text onto multiple lines
* Fixed "failed staged" notification
* Added missing translation
* Finished fixing merge conflicts
* Added AI to city-state coups
* Coup notifications are now sent to the spectators as well
* Changed spy rank modifier to be additive
* AI doesn't settle locations with less than 50 value
* Settlers try and found cities at a distance of 7 more
* Reduced the value of being on the coast
* RankTile quits early if the tile is already owned
* Renamed "conducting counter-intelligence" to "counter-intelligence"
* Created translations for spy actions
* Clicking on the spy icon selects the spy to be moved
* Fixed spaces in template.properties
* Removed extra translations
* Added city-state Elections
* Added Elections notifications
* Removed temporary rigging elections in Spy.kt
* Modified votes from influence a little
* Fixed rigging election turns
* Fixed elections
* Randomised city-state election days
* Refactored geCapital
* Refactored election random to use randomWeighted
* Fixed getSkillModifier being private
* Updated translations and fixed a notification for election rigging
* Fix external wiki link for Translation
* Mini lint - use brighten where functionally equivalent
* Mini lint - condition indent made it unreadable - loop only once