Commit Graph

592 Commits

Author SHA1 Message Date
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
Yair Morgenstern
2d499703d7 Resolved #9840 - targetSdk set to 33
Due to the upcoming Google Play deadline (see https://support.google.com/googleplay/android-developer/answer/11926878)
We're upgrading the target SDK and build tools for Unciv.

What this means for you, is that you need to download BOTH the new Android SDK AND the new build tools to compile to Android
If you're only doing Desktop development, this will not affect you

In Android Studio:
- Double-click shift (for search)
- "SDK manager"
- Go to SDK platforms tab, select Android 13 (Tiramisu) - this will lead to an SDK download
- Go to the SDK Tools tab
- Click 'show package details' at bottom-right
- Click 33.0.2 - this will lead to a Build Tools download
2023-07-24 10:41:08 +03:00
SomeTroglodyte
a29cdc91e8
Unique target compliance test v2 (#9802)
* Split off some UniqueType helper classes, make regions work in Android Studio and linting

* Fix wrong UniqueType.Stats target

* Fix two Pantheon uniques

* BeliefType a little nicer to read

* More linting

* Implement UniqueTarget validation

* Validation of UniqueTypes allowed as conditionals
2023-07-15 22:06:12 +03:00
Yair Morgenstern
ee092a5851
City-level resources (#9774)
* City-level resources are...
- Not displayed in civ top bar
- Not considered civ-level resources (for trade, non-city conditionals, etc)
- Are explicitly treated in city conditionals
- ARE considered for constructing buildings requiring resource
- ARE NOT considered for construction units requiring resource

* getCityResources separates resources by origin so we need to sum them - kudos @SeventhM

* CR fixes

* Added new Civilization.getResourceAmount function

* More usages of civInfo.getResourceAmount()

* Don't add city resource table if it's empty
2023-07-10 16:24:50 +03:00
Yair Morgenstern
103234a6b8 Keep track of what mod each ruleset object comes from, for debug and civilopedia purposes 2023-07-05 21:55:57 +03:00
Yair Morgenstern
7ebd116a61 awesome-pages wiki modding folder reorg 5 2023-07-02 23:49:29 +03:00
Yair Morgenstern
7c0af0c015 awesome-pages wiki modding folder reorg 4 - sections as list 2023-07-02 23:46:15 +03:00
Yair Morgenstern
d30bf4cb87 awesome-pages wiki modding folder reorg 3 - sections 2023-07-02 23:45:07 +03:00
Yair Morgenstern
2c23dc6e32 awesome-pages wiki modding folder reorg 2 2023-07-02 23:43:10 +03:00
Yair Morgenstern
6e0dbea6d4 awesome-pages wiki modding folder reorg 2023-07-02 23:42:07 +03:00
Yair Morgenstern
d83c14af03 awesome-pages test 2.1 2023-07-02 23:22:55 +03:00
Yair Morgenstern
cf1be27e3c awesome-pages test 2 2023-07-02 23:21:30 +03:00
Yair Morgenstern
c26837fdd7 Step-by-step instructions to create a new Civilization mod 2023-07-02 18:10:09 +03:00
Yair Morgenstern
f7295884e6 Improved mod overview documentation 2023-07-02 17:13:57 +03:00
Yair Morgenstern
48ca477699 More modder documentation clarity 2023-07-02 16:59:11 +03:00
Yair Morgenstern
7b0aac007a Reorg modding pages
PAge order is determined by file name - but link text is determined by title
2023-07-02 16:49:39 +03:00
Yair Morgenstern
76ad2d8e7a mkdocs awesome-pages plugin 2023-07-02 16:35:41 +03:00
Yair Morgenstern
df87f203b2 Reorganize modders documentation files 2023-07-02 16:20:37 +03:00
Yair Morgenstern
0edfa4841e Better image documentation for modders 2023-07-02 02:42:36 +03:00
Yair Morgenstern
bb22b1de72 Actually generated unique type documentation 2023-07-02 01:36:28 +03:00
SomeTroglodyte
a8ec8f84ec
Architectural update - Make animated menu reusable (#9685)
* Extract AnimatedMenuPopup from UnitUpgradeMenu to make its basic idea reusable

* Rebase UnitUpgradeMenu onto AnimatedMenuPopup

* Add SoundPlayer.playRepeated for future reusability

* Move UnitUpgradeMenu to popups package

* Reuse playRepeated in PromotionPickerScreen

* Reuse playRepeated in PromotionPickerScreen - clean up imports
2023-06-28 12:05:04 +03:00
SomeTroglodyte
c45d3ecb7c
Promotion picker allowing picking chains in one go (#9655)
* Try to allow chained promotion picking

* Reorg PromotionPickerScreen into own package

* Draft for new PromotionTree

* Change PromotionPickerScreen to use new tree (picking still not done)

* Finish new PromotionPickerScreen - code

* Finish new PromotionPickerScreen - assets and linting

* Finish new PromotionPickerScreen - polish positioning and lines

* Finish new PromotionPickerScreen - fix sound

* Finish new PromotionPickerScreen - little optimization

* Finish new PromotionPickerScreen - emphasize line along path

* Finish new PromotionPickerScreen - merge fix

* Finish new PromotionPickerScreen - address comments

* Finish new PromotionPickerScreen - fix sort and update wiki
2023-06-28 10:49:35 +03:00
Yair Morgenstern
330fa6593b 4.7.4 2023-06-25 10:07:17 +03:00
Yair Morgenstern
b6aa177311 4.7.3 2023-06-23 09:39:54 +03:00
ymorgenstern
fd56581f21
Update Building-Locally.md (#9631)
* Update Building-Locally.md

Updated build documentation with links, clearer language, and better installation structure

* Update docs/Developers/Building-Locally.md
2023-06-23 08:53:09 +03:00
SomeTroglodyte
ff54bcd493
Prevent mod conflicts better (#9586)
* Tighten mod check severity and selectivity for unit-producing triggered Uniques

* Prettify display of mod check results by suppressing dupes and hiding conditionals from tr()

* Extra confirmation to play with errors, colors, improved handling of mod checkboxes

* Tweaks to improved mod checking in new game
2023-06-19 19:02:09 +03:00
Yair Morgenstern
e987bbbaad Added new unique - "Automatically built in all cities where it is buildable" 2023-06-19 15:40:21 +03:00
Yair Morgenstern
4107e081bd 4.7.2 2023-06-18 18:29:55 +03:00
SomeTroglodyte
123a51a6ef
Publish new mod category workflow (#9606) 2023-06-18 18:15:13 +03:00
Xander Lenstra
639d34e28d
Reordered the region of other global uniques and wrote a few unique tests (#9611) 2023-06-17 20:59:51 +03:00
SomeTroglodyte
46a84c23b0
Make mod categories curated in Json (#9542)
* Dynamic mod categories from online query

* Move Working string to Constants

* Move Mod categories to json

* Move Mod categories to json - UI

* Move Mod categories to json - initial json
2023-06-14 09:12:24 +03:00
Yair Morgenstern
02d7325576 UnitFilter also matches TechFilter for that unit 2023-06-12 23:13:47 +03:00