* city-state bonuses graded depending on friend or ally
* siam militaristic UP, cleaned up presentation
* fix strings
* move city state modifiers to json
* city-state bonuses graded depending on friend or ally
* siam militaristic UP, cleaned up presentation
* fix strings
* move city state modifiers to json
* Restructure eras.json
* reduce indentation in DiplomacyManager.kt
* Add fallback values in cas of missing json definitions
* review edits
* fix conflicts???
Co-authored-by: Yair Morgenstern <yairm210@hotmail.com>
* Implemented Zone of Control
* Implemented "move after attacking" ZoC exception
Units that can move after attacking are not affected by zone of control
if they move because of defeating a unit.
* Implemented all missing special ZoC cases
As described in:
https://forums.civfanatics.com/resources/understanding-the-zone-of-control-vanilla.25582/
* Slightly optimized ZoC logic
* Modified the "possible optimization" comment
Added the knowledge gained from SomeTroglodyte's tests.
* Added "Ignores Zone of Control" unique
Implemented the unique and gave it to the Helicopter Gunship.
* BFS cleanup
- Kotlin ArrayDeque is no longer experimental
- Client code sidestepped class API even where API existed -> closed it down
- nextStep when already ended now no-op instead of crash, suits usecases
- predicate test very likely to be more expensive than tilesReached lookup
- getPathTo only used asSequence() - why not a Sequence in the first place
- Compleat documentation. This is very low level, so better help future coders to understand.
- Lint: One annoying hardcoded conditional breakpoint, one unhelpful exception
* BFS cleanup - patch1
* Implemented religious pressure: cities now can have more than one religion in them and religions spread between nearby cities over time.
* Implemented proposed changes
* Implemented requested changes & minor changes I forgot to include last time
* All pantheons not founded by you are now removed when you gain a new city (found this somewhere in the source code of the original, don't know if it's documented anywhere online)
* Renamed and added doc comments for some some can-pass-through functions
* Moved a city-state pass-through exception to a lower-level function
Moved the exception that players (but not AI) can always pass through
city-states from TileInfo.canCivPassThrough to
CivilizationInfo.canPassThroughTiles (which is called by the former).
This makes the behavior of the latter function accurate to its name, and
makes the code more understandable overall.
A side-effect of this change is that functions that used the lower-level
CivilizationInfo.canPassThroughTiles function directly now consider the
aforementioned exception. For example, if a city-state expands its
border, it should now no longer push out units of a player civilization.
It may make even more sense to move the exception to the "canMoveTo"
logic, since AI should probably be able to pass through city-state tiles
even when they don't want to end on them. That might however affect the
AI more significantly.
* Fixed bug where units would not enter a city upon capture
As listed in #4697.
* Fixed a bug where captured units were pushed out of captured cities
Before, capturing a city with a civilian unit in it would cause the
capturing military unit to enter the city but also cause the civilian
unit to leave the city. Now, the civilian unit stays in the city as
well.
* Ruins now have their own file
* Added religious rewards
* Added an option for only enabling rewards after a certain amount of turns
* You can now weigh rewards making some more likely than others
* Cleaned up some code
* Make new changes compatible with old mods
* Implemented proposed changes
* Implemented requested changes
* Implemented requested changes
* Ai now cares about distance from it's cities
* Ai now cares about distance from it's cities
* Ai now cares about distance from it's cities
* Ai will pay extra pay extra for bordering cities or surrounding cities
* Ai will pay extra pay extra for bordering cities or surrounding cities
* Ai will pay extra for cities that are closer to their territory
* The code is cleaner
* The code is cleaner
* The code is cleaner
* Ai now values distance
* Ai now values distance
* Ai now values distance
* Ai now values distance
* Ai now values distance
* Ai now values distance
* Ai now values distance
* Ai now values distance
* Ai now values distance
* Ai now values distance
* Ai now values distance
* Ai now values distance
* Ai now values distance
* Ai now values distance
* Ai now values distance
* Ai now values distance
* You can now gift improvements to the ai
* You can now gift improvements to the ai
* You can now gift improvements to the ai
* Ai now cares about distance from it's cities
* Ai now cares about distance from it's cities
* Ai will pay extra pay extra for bordering cities or surrounding cities
* Ai will pay extra pay extra for bordering cities or surrounding cities
* Ai will pay extra for cities that are closer to their territory
* The code is cleaner
* The code is cleaner
* The code is cleaner
* Ai now values distance
* Ai now values distance
* Ai now values distance
* Ai now values distance
* Ai now values distance
* Ai now values distance
* Ai now values distance
* Ai now values distance
* Ai now values distance
* Ai now values distance
* Ai now values distance
* Ai now values distance
* Ai now values distance
* Ai now values distance
* Ai now values distance
* Ai now values distance
* You can now gift improvements to the ai
* You can now gift improvements to the ai
* You can now gift improvements to the ai
* You can now gift improvements to the ai
* Ai now cares about distance from it's cities
* Ai now cares about distance from it's cities
* Ai now cares about distance from it's cities
* Ai will pay extra pay extra for bordering cities or surrounding cities
* Ai will pay extra pay extra for bordering cities or surrounding cities
* Ai will pay extra for cities that are closer to their territory
* The code is cleaner
* The code is cleaner
* The code is cleaner
* Ai now values distance
* Ai now values distance
* Ai now values distance
* Ai now values distance
* Ai now values distance
* Ai now values distance
* Ai now values distance
* Ai now values distance
* Ai now values distance
* Ai now values distance
* Ai now values distance
* Ai now values distance
* Ai now values distance
* Ai now values distance
* Ai now values distance
* Ai now values distance
* You can now gift improvements to the ai
* You can now gift improvements to the ai
* You can now gift improvements to the ai
* You can now gift improvements to the ai
* You can now gift improvements to the ai
* You can now gift improvements to the ai
* You can now gift improvements to the ai
* You can now gift improvements to the ai
* You can now gift improvements to the ai
* You can now gift improvements to the ai
* You can now gift improvements to the ai
* You can now gift improvements to the ai
* You can now gift improvements to the ai
* You can now gift improvements to the ai
* You can now gift improvements to the ai
* You can now gift improvements to the ai
* You can now gift improvements to the ai
* Update template.properties
* Added missionairy units, which can spread religion and bought with faith
* Forgot an include, minor additions
* Forgot credit for the missionary image
* Large refactor, enabling buying with almost all stats, split IConstruction into IConstruction & INonPerpetualConstruction
* Does this fix the tests
* Fixed accidentally removing all trailing spaces in template.properties
* Thanks to someTroglodyte for paying more attention than I do :)
* Implemented requested changes
* Fixed large amount of question marks
* Missing space, of course
* Fixed function name change
* Fixed merge problems
Co-authored-by: Yair Morgenstern <yairm210@hotmail.com>
* Added globalization tech
* Added united nations and backbone for diplomatic victory
* You can now vote with the united nations every 20 * gameSpeed turns, and the results will be displayed the turn after
* You can now win with diplomacy
* AI will now vote in the united nations
* Added the amount of turns till the next diplomatic vote in the diplomacy overview
* Added translatable strings
* Implemented most of the requested changes (rest coming soon)
* Implemented further requested changes
* Ai now cares about distance from it's cities
* Ai now cares about distance from it's cities
* Ai now cares about distance from it's cities
* Ai will pay extra pay extra for bordering cities or surrounding cities
* Ai will pay extra pay extra for bordering cities or surrounding cities
* Ai will pay extra for cities that are closer to their territory
* The code is cleaner
* The code is cleaner
* The code is cleaner
* Ai now values distance
* Ai now values distance
* Ai now values distance
* Ai now values distance
* Ai now values distance
* Ai now values distance
* Ai now values distance
* Ai now values distance
* Ai now values distance
* Ai now values distance
* Ai now values distance
* Ai now values distance
* Ai now values distance
* Ai now values distance
* Ai now values distance
* Ai now values distance
* Split off unitTypes to its own json, only containing the domain it can travel in for now
* Updated translationFileWriter to handle this file correctly
* Updated promotions file
* Implemented requested changes
* Units without a sprite use the sprite of a first unit with the same type
* Implemented proposed changes
In particular, this fixes the bug where embarked units captured by a
civilization without optics would stay embarked. This therefore fixes
case 4 of #4237.
In principle, it should not even be possible that captured units can no
longer stand on the tile they were on, since the capturing unit has to
be able to move to it. However, in Unciv, it is possible to capture
units without moving to their tile. This is a different problem that
needs to be addressed some time in the future.
* Removed Char-only restriction in keyboard support for unit actions, remap a few keys, key tooltips for non-ascii keys
* UnitActionType now knows keys, sounds and most icons
* UnitActionType empower - fix Prophets spreading Pantheons