Commit Graph

193 Commits

Author SHA1 Message Date
Yair Morgenstern
1e027199a6 4.7.19 2023-08-31 00:04:19 +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
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
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
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
Yair Morgenstern
e5232494a0 Improved AI city location picking
Done by ignoring tiles already belonging to another civ / within work range of another city
2023-06-12 10:27:26 +03:00
SomeTroglodyte
3187f49e91
UiElementDocsWriter improvement to cope with BorderedTable (#9506) 2023-06-11 14:45:59 +03:00
SomeTroglodyte
7fb8bae251
Fix translated sorting (#9563)
* Fix translated sorting

* Minor linting, missing pedia icon, missing tooltip template

* Wiki on icons for Beliefs
2023-06-11 12:37:25 +03:00
Yair Morgenstern
4dad953db9 bugfix: AI evaluation of ButItemsDiscount no longer crashes 2023-06-11 11:10:33 +03:00
SomeTroglodyte
13619d18a1
Upgraded music player popup (#9514)
* Popups get the ability to scroll only the content without the buttons

* Centralize LoadingPopup

* Split non-WorldScreenMenuPopup classes off from that file

* Linting

* Nicer music playback dialog

* Translation templates
2023-06-04 11:53:56 +03:00
SomeTroglodyte
fcd309781d
Upgrading from Unit overview improved (#9485)
* Unit upgrade tooltip in overview

* Unit upgrade tooltip in action table

* Unit upgrade tooltip in action table - colored Key

* Unit upgrade in Overview - reselect

* Fix merge problems and FormattedLine color markup ability

* Relax MarkupRenderer.render lines parameter type

* Skin has a getColor shortcut - use it

* Unit overview upgrade icons now open a menu instead of upgrading immediately

* Unit Overview upgrade - "Mid" buttons

* Unit Overview upgrade - reorg
2023-05-31 18:41:57 +03:00
SomeTroglodyte
5f60c887f7
Next-Turn Progressbar (#9409)
* Next-Turn Progressbar

* Next-Turn Progressbar - doc

* NextTurnProgress: Rethink max on first turn
2023-05-22 17:59:28 +03:00
Yair Morgenstern
280025fa10 Resolved #9416 - failure to get preview image no longer causes crash 2023-05-21 12:35:57 +03:00
SomeTroglodyte
1de866c7ed
Local and/or jpg mod previews (#9394)
* Allow mod preview image to be a jpg

* Allow preview images from WIP mods lacking github url

* Wiki preview.jpg

* Allow mod preview image to be a jpg - review
2023-05-16 13:00:44 +03:00
Yair Morgenstern
5bbd8bce53 Allow mods to contain a "preview.png" file for visual indication 2023-05-14 14:36:46 +03:00
Skekdog
a3ef6fa314
Add May not annex cities unique (#9314)
* Add `May not annex cities` unique, following same behaviour as Civ5 Venice. Hopefully this time I won't need to re-install windows.

* Add `May not annex cities` unique, following same behaviour as Civ5 Venice. Hopefully this time I won't need to re-install windows.

* Fix raze button being unavailable in city screen

* Fixed raze button being available in city screen, as per civ5

* Corrected indentation

* mayAnnex instead of canAnnex, hasUnique rather than getMatchingUniques

* AI will follow rules

* Replaced getMatchingUniques with hasUnique, for real this time
2023-05-09 23:02:19 +03:00