Commit Graph

106 Commits

Author SHA1 Message Date
Yair Morgenstern
3d683c767a Added "Consumes [amount] [resourceName]" unique for buildings 2021-02-06 21:12:44 +02:00
Yair Morgenstern
b0bf18afa0 Added custom victory conditions 2021-02-05 16:06:58 +02:00
GGGuenni
679ca2ba6c
changed case sensitivity (#3577)
somehow I forgot to change most of the texts
2021-02-04 21:50:44 +02:00
GGGuenni
a07e3947d2
Refactoring of MultiplayerScreen (#3572)
* Refactoring

- Removed unnecessary .tr()
- changed text case sensitivity
- changed popup to YesNoPopup
- combined multiplayerGames.remove and deleteSave into removeMultiplayerGame to reduce unnecessary try catch blocks

* Update case sensitivity translations

* adding "Game settings" entry
2021-02-04 19:13:01 +02:00
Yair Morgenstern
9d647447bc Added improvement-constructing buildings 2021-02-03 21:09:29 +02:00
GGGuenni
aa1bd3cd7e
Adding resign function for multiplayer (#3567)
* Adding give up function for multiplayer

* Update template.properties

* Reviewed changes

- Changed "give up" to "resign"
- Removed unnecessary and harmful translations
- Using YesNoPopup now

* Add missing space

* fixed first AI turn getting skipped
2021-02-02 16:43:51 +02:00
Yair Morgenstern
0800dbba51 Resolved #3533 - Added confirmation popup when saving over existing save 2021-01-15 13:28:29 +02:00
Huichan Lee
76e9f973c5
updated translation (#3453) 2020-12-25 12:54:45 +02:00
Yair Morgenstern
9b6dd71d22 Resolved #3422 - added fast switch between adjacent cities in city screen 2020-12-19 21:39:30 +02:00
Yair Morgenstern
d0df571ca5 Fixed broken translation 2020-12-13 11:30:02 +02:00
Yair Morgenstern
8a5247324c 3.11.18 2020-12-06 22:16:03 +02:00
Yair Morgenstern
c12afb4131 "have signed the peace treaty" -> "have signed a peace treaty" 2020-12-03 23:29:36 +02:00
Yair Morgenstern
0952a6a5a6 Test-breaking text error, good thing we have tests :) 2020-11-23 19:08:01 +02:00
Yair Morgenstern
eb7a064019 Resolved #3335 - Removed all unecessary spaces and colons 2020-11-22 22:48:38 +02:00
Yair Morgenstern
3d1e1d7936 Removed some confusing and pointless ": " at the end of translations - #3335 2020-11-22 22:41:12 +02:00
givehub99
072226ff9a
Added "All [] Cities get a free []" unique. (#3352)
* Added "All [] Cities get a free []" unique.

The first parameter is for city type. Currently "new" and "coastal" are supported.
"new" matches every city and "coastal" matches cities on a coastal tile.
"new" and "coastal" were added to template.properties for translation.

Upon city founding, the second parameter building is added to the city.

In civ 5 G&K, Carthage gets a free harbor for every coastal city.

* -Syntax changed to "Get a free [] []"
First paramater is the building and second is the city filter.
Supports "in every city" and "in every coastal city"

-new and coastal was removed from template.properties
-in every coastal city was added to template.properties

* Changed syntax to "Gain a free [] []"
2020-11-22 11:55:34 +02:00
givehub99
64fc57e6d2
Helicopter Gunship uniques (#3294)
* Preparation for Helicopter unit

-"All tiles costs 1" unique makes every tile cost 1. Used by Helicopter in CIV 5.

-"Can pass through impassable tiles" unique allows unit to pass through any tile. Used by Helicopter in CIV 5. Does not let units cross ocean if they couldn't already, just terrain that is considered "impassable"

-Mountains now do 50 damage to units that end turn on it. In civ 5 and its expansion this is what happens to any unit that is able to pass mountains.
This is "hard coded" for now. Also added the notification text to template.properties

* mountains do not give sight bonus when on them

* Revert "mountains do not give sight bonus when on them"

This reverts commit 83ad3df5d4.
2020-10-26 20:28:44 +02:00
Yair Morgenstern
895ed528af Resolved #3285 - added a notification when cities are no longer in resistance 2020-10-24 22:43:04 +03:00
givehub99
d75541e5b4
Consolidated unit kill bonus uniques (#3267)
* -Consolidated unit kill bonus uniques.
Syntax is "Earn []% of [] opponent's [] as [] for kills" for both units and nations.

Ex.
"Earn [10]% of [military] opponent's [Cost] as [Gold] for kills"
or
"Earn [100]% of [Barbarians] opponent's [Strength] as [Culture] for kills"

Only Culture and Gold are supported as rewards now, but it can be expanded later. The pictish warrior unit in G&K gets 50% of opponent's strength as faith, so we can have the function edited to allow for faith when we get to that point.
Only Strength or Cost is supported as what the reward amount is based on.

-Policies.json and Nations.json were changed to fit the new syntax. The old syntax still works for mods for now.

-matchesCategory MapUnit function can now check if the unit is a barbarian

* -Compatibility for depecrated unit kill bonus uniques done more efficiently and counted only once (since prior to this PR, it was also counted only once)

* -Changed it to "Barbarian" instead of "Barbarians", added "Barbarian" to template.properties

* space after translation template
2020-10-18 18:10:26 +03:00
givehub99
8c51833a5a
New parameterized uniques (#3250)
* -New unit unique "Bonus as Defender []%". "+25% Combat Bonus when defending" now deprecated, but kept for now for mods. Json promotion changed to fit new syntax.
Defender Bonus modifier "Defender Bonus" added to template.properties for translation.

-"All newly-trained [] units in this city receive the [] promotion" now uses unit category checking.

-New building unique "New [] units start with [] Experience in this city"
This can used by Poland's stable unique replacement in BNW, as it gives extra xp for mounted units.
"New [] units start with [] Experience" is the new nation wide version of this.

"New military units start with [] Experience" is now deprecated, but kept for now for mods. Json policy changed to fit new syntax.

-Unit category checking can now check for "non-air", "military", "military units" and uniques.
Added "military" to template.properties for translation.

-New unit unique "No defensive terrain penalty". Admittedly this is for a mod I'm making.

* translations must have spaces after!

* -Attacker Bonus unique changed to "+[]% Strength when attacking"
Changed Units.json and and Wolf Pack from UnitPromotions.json to this syntax

-Defender Bonus unique changed to "+[]% Strength when defending"
Armor Plating promotions were changed to this syntax
2020-10-14 10:22:49 +03:00
Federico Luongo
b5a32e64ae
City-states personalities (#3259)
* City State Personality

* Introduced 4 personalities for city states: Friendly, Neutral, Hostile and Irrational.
* Influence recovery and degrade depends on city state personality.

* Quests assignement dependant on Personality and Trait

* Personality localization strings
2020-10-14 09:51:31 +03:00
givehub99
da328c0408
Unified Unit Category Checking For Uniques (#3238)
* Starting unified unit category checking. This will increase flexibility with uniques as well as cut down on uniques that have only a slightly different way of checking unit categories.

Things currently checked by the category checking method are:
Type of unit
Name of unit
Whether unit is wounded
If the unit is land, water, or air

"Bonus vs City y%" still works currently.

Uniques that have been changed/added to use this category checking method so far are:

"Bonus vs x y%"
"[] units deal +[]% damage" (parameterization of "Wounded military units deal +25% damage")
"[] units gain the [] promotion"

If PR approved, using this method for more uniques would be a good idea.

Commented as depecrated are these uniques
"+[]% Strength vs []" (this has not been used in json files)
"Wounded military units deal +25% damage" (policies json file was updated to use parameterized version)

The following was added to template.properties for translating modifiers:

Air
Wounded

* translation ending with a space

* -Changed matchesCategory method for CityCombatant to what was suggested
-Changed matchesCategory method for MapUnitCombatant to what was suggested
-Use type.name instead of type.toString().toLowerCase()
-Lowercasing is no longer allowed for type names and unit names.

I kept the lower cased versions of wounded, land, water, and air for compatibility as several of the uniques are phrased like "Bonus vs land units 25%" and such and have entries in template.properties (ie. land units = ).

* -Lowercasing is no longer allowed. For wounded, land, water or air, you have to either use the capitalized version (ie. "Wounded") or lower case with units (ie. "wounded units"). This lets preexisting uniques that use "wounded units" etc still work while also letting people use the singular capitalized word (ie. "Wounded") for other uniques.

* fixed missing check for wounded units
2020-10-08 13:09:05 +03:00
givehub99
9ffa0bee54
Consolidated Generic Tile Bonus Uniques (including Friendly Land, Foreign Land) (#3232)
* Redid things with help from HadeanLake:

-"+[]% combat bonus in []" Unit Unique
-"+[]% combat bonus for units fighting in []" Nation Unique
-Both of these can check for terrain or Friendly Land or Foreign Land
-Function to add stacking modifiers
-Himeji Castle and Foreign Legion had uniques changed to fit this syntax
-Old way still works for now, but deprecated

* fixed comments about deprecation and the new syntax
2020-10-06 10:52:30 +03:00
Yair Morgenstern
523ed10e68 Specialist names are taken from the json files 2020-10-04 16:25:07 +03:00
Yair Morgenstern
3e98e0c00f 3.11.0 2020-10-03 20:48:34 +03:00
Yair Morgenstern
bfa9c65700 Modding - Buildings can be rendered obsolete (unbuildable) by techs 2020-09-30 23:17:09 +03:00
Federico Luongo
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
HadeanLake
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
Yair Morgenstern
8db955b851 3.10.10 2020-09-18 11:27:11 +03:00
lishaoxia1985
9f4607635b
UI Upgrade (#3149)
* UI Update

* Replace ScrollPane with Table in Minimap
2020-09-18 10:59:18 +03:00
Yair Morgenstern
1ceb3548dd Resolved #3130 - "All policies adopted" shown in policy picker screen when relevant 2020-09-16 19:17:25 +03:00
Yair Morgenstern
7d32412646 Translation updates, with minor changes to ensure consistency 2020-09-11 11:16:31 +03:00
Yair Morgenstern
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
HadeanLake
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
lishaoxia1985
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
Yair Morgenstern
3719b5c4f6 Added mod screen translation terms 2020-09-07 23:03:12 +03:00
Yair Morgenstern
ca36084e8b 3.10.7 2020-09-04 16:44:00 +03:00
HadeanLake
8f75368b99
Farms near freshwater (#3063)
* Farms near freshwater
* Farm now has unique "Can also be built on tiles adjacent to fresh water"
https://civilization.fandom.com/wiki/Farm_(Civ5)
Even snow: https://www.reddit.com/r/civ/comments/11qtko/farms_on_snow/
Hill+Farm, Snow+Farm, Tundra+Farm sprites by THE BUCKETEER and Ravignir from discord
* fields improvingTech and improvingTechStats converted into uniques
e.g.:
"[+1 Production] once [Scientific Theory] is discovered"
"[+1 Food] on [fresh water] tiles once [Civil Service] is discovered"
"[+1 Food] on [non-fresh water] tiles once [Fertilizer] is discovered"

* ai will build trading posts and farms in snow and tundra if it has no better tiles to work on

* "Provides a one-time Production bonus to the closest city when cut down" unique for forest

* update template.properties
2020-09-02 19:49:29 +03:00
Yair Morgenstern
e111bba509 #3050 - Added "automated workers don't replace improvements" setting 2020-08-31 22:39:03 +03:00
Yair Morgenstern
c61ec2120b Separated base ruleset mods in new game screen - cannot activate multiple base ruleset mods 2020-08-31 21:24:36 +03:00
HadeanLake
e6e31b4e1a
Aztecs and some other things (#3033)
* Added icons
* [temple](https://thenounproject.com/search/?q=temple&i=28256) By Fabio Meroni for Temple of Artemis
* [Canoe](https://thenounproject.com/term/canoe/402285/) By Viktor Fedyuk (Tim P) for Floating Gardens
* [Garden](https://thenounproject.com/search/?q=garden&i=1478380) By Bharat
Aztecs by Séan https://discord.com/channels/586194543280390151/633733497277775884/727255962754351104
Jaguar by Red11

Reused slinger icon for Slinger Withdraw

* Added buildings and uniques for them
garden - bonus building of the Medieval Era. City "Must border a source of fresh water"
Temple of Artemis - World wonder of the Ancient era
Floating Gardens - Aztec unique building, replaces Water Mill

"[+1 Science] Per [2] Population in this city" - for Library and Public School
"+[]% great person generation in this city" - for garden
"Must border a source of fresh water" - "fresh water" provided by river or tiles with "Fresh water" unique. Added "Fresh water" unique to Lakes and Oasis
"+[10]% growth in all cities" - now has parameter - for Tradition Complete policy and Temple of Artemis
"+[10]% growth in capital" - now has parameter
"+[15]% Production when constructing [ranged units]"   - "ranged units" now valid param
"[stats] once [tech] is discovered" - Petra and Mughal Fort have it
"[+1 Production] from [River] tiles in this city"]  - now can use "River" - for Hydro plant

* Added Jaguar - Aztec unique unit
New unique - "+[]% combat bonus in [param]" unique - Norwegian Ski Infantry, Jaguars and Mohawks have it. param can be terrainFeature or baseTerrain, in case of baseTerrain it implies there are no features like vegetation her
Implemented "Culture for the empire from each enemy unit killed"
tweaked honor policy - it should bring half as much culture, and same as Sacrificial Captives
Fixed penalty for terrain if unit do not have "No defensive terrain bonus" unique

* Added Aztecs

* Update template.properties

* update template.properties

* update template.properties

* update template.properties
2020-08-30 21:02:59 +03:00
HadeanLake
15ed1a608b
New uniques and stuff for mods (#3055)
* "[+1 Gold] for each adjacent [Road]" Roadstatus can be used now in tile improvement uniques

* Added hasViewableResource check to "[stats] from every [Resource]"

* Fixed translation of nation uniques

* Eras with no researchable techs will not appear in dropdown menu in new game options

* Implemented startingUnits, aiMajorCivStartingUnits and aiCityStateStartingUnits fields in difficulty

* reassignRemovedModReferences will also reassign if nation is a City-State in current ruleset
e.g. Venice will be unselected if player unselects Civ5ExpansionMod which has it as playable civ

* "Cannot be purchased" - new unique for non-wonders and units. SS parts have it

* Update template.properties

* Update Difficulty.kt
2020-08-30 15:48:00 +03:00
Yair Morgenstern
45d90c0458 Unified construction filtering for civ- and city-wide uniques 2020-08-24 14:30:26 +03:00
Yair Morgenstern
6ff712b625 A mishmash of different fixes: Unit uniques and promotions, happiness calculation, etc. 2020-08-24 10:58:14 +03:00
Yair Morgenstern
21c8336563 unit.getMatchingUniques() 2020-08-24 09:48:33 +03:00
Yair Morgenstern
40f93461fa With new translation lines 2020-08-23 21:27:31 +03:00
Yair Morgenstern
db7f064498 Resolved #3016 - Policy branch uniques are translated properly 2020-08-21 14:06:29 +03:00
Yair Morgenstern
270c50afd6 Generified more building uniques and merged functionality of global and city uniques when alculating tile stats 2020-08-20 23:11:53 +03:00
HadeanLake
764a1c3913
scenario editing mode improvements and new unique (#2999)
* scenario editing mode improvements and new uniques

* Fixed Russian nation unique - it is civ-wide bonus

* genericized "+[]% Production when building [] in this city"

* genericized "All newly-trained [] units in this city receive the [] promotion"

* changed some uniques to be able to have list of filters separated by comma as unique param

* scenario editing mode improvements:

Resource requirements when buying buildings and units are ignored

Limit for selling buildings is ignored

Workers improve tiles instantly

Units will not be disbanded if civilization has negative gold

* fix crash in scenario editing mode due to PerpetualConstruction not having a GoldCost

* undo comma separation

* implement All newly-trained [relevant] units in this city receive the [] promotion
relevant as in 'units that can receive'

* upadte template.properties

* unnecessary parentheses

* Not being annoyed by this vs less chance of forgetting to set gold before releasing scenario

* update template.properties

* add missing spaces
2020-08-18 19:20:59 +03:00
Yair Morgenstern
41615909df Translation tests are fixed - translators beware 2020-08-16 22:01:55 +03:00