* 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
* UniqueParameterType getErrorSeverity/isKnownValue simplification
* Minor changes to a few UniqueType documentations
* Allow UnitsGainPromotion e.g. "[Melee] units gain the [Morale] promotion"
* 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
* 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
* 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
* Terraforming!
* comment
* whoops
* And better tests, that actually output text.
* SomeTrog caught this doc error :)
* Fix natural wonder placement, it better belongs with base terrain
Also, normalize tiles to ruleset after plonking a new terrain
* Out Of Cheese Error, Redo From Start
- Only terrains, no improvements - one problem at a time
- Fit new functional trigger format
- Respect occursOn
- Teleport units out of tiles if they can't pass through (nat wonders for example)
- No need for terrainFeature unique parameter
- Tested with "Turn this tile into a [Grand Mesa] tile <for [0] movement>", "Turn this tile into a [Forest] tile <for [0] movement>" uniques
* Don't allow city tiles to turn into water/wonders etc kudos @SomeTrog