Commit Graph

630 Commits

Author SHA1 Message Date
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
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
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
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
103234a6b8 Keep track of what mod each ruleset object comes from, for debug and civilopedia purposes 2023-07-05 21:55:57 +03:00
7ebd116a61 awesome-pages wiki modding folder reorg 5 2023-07-02 23:49:29 +03:00
7c0af0c015 awesome-pages wiki modding folder reorg 4 - sections as list 2023-07-02 23:46:15 +03:00
d30bf4cb87 awesome-pages wiki modding folder reorg 3 - sections 2023-07-02 23:45:07 +03:00
2c23dc6e32 awesome-pages wiki modding folder reorg 2 2023-07-02 23:43:10 +03:00
6e0dbea6d4 awesome-pages wiki modding folder reorg 2023-07-02 23:42:07 +03:00
d83c14af03 awesome-pages test 2.1 2023-07-02 23:22:55 +03:00
cf1be27e3c awesome-pages test 2 2023-07-02 23:21:30 +03:00
c26837fdd7 Step-by-step instructions to create a new Civilization mod 2023-07-02 18:10:09 +03:00
f7295884e6 Improved mod overview documentation 2023-07-02 17:13:57 +03:00
48ca477699 More modder documentation clarity 2023-07-02 16:59:11 +03:00
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
76ad2d8e7a mkdocs awesome-pages plugin 2023-07-02 16:35:41 +03:00
df87f203b2 Reorganize modders documentation files 2023-07-02 16:20:37 +03:00
0edfa4841e Better image documentation for modders 2023-07-02 02:42:36 +03:00
bb22b1de72 Actually generated unique type documentation 2023-07-02 01:36:28 +03:00
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
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
330fa6593b 4.7.4 2023-06-25 10:07:17 +03:00
b6aa177311 4.7.3 2023-06-23 09:39:54 +03:00
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
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
e987bbbaad Added new unique - "Automatically built in all cities where it is buildable" 2023-06-19 15:40:21 +03:00
4107e081bd 4.7.2 2023-06-18 18:29:55 +03:00
123a51a6ef Publish new mod category workflow (#9606) 2023-06-18 18:15:13 +03:00
639d34e28d Reordered the region of other global uniques and wrote a few unique tests (#9611) 2023-06-17 20:59:51 +03:00
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
02d7325576 UnitFilter also matches TechFilter for that unit 2023-06-12 23:13:47 +03:00
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
3187f49e91 UiElementDocsWriter improvement to cope with BorderedTable (#9506) 2023-06-11 14:45:59 +03:00
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
c506331dcc Pantheon Mod Constants (#9562)
* Religion Mod Constant

* Update mistake in wiki
2023-06-11 12:36:41 +03:00
4dad953db9 bugfix: AI evaluation of ButItemsDiscount no longer crashes 2023-06-11 11:10:33 +03:00
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
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
0b51fcdb92 docs: added documentation for running detekt (#9443)
* docs: added documentation for running detekt

* docs: added note for windows users
2023-05-23 23:15:24 +03:00
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
280025fa10 Resolved #9416 - failure to get preview image no longer causes crash 2023-05-21 12:35:57 +03:00
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
5bbd8bce53 Allow mods to contain a "preview.png" file for visual indication 2023-05-14 14:36:46 +03:00