Commit Graph

124 Commits

Author SHA1 Message Date
Yair Morgenstern
1e027199a6 4.7.19 2023-08-31 00:04:19 +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
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
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
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
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
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
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
Yair Morgenstern
4dad953db9 bugfix: AI evaluation of ButItemsDiscount no longer crashes 2023-06-11 11:10:33 +03:00
Yair Morgenstern
280025fa10 Resolved #9416 - failure to get preview image no longer causes crash 2023-05-21 12:35:57 +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
Yair Morgenstern
4d63f0542f Avoid font-related crash 2023-04-19 11:26:11 +03:00
Yair Morgenstern
2f25ed3053 Replaced hardcoded embarked sight with configurable
"Normal vision when embarked" replaced by "[+1] Sight <for [Embarked] units>"
2023-04-19 11:12:21 +03:00
Yair Morgenstern
ab1d823477 4.6.2 2023-04-16 15:01:43 +03:00
Yair Morgenstern
28f5043fcb 4.6.1 2023-04-13 16:26:43 +03:00
Yair Morgenstern
a363edaa6a 4.6.0 2023-04-09 18:15:53 +03:00
Yair Morgenstern
adb51d9264
Resource stockpiles! (#9147)
* Resource stockpiles!

* toString extension including sign (+/-)

* Trigger uniques to provide/consume stockpiled resources

* Fixed build

* Display 'per turn' for stockpiled resources that are consumed per turn

* "Costs [amount] [resource]" works!

* Stockpile unique costs are displayed in construction button

* Added unique to prevert certain resources from being traded
2023-04-09 18:01:26 +03:00
Yair Morgenstern
711655c786 Better wrapping for long construction item names 2023-04-09 01:20:17 +03:00
Yair Morgenstern
e5452f5605 modding: 'Only available when' applies to beliefs 2023-03-20 22:19:00 +02:00
Yair Morgenstern
f89765354a Resolved #8901 - Modding: Units from triggers respect "limited to [amount] per civilization" limits 2023-03-15 19:19:35 +02:00
SomeTroglodyte
db08c30363
Make City center minimum tile yields moddable (#8804)
* Slight cleanup of TileStatFunctions

* Make City center minimum tile yields moddable

* Make City center minimum tile yields moddable - patch1

* Make City center minimum tile yields moddable - patch1
2023-03-13 17:02:08 +02:00
Yair Morgenstern
cd8b68253b All units can be automated
Modders can choose which units get it as a primary action
2023-03-13 16:55:50 +02:00
Yair Morgenstern
d3c084f89f Added 'additional times' to limited actions 2023-03-05 20:03:54 +02:00
Yair Morgenstern
8c24926476 Modding: global alert available as triggerable for all objects 2023-03-05 12:53:02 +02:00
Yair Morgenstern
253c669ba9 Added 'after which this unit is consumed' for units whose only purpose is limited actions 2023-03-03 16:37:11 +02:00
Yair Morgenstern
608e0dfb71 Added limited usage for actions! 2023-03-03 14:47:50 +02:00
Yair Morgenstern
c3a4a18bba Replace unit action for timed golden ages with a generic triggered unique
Triggered uniques display side effects
2023-03-03 14:13:00 +02:00
Yair Morgenstern
06fa2c2378 Added 'for [amount] movement' unit action modifier 2023-03-02 21:02:34 +02:00
Yair Morgenstern
5e85c3ca72 "by consuming this unit" is better 2023-03-01 16:35:06 +02:00
Yair Morgenstern
ae501c3750 'create improvement' action, <consuming this unit> and <as an action> modifiers 2023-03-01 16:09:44 +02:00
Yair Morgenstern
66faeb0d15 Preparation for unit action modifiers 2023-03-01 15:26:54 +02:00
Yair Morgenstern
44399e770c Added triggered uniques to grant specific tech / policy 2023-02-27 10:58:08 +02:00
Yair Morgenstern
8361d68452 Added 'upon ending turn in tile' unit trigger 2023-02-26 23:41:09 +02:00
Yair Morgenstern
86a63ac578 'upon conquering' is a condition not a triggered unique 2023-02-26 22:33:00 +02:00
Yair Morgenstern
c1df32b4e7 Add new uniques to wiki 2023-02-26 22:15:15 +02:00
Yair Morgenstern
090c421f9b Introduced "upon defeating [unitFilter] unit" trigger 2023-02-26 20:31:13 +02:00
Yair Morgenstern
ad9942c532 4.5.0 2023-02-25 21:03:52 +02:00
Yair Morgenstern
3278cbc904 4.4.19 2023-02-23 23:11:30 +02:00
Yair Morgenstern
06292bec64 Fix unique parameter type 2023-02-22 09:54:10 +02:00
Yair Morgenstern
7b1a5e296c modding: Added "upon gaining a [unitFilter] unit" trigger condition 2023-02-22 09:32:50 +02:00
Yair Morgenstern
2e5d1bf591 Resolved #8435 - rivers remain visible after founding city 2023-01-22 19:33:27 +02:00
Yair Morgenstern
39e88d3a1a Added "upon discovering a Natural Wonder" trigger - @letstalkaboutdune 2023-01-22 19:05:17 +02:00