Commit Graph

723 Commits

Author SHA1 Message Date
Jeremy Woo
31931d3849
Added ConditionalWhenBetweenStatResource unique (#11212)
* 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
2024-03-05 22:40:27 +02:00
Yair Morgenstern
0cfee86864 4.10.15 2024-03-03 21:29:55 +02:00
PLynx
2d1e55a4d4
Add MovedToNewCapital buiding unique (#11213)
* Added MovedToNewCapital building unique

Yet to be tested

* Applied the suggestions

Of @yairm210 and @SomeTroglodyte
2024-03-03 20:03:12 +02:00
SomeTroglodyte
69c047790e
Validation warning Suppression as Unique or modifier (#11142)
* 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
2024-03-03 20:02:54 +02:00
Yair Morgenstern
4f5fdf1727 Civ-wide uniques for city-wide resources 2024-02-27 19:38:14 +02:00
Yair Morgenstern
27d63f00f4 Added 'city addbuilding', 'city removebuilding' console commands 2024-02-27 13:22:10 +02:00
Yair Morgenstern
3689eed3aa Add unique to conditionally control construction costs 2024-02-27 11:13:26 +02:00
Yair Morgenstern
6448f8e47e Fix links in mod file structure - #11183 2024-02-26 22:53:28 +02:00
Yair Morgenstern
1101f42957 4.10.13 2024-02-26 22:47:43 +02:00
SomeTroglodyte
a899a11ad2
New notifications bell icon with actual count (#11205)
* Refactor OtherIcons/Circle handling

* New "Bell" icon for Notifications

* Remove "todo" line
2024-02-26 22:20:40 +02:00
Yair Morgenstern
2d49838f13 changed requiredTech to revealedBy in tileResources json schema, added deposit amounts and improvedBy 2024-02-25 23:36:57 +02:00
Yair Morgenstern
46dacd2991 Added resourceType field to tileResources json schema 2024-02-25 23:31:24 +02:00
Yair Morgenstern
cba867bb7e json schema for tileResources 2024-02-25 23:27:23 +02:00
Yair Morgenstern
adccee0b2e 'cached unique' documentation is within collapsible block 2024-02-25 21:25:01 +02:00
Yair Morgenstern
8675a8a747 4.10.12 2024-02-25 00:35:00 +02:00
SomeTroglodyte
3047c1abad
Normalize TNP 'search' links, fix a few broken or incomplete attributions (#11178) 2024-02-22 17:32:07 +02:00
Yair Morgenstern
e2df543778 4.10.11 2024-02-20 23:49:28 +02:00
Yair Morgenstern
23edf07a41
Terraforming! (#11152)
* 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
2024-02-20 23:38:23 +02:00
SomeTroglodyte
2c96c6f244
ConditionalWhileResearching as suggested by @woo1127 (#11156) 2024-02-20 23:25:16 +02:00
SeventhM
d51d032e18
Fix Personality documentation (#11159) 2024-02-20 10:01:34 +02:00
Yair Morgenstern
6c87bef1cf 4.10.10 2024-02-17 23:12:03 +02:00
SeventhM
cc7b8cd26c
Documentation for Personality json (#11138)
* Documentation for Personality json

* whoops, bad link

* Fix inaccurate "double focus" comment

* Fix accidental copy-paste error

* Edit priority text to maybe be clearer
2024-02-17 21:43:05 +02:00
SomeTroglodyte
88df2c26e6
Framework stuff: Preparation for another Warning-Suppression branch (#11128)
* 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
2024-02-17 21:41:37 +02:00
Yair Morgenstern
90eb08734f 4.10.9 2024-02-13 23:45:54 +02:00
Yair Morgenstern
ed7fd447c2 Wak wak waaaak :(
Worth the investigation but conclusion is sad
2024-02-13 12:09:17 +02:00
Yair Morgenstern
eb984f06dc 4.10.8 2024-02-09 12:37:42 +02:00
SomeTroglodyte
d25b1c8c41
Fix ModOptions unique parameter types not checked and "uniquetype" ModOptionsConstants (#10930)
* Kill evil ModOptionsConstants

* UniqueFlag to EnumSet and add `NoConditionals`

* Linting or import reorder

* Fix ModOptions unique parameter types not checked

* ModOptions Unique to suppress validation warnings

* Silence spurious RulesetValidator complaints about Denmark

* Revert "ModOptions Unique to suppress validation warnings"
2024-02-01 23:24:59 +02:00
SomeTroglodyte
9e9ffa51d4
Policy picker colors skinnable (#11050)
* Centralize Policy picker colors and make them skinnable

* Most Policy picker colors skinnable, names, UiElementDocsWriter tricked
2024-02-01 23:24:43 +02:00
Yair Morgenstern
875da6cd48 Added unit conditional support to pillage yield uniques
Added doc note in cached uniques so modders can know ahead of time
See #11060
2024-02-01 23:02:31 +02:00
Yair Morgenstern
a215685b57 4.10.5 2024-01-30 20:17:51 +02:00
SeventhM
f7702bd71a
Add additional cityFilters (#11047)
* Add additional cityFilters

* Maybe viewingCiv shouldn't be null

* Studio complains it is unnecessary now

* I'm doomed to forget imports

* Ignore this

* typo
2024-01-30 20:06:36 +02:00
Yair Morgenstern
52a9eebe28 Gradle 8.2, remove all IOS references due to robovm bug (which we don't use) 2024-01-28 12:35:29 +02:00
SomeTroglodyte
f1dd08ccc2
Minor Mod manager fix, lints and dox (#11013)
* ModOptions reorder into regions, and bring back "internal" fields into the wiki

* Fix two cases of Mod Manager displaying out-of-sync states

* ModConstants and ModConstants.UnitUpgradeCost get equality contracts and a reflection-based shorter merge

* GithubAPI.kt more documentation
2024-01-28 11:06:25 +02:00
Yair Morgenstern
67329cdabd New tileFilter parameter, for tiles belonging directly to you 2024-01-25 23:53:47 +02:00
Yair Morgenstern
9d670c8671 4.10.3 2024-01-25 23:43:41 +02:00
Yair Morgenstern
197ec9dc9a Returned deprecated StrengthBonusVsCityStates to work for the usual transitional period 2024-01-25 20:04:15 +02:00
Yair Morgenstern
903963787a Unified 'does resource generate naturally on' checks to include all uniques everywhere 2024-01-25 19:52:19 +02:00
Yair Morgenstern
138d1c64a1 Added adjacency conditionals 2024-01-25 00:24:38 +02:00
Yair Morgenstern
03af1f475c 4.10.2 2024-01-25 00:00:23 +02:00
SomeTroglodyte
4c66b4368a
A Conditional checking for a Building globally (#10996) 2024-01-24 23:47:53 +02:00
SeventhM
4a72213cde
Fix problems with stats from tiles and improvements (#10980)
* 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
2024-01-24 23:41:52 +02:00
SomeTroglodyte
e5e86aa0d7
Avoid Civilopedia stumbling over missing Grassland (#10953)
* Avoid Civilopedia stumbling over missing Grassland

* A few wiki comments on Terrain

* Minor linting of my own crud

* Pedia linking PromotionPickerScreen

* Change actionTypeToFunctions signature to use Sequence
2024-01-19 11:59:58 +02:00
Yair Morgenstern
332a2d0af3 Removed new shortestPath algorithm after we determined it to be objectively slower than the current one :( 2024-01-13 20:58:57 +02:00
Roman Kr
b9b0a63d64
Added unique MayBuyConstructionsInPupets (#10597)
* Uniques: added MayBuyConstructionsInPupets unique for a civ

Gives an ability to buy items (units and buildings) in puppet cities

* Uniques: clear unnecessary whitespaces

* Uniques: typo in a `puppet` word

* Uniques: use city's `getMatchingUniques` instead of civ's `hasUnique` during checking the unique
2024-01-09 22:26:07 +02:00
SeventhM
9ae782b426
Add terrain filters for resources, any terrain, or "improved" (#10878)
* Add terrain filters for resources, any terrain, or "improved"

* Add entry to validation
2024-01-07 16:07:53 +02:00
PLynx
1b6d75c4db
Add <every [positiveAmount] turns> Conditional unique (not TriggerCondition) (#10871)
* Added a ConditionalEveryTurns unique

* Auto-generated the docs entry
2024-01-07 16:06:55 +02:00
Yair Morgenstern
4565907985 4.9.16 2024-01-04 09:24:46 +02:00
SeventhM
cdc0a4e854
Change the icons from some units/buildings (#10867) 2024-01-04 09:05:48 +02:00
SomeTroglodyte
a37807f4bb
Wiki: Texture packing updated (#10851)
* Wiki: Remove texture atlas info from the Introduction, minor formatting changes

* Wiki: Add texture atlas info back in under Images-and-Audio, expanded (external tools, settings, encoding warning).

* On second thought...

* Double-check wording for 'game.png is no longer a special boy', ensure game atlas is merged into textureRegions only once
2024-01-04 09:03:48 +02:00
Yair Morgenstern
ab133027cd Fixed scenarios crashing 2023-12-30 21:14:04 +02:00
Why-not-now
54afc5c350
Modders wiki updating (#10688)
* 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
2023-12-28 22:06:40 +02:00
Yair Morgenstern
f09700396c Scenario list renders correctly 2023-12-23 23:46:35 +02:00
Yair Morgenstern
bdd7239e8c Added scenario page to wiki 2023-12-23 23:43:40 +02:00
Yair Morgenstern
c3d592393e Added experimental scenarios! 2023-12-23 23:36:14 +02:00
SomeTroglodyte
f529d969f0
Mod declarative compatibility - a little more (#10751)
* Mod compatibility - update declarations

* Mod compatibility - logic and UI changes

* Mod compatibility - flag some invalid use patterns

* RulesetValidator - lint until Studio shuts up

* Fix isBaseRuleset test in ModRequires validation

---------

Co-authored-by: Yair Morgenstern <yairm210@hotmail.com>
2023-12-22 09:59:38 +02:00
SomeTroglodyte
d3ac2c5ede
(UI) Politics overview diagram: Add legend popup (#10451)
* Refactor Battle damage shadowed Label into reusable WidgetGroup

* Make Politics Overview "Grid header" fixed and some linting

* Add a Legend popup explaining line colors in the Politics Overview Diagram: Click inside

* Missing translation template

* Final decision on background didn't make it in properly

* Remove unused png - those are now in the Construction atlas

* Smaller background image

* Color and shadow choices

* Redo atlas to include both 10505 and this
2023-12-22 09:37:47 +02:00
Yair Morgenstern
851ab2e7b8 Separate higher-level autosave functions from lower-level file functions 2023-12-19 23:45:12 +02:00
PLynx
cde26d325e
Add the remove unit promotion unique (#10759)
* Added the remove unit promotion unique

* Moved two lines of code inside if
2023-12-17 22:03:52 +02:00
Yair Morgenstern
a61e9658ea 4.9.9 2023-12-15 11:55:50 +02:00
PLynx
87b02e49cd
Add resource support to stat gamespeed conditional (#10677)
* Tweaked the stat gamespeed conditional

Tweaked the stat gamespeed conditional to accept the resources

* Changed some names

* Fixed a double limit bug
2023-12-10 22:59:22 +02:00
Oskar Niesen
4282cdb626
Better Frigate and Ship of the Line sound (#10693)
* Added a frigate cannon fire volley sound with crashing

* Changed the frigate and ship of the line to use shipCannonVolley.mp3

* Added proper credits

* Renamed "Volly" to "Volley"
2023-12-10 22:59:12 +02:00
Yair Morgenstern
2ffec93ae8 invokeUnitAction will take the first *actionable* action, instead of the first one that exists, which may not be actionable 2023-12-08 12:17:07 +02:00
Will Allen
8363078371
Connect roads automation (#10631)
* Start on road connect feature.

* Rough UI and tile highlighting

- Highlight visible tiles for selected unit red
-- Maybe change this to all explored tiles
- Move action firing inside WorldMapHolder
- Set begin and end tiles

* Serialize Vector2 instead of Tile

* Add road icon

* Much better UI handling

- Tile highlights go away after choosing a tile
- Added restrictions to allowed tile destination choices.
    - Explored
    - Land
    - Passable
- Added two-tap button

* Refactor part of `onTileClicked` for readability

* Band-aid fix null pointer error

* Add RoadConnection icon

* Tentatively working connect road feature

* AStar search implementation

* AStar connect road automation

* Fix worker getting stuck in city tiles

* Heuristic should be between tiles

* Add heuristic to road connect, remove maxSize limit

* Fix predicates

* Cancel automation when worker is force moved off path

* Change valid/highlighted tiles to be friendly or neutral

* Put log back the way it was

* Fix behavior when kicked off path

* Worker no longer wastes movement points

* Workers will progress multiple tiles at a time towards the next build destination.

* Respect civs with certain tiles as roads

* Refractor ForceAutomateRoadConnection -> AutomateRoadConnection

* Connect road UI button only shows for units with UniqueType.BuildImprovements

* Connect road UI button only show when road tech is unlocked

* Add wagon sound

* Fix destination icon, add KeyboardBinding to 'c'

* UI highlight connect road path tiles orange

* Downsample wagon.mp3

* Apply migration patch, idiomatic sequence processing

* Add notifications on success and failure

* Extract movement cost function to be reusable

* Refactor road pathfinding into MapPathing.kt

* Make pathing calls more general for future extendability

* Add UI road connection tile path preview

* Keep road path highlighting when routing to a city tile

* Adjust road pathing cost function

* Path includes pillaged roads

* Repair pillaged roads along path

* Valid road path tiles now include all passable tiles (open borders)
2023-12-07 09:15:12 +02:00
Yair Morgenstern
662c4c219b 4.9.5 2023-12-03 22:28:45 +02:00
SomeTroglodyte
5061b29197
Notification for "Policy branch unlocked" clickable (#10655)
* Ruleset-validate some Unique amounts to be positive

* Add TechAction for tech gained from Ruins

* Allow PolicyPickerScreen to highlight a Policy

* Add the 'PolicyAction' NotificationAction

* Use the new PolicyAction
2023-12-03 22:12:26 +02:00
Yair Morgenstern
afae9a1e96 4.9.4 2023-11-30 19:51:36 +02:00
PLynx
6617504c05
Stats per Stat unique (#10591)
* Added Stats per Stat unique

* Applied the suggestions of @yairm210
2023-11-30 19:12:39 +02:00
Yair Morgenstern
5b29a0234b Slight cleanup of translation docs 2023-11-29 19:51:40 +02:00
Yair Morgenstern
915cc45b35 Better order for translation documentation 2023-11-29 19:48:58 +02:00
Will Allen
b4b73336b3
Fix typo (#10608) 2023-11-28 12:09:47 +02:00
SomeTroglodyte
b61c9de39e
Comment unique (#10575)
* Comment Unique

* Comment Unique translations

* Comment Unique more descriptive documentation

* New languages
2023-11-25 20:11:30 +02:00
Why-not-now
8c7fa24123
Fixed typo (#10572)
* Fixed typo

* Fixed typo

* Fixed typo

* Update 5-Miscellaneous-JSON-files.md
2023-11-25 20:08:51 +02:00
SomeTroglodyte
8c0693c998
Latin reboot (#10573)
* Reboot Latin

* Reboot Latin - 002

* Reboot Latin - 003

* Reboot Latin - atlas
2023-11-25 18:22:23 +02:00
Why-not-now
3ddeb874c7
Standardise using enum instead of string (#10571)
* Standardise using enum instead of string

* Standardise enum instead of string

* Standardise enum instead of string
2023-11-25 18:07:30 +02:00
Why-not-now
d4cd102613
Fixed typo (#10568)
* Fixed typo

* Fixed typo
2023-11-24 16:17:04 +02:00
Why-not-now
ba5e658c9e
Standardise using enum instead of string (#10570)
* Standardise using enum instead of string

* Standardise enum instead of string
2023-11-24 16:16:49 +02:00
SomeTroglodyte
b7823e0b39
"Fixed" Rusyn language (#10561)
* Rusyn.properties

Translation on Rusyn language (ISO-code "rue")

* Update Rusyn.properties

* Update Rusyn.properties

* Update Rusyn.properties

* Update Rusyn.properties

* Update Rusyn.properties

* Update Rusyn.properties

* Update Rusyn.properties

* Update Rusyn.properties

* Update Rusyn.properties

* Update Rusyn.properties

* Update Rusyn.properties

* Update Rusyn.properties

* Update Rusyn.properties

* Update Rusyn.properties

* Update Rusyn.properties

* Update Rusyn.properties

* Update Rusyn.properties

* Update Rusyn.properties

* Update Rusyn.properties

* Update Rusyn.properties

* Update Rusyn.properties

* Update Rusyn.properties

* Update Rusyn.properties

* Update Rusyn.properties

* Update Rusyn.properties

* Update Rusyn.properties

* Update Rusyn.properties

* Update Rusyn.properties

* Update Rusyn.properties

* Update Rusyn.properties

* Add a flag for Rusyn

* LocaleCode for Rusyn to use Ukrainian Collator but still write separate fastlane files

* Update Rusyn language files

* Redo atlas

---------

Co-authored-by: KotDivuar <148721627+KotDivuar@users.noreply.github.com>
2023-11-24 14:22:24 +02:00
Yair Morgenstern
8dc0db49e7 4.9.0 2023-11-20 23:15:39 +02:00
PLynx
e67fd6a28b
Add the SellBuilding Unique (#10514)
* Restored the SellBuilding Unique

* Rephrased SellBuilding unique
2023-11-20 22:47:47 +02:00
Sergey
4adbd2e634
Add a TriggerUponDiscoveringTile unique type (#10523)
* Add a TriggerUponDiscoveringTile unique type

* Add a check for trigger presence
2023-11-20 22:47:17 +02:00
SomeTroglodyte
08c3f97f82
Support for Leader voices (#10395)
* Prepare Leader Voices: Framework

* Leader Voices: Hooks and corresponding text field comments

* Leader Voices: wiki

* Leader Voices: oops, comments

* Decouple voice play calls to make global modification easier

* Move voices to own folder and give them a separate volume setting

* Oops, template needed too

* Oops, wiki needed too
2023-11-20 22:21:30 +02:00
Yair Morgenstern
fb1e57668e Added tests for parameters for complex filters, fixed nested complex filter returning 'possible filtering' when it should have been known 2023-11-19 00:06:34 +02:00
Yair Morgenstern
92d181d282 Better formatting for general filter rules v2 2023-11-18 22:56:26 +02:00
Yair Morgenstern
b55c4497d0 Better formatting for general filter rules 2023-11-18 22:54:39 +02:00
Yair Morgenstern
167f25cacd Modding: Added "non-[filter]" and multi-value filtering to Tile filter 2023-11-18 22:34:04 +02:00
Yair Morgenstern
dc6413d707 Modding: Added "non-[filter]" filtering for unit filters
Cleaned up unit filter validations to match actual filters
2023-11-18 22:16:43 +02:00
SomeTroglodyte
2847f7a8c1
Rivers... Moddable Stats and Civilopedia (#10424)
* River yields moddable and Civilopedia entry

* Improve text and better fresh water explanations

* Map editor exclusion as Unique, for River and previously hardcoded Improvements

* Map editor brush to Civilopedia link, starting locations cleaned

* Some SeventhM input applied

* Reword River/Lakes/Oasis civilopediaText and comments again
2023-11-13 22:18:25 +02:00
Yair Morgenstern
7e35e41bc3 typo fix for enhanced religion city filter 2023-11-10 10:27:20 +02:00
Yair Morgenstern
78a4c3a963
Added Human and AI filters, separated civFilter from nationFilter (#10446)
* 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"
2023-11-10 09:57:49 +02:00
SomeTroglodyte
fb30f610be
Mix of issue fixes around diplomacy and trade (#10462)
* Fix "AskForAssistance" Quest notification untranslatable

* Extend DiplomacyAction to allow showing the TradeTable of the other civ

* Make "trade ends" notifications clickable

* Make entries in Trade page of Empire Overview clickable

* Highlight selected civ in DiplomacyScreen, moddable

* A little proactive comment
2023-11-10 09:57:07 +02:00
Yair Morgenstern
6c6fe3de1b docs: Added more documentation for uniques 2023-11-05 23:21:51 +02:00
SomeTroglodyte
652b3c9159
Potpourri of RekMod-inspired little updates (#10390)
* RekMod-inspired: StatPercentFromReligionFollowers does work on FounderBelief target

* RekMod-inspired: Make StatPercentFromReligionFollowers check correct Religion

* RekMod-inspired: Prep: flags on ImprovementBuildingProblem

* RekMod-inspired: Don't offer e.g. Kampong Ayer to non-Brunei Workboats

* Update "filtering Uniques" documentation
2023-11-03 00:09:34 +02:00
SomeTroglodyte
9970549543
Allow modders to hide individual Uniques from Civilopedia (#10394)
* Allow hiding individual Uniques from Civilopedia via a conditional-type modifier

* Fix oversight

* Fix another oversight
2023-11-03 00:09:11 +02:00
Yair Morgenstern
d51b6a679d Tile generation condition parameters converted to fractions, to avoid errors 2023-10-30 12:44:34 +02:00
SomeTroglodyte
cf2ff124cf
Fix Mod checker crash on RekMod (#10349)
* Verbose exception for the original RekMod's Civilian crash

* Make ConstructImprovementInstantly validation gameInfo-agnostic

* Helpers to encapsulate repetitive Conditional test patterns, eliminating ruleset(), all ruleset access guarded

* Make ConditionalFirstCivToResearch actually work on Policies - ???

* Linting

* Revert params accessor helpers and reduce ConditionalFirstCivToResearch to tech only

* Implement ConditionalFirstCivToAdopt for nicer symmetry
2023-10-29 19:00:09 +02:00
Yair Morgenstern
8d0853f0a9 4.8.14 2023-10-23 10:23:47 +03:00
PLynx
2dfac21004
Added five new uniques (#10311)
* Added two new Conditional Uniques

These are:
- <when above [amount] gold>
- <when below [amount] gold>

* Added Remove Building unique

It has two parameters: buildingFilter and cityFilter

* Minor example update

* Applied the corrections proposed by SomeTroglodyte

* Update uniques.md

* Slightly changed an unique text

Removed "in" word from the unique

* Updated the Stat Conditional to support more stats

Now supports more stockpileable Stats
- Gold
- Faith
- Culture
- Science

* Added the game speed-adjusted conditionals

Now there are 5 uniques in my pull request

* Integrated the Stat and Resource Conditionals

Requested by @yairm210

* Applied the suggestions of @yairm210

* Applied the suggestions of @yairm210 again

I hope my PR is ready to merge
2023-10-23 10:02:42 +03:00
SomeTroglodyte
c6f820b0f2
Remove UniqueTarget.Terrain from UniqueType.Stats as there is no implementation (#10321)
* UniqueType.Stats has no implementation for Terrain, remove UniqueTarget

* Generated Docs
2023-10-15 18:03:30 +03:00
SomeTroglodyte
5db8489bcb
Tweak FasterUIDevelopment to offer normal Scene2D debugging, and some linting (#10263) 2023-10-07 21:58:19 +03:00
SomeTroglodyte
815df1bcc4
Some religion stuff (#10242)
* Enable HiddenWithoutReligion to work directly on a Tutorial

* Remove religious units from Vanilla

* Fix limited uses of Missionary and Prophet
2023-10-05 10:23:25 +03:00
Yair Morgenstern
701b8c3a52 Updated tech schema to answer modder questions 2023-10-04 21:49:26 +03:00
SomeTroglodyte
9e7fd9b067
Update build documentation (incl FasterUIDevelopment run config) (#10234) 2023-10-04 12:47:22 +03:00
Yair Morgenstern
ec1451c9e9 chore: Separated Air Interception logic into separate object 2023-10-03 12:40:42 +03:00
Yair Morgenstern
ffd77c82d8 4.8.9-patch1 2023-10-01 13:52:00 +03:00
Yair Morgenstern
ffc3a66707 Converted "May enhance a religion" unique to a UnitAction 2023-10-01 12:11:52 +03:00
Yair Morgenstern
6dbf240899 Converted "May found a religion" unique to a UnitAction 2023-10-01 12:01:54 +03:00
Yair Morgenstern
6a2b483640 4.8.9 2023-10-01 10:17:19 +03:00
SomeTroglodyte
8f7acf37d2
Pedia pixel units (#10187)
* Display Pixel Unit Art in Civilopedia

* Pixel Unit Art in Civilopedia - Setting UI

* Change FormattedLine.extraImage sizing to apply to longer coordinate

* Pixel Unit Art in Civilopedia - better centering using 'crop to content'
2023-10-01 09:45:02 +03:00
SomeTroglodyte
0f75947d18
City overview restore fixed header (#10197)
* More SortableGrid comments

* Fix City Overview header row

* CityOverviewTab minor lint

* Documentation for the 'Gdx Scene2D debug' option

* Lint - TabbedPager sort imports and some spaces
2023-10-01 09:43:53 +03:00
Yair Morgenstern
6d6dc51bea
Get rid of old religion style actions!!! (#10192)
* Giant refactoring - get rid of old religion style actions!!!

* Added special promotion to replace Great Mosque of Djenne ability

* removed double promotion added my mistake

* Added AI recognition of cities with bonus spread religion charges

* Added "disallowed for pantheon" filtering to new unit actions

* merge unit action changes with religion action changes

* Use new invokeUnitAction function for simplicity

* revert inquisitor unique change used for tests

* separate modifier side effects from old-style side effects

* Use canUSe shorthand for clarity
2023-10-01 09:43:26 +03:00
Yair Morgenstern
46dd1cfc19 Added unitTypes json schema 2023-09-24 12:24:41 +03:00
Yair Morgenstern
f13bb7990f Added techs json schema 2023-09-24 12:15:22 +03:00
Yair Morgenstern
daafa5104f Added tileImprovement json schema 2023-09-24 12:05:00 +03:00
Yair Morgenstern
fc02ac8825 Added nations json schema 2023-09-24 11:55:54 +03:00
Yair Morgenstern
1447056d23 description testing on vscode showed we should remove pattern descriptions 2023-09-22 11:25:43 +03:00
Yair Morgenstern
3ebb96e7a9 Added link to unique list :D 2023-09-22 11:22:37 +03:00
Yair Morgenstern
79b54484e5 Added descriptions for some fields 2023-09-22 11:14:59 +03:00
Yair Morgenstern
08816c7f6b Double patterns for uniques, for square brackets as well 2023-09-22 10:55:43 +03:00
Yair Morgenstern
1891a37c66 Added pattern to uniques to catch bugs 2023-09-22 10:47:56 +03:00
Yair Morgenstern
8ccee2e862 civilopediaText.json array-ized, since it's common *as an array* 2023-09-22 10:36:51 +03:00
Yair Morgenstern
8678e4eeda Added units.json and separate schemas for uniques and civilopediaText, for sharing 2023-09-22 10:31:45 +03:00
Yair Morgenstern
ae18b6d7ad specialistSlots and greatPersonPoints are specifically maps to numbers 2023-09-22 10:17:00 +03:00
Yair Morgenstern
8913b667c8 Buildings schema references stats schema, so it's reusable from other places 2023-09-22 10:13:35 +03:00
Yair Morgenstern
c7775412c7 Documentation: Validate json using online tool 2023-09-21 23:54:56 +03:00
Yair Morgenstern
ecb88ea10d Documentation: Validate json using online tool 2023-09-21 23:48:14 +03:00
Yair Morgenstern
94a7d3afa8 update documentation since latest schema works on both! 2023-09-21 23:39:59 +03:00
Yair Morgenstern
38e0d6bd38 Add stats as separate schema 2023-09-21 23:38:00 +03:00
Yair Morgenstern
cb27d13723 Remove anyOf, because technically it requires matching all subschemas - just redeclare the stats values... 2023-09-21 23:34:24 +03:00
Yair Morgenstern
5dbdf630ab Consistent indendation 2023-09-21 23:23:38 +03:00
Yair Morgenstern
ba2a9e7127 Instructions for setting up schemas on Visual Studio 2023-09-21 23:21:30 +03:00
Yair Morgenstern
ab3a04f50f Instructions for setting up schemas on AS 2023-09-21 23:00:57 +03:00
Yair Morgenstern
14c5d9eb17 Better schema for checking field names 2023-09-21 22:41:32 +03:00
Yair Morgenstern
da28d275be Test - Added building schema.json to docs 2023-09-21 21:56:38 +03:00
Yair Morgenstern
bdd3af9a43 docs: linting - List for victory illustrations to be shown as list 2023-09-14 09:09:53 +03:00
Yair Morgenstern
55809c9b22 Unique deprecation - "Receive free [unit] when you discover [tech]" replaced with trigger + condition, tested 2023-09-13 11:11:37 +03:00
Yair Morgenstern
9e557c8890
Update Privacy-Policy.md 2023-09-07 18:23:33 +03:00
Yair Morgenstern
96f957c52b 4.8.1 2023-09-04 15:18:46 +03:00
Yair Morgenstern
1e027199a6 4.7.19 2023-08-31 00:04:19 +03:00
Brian
a6142ec482
"Jump To Destination" Unit Action Button for units that are moving (#9955)
* Added "Jump To Destination" UnitActionButton for moving unit

This commit also fixes the situation where the player is unable to open the Show More unit actions list while the unit is moving and out of moves for the turn. Previously, clicking Show More in this scenario would jump to the next active unit.

* Added Jump To Destination to translation file

* Changed Jump to Destination to Show Unit Destination, updated icon, credits
2023-08-30 23:39:16 +03:00
SomeTroglodyte
4d068d7b20
Some wiki documentation for declarative mod compatibility (#9990) 2023-08-28 13:05:55 +03:00
SomeTroglodyte
96292cbf4d
Fix Permanent Audiovisual toggle and start on declarative Mod Compatibility (#9970)
* Fix Mod Manager not offering "Permanent Audiovisual" for audio-only mods

* Beginnings of declarative Mod Compatibility
2023-08-28 10:51:14 +03:00
SomeTroglodyte
4851865bce
Victory illustrations (#9934)
* Victory Screen Illustrations page

* Fix WorldReligion victory disclosing random player count

* Victory screen icons and Victory types get their separately moddable path

* Merge fix and nicer wiki text

* VictoryScreenIllustrations debug run

* Fix Image sizing and some polishing

* Fix white squares on some Victory Screen Cultural milestone buttons
2023-08-21 18:17:13 +03:00
SeventhM
6e3d4d99e0
Add "Improvement" as an improvement filter (#9906)
* Add "Improvement" as an improvement filter

* Update docs, change from non road improvement to all improvement
2023-08-16 17:59:54 +03:00
Oskar Niesen
548b536818
Add Defensive pact (#9900)
* Defensive Pacts can now be offered.

* Signing a defensive pact now makes the Civs join all defensive wars. Any future defensive wars will force the other civ to join.

* Removed Popup Alert Defensive Pact.

* Defensive pact and Research pact now are only on the trade screen.

* AI now offers defensive pacts.

* Added AI evaluating sending and receiving Defensive Pact offers.

* Reverted some temporary changes

* Reduced the chance an AI offers a defensive pact

* Starting an offensive war now cancels all Defensive Pacts with other civilisations.

* Removed extra requirements before an AI will sign or offer a defensive pact.

* Added Defensive Pacts to the Civilopedia.

* Fixed the AI counter offering with treaties.

* Fixed a test using the old method of checking if a civ is at war.

* Fixed a previous refactor error.

* Deleted commented out Research Agreement button code.

* Fixed some spelling errors and remnant debugging code.

* Removed signing a defensive pact brings both Civ's into each others previous defensive wars.

* Refactored setFriendshipBasedModifier to look better

* Starting an offensive war now removes the defensive pact form both sides.

* Reverted changes to DiplomaticStatus

* Removed extra technology check to sign a defensive pact.

* Removed DiplomacyManager.isAtWar() completely.

* Moved setting defensivePact flags from  TradeLogic.transferTrade() to DiplomacyManager.signDefensivePact.

* Changed diplomatic modifiers related to Defensive Pacts to be less extreme.

* Fixed canceling Defensive Pacts when declaring war and notifying other Civs.

* Updated the Defensive Pact entry in the Civilopedia and fixed some spelling.

* Fixed Defensive Pact behavior while attacking and defending.

* Changed a variable to a more readable name.

* Improved readability of setFriendshipBasedModifier().

* Moved the important onWarDeclared functionality to their own functions.

* Added a notification for the attacking Civ when a Civ joins war through a Defensive Pact.

* Refactored setDefensivePactBasedModifier() to be more readable.

* Increased DeclinedDefensivePact time.

* Deleted old commented code that removed the research agreement button.

* Fixed having reverting changes errors in UnitMovementTests.

* Refactored breaking treaties when declaring war.

* Removed unnecessary semicolons.
2023-08-16 17:59:41 +03:00
Yair Morgenstern
5956f0ceb6 4.7.12 2023-08-03 13:17:31 +03:00
SomeTroglodyte
bcb26b6d2a
Treat remaining untyped Uniques in default rulesets (#9763)
* Treat remaining untyped Uniques in default rulesets, make unit test catch them

* Change untyped filtering Uniques check to Validation by inclusion in GlobalUniques instead of UniqueType.AircraftMarker

* Wiki for untyped filtering Uniques

* Re-include the "Who knows" of Future Tech on the Tech picker
2023-08-03 11:38:50 +03:00
SomeTroglodyte
b838d8ec5a
Overhaul NUKE code to behave closer to original (#9797)
* Overhaul NUKE code to behave closer to original

* Separate garrison protection of Bomb Shelter to its own Unique

* Reduce code duplication: getNukeBlastRadius

* Disallow nuking unknown civs

* Don't show Nuke attack table when the Nuke has just been selected

* World map display of nuke blast radius and friendly fire
2023-07-30 17:39:28 +03:00
SomeTroglodyte
443bf3afdb
Local mod folder names preserved. (#9844)
* Reduce conversion of local mod folder names to treat only ending spaces/dashes

* Wiki entry for GlobalUniques

* Missing originRuleset coverage

* Nicer RulesetValidator messages when name or originRuleset are missing
2023-07-30 17:38:33 +03:00
SomeTroglodyte
b992144ecd
Fix a few now flagged but working Unique targets (#9845)
* Allow a few working UniqueType-UniqueTarget combos in RulesetValidator

* RulesetValidator checks GlobalUniques

* Alternate Settlers and Workers recognized via Unique - same rules in RulesetValidator and GameStarter, wiki clarification
2023-07-30 17:38:26 +03:00
itanasi
73e06a114f
Update SDK Platforms text. Update photos (#9848)
* Update SDK Platforms text. Update photos

* Try to fix link for Markdown Screenshots

* Revert to docs link

* Try Unciv in file path
2023-07-29 23:12:16 +03:00