* Added ConditionalWhenBetweenStatResource unique
* Currently the ConditionalBetweenHappiness function only applies to Happiness. Wouldn't it be more better if it could also be extended to other stats and resources. 😊
* Resolved the issue with ConditionalWhenAboveStatResource, ConditionalWhenBelowStatResource, and their modified speed versions not functioning properly on city-level stats (food & production).
This new unique has been tested using the following examples:
1. In GlobalUniques.json:
- "[+12]% [Gold] [in all cities] <when between [1] to [100] [Gold]>",
- "[+24]% [Gold] [in all cities] <when between [1] to [100] [Gold] (modified by game speed)>",
2. In Buildings.json:
- "[+12]% [Production] [in this city] <when between [1] to [5] [Production]>",
- "[+12]% [Food] [in this city] <when between [1] to [5] [Food]>",
* Update uniques.md
* Correct english mistake of the new unique
* Refactor checkResourceOrStatAmount function
* Unified all related functions into one
* Avoid using folder listing for tileset sanity checks for builtin rulesets from jar
* Remove an unnecessary java import
* Revert the builtin-tileset-within-jar special check, not necessary for a release
* Make source object available to RulesetErrorList.add
* Make ruleset available to RulesetErrorList
* Introduce UniqueTarget.MetaModifier - ModifierHiddenFromUsers won't stay alone
* There was no use of prefix without the unique name - fold
* Introduce UniqueTarget.MetaModifier - doc
* Pass context down even inside UniqueValidator, convenience factory for limited RulesetErrorList's
* Clean up RulesetErrorList.of factory
* Reorder parameters of RulesetErrorList.add
* Suppression Unique and implementation
* Remove logging
* Remove unused "Closing page" feature from TabbedPager
* Minor linting
* Ensure Popup's innerTable doesn't exceed its Cell within Popup
* Change a few defaults and remove a misguided comment
* Move OptionPopup's close button to top right - another Red X
* Fix double-count of civ-wide resources, while allowing propagation of city-wide resources via uniques
* Added test to ensure civ-wide resources propagate between cities (they do)
GetResourceAmount -> GetAvailableResourceAmount
* Extra clarity in function names! Better than possible confusion.
* ScrollableAnimatedMenuPopup widget and base UnitUpgradeMenu off it
* More lack of resources info in UnitUpgradeMenu
* Make UnitUpgradeMenu available even if you can't afford any upgrade
* Military units prioritize healing more
* Military units try to pillage tiles when attacking
* tryHeal() now tries to pillage multiple times if a unit have more movement
* Barbarians now pillage more
* Units stay healing on its tile if it can heal in two turns
* Units will heal when no enemies are around in their territory
* TryHealUnit returns false after pillaging to full health
* Refactored canUnitHealInTurnsOnCurrentTile
* Refactored movePreparingAttack pillaging
* City buttons support right-click / long-press to enter CityScreen directly
* City r-click: Rename helper and UI tips
* City capitalization follows getCurrentTutorialTask precedent
* City capitalization change applied to existing translation keys
* Revert "City capitalization change applied to existing translation keys"
This reverts commit c3638a0daf.
* Revert "City capitalization follows getCurrentTutorialTask precedent"
This reverts commit b618f4cae3.
* City capitalization in new text follows getCurrentTutorialTask precedent
* Added escort button
* Added basic escort movement
* Improved escort movement
* Swapping breaks escorting
* Added stop escorting button
* Added link icon to unit
* getDistanceToTiles() now automatically includes escorting
* Multi-turn movement with different units works somewhat
* Escorting units persist to escort across saves
* Escorting units are only idle if their partner unit is idle as well
* Fixed multi-turn escort movement where one unit has more movement points left over
* Added basic tests
* Added a test for formation idle units
* Added some basic movement tests
* Added some canMoveTo tests
* getDistanceToTiles only caches when includeEscort is true
* added getDistanceToTiles test
* An entire commit to remove one line of white space just for you! And yes, there are no semi-colons;
* Added translations
* Added more stopEscorting() calls when the unit is removed
* Added extra comments and refactoring
* Refactored removeAllTilesNotInSet to use a mutableIterator
* Refactored code based on review
* Refactored removing tiles in PathsToTilesWithinTurn that aren't in another PathsToTilesWithinTurn
Allow Barbarians to create units that must set up to ranged attack, unless specifically forbidden by the relevant unique
Since we have a unique for this explicit purpose, we no longer need this extra prevention for Barbarian unit types.