Commit Graph

2920 Commits

Author SHA1 Message Date
adaee7e7ab City State quests (#3183)
* City State quests

* Flag to log two civ ever been friends
* Utility functions in GameInfo
* Created Diplomacy Action for notifications
* Utility functions for map
* Can be specified a custom color for surroundWithCircle
* Translation placeholder utility
* Added Quest model
* Utility function: number of researched technologies

* Image atlas rebuilt

* Localization

* Updated DiplomaticFlags and added EverBeenFriends

Slightly reworked nextTurnFlags() for code clarity and introduced the new flag EverBeenFriends that is set as soon as two civilizations are at least friends. It never expires.

* Removed quests not implemented yet from json
2020-09-29 23:26:50 +03:00
9b3dd5058f Better checking for unloadable scenarios 2020-09-29 14:15:00 +03:00
6662944f32 Resolved #3085 - reconquering our cities while they were still in resistance leads to them not having resistance against us 2020-09-29 11:48:21 +03:00
56dbd5459e "No Maintenance costs for improvements in []" generic unique. Compatibility for Incan unique without having to edit the nations.json file. (#3194) 2020-09-28 23:34:36 +03:00
30396239c1 Cannot open multiple gold selection popups in trade table 2020-09-28 23:06:46 +03:00
e1819eb748 Scenarios that can't be loaded not displayed to users 2020-09-26 21:24:54 +03:00
0f97c5eb59 parameterized few uniques, fixed "Mass Media" tech in mods (#3184)
* parameterized "Culture cost of adopting new Policies reduced by [10]%" and "Each city founded increases culture cost of policies [33]% less than normal"

* removed old fix for abcense of "Mass Media" tech so mods can have this tech
2020-09-26 20:59:22 +03:00
33270baea2 Resolved #3186 - Diplomacy overview displays war/peace status and not relationship level. 2020-09-26 20:40:51 +03:00
43bef4d88d Better trade cancellation when all cities are offered (also includes player-to-player cases, not only AI) 2020-09-25 15:33:12 +03:00
009c59b77c Fixed modded images not loading properly 2020-09-25 13:50:02 +03:00
98a79f8fb4 Removed edge case option where the AI can trade you all of their cities 2020-09-25 13:42:13 +03:00
1f52a8ad88 Hide Unit or Building as Unique (#3181)
* This allows for unique unit or building not to be displayed as a unique on the nation select screen and nation civilopedia entry.

The primary usage of this to allow modders to avoid having their dummy unit/building that is used to disallow a nation from making the unit/building it replaces, from
appearing as a unique to the player. In other words, it won't show the comparison stats/etc.

In conjunction with this PR https://github.com/yairm210/Unciv/pull/3180 it allows modders to cleanly disallow nations from making certain units/buildings.

This would also be useful for Venice from the Brave New World expansion as it cannot build Settlers. https://civilization.fandom.com/wiki/Venetian_(Civ5)

Here is a mod to test this PR:
https://cdn.discordapp.com/attachments/670547794951405584/758550228126793759/Test_Hide_As_Unique.zip

This mod disallows Babylon from making Scout and Horseman and also doesn't show the dummy replacement unit/building on Babylon's nation info.
It also makes Babylon have a unique Monument replacement that it can build, but is still not shown as a unique on Babylon's nation info.
It also adds an example Venice nation that can't build Settlers.

* "Will not be displayed in Civilopedia" unique prevents a unit or building from being shown in Civilopedia or shown as a unique
2020-09-25 12:37:23 +03:00
4ee3dae134 * tweaked some buildings (#3172)
Windmill provides "+[10]% Production when constructing [Buildings]" (only regular buildings) instead of 10% to everything
Oxford University does not provide 50% science boost - it was a copying error from National College
* tweaked techs
Implemented "Reveals the entire map" unique ("Satellites" tech)
discovering a tech can trigger unique
"Remove Marsh" unlocked with "Masonry"
2020-09-22 15:17:04 +03:00
53a836201d This allows mods to override unique text for nations. This is useful for using uniques but phrasing them differently when shown to the player. (#3166)
The attribute in the nation json to change this is "uniqueText"

A mod to test this is here, it changes Babylon's unique text to "Test Babylon Unique Text"
https://cdn.discordapp.com/attachments/670547794951405584/757393404924526672/Test_Custom_Nation_Unique_Text.zip
2020-09-21 21:45:49 +03:00
f721f59734 Added national wonders, fixed some minor issues (#3163)
* fixed translation of "Owned: [amountOwned] = " line

* Tweaked culture from killing
Aztecs get melee strength of the unit killed in culture and honor opener does the same thing.
They stack. So you get culture equal to 200% of the dead unit's strength (not ranged strength).

* removed hurryCostModifier from units that should not have it

Default value of HurryCostModifier is 0
List of units with non-default HurryCostModifier:

Settler (20)
SS parts (-1) (cannot be hurried)

Frigate (20)
Ship of the Line (20)
Caravel (30)
Turtle Ship (30)

Catapult (20)
Ballista (20)

Horseman (20)
Companion Cavalry (20)

Swordsman (20)
Mohawk Warrior (20)
Legion (20)
Berserker (20)

* added missing definitions from vanilla (commented out)
added missing obsolete tech tags, etc

* tweaked hurryCostModifier, added missing vanilla buildings (commented out)

* added promotions and parametrized uniques
Morale (+[15]% Combat Strength)
Great Generals I ([Great General] is earned [50]% faster)
Great Generals II ([Great General] is earned [100]% faster)
Quick Study ([50]% Bonus XP gain)
Unretired Mass Media icon

Added Heroic Epic, National Epic and National Treasury national wonders
Heroic Epic has unique "All newly-trained [non-air] units in this city receive the [Morale] promotion" - "non-air" is valid param now

[Raising The Flag on Iwo Jima silhouette, Marine Corps War Memorial Raising the Flag on Iwo Jima Battle of Iwo Jima Washington, D.C., memorial free png](https://www.pngfuel.com/free-png/opgid) for Heroic Epic and Morale promotion
[Arc de Triomphe](https://thenounproject.com/search/?q=Arc%20de%20Triomphe&i=2936011) by iconfield for National Epic
[Bank](https://thenounproject.com/term/bank/213472/) by By P Thanga Vignesh for National Treasury
reused general icon for Great Generals and Quick Study promotions

* implemented "Cost increases by [30] per owned city of cities" unique
All vanilla national wonders that require something in all cities have it

* added uniques
"Nuclear weapon" - Game option "nuclearWeaponsEnabled" enables units with this unique
"Requires [building]" - Apollo Program, Manhattan Project etc
"Requires adopted [policy]" - in expansions Statue of Zeus will require "Honor", Prora - "Autocracy", Landsknecht - "Mercenary Army".

* merged "Requires adopted [policy]" with "Requires [Wonder]"

* Separated unique.params[0] to val filter

* Changed National Epic image
2020-09-21 21:44:52 +03:00
205b5ccfea Implement custom save locations for Android and Desktop (#3160)
* Implement custom save locations for Android and Desktop

* Request write permission to save to external storage

* Fix race condition for custom saves/loads caused by autosaves

* Remove unnecessary WRITE_EXTERNAL_STORAGE permission for saving files

* Fix padding for custom save/load location buttons

* Use nullability checks as defined in coding style guide

* Use nullability checks as defined in coding style guide

* Use early return for readability

* Rename save/load completion callbacks for custom locations and implement error handling
2020-09-20 23:22:07 +03:00
fded66b523 Trade table options are now mousewheel-scrollable - the problem was there was a scrollpane within a scrollpane - #2824 2020-09-20 22:20:33 +03:00
ef181a4f4c Adds "Start with [] technology" unique (#3150)
* Adds "Start with [] technology" unique, useful for mods and Hunnic civilization from official CIV 5 DLC Gods and Kings. This unique can be tested with this mod https://cdn.discordapp.com/attachments/670547794951405584/756223352930304140/Test_Start_Technology_Nation_Unique.zip which lets Babylon start with Pottery.

* assigning the start technology unique parameter value to variable, changing the unique syntax to 'Starts with []'
2020-09-20 20:29:04 +03:00
eb7aac0959 Added 'back button' functionality to victory screen (#2824) 2020-09-18 13:58:17 +03:00
8db955b851 3.10.10 2020-09-18 11:27:11 +03:00
9f4607635b UI Upgrade (#3149)
* UI Update

* Replace ScrollPane with Table in Minimap
2020-09-18 10:59:18 +03:00
a0d18889e0 Generified "[X] free [] units"
Barbarians don't try to attack with civilian units (classic Mod)
2020-09-16 20:46:34 +03:00
1ceb3548dd Resolved #3130 - "All policies adopted" shown in policy picker screen when relevant 2020-09-16 19:17:25 +03:00
1f4d5f5573 Multiselect applies to civilian units and from city overlays 2020-09-14 21:48:46 +03:00
044d04ab28 implement fun isHill() = baseTerrain == Constants.hill (#3128)
fixed isAdjacentToFreshwater - should also check for river on tile
use fitsUniqueFilter instead of checking baseTerrain, terrainFeature and some other filters separately
changes nothing but makes hill PR a lot more readable
2020-09-12 21:34:23 +03:00
7a7028e3a5 Can now move multiple units to nearby tiles at the same turn 2020-09-11 17:56:23 +03:00
5a44d7e098 Multiple selected units are more obvious on-map 2020-09-11 17:09:50 +03:00
f63005ad3c Multiselect & move works! Currently very restricted and not all selected units are visible to user 2020-09-11 16:55:35 +03:00
c659af8762 Movement popup can handle multiple selected units, but only considers one of them 'moveable' - so far no functional change, only bricklaying 2020-09-11 16:16:25 +03:00
b9938eb116 Unreachable tiles for air units merged with the rest of the 'can move tile to' logic 2020-09-11 15:57:23 +03:00
7e36b51db5 Changes to MoveButtonDto in preparation for multiple unit movement 2020-09-11 15:40:43 +03:00
395292e2f3 Added backing field selectedUnits:ArrayList<MapUnit> for selectedUnit in UnitTable - will allow multi-select in the future, no functional change for now 2020-09-11 12:04:43 +03:00
4844a0e005 Fixed fresh water adjacency - @HadeanLake 2020-09-11 11:02:05 +03:00
265e6416f9 Ottoman unique is back to how it should be in Vanilla - @lishaoxia1985 don't slip gameplay changes into a UI commit please. 2020-09-11 09:29:56 +03:00
cb0599b9f5 Simplified "on [seacost]" and "on [tile next to fresh water]" to "next to [Coast]" and "next to [Fresh water]" 2020-09-11 09:24:08 +03:00
9e7b28a6e4 Background tiles are no longer "fuzzy" 2020-09-11 09:09:29 +03:00
9f48f43ad0 parameterized some uniques, fixes some minor bugs (#3122)
Fixed Moai
Wonder overlay will remove terrain overlay in default tileset
Oasis, Marsh and Atoll now have "Rare feature" unique, rare features can be added by mods
implemented TileInfo.fitsUniqueFilter(filterText:String): Boolean
parameterized uniques:
* "Must have an owned [Mountain] within [2] tiles"
* "Must be on [River]" - not to be confused with "Must be next to [River]" - the tile city on must have river at its border, not the adjacent tile
* "Must not be on [Hill]"
* "Must not be next to []"
* "Must be on [seacoast]" - next to "Coast" tile
* "Must be on [tile adjacent to source of fresh water]"
* "Must be next to [Water]" - next to any water tile, including "Lakes"
* "Must be next to [terrainFeature]"
* "Must be next to [unique]" - e.g "Must be next to [Rare feature]" - next to terrain or terrain feature having this unique
2020-09-11 07:56:56 +03:00
3eee2bff78 Resolved #3115 - AI no longer congregates great people in cities where it can't improve tiles 2020-09-10 21:00:53 +03:00
9ba9dd6fcf Fixed AI unit upgrading - can now 'skip' over intermediate units, the way the "promote unit" action works. #3115 2020-09-10 19:51:14 +03:00
10b0d498c6 Merge branch 'master' of https://github.com/yairm210/Unciv 2020-09-10 19:50:05 +03:00
5e8f1176f3 3.10.8-patch1 2020-09-10 19:32:45 +03:00
9d951835d1 UI Update (#3102)
* Add "Load game" in WorldscreenMenuPopup

* UI Update

* Fix the Ottomans uniques, edit Tech description
2020-09-10 19:25:56 +03:00
baa7044fd1 Resolved #3048 - Fixed ANRs on 'Resume' on huge save files 2020-09-08 19:30:56 +03:00
3719b5c4f6 Added mod screen translation terms 2020-09-07 23:03:12 +03:00
4fa77ac20b Mod management screen scrolls lists separately 2020-09-07 22:38:05 +03:00
6d4c1cb347 Resolved #3059 - better city expansion rules 2020-09-06 23:18:15 +03:00
9034729dfd Intercept damage bonus (from promotions) treated as a unique 2020-09-06 20:19:20 +03:00
588aa7a177 Resolved #3081 - fixed bug in air interception 2020-09-06 20:05:36 +03:00
f2ddda0a6f Show that air units can move to tiles within attack range (#3101)
Previously, only tiles (with a city or carrier) outside the
attack range got a white circle. Now all tiles to which the
air unit can move get a white circle.
2020-09-06 18:48:45 +03:00
8ac3a88cec fixed #3066, crash in chooseMilitaryUnit and some great people actions (#3099)
* fixed KotlinNullPointerException crash in chooseMilitaryUnit
random() is not to be used in predicate
* GodmodeCheckbox is not lockable and unchecked by default
* no great people actions if no movement points left
* unique "Can start an []-turn golden age" now has parameter and 8-turn golden ages will last 8 turns instead of 10
golden age can be started if unit is on own territory (even embarked)
* "Golden Age length increased by [50]%" - now has parameter
* tweaked changed fort and terrain defence bonuses
fort can be built on forest and jungle (vegetation will not be removed)
any open flat land gives 10%  penalty
marsh gives 15% penalty
only top terrain counts, improvement bonus will be added to that
flatland + fort = 40%
hill + fort = 75%
hill = 25%
forest/jungle on flatland = 25%
forest/jungle on hill = 25%
forest on flat + fort = 75%
forest on hill + fort = 75%
forest on hill + citadel = 125%
fixed 20% penalty for attacking over river - will be displayed if unit is standing on the other side of river
"Amphibious" unique removes this penalty
2020-09-05 20:32:27 +03:00