* 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.
* -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
* -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
* 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
* 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
* 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