* 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
* Minor linting
* More linting
* Consistent naming city/location, cache city on Spy (tile visibility perf)
* Empower SpyAction enum (minor perf)
* NotificationAction for Espionage, shorthand on the Spy instance
* Fix National Intelligence Agency giving one extra Spy level
* Fix "Move Spies" NextTurnButton prompt appearing every turn when spies are in Surveillance
* Fix failed tech theft rewarding tech anyway (and open spy kill chance when theft ordered but nothing to steal)
* Finally refactor SmallButtonStyle as standalone component
* Fix unable to assign spies for counter-intelligence
* Shorten establish-network phase for domestic spy placement
* Refactor and prettify MoveToCityButton, reuse as pointer who is to move (and some tiny changes)
* Decorate Spy icons by rank and show those in the hideout too
* Make city name labels in Espionage screen clickable
* Umm... duplicate targets behave same as single targets
* Spy mechanics - no establish network before counter-intelligence, commenting
* Oops, those lines do not belong in this branch anyway
* Added spy rank to the spy table
* Dead spies aren't allowed to move
* Fixed AI spy automation
* Fixed AI rank not being cloned
* Removed rank fix (new fix is in MissingEspionageUniques)