Commit Graph

330 Commits

Author SHA1 Message Date
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
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
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
701b8c3a52 Updated tech schema to answer modder questions 2023-10-04 21:49:26 +03:00
ec1451c9e9 chore: Separated Air Interception logic into separate object 2023-10-03 12:40:42 +03:00
ffd77c82d8 4.8.9-patch1 2023-10-01 13:52:00 +03:00
ffc3a66707 Converted "May enhance a religion" unique to a UnitAction 2023-10-01 12:11:52 +03:00
6dbf240899 Converted "May found a religion" unique to a UnitAction 2023-10-01 12:01:54 +03:00
6a2b483640 4.8.9 2023-10-01 10:17:19 +03:00
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
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
46dd1cfc19 Added unitTypes json schema 2023-09-24 12:24:41 +03:00
f13bb7990f Added techs json schema 2023-09-24 12:15:22 +03:00
daafa5104f Added tileImprovement json schema 2023-09-24 12:05:00 +03:00
fc02ac8825 Added nations json schema 2023-09-24 11:55:54 +03:00
1447056d23 description testing on vscode showed we should remove pattern descriptions 2023-09-22 11:25:43 +03:00
3ebb96e7a9 Added link to unique list :D 2023-09-22 11:22:37 +03:00
79b54484e5 Added descriptions for some fields 2023-09-22 11:14:59 +03:00
08816c7f6b Double patterns for uniques, for square brackets as well 2023-09-22 10:55:43 +03:00
1891a37c66 Added pattern to uniques to catch bugs 2023-09-22 10:47:56 +03:00
8ccee2e862 civilopediaText.json array-ized, since it's common *as an array* 2023-09-22 10:36:51 +03:00
8678e4eeda Added units.json and separate schemas for uniques and civilopediaText, for sharing 2023-09-22 10:31:45 +03:00
ae18b6d7ad specialistSlots and greatPersonPoints are specifically maps to numbers 2023-09-22 10:17:00 +03:00
8913b667c8 Buildings schema references stats schema, so it's reusable from other places 2023-09-22 10:13:35 +03:00
c7775412c7 Documentation: Validate json using online tool 2023-09-21 23:54:56 +03:00
ecb88ea10d Documentation: Validate json using online tool 2023-09-21 23:48:14 +03:00
94a7d3afa8 update documentation since latest schema works on both! 2023-09-21 23:39:59 +03:00
38e0d6bd38 Add stats as separate schema 2023-09-21 23:38:00 +03:00
cb27d13723 Remove anyOf, because technically it requires matching all subschemas - just redeclare the stats values... 2023-09-21 23:34:24 +03:00
5dbdf630ab Consistent indendation 2023-09-21 23:23:38 +03:00
ba2a9e7127 Instructions for setting up schemas on Visual Studio 2023-09-21 23:21:30 +03:00
ab3a04f50f Instructions for setting up schemas on AS 2023-09-21 23:00:57 +03:00
14c5d9eb17 Better schema for checking field names 2023-09-21 22:41:32 +03:00
da28d275be Test - Added building schema.json to docs 2023-09-21 21:56:38 +03:00
bdd3af9a43 docs: linting - List for victory illustrations to be shown as list 2023-09-14 09:09:53 +03:00
55809c9b22 Unique deprecation - "Receive free [unit] when you discover [tech]" replaced with trigger + condition, tested 2023-09-13 11:11:37 +03:00
96f957c52b 4.8.1 2023-09-04 15:18:46 +03:00
1e027199a6 4.7.19 2023-08-31 00:04:19 +03:00
4d068d7b20 Some wiki documentation for declarative mod compatibility (#9990) 2023-08-28 13:05:55 +03:00
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
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
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
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
5956f0ceb6 4.7.12 2023-08-03 13:17:31 +03:00
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
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
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
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
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
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