Commit Graph

123 Commits

Author SHA1 Message Date
Yair Morgenstern
2a262c506a Resolved #3469 - more readable Inca colors 2021-01-06 22:24:01 +02:00
Yair Morgenstern
26c817a4a1 Resolved #3483 - settlers require at least 2 population to construct, as per Civ V 2021-01-01 13:29:03 +02:00
Yair Morgenstern
8689fe0ffa Clarified Protectionism effect 2020-12-23 21:28:59 +02:00
Yair Morgenstern
c7d79ad179 Replaced hardcoded Settler references with unique
Tech uniques now saved in tech object for less regex parsing per turn
2020-12-22 23:31:29 +02:00
Yair Morgenstern
b47af60ade Added road and railroad costs to improvement description 2020-12-21 21:15:07 +02:00
Yair Morgenstern
213e71a97b Reversed requiredBuilding migration to unique 2020-12-21 20:35:02 +02:00
Yair Morgenstern
e3f1c33654 Building.requiredBuildingInAllCities -> "Requires a [] in all cities" unique 2020-12-17 15:46:17 +02:00
Yair Morgenstern
32a2c784fe Fixed tests 2020-12-16 20:23:31 +02:00
Yair Morgenstern
f40584b1ec requiredBuilding parameter migrated to "Requires a [] in this city" unique 2020-12-16 20:14:36 +02:00
이휘찬
d1387a04c3
Implemented missing Korean UA (#3416)
* try to implement korean ability

* Corrected typo error

Coreect camel typo errror

* updated new korean feautre translation.

* edited korean unique text to get right sentence.

* merge duplicated code into addScience(Int)
2020-12-13 12:28:05 +02:00
Yair Morgenstern
963fee3552 Added much-needed "+[]% Production when constructing [] units" unique 2020-12-13 09:27:31 +02:00
Yair Morgenstern
4c48522de2 Removed unused "effects" from the policy file 2020-12-11 14:26:40 +02:00
Yair Morgenstern
d0774db030 Resolved #3408 - Unit maintenance cost reduction generalized, now works for Ottomans 2020-12-11 14:24:09 +02:00
Yair Morgenstern
ceef8bd7ad Fixed self-made bug of missing helicopters... 2020-12-08 21:02:40 +02:00
Yair Morgenstern
8a5247324c 3.11.18 2020-12-06 22:16:03 +02:00
Yair Morgenstern
b50c129e2d "+[] Movement for all [] units" now respects all unit categories 2020-12-06 21:50:46 +02:00
givehub99
6a73909c67
Helicopter Gunship (#3385)
* -Helicopter Gunship Implemented
-Anti-Tank Gun upgrades to it

* unit atlas

* "All tiles cost 1 movement"
2020-12-04 14:20:24 +02:00
ravignir
323c593d6e
Fixed Free Thought trading post bonus. (#3361)
It should provide Science instead of Gold.
2020-11-24 10:52:02 +02:00
Yair Morgenstern
247350d6a1
Revert "-Terracotta Army, Alhambra, Hanse, Leaning Tower of Pisa, Neuschwanstein, and Hubble Space Telescope are no longer buildable or displayed in the pedia since they are not part of vanilla Civ 5. (#3300)" (#3301)
This reverts commit 49cdf09b44.
2020-10-27 00:22:02 +02:00
givehub99
49cdf09b44
-Terracotta Army, Alhambra, Hanse, Leaning Tower of Pisa, Neuschwanstein, and Hubble Space Telescope are no longer buildable or displayed in the pedia since they are not part of vanilla Civ 5. (#3300)
Their entries were kept in the json files so as to not break pre-existing save files.

-Units and buildings that are unbuildable are not shown in the pedia or tech picker as being unlockable by tech
2020-10-27 00:20:48 +02: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
Yair Morgenstern
a6642cb536 Resolved #3265 - added keyboard shortcuts to tile improvements 2020-10-17 22:06:50 +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
Yair Morgenstern
e292c210c8 Added "Must be next to []" unique for tile improvements 2020-10-08 17:35:25 +03:00
Federico Luongo
fea342a31b
Clear Barbarian Camp quest (#3246) 2020-10-08 16:29:56 +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
Federico Luongo
7aedb6d4df
Find Player quest (#3237)
* Find Player quest

* Sequences
2020-10-08 12:25:58 +03:00
givehub99
b96cdae232
Polynesia's unique was fixed to match the syntax of the unique, which is "+[]% Strength if within [] tiles of a []". The 2 was put in brackets. (#3241) 2020-10-07 13:25:44 +03:00
Federico Luongo
1dd82f6f58
Find Natural Wonder Quest implemented (#3211)
* Find Natural Wonder Quest implemented

* List to sequence to list
2020-10-06 13:59:54 +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
Federico Luongo
f9ebc8aa0f
Acquire Great Person Quest implemented (#3210)
* Acquire Great Person Quest implemented

* List to sequence to list
2020-10-06 10:48:59 +03:00
Yair Morgenstern
0e327012a7 Fixed Windmill unique 2020-10-05 22:51:55 +03:00
Giuseppe D'Addio
5e9ffcd22a
Update Quests.json (#3224)
* Update Quests.json

* Update Quests.json
2020-10-05 12:01:50 +03:00
Yair Morgenstern
c70c860437 All specialist slots in jsons converted to proper name 2020-10-04 16:23:35 +03:00
Federico Luongo
2d6c322856
Connect Resource Quest implemented (#3209)
* Removed superfluous filters in getResourceForQuest
2020-10-04 15:01:57 +03:00
Federico Luongo
300c7179e7
Various Quest relted (#3206)
* Renamed some quests to better ones (Kill Camp -> Clear Barbarian Camp and Kill City State -> Conquer City State)
* Quests names are hardcoded in a enum class
* Quests.json translations automated
2020-10-01 21:08:26 +03:00
Yair Morgenstern
aa2486c896 Great person points come from the json! The only things that still happen directly to the specialists stats is the assign/unassign, this is as close as we'll get without changing the rest of it! 2020-09-30 20:18:52 +03:00
Yair Morgenstern
5677fb494a Added helper function colorFromRGB(List<Int>) 2020-09-30 19:26:20 +03:00
Yair Morgenstern
e983be0325 Started converting specialists to by-json and by-name 2020-09-30 13:10:02 +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
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
HadeanLake
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
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
a0d18889e0 Generified "[X] free [] units"
Barbarians don't try to attack with civilian units (classic Mod)
2020-09-16 20:46:34 +03:00
Yair Morgenstern
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
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
HadeanLake
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
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