* Added city bombard, work and expand range ModConstants
* Changed some city range integers to city.getWorkRange() or some equivalent
* Fixed city screen
* Fixed create game error
* Improved support for CityScreen when work range is higher than expand range
* Improved WonderOverviewTab Style
* Improved Civilization.modConstants
* Improved random spacing
* Changed WonderOverviewTab to use a constant again
* Added comments in documentation
* Split off reuses of CityStateIcons/Cultured to allow modding separately
* Reposition floating tutorials in case the TopBar moved its buttons
* Event definition, art and basic support
* Split off Event rendering from AlertPopup
* Support Event presentation modes and replace hardcoded floating tutorials
* "Meet another civilization" art - can't find any better
* Tweak TranslationFileWriter and some polishing
* Made minimum duration of a war moddable
* Made turns until revolt moddable
* Made spy skill moddable
* Migrated city-state elections to use the Civ flag system
* Moved cityStateElectionTurns away from espionage
* Added new moddable constants to the documentation
* Fixed merge conflicts
* Solved combat resource conditionals vs cities being checked against the target's resources
* Crash fix - Don't attempt to ask civs you don't know for help
* UniqueParameterType getErrorSeverity/isKnownValue simplification
* Minor changes to a few UniqueType documentations
* Allow UnitsGainPromotion e.g. "[Melee] units gain the [Morale] promotion"
* Convert MapResources into an Enum
* Fix IsPartOfGameInfoSerialization where actually only the String is part of serialization
* Refactor MapResources to own file, package mapgenerator
* Refactor MapSize/MapSizeNew to own file and rename
* hasAtLeastMotivationToAttack now takes uses City.neighboringCities
* Changed attack pathing to use Astar
* Made the base force higher
* Declare war checks for total population instead of number of cities
* MotivationToAttackAutomation takes into account denunciation
* Set up DeclareWarTargetAutomation.kt
* Added logic for Civs to try and gang up on other Civs
* Added logic for civs to try and join an ally civ in their war and to declare war directly
* Added declineJoinWarOffer flag
* Reduced the likelyhood of declaring war a little
* Civs don't try to join wars against city-states
* Removed calculating targets with 0 motivation
* Relative production is not calculated against city-states
* Improved getAttackPathsModifier to only calculate the best path per city
* Refactored filter statements
* AI now tries to execute planned wars by default
* Culture Civs can now declare war, AI can declare multiple wars
* AI won't gift gold to city-states that it wants to attack
* Changed motivation from combat
* Changed AI aggression towards city-states
* Civs don't want to sign a DOF with the only nearby major civ as much
* City.neighboringCities filters out cities that are not visible
* Fixed some conditionals in tryJoinWar
* Fixed some war plan types breaking instead of continuing
* Civs are more likely to sign open borders if they haven't seen their cities
* Changed far away cities to have less of a value
* Fixed neighboringCities and getNeighboringCivilizations
* Other fixes
* Reduced motivation to attack from relative strength
* Added more to motivation to attack
* Added extra friendship modifiers
* Moved war evaluation to WarPlanEvaluator
* Added comments and re-named preparingWarPlan
* AI Team wars require neutral relations to send
* Added a team war notification
* Added evaluation of join war trades
* Tweaked MotivationToAttackAutomation
* Improved peace deal offers
* AI peace deals wait until 10 turns after declaring war
* Made the AI declare war a little less
* AI builds more military units
* AI keeps at least 2 great generals to not build citadels with
* AI TeamWar is more specialized for fighting stronger Civs
* Removed extra line
* Added more comments
* Improved unit tryPrepare logic
* Minor respelling and style improvements
* Changed MotivationToAttackAutomation HashMap to be a list
* Added a heuristic for the Astar search
* TeamWarPlan focuses more on relative force and fighting stronger civs
* MotivationToAttackAutomation takes into account planned wars and can target stronger civs
* Added logic for AI's to request other civs to join their war
* Fixed some WarDeclaration TradeEvaluation logic and reduced costs
* Added some extra safety against extreme force values in DeclareWarPlanEvaluator
* Restrict access to lastSeenImprovement
* Move TileInfoNormalizer to logic
* Remove all uses of gamestate- and transient-dependent changeImprovement from MapGenerator
* Update lastSeenImprovement from changeImprovement where appropriate
* Another rename removing an `Info`
* Remove redundant spectator test
Co-authored-by: Yair Morgenstern <yairm210@hotmail.com>
---------
Co-authored-by: Yair Morgenstern <yairm210@hotmail.com>
* Changed the spy level cap to be a mod constant
* Spy rank shows with more stars
* Reverted some temporary debug changes
* Changed Promotes all spies to accept an amount
* Change Promotes all spies [amount] time(s) to have parenthesis around the s
* Fixed problem with merging
* Added an option to disable move by long press
* Moved setting check to tileGroup.onActivation and changed it to check for longTapMove
* Added translation
* Limit visibility inside devconsole package
* Make City an INamed to allow use of INamed-bounded generics on it
* CliInput class treats all DocConsole command line tokens, allows autocompleting quoted input to quoted full names
* Alternate, more flexible but also validating `civ activatetrigger` implementation
* Allow undisturbed display of square brackets in UncivTextField's
* Fix minor bug with OneTimeRevealSpecificMapTiles and move OneTimeReveal* implementations together
* SortableGrid architecture changes: defaultSort instead of defaultDescending
* SortableGrid architecture changes: Header cell actor management
* SortableGrid architecture changes: General Services and reusable defaults
* Fix EmpireOverviewScreen sometimes forgetting the last active tab
* Reimplement Unit Overview using SortableGrid (but dropping unit supply)
* Get UnitSupplyTable back into Unit Overview
* Fix unit overview does not know PromotionPickerScreen changed the name
* Simplify update after rename
* Fix "Ooops" wrong value in ranged strength column
* Linting
* Fix potential crash when having a multiplayer notification sound configured that is no longer available
* New media finder architecture
* Unit tests for new media finder architecture
* Apply new media finder architecture to solve "allow all mod sounds as multiplayer notifications" request
* 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