* New countable: Countables.FilteredPolicies with test
* Result of doc autoupdate
* Result of doc autoupdate
* Some clarifying comments
* Remove policy filter with bad wording
* Redefine ICountable.matches, getDeprecationAnnotation is not part of the "engine" character of that interface
* Add a way to mark not-yet-finished Countables
* Add an empty framework for @AutumnPizazz's Expression engine
* Make "which does not fit parameter type" constant for pattern match robustness
* New expression evaluator engine
* Fix countable tests: correct expected failures
* All syntax errors MUST indicate position.
Otherwise, modders can't actually debug.
* Better positions + documentation
* Get rid of functions that modders *should not* be using
* Fix tests given the new changes
* Add modder-visible expression parsing errors
* Revert Countables to current state
* Fix the rest of the damn owl - compilation, not tests
* Fix all tests as well
* Detect countables at parse; Don't crash
* Add error detection for all types of expression errors
* Better documentation
* Countables catches first matching, to avoid parsing known countables as Expressions
---------
Co-authored-by: yairm210 <yairm210@hotmail.com>
* Make deprecated Uniques that are no longer implemented show up in Red in mod checker
* Refactor Countables into an empowered enum
* Refactor Countables into an empowered enum: RulesetValidator support
* Refactor Countables into an empowered enum: UniqueDocsWriter support
* Refactor Countables into an empowered enum: More unit tests
* Refactor Countables into an empowered enum: Streamline a little
* Refactor Countables into an empowered enum: Deprecation support with unit test
* Deprecation level ERROR now shown as Orange as requested
* Add a filter for religions
* whoops
* Convert if chain to jvm switch statement
* Introduce inverse conditional
* Irrelevant optimization: Checking if it is in the ruleset and returning null it unnecessary with mapNotNull
* Add belief names to filter
* Docs
* - 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
* 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
* 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.
* 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
* Add additional cityFilters
* Maybe viewingCiv shouldn't be null
* Studio complains it is unnecessary now
* I'm doomed to forget imports
* Ignore this
* typo
* Fix problems with stats from tiles and improvements
* Hold on, we can get the ruleset from the tile. And I was about to complain about that
* Update docs
* Funky null fix
* if else chain doesn't make sense for percent changes on second thought
* Incorporate suggestions
* Use getUnpillagedImprovement functions in matchesFilter
* We don't actually need the whole improvement here, just the name
* Move Golden Age to after all other stats
* Simplify percent stat adds
* xpForNewUnits is not used anymore
* Adding links to json files
* Redid some tables (TODO)
* Deprecate cannotBeBuiltWith
* Update 2-Civilization-related-JSON-files.md
Standardised uniques link and description
Miscellaneous changes to grammar to be consistent
* First round of amendment
Fixed up some links
Made grammar more consistent
Removed deprecated `effect` from ModOptions.json
Added CityStateTypes.json
* Second round of amendment
Made grammar more consistent
Changed `Optional` header to `Default`
Removed tabs from json code
Changed all stats to a `<stats>`
* Undid accidental replacement
* Undid accidental replacement
* Made list more consistent
* Rewrote policy branch and turns in eras.json
* Third round of amendment
Split stats
Fixed a couple of stuff idk tbh
* Added stats
* Added nationFilter
* Final amendment
* Adding markdown table format based on suggestion
* Fixed errors/suggestions based on reviews
changed building.cost default to be -1
added footnotes for improvements instead of list
removed faith from unit.hurryCostModifier
removed assosciation of nationFilter with civFilter
* Added Human and AI filters, separated civFilter from nationFilter (very similar and yet slightly different)
* Changed "Human" and "AI" to "Human player" and "AI player"