* Initial refactor
* Moved checking if a tile has an enemy to a new method
* Rewrote getDistanceToEnemyUnit
* changed the position of the logic of checking if the enemy is still there
* Changed some of the other methods to use the ThreatManager getClosestEnemy()
* Added a new getTilesWithEnemyUnitsInDistance method
* Added a new getEnemyMilitaryUnitsInDistance method
* Converted a few lines to use ThreatManager
* Changed Air units to use threat manager
* Fixed tileWithEnemy error
* distanceToClosestEnemyTiles now clears at the start of every turn
* Added blank lines to end of ThreatManager.kt
* Renamed tilesInRange to tilesWithEnemyUnitsInRange
* Changed ArrayList return to a MutableList
* Removed ClosestEnemyTileData being a data class
* Improved commenting
* Improved commenting2
* getEnemyMilitaryUnitsInDistance now uses a flatMap and moved getDangerousTiles to threat manager
* Created a new helper method getEnemyUnitsOnTiles
* Renamed clearThreatData to clear
* Added shortcut if maxDist is less than or equal to distanceSearched
* Fixed distanceWithNoEnemies in getTilesWithEnemyUnitsInDistance
* Fixed notFoundDistance being higher than maxDistance when takeLargerValues is false
* Added some ThreatManager tests
* Added some more ThreatManager tests
* Removed visible map after use
* getTilesWithEnemyUnitsInDistance doesn't search distances <= tileData.distanceSearched (previously was <)
* Added 3 more tests
---------
Co-authored-by: Yair Morgenstern <yairm210@hotmail.com>
* Rescue Bosnian.properties
* Rename and revert
* Let's minimize diff size for completionPercentages.properties from now on
* One generate translations run on Bosnian
* Add the Flag
* Add the LocaleCode
* Fix illegally tranzlahtedd placeholders
* Simplify MapOverlayToggleButton signature and let the instances use individually moddable images
* Gimp sources of new images (all from existing attributions)
* New images and atlas
* ignore trigger condtional uniques
* Have UniqueTriggerActivation only add the buildings of its unique
* (minor optimization) move where we find the free building
* Once again I forget about imports
* Centralize shift and control key detection (Unit multiselect now with right-shift too)
* Lint of an ugly curly brace placement - otherwise the original was fine
* Answer open question in comment
* Follow a Gdx 1.12 deprecation
* Another clarifying comment - on ScrollPane's built-in potential surprise that the constructor calls its own overridable public methods
* Initial console, with 1 command :D
* add/remove city tiles
* add/remove units!
* Added command history, accessible with up and down keys
* 'add promotion' cli command
* 'remove promotion' cli command
* Enumified
* Converted enums into classes - enums are weirdly restricted in all kinds of uncomfortable ways
* Added autocomplete!
* Add back "general" unit types
These entries have been removed from translation files, making them untranslated in-game (in Civilopedia articles)
* Revert changes in template.properties
* Fix missing unit type translations
Fix by @SomeTroglodyte
* Add gain stat modified by speed and improvement speed by filter uniques
* Fix rulesets
* Remove nonfunctional leftover resource text
* Reword improvement unqiue as suggested
* Prepare Leader Voices: Framework
* Leader Voices: Hooks and corresponding text field comments
* Leader Voices: wiki
* Leader Voices: oops, comments
* Decouple voice play calls to make global modification easier
* Move voices to own folder and give them a separate volume setting
* Oops, template needed too
* Oops, wiki needed too
* UncivGame is a pure class file again, GUI split off
* Purify GameSettings step 1 - non-multiplayer nested classes
* Purify GameSettings step 2 - multiplayer nested classes
* Purify GameParameters - BaseRuleset to own file
* Rework WindowState to centralize minimum/maximum treatment
* Rename MultiplayerTurnNotifierDesktop to UncivWindowListener
* Clarifications on what the WindowListener actually does (and now the attention-getting does something on non-Windows too)