* New HolidayDates for potential easter eggs
* Dia de los Muertos
* Add Diawali
* Add Diwali credits
* Add some Qingming stuff
* Allow for zero images for a holiday configured to show floating art
* Revert contained art
* Simplify a few things
* Implement all special days I could think of
* Wiki
* Put chance back in so the full-range old holidays behave the same as before and unit tests work
* - Turn Privateer's unique ability into a promotion
- Add promotion to Privateer and Sea Beggar
* Update uniques for withdrawing before melee combat
* List terrain quality in relevant section - correct capitalization of Enemy Land
* Diacritics support - achieving 1-Char-Per-Glyph via a fake alphabet
* Diacritics support - Redesign state engine and polishing
* Diacritics support - Unit test
* Diacritics support - Expand unit test to cover more cases
* Diacritics support - Expand unit test to cover more cases
* Clarify a function name
* Change format of diacritic definitions
* Refactor DiacriticSupport to per-language class with statics in Companion
* Update DiacriticSupport to use CharCategory and enable support of surrogate pairs
* Documentation
* 🎵 A little linting 🎶
* Prevent queueing unresearched removals by adding their problem reports on top
* More linting and bugfixes
* Hide "too advanced" Improvements in the PickerScreen
* ImprovementPickerScreen fully Civilopedia-linked
* Fix dumb mistake
* Slightly improve PickerPane descriptionLabel layout
* Slightly improve ImprovementPickerScreen top padding
* 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
* UniqueParameterType getErrorSeverity/isKnownValue simplification
* Minor changes to a few UniqueType documentations
* Allow UnitsGainPromotion e.g. "[Melee] units gain the [Morale] promotion"
* Reverted spy button to show the spy white icon
* Changed the docs credits
* Espionage button now uses a separate path
* Reverted changing Icons.png
* Changed Espionage.png to the new sprite
* 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
* Fix Concurrency being zombified but still tasked to run stuff
* Do not tie Android logcat output to whether Gdx was built for debugging
* Simplify GameStartScreen
* Add wiki page on Debugging/Building for Android
* Some linting and region reorder
* Make MultiFilter accept a negated "and" list plus more unit tests
* MultiFilter gets 'or' capability
* Revert "MultiFilter gets 'or' capability"
This reverts commit 9f6e7c794a.
* Expand Events to allow civilopediaText, fixing hidden uniques as side effect
* Fix ConditionalChance save scumming
* Fix ExtraImages not working within mods
* Missing documentation of the changes to Events
* Kdoc to clarify why helper returns nullable
* Lint getJavaClassByName: fix compiler warning and re-sort when
* FormattedLine now throws on problems with extraImage loading
* Fix Tutorial extraImage by removing auto and making it explicit
* Revert "FormattedLine now throws on problems with extraImage loading"
This reverts commit b5ab4084ee.
* Partially revert the revert, so bad extraImage fields are console-logged
* Replace and credit "Link" icon
* UnitActionIcons/Escort is a black version of "Link"
* Reprioritize UnitGroup "action" badge to prefer showing what Workers build over escorting
* Added OneTimeSpiesLevelUp, OneTimeGainSpy, SpyEffectiveness, EnemySpyEffectiveness and HiddenWithoutEspionage Uniques
* Spy effectiveness affects stealing tech and rigging elections
* Fixed HiddenWithoutEspionage
* Added Constabulary and Police Station
* Added cityFilter to SpyEffectiveness
* Added national Intelligence agency
* Added Great Firewall
* Fixed great firewall having a float value
* EspionageManager addSpy now returns Spy instead of name
* Added some simple espionage tests
* Fixed OneTimeSpiesLevelUp still wanting parameter
* Spy efficiency occurs after skill modifier
* Added another test
* Added Police State spy efficiency reduction unique
* Fixed "Hidden when espionage is disabled" wording
* Fixed "effectiveness" wording
* Changed "enemy spy effectiveness" unique to use negative matters
* Spy effectiveness only affect tech steal rate
* Changed "Gain an extra spy" and "Promotes all spies" uniques
* Removed Police State comment that is no longer accurate
* Changed spy effectiveness to be multiplicative
* Minor lint and optimize addWorkBoatChoice
* Moddable findTileWorthImproving search distance
* Don't count bonus resources outside any city work range as worth improving
* Look for existing work boat in a fixed radius instead of city-owned tiles, depending on work boat speed
* Some UnitMovement readability
* Work boat construction and automation code synergies
* Allow for replacement improvements
* imports
* Forgot the most important change, lol
* Docs
* Replacement description, validation, and filter
* Move more into ImprovementDescriptions
* Whoops, forgot to yield
* Fix some copy-paste artifacts
* New translations
* Fix double see also
* Add space for translation engine
* Added configurable natural wonder discovery stats
* Shortened the code
* Updated the base rulesets with new unique
* Updated the El Dorado unique
* Applied the suggestions
* Reintroduced the implementation for deprecated uniques
* Changed tile.naturalWonder to naturalWonder
* Fixed policies do not grant production bonus to wonders
* Added multi-filter and tech filter for buildingFilter
* Rectification of the uniques of monument to the gods and marbles
* Fixed mod checker issued warnings regarding the techFilter in Unit and Building Filters.
* Edit Unique-parameters.md
* Undo 'Fixed policies do not grant production bonus to Wonders
* Add variable Movement Cost
* Add new unique and support code
Modification invalidates the CanTransform
Still has debug
* Make UnitActionStatCost unique syntax
Remove debug code
Improve documentation
* Change text so we can add stockpiles later
* Rework into UnitActionModifier
* Clarifying comments
* rename
* remove bad imports
block if no City for Unit
* Add validation check to other UnitAction Uniques
* add requires and all movement
rework requirement check
* Simplify Transform code
* More efficiency. Add to TriggerUnique
* Allow by default Transform to use all movement
* Add variable Movement Cost
* Add new unique and support code
Modification invalidates the CanTransform
Still has debug
* Make UnitActionStatCost unique syntax
Remove debug code
Improve documentation
* Change text so we can add stockpiles later
* Rework into UnitActionModifier
* Clarifying comments
* rename
* remove bad imports
block if no City for Unit
* Add validation check to other UnitAction Uniques
* add requires and all movement
rework requirement check
* Simplify Transform code
* More efficiency. Add to TriggerUnique
* Allow by default Transform to use all movement
* Code cleanup
* Add variable Movement Cost
* Add new unique and support code
Modification invalidates the CanTransform
Still has debug
* Make UnitActionStatCost unique syntax
Remove debug code
Improve documentation
* Change text so we can add stockpiles later
* Rework into UnitActionModifier
* Clarifying comments
* rename
* remove bad imports
block if no City for Unit
* Add validation check to other UnitAction Uniques
* add requires and all movement
rework requirement check
* Simplify Transform code
* More efficiency. Add to TriggerUnique
* Allow by default Transform to use all movement
* Rework into UnitActionModifier
* remove bad imports
block if no City for Unit
* Code cleanup
* 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
* 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