Commit Graph

2759 Commits

Author SHA1 Message Date
Yair Morgenstern
b2c6cc59b7 All stat-based uniques are parsed EXACTLY once, for performance reasons and to avoid ANRs 2020-10-26 23:38:29 +02:00
Yair Morgenstern
a3bed178d0 Avoided another rare crash 2020-10-26 23:37:44 +02:00
Yair Morgenstern
250d7debb5 Avoided more badly-defined-mod crashes 2020-10-26 23:20:16 +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
3713923caf Added mods to crash report, many crashes are caused by incorrectly defined mods 2020-10-24 23:16:16 +03:00
Yair Morgenstern
895ed528af Resolved #3285 - added a notification when cities are no longer in resistance 2020-10-24 22:43:04 +03:00
Yair Morgenstern
93aa06bc99 terrain.occursOn is now an arrayList - helps with definition checking and generally simplifies things 2020-10-24 22:38:44 +03:00
Yair Morgenstern
c85b51474c Can no longer start a new game with an incorrectly defined mod! :) 2020-10-24 22:38:19 +03:00
Yair Morgenstern
2a82482d05 Fixed some more silly bugs caused by badly configured mods 2020-10-24 22:21:09 +03:00
Yair Morgenstern
02d2e29700 More tile configurations are enabled (e.g. "baseTile+resource+improvement") 2020-10-24 22:10:23 +03:00
Yair Morgenstern
a9660bba44 Player is informed if Unstable mods are added to a game - and it no longer crashes 2020-10-24 22:04:06 +03:00
Yair Morgenstern
b867e829a4 ResposePopup -> ToastPopup rename 2020-10-24 22:03:25 +03:00
Yair Morgenstern
8dde23aa38 3.11.6 2020-10-21 19:01:07 +03:00
Yair Morgenstern
c7e0b57a5d Changed all prebuilt font characters to single-char characters - this is in the vague hope that it will solve the Mystery of the Disappearing C's 2020-10-20 19:41:36 +03:00
Yair Morgenstern
940fe07a0a Added culture and science colors to resources 2020-10-20 19:26:37 +03:00
Yair Morgenstern
c7b1121fe4 Resolved another crash caused by incorrect ruleset mod definitions 2020-10-19 23:24:53 +03:00
Yair Morgenstern
bd810d3d0c Split civilopedia "buildings" category into "buildings" and "wonders" 2020-10-19 23:21:35 +03:00
Yair Morgenstern
4d3f16c64e Added "locate mod errors" button in the options menu for discovering broken links in base ruleset mods 2020-10-19 23:07:01 +03:00
Yair Morgenstern
3ada446df4 Resolved #3274 - empty maps start with ocean tiles 2020-10-19 22:37:18 +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
Yair Morgenstern
8ad35df0f7 Merge branch 'master' of https://github.com/yairm210/Unciv 2020-10-17 22:16:14 +03:00
Yair Morgenstern
7c8aab1ff0 Mod management screen is not generally available :) 2020-10-17 22:15:49 +03:00
Federico Luongo
a24335abea
Diplomacy Screen right table is scrollable (#3260)
* Diplomacy Screen right table is scrollable

* Scrollable city-state table

* Resized to fit lower resolution

* Fix right table width
2020-10-17 22:07:48 +03:00
Yair Morgenstern
a6642cb536 Resolved #3265 - added keyboard shortcuts to tile improvements 2020-10-17 22:06:50 +03:00
Federico Luongo
8c5e0d1889
Fix for barbarian quest (#3271)
* Coordinates equality is checked between integers, instead of floats
2020-10-17 21:34:01 +03:00
Yair Morgenstern
6d422d6674 City connections work well when road and railroad required techs are changed (in mods) 2020-10-16 14:42:01 +03:00
Yair Morgenstern
7b019f3175 Fixed ANRs caused by upkeep calculation taking too long - @givehub99
Added more popups when moders break things instead of crashing directly
2020-10-16 14:24:52 +03:00
Yair Morgenstern
3bf045d354 One high-stakes, no-holds-barred, to-the-death profiling later, and we're left with a much less laggy main screen and a much more profile-able citybutton/ 2020-10-16 00:39:58 +03:00
Yair Morgenstern
ae9a026201 Should be able to add key shortcuts in any screen now :) 2020-10-15 21:37:09 +03:00
Yair Morgenstern
55d0f7f1dd Can now move around the world screen with the arrow keys as well as WASD 2020-10-15 21:09:05 +03:00
Yair Morgenstern
c75f0162d5 Added city images by The Bucketeer for all eras up to Modern 2020-10-15 20:01:25 +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
Yair Morgenstern
8f535391b3 Influence bar not displayed for city-states that don't know the viewing civ 2020-10-11 22:11:31 +03:00
Yair Morgenstern
9a887e4840 Resolved #3254 - food-to-production not added twice when calculating turns to production 2020-10-11 22:10:32 +03:00
Federico Luongo
80ce4496c9
City states button influence bar (#3248)
* City States influence fix

* Influence when at war = -60f
* Enemies if influence < 0f, neutrality is only from 0f to 30f
* Changed RelationshipLevel accordingly

* City States buttons influence bar

* Influence bar in DiplomacyScreen
2020-10-10 22:59:17 +03:00
Yair Morgenstern
f7ff1bd267 Translation generation can handle multiple parameters of the same type 2020-10-09 14:39:41 +03:00
Yair Morgenstern
be5f42f94b AI does not construct science-related constructions when all techs have been researched 2020-10-09 14:22:57 +03:00
Yair Morgenstern
e292c210c8 Added "Must be next to []" unique for tile improvements 2020-10-08 17:35:25 +03:00
Yair Morgenstern
0543c6473f Welp now it builds fine 2020-10-08 17:34:35 +03:00
Yair Morgenstern
8df9a4fd7e Merge branch 'master' of https://github.com/yairm210/Unciv 2020-10-08 17:12:01 +03:00
Yair Morgenstern
e14db65996 Resolved #3239 - simplified unit actions, which were unnecessarily complicated 2020-10-08 17:11:37 +03:00
Federico Luongo
fea342a31b
Clear Barbarian Camp quest (#3246) 2020-10-08 16:29:56 +03:00
Federico Luongo
eaa89d69f4
Pixel unit colors based on civilization colors (#3231)
* Enabled Pixel Unit colors based on civilization colors

* Strict pattern for image layers

* Updated docstring

* Reworked layers' retrieval
2020-10-08 15:42:16 +03:00
Yair Morgenstern
0b9bcabea4 Added resource-providing building unique 2020-10-08 15:36:00 +03:00
Yair Morgenstern
55d904e1cd Confirmation popup when clearing the map in the map editor 2020-10-08 15:34:31 +03:00
Yair Morgenstern
36ed648621 Files in the mod folder no longer crash the game on startup 2020-10-08 15:33:55 +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
Yair Morgenstern
4fa7c8d4c6 3.11.2 2020-10-08 12:47:08 +03:00
Federico Luongo
7aedb6d4df
Find Player quest (#3237)
* Find Player quest

* Sequences
2020-10-08 12:25:58 +03:00